47 if ( mode == _2dBeam ) {
49 }
else if ( mode == _3dBeam ) {
51 }
else if ( mode == _2dPlate ) {
53 }
else if ( mode == _3dShell ) {
55 }
else if ( mode == _3dShellRot ) {
57 }
else if ( mode == _3dMat ) {
59 }
else if ( mode == _PlaneStrain ) {
61 }
else if ( mode == _PlaneStress ) {
63 }
else if ( mode == _1dMat ) {
65 }
else if ( mode == _Warping ) {
71 if ( mat->hasMaterialModeCapability(mode) ) {
73 mat->giveRealStressVector(answer, gp, strain, tStep);
86 if ( mode == _3dMat ) {
88 }
else if ( mode == _PlaneStrain ) {
90 }
else if ( mode == _PlaneStress ) {
92 }
else if ( mode == _1dMat ) {
120 if ( gradientStressVector3d->
giveSize() != 6 ) {
121 OOFEM_ERROR(
"gradientStressVector3d size mismatch");
124 if ( mode == _3dMat ) {
125 return gradientStressVector3d;
131 gradientStressVector3d->
at(3) = 0.;
132 gradientStressVector3d->
at(4) = 0.;
133 gradientStressVector3d->
at(5) = 0.;
137 gradientStressVector3d->
at(4) = 0.;
138 gradientStressVector3d->
at(5) = 0.;
141 for (
int i = 2; i <= 6; i++ ) {
142 gradientStressVector3d->
at(i) = 0.;
147 OOFEM_ERROR(
"unknown mode (%s)", __MaterialModeToString(mode) );
151 return gradientStressVector3d;
182 if ( gradientStrainVector3d->
giveSize() != 6 ) {
183 OOFEM_ERROR(
"gradientStrainVector3d size mismatch");
186 if ( mode == _3dMat ) {
187 return gradientStrainVector3d;
193 gradientStrainVector3d->
at(3) = 0.;
194 gradientStrainVector3d->
at(4) = 0.;
195 gradientStrainVector3d->
at(5) = 0.;
198 gradientStrainVector3d->
at(3) = 0.;
199 gradientStrainVector3d->
at(4) = 0.;
200 gradientStrainVector3d->
at(5) = 0.;
203 for (
int i = 2; i <= 6; i++ ) {
204 gradientStrainVector3d->
at(i) = 0.;
209 OOFEM_ERROR(
"unknown mode (%s)", __MaterialModeToString(mode) );
213 return gradientStrainVector3d;
Index giveSize() const
Returns the size of receiver.
MaterialMode giveMaterialMode()
Returns corresponding material mode of receiver.
virtual FloatArray * imposeStressConstrainsOnGradient(GaussPoint *gp, FloatArray *gradientStressVector3d)
virtual FloatArrayF< 9 > giveGeneralizedStress_ShellRot(const FloatArrayF< 9 > &generalizedStrain, GaussPoint *gp, TimeStep *tStep) const =0
FloatArray giveRealStresses(const FloatArray &reducedStrain, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 2 > giveRealStress_Warping(const FloatArrayF< 2 > &reducedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 8 > giveGeneralizedStress_Shell(const FloatArrayF< 8 > &generalizedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 5 > giveFirstPKStress_PlaneStrain(const FloatArrayF< 5 > &reducedF, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArray * imposeStrainConstrainsOnGradient(GaussPoint *gp, FloatArray *gradientStressVector3d)
virtual FloatArrayF< 6 > giveRealStress_3d(const FloatArrayF< 6 > &reducedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatMatrixF< 6, 6 > give3dBeamSubSoilStiffMtrx(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 1 > giveFirstPKStress_1d(const FloatArrayF< 1 > &reducedF, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 9 > giveFirstPKStress_3d(const FloatArrayF< 9 > &reducedF, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 1 > giveRealStress_1d(const FloatArrayF< 1 > &reducedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 6 > giveGeneralizedStress_Beam3d(const FloatArrayF< 6 > &generalizedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 3 > giveRealStress_PlaneStress(const FloatArrayF< 3 > &reducedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArray giveFirstPKStresses(const FloatArray &reducedF, GaussPoint *gp, TimeStep *tStep) const
Material * giveMaterial(IntegrationPoint *ip) const override
virtual FloatArrayF< 4 > giveRealStress_PlaneStrain(const FloatArrayF< 4 > &reducedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 3 > giveGeneralizedStress_Beam2d(const FloatArrayF< 3 > &generalizedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 4 > giveFirstPKStress_PlaneStress(const FloatArrayF< 4 > &reducedF, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatArrayF< 6 > giveGeneralizedStress_3dBeamSubSoil(const FloatArrayF< 6 > &generalizedStrain, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 5 > giveGeneralizedStress_Plate(const FloatArrayF< 5 > &generalizedStrain, GaussPoint *gp, TimeStep *tStep) const =0
virtual FloatMatrixF< 6, 6 > give3dBeamSubSoilStiffMtrx(MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 6 > giveRealStressVector_3dBeamSubSoil(const FloatArrayF< 6 > &reducedE, GaussPoint *gp, TimeStep *tStep) const