WARPXM v1.10.0
|
Handles basic singly implicit RK time integration. More...
#include <wmimplicitrkscheme.h>
Handles basic singly implicit RK time integration.
Public Types | |
typedef std::vector< std::pair< wxm::variable::distributed_variable_t *, size_t > > | variables_type |
Public Member Functions | |
ImplicitRKScheme (int num_stages, std::vector< real > time_updates, std::vector< real > multipliers, bool extra_accumulator) | |
ImplicitRKScheme (const ImplicitRKScheme &)=delete | |
~ImplicitRKScheme () | |
int | getNumStages () const |
real | getTimeUpdate (const int rkStage) const |
real | getCFLLimit () const |
void | allocate (MPI_Comm comm, const std::vector< wxm::temporal_solver::temporal_var > &temporal_vars, implicit &ts) |
Allocates internal buffers for interfacing with non-linear solvers. | |
WxStepperStatus | calc_stage (int stage, const std::vector< wxm::temporal_solver::temporal_var > &temporal_vars, std::vector< variables_type > &vars, real dt) |
Computes u^*(stage) | |
void | print_stage_definition (int stage) const |
Protected Member Functions | |
int | stage_offset (int stage) const |
Protected Attributes | |
real | _cfl_max = 1 |
int | _numStages |
std::vector< real > | timeUpdates_ |
std::vector< real > | multipliers_ |
typedef std::vector<std::pair<wxm::variable::distributed_variable_t*, size_t> > wxm::temporal::ImplicitRKScheme::variables_type |
wxm::temporal::ImplicitRKScheme::ImplicitRKScheme | ( | int | num_stages, |
std::vector< real > | time_updates, | ||
std::vector< real > | multipliers, | ||
bool | extra_accumulator | ||
) |
|
delete |
wxm::temporal::ImplicitRKScheme::~ImplicitRKScheme | ( | ) |
void wxm::temporal::ImplicitRKScheme::allocate | ( | MPI_Comm | comm, |
const std::vector< wxm::temporal_solver::temporal_var > & | temporal_vars, | ||
implicit & | ts | ||
) |
Allocates internal buffers for interfacing with non-linear solvers.
WxStepperStatus wxm::temporal::ImplicitRKScheme::calc_stage | ( | int | stage, |
const std::vector< wxm::temporal_solver::temporal_var > & | temporal_vars, | ||
std::vector< variables_type > & | vars, | ||
real | dt | ||
) |
Computes u^*(stage)
temporal_vars | |
vars | |
dt | |
ts | the temporal solver which is calling calc_stage |
|
inline |
|
inline |
|
inline |
void wxm::temporal::ImplicitRKScheme::print_stage_definition | ( | int | stage | ) | const |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |