FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
snl_fei::Constraint< RecordType > Class Template Reference

#include <snl_fei_Constraint.hpp>

Inheritance diagram for snl_fei::Constraint< RecordType >:

Public Member Functions

 Constraint (int id=0, bool isPenaltyConstr=false)
 
 Constraint (int id, int constraintIDType, bool isSlave, bool isPenaltyConstr, int numIDs, const int *idTypes, const int *IDs, const int *fieldIDs, int offsetOfSlave, int offsetIntoSlaveField, const double *weights, double rhsValue, fei::VectorSpace *vspace)
 
virtual ~Constraint ()
 
int getConstraintID () const
 
void setConstraintID (int id)
 
int getIDType () const
 
snl_fei::RecordCollectiongetRecordCollection ()
 
void setIDType (int idType)
 
bool isPenalty () const
 
void setIsPenalty (bool isPenaltyConstr)
 
int getEqnNumber () const
 
void setEqnNumber (int eqn)
 
int getBlkEqnNumber () const
 
void setBlkEqnNumber (int blkEqn)
 
RecordType getSlave ()
 
void setSlave (int slv)
 
int getSlaveFieldID () const
 
void setSlaveFieldID (int f)
 
int getOffsetIntoSlaveField () const
 
void setOffsetIntoSlaveField (int offset)
 
std::vector< int > & getMasters ()
 
std::vector< int > & getMasterIDTypes ()
 
std::vector< snl_fei::RecordCollection * > & getMasterRecordCollections ()
 
std::vector< int > & getMasterFieldIDs ()
 
std::vector< double > & getMasterWeights ()
 
double getRHSValue () const
 
void setRHSValue (double rhs)
 
bool operator!= (const Constraint< RecordType > &rhs)
 
bool structurallySame (const Constraint< RecordType > &rhs)
 
 Constraint (int id, int constraintIDType, bool isSlave, bool isPenaltyConstr, int numIDs, const int *idTypes, const int *IDs, const int *fieldIDs, int offsetOfSlave, int offsetIntoSlaveField, const double *weights, double rhsValue, fei::VectorSpace *vspace)
 

Private Member Functions

 Constraint (const Constraint< RecordType > &src)
 
Constraint< RecordType > & operator= (const Constraint< RecordType > &src)
 

Private Attributes

int constraintID_
 
int idType_
 
snl_fei::RecordCollectionrecordCollection_
 
bool isPenalty_
 
int eqnNumber_
 
int blkEqnNumber_
 
int slave_
 
int slaveField_
 
int offsetIntoSlaveField_
 
std::vector< int > masters_
 
std::vector< int > masterIDTypes_
 
std::vector< snl_fei::RecordCollection * > masterRecordCollections_
 
std::vector< int > masterFields_
 
std::vector< double > masterWeights_
 
double rhsValue_
 

Detailed Description

template<class RecordType>
class snl_fei::Constraint< RecordType >

container for constraint attributes

Definition at line 23 of file snl_fei_Constraint.hpp.

Constructor & Destructor Documentation

◆ Constraint() [1/4]

template<class RecordType>
snl_fei::Constraint< RecordType >::Constraint ( int id = 0,
bool isPenaltyConstr = false )
inline

◆ Constraint() [2/4]

template<class RecordType>
snl_fei::Constraint< RecordType >::Constraint ( int id,
int constraintIDType,
bool isSlave,
bool isPenaltyConstr,
int numIDs,
const int * idTypes,
const int * IDs,
const int * fieldIDs,
int offsetOfSlave,
int offsetIntoSlaveField,
const double * weights,
double rhsValue,
fei::VectorSpace * vspace )
inline

◆ ~Constraint()

template<class RecordType>
snl_fei::Constraint< RecordType >::~Constraint ( )
inlinevirtual

destructor

Definition at line 308 of file snl_fei_Constraint.hpp.

◆ Constraint() [3/4]

template<class RecordType>
snl_fei::Constraint< RecordType >::Constraint ( const Constraint< RecordType > & src)
inlineprivate

◆ Constraint() [4/4]

snl_fei::Constraint< fei::Record< int > * >::Constraint ( int id,
int constraintIDType,
bool isSlave,
bool isPenaltyConstr,
int numIDs,
const int * idTypes,
const int * IDs,
const int * fieldIDs,
int offsetOfSlave,
int offsetIntoSlaveField,
const double * weights,
double rhsValue,
fei::VectorSpace * vspace )
inline

Definition at line 220 of file snl_fei_Constraint.hpp.

Member Function Documentation

◆ getConstraintID()

template<class RecordType>
int snl_fei::Constraint< RecordType >::getConstraintID ( ) const
inline

