WARPXM v1.10.0
|
Fully implicit temporal solver. More...
#include <implicit.h>
Fully implicit temporal solver.
Public Member Functions | |
implicit (const WmConstOpaquePtr &parent_solver) | |
implicit (const implicit &)=delete | |
void | setup (const WxCryptSet &wxc) override |
Setup object using supplied crypset. | |
WxStepperStatus | step () override |
Advance the stepper by assigned time step. | |
void | eval_rhs (int rk_stage) |
Public Member Functions inherited from wxm::temporal_solver | |
const std::vector< wxm::dfem::variable_adjuster::variable_adjuster_t * > & | getVariableAdjusters () const |
std::vector< variables_type > & | getVariables () |
This function grabs the variables owned by this temporal solver. | |
temporal_solver (const WmConstOpaquePtr &parent_solver) | |
void | setup (const WxCryptSet &wxc) override |
Setup hostaction object using supplied cryptset. | |
bool | needsDomain () const override |
Return true if this updater needs a domain to work on. | |
void | start_sync (size_t i) |
Asynchronously start syncing ghost cell data on stage i. | |
void | finish_sync (size_t i) |
wait for syncing on stage i to finish | |
void | fill_local (size_t i, real val=0) |
fill the temporal variables associated with stage i with the given value | |
Public Member Functions inherited from WmHostAction | |
~WmHostAction () override | |
Destroy hostaction. | |
void | setup (const WxCryptSet &wxc) override |
Setup hostaction object using supplied cryptset. | |
std::vector< std::string > | readVarNames () const |
Get names of all read variables used. | |
std::vector< std::string > | writeVarNames () const |
Get names of all write variables used. | |
unsigned | numExpectedReadVars () const |
Return number of read variables expected by this hostaction, or minimum number required for hostactions allowing variable number of read vars. | |
unsigned | numExpectedWriteVars () const |
Return number of write variables expected by this hostaction, or minimum number required for hostactions allowing variable number of write vars. | |
bool | allowsVariableReadVars () const |
Does this hostaction allow variable number of read variables? | |
bool | allowsVariableWriteVars () const |
Does this hostaction allow variable number of write variables? | |
virtual bool | needsDomain () const |
Return true if this updater needs a domain to work on. | |
void | setParentStepHandler (WmExecutionStep< WmHostAction > *parentStepHandler) |
Set enclosing step handler TODO: convert this to being a friend function or something. | |
unsigned | numActualReadVars () const |
Get number of actual read variables used when user calls this hostaction. | |
unsigned | numActualWriteVars () const |
Get number of actual write variables used when user calls this hostaction. | |
const WmDomain & | getDomain () const |
Get (unstructured) domain on which host action works. | |
std::vector< std::string > | getWriteVarList () const |
Returns list of write variables for this hostaction. | |
std::vector< std::string > | getReadVarList () const |
Returns list of read variables for this hostaction. | |
const WmSolverBase & | getParent () const |
Get parent solver object. | |
Public Member Functions inherited from WxStepper | |
WxStepper () | |
Create a new stepper. | |
virtual | ~WxStepper () |
Dtor: destroy object. | |
void | setDt (time_t dt) |
Set time-step for the step method. | |
time_t | getDt () const |
Get time-step for the step method. | |
void | setTimeData (const WxStepper &timeData) |
Set time data for the step method. | |
void | setCurrentTime (time_t tcurr) |
Set current time. | |
time_t | incrementCurrentTime (time_t tadd) |
Increment current time. | |
time_t | getCurrentTime () const |
Get the current time. | |
void | setCurrentFrame (int frame) |
Set current frame number. | |
int | incrementCurrentFrame () |
Increment current frame number. | |
int | getCurrentFrame () const |
Get the current frame number. | |
virtual WxStepperStatus | step ()=0 |
Advance the stepper by assigned time step. | |
virtual WxStepperStatus | end () |
Perform actions only done at simulation end. | |
Public Member Functions inherited from WxObject | |
virtual | ~WxObject () |
Dtor: destroy object. | |
void | setIo (WxIoBase &io) |
Set the I/O pointer for use in object. | |
void | setMsg (WxMsgBase &msg) |
Set the msg pointer for use in object. | |
WxIoBase & | getIo () |
Return reference to I/O object. | |
const WxIoBase & | getIo () const |
Return constant reference to I/O object. | |
WxMsgBase & | getMsg () |
Return reference to msg object. | |
const WxMsgBase & | getMsg () const |
Return const reference to msg object. | |
virtual void | setup (const WxCryptSet &wxc) |
Setup object using supplied crypset. | |
virtual void | init () |
Initialize the object. | |
virtual void | finishBuild () |
Finish building the object. | |
virtual void | load (WxIoBase &io, const WxIoNodeType &grpNode) |
Load object from file. | |
virtual void | dump (WxIoBase &io, WxIoNodeType &grpNode) const |
Dump object to file. | |
virtual std::string | name () const |
Get name of object. | |
void | setName (const std::string &nm) |
Set object's name. | |
Additional Inherited Members | |
Public Types inherited from wxm::temporal_solver | |
typedef std::vector< std::pair< wxm::variable::distributed_variable_t *, size_t > > | variables_type |
Public Types inherited from WxStepper | |
typedef real | time_t |
Time scalar data type. | |
Protected Member Functions inherited from wxm::temporal_solver | |
void | typeCheck () override |
Check that the provided variables meet the expected variable types for this hostaction. | |
Protected Member Functions inherited from WmHostAction | |
WmHostAction (const WmConstOpaquePtr &parent_solver) | |
Create new hostaction. | |
const std::type_info & | getVarType (const std::string &variableName) const |
Get a variable types from the parent solver. | |
const wxm::variable::variable_t & | getReadVar (unsigned pos) const |
Get a reference to a read variable. | |
wxm::variable::variable_t & | getWriteVar (unsigned pos) const |
Get a reference to a write variable. | |
virtual void | typeCheck ()=0 |
Check that the provided variables meet the expected variable types for this hostaction. | |
Protected Member Functions inherited from WxObject | |
WxObject () | |
Create object, that will be initialized subsequently. | |
WxObject (const std::string &name) | |
Create object with given name bypassing object setup phase Protected because there is no reason to have a WxObject directly, as it is meant to be a parent class. | |
Protected Attributes inherited from wxm::temporal_solver | |
std::vector< wxm::dfem::variable_adjuster::variable_adjuster_t * > | adjusters_ |
std::vector< int > | va_priorities |
int | min_priority |
int | max_priority |
std::vector< wxm::dfem::solver::spatial_solver_t * > | spatial_solvers_ |
std::vector< variables_type > | variables_ |
std::vector< temporal_var > | temporal_vars_ |
Protected Attributes inherited from WmHostAction | |
bool | _allReadVarsSameType |
bool | _allWriteVarsSameType |
bool | _allowsVariableReadVars |
bool | _allowsVariableWriteVars |
bool | _WriteVarConditionHasBeenSet |
bool | _ReadVarConditionHasBeenSet |
unsigned | _numExpectedReadVars |
unsigned | _numExpectedWriteVars |
wxm::temporal::implicit::implicit | ( | const WmConstOpaquePtr & | parent_solver | ) |
|
delete |
void wxm::temporal::implicit::eval_rhs | ( | int | rk_stage | ) |
|
overridevirtual |
Setup object using supplied crypset.
This method should read in parameters needed to initialize it. May only be called once.
wxc | Cryptset using which the object is set up. |
Reimplemented from WxObject.
|
overridevirtual |
Advance the stepper by assigned time step.
The status of the step should be encoded in the return object. See WxStepperStatus for details on what fields can be set.
Implements WxStepper.