Block-Structured AMR Software Framework
amrex::TimeIntegrator< T > Class Template Reference

#include <AMReX_TimeIntegrator.H>

Public Member Functions

 TimeIntegrator ()
 
 TimeIntegrator (IntegratorTypes integrator_type, const T &S_data, const amrex::Real time=0.0)
 
 TimeIntegrator (const T &S_data, const amrex::Real time=0.0)
 
virtual ~TimeIntegrator ()
 
void initialize_integrator (IntegratorTypes integrator_type, const T &S_data, const amrex::Real time=0.0)
 
void set_rhs (std::function< void(T &, T &, const amrex::Real)> F)
 
void set_imex_rhs (std::function< void(T &, T &, const amrex::Real)> Fi, std::function< void(T &, T &, const amrex::Real)> Fe)
 
void set_fast_rhs (std::function< void(T &, T &, const amrex::Real)> F)
 
void set_post_stage_action (std::function< void(T &, amrex::Real)> A)
 
void set_post_step_action (std::function< void(T &, amrex::Real)> A)
 
void set_post_fast_stage_action (std::function< void(T &, amrex::Real)> A)
 
void set_post_fast_step_action (std::function< void(T &, amrex::Real)> A)
 
amrex::Real get_time_step ()
 
void set_time_step (amrex::Real dt)
 
void set_adaptive_step ()
 
void set_fast_time_step (amrex::Real dt)
 
void set_adaptive_fast_step ()
 
void set_max_steps (int steps)
 
void set_tolerances (amrex::Real rtol, amrex::Real atol)
 
void set_fast_tolerances (amrex::Real rtol, amrex::Real atol)
 
void advance (T &S_old, T &S_new, amrex::Real time, const amrex::Real dt)
 
void evolve (T &S_out, const amrex::Real time_out)
 
void integrate (T &S_old, T &S_new, amrex::Real start_time, const amrex::Real start_timestep, const amrex::Real end_time, const int start_step, const int max_steps)
 
void time_interpolate (const T &S_new, const T &S_old, amrex::Real timestep_fraction, T &data)
 
void map_data (std::function< void(T &)> Map)
 

Private Member Functions

IntegratorTypes read_parameters ()
 
void set_default_functions ()
 

Private Attributes

std::unique_ptr< IntegratorBase< T > > integrator_ptr
 

Constructor & Destructor Documentation

◆ TimeIntegrator() [1/3]

template<class T >
amrex::TimeIntegrator< T >::TimeIntegrator ( )
inline

◆ TimeIntegrator() [2/3]

template<class T >
amrex::TimeIntegrator< T >::TimeIntegrator ( IntegratorTypes  integrator_type,
const T &  S_data,
const amrex::Real  time = 0.0 
)
inline

◆ TimeIntegrator() [3/3]

template<class T >
amrex::TimeIntegrator< T >::TimeIntegrator ( const T &  S_data,
const amrex::Real  time = 0.0 
)
inline

◆ ~TimeIntegrator()

template<class T >
virtual amrex::TimeIntegrator< T >::~TimeIntegrator ( )
inlinevirtual

Member Function Documentation

◆ advance()

template<class T >
void amrex::TimeIntegrator< T >::advance ( T &  S_old,
T &  S_new,
amrex::Real  time,
const amrex::Real  dt 
)
inline

◆ evolve()

template<class T >
void amrex::TimeIntegrator< T >::evolve ( T &  S_out,
const amrex::Real  time_out 
)
inline

◆ get_time_step()

template<class T >
amrex::Real amrex::TimeIntegrator< T >::get_time_step ( )
inline

◆ initialize_integrator()

template<class T >
void amrex::TimeIntegrator< T >::initialize_integrator ( IntegratorTypes  integrator_type,
const T &  S_data,
const amrex::Real  time = 0.0 
)
inline

◆ integrate()

template<class T >
void amrex::TimeIntegrator< T >::integrate ( T &  S_old,
T &  S_new,
amrex::Real  start_time,
const amrex::Real  start_timestep,
const amrex::Real  end_time,
const int  start_step,
const int  max_steps 
)
inline

◆ map_data()

template<class T >
void amrex::TimeIntegrator< T >::map_data ( std::function< void(T &)>  Map)
inline

◆ read_parameters()

template<class T >
IntegratorTypes amrex::TimeIntegrator< T >::read_parameters ( )
inlineprivate

◆ set_adaptive_fast_step()

template<class T >
void amrex::TimeIntegrator< T >::set_adaptive_fast_step ( )
inline

◆ set_adaptive_step()

template<class T >
void amrex::TimeIntegrator< T >::set_adaptive_step ( )
inline

◆ set_default_functions()

template<class T >
void amrex::TimeIntegrator< T >::set_default_functions ( )
inlineprivate

◆ set_fast_rhs()

template<class T >
void amrex::TimeIntegrator< T >::set_fast_rhs ( std::function< void(T &, T &, const amrex::Real)>  F)
inline

◆ set_fast_time_step()

template<class T >
void amrex::TimeIntegrator< T >::set_fast_time_step ( amrex::Real  dt)
inline

◆ set_fast_tolerances()

template<class T >
void amrex::TimeIntegrator< T >::set_fast_tolerances ( amrex::Real  rtol,
amrex::Real  atol 
)
inline

◆ set_imex_rhs()

template<class T >
void amrex::TimeIntegrator< T >::set_imex_rhs ( std::function< void(T &, T &, const amrex::Real)>  Fi,
std::function< void(T &, T &, const amrex::Real)>  Fe 
)
inline

◆ set_max_steps()

template<class T >
void amrex::TimeIntegrator< T >::set_max_steps ( int  steps)
inline

◆ set_post_fast_stage_action()

template<class T >
void amrex::TimeIntegrator< T >::set_post_fast_stage_action ( std::function< void(T &, amrex::Real)>  A)
inline

◆ set_post_fast_step_action()

template<class T >
void amrex::TimeIntegrator< T >::set_post_fast_step_action ( std::function< void(T &, amrex::Real)>  A)
inline

◆ set_post_stage_action()

template<class T >
void amrex::TimeIntegrator< T >::set_post_stage_action ( std::function< void(T &, amrex::Real)>  A)
inline

◆ set_post_step_action()

template<class T >
void amrex::TimeIntegrator< T >::set_post_step_action ( std::function< void(T &, amrex::Real)>  A)
inline

◆ set_rhs()

template<class T >
void amrex::TimeIntegrator< T >::set_rhs ( std::function< void(T &, T &, const amrex::Real)>  F)
inline

◆ set_time_step()

template<class T >
void amrex::TimeIntegrator< T >::set_time_step ( amrex::Real  dt)
inline

◆ set_tolerances()

template<class T >
void amrex::TimeIntegrator< T >::set_tolerances ( amrex::Real  rtol,
amrex::Real  atol 
)
inline

◆ time_interpolate()

template<class T >
void amrex::TimeIntegrator< T >::time_interpolate ( const T &  S_new,
const T &  S_old,
amrex::Real  timestep_fraction,
T &  data 
)
inline

Member Data Documentation

◆ integrator_ptr

template<class T >
std::unique_ptr<IntegratorBase<T> > amrex::TimeIntegrator< T >::integrator_ptr
private

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