This Level Integrator applies a very general AMR integration scheme in context of dimensional splitting.
More...
|
| DimensionalSplitLevelIntegrator ()=delete |
|
| DimensionalSplitLevelIntegrator (const DimensionalSplitLevelIntegrator &other)=default |
|
DimensionalSplitLevelIntegrator & | operator= (const DimensionalSplitLevelIntegrator &other)=default |
|
| DimensionalSplitLevelIntegrator (DimensionalSplitLevelIntegrator &&other)=default |
|
DimensionalSplitLevelIntegrator & | operator= (DimensionalSplitLevelIntegrator &&other)=default |
|
template<typename OtherSplitMethod > |
| DimensionalSplitLevelIntegrator (const DimensionalSplitLevelIntegrator< Rank, IntegratorContext, OtherSplitMethod > &other) |
|
| DimensionalSplitLevelIntegrator (IntegratorContext context, SplitMethod splitting=SplitMethod()) |
|
| DimensionalSplitLevelIntegrator (int_constant< R >, IntegratorContext context, SplitMethod splitting=SplitMethod()) |
|
const IntegratorContext & | GetContext () const noexcept |
|
IntegratorContext & | GetContext () noexcept |
|
const SplitMethod & | GetSplitMethod () const noexcept |
|
void | PreAdvanceHierarchy () |
|
void | PostAdvanceHierarchy ([[maybe_unused]] Duration time_step_size) |
|
void | PreAdvanceLevel ([[maybe_unused]] int level, [[maybe_unused]] Duration time_step_size, [[maybe_unused]] std::pair< int, int > subcycle) |
|
Result< void, TimeStepTooLarge > | PostAdvanceLevel ([[maybe_unused]] int level, [[maybe_unused]] Duration time_step_size, [[maybe_unused]] std::pair< int, int > subcycle) |
|
Duration | ComputeStableDt (int level_number) |
| Returns a stable dt on a specified level across all spatial directions. More...
|
|
Result< void, TimeStepTooLarge > | AdvanceLevelNonRecursively (int level_number, Duration dt, std::pair< int, int > subcycle) |
| Advance a specified patch level and all finer levels by time dt . More...
|
|
template<int R, typename IntegratorContext, typename SplitMethod = GodunovSplitting>
class fub::DimensionalSplitLevelIntegrator< R, IntegratorContext, SplitMethod >
This Level Integrator applies a very general AMR integration scheme in context of dimensional splitting.
The time integration is split into multiple intermediate steps where each is supposed to do a certain task. The detailed implementation of these tasks happens in the integrator context object.