ug4
|
#include <constraint_interface.h>
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< DoFDistribution > | dd (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... | |
typedef TAlgebra ug::IDomainConstraint< TDomain, TAlgebra >::algebra_type |
Algebra type.
typedef TDomain ug::IDomainConstraint< TDomain, TAlgebra >::domain_type |
Domain Type.
typedef algebra_type::matrix_type ug::IDomainConstraint< TDomain, TAlgebra >::matrix_type |
Type of algebra matrix.
typedef algebra_type::vector_type ug::IDomainConstraint< TDomain, TAlgebra >::vector_type |
Type of algebra vector.
|
inline |
constructor
|
inline |
returns approximation space
References ug::IDomainConstraint< TDomain, TAlgebra >::m_spApproxSpace.
|
inline |
returns approximation space
References ug::IDomainConstraint< TDomain, TAlgebra >::m_spApproxSpace.
|
inlineprotected |
returns the level dof distribution
References ug::IDomainConstraint< TDomain, TAlgebra >::m_spApproxSpace.
Referenced by ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_defect(), ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_jacobian(), ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_linear(), ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_rhs(), and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_solution().
|
inlinevirtual |
returns the pointer to the error estimator data object (or NULL)
References ug::IDomainConstraint< TDomain, TAlgebra >::m_spErrEstData.
|
inline |
find out whether or not a posteriori error estimation is to be performed for this disc
References ug::IDomainConstraint< TDomain, TAlgebra >::m_bDoErrEst.
|
inlinevirtual |
sets the approximation space
Reimplemented in ug::DirichletBoundary< TDomain, TAlgebra >, and ug::Electromagnetism::NedelecDirichletBC< class, class >.
References ug::IDomainConstraint< TDomain, TAlgebra >::m_spApproxSpace.
|
inline |
sets the assemble adapter for the constraints
References ug::IDomainConstraint< TDomain, TAlgebra >::m_spAssTuner.
|
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.
|
pure virtual |
returns the type of constraints
Implements ug::IConstraint< TAlgebra >.
Implemented in ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >, ug::DirichletBoundary< TDomain, TAlgebra >, ug::OneSideP1Constraints< TDomain, TAlgebra >, ug::SymP1Constraints< TDomain, TAlgebra >, ug::IObstacleConstraint< TDomain, TAlgebra >, ug::Electromagnetism::NedelecProject::AuxLaplaceRHS, ug::DiscConstraintFVCR< class >, ug::DiscConstraintFVCR< class >, ug::Electromagnetism::NedelecDirichletBC< class, class >, and ug::Electromagnetism::NedelecLoopCurrent< class, class >::OutOfSource.
|
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().
|
protected |
|
protected |
Assemble adapter.
Referenced by ug::IDomainConstraint< TDomain, TAlgebra >::set_ass_tuner().
|
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().