FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
snl_fei::Constraint< RecordType > Class Template Reference

#include <snl_fei_Constraint.hpp>

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)
 
template<>
 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

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

constructor

Definition at line 165 of file snl_fei_Constraint.hpp.

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

constructor

Definition at line 186 of file snl_fei_Constraint.hpp.

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

destructor

Definition at line 308 of file snl_fei_Constraint.hpp.

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

Definition at line 288 of file snl_fei_Constraint.hpp.

template<>
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

Member Function Documentation

template<class RecordType>
int snl_fei::Constraint< RecordType >::getConstraintID ( ) const
inline
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.

References snl_fei::Constraint< RecordType >::constraintID_.

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

template<class RecordType>
int snl_fei::Constraint< RecordType >::getIDType ( ) const
inline
template<class RecordType>
snl_fei::RecordCollection* snl_fei::Constraint< RecordType >::getRecordCollection ( )
inline
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.

References snl_fei::Constraint< RecordType >::idType_.

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.

References snl_fei::Constraint< RecordType >::isPenalty_.

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.

References snl_fei::Constraint< RecordType >::isPenalty_.

Referenced by SNL_FEI_Structure::initCRPen().

template<class RecordType>
int snl_fei::Constraint< RecordType >::getEqnNumber ( ) const
inline
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.

References snl_fei::Constraint< RecordType >::eqnNumber_.

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

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.

References snl_fei::Constraint< RecordType >::blkEqnNumber_.

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

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.

References snl_fei::Constraint< RecordType >::blkEqnNumber_.

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

template<class RecordType>
RecordType snl_fei::Constraint< RecordType >::getSlave ( )
inline
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.

References snl_fei::Constraint< RecordType >::slave_.

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

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.

References snl_fei::Constraint< RecordType >::slaveField_.

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

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.

References snl_fei::Constraint< RecordType >::slaveField_.

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

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.

References snl_fei::Constraint< RecordType >::offsetIntoSlaveField_.

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

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.

References snl_fei::Constraint< RecordType >::offsetIntoSlaveField_.

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

template<class RecordType>
std::vector<int>& snl_fei::Constraint< RecordType >::getMasters ( )
inline
template<class RecordType>
std::vector<int>& snl_fei::Constraint< RecordType >::getMasterIDTypes ( )
inline
template<class RecordType>
std::vector<snl_fei::RecordCollection*>& snl_fei::Constraint< RecordType >::getMasterRecordCollections ( )
inline
template<class RecordType>
std::vector<int>& snl_fei::Constraint< RecordType >::getMasterFieldIDs ( )
inline
template<class RecordType>
std::vector<double>& snl_fei::Constraint< RecordType >::getMasterWeights ( )
inline
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.

References snl_fei::Constraint< RecordType >::rhsValue_.

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

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.

References snl_fei::Constraint< RecordType >::rhsValue_.

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

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

Member Data Documentation

template<class RecordType>
int snl_fei::Constraint< RecordType >::constraintID_
private
template<class RecordType>
int snl_fei::Constraint< RecordType >::idType_
private
template<class RecordType>
snl_fei::RecordCollection* snl_fei::Constraint< RecordType >::recordCollection_
private
template<class RecordType>
bool snl_fei::Constraint< RecordType >::isPenalty_
private
template<class RecordType>
int snl_fei::Constraint< RecordType >::eqnNumber_
private
template<class RecordType>
int snl_fei::Constraint< RecordType >::blkEqnNumber_
private
template<class RecordType>
int snl_fei::Constraint< RecordType >::slave_
private
template<class RecordType>
int snl_fei::Constraint< RecordType >::slaveField_
private
template<class RecordType>
int snl_fei::Constraint< RecordType >::offsetIntoSlaveField_
private
template<class RecordType>
std::vector<int> snl_fei::Constraint< RecordType >::masters_
private
template<class RecordType>
std::vector<int> snl_fei::Constraint< RecordType >::masterIDTypes_
private
template<class RecordType>
std::vector<snl_fei::RecordCollection*> snl_fei::Constraint< RecordType >::masterRecordCollections_
private
template<class RecordType>
std::vector<int> snl_fei::Constraint< RecordType >::masterFields_
private
template<class RecordType>
std::vector<double> snl_fei::Constraint< RecordType >::masterWeights_
private
template<class RecordType>
double snl_fei::Constraint< RecordType >::rhsValue_
private

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