Plugins
ug::LinearTimeIntegrator< TDomain, TAlgebra > Class Template Reference

Integrate over a given time interval (for a linear problem) More...

#include <time_integrator.hpp>

+ Inheritance diagram for ug::LinearTimeIntegrator< TDomain, TAlgebra >:

Public Types

typedef ILinearTimeIntegrator< TDomain, TAlgebra > base_type
 
typedef base_type::grid_function_type grid_function_type
 
typedef ITimeDiscretization< TAlgebra > time_disc_type
 
typedef VectorTimeSeries< typename base_type::vector_typevector_time_series_type
 
- Public Types inherited from ug::ILinearTimeIntegrator< TDomain, TAlgebra >
typedef AssembledLinearOperator< TAlgebra > assembled_operator_type
 
typedef ITimeIntegrator< TDomain, TAlgebra > base_type
 
typedef ILinearOperatorInverse< vector_typelinear_solver_type
 
typedef base_type::vector_type vector_type
 
- Public Types inherited from ug::ITimeIntegrator< TDomain, TAlgebra >
typedef TAlgebra algebra_type
 
typedef TDomain domain_type
 
typedef GridFunction< TDomain, TAlgebra > grid_function_type
 
typedef TAlgebra::matrix_type matrix_type
 
typedef TAlgebra::vector_type vector_type
 
- Public Types inherited from ug::IOperator< GridFunction< TDomain, TAlgebra > >
typedef Y codomain_function_type
 
typedef X domain_function_type
 
- Public Types inherited from ug::TimeIntegratorSubject< TDomain, TAlgebra >
typedef ITimeIntegratorStageObserver_end< TDomain, TAlgebra > end_observer_type
 
typedef ITimeIntegratorStageObserver_finalize< TDomain, TAlgebra > finalize_observer_type
 
typedef GridFunction< TDomain, TAlgebra > grid_function_type
 
typedef ITimeIntegratorStageObserver_init< TDomain, TAlgebra > init_observer_type
 
enum  observer_group_type
 
typedef ITimeIntegratorStageObserver_postprocess< TDomain, TAlgebra > postprocess_observer_type
 
typedef ITimeIntegratorStageObserver_preprocess< TDomain, TAlgebra > preprocess_observer_type
 
typedef std::vector< SmartPtr< process_observer_type > > process_observer_container_type
 
typedef ITimeIntegratorObserver< TDomain, TAlgebra > process_observer_type
 
typedef ITimeIntegratorStageObserver_rewind< TDomain, TAlgebra > rewind_observer_type
 
typedef ITimeIntegratorStageObserver_start< TDomain, TAlgebra > start_observer_type
 
- Public Types inherited from ug::ITimeDiscDependentObject< TAlgebra >
typedef ITimeDiscretization< TAlgebra > time_disc_type
 

Public Member Functions

bool apply (SmartPtr< grid_function_type > u1, number t1, ConstSmartPtr< grid_function_type > u0, number t0)
 
 LinearTimeIntegrator (SmartPtr< time_disc_type > tDisc)
 
 LinearTimeIntegrator (SmartPtr< time_disc_type > tDisc, SmartPtr< typename base_type::linear_solver_type > lSolver)
 
- Public Member Functions inherited from ug::ILinearTimeIntegrator< TDomain, TAlgebra >
 ILinearTimeIntegrator ()
 
 ILinearTimeIntegrator (SmartPtr< linear_solver_type > lSolver)
 
void set_linear_solver (SmartPtr< linear_solver_type > lSolver)
 
- Public Member Functions inherited from ug::ITimeIntegrator< TDomain, TAlgebra >
void apply (grid_function_type &u1, const grid_function_type &u0)
 Apply operator. More...
 
double get_time_step ()
 
void init ()
 init operator More...
 
virtual void init (grid_function_type const &u)
 init operator depending on a function u More...
 
 ITimeIntegrator ()
 
void prepare (grid_function_type &u)
 prepares functions for application More...
 
void set_no_log_out (bool bNoLogOut)
 
void set_precision_bound (double precisionBound)
 
void set_time_step (double dt)
 Set initial time step. More...
 
virtual ~ITimeIntegrator ()
 virtual destructor More...
 
- Public Member Functions inherited from ug::IOperator< GridFunction< TDomain, TAlgebra > >
virtual void apply (Y &d, const X &u)=0
 
virtual void prepare (X &u)=0
 
virtual ~IOperator ()
 
- Public Member Functions inherited from ug::TimeIntegratorSubject< TDomain, TAlgebra >
void attach_end_observer (SmartPtr< process_observer_type > obs)
 
void attach_finalize_observer (SmartPtr< process_observer_type > obs)
 
void attach_init_observer (SmartPtr< process_observer_type > obs)
 
void attach_observer (SmartPtr< process_observer_type > obs)
 
void attach_postprocess_observer (SmartPtr< process_observer_type > obs)
 
void attach_preprocess_observer (SmartPtr< process_observer_type > obs)
 
void attach_rewind_observer (SmartPtr< process_observer_type > obs)
 
void attach_start_observer (SmartPtr< process_observer_type > obs)
 
void reset_observers ()
 
- Public Member Functions inherited from ug::ITimeDiscDependentObject< TAlgebra >
SmartPtr< time_disc_typeget_time_disc ()
 
 ITimeDiscDependentObject (SmartPtr< time_disc_type > spTimeDisc)
 

Protected Types

typedef ITimeDiscDependentObject< TAlgebra > tdisc_dep_type
 

Additional Inherited Members

- Public Attributes inherited from ug::TimeIntegratorSubject< TDomain, TAlgebra >
 TIO_GROUP_END
 
 TIO_GROUP_FINALIZE_STEP
 
 TIO_GROUP_INIT_STEP
 
 TIO_GROUP_POSTPROCESS_STEP
 
 TIO_GROUP_PREPROCESS_STEP
 
 TIO_GROUP_REWIND_STEP
 
 TIO_GROUP_SIZE
 
 TIO_GROUP_START
 
- Protected Member Functions inherited from ug::TimeIntegratorSubject< TDomain, TAlgebra >
void attach_to_group (int tGroup, SmartPtr< process_observer_type > obs)
 
void attach_to_group (SmartPtr< process_observer_type > obs)
 
bool notify_group (SmartPtr< grid_function_type > u, int step, number time, number dt)
 
- Protected Attributes inherited from ug::ILinearTimeIntegrator< TDomain, TAlgebra >
SmartPtr< linear_solver_typem_spLinearSolver
 
- Protected Attributes inherited from ug::ITimeIntegrator< TDomain, TAlgebra >
bool m_bNoLogOut
 
double m_dt
 
double m_lower_tim
 
double m_precisionBound
 
double m_upper_tim
 
- Protected Attributes inherited from ug::TimeIntegratorSubject< TDomain, TAlgebra >
std::vector< SmartPtr< end_observer_type > > m_vEndObservers
 
std::vector< SmartPtr< finalize_observer_type > > m_vFinalizeObservers
 
std::vector< SmartPtr< init_observer_type > > m_vInitObservers
 
std::vector< SmartPtr< postprocess_observer_type > > m_vPostprocessObservers
 
std::vector< SmartPtr< preprocess_observer_type > > m_vPreprocessObservers
 
process_observer_container_type m_vProcessObservers [TIO_GROUP_SIZE]
 
std::vector< SmartPtr< rewind_observer_type > > m_vRewindObservers
 
std::vector< SmartPtr< start_observer_type > > m_vStartObservers
 
- Protected Attributes inherited from ug::ITimeDiscDependentObject< TAlgebra >
SmartPtr< time_disc_typem_spTimeDisc
 

Detailed Description

template<class TDomain, class TAlgebra>
class ug::LinearTimeIntegrator< TDomain, TAlgebra >

Integrate over a given time interval (for a linear problem)

Member Typedef Documentation

◆ base_type

template<class TDomain , class TAlgebra >
typedef ILinearTimeIntegrator<TDomain, TAlgebra> ug::LinearTimeIntegrator< TDomain, TAlgebra >::base_type

◆ grid_function_type

template<class TDomain , class TAlgebra >
typedef base_type::grid_function_type ug::LinearTimeIntegrator< TDomain, TAlgebra >::grid_function_type

◆ tdisc_dep_type

template<class TDomain , class TAlgebra >
typedef ITimeDiscDependentObject<TAlgebra> ug::LinearTimeIntegrator< TDomain, TAlgebra >::tdisc_dep_type
protected

◆ time_disc_type

template<class TDomain , class TAlgebra >
typedef ITimeDiscretization<TAlgebra> ug::LinearTimeIntegrator< TDomain, TAlgebra >::time_disc_type

◆ vector_time_series_type

template<class TDomain , class TAlgebra >
typedef VectorTimeSeries<typename base_type::vector_type> ug::LinearTimeIntegrator< TDomain, TAlgebra >::vector_time_series_type

Constructor & Destructor Documentation

◆ LinearTimeIntegrator() [1/2]

template<class TDomain , class TAlgebra >
ug::LinearTimeIntegrator< TDomain, TAlgebra >::LinearTimeIntegrator ( SmartPtr< time_disc_type tDisc)
inline

◆ LinearTimeIntegrator() [2/2]

template<class TDomain , class TAlgebra >
ug::LinearTimeIntegrator< TDomain, TAlgebra >::LinearTimeIntegrator ( SmartPtr< time_disc_type tDisc,
SmartPtr< typename base_type::linear_solver_type lSolver 
)
inline

Member Function Documentation

◆ apply()


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