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.