ug4
ug::IDomainConstraint< TDomain, TAlgebra > Class Template Referenceabstract

#include <constraint_interface.h>

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

Public Types

typedef TAlgebra algebra_type
 Algebra type. More...
 
typedef TDomain domain_type
 Domain Type. More...
 
typedef algebra_type::matrix_type matrix_type
 Type of algebra matrix. More...
 
typedef algebra_type::vector_type vector_type
 Type of algebra vector. More...
 
- Public Types inherited from ug::IConstraint< TAlgebra >
typedef TAlgebra algebra_type
 Algebra type. More...
 
typedef algebra_type::matrix_type matrix_type
 Type of algebra matrix. More...
 
typedef algebra_type::vector_type vector_type
 Type of algebra vector. More...
 

Public Member Functions

SmartPtr< ApproximationSpace< TDomain > > approximation_space ()
 returns approximation space More...
 
ConstSmartPtr< ApproximationSpace< TDomain > > approximation_space () const
 returns approximation space More...
 
virtual SmartPtr< IErrEstData< TDomain > > err_est_data ()
 returns the pointer to the error estimator data object (or NULL) More...
 
bool err_est_enabled () const
 find out whether or not a posteriori error estimation is to be performed for this disc More...
 
 IDomainConstraint ()
 constructor More...
 
virtual void set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace)
 sets the approximation space More...
 
void set_ass_tuner (ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssemblingTuner=NULL)
 sets the assemble adapter for the constraints More...
 
void set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee)
 sets the pointer to an error estimator data object (or NULL) More...
 
virtual int type () const =0
 returns the type of constraints More...
 
