LIMEX plugin
All Classes Functions Variables Typedefs Modules
ug::SimpleTimeIntegrator< TDomain, TAlgebra > Class Template Reference

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

#include <simple_integrator.hpp>

Inheritance diagram for ug::SimpleTimeIntegrator< TDomain, TAlgebra >:
ug::INonlinearTimeIntegrator< TDomain, TAlgebra > ug::ITimeDiscDependentObject< TAlgebra > ug::ITimeIntegrator< TDomain, TAlgebra >

Public Types

typedef INonlinearTimeIntegrator< TDomain, TAlgebra > base_type
 
typedef ITimeDiscretization< TAlgebra > time_disc_type
 
typedef TAlgebra::vector_type vector_type
 
typedef base_type::grid_function_type grid_function_type
 
typedef IGridFunctionSpace< grid_function_type > grid_function_space_type
 
typedef VectorTimeSeries< typename base_type::vector_type > vector_time_series_type
 
- Public Types inherited from ug::INonlinearTimeIntegrator< TDomain, TAlgebra >
typedef ITimeIntegrator< TDomain, TAlgebra > base_type
 
typedef base_type::vector_type vector_type
 
typedef IOperatorInverse< vector_type > solver_type
 
typedef AssembledOperator< TAlgebra > assembled_operator_type
 
- Public Types inherited from ug::ITimeIntegrator< TDomain, TAlgebra >
typedef TAlgebra algebra_type
 
typedef TAlgebra::vector_type vector_type
 
typedef TAlgebra::matrix_type matrix_type
 
typedef TDomain domain_type
 
typedef GridFunction< TDomain, TAlgebra > grid_function_type
 
- Public Types inherited from ug::ITimeDiscDependentObject< TAlgebra >
typedef ITimeDiscretization< TAlgebra > time_disc_type
 

Public Member Functions

 SimpleTimeIntegrator (SmartPtr< time_disc_type > tDisc)
 
 SimpleTimeIntegrator (SmartPtr< time_disc_type > tDisc, SmartPtr< grid_function_space_type > spSpace)
 
bool apply (SmartPtr< grid_function_type > u1, number t1, ConstSmartPtr< grid_function_type > u0, number t0)
 
void set_derivative (SmartPtr< grid_function_type > udot)
 
SmartPtr< grid_function_type > get_derivative ()
 
number get_consistency_error () const
 
void set_banach_space (SmartPtr< IGridFunctionSpace< grid_function_type > > spSpace)
 
- Public Member Functions inherited from ug::INonlinearTimeIntegrator< TDomain, TAlgebra >
void set_solver (SmartPtr< solver_type > solver)
 
ConstSmartPtr< solver_type > get_solver () const
 
SmartPtr< solver_type > get_solver ()
 
void set_dt_min (double min)
 
double get_dt_min ()
 
void set_dt_max (double max)
 
double get_dt_max ()
 
void set_reduction_factor (double dec)
 
double get_reduction_factor ()
 
void set_increase_factor (double inc)
 
double get_increase_factor ()
 
- Public Member Functions inherited from ug::ITimeIntegrator< TDomain, TAlgebra >
virtual ~ITimeIntegrator ()
 virtual destructor
 
virtual void init (grid_function_type const &u)
 init operator depending on a function u
 
void init ()
 init operator
 
void prepare (grid_function_type &u)
 prepares functions for application
 
void apply (grid_function_type &u1, const grid_function_type &u0)
 Apply operator.
 
void set_time_step (double dt)
 Set initial time step.
 
double get_time_step ()
 
void set_precision_bound (double precisionBound)
 
void set_no_log_out (bool bNoLogOut)
 
- Public Member Functions inherited from ug::ITimeDiscDependentObject< TAlgebra >
 ITimeDiscDependentObject (SmartPtr< time_disc_type > spTimeDisc)
 
SmartPtr< time_disc_type > get_time_disc ()
 

Protected Types

typedef ITimeDiscDependentObject< TAlgebra > tdisc_dep_type
 

Protected Member Functions

bool apply_single_stage (SmartPtr< grid_function_type > u1, number t1, ConstSmartPtr< grid_function_type > u0, number t0)
 
bool apply_multi_stage (SmartPtr< grid_function_type > u1, number t1, ConstSmartPtr< grid_function_type > u0, number t0)
 
bool hasTerminated (double tCurrent, double tStart, double tFinal) const
 

Protected Attributes

SmartPtr< IGridFunctionSpace< grid_function_type > > m_spBanachSpace
 metric
 
SmartPtr< grid_function_type > m_spDerivative
 
number m_initial_consistency_error
 
- Protected Attributes inherited from ug::INonlinearTimeIntegrator< TDomain, TAlgebra >
SmartPtr< solver_type > m_spSolver
 
TimeStepBounds m_dtBounds
 
- Protected Attributes inherited from ug::ITimeIntegrator< TDomain, TAlgebra >
double m_dt
 
double m_lower_tim
 
double m_upper_tim
 
double m_precisionBound
 
bool m_bNoLogOut
 
- Protected Attributes inherited from ug::ITimeDiscDependentObject< TAlgebra >
SmartPtr< time_disc_type > m_spTimeDisc
 

Detailed Description

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

Integrate (a non-linear problem) over a given time interval.

Member Function Documentation

◆ apply()

template<class TDomain, class TAlgebra>
bool ug::SimpleTimeIntegrator< TDomain, TAlgebra >::apply ( SmartPtr< grid_function_type > u1,
number t1,
ConstSmartPtr< grid_function_type > u0,
number t0 )
inlinevirtual

◆ apply_single_stage()

template<typename TDomain, typename TAlgebra>
bool ug::SimpleTimeIntegrator< TDomain, TAlgebra >::apply_single_stage ( SmartPtr< grid_function_type > u1,
number t1,
ConstSmartPtr< grid_function_type > u0,
number t0 )
protected

< contains all solutions compute so far


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