Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::TimeIntegrator< T > Class Template Reference

#include <AMReX_TimeIntegrator.H>

Public Member Functions

 TimeIntegrator ()=default
 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)
 Create an integrator of the given type. This resets the right-hand side and post stage/step functions to their defaults, so they must be set again after calling this function.
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)

Constructor & Destructor Documentation

◆ TimeIntegrator() [1/3]

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

◆ 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

Create an integrator of the given type. This resets the right-hand side and post stage/step functions to their defaults, so they must be set again after calling this function.

◆ 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

◆ 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_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

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