WARPXM v1.10.0
Loading...
Searching...
No Matches
warpy.host_actions.erk.erk Class Reference

Explicit Runge-Kutta temporal solver Note: Dormand45 currently will not work correctly with limiters on (limiters overwrite the stage variable data in-place) More...

Inheritance diagram for warpy.host_actions.erk.erk:
warpy.host_actions.host_action.host_action

Detailed Description

Explicit Runge-Kutta temporal solver Note: Dormand45 currently will not work correctly with limiters on (limiters overwrite the stage variable data in-place)

Public Member Functions

def __init__ (self, name, scheme, spatial_solvers=[], variable_adjusters=[])
 
def name (self, stage=None)
 
def attrs (self, stage=None)
 
def generate (self, start=None, stop=None, stride=1, explode_name=True, explode_args=True)
 
def create_integrating_controller (self, patch_process_integrator_creator, integrator_app_creator, init_dt=1e-2, max_dt=None, max_growth=None, error_tol=1, max_error=1, kappa=0.9, stability_limit=False)
 Helper for creating an error-adaptive integrating controller for this ERK scheme.
 
- Public Member Functions inherited from warpy.host_actions.host_action.host_action
def __init__ (self, name, req_attrs, opt_attrs=None, variables=None)
 
def variables (self)
 

Public Attributes

 scheme
 
 num_copies
 
 output_stage
 
 spatial_solvers
 
 variable_adjusters
 
- Public Attributes inherited from warpy.host_actions.host_action.host_action
 vars_
 

Static Public Attributes

dict rk_num_copies
 
dict rk_output_stage
 

Constructor & Destructor Documentation

◆ __init__()

def warpy.host_actions.erk.erk.__init__ (   self,
  name,
  scheme,
  spatial_solvers = [],
  variable_adjusters = [] 
)

Member Function Documentation

◆ attrs()

def warpy.host_actions.erk.erk.attrs (   self,
  stage = None 
)

◆ create_integrating_controller()

def warpy.host_actions.erk.erk.create_integrating_controller (   self,
  patch_process_integrator_creator,
  integrator_app_creator,
  init_dt = 1e-2,
  max_dt = None,
  max_growth = None,
  error_tol = 1,
  max_error = 1,
  kappa = 0.9,
  stability_limit = False 
)

Helper for creating an error-adaptive integrating controller for this ERK scheme.

Note that currently this function is only defined for the Dormand45 scheme. This helper assumes all variables/components will be using the same type of metric for computing an error estimate.

Parameters
patch_process_integrator_creatorfunctor which creates a patch_process_integrator. Has the signature patch_process_integrator_creator(name, spatial_order, applications, on_subdomains)
integrator_app_creatorfunctor which creates an integrator app. Has the signature integrator_app_creator(name, variables, stage_a, stage_b, variables_components)
init_dt
init_dtinitial time step
max_dtmaximum allowed time step
max_growthmaximum rate the time step is allowed to grow
error_tolwhat the desired error tolerance level is
max_errorwhat error level the controller should retry a timestep with a smaller timestep
kappaspecific controller parameter. Use the default value unless you know why you want to change it.
stability_limitTrue if the integrating controller should take the min of the stability-based timestep and error-based timestep, or false if only the error-based timestep should be used.

◆ generate()

def warpy.host_actions.erk.erk.generate (   self,
  start = None,
  stop = None,
  stride = 1,
  explode_name = True,
  explode_args = True 
)

◆ name()

def warpy.host_actions.erk.erk.name (   self,
  stage = None 
)

Member Data Documentation

◆ num_copies

warpy.host_actions.erk.erk.num_copies

◆ output_stage

warpy.host_actions.erk.erk.output_stage

◆ rk_num_copies

dict warpy.host_actions.erk.erk.rk_num_copies
static
Initial value:
= {
"RK1": 2,
"RK2": 3,
"TVDRK2": 3,
"RK3": 4,
"RK4": 5,
"SSPRK3": 4,
"Dormand45": 8
}

◆ rk_output_stage

dict warpy.host_actions.erk.erk.rk_output_stage
static
Initial value:
= {
"RK1": 1,
"RK2": 2,
"TVDRK2": 2,
"RK3": 3,
"RK4": 4,
"SSPRK3": 3,
"Dormand45": 6
}

◆ scheme

warpy.host_actions.erk.erk.scheme

◆ spatial_solvers

warpy.host_actions.erk.erk.spatial_solvers

◆ variable_adjusters

warpy.host_actions.erk.erk.variable_adjusters

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