◆ setConstraintID()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setConstraintID ( int id)
inline

set constraint identifier. power-users only

Definition at line 50 of file snl_fei_Constraint.hpp.

Referenced by SNL_FEI_Structure::initCRMult(), and SNL_FEI_Structure::initCRPen().

◆ getIDType()

template<class RecordType>
int snl_fei::Constraint< RecordType >::getIDType ( ) const
inline

get the identifier-type that the fei uses to reference constraints

Definition at line 53 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::addLagrangeConstraintsToGraph(), fei::MatrixGraph_Impl2::createSlaveMatrices(), and snl_fei::LinearSystem_General::loadLagrangeConstraint().

◆ getRecordCollection()

template<class RecordType>
snl_fei::RecordCollection * snl_fei::Constraint< RecordType >::getRecordCollection ( )
inline

Definition at line 55 of file snl_fei_Constraint.hpp.

Referenced by snl_fei::Constraint< GlobalID >::getSlave().

◆ setIDType()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setIDType ( int idType)
inline

set the identifier-type that the fei uses to reference constraints. power-users only, this is a dangerous function with side-effects

Definition at line 59 of file snl_fei_Constraint.hpp.

◆ isPenalty()

template<class RecordType>
bool snl_fei::Constraint< RecordType >::isPenalty ( ) const
inline

query whether constraint is a penalty constraint

Definition at line 62 of file snl_fei_Constraint.hpp.

◆ setIsPenalty()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setIsPenalty ( bool isPenaltyConstr)
inline

set whether constraint is a penalty constraint. Another dangerous function for power-users.

Definition at line 66 of file snl_fei_Constraint.hpp.

Referenced by SNL_FEI_Structure::initCRPen().

◆ getEqnNumber()

◆ setEqnNumber()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setEqnNumber ( int eqn)
inline

set equation-number of constraint. (only valid if lagrange-multiplier)

Definition at line 74 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::addLagrangeConstraintsToGraph(), and SNL_FEI_Structure::setMultCREqnInfo().

◆ getBlkEqnNumber()

template<class RecordType>
int snl_fei::Constraint< RecordType >::getBlkEqnNumber ( ) const
inline

