40 ceps::HoldsGlobalIndex(dofId),
41 ceps::HoldsBoundary(false),
42 ceps::HoldsProcIds(procId),
43 ceps::HoldsAttributes(attrs),
51 "A degree of freedom must be defined with a valid unknown"
136 "Passed DegreeOfFreedom is nullptr"
CepsLocationFlag
DataLocation: an enum that will be used by various elements of the code (pde, readers,...
@ Cell
Data is defined at cell centers.
@ Point
Data is defined on each point.
@ ZeroD
Data is defined once.
#define CEPS_ABORT_IF(condition, message)
Stops the execution with a message if condition is true. If testing is enabled, only throws a runtime...
std::set< _Type, _Compare, _Alloc > CepsSet
C++ set.
CepsIndex CepsGlobalIndex
Many uses. Has to be signed for PETSc.
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
CepsUInt CepsProcId
For CPU indices.
CepsInt CepsIndex
Index rowid etc.
CepsStandardArgs getStandardArgsFrom(DegreeOfFreedom *dof)
Returns a standard args structure with data from a dof.
CepsReal3D & getCoordinates()
Get three coordinates, read & write.
A degree of freedom for any kind of problem The dof can be associated to a geometrical element or not...
const CepsGlobalIndex & getGeomId() const
Get the Geom Identity for the dof (-1 means no geometric entity)
CepsGlobalIndex m_discrId
A global index used only for finite elements : it is the ID of the FE Node which may be different fro...
const CepsLocationFlag & getLocation() const
Shorcut from unknown to know the location.
CepsVertex * getVertex() const
Get the vertex pointer.
void setGeomId(CepsGlobalIndex geomId)
Set the geom id (replace the existing one)
CepsGlobalIndex m_geomId
Id of geometric entity on which the dof is defined.
Unknown * getUnknown() const
Get the unknow defined at this dof.
Unknown * m_unknown
Link to unknown defined at that dof.
const CepsGlobalIndex & getDiscrId() const
Get the spatial discretization ID (FEnode id for FE)
void setDiscrId(CepsGlobalIndex discrId)
Set the FE node id (replace the existing one)
void setVertex(CepsVertex *vertex)
Set the vertex pointer where is defined the dof.
void setUnknown(Unknown *unknown)
Set the unknown (replace the existing one)
CepsSet< DegreeOfFreedom * > m_neigh
Pointers on nieghboring dofs.
const CepsSet< DegreeOfFreedom * > & getNeighbors() const
Neighbor dofs.
CepsVertex * m_vertex
Geometrical location of the dof.
void addNeighbor(DegreeOfFreedom *x)
Add a neihboring dof.
CepsUInt getNumberOfNeighbors() const
Neighbor dofs #.
DegreeOfFreedom()=delete
Deleted default constructor.
A class used to defined an unknown of a PDE problem The unknown can be defined on a specific region,...
const CepsLocationFlag & getLocation() const
Get the data location of the unknown.
CepsUnknownIndex getIdentifier() const
Get the identifier of the unknown.
CepsSet< CepsAttribute > & getAttributes()
Returns the attributes of the entity.
const CepsGlobalIndex & getGlobalIndex() const
Get the index
A namespace for all utility methods.
CepsBool isNullPtr(_Type *ptr)
Tells if passed pointer is null.
Structure used to pass arguments to SAFunc (see pde directory) The flags of the SAFunc allows extract...
CepsSet< CepsAttribute > attr
attributes
CepsNodeGlobalIndex nodeId
node index
CepsCellGlobalIndex cellId
cell index
CepsDofGlobalIndex dofId
dof index
CepsUnknownIndex unknownId
unknown index