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

Interface for Obstacle Constraints. More...

#include <obstacle_constraint_interface.h>

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

Classes

struct  CondNumberData
 grouping for subset and conditional data More...
 
struct  ConstNumberData
 grouping for subset and conditional data More...
 
struct  NumberData
 grouping for subset and non-conditional data More...
 
struct  VectorData
 grouping for subset and non-conditional data More...
 

Public Types

typedef TAlgebra algebra_type
 Algebra type. More...
 
typedef IDomainConstraint< TDomain, TAlgebra > base_type
 Base Type. More...
 
typedef TDomain domain_type
 Type of domain. More...
 
typedef algebra_type::matrix_type matrix_type
 Matrix type. More...
 
typedef domain_type::position_type position_type
 Type of position coordinates (e.g. position_type) More...
 
typedef vector_type::value_type value_type
 Value type. More...
 
typedef algebra_type::vector_type vector_type
 Vector type. More...
 
- Public Types inherited from ug::IDomainConstraint< TDomain, TAlgebra >
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

void active_dofs (vector< DoFIndex > &vActiveDoFs)
 returns the vector storing the active dofs More...
 
void add (number value, const char *function)
 adds a constant value as dirichlet condition for a function on subsets and on whole domain More...
 
void add (number value, const char *function, const char *subsets)
 
void add (SmartPtr< UserData< MathVector< dim >, dim > > func, const char *functions)
 adds a user-defined vector as dirichlet condition for a vector-function on subsets and on whole domain More...
 
void add (SmartPtr< UserData< MathVector< dim >, dim > > func, const char *functions, const char *subsets)
 
void add (SmartPtr< UserData< number, dim > > func, const char *function)
 adds a user-defined value as dirichlet condition for a function on subsets and on whole domain More...
 
void add (SmartPtr< UserData< number, dim > > func, const char *function, const char *subsets)
 
void add (SmartPtr< UserData< number, dim, bool > > func, const char *function)
 adds a lua callback (cond and non-cond) More...
 
void add (SmartPtr< UserData< number, dim, bool > > func, const char *function, const char *subsets)
 
void adjust_defect (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=NULL, const std::vector< number > *vScaleMass=NULL, const std::vector< number > *vScaleStiff=NULL)
 sets a zero value in the defect for all dirichlet indices More...
 
virtual void adjust_defect_to_constraint (vector_type &d)=0
 the defect needs to be adjusted for the active indices (those indices, which are in contact) More...
 
void adjust_jacobian (matrix_type &J, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=NULL, const number s_a0=1.0)
 sets a unity row for all dirichlet indices More...
 
