LIMEX plugin
Loading...
Searching...
No Matches
ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra > Class Template Reference

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

#include <time_integrator.hpp>

Inheritance diagram for ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >:
ug::ILinearTimeIntegrator< TDomain, TAlgebra > ug::ITimeDiscDependentObject< TAlgebra > ug::ITimeIntegrator< TDomain, TAlgebra >

Public Types

typedef ILinearTimeIntegrator< TDomain, TAlgebra > base_type
typedef ITimeDiscretization< TAlgebra > time_disc_type
typedef base_type::grid_function_type grid_function_type
typedef VectorTimeSeries< typename base_type::vector_type > vector_time_series_type
Public Types inherited from ug::ILinearTimeIntegrator< TDomain, TAlgebra >
typedef ITimeIntegrator< TDomain, TAlgebra > base_type
typedef base_type::vector_type vector_type
typedef ILinearOperatorInverse< vector_type > linear_solver_type
typedef AssembledLinearOperator< 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

 TimeIntegratorLinearAdaptive (SmartPtr< time_disc_type > tDisc1, SmartPtr< time_disc_type > tDisc2)
void init (grid_function_type const &u)
 init operator depending on a function u
bool apply (SmartPtr< grid_function_type > u1, number t1, ConstSmartPtr< grid_function_type > u0, number t0)
void set_tol (double tol)
void set_time_step_min (number dt)
void set_time_step_max (number dt)
Public Member Functions inherited from ug::ILinearTimeIntegrator< TDomain, TAlgebra >
 ILinearTimeIntegrator (SmartPtr< linear_solver_type > lSolver)
void set_linear_solver (SmartPtr< linear_solver_type > lSolver)
Public Member Functions inherited from ug::ITimeIntegrator< TDomain, TAlgebra >
virtual ~ITimeIntegrator ()
 virtual destructor
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 Attributes

SmartPtr< time_disc_type > m_spTimeDisc2
double m_tol
double m_dtmin
double m_dtmax
Protected Attributes inherited from ug::ILinearTimeIntegrator< TDomain, TAlgebra >
SmartPtr< linear_solver_type > m_spLinearSolver
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::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >

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

Member Function Documentation

◆ apply()

template<typename TDomain, typename TAlgebra>
bool ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >::apply ( SmartPtr< grid_function_type > u1,
number t1,
ConstSmartPtr< grid_function_type > u0,
number t0 )
virtual

◆ init()

template<class TDomain, class TAlgebra>
void ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >::init ( grid_function_type const & u)
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.

Parameters
[in]ufunction (linearization point)
Returns
bool success flag

Reimplemented from ug::ITimeIntegrator< TDomain, TAlgebra >.


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