gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
dofManager< T > Class Template Reference

#include <dofManager.h>

Inheritance diagram for dofManager< T >:
Collaboration diagram for dofManager< T >:

Public Types

typedef dofTraits< T >::VecType dataVec
 
typedef dofTraits< T >::MatType dataMat
 

Public Member Functions

void scatterSolution ()
 
 dofManager (linearSystem< dataMat > *l, bool isParallel=false)
 
 dofManager (linearSystem< dataMat > *l1, linearSystem< dataMat > *l2)
 
virtual ~dofManager ()
 
virtual void fixDof (Dof key, const dataVec &value)
 
void fixDof (long int ent, int type, const dataVec &value)
 
void associateDof (long int ent_from, int type_from, long int ent_to, int type_to)
 
void fixVertex (MVertex const *v, int iComp, int iField, const dataVec &value)
 
virtual bool isFixed (Dof key) const
 
virtual bool isAnUnknown (Dof key) const
 
virtual bool isConstrained (Dof key) const
 
bool isFixed (long int ent, int type) const
 
bool isFixed (MVertex *v, int iComp, int iField) const
 
virtual void numberGhostDof (Dof key, int procId)
 
virtual void numberDof (Dof key)
 
virtual void numberDof (const std::vector< Dof > &R)
 
void numberDof (long int ent, int type)
 
void numberVertex (MVertex *v, int iComp, int iField)
 
virtual void getDofValue (std::vector< Dof > &keys, std::vector< dataVec > &Vals)
 
virtual bool getAnUnknown (Dof key, dataVec &val) const
 
virtual void getFixedDofValue (Dof key, dataVec &val) const
 
virtual void getDofValue (Dof key, dataVec &val) const
 
void getDofValue (int ent, int type, dataVec &v) const
 
void getDofValue (MVertex *v, int iComp, int iField, dataVec &value) const
 
virtual void insertInSparsityPatternLinConst (const Dof &R, const Dof &C)
 
virtual void insertInSparsityPattern (const Dof &R, const Dof &C)
 
virtual void sparsityDof (const std::vector< Dof > &keys)
 
virtual void assemble (const Dof &R, const Dof &C, const dataMat &value)
 
virtual void assemble (std::vector< Dof > &R, std::vector< Dof > &C, const fullMatrix< dataMat > &m)
 
virtual void assemble (std::vector< Dof > &R, const fullVector< dataMat > &m)
 
virtual void assemble (std::vector< Dof > &R, const fullMatrix< dataMat > &m)
 
void assemble (int entR, int typeR, int entC, int typeC, const dataMat &value)
 
void assemble (MVertex *vR, int iCompR, int iFieldR, MVertex *vC, int iCompC, int iFieldC, const dataMat &value)
 
virtual void assemble (const Dof &R, const dataMat &value)
 
void assemble (int entR, int typeR, const dataMat &value)
 
void assemble (MVertex *vR, int iCompR, int iFieldR, const dataMat &value)
 
virtual int sizeOfR () const
 
virtual int sizeOfF () const
 
virtual void systemSolve ()
 
virtual void systemClear ()
 
virtual void setCurrentMatrix (std::string name)
 
virtual linearSystem< dataMat > * getLinearSystem (std::string &name)
 
virtual void setLinearConstraint (Dof key, DofAffineConstraint< dataVec > &affineconstraint)
 
virtual bool getLinearConstraint (Dof key, DofAffineConstraint< dataVec > &affineconstraint)
 
virtual void assembleLinConst (const Dof &R, const Dof &C, const dataMat &value)
 
virtual void getFixedDof (std::vector< Dof > &R)
 
virtual void getFixedDof (std::set< Dof > &R)
 
virtual int getDofNumber (const Dof &ky)
 
virtual void clearAllLineConstraints ()
 
std::map< Dof, DofAffineConstraint< dataVec > > & getAllLinearConstraints ()
 

Protected Attributes

std::map< Dof, DofAffineConstraint< dataVec > > constraints
 
std::map< Dof, dataVecfixed
 
std::map< Dof, std::vector< dataVec > > initial
 
linearSystem< dataMat > * _current
 
std::map< const std::string, linearSystem< dataMat > * > _linearSystems
 
std::map< Dof, T > ghostValue
 
- Protected Attributes inherited from dofManagerBase
std::map< Dof, int > unknown
 
std::map< Dof, DofassociatedWith
 
std::map< Dof, std::pair< int, int > > ghostByDof
 
std::vector< std::vector< Dof > > ghostByProc
 
std::vector< std::vector< Dof > > parentByProc
 
int _localSize
 
bool _parallelFinalized
 
bool _isParallel
 

Additional Inherited Members

- Protected Member Functions inherited from dofManagerBase
void _parallelFinalize ()
 
 dofManagerBase (bool isParallel)
 

Detailed Description

template<class T>
class dofManager< T >

Definition at line 113 of file dofManager.h.

Member Typedef Documentation

◆ dataMat

template<class T >
typedef dofTraits<T>::MatType dofManager< T >::dataMat

Definition at line 116 of file dofManager.h.

◆ dataVec

template<class T >
typedef dofTraits<T>::VecType dofManager< T >::dataVec

Definition at line 115 of file dofManager.h.

Constructor & Destructor Documentation

◆ dofManager() [1/2]

template<class T >
dofManager< T >::dofManager ( linearSystem< dataMat > *  l,
bool  isParallel = false 
)
inline

Definition at line 141 of file dofManager.h.

◆ dofManager() [2/2]

template<class T >
dofManager< T >::dofManager ( linearSystem< dataMat > *  l1,
linearSystem< dataMat > *  l2 
)
inline

Definition at line 146 of file dofManager.h.

◆ ~dofManager()

template<class T >
virtual dofManager< T >::~dofManager ( )
inlinevirtual

Definition at line 152 of file dofManager.h.

Member Function Documentation

◆ assemble() [1/9]

template<class T >
virtual void dofManager< T >::assemble ( const Dof R,
const dataMat value 
)
inlinevirtual

Definition at line 575 of file dofManager.h.

◆ assemble() [2/9]

template<class T >
virtual void dofManager< T >::assemble ( const Dof R,
const Dof C,
const dataMat value 
)
inlinevirtual

◆ assemble() [3/9]

template<class T >
void dofManager< T >::assemble ( int  entR,
int  typeR,
const dataMat value 
)
inline

Definition at line 597 of file dofManager.h.

◆ assemble() [4/9]

template<class T >
void dofManager< T >::assemble ( int  entR,
int  typeR,
int  entC,
int  typeC,
const dataMat value 
)
inline

Definition at line 564 of file dofManager.h.

◆ assemble() [5/9]

template<class T >
void dofManager< T >::assemble ( MVertex vR,
int  iCompR,
int  iFieldR,
const dataMat value 
)
inline

Definition at line 601 of file dofManager.h.

◆ assemble() [6/9]

template<class T >
void dofManager< T >::assemble ( MVertex vR,
int  iCompR,
int  iFieldR,
MVertex vC,
int  iCompC,
int  iFieldC,
const dataMat value 
)
inline

Definition at line 569 of file dofManager.h.

◆ assemble() [7/9]

template<class T >
virtual void dofManager< T >::assemble ( std::vector< Dof > &  R,
const fullMatrix< dataMat > &  m 
)
inlinevirtual

Definition at line 519 of file dofManager.h.

◆ assemble() [8/9]

template<class T >
virtual void dofManager< T >::assemble ( std::vector< Dof > &  R,
const fullVector< dataMat > &  m 
)
inlinevirtual

Definition at line 479 of file dofManager.h.

◆ assemble() [9/9]

template<class T >
virtual void dofManager< T >::assemble ( std::vector< Dof > &  R,
std::vector< Dof > &  C,
const fullMatrix< dataMat > &  m 
)
inlinevirtual

Definition at line 419 of file dofManager.h.

◆ assembleLinConst()

template<class T >
virtual void dofManager< T >::assembleLinConst ( const Dof R,
const Dof C,
const dataMat value 
)
inlinevirtual

Definition at line 656 of file dofManager.h.

Referenced by dofManager< double >::assemble().

Here is the caller graph for this function:

◆ associateDof()

template<class T >
void dofManager< T >::associateDof ( long int  ent_from,
int  type_from,
long int  ent_to,
int  type_to 
)
inline

Definition at line 162 of file dofManager.h.

◆ clearAllLineConstraints()

template<class T >
virtual void dofManager< T >::clearAllLineConstraints ( )
inlinevirtual

Definition at line 724 of file dofManager.h.

◆ fixDof() [1/2]

template<class T >
virtual void dofManager< T >::fixDof ( Dof  key,
const dataVec value 
)
inlinevirtual

Definition at line 153 of file dofManager.h.

Referenced by frameSolver2d::createDofs(), dofManager< double >::fixDof(), and dofManager< double >::fixVertex().

Here is the caller graph for this function:

◆ fixDof() [2/2]

template<class T >
void dofManager< T >::fixDof ( long int  ent,
int  type,
const dataVec value 
)
inline

Definition at line 158 of file dofManager.h.

◆ fixVertex()

template<class T >
void dofManager< T >::fixVertex ( MVertex const *  v,
int  iComp,
int  iField,
const dataVec value 
)
inline

Definition at line 170 of file dofManager.h.

Referenced by femTerm< scalar >::dirichletNodalBC(), GMSH_DistancePlugin::execute(), and propagateValuesOnFace().

Here is the caller graph for this function:

◆ getAllLinearConstraints()

template<class T >
std::map<Dof, DofAffineConstraint<dataVec> >& dofManager< T >::getAllLinearConstraints ( )
inline

Definition at line 726 of file dofManager.h.

◆ getAnUnknown()

template<class T >
virtual bool dofManager< T >::getAnUnknown ( Dof  key,
dataVec val 
) const
inlinevirtual

Definition at line 249 of file dofManager.h.

◆ getDofNumber()

template<class T >
virtual int dofManager< T >::getDofNumber ( const Dof ky)
inlinevirtual

Definition at line 708 of file dofManager.h.

◆ getDofValue() [1/4]

template<class T >
virtual void dofManager< T >::getDofValue ( Dof  key,
dataVec val 
) const
inlinevirtual

Definition at line 273 of file dofManager.h.

◆ getDofValue() [2/4]

template<class T >
void dofManager< T >::getDofValue ( int  ent,
int  type,
dataVec v 
) const
inline

Definition at line 325 of file dofManager.h.

◆ getDofValue() [3/4]

template<class T >
void dofManager< T >::getDofValue ( MVertex v,
int  iComp,
int  iField,
dataVec value 
) const
inline

Definition at line 329 of file dofManager.h.

◆ getDofValue() [4/4]

template<class T >
virtual void dofManager< T >::getDofValue ( std::vector< Dof > &  keys,
std::vector< dataVec > &  Vals 
)
inlinevirtual

◆ getFixedDof() [1/2]

template<class T >
virtual void dofManager< T >::getFixedDof ( std::set< Dof > &  R)
inlinevirtual

Definition at line 699 of file dofManager.h.

◆ getFixedDof() [2/2]

template<class T >
virtual void dofManager< T >::getFixedDof ( std::vector< Dof > &  R)
inlinevirtual

Definition at line 690 of file dofManager.h.

◆ getFixedDofValue()

template<class T >
virtual void dofManager< T >::getFixedDofValue ( Dof  key,
dataVec val 
) const
inlinevirtual

Definition at line 261 of file dofManager.h.

◆ getLinearConstraint()

template<class T >
virtual bool dofManager< T >::getLinearConstraint ( Dof  key,
DofAffineConstraint< dataVec > &  affineconstraint 
)
inlinevirtual

Definition at line 645 of file dofManager.h.

◆ getLinearSystem()

template<class T >
virtual linearSystem<dataMat>* dofManager< T >::getLinearSystem ( std::string &  name)
inlinevirtual

Definition at line 628 of file dofManager.h.

Referenced by elasticitySolver::exportKb(), and elasticitySolver::solve().

Here is the caller graph for this function:

◆ insertInSparsityPattern()

template<class T >
virtual void dofManager< T >::insertInSparsityPattern ( const Dof R,
const Dof C 
)
inlinevirtual

Definition at line 361 of file dofManager.h.

Referenced by dofManager< double >::insertInSparsityPatternLinConst(), and dofManager< double >::sparsityDof().

Here is the caller graph for this function:

◆ insertInSparsityPatternLinConst()

template<class T >
virtual void dofManager< T >::insertInSparsityPatternLinConst ( const Dof R,
const Dof C 
)
inlinevirtual

Definition at line 335 of file dofManager.h.

Referenced by dofManager< double >::insertInSparsityPattern().

Here is the caller graph for this function:

◆ isAnUnknown()

template<class T >
virtual bool dofManager< T >::isAnUnknown ( Dof  key) const
inlinevirtual

Definition at line 182 of file dofManager.h.

◆ isConstrained()

template<class T >
virtual bool dofManager< T >::isConstrained ( Dof  key) const
inlinevirtual

Definition at line 190 of file dofManager.h.

◆ isFixed() [1/3]

template<class T >
virtual bool dofManager< T >::isFixed ( Dof  key) const
inlinevirtual

Definition at line 174 of file dofManager.h.

Referenced by dofManager< double >::isFixed().

Here is the caller graph for this function:

◆ isFixed() [2/3]

template<class T >
bool dofManager< T >::isFixed ( long int  ent,
int  type 
) const
inline

Definition at line 198 of file dofManager.h.

◆ isFixed() [3/3]

template<class T >
bool dofManager< T >::isFixed ( MVertex v,
int  iComp,
int  iField 
) const
inline

Definition at line 202 of file dofManager.h.

◆ numberDof() [1/3]

template<class T >
virtual void dofManager< T >::numberDof ( const std::vector< Dof > &  R)
inlinevirtual

Definition at line 226 of file dofManager.h.

◆ numberDof() [2/3]

template<class T >
virtual void dofManager< T >::numberDof ( Dof  key)
inlinevirtual

Definition at line 213 of file dofManager.h.

Referenced by frameSolver2d::createDofs(), dofManager< double >::numberDof(), and dofManager< double >::numberVertex().

Here is the caller graph for this function:

◆ numberDof() [3/3]

template<class T >
void dofManager< T >::numberDof ( long int  ent,
int  type 
)
inline

Definition at line 230 of file dofManager.h.

Referenced by dofManager< double >::numberDof().

Here is the caller graph for this function:

◆ numberGhostDof()

template<class T >
virtual void dofManager< T >::numberGhostDof ( Dof  key,
int  procId 
)
inlinevirtual

Definition at line 206 of file dofManager.h.

◆ numberVertex()

template<class T >
void dofManager< T >::numberVertex ( MVertex v,
int  iComp,
int  iField 
)
inline

Definition at line 231 of file dofManager.h.

Referenced by GMSH_DistancePlugin::execute(), and propagateValuesOnFace().

Here is the caller graph for this function:

◆ scatterSolution()

template<class T >
void dofManager< T >::scatterSolution ( )

◆ setCurrentMatrix()

template<class T >
virtual void dofManager< T >::setCurrentMatrix ( std::string  name)
inlinevirtual

Definition at line 617 of file dofManager.h.

◆ setLinearConstraint()

template<class T >
virtual void dofManager< T >::setLinearConstraint ( Dof  key,
DofAffineConstraint< dataVec > &  affineconstraint 
)
inlinevirtual

Definition at line 638 of file dofManager.h.

◆ sizeOfF()

template<class T >
virtual int dofManager< T >::sizeOfF ( ) const
inlinevirtual

Definition at line 610 of file dofManager.h.

Referenced by thermicSolver::assemble(), and elasticitySolver::assemble().

Here is the caller graph for this function:

◆ sizeOfR()

template<class T >
virtual int dofManager< T >::sizeOfR ( ) const
inlinevirtual

◆ sparsityDof()

template<class T >
virtual void dofManager< T >::sparsityDof ( const std::vector< Dof > &  keys)
inlinevirtual

Definition at line 384 of file dofManager.h.

◆ systemClear()

template<class T >
virtual void dofManager< T >::systemClear ( )
inlinevirtual

Definition at line 612 of file dofManager.h.

◆ systemSolve()

template<class T >
virtual void dofManager< T >::systemSolve ( )
inlinevirtual

Definition at line 611 of file dofManager.h.

Member Data Documentation

◆ _current

◆ _linearSystems

template<class T >
std::map<const std::string, linearSystem<dataMat> *> dofManager< T >::_linearSystems
protected

◆ constraints

◆ fixed

◆ ghostValue

template<class T >
std::map<Dof, T> dofManager< T >::ghostValue
protected

◆ initial

template<class T >
std::map<Dof, std::vector<dataVec> > dofManager< T >::initial
protected

Definition at line 129 of file dofManager.h.


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