63MasterDof :: ~MasterDof()
78 OOFEM_ERROR(
"Incompatible BC (%d) applied as Dirichlet/Primary BC",
bc);
82int MasterDof :: __giveEquationNumber() const
94int MasterDof :: __givePrescribedEquationNumber()
105int MasterDof :: askNewEquationNumber(
TimeStep *tStep)
119 if ( this->
hasBc(tStep) ) {
135 OOFEM_ERROR(
"does not know yet if has InitCond or not");
140double MasterDof :: giveUnknown(ValueModeType mode,
TimeStep *tStep)
151 if ( (!
dofManager->giveDomain()->giveEngngModel()->newDofHandling() ) && (mode!=VM_Residual)) {
153 if ( tStep->
giveNumber() ==
dofManager->giveDomain()->giveEngngModel()->giveNumberOfTimeStepWhenIcApply() ) {
156 return this->
giveIc()->give(mode, c);
157 }
else if ( this->
hasBc(tStep) ) {
182 if ( !
dofManager->giveDomain()->giveEngngModel()->requiresUnknownsDictionaryUpdate() && this->hasBc(tStep) ) {
186 return (
dofManager->giveDomain()->giveEngngModel()->
187 giveUnknownComponent(mode, tStep,
dofManager->giveDomain(),
this) );
199 if ( tStep->
giveNumber() ==
dofManager->giveDomain()->giveEngngModel()->giveNumberOfTimeStepWhenIcApply() ) {
202 return this->
giveIc()->give(mode, c);
209 if ( this->
hasBc(tStep) ) {
227 OOFEM_ERROR(
"does not know yet if has InitCond or not");
231 return this->
dofManager->giveDomain()->giveBc(
bc)->isImposed(tStep);
238bool MasterDof :: hasIc()
243 OOFEM_ERROR(
"does not know yet if has InitCond or not");
250bool MasterDof :: hasIcOn(ValueModeType u)
254 if ( this->
hasIc() ) {
255 return this->
giveIc()->hasConditionOn(u);
261int MasterDof :: giveBcId()
266int MasterDof :: giveIcId()
274 Dof :: updateYourself(tStep);
277void MasterDof :: updateUnknownsDictionary(
TimeStep *tStep, ValueModeType mode,
double dofValue)
282 int hash =
dofManager->giveDomain()->giveEngngModel()->giveUnknownDictHashIndx(mode, tStep);
286double MasterDof :: giveUnknownsDictionaryValue(
TimeStep *tStep, ValueModeType mode)
288 int hash =
dofManager->giveDomain()->giveEngngModel()->giveUnknownDictHashIndx(mode, tStep);
292void MasterDof :: printYourself()
301 Dof :: saveContext(stream, mode);
326 Dof :: restoreContext(stream, mode);
virtual int read(int *data, std::size_t count)=0
Reads count integer values into array pointed by data.
virtual int write(const int *data, std::size_t count)=0
Writes count integer values from array pointed by data.
DofIDItem dofID
Physical meaning of DOF.
Dof(DofManager *aNode, DofIDItem id=Undef)
virtual double giveBcValue(ValueModeType mode, TimeStep *tStep)
DofManager * dofManager
Link to related DofManager.
virtual int giveNewPrescribedEquationNumber(int domain, DofIDItem)
virtual int giveNewEquationNumber(int domain, DofIDItem)
virtual bcType giveType() const
InitialCondition * giveIc() override
bool hasIcOn(ValueModeType) override
int ic
Initial condition number associated to dof.
int bc
Boundary condition number associated to dof.
bool hasBc(TimeStep *tStep) override
Dictionary unknowns
Unknowns dictionary to support changes of static system.
int equationNumber
Corresponding equation number (positive value) or prescribed equation number (negative value).
virtual double giveUnknownValue(Dof *dof, ValueModeType mode, TimeStep *tStep)
int giveNumber()
Returns receiver's number.
#define CM_UnknownDictState
@ DirichletBT
Prescribed value.
@ CIO_IOERR
General IO error.