- Public Member Functions inherited from ug::IConstraint< TAlgebra >
virtual void adjust_correction (vector_type &c, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 
virtual void adjust_defect (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=SPNULL, const std::vector< number > *vScaleMass=NULL, const std::vector< number > *vScaleStiff=NULL)=0
 adapts defect to enforce constraints More...
 
virtual void adjust_error (const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=SPNULL, const std::vector< number > *vScaleMass=NULL, const std::vector< number > *vScaleStiff=NULL)
 adjusts the assembled error estimator values in the attachments according to the constraint More...
 
virtual void adjust_jacobian (matrix_type &J, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=SPNULL, const number s_a0=1.0)=0
 adapts jacobian to enforce constraints More...
 
virtual void adjust_linear (matrix_type &mat, vector_type &rhs, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)=0
 adapts matrix and rhs (linear case) to enforce constraints More...
 
virtual void adjust_linear_residual (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 adjust linear residual More...
 
virtual void adjust_prolongation (matrix_type &P, ConstSmartPtr< DoFDistribution > ddFine, ConstSmartPtr< DoFDistribution > ddCoarse, int type, number time=0.0)
 sets constraints in prolongation More...
 
virtual void adjust_prolongation (vector_type &uFine, GridLevel fineLvl, const vector_type &uCoarse, GridLevel coarseLvl, int type)
 sets the constraints in a solution vector More...
 
virtual void adjust_restriction (matrix_type &R, ConstSmartPtr< DoFDistribution > ddCoarse, ConstSmartPtr< DoFDistribution > ddFine, int type, number time=0.0)
 sets constraints in restriction More...
 
virtual void adjust_restriction (vector_type &uCoarse, GridLevel coarseLvl, const vector_type &uFine, GridLevel fineLvl, int type)
 sets the constraints in a solution vector More...
 
virtual void adjust_rhs (vector_type &rhs, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)=0
 adapts a rhs to enforce constraints More...
 
virtual void adjust_solution (vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)=0
 sets the constraints in a solution vector More...
 
virtual void modify_solution (SmartPtr< VectorTimeSeries< vector_type > > vSolMod, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd, int type)
 modify_solution for instationary case More...
 
virtual void modify_solution (vector_type &uMod, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type)
 modifies solution vector before calling the assembling routine More...
 
virtual ~IConstraint ()
 virtual destructor More...
 

Protected Member Functions

ConstSmartPtr< DoFDistributiondd (const GridLevel &gl) const
 returns the level dof distribution More...
 

Protected Attributes

SmartPtr< ApproximationSpace< TDomain > > m_spApproxSpace
 Approximation Space. More...
 
ConstSmartPtr< AssemblingTuner< TAlgebra > > m_spAssTuner
 Assemble adapter. More...
 
SmartPtr< IErrEstData< TDomain > > m_spErrEstData
 error estimation object associated to the element discretization More...
 

Private Attributes

bool m_bDoErrEst
 flag indicating whether or not a posteriori error estimation is to be performed for this disc More...
 

Member Typedef Documentation

◆ algebra_type

template<typename TDomain , typename TAlgebra >
typedef TAlgebra ug::IDomainConstraint< TDomain, TAlgebra >::algebra_type

Algebra type.

◆ domain_type

template<typename TDomain , typename TAlgebra >
typedef TDomain ug::IDomainConstraint< TDomain, TAlgebra >::domain_type

Domain Type.

◆ matrix_type

template<typename TDomain , typename TAlgebra >
typedef algebra_type::matrix_type ug::IDomainConstraint< TDomain, TAlgebra >::matrix_type

Type of algebra matrix.

◆ vector_type

template<typename TDomain , typename TAlgebra >
typedef algebra_type::vector_type ug::IDomainConstraint< TDomain, TAlgebra >::vector_type

Type of algebra vector.

Constructor & Destructor Documentation

◆ IDomainConstraint()

template<typename TDomain , typename TAlgebra >
ug::IDomainConstraint< TDomain, TAlgebra >::IDomainConstraint ( )
inline

constructor

Member Function Documentation

◆ approximation_space() [1/2]

template<typename TDomain , typename TAlgebra >
SmartPtr<ApproximationSpace<TDomain> > ug::IDomainConstraint< TDomain, TAlgebra >::approximation_space ( )
inline

returns approximation space

References ug::IDomainConstraint< TDomain, TAlgebra >::m_spApproxSpace.

◆ approximation_space() [2/2]

template<typename TDomain , typename TAlgebra >
ConstSmartPtr<ApproximationSpace<TDomain> > ug::IDomainConstraint< TDomain, TAlgebra >::approximation_space ( ) const
inline

returns approximation space

References ug::IDomainConstraint< TDomain, TAlgebra >::m_spApproxSpace.

◆ dd()

◆ err_est_data()

template<typename TDomain , typename TAlgebra >
virtual SmartPtr<IErrEstData<TDomain> > ug::IDomainConstraint< TDomain, TAlgebra >::err_est_data ( )
inlinevirtual

returns the pointer to the error estimator data object (or NULL)

References ug::IDomainConstraint< TDomain, TAlgebra >::m_spErrEstData.

◆ err_est_enabled()

template<typename TDomain , typename TAlgebra >
bool ug::IDomainConstraint< TDomain, TAlgebra >::err_est_enabled ( ) const
inline

find out whether or not a posteriori error estimation is to be performed for this disc

References ug::IDomainConstraint< TDomain, TAlgebra >::m_bDoErrEst.

◆ set_approximation_space()

template<typename TDomain , typename TAlgebra >
virtual void ug::IDomainConstraint< TDomain, TAlgebra >::set_approximation_space ( SmartPtr< ApproximationSpace< TDomain > >  approxSpace)
inlinevirtual

◆ set_ass_tuner()

template<typename TDomain , typename TAlgebra >
void ug::IDomainConstraint< TDomain, TAlgebra >::set_ass_tuner ( ConstSmartPtr< AssemblingTuner< TAlgebra > >  spAssemblingTuner = NULL)
inline

sets the assemble adapter for the constraints

References ug::IDomainConstraint< TDomain, TAlgebra >::m_spAssTuner.

◆ set_error_estimator()

template<typename TDomain , typename TAlgebra >
void ug::IDomainConstraint< TDomain, TAlgebra >::set_error_estimator ( SmartPtr< IErrEstData< TDomain > >  ee)
inline

sets the pointer to an error estimator data object (or NULL)

This function sets the pointer to an error estimator data object that should be used for this discretization. Note that the ElemDisc object must use RTTI to try to convert this pointer to the type of the objects accepted by it for this purpose. If the conversion fails than an exception must be thrown since this situation is not allowed.

References ug::IDomainConstraint< TDomain, TAlgebra >::m_bDoErrEst, and ug::IDomainConstraint< TDomain, TAlgebra >::m_spErrEstData.

◆ type()

Member Data Documentation

◆ m_bDoErrEst

template<typename TDomain , typename TAlgebra >
bool ug::IDomainConstraint< TDomain, TAlgebra >::m_bDoErrEst
private

flag indicating whether or not a posteriori error estimation is to be performed for this disc

Referenced by ug::IDomainConstraint< TDomain, TAlgebra >::err_est_enabled(), and ug::IDomainConstraint< TDomain, TAlgebra >::set_error_estimator().

◆ m_spApproxSpace

template<typename TDomain , typename TAlgebra >
SmartPtr<ApproximationSpace<TDomain> > ug::IDomainConstraint< TDomain, TAlgebra >::m_spApproxSpace
protected

◆ m_spAssTuner

template<typename TDomain , typename TAlgebra >
ConstSmartPtr<AssemblingTuner<TAlgebra> > ug::IDomainConstraint< TDomain, TAlgebra >::m_spAssTuner
protected

◆ m_spErrEstData

template<typename TDomain , typename TAlgebra >
SmartPtr<IErrEstData<TDomain> > ug::IDomainConstraint< TDomain, TAlgebra >::m_spErrEstData
protected

error estimation object associated to the element discretization

Referenced by ug::IDomainConstraint< TDomain, TAlgebra >::err_est_data(), and ug::IDomainConstraint< TDomain, TAlgebra >::set_error_estimator().


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