48void ActiveDof :: initialize(
int cntOfMstrDfMngr,
const IntArray &masterNodes,
const IntArray *mstrDofID,
const FloatArray &mstrContribution)
50 OOFEM_ERROR(
"Shouldn't be statically initialized.");
64int ActiveDof :: giveNumberOfPrimaryMasterDofs()
72 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
78bool ActiveDof :: isPrimaryDof()
83int ActiveDof :: giveNumberOfMasterDofs()
101 masterEqNumbers.
clear();
102 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
108void ActiveDof :: giveDofIDs(
IntArray &masterDofIDs)
120 masterDofIDs.
clear();
121 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
127void ActiveDof :: giveMasterDofManArray(
IntArray &answer)
139 for (
int i = 1; i <= countOfMasterDofs; i++ ) {
140 this->
giveMasterDof(i)->giveMasterDofManArray(subMasterDofManArray);
152 for (
int k = 1, i = 1; i <= countOfMasterDofs; i++ ) {
153 this->
giveMasterDof(i)->giveUnknowns(mstrUnknwns, mode, tStep);
165 for (
int k = 1, i = 1; i <= countOfMasterDofs; i++ ) {
166 this->
giveMasterDof(i)->giveUnknowns(mstrUnknwns, field, mode, tStep);
172void ActiveDof :: computeDofTransformation(
FloatArray &primaryMasterContribs)
175 primaryMasterContribs.
resize(1);
176 primaryMasterContribs.
at(1) = 1.0;
180 FloatArray masterContribution, subPrimaryMasterContribs;
185 for (
int k = 1, i = 1; i <= countOfMasterDofs; i++ ) {
186 this->
giveMasterDof(i)->computeDofTransformation(subPrimaryMasterContribs);
187 subPrimaryMasterContribs.
times( masterContribution.
at(i) );
188 primaryMasterContribs.
copySubVector(subPrimaryMasterContribs, k);
189 k += subPrimaryMasterContribs.
giveSize();
193double ActiveDof :: giveUnknown(ValueModeType mode,
TimeStep *tStep)
204int ActiveDof :: __giveEquationNumber()
const
209int ActiveDof :: __givePrescribedEquationNumber()
214int ActiveDof :: askNewEquationNumber(
TimeStep *tStep)
227 if ( this->
hasBc(tStep) ) {
241int ActiveDof :: giveBcId()
246void ActiveDof :: setBcId(
int bcId)
252double ActiveDof :: giveBcValue(ValueModeType mode,
TimeStep *tStep)
259bool ActiveDof :: hasIcOn(ValueModeType type) {
return false; }
260bool ActiveDof :: hasIc() {
return false; }
261int ActiveDof :: giveIcId() {
return 0; }
274inline Dof *ActiveDof :: giveMasterDof(
int i)
int equationNumber
Corresponding equation number (positive value) or prescribed equation number (negative value).
Dof * giveMasterDof(int i)
ActiveBoundaryCondition * activeBC
Active boundary condition number.
bool isPrimaryDof() override
int giveNumberOfMasterDofs()
bool hasBc(TimeStep *tStep) override
ActiveBoundaryCondition * giveActiveBoundaryCondition()
int bc
Boundary condition number.
int giveNumberOfPrimaryMasterDofs() override
DofIDItem giveDofID() const
Dof(DofManager *aNode, DofIDItem id=Undef)
int giveEquationNumber(const UnknownNumberingScheme &s)
DofManager * dofManager
Link to related DofManager.
virtual BoundaryCondition * giveBc()
int giveDofManNumber() const
virtual int giveNewPrescribedEquationNumber(int domain, DofIDItem)
virtual int giveNewEquationNumber(int domain, DofIDItem)
Index giveSize() const
Returns the size of receiver.
void copySubVector(const FloatArray &src, int si)
void followedBy(const IntArray &b, int allocChunk=0)
void preallocate(int futureSize)