ug4
|
#include <constraint_interface.h>
Public Types | |
typedef TAlgebra | algebra_type |
Algebra type. | |
typedef TDomain | domain_type |
Domain Type. | |
typedef algebra_type::matrix_type | matrix_type |
Type of algebra matrix. | |
typedef algebra_type::vector_type | vector_type |
Type of algebra vector. | |
![]() | |
typedef TAlgebra | algebra_type |
Algebra type. | |
typedef algebra_type::matrix_type | matrix_type |
Type of algebra matrix. | |
typedef algebra_type::vector_type | vector_type |
Type of algebra vector. | |
Public Member Functions | |
SmartPtr< ApproximationSpace< TDomain > > | approximation_space () |
returns approximation space | |
ConstSmartPtr< ApproximationSpace< TDomain > > | approximation_space () const |
returns approximation space | |
virtual SmartPtr< IErrEstData< TDomain > > | err_est_data () |
returns the pointer to the error estimator data object (or NULL) | |
bool | err_est_enabled () const |
find out whether or not a posteriori error estimation is to be performed for this disc | |
IDomainConstraint () | |
constructor | |
virtual void | set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace) |
sets the approximation space | |
void | set_ass_tuner (ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssemblingTuner=NULL) |
sets the assemble adapter for the constraints | |
void | set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee) |
sets the pointer to an error estimator data object (or NULL) | |
virtual int | type () const =0 |
returns the type of constraints | |
![]() | |
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 | |
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 | |
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 | |
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 | |
virtual void | adjust_linear_residual (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0) |
adjust linear residual | |
virtual void | adjust_prolongation (matrix_type &P, ConstSmartPtr< DoFDistribution > ddFine, ConstSmartPtr< DoFDistribution > ddCoarse, int type, number time=0.0) |
sets constraints in prolongation | |
virtual void | adjust_prolongation (vector_type &uFine, GridLevel fineLvl, const vector_type &uCoarse, GridLevel coarseLvl, int type) |
sets the constraints in a solution vector | |
virtual void | adjust_restriction (matrix_type &R, ConstSmartPtr< DoFDistribution > ddCoarse, ConstSmartPtr< DoFDistribution > ddFine, int type, number time=0.0) |
sets constraints in restriction | |
virtual void | adjust_restriction (vector_type &uCoarse, GridLevel coarseLvl, const vector_type &uFine, GridLevel fineLvl, int type) |
sets the constraints in a solution vector | |
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 | |
virtual void | adjust_solution (vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)=0 |
sets the constraints in a solution vector | |
virtual void | modify_solution (SmartPtr< VectorTimeSeries< vector_type > > vSolMod, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd, int type) |
modify_solution for instationary case | |
virtual void | modify_solution (vector_type &uMod, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type) |
modifies solution vector before calling the assembling routine | |
virtual | ~IConstraint () |
virtual destructor | |
Protected Member Functions | |
ConstSmartPtr< DoFDistribution > | dd (const GridLevel &gl) const |
returns the level dof distribution | |
Protected Attributes | |
SmartPtr< ApproximationSpace< TDomain > > | m_spApproxSpace |
Approximation Space. | |
ConstSmartPtr< AssemblingTuner< TAlgebra > > | m_spAssTuner |
Assemble adapter. | |
SmartPtr< IErrEstData< TDomain > > | m_spErrEstData |
error estimation object associated to the element discretization | |
Private Attributes | |
bool | m_bDoErrEst |
flag indicating whether or not a posteriori error estimation is to be performed for this disc | |
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::Electromagnetism::NedelecDirichletBC< typename TDomain, typename TAlgebra >, and ug::DirichletBoundary< TDomain, TAlgebra >.
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::Electromagnetism::NedelecProject::AuxLaplaceRHS, ug::DiscConstraintFVCR< typename TGridFunction >, ug::DiscConstraintFVCR< typename TGridFunction >, ug::Electromagnetism::NedelecDirichletBC< typename TDomain, typename TAlgebra >, ug::Electromagnetism::NedelecLoopCurrent::OutOfSource, ug::IObstacleConstraint< TDomain, TAlgebra >, ug::SymP1Constraints< TDomain, TAlgebra >, ug::OneSideP1Constraints< TDomain, TAlgebra >, ug::DirichletBoundary< TDomain, TAlgebra >, and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >.
|
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().