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

#include <femTerm.h>

Collaboration diagram for femTerm< T >:

Public Member Functions

 femTerm (GModel *gm)
 
virtual ~femTerm ()
 
virtual int sizeOfC (SElement *se) const =0
 
virtual int sizeOfR (SElement *se) const =0
 
virtual Dof getLocalDofR (SElement *se, int iRow) const =0
 
virtual Dof getLocalDofC (SElement *se, int iCol) const
 
virtual void elementMatrix (SElement *se, fullMatrix< dataMat > &m) const =0
 
virtual void elementVector (SElement *se, fullVector< dataVec > &m) const
 
void addToMatrix (dofManager< dataVec > &dm, groupOfElements &L, groupOfElements &C) const
 
void addToMatrix (dofManager< dataVec > &dm, SElement *se) const
 
void addToMatrix (dofManager< dataVec > &dm, fullMatrix< dataMat > &localMatrix, SElement *se) const
 
void dirichletNodalBC (int physical, int dim, int comp, int field, const simpleFunction< dataVec > &e, dofManager< dataVec > &dm)
 
void neumannNodalBC (MElement *e, int comp, int field, const simpleFunction< dataVec > &fct, dofManager< dataVec > &dm)
 
void neumannNodalBC (int physical, int dim, int comp, int field, const simpleFunction< dataVec > &fct, dofManager< dataVec > &dm)
 
void neumannNormalNodalBC (int physical, int dim, int field, const simpleFunction< dataVec > &fct, dofManager< dataVec > &dm)
 
void addToRightHandSide (dofManager< dataVec > &dm, groupOfElements &C) const
 

Protected Attributes

GModel_gm
 

Private Types

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

Detailed Description

template<class T>
class femTerm< T >

Definition at line 21 of file femTerm.h.

Member Typedef Documentation

◆ dataMat

template<class T >
typedef dofTraits<T>::MatType femTerm< T >::dataMat
private

Definition at line 24 of file femTerm.h.

◆ dataVec

template<class T >
typedef dofTraits<T>::VecType femTerm< T >::dataVec
private

Definition at line 23 of file femTerm.h.

Constructor & Destructor Documentation

◆ femTerm()

template<class T >
femTerm< T >::femTerm ( GModel gm)
inline

Definition at line 30 of file femTerm.h.

◆ ~femTerm()

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

Definition at line 31 of file femTerm.h.

Member Function Documentation

◆ addToMatrix() [1/3]

template<class T >
void femTerm< T >::addToMatrix ( dofManager< dataVec > &  dm,
fullMatrix< dataMat > &  localMatrix,
SElement se 
) const
inline

Definition at line 75 of file femTerm.h.

◆ addToMatrix() [2/3]

template<class T >
void femTerm< T >::addToMatrix ( dofManager< dataVec > &  dm,
groupOfElements L,
groupOfElements C 
) const
inline

Definition at line 53 of file femTerm.h.

Referenced by femTerm< scalar >::addToMatrix(), and propagateValuesOnFace().

Here is the caller graph for this function:

◆ addToMatrix() [3/3]

template<class T >
void femTerm< T >::addToMatrix ( dofManager< dataVec > &  dm,
SElement se 
) const
inline

Definition at line 67 of file femTerm.h.

◆ addToRightHandSide()

template<class T >
void femTerm< T >::addToRightHandSide ( dofManager< dataVec > &  dm,
groupOfElements C 
) const
inline

Definition at line 183 of file femTerm.h.

◆ dirichletNodalBC()

template<class T >
void femTerm< T >::dirichletNodalBC ( int  physical,
int  dim,
int  comp,
int  field,
const simpleFunction< dataVec > &  e,
dofManager< dataVec > &  dm 
)
inline

Definition at line 105 of file femTerm.h.

◆ elementMatrix()

template<class T >
virtual void femTerm< T >::elementMatrix ( SElement se,
fullMatrix< dataMat > &  m 
) const
pure virtual

Implemented in DummyfemTerm.

Referenced by femTerm< scalar >::addToMatrix().

Here is the caller graph for this function:

◆ elementVector()

template<class T >
virtual void femTerm< T >::elementVector ( SElement se,
fullVector< dataVec > &  m 
) const
inlinevirtual

Reimplemented in DummyfemTerm.

Definition at line 46 of file femTerm.h.

Referenced by femTerm< scalar >::addToRightHandSide().

Here is the caller graph for this function:

◆ getLocalDofC()

template<class T >
virtual Dof femTerm< T >::getLocalDofC ( SElement se,
int  iCol 
) const
inlinevirtual

Reimplemented in helmholtzTerm< scalar >, helmholtzTerm< double >, DummyfemTerm, elasticityMixedTerm, and elasticityTerm.

Definition at line 40 of file femTerm.h.

Referenced by femTerm< scalar >::addToMatrix().

Here is the caller graph for this function:

◆ getLocalDofR()

template<class T >
virtual Dof femTerm< T >::getLocalDofR ( SElement se,
int  iRow 
) const
pure virtual

◆ neumannNodalBC() [1/2]

template<class T >
void femTerm< T >::neumannNodalBC ( int  physical,
int  dim,
int  comp,
int  field,
const simpleFunction< dataVec > &  fct,
dofManager< dataVec > &  dm 
)
inline

Definition at line 143 of file femTerm.h.

◆ neumannNodalBC() [2/2]

template<class T >
void femTerm< T >::neumannNodalBC ( MElement e,
int  comp,
int  field,
const simpleFunction< dataVec > &  fct,
dofManager< dataVec > &  dm 
)
inline

Definition at line 116 of file femTerm.h.

Referenced by femTerm< scalar >::neumannNodalBC(), and femTerm< scalar >::neumannNormalNodalBC().

Here is the caller graph for this function:

◆ neumannNormalNodalBC()

template<class T >
void femTerm< T >::neumannNormalNodalBC ( int  physical,
int  dim,
int  field,
const simpleFunction< dataVec > &  fct,
dofManager< dataVec > &  dm 
)
inline

Definition at line 161 of file femTerm.h.

◆ sizeOfC()

template<class T >
virtual int femTerm< T >::sizeOfC ( SElement se) const
pure virtual

Implemented in DummyfemTerm, elasticityMixedTerm, elasticityTerm, helmholtzTerm< scalar >, and helmholtzTerm< double >.

Referenced by femTerm< scalar >::addToMatrix().

Here is the caller graph for this function:

◆ sizeOfR()

template<class T >
virtual int femTerm< T >::sizeOfR ( SElement se) const
pure virtual

Member Data Documentation

◆ _gm

template<class T >
GModel* femTerm< T >::_gm
protected

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