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: