void TrPlaneStress2dXFEM :: EIPrimaryUnknownMI_computePrimaryUnknownVectorAtLocal(ValueModeType mode, TimeStep *tStep, const FloatArray &lcoords, FloatArray &answer) { // TODO: Validate implementation. FloatArray u; FloatMatrix n; XfemElementInterface_createEnrNmatrixAt(n, lcoords, * this, false); this->computeVectorOf(mode, tStep, u); answer.beProductOf(n, u); }
int TrPlaneStress2dXFEM :: EIPrimaryUnknownMI_computePrimaryUnknownVectorAt(ValueModeType mode, TimeStep *stepN, const FloatArray &coords, FloatArray &answer) { // TODO: Validate implementation. FloatArray lcoords, u; FloatMatrix n; int result; result = this->computeLocalCoordinates(lcoords, coords); XfemElementInterface_createEnrNmatrixAt(n, lcoords, *this); this->computeVectorOf(EID_MomentumBalance, mode, stepN, u); answer.beProductOf(n, u); return result; /* FloatArray lcoords, u; FloatMatrix n; int result; result = this->computeLocalCoordinates(lcoords, coords); n.resize(2, 6); n.zero(); n.at(1, 1) = lcoords.at(1); n.at(1, 3) = lcoords.at(2); n.at(1, 5) = lcoords.at(3); n.at(2, 2) = lcoords.at(1); n.at(2, 4) = lcoords.at(2); n.at(2, 6) = lcoords.at(3); this->computeVectorOf(EID_MomentumBalance, mode, stepN, u); answer.beProductOf(n, u); return result; */ }
void TrPlaneStress2dXFEM :: computeNmatrixAt(GaussPoint *gp, FloatMatrix &answer) { XfemElementInterface_createEnrNmatrixAt(answer, *(gp->giveLocalCoordinates()), *this); }
void TrPlaneStress2dXFEM :: computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer) { XfemElementInterface_createEnrNmatrixAt(answer, iLocCoord, * this, false); }