WARPXM v1.10.0
Loading...
Searching...
No Matches
warpy.helpers.bloch.BlochVar Class Reference

A supervariable that contains real and imaginary variables for each region specified. More...

Detailed Description

A supervariable that contains real and imaginary variables for each region specified.

Public Member Functions

def __init__ (self, variable_name, components, sorder, region1, region2, region1_periodic, region2_periodic, region12_interface, explodable=True)
 
def get_vars (self, region='all')
 returns a list containing real and imaginary variables for the specified region
 
def ic_maxwell_sinc (self, skin_depth_norm, omega_p_norm, center, sinc_width, trans_width, amplitude, min_wavelen, te)
 Create radial sinc function initial condition for field Bloch variables.
 
def ic_fivemoment_pulse (self, mass, gas_gamma, peak_density, background_density, temperature, num_cols, centers, radius, polynomial=False, degree=0)
 Create plasma column initial condition for fluid Bloch variables.
 
def ic_sine1d (self, pert_amplitude, wavelength, background_value, components=None)
 Creates sinusoidal density perurbation.
 
def ic_dirichlet1d (self, pert_amplitudes, wavelengths, background_value, components=None)
 Creates dirichlet density profile.
 
def ic_fourier_square_1d (self, pert_amplitude, wavelength, background_value, no_terms, components=None)
 Creates Fourier series approximation of a square wave.
 
def ic_sine2d (self, pert_amplitude, wavelength, background_value, phase_x=pi/2, phase_y=pi/2, components=None)
 Creates 2D sinusoidal density perurbation.
 
def ic_setto (self, value, components=None)
 Sets all variables to a value.
 
def apps_maxwell_flux (self, skin_depth_norm, omega_p_norm, rel_permittivity=1)
 Create maxwell flux apps for Bloch variables.
 
def apps_maxwell_fluid_source (self, fluid, momentum_components, mass, charge, omega_p_norm, skin_depth_norm, rel_permittivity=1)
 Create maxwell source apps for Bloch variables.
 
def apps_euler_flux (self, gas_gamma, numerical_flux_type='Roe')
 Create euler flux apps for Bloch variables.
 
def apps_euler_field_source (self, field, mass, charge, skin_depth_norm)
 Create euler field source apps for Bloch variables.
 
def va_bc_bloch (self, k_vector, a_vector)
 Create Bloch periodic boundary condition variable adjusters.
 

Public Attributes

 variable_name
 
 sorder
 
 region1
 
 region2
 
 region1_periodic
 
 region2_periodic
 
 region12_interface
 
 real1
 
 imag1
 
 real2
 
 imag2
 

Constructor & Destructor Documentation

◆ __init__()

def warpy.helpers.bloch.BlochVar.__init__ (   self,
  variable_name,
  components,
  sorder,
  region1,
  region2,
  region1_periodic,
  region2_periodic,
  region12_interface,
  explodable = True 
)
Parameters
variable_nameName of variable
componentsVariable components list
sorderSpatial order
region1List of subdomains in region 1
region2List of subdomains in region 2
region1_periodicList of periodic boundaries on region 1
region2_periodicList of periodic boundaries on region 2
region12_interfaceList of boundaries between region 1 and 2
explodableWhether variable needs rk stage variables, default True.

Member Function Documentation

◆ apps_euler_field_source()

def warpy.helpers.bloch.BlochVar.apps_euler_field_source (   self,
  field,
  mass,
  charge,
  skin_depth_norm 
)

Create euler field source apps for Bloch variables.

Parameters
fieldBloch variable for the field
massNormalized mass of fluid
chargeNormalized charge of fluid
skin_depth_norm
Returns
apps_region1, apps_region2

◆ apps_euler_flux()

def warpy.helpers.bloch.BlochVar.apps_euler_flux (   self,
  gas_gamma,
  numerical_flux_type = 'Roe' 
)

Create euler flux apps for Bloch variables.

Parameters
gas_gammaRatio of specific heats for the fluid
Returns
apps_region1, apps_region2

◆ apps_maxwell_fluid_source()

def warpy.helpers.bloch.BlochVar.apps_maxwell_fluid_source (   self,
  fluid,
  momentum_components,
  mass,
  charge,
  omega_p_norm,
  skin_depth_norm,
  rel_permittivity = 1 
)

Create maxwell source apps for Bloch variables.

Parameters
fluidBloch variable for the fluid
momentum_componentsList of momentum components of the fluid
massNormalized mass of fluid
chargeNormalized charge of fluid
skin_depth_norm
omega_p_norm
rel_permittivityDefault=1
Returns
apps_region1, apps_region2

◆ apps_maxwell_flux()

def warpy.helpers.bloch.BlochVar.apps_maxwell_flux (   self,
  skin_depth_norm,
  omega_p_norm,
  rel_permittivity = 1 
)

Create maxwell flux apps for Bloch variables.

Parameters
skin_depth_norm
omega_p_norm
rel_permittivityDefault=1
Returns
apps_region1, apps_region2

◆ get_vars()

def warpy.helpers.bloch.BlochVar.get_vars (   self,
  region = 'all' 
)

returns a list containing real and imaginary variables for the specified region

@region String denoting which regions to include: 'all', 'region1', or 'region2'

◆ ic_dirichlet1d()

def warpy.helpers.bloch.BlochVar.ic_dirichlet1d (   self,
  pert_amplitudes,
  wavelengths,
  background_value,
  components = None 
)

Creates dirichlet density profile.

Parameters
background_value
pert_amplitudes
wavelengths
domain_length
Returns
va_ics List of variable adjusters

◆ ic_fivemoment_pulse()

def warpy.helpers.bloch.BlochVar.ic_fivemoment_pulse (   self,
  mass,
  gas_gamma,
  peak_density,
  background_density,
  temperature,
  num_cols,
  centers,
  radius,
  polynomial = False,
  degree = 0 
)

Create plasma column initial condition for fluid Bloch variables.

Parameters
mass
gas_gamma
peak_density
background_density
temperature
num_cols
cemters
radius
polynomial
degree
Returns
vas_ic List of initial condition variable adjusters

◆ ic_fourier_square_1d()

def warpy.helpers.bloch.BlochVar.ic_fourier_square_1d (   self,
  pert_amplitude,
  wavelength,
  background_value,
  no_terms,
  components = None 
)

Creates Fourier series approximation of a square wave.

Parameters
background_value
pert_amplitude
wavelength
no_termsNumber of Fourier terms to include
Returns
va_ics List of variable adjusters

◆ ic_maxwell_sinc()

def warpy.helpers.bloch.BlochVar.ic_maxwell_sinc (   self,
  skin_depth_norm,
  omega_p_norm,
  center,
  sinc_width,
  trans_width,
  amplitude,
  min_wavelen,
  te 
)

Create radial sinc function initial condition for field Bloch variables.

Parameters
skin_depth_norm
omega_p_norm
center
sinc_width
trans_width
amplitude
min_wavelen
te
Returns
applicators List of initial condition applicators

◆ ic_setto()

def warpy.helpers.bloch.BlochVar.ic_setto (   self,
  value,
  components = None 
)

Sets all variables to a value.

Parameters
valueValue to set variable to.
componentsList of strings containing names of components. Defaults to all.
Returns
va_ics List of variable adjusters

◆ ic_sine1d()

def warpy.helpers.bloch.BlochVar.ic_sine1d (   self,
  pert_amplitude,
  wavelength,
  background_value,
  components = None 
)

Creates sinusoidal density perurbation.

Parameters
background_density
pert_amplitude
domain_length
Returns
va_ics List of variable adjusters

◆ ic_sine2d()

def warpy.helpers.bloch.BlochVar.ic_sine2d (   self,
  pert_amplitude,
  wavelength,
  background_value,
  phase_x = pi / 2,
  phase_y = pi / 2,
  components = None 
)

Creates 2D sinusoidal density perurbation.

Parameters
background_density
pert_amplitude
domain_length
Returns
va_ics List of variable adjusters

◆ va_bc_bloch()

def warpy.helpers.bloch.BlochVar.va_bc_bloch (   self,
  k_vector,
  a_vector 
)

Create Bloch periodic boundary condition variable adjusters.

Parameters
k_vectorWave number of Bloch periodic boundary condition
a_vectorLattice size
Returns
va_bc_bloch

Member Data Documentation

◆ imag1

warpy.helpers.bloch.BlochVar.imag1

◆ imag2

warpy.helpers.bloch.BlochVar.imag2

◆ real1

warpy.helpers.bloch.BlochVar.real1

◆ real2

warpy.helpers.bloch.BlochVar.real2

◆ region1

warpy.helpers.bloch.BlochVar.region1

◆ region12_interface

warpy.helpers.bloch.BlochVar.region12_interface

◆ region1_periodic

warpy.helpers.bloch.BlochVar.region1_periodic

◆ region2

warpy.helpers.bloch.BlochVar.region2

◆ region2_periodic

warpy.helpers.bloch.BlochVar.region2_periodic

◆ sorder

warpy.helpers.bloch.BlochVar.sorder

◆ variable_name

warpy.helpers.bloch.BlochVar.variable_name

The documentation for this class was generated from the following file: