50 OOFEM_ERROR(
"Shouldn't be statically initialized.");
72 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
101 masterEqNumbers.
clear();
102 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
120 masterDofIDs.
clear();
121 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
139 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
152 for (
int k = 1, i = 1; i <= countOfMasterDofs; i++ ) {
165 for (
int k = 1, i = 1; i <= countOfMasterDofs; i++ ) {
175 primaryMasterContribs.
resize(1);
176 primaryMasterContribs.
at(1) = 1.0;
180 FloatArray masterContribution, subPrimaryMasterContribs;
185 for (
int k = 1, i = 1; i <= countOfMasterDofs; i++ ) {
187 subPrimaryMasterContribs.
times( masterContribution.
at(i) );
188 primaryMasterContribs.
copySubVector(subPrimaryMasterContribs, k);
189 k += subPrimaryMasterContribs.
giveSize();
227 if ( this->
hasBc(tStep) ) {
virtual bool isPrimaryDof()
Tests if receiver is primary DOF.
DofManager in active domain is shared only by remote elements (these are only introduced for nonlocal...
void copySubVector(const FloatArray &src, int si)
Copy the given vector as sub-vector to receiver.
Dof * giveMasterDof(int i)
Class implementing general initial condition.
Abstract class representing field of primary variables (those, which are unknown and are typically as...
virtual void initialize(int cntOfMstrDfMngr, const IntArray &masterNodes, const IntArray *mstrDofID, const FloatArray &mstrContribution)
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
double & at(int i)
Coefficient access function.
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
virtual int giveNumberOfPrimaryMasterDofs()
virtual Dictionary * giveUnknowns()
Receives the dictionary of unknowns in receiver.
virtual double giveBcValue(Dof *dof, ValueModeType mode, TimeStep *tStep)
Returns the prescribed value of a dof (if any).
virtual int giveNumberOfMasterDofs(ActiveDof *dof)
Allows for active boundary conditions to handle their own special DOF.
virtual Dof * giveMasterDof(ActiveDof *dof, int mdof)
Give the pointer to master dof belonging to active DOF.
virtual void computeDofTransformation(FloatArray &primaryMasterContribs)
Computes dof transformation array, which describes the dependence of receiver value on values of mast...
EngngModel * giveEngngModel()
Returns engineering model to which receiver is associated.
virtual InitialCondition * giveIc()
Returns initial condition of dof if it is prescribed.
virtual int giveBcId()
Returns the id of associated boundary condition, if there is any.
Base class for dof managers.
int giveNumber()
Returns domain number.
virtual double giveUnknown(PrimaryField &field, ValueModeType mode, TimeStep *tStep, ActiveDof *dof)
Computes the value of the dof.
virtual int giveNewPrescribedEquationNumber(int domain, DofIDItem)
Increases number of prescribed equations of receiver's domain and returns newly created equation numb...
virtual void giveEquationNumbers(IntArray &masterEqNumbers, const UnknownNumberingScheme &s)
Returns equation number of receiver.
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
virtual bool hasIc()
Test if Dof has initial condition.
virtual void giveUnknowns(FloatArray &masterUnknowns, ValueModeType mode, TimeStep *tStep)
The key method of class Dof.
GeneralBoundaryCondition * giveBc(int n)
Service for accessing particular domain bc.
int giveNumberOfMasterDofs()
virtual int giveNewEquationNumber(int domain, DofIDItem)
Increases number of equations of receiver's domain and returns newly created equation number...
virtual bool hasBc(Dof *dof, TimeStep *tStep)
Returns the prescribed value of a dof (if any).
virtual void updateLocalNumbering(EntityRenumberingFunctor &f)
Local renumbering support.
virtual void computeDofTransformation(ActiveDof *dof, FloatArray &masterContribs)
int equationNumber
Corresponding equation number (positive value) or prescribed equation number (negative value)...
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
void clear()
Clears the array (zero size).
DofIDItem
Type representing particular dof type.
DofManager * dofManager
Link to related DofManager.
virtual void giveEquationNumbers(IntArray &masterEqNumbers, const UnknownNumberingScheme &s)
Returns equation number of receiver.
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
DofIDItem giveDofID() const
Returns DofID value of receiver, which determines type of of unknown connected to receiver (e...
virtual void giveMasterDofManArray(IntArray &answer)
virtual int giveIcId()
Returns the id of associated initial condition, if there is any.
Abstract base class for all active boundary conditions.
void resize(int n)
Checks size of receiver towards requested bounds.
virtual void setBcId(int bcId)
Overwrites the boundary condition id (0-inactive BC), intended for specific purposes such as coupling...
int giveDofManNumber() const
virtual int __giveEquationNumber() const
Returns equation number of receiver, usually assigned by emodel.
Class representing vector of real numbers.
virtual void giveDofIDs(IntArray &masterDofIDs)
As giveEquationNumbers but for dof IDs.
virtual int askNewEquationNumber(TimeStep *tStep)
Asks EngngModel for new equation number.
virtual double giveUnknown(ValueModeType mode, TimeStep *tStep)
The key method of class Dof.
DofIDItem dofID
Physical meaning of DOF.
ActiveDof(DofManager *aNode, DofIDItem id=Undef, int bc=0)
Constructor.
void followedBy(const IntArray &b, int allocChunk=0)
Appends array b at the end of receiver.
virtual bool isPrimaryDof(ActiveDof *dof)
Checks to see if the dof is a primary DOF.
void times(double s)
Multiplies receiver with scalar.
virtual void computeDofTransformation(FloatArray &masterContribs)
Computes dof transformation array, which describes the dependence of receiver value on values of mast...
ActiveBoundaryCondition * giveActiveBoundaryCondition()
int bc
Boundary condition number.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual bool hasBc(TimeStep *tStep)
Test if Dof has active boundary condition.
Domain * giveDomain() const
int giveEquationNumber(const UnknownNumberingScheme &s)
Returns equation number of receiver for given equation numbering scheme.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
virtual void giveMasterDofManArray(IntArray &answer)
Abstract base class representing the "problem" under consideration.
virtual int giveNumberOfPrimaryMasterDofs()
int giveSize() const
Returns the size of receiver.
void preallocate(int futureSize)
Preallocates receiver to given futureSize if larger then allocatedSize.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual double giveBcValue(ValueModeType mode, TimeStep *tStep)
Returns value of boundary condition of dof if it is prescribed.
Abstract class Dof represents Degree Of Freedom in finite element mesh.
virtual void giveDofIDs(IntArray &masterDofIDs)
As giveEquationNumbers but for dof IDs.
virtual int __givePrescribedEquationNumber()
Returns prescribed equation number of receiver.
ActiveBoundaryCondition * activeBC
Active boundary condition number.
Class representing solution step.
dofManagerParallelMode giveParallelMode() const
Return dofManagerParallelMode of receiver.
virtual bool hasIcOn(ValueModeType type)
Test if Dof has initial condition of required ValueModeType.
void resize(int s)
Resizes receiver towards requested size.