void adjust_linear (matrix_type &A, vector_type &b, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 sets unity rows in A and dirichlet values in right-hand side b 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_restriction (matrix_type &R, ConstSmartPtr< DoFDistribution > ddCoarse, ConstSmartPtr< DoFDistribution > ddFine, int type, number time=0.0)
 sets constraints in restriction More...
 
void adjust_rhs (vector_type &b, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 sets the dirichlet value in the right-hand side More...
 
virtual void adjust_sol_and_cor (value_type &sol_i, value_type &c_i, bool &dofIsAdmissible, const DoFIndex &dof)=0
 projects the i-th index of the solution onto the admissible set and adjusts the correction More...
 
void adjust_solution (vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 sets the dirichlet value in the solution for all dirichlet indices More...
 
void init ()
 
 IObstacleConstraint ()
 constructor More...
 
 IObstacleConstraint (const GridFunction< TDomain, TAlgebra > &u)
 constructor for an obstacle defined on some subset(s) More...
 
bool is_obs_dof (const DoFIndex &dof)
 checks if a given dof is in an obstacle subset More...
 
virtual void preprocess ()
 
void reset_active_dofs ()
 resets the vector storing the active dofs More...
 
virtual void restrict_obs_values ()=0
 restricts the obstacle values to a coarser grid in a multigrid hierarchy More...
 
virtual int type () const
 returns the type of the constraints More...
 
virtual ~IObstacleConstraint ()
 Destructor. More...
 
- Public Member Functions inherited from ug::IDomainConstraint< TDomain, TAlgebra >
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...
 
- 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_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_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 (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 (vector_type &uCoarse, GridLevel coarseLvl, const vector_type &uFine, GridLevel fineLvl, int type)
 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...
 

Static Public Attributes

static const int dim = domain_type::dim
 world Dimension More...
 

Protected Attributes

map< DoFIndex, numberm_mObstacleValues
 map to store obstacle values with its corresponding DoFs More...
 
vector< DoFIndexm_vActiveDofs
 stores the dofs, which satisfy the constraints with equality More...
 
vector< int > m_vObsSubsets
 stores the subset-indices of the obstacle subsets More...
 
- Protected Attributes inherited from ug::IDomainConstraint< TDomain, TAlgebra >
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 Member Functions

void check_functions_and_subsets (FunctionGroup &functionGroup, SubsetGroup &subsetGroup, size_t numFct) const
 
void clear ()
 clear all UserData-member variables More...
 
void extract_data ()
 extract the UserDatas More...
 
template<typename TUserData , typename TScheduledUserData >
void extract_data (std::map< int, std::vector< TUserData * > > &mvUserDataObsSegment, std::vector< TScheduledUserData > &vUserData)
 
template<typename TUserData >
void init_obstacle_dofs_with_values (const std::map< int, std::vector< TUserData * > > &mvUserData, number time)
 
template<typename TBaseElem , typename TUserData >
void init_obstacle_dofs_with_values (const std::vector< TUserData * > &vUserData, int si, number time)
 
void init_obstacle_dofs_with_values (number time)
 store the obstacle value set by means of UserDatas More...
 

Private Attributes

std::map< int, std::vector< CondNumberData * > > m_mCondNumberObsSegment
 conditional obstacle values for all subsets More...
 
std::map< int, std::vector< ConstNumberData * > > m_mConstNumberObsSegment
 constant obstacle values for all subsets More...
 
std::map< int, std::vector< NumberData * > > m_mNumberObsSegment
 non-conditional obstacle values for all subsets More...
 
std::map< int, std::vector< VectorData * > > m_mVectorObsSegment
 non-conditional obstacle values for all subsets More...
 
ConstSmartPtr< DoFDistributionm_spDD
 pointer to the DofDistribution on the whole domain More...
 
ConstSmartPtr< TDomain > m_spDomain
 pointer to the domain More...
 
std::vector< CondNumberDatam_vCondNumberData
 
std::vector< ConstNumberDatam_vConstNumberData
 
std::vector< NumberDatam_vNumberData
 
std::vector< VectorDatam_vVectorData
 

Additional Inherited Members

- Protected Member Functions inherited from ug::IDomainConstraint< TDomain, TAlgebra >
ConstSmartPtr< DoFDistributiondd (const GridLevel &gl) const
 returns the level dof distribution More...
 

Detailed Description

template<typename TDomain, typename TAlgebra>
class ug::IObstacleConstraint< TDomain, TAlgebra >

Interface for Obstacle Constraints.

The Interface for Obstacle Constraints provides the framework to define obstacle constraints of the form

c(u) <= upObs     (cf. 'set_upper_obstacle')

and

c(u) >= lowObs    (cf. 'set_lower_obstacle')

where u is the solution vector. Here, 'upObs' and 'lowObs' are user-defined functions, which need to be of the same size as the function of unknowns u. The obstacle function c is defined by creating a derived class of this interface and by specializing the way the correction should be computed (cf. correction_for_lower_obs, correction_for_upper_obs, correction_for_lower_and_upper_obs).

One simple example is the ScalarObstacle-class. Such an obstacle functions can be used in combination with projected preconditioners. They should be passed to the preconditioner by 'IProjPreconditioner::set_obstacle_constraint'.

Member Typedef Documentation

◆ algebra_type

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

Algebra type.

◆ base_type

template<typename TDomain , typename TAlgebra >
typedef IDomainConstraint<TDomain, TAlgebra> ug::IObstacleConstraint< TDomain, TAlgebra >::base_type

Base Type.

◆ domain_type

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

Type of domain.

◆ matrix_type

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

Matrix type.

◆ position_type

template<typename TDomain , typename TAlgebra >
typedef domain_type::position_type ug::IObstacleConstraint< TDomain, TAlgebra >::position_type

Type of position coordinates (e.g. position_type)

◆ value_type

template<typename TDomain , typename TAlgebra >
typedef vector_type::value_type ug::IObstacleConstraint< TDomain, TAlgebra >::value_type

Value type.

◆ vector_type

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

Vector type.

Constructor & Destructor Documentation

◆ IObstacleConstraint() [1/2]

template<typename TDomain , typename TAlgebra >
ug::IObstacleConstraint< TDomain, TAlgebra >::IObstacleConstraint ( const GridFunction< TDomain, TAlgebra > &  u)
inline

constructor for an obstacle defined on some subset(s)

References ug::GridFunction< TDomain, TAlgebra >::dof_distribution(), and ug::GridFunction< TDomain, TAlgebra >::domain().

◆ IObstacleConstraint() [2/2]

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

constructor

References UG_THROW.

◆ ~IObstacleConstraint()

template<typename TDomain , typename TAlgebra >
virtual ug::IObstacleConstraint< TDomain, TAlgebra >::~IObstacleConstraint ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ active_dofs()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::active_dofs ( vector< DoFIndex > &  vActiveDoFs)
inline

returns the vector storing the active dofs

◆ add() [1/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( number  value,
const char *  function 
)

adds a constant value as dirichlet condition for a function on subsets and on whole domain

◆ add() [2/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( number  value,
const char *  function,
const char *  subsets 
)

◆ add() [3/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( SmartPtr< UserData< MathVector< dim >, dim > >  func,
const char *  functions 
)

adds a user-defined vector as dirichlet condition for a vector-function on subsets and on whole domain

References func().

◆ add() [4/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( SmartPtr< UserData< MathVector< dim >, dim > >  func,
const char *  functions,
const char *  subsets 
)

References func().

◆ add() [5/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( SmartPtr< UserData< number, dim > >  func,
const char *  function 
)

adds a user-defined value as dirichlet condition for a function on subsets and on whole domain

References func().

◆ add() [6/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( SmartPtr< UserData< number, dim > >  func,
const char *  function,
const char *  subsets 
)

References func().

◆ add() [7/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( SmartPtr< UserData< number, dim, bool > >  func,
const char *  function 
)

adds a lua callback (cond and non-cond)

adds a conditional user-defined value as dirichlet condition for a function on subsets and on whole domain

References func().

◆ add() [8/8]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::add ( SmartPtr< UserData< number, dim, bool > >  func,
const char *  function,
const char *  subsets 
)

References func().

◆ adjust_defect()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_defect ( vector_type d,
const vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol = NULL,
const std::vector< number > *  vScaleMass = NULL,
const std::vector< number > *  vScaleStiff = NULL 
)
inlinevirtual

sets a zero value in the defect for all dirichlet indices

Implements ug::IConstraint< TAlgebra >.

References UG_LOG.

◆ adjust_defect_to_constraint()

template<typename TDomain , typename TAlgebra >
virtual void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_defect_to_constraint ( vector_type d)
pure virtual

the defect needs to be adjusted for the active indices (those indices, which are in contact)

Implemented in ug::ScalarUpperObstacle< TDomain, TAlgebra >, ug::ScalarLowerObstacle< TDomain, TAlgebra >, and ug::ObstacleInNormalDir< TDomain, TAlgebra >.

◆ adjust_jacobian()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_jacobian ( matrix_type J,
const vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol = NULL,
const number  s_a0 = 1.0 
)
inlinevirtual

sets a unity row for all dirichlet indices

Implements ug::IConstraint< TAlgebra >.

References UG_LOG.

◆ adjust_linear()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_linear ( matrix_type A,
vector_type b,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0 
)
inlinevirtual

sets unity rows in A and dirichlet values in right-hand side b

Implements ug::IConstraint< TAlgebra >.

References UG_LOG.

◆ adjust_prolongation()

template<typename TDomain , typename TAlgebra >
virtual void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_prolongation ( matrix_type P,
ConstSmartPtr< DoFDistribution ddFine,
ConstSmartPtr< DoFDistribution ddCoarse,
int  type,
number  time = 0.0 
)
inlinevirtual

sets constraints in prolongation

Reimplemented from ug::IConstraint< TAlgebra >.

References UG_LOG.

◆ adjust_restriction()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_restriction ( matrix_type R,
ConstSmartPtr< DoFDistribution ddCoarse,
ConstSmartPtr< DoFDistribution ddFine,
int  type,
number  time = 0.0 
)
virtual

sets constraints in restriction

Reimplemented from ug::IConstraint< TAlgebra >.

References ug::SetCol(), and UG_LOG.

◆ adjust_rhs()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_rhs ( vector_type b,
const vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0 
)
inlinevirtual

sets the dirichlet value in the right-hand side

Implements ug::IConstraint< TAlgebra >.

References UG_LOG.

◆ adjust_sol_and_cor()

template<typename TDomain , typename TAlgebra >
virtual void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_sol_and_cor ( value_type sol_i,
value_type c_i,
bool &  dofIsAdmissible,
const DoFIndex dof 
)
pure virtual

projects the i-th index of the solution onto the admissible set and adjusts the correction

Implemented in ug::ScalarUpperObstacle< TDomain, TAlgebra >, ug::ScalarLowerObstacle< TDomain, TAlgebra >, and ug::ObstacleInNormalDir< TDomain, TAlgebra >.

◆ adjust_solution()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::adjust_solution ( vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0 
)
inlinevirtual

sets the dirichlet value in the solution for all dirichlet indices

Implements ug::IConstraint< TAlgebra >.

References UG_LOG.

◆ check_functions_and_subsets()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::check_functions_and_subsets ( FunctionGroup functionGroup,
SubsetGroup subsetGroup,
size_t  numFct 
) const
private

◆ clear()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::clear
private

clear all UserData-member variables

◆ extract_data() [1/2]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::extract_data
private

extract the UserDatas

◆ extract_data() [2/2]

template<typename TDomain , typename TAlgebra >
template<typename TUserData , typename TScheduledUserData >
void ug::IObstacleConstraint< TDomain, TAlgebra >::extract_data ( std::map< int, std::vector< TUserData * > > &  mvUserDataObsSegment,
std::vector< TScheduledUserData > &  vUserData 
)
private

◆ init()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::init

init function calls 'extract_data' and 'obstacle_value'-methods in order to store the obstacle values set by UserDatas

References UG_LOG, and UG_THROW.

◆ init_obstacle_dofs_with_values() [1/3]

template<typename TDomain , typename TAlgebra >
template<typename TUserData >
void ug::IObstacleConstraint< TDomain, TAlgebra >::init_obstacle_dofs_with_values ( const std::map< int, std::vector< TUserData * > > &  mvUserData,
number  time 
)
private

◆ init_obstacle_dofs_with_values() [2/3]

template<typename TDomain , typename TAlgebra >
template<typename TBaseElem , typename TUserData >
void ug::IObstacleConstraint< TDomain, TAlgebra >::init_obstacle_dofs_with_values ( const std::vector< TUserData * > &  vUserData,
int  si,
number  time 
)
private

References UG_ASSERT.

◆ init_obstacle_dofs_with_values() [3/3]

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::init_obstacle_dofs_with_values ( number  time)
private

store the obstacle value set by means of UserDatas

◆ is_obs_dof()

template<typename TDomain , typename TAlgebra >
bool ug::IObstacleConstraint< TDomain, TAlgebra >::is_obs_dof ( const DoFIndex dof)

checks if a given dof is in an obstacle subset

◆ preprocess()

template<typename TDomain , typename TAlgebra >
virtual void ug::IObstacleConstraint< TDomain, TAlgebra >::preprocess ( )
inlinevirtual

this preprocess-method is called in every init-call of the underlying proj. preconditioner it is useful to attach e.g. additional data to the obstacle DoFs, like the e.g. the normal vector at this DoF

Reimplemented in ug::ObstacleInNormalDir< TDomain, TAlgebra >.

◆ reset_active_dofs()

template<typename TDomain , typename TAlgebra >
void ug::IObstacleConstraint< TDomain, TAlgebra >::reset_active_dofs ( )
inline

resets the vector storing the active dofs

◆ restrict_obs_values()

template<typename TDomain , typename TAlgebra >
virtual void ug::IObstacleConstraint< TDomain, TAlgebra >::restrict_obs_values ( )
pure virtual

restricts the obstacle values to a coarser grid in a multigrid hierarchy

Implemented in ug::ScalarUpperObstacle< TDomain, TAlgebra >, ug::ScalarLowerObstacle< TDomain, TAlgebra >, and ug::ObstacleInNormalDir< TDomain, TAlgebra >.

◆ type()

template<typename TDomain , typename TAlgebra >
virtual int ug::IObstacleConstraint< TDomain, TAlgebra >::type ( ) const
inlinevirtual

returns the type of the constraints

Implements ug::IDomainConstraint< TDomain, TAlgebra >.

References ug::CT_CONSTRAINTS.

Member Data Documentation

◆ dim

template<typename TDomain , typename TAlgebra >
const int ug::IObstacleConstraint< TDomain, TAlgebra >::dim = domain_type::dim
static

world Dimension

◆ m_mCondNumberObsSegment

template<typename TDomain , typename TAlgebra >
std::map<int, std::vector<CondNumberData*> > ug::IObstacleConstraint< TDomain, TAlgebra >::m_mCondNumberObsSegment
private

conditional obstacle values for all subsets

◆ m_mConstNumberObsSegment

template<typename TDomain , typename TAlgebra >
std::map<int, std::vector<ConstNumberData*> > ug::IObstacleConstraint< TDomain, TAlgebra >::m_mConstNumberObsSegment
private

constant obstacle values for all subsets

◆ m_mNumberObsSegment

template<typename TDomain , typename TAlgebra >
std::map<int, std::vector<NumberData*> > ug::IObstacleConstraint< TDomain, TAlgebra >::m_mNumberObsSegment
private

non-conditional obstacle values for all subsets

◆ m_mObstacleValues

template<typename TDomain , typename TAlgebra >
map<DoFIndex, number> ug::IObstacleConstraint< TDomain, TAlgebra >::m_mObstacleValues
protected

map to store obstacle values with its corresponding DoFs

◆ m_mVectorObsSegment

template<typename TDomain , typename TAlgebra >
std::map<int, std::vector<VectorData*> > ug::IObstacleConstraint< TDomain, TAlgebra >::m_mVectorObsSegment
private

non-conditional obstacle values for all subsets

◆ m_spDD

template<typename TDomain , typename TAlgebra >
ConstSmartPtr<DoFDistribution> ug::IObstacleConstraint< TDomain, TAlgebra >::m_spDD
private

pointer to the DofDistribution on the whole domain

◆ m_spDomain

template<typename TDomain , typename TAlgebra >
ConstSmartPtr<TDomain> ug::IObstacleConstraint< TDomain, TAlgebra >::m_spDomain
private

pointer to the domain

◆ m_vActiveDofs

template<typename TDomain , typename TAlgebra >
vector<DoFIndex> ug::IObstacleConstraint< TDomain, TAlgebra >::m_vActiveDofs
protected

stores the dofs, which satisfy the constraints with equality

◆ m_vCondNumberData

template<typename TDomain , typename TAlgebra >
std::vector<CondNumberData> ug::IObstacleConstraint< TDomain, TAlgebra >::m_vCondNumberData
private

◆ m_vConstNumberData

template<typename TDomain , typename TAlgebra >
std::vector<ConstNumberData> ug::IObstacleConstraint< TDomain, TAlgebra >::m_vConstNumberData
private

◆ m_vNumberData

template<typename TDomain , typename TAlgebra >
std::vector<NumberData> ug::IObstacleConstraint< TDomain, TAlgebra >::m_vNumberData
private

◆ m_vObsSubsets

template<typename TDomain , typename TAlgebra >
vector<int> ug::IObstacleConstraint< TDomain, TAlgebra >::m_vObsSubsets
protected

stores the subset-indices of the obstacle subsets

◆ m_vVectorData

template<typename TDomain , typename TAlgebra >
std::vector<VectorData> ug::IObstacleConstraint< TDomain, TAlgebra >::m_vVectorData
private

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