52 #define _IFT_DofManager_dofidmask "dofidmask" 53 #define _IFT_DofManager_load "load" 54 #define _IFT_DofManager_bc "bc" 55 #define _IFT_DofManager_ic "ic" 56 #define _IFT_DofManager_mastermask "mastermask" 57 #define _IFT_DofManager_doftypemask "doftype" 58 #define _IFT_DofManager_boundaryflag "boundary" 59 #define _IFT_DofManager_globnum "globnum" 60 #define _IFT_DofManager_partitions "partitions" 61 #define _IFT_DofManager_sharedflag "shared" 62 #define _IFT_DofManager_remoteflag "remote" 63 #define _IFT_DofManager_nullflag "null" 70 class EntityRenumberingFunctor;
73 class UnknownNumberingScheme;
157 std::vector< Dof* > :: iterator
begin() {
return dofArray.begin(); }
158 std::vector< Dof* > :: iterator
end() {
return dofArray.end(); }
159 std::vector< Dof* > :: const_iterator
begin()
const {
return dofArray.begin(); }
160 std::vector< Dof* > :: const_iterator
end()
const {
return dofArray.end(); }
179 Dof *giveDofWithID(
int dofID)
const;
181 int giveNumberOfDofs()
const;
184 void askNewEquationNumbers(
TimeStep *tStep);
191 int giveNumberOfPrimaryMasterDofs(
const IntArray &dofIDArray)
const;
213 void giveMasterDofIDArray(
const IntArray &dofIDArry,
IntArray &masterDofIDs)
const;
227 void giveCompleteMasterDofIDArray(
IntArray &dofIDArray)
const;
234 std :: vector< Dof* > :: const_iterator findDofWithDofId(
DofIDItem dofID)
const;
350 virtual bool requiresTransformation();
408 std :: map< int, int > *
giveBcMap() {
return dofBCmap; }
414 std :: map< int, int > *
giveIcMap() {
return dofICmap; }
417 virtual void printOutputAt(FILE *file,
TimeStep *tStep);
422 virtual void updateYourself(
TimeStep *tStep);
433 virtual bool hasAnySlaveDofs();
441 virtual bool giveMasterDofMans(
IntArray &masters);
446 virtual void printYourself();
455 virtual void postInitialize();
471 void setNumberOfDofs(
int _ndofs);
480 void appendDof(
Dof *dof);
526 partitions.
erase(_pos);
530 void mergePartitionList(
IntArray &_p);
534 int givePartitionsConnectivitySize();
543 #endif // dofmanager_h std::map< int, int > * giveMasterMap()
Returns map from DofIDItem to dofType.
DofManager in active domain is shared only by remote elements (these are only introduced for nonlocal...
void erase(int pos)
Erase the element at given position (1-based index) Receiver will shrink accordingly, the values at positions (pos+1,...,size) will be moved to positions (pos,...,size-1)
int giveGlobalNumber() const
std::map< int, int > * giveBcMap()
Returns map from DofIDItem to dofType.
Abstract class representing field of primary variables (those, which are unknown and are typically as...
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
void setBoundaryFlag(bool isBoundary)
Sets the boundary flag.
std::map< int, int > * dofMastermap
Map from DofIDItem to master node.
const IntArray * givePartitionList()
Returns partition list of receiver.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual FloatArray * giveCoordinates()
std::vector< Dof * > dofArray
Array of DOFs.
dofType
Dof Type, determines the type of DOF created.
virtual bool isDofTypeCompatible(dofType type) const
Returns true if dof of given type is allowed to be associated to receiver.
Base class for dof managers.
std::map< int, int > * dofICmap
Map from DofIDItem to ic (to be removed).
Class implementing an array of integers.
virtual bool hasCoordinates()
void setParallelMode(dofManagerParallelMode _mode)
Sets parallel mode of receiver.
dofManagerParallelMode
In parallel mode, this type indicates the mode of DofManager.
std::map< int, int > * giveDofTypeMap()
Returns map from DofIDItem to dofType.
bool hasSlaveDofs
Flag indicating whether receiver has slave DOFs.
int globalNumber
In parallel mode, globalNumber contains globally unique DoFManager number.
DofIDItem
Type representing particular dof type.
UnknownType
Type representing particular unknown (its physical meaning).
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
IntArray partitions
List of partition sharing the shared dof manager or remote partition containing remote dofmanager cou...
IntArray loadArray
List of applied loads.
Class representing vector of real numbers.
void setPartitionList(const IntArray *_p)
Sets receiver's partition list.
bool isNull()
Returns true if receiver is shared.
void removePartitionFromList(int _part)
Removes given partition from receiver list.
dofManagerParallelMode parallel_mode
Implementation of matrix containing floating point numbers.
std::vector< Dof * >::const_iterator end() const
IRResultType
Type defining the return values of InputRecord reading operations.
std::vector< Dof * >::const_iterator begin() const
virtual void drawYourself(oofegGraphicContext &gc, TimeStep *tStep)
bool isBoundaryFlag
Indicates if dofManager is boundary (true boundary or on boundary between regions) or interior...
std::vector< Dof * >::iterator begin()
std::map< int, int > * dofBCmap
Map from DofIDItem to bc (to be removed).
std::map< int, int > * dofTypemap
Map from DofIDItem to dofType.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Load is base abstract class for all loads.
DofManager in active domain is only mirror of some remote DofManager.
const IntArray * giveForcedDofIDs()
Returns list of specific dofs that should be included in node.
virtual double giveCoordinate(int i)
std::map< int, int > * giveIcMap()
Returns map from DofIDItem to initial condition.
the oofem namespace is to define a context or scope in which all oofem names are defined.
std::vector< Dof * >::iterator end()
Abstract class Dof represents Degree Of Freedom in finite element mesh.
bool isShared()
Returns true if receiver is shared.
DofManager is local, there are no contribution from other domains to this DofManager.
void setGlobalNumber(int newNumber)
Sets receiver global number.
Class representing solution step.
The top abstract class of all classes constituting the finite element mesh.
DofManager is shared by neighboring partitions, it is necessary to sum contributions from all contrib...
dofManagerParallelMode giveParallelMode() const
Return dofManagerParallelMode of receiver.
int findFirstIndexOf(int value) const
Finds index of first occurrence of given value in array.
IntArray * dofidmask
List of additional dof ids to include.