get block-equation number of constraint. (only valid if lagrange-multiplier

Definition at line 78 of file snl_fei_Constraint.hpp.

Referenced by SNL_FEI_Structure::initializeBlkEqnMapper(), and SNL_FEI_Structure::writeEqn2NodeMap().

◆ setBlkEqnNumber()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setBlkEqnNumber ( int blkEqn)
inline

set block-equation number of constraint. (only valid if lagrange-multiplier

Definition at line 82 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::addLagrangeConstraintsToGraph(), and SNL_FEI_Structure::setMultCREqnInfo().

◆ getSlave()

template<class RecordType>
RecordType snl_fei::Constraint< RecordType >::getSlave ( )
inline

intended for fei-implementation use only

Definition at line 86 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::createSlaveMatrices().

◆ setSlave()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setSlave ( int slv)
inline

intended for fei-implementation use only

Definition at line 89 of file snl_fei_Constraint.hpp.

Referenced by snl_fei::Constraint< GlobalID >::Constraint().

◆ getSlaveFieldID()

template<class RecordType>
int snl_fei::Constraint< RecordType >::getSlaveFieldID ( ) const
inline

if slave constraint, return constrained field-identifier of slaved mesh-object

Definition at line 93 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::createSlaveMatrices().

◆ setSlaveFieldID()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setSlaveFieldID ( int f)
inline

if slave constraint, set constrained field-identifier of slaved mesh-object

Definition at line 97 of file snl_fei_Constraint.hpp.

Referenced by snl_fei::Constraint< GlobalID >::Constraint().

◆ getOffsetIntoSlaveField()

template<class RecordType>
int snl_fei::Constraint< RecordType >::getOffsetIntoSlaveField ( ) const
inline

get offset of slaved field-component

Definition at line 100 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::createSlaveMatrices().

◆ setOffsetIntoSlaveField()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setOffsetIntoSlaveField ( int offset)
inline

set offset of slaved field-component

Definition at line 103 of file snl_fei_Constraint.hpp.

Referenced by snl_fei::Constraint< GlobalID >::Constraint().

◆ getMasters()

◆ getMasterIDTypes()

template<class RecordType>
std::vector< int > & snl_fei::Constraint< RecordType >::getMasterIDTypes ( )
inline

get identifier-types of master mesh-objects

Definition at line 110 of file snl_fei_Constraint.hpp.

Referenced by snl_fei::Constraint< GlobalID >::Constraint(), and fei::MatrixGraph_Impl2::createSlaveMatrices().

◆ getMasterRecordCollections()

template<class RecordType>
std::vector< snl_fei::RecordCollection * > & snl_fei::Constraint< RecordType >::getMasterRecordCollections ( )
inline

get record-collections for masters

Definition at line 113 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::createSlaveMatrices(), and fei::MatrixGraph_Impl2::getConstraintConnectivityIndices().

◆ getMasterFieldIDs()

◆ getMasterWeights()

template<class RecordType>
std::vector< double > & snl_fei::Constraint< RecordType >::getMasterWeights ( )
inline

◆ getRHSValue()

template<class RecordType>
double snl_fei::Constraint< RecordType >::getRHSValue ( ) const
inline

get right-hand-side value of constraint

Definition at line 123 of file snl_fei_Constraint.hpp.

Referenced by fei::MatrixGraph_Impl2::createSlaveMatrices().

◆ setRHSValue()

template<class RecordType>
void snl_fei::Constraint< RecordType >::setRHSValue ( double rhs)
inline

set right-hand-side value of constraint

Definition at line 126 of file snl_fei_Constraint.hpp.

Referenced by LinSysCoreFilter::loadCRMult(), and LinSysCoreFilter::loadCRPen().

◆ operator!=()

template<class RecordType>
bool snl_fei::Constraint< RecordType >::operator!= ( const Constraint< RecordType > & rhs)
inline

◆ structurallySame()

template<class RecordType>
bool snl_fei::Constraint< RecordType >::structurallySame ( const Constraint< RecordType > & rhs)
inline

query whether connectivity is the same as specified constraint

Definition at line 340 of file snl_fei_Constraint.hpp.

References blkEqnNumber_, Constraint(), constraintID_, eqnNumber_, idType_, isPenalty_, masterFields_, masterIDTypes_, masters_, offsetIntoSlaveField_, and slaveField_.

Referenced by fei::MatrixGraph_Impl2::initSlaveConstraint().

◆ operator=()

template<class RecordType>
Constraint< RecordType > & snl_fei::Constraint< RecordType >::operator= ( const Constraint< RecordType > & src)
private

Member Data Documentation

◆ constraintID_

template<class RecordType>
int snl_fei::Constraint< RecordType >::constraintID_
private

◆ idType_

template<class RecordType>
int snl_fei::Constraint< RecordType >::idType_
private

◆ recordCollection_

template<class RecordType>
snl_fei::RecordCollection* snl_fei::Constraint< RecordType >::recordCollection_
private

Definition at line 140 of file snl_fei_Constraint.hpp.

Referenced by Constraint(), and Constraint().

◆ isPenalty_

template<class RecordType>
bool snl_fei::Constraint< RecordType >::isPenalty_
private

◆ eqnNumber_

template<class RecordType>
int snl_fei::Constraint< RecordType >::eqnNumber_
private

◆ blkEqnNumber_

template<class RecordType>
int snl_fei::Constraint< RecordType >::blkEqnNumber_
private

◆ slave_

template<class RecordType>
int snl_fei::Constraint< RecordType >::slave_
private

Definition at line 146 of file snl_fei_Constraint.hpp.

Referenced by Constraint(), Constraint(), and Constraint().

◆ slaveField_

template<class RecordType>
int snl_fei::Constraint< RecordType >::slaveField_
private

◆ offsetIntoSlaveField_

template<class RecordType>
int snl_fei::Constraint< RecordType >::offsetIntoSlaveField_
private

◆ masters_

template<class RecordType>
std::vector<int> snl_fei::Constraint< RecordType >::masters_
private

◆ masterIDTypes_

template<class RecordType>
std::vector<int> snl_fei::Constraint< RecordType >::masterIDTypes_
private

◆ masterRecordCollections_

template<class RecordType>
std::vector<snl_fei::RecordCollection*> snl_fei::Constraint< RecordType >::masterRecordCollections_
private

Definition at line 152 of file snl_fei_Constraint.hpp.

Referenced by Constraint(), Constraint(), and Constraint().

◆ masterFields_

template<class RecordType>
std::vector<int> snl_fei::Constraint< RecordType >::masterFields_
private

◆ masterWeights_

template<class RecordType>
std::vector<double> snl_fei::Constraint< RecordType >::masterWeights_
private

Definition at line 154 of file snl_fei_Constraint.hpp.

Referenced by Constraint(), Constraint(), Constraint(), and operator!=().

◆ rhsValue_

template<class RecordType>
double snl_fei::Constraint< RecordType >::rhsValue_
private

Definition at line 156 of file snl_fei_Constraint.hpp.

Referenced by Constraint(), Constraint(), Constraint(), and operator!=().


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