|
Plugins
|
Integrates over a given time interval [a,b] with step size dt. More...
#include <time_integrator.hpp>
Inheritance diagram for ug::ITimeIntegrator< TDomain, TAlgebra >:Public Types | |
| 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 |
Protected Attributes | |
| 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) |
Integrates over a given time interval [a,b] with step size dt.
| typedef TAlgebra ug::ITimeIntegrator< TDomain, TAlgebra >::algebra_type |
| typedef TDomain ug::ITimeIntegrator< TDomain, TAlgebra >::domain_type |
| typedef GridFunction<TDomain, TAlgebra> ug::ITimeIntegrator< TDomain, TAlgebra >::grid_function_type |
| typedef TAlgebra::matrix_type ug::ITimeIntegrator< TDomain, TAlgebra >::matrix_type |
| typedef TAlgebra::vector_type ug::ITimeIntegrator< TDomain, TAlgebra >::vector_type |
|
inline |
|
inlinevirtual |
virtual destructor
|
inline |
|
pure virtual |
Implemented in ug::LimexTimeIntegrator< TDomain, TAlgebra >, ug::SimpleTimeIntegrator< TDomain, TAlgebra >, ug::LinearTimeIntegrator< TDomain, TAlgebra >, ug::ConstStepLinearTimeIntegrator< TDomain, TAlgebra >, ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >, and ug::DiscontinuityIntegrator< TDomain, TAlgebra >.
|
inline |
References ug::ITimeIntegrator< TDomain, TAlgebra >::m_dt.
Referenced by ug::LimexTimeIntegrator< TDomain, TAlgebra >::apply().
|
inlinevirtual |
init operator
This method initializes the operator. Once initialized the 'apply'-method can be called.
Implements ug::IOperator< GridFunction< TDomain, TAlgebra > >.
References UG_THROW.
Referenced by ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >::init().
|
inlinevirtual |
init operator depending on a function u
This method initializes the operator. Once initialized the 'apply'-method can be called. The function u is passed here, since the linear operator may be the linearization of some non-linear operator. Thus, the operator depends on the linearization point. If the operator is not a linearization, this method can be implemented by simply calling init() and forgetting about the linearization point.
| [in] | u | function (linearization point) |
Reimplemented in ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >.
|
inline |
prepares functions for application
|
inline |
|
inline |
|
inline |
Set initial time step.
References ug::ITimeIntegrator< TDomain, TAlgebra >::m_dt.
Referenced by ug::LimexTimeIntegrator< TDomain, TAlgebra >::apply_integrator_threads().
|
protected |
Referenced by ug::ITimeIntegrator< TDomain, TAlgebra >::set_no_log_out().
|
protected |
|
protected |
|
protected |
|
protected |