Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Member Functions | Private Types | List of all members
fub::NoSubcycleSolver< LevelIntegrator > Class Template Reference

This is a solver class which does a AMR integration scheme without subcycling on finer levels. More...

#include <NoSubcycleSolver.hpp>

Public Member Functions

 NoSubcycleSolver (LevelIntegrator &&integrator)
 
 NoSubcycleSolver (const LevelIntegrator &integrator)
 
Duration ComputeStableDt ()
 
Result< void, TimeStepTooLargeAdvanceLevel (int level, Duration time_step_size)
 
Result< void, TimeStepTooLargeAdvanceHierarchy (Duration time_step_size)
 
LevelIntegrator & GetLevelIntegrator () noexcept
 
const LevelIntegrator & GetLevelIntegrator () const noexcept
 

Private Types

using Base = SolverFacade< LevelIntegrator >
 

Detailed Description

template<typename LevelIntegrator>
class fub::NoSubcycleSolver< LevelIntegrator >

This is a solver class which does a AMR integration scheme without subcycling on finer levels.

Which means, that this uses one time step size for each refinement level on the patch hierarchy.

Member Typedef Documentation

◆ Base

template<typename LevelIntegrator >
using fub::NoSubcycleSolver< LevelIntegrator >::Base = SolverFacade<LevelIntegrator>
private

Constructor & Destructor Documentation

◆ NoSubcycleSolver() [1/2]

template<typename LevelIntegrator >
fub::NoSubcycleSolver< LevelIntegrator >::NoSubcycleSolver ( LevelIntegrator &&  integrator)
inlineexplicit

◆ NoSubcycleSolver() [2/2]

template<typename LevelIntegrator >
fub::NoSubcycleSolver< LevelIntegrator >::NoSubcycleSolver ( const LevelIntegrator &  integrator)
inlineexplicit

Member Function Documentation

◆ AdvanceHierarchy()

template<typename LevelIntegrator >
Result< void, TimeStepTooLarge > fub::NoSubcycleSolver< LevelIntegrator >::AdvanceHierarchy ( Duration  time_step_size)

◆ AdvanceLevel()

template<typename LevelIntegrator >
Result< void, TimeStepTooLarge > fub::NoSubcycleSolver< LevelIntegrator >::AdvanceLevel ( int  level,
Duration  time_step_size 
)

◆ ComputeStableDt()

template<typename LevelIntegrator >
Duration fub::NoSubcycleSolver< LevelIntegrator >::ComputeStableDt

◆ GetLevelIntegrator() [1/2]

template<typename LevelIntegrator >
const LevelIntegrator& fub::SolverFacade< LevelIntegrator >::GetLevelIntegrator ( ) const
inlinenoexceptinherited

◆ GetLevelIntegrator() [2/2]

template<typename LevelIntegrator >
LevelIntegrator& fub::SolverFacade< LevelIntegrator >::GetLevelIntegrator ( )
inlinenoexceptinherited

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