WARPXM v1.10.0
|
A class that automates Lacuna based open boundary (LOBC) setup. More...
A class that automates Lacuna based open boundary (LOBC) setup.
Public Member Functions | |
def | __init__ (self, interior_variable, sorder, lacuna_time, reintegration_time, interior_subdomains, tran_subdomains, exterior_subdomains, interior_to_transition_boundary, open_boundary, exterior_boundary, other_tran_subdomain_boundaries=None) |
def | vars_setup (self, direction, center, transitionwidth) |
Sets up and initializes variables for LOBC boundary condition. | |
def | vars_create (self) |
Create LOBC variables. | |
def | vars_initialize_zero (self, variables) |
Applies initial conditions to all LOBC variables. | |
def | vars_initialize_tran (self, direction, center, transitionwidth) |
Initialize the transition variable. | |
def | calc_dmu (self, gradient_method='ip') |
Creates host action for calculating the gradient of the transition variable. | |
def | create_temporal_solver (self, torder, apps_flux_interior_var, apps_flux_aux_vars, apps_source_interior_var=None, apps_source_aux_vars=None, apps_bc_physics=None) |
Creates temporal solver for all lobc specific spatial solvers and variable adjusters. | |
def | apps_source (self, apps_flux_interior_var) |
Creates LOBC source apps. | |
def | apps_flux_advection (self, velocity) |
Creates advection flux apps for LOBC variables. | |
def | apps_flux_maxwell (self, skin_depth_norm, omega_p_norm) |
Creates maxwell flux apps for LOBC variables. | |
def | apps_flux_phmaxwell (self, skin_depth_norm, omega_p_norm, chi, gamma) |
Creates maxwell flux apps for LOBC variables. | |
def | apps_bcs (self) |
Creates boundary condition apps for LOBC variables. | |
def | create_pre_ti_hostactions (self) |
Creates host action for auxiliary variable swapping and zeroing. | |
def warpy.helpers.lobc.lobc.__init__ | ( | self, | |
interior_variable, | |||
sorder, | |||
lacuna_time, | |||
reintegration_time, | |||
interior_subdomains, | |||
tran_subdomains, | |||
exterior_subdomains, | |||
interior_to_transition_boundary, | |||
open_boundary, | |||
exterior_boundary, | |||
other_tran_subdomain_boundaries = None |
|||
) |
variable_name | Name of variable to be LOBCized |
sorder | Spatial order |
lacuna_time | Quessient period during which the sorce is off for wlacuna. |
reintegration_time | Time between reintigrations of auxiliary solution. |
interior_subdomains | Subdomains in the interior, not including the transition region |
transition_subdomains | List of transitions subdomains |
exterior_subdomains | List of exterior subdomains. |
interior_to_transition_boundary | List of boundaries between interior and transition subdomains. |
open_boundary | List of boundaries between transition and exterior regions. |
exterior_boundary | List of real exterior boundaries. |
def warpy.helpers.lobc.lobc.apps_bcs | ( | self | ) |
Creates boundary condition apps for LOBC variables.
def warpy.helpers.lobc.lobc.apps_flux_advection | ( | self, | |
velocity | |||
) |
Creates advection flux apps for LOBC variables.
auxilliary_variables | List of lobc auxilliary variables. |
velocity | List of advection velocity components [vx, vy, vz]. |
def warpy.helpers.lobc.lobc.apps_flux_maxwell | ( | self, | |
skin_depth_norm, | |||
omega_p_norm | |||
) |
Creates maxwell flux apps for LOBC variables.
auxilliary_variables | List of lobc auxilliary variables. |
def warpy.helpers.lobc.lobc.apps_flux_phmaxwell | ( | self, | |
skin_depth_norm, | |||
omega_p_norm, | |||
chi, | |||
gamma | |||
) |
Creates maxwell flux apps for LOBC variables.
variables | List of warpy variables |
def warpy.helpers.lobc.lobc.apps_source | ( | self, | |
apps_flux_interior_var | |||
) |
Creates LOBC source apps.
interior_variables | Warpy variables on the interior. |
auxilliary_variables | Warpy variables on the auxilliuary domain, w and wlacuna. |
dmu | Gradient of the transition variable. |
flux_app | Flux app for the interior variable. |
def warpy.helpers.lobc.lobc.calc_dmu | ( | self, | |
gradient_method = 'ip' |
|||
) |
Creates host action for calculating the gradient of the transition variable.
gradient_method | Method for calculating transition grad. Default=interior penalty. |
def warpy.helpers.lobc.lobc.create_pre_ti_hostactions | ( | self | ) |
Creates host action for auxiliary variable swapping and zeroing.
def warpy.helpers.lobc.lobc.create_temporal_solver | ( | self, | |
torder, | |||
apps_flux_interior_var, | |||
apps_flux_aux_vars, | |||
apps_source_interior_var = None , |
|||
apps_source_aux_vars = None , |
|||
apps_bc_physics = None |
|||
) |
Creates temporal solver for all lobc specific spatial solvers and variable adjusters.
torder | Type of temporal integration scheme |
apps_flux_interior_var | List of physics apps for the interior variable |
apps_flux_aux_vars | Ditto for auxiliary variables (same app types as interior) |
apps_source_interior_var | List of physics sources for the interior variable |
apps_source_aux_vars | Ditto for auxiliary variables (same app types as interior) |
apps_bc_physics | List of boundary condition apps for physics boundaries |
def warpy.helpers.lobc.lobc.vars_create | ( | self | ) |
Create LOBC variables.
def warpy.helpers.lobc.lobc.vars_initialize_tran | ( | self, | |
direction, | |||
center, | |||
transitionwidth | |||
) |
Initialize the transition variable.
variables | List of warpy variables |
direction | Vector coordinates of direction of transition function change |
center | Location of center of transition region. |
transitionwidth | Width of transition region. |
def warpy.helpers.lobc.lobc.vars_initialize_zero | ( | self, | |
variables | |||
) |
Applies initial conditions to all LOBC variables.
For now, it just zeros.
variables | List of warpy variables |
def warpy.helpers.lobc.lobc.vars_setup | ( | self, | |
direction, | |||
center, | |||
transitionwidth | |||
) |
Sets up and initializes variables for LOBC boundary condition.
direction | Vector coordinates of direction of transition function change |
center | Location of center of transition region. |
transitionwidth | Width of transition region. |
warpy.helpers.lobc.lobc.all_tran_subdomain_boundaries |
warpy.helpers.lobc.lobc.components |
warpy.helpers.lobc.lobc.dmu |
warpy.helpers.lobc.lobc.exterior_boundary |
warpy.helpers.lobc.lobc.exterior_subdomains |
warpy.helpers.lobc.lobc.interior_subdomains |
warpy.helpers.lobc.lobc.interior_to_transition_boundary |
warpy.helpers.lobc.lobc.interior_variable |
warpy.helpers.lobc.lobc.lacuna_time |
warpy.helpers.lobc.lobc.mu |
warpy.helpers.lobc.lobc.open_boundary |
warpy.helpers.lobc.lobc.reintegration_time |
warpy.helpers.lobc.lobc.sorder |
warpy.helpers.lobc.lobc.tran_subdomains |
warpy.helpers.lobc.lobc.variable_name |
warpy.helpers.lobc.lobc.w |
warpy.helpers.lobc.lobc.wlacuna |