void ActiveDof :: giveUnknowns(FloatArray &masterUnknowns, PrimaryField &field, ValueModeType mode, TimeStep *tStep) { FloatArray mstrUnknwns; masterUnknowns.resize( this->giveNumberOfPrimaryMasterDofs() ); int countOfMasterDofs = this->giveNumberOfMasterDofs(); for ( int k = 1, i = 1; i <= countOfMasterDofs; i++ ) { this->giveMasterDof(i)->giveUnknowns(mstrUnknwns, field, mode, tStep); masterUnknowns.copySubVector(mstrUnknwns, k); k += mstrUnknwns.giveSize(); } }
void SlaveDof :: giveUnknowns(FloatArray &masterUnknowns, ValueModeType mode, TimeStep *stepN) { FloatArray mstrUnknwns; masterUnknowns.resize( this->giveNumberOfPrimaryMasterDofs() ); for (int k = 1, i = 1; i <= countOfMasterDofs; i++ ) { this->giveMasterDof(i)->giveUnknowns(mstrUnknwns, mode, stepN); masterUnknowns.copySubVector(mstrUnknwns, k); k += mstrUnknwns.giveSize(); } }
void SlaveDof :: computeDofTransformation(FloatArray &primaryMasterContribs) { FloatArray subPrimaryMasterContribs; primaryMasterContribs.resize( this->giveNumberOfPrimaryMasterDofs() ); for (int k = 1, i = 1; i <= countOfMasterDofs; i++ ) { this->giveMasterDof(i)->computeDofTransformation(subPrimaryMasterContribs); subPrimaryMasterContribs.times( masterContribution.at(i) ); primaryMasterContribs.copySubVector(subPrimaryMasterContribs, k); k += subPrimaryMasterContribs.giveSize(); } }
void ActiveDof :: computeDofTransformation(FloatArray &primaryMasterContribs) { if ( this->isPrimaryDof() ) { primaryMasterContribs.resize(1); primaryMasterContribs.at(1) = 1.0; return; } FloatArray masterContribution, subPrimaryMasterContribs; this->giveActiveBoundaryCondition()->computeDofTransformation(this, masterContribution); primaryMasterContribs.resize( this->giveNumberOfPrimaryMasterDofs() ); int countOfMasterDofs = this->giveNumberOfMasterDofs(); for ( int k = 1, i = 1; i <= countOfMasterDofs; i++ ) { this->giveMasterDof(i)->computeDofTransformation(subPrimaryMasterContribs); subPrimaryMasterContribs.times( masterContribution.at(i) ); primaryMasterContribs.copySubVector(subPrimaryMasterContribs, k); k += subPrimaryMasterContribs.giveSize(); } }