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

This class integrates (t0, t1] with stops at intermediate points tk. More...

#include <time_integrator.hpp>

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

Public Types

typedef INonlinearTimeIntegrator< TDomain, TAlgebra > base_type
 
typedef base_type::grid_function_type grid_function_type
 
- Public Types inherited from ug::INonlinearTimeIntegrator< TDomain, TAlgebra >
typedef AssembledOperator< TAlgebra > assembled_operator_type
 
typedef ITimeIntegrator< TDomain, TAlgebra > base_type
 
typedef IOperatorInverse< vector_typesolver_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 Member Functions

bool apply (SmartPtr< grid_function_type > u1, number t1, ConstSmartPtr< grid_function_type > u0, number t0)
 
 DiscontinuityIntegrator (SmartPtr< base_type > baseIntegrator)
 
void insert_points (std::vector< double > points)
 
- Public Member Functions inherited from ug::INonlinearTimeIntegrator< TDomain, TAlgebra >
double get_dt_max ()
 
double get_dt_min ()
 
double get_increase_factor ()
 
double get_reduction_factor ()
 
SmartPtr< solver_typeget_solver ()
 
ConstSmartPtr< solver_typeget_solver () const
 
 INonlinearTimeIntegrator ()
 
void set_dt_max (double max)
 
void set_dt_min (double min)
 
void set_increase_factor (double inc)
 
void set_reduction_factor (double dec)
 
void set_solver (SmartPtr< solver_type > solver)
 
- 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 ()
 

Protected Attributes

std::vector< double > m_timePoints
 
SmartPtr< base_typem_wrappedIntegrator
 
- Protected Attributes inherited from ug::INonlinearTimeIntegrator< TDomain, TAlgebra >
TimeStepBounds m_dtBounds
 
SmartPtr< solver_typem_spSolver
 
- 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
 

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)
 

Detailed Description

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

This class integrates (t0, t1] with stops at intermediate points tk.

Member Typedef Documentation

◆ base_type

template<class TDomain , class TAlgebra >
typedef INonlinearTimeIntegrator<TDomain, TAlgebra> ug::DiscontinuityIntegrator< TDomain, TAlgebra >::base_type

◆ grid_function_type

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

Constructor & Destructor Documentation

◆ DiscontinuityIntegrator()

template<class TDomain , class TAlgebra >
ug::DiscontinuityIntegrator< TDomain, TAlgebra >::DiscontinuityIntegrator ( SmartPtr< base_type baseIntegrator)
inline

Member Function Documentation

◆ apply()

◆ insert_points()

template<class TDomain , class TAlgebra >
void ug::DiscontinuityIntegrator< TDomain, TAlgebra >::insert_points ( std::vector< double >  points)
inline

Member Data Documentation

◆ m_timePoints

template<class TDomain , class TAlgebra >
std::vector<double> ug::DiscontinuityIntegrator< TDomain, TAlgebra >::m_timePoints
protected

◆ m_wrappedIntegrator

template<class TDomain , class TAlgebra >
SmartPtr<base_type> ug::DiscontinuityIntegrator< TDomain, TAlgebra >::m_wrappedIntegrator
protected

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