OOFEM 3.0
Loading...
Searching...
No Matches
oofem::StructuralMaterial Class Reference

#include <structuralmaterial.h>

Inheritance diagram for oofem::StructuralMaterial:
Collaboration diagram for oofem::StructuralMaterial:

Public Member Functions

 StructuralMaterial (int n, Domain *d)
bool hasMaterialModeCapability (MaterialMode mode) const override
const char * giveClassName () const override
void initializeFrom (InputRecord &ir) override
void giveInputRecord (DynamicInputRecord &input) override
void giveCharacteristicMatrix (FloatMatrix &answer, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const override
 Returns characteristic matrix of the receiver.
void giveCharacteristicVector (FloatArray &answer, FloatArray &flux, MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const override
 Returns characteristic vector of the receiver.
virtual void giveStiffnessMatrix (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const
virtual void giveRealStressVector (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep) const
virtual FloatArrayF< 6 > giveRealStressVector_3d (const FloatArrayF< 6 > &strain, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
virtual FloatArrayF< 4 > giveRealStressVector_PlaneStrain (const FloatArrayF< 4 > &strain, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector_3d.
virtual FloatArray giveRealStressVector_StressControl (const FloatArray &reducedE, const IntArray &strainControl, GaussPoint *gp, TimeStep *tStep) const
 Iteratively calls giveRealStressVector_3d to find the stress controlled equal to zero·
virtual FloatArray giveRealStressVector_ShellStressControl (const FloatArray &reducedE, const IntArray &strainControl, GaussPoint *gp, TimeStep *tStep) const
virtual FloatArrayF< 3 > giveRealStressVector_PlaneStress (const FloatArrayF< 3 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector_StressControl.
virtual FloatArrayF< 1 > giveRealStressVector_1d (const FloatArrayF< 1 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector_StressControl.
virtual FloatArrayF< 2 > giveRealStressVector_Warping (const FloatArrayF< 2 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector_StressControl.
virtual FloatArrayF< 2 > giveRealStressVector_2dBeamLayer (const FloatArrayF< 2 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector_StressControl.
virtual FloatArrayF< 5 > giveRealStressVector_PlateLayer (const FloatArrayF< 5 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector_StressControl.
virtual FloatArrayF< 3 > giveRealStressVector_Fiber (const FloatArrayF< 3 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector_StressControl.
virtual FloatArrayF< 3 > giveRealStressVector_2dPlateSubSoil (const FloatArrayF< 3 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
 Default implementation is not provided.
virtual FloatArrayF< 6 > giveRealStressVector_3dBeamSubSoil (const FloatArrayF< 6 > &reducedE, GaussPoint *gp, TimeStep *tStep) const
Methods associated with the First PK stress tensor.

Computes the first Piola-Kirchhoff stress vector for given total deformation gradient and integration point. The total deformation gradient is computed directly from displacement field at the given time step. The stress independent parts (temperature, eigenstrains) are subtracted in constitutive driver. The service should use previously reached equilibrium history variables. Also it should update temporary history variables in status according to newly reached state. The temporary history variables are moved into equilibrium ones after global structure equilibrium has been reached by iteration process. The First Piola-Kirchhoff stress vector is computed in Total Lagrangian mode

Parameters
answerContains result.
gpIntegration point.
reducedFDeformation gradient in in reduced form.
tStepCurrent time step (most models are able to respond only when tStep is current time step).
virtual FloatArrayF< 9 > giveFirstPKStressVector_3d (const FloatArrayF< 9 > &vF, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
virtual FloatArrayF< 5 > giveFirstPKStressVector_PlaneStrain (const FloatArrayF< 5 > &vF, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveFirstPKStressVector_3d.
virtual FloatArray giveFirstPKStressVector_StressControl (const FloatArray &reducedvF, const IntArray &FControl, GaussPoint *gp, TimeStep *tStep) const
 Iteratively calls giveRealStressVector_3d to find the stress controlled equal to zero·
virtual FloatArrayF< 4 > giveFirstPKStressVector_PlaneStress (const FloatArrayF< 4 > &vF, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveFirstPKStressVector_StressControl.
virtual FloatArrayF< 1 > giveFirstPKStressVector_1d (const FloatArrayF< 1 > &vF, GaussPoint *gp, TimeStep *tStep) const
 Default implementation relies on giveFirstPKStressVector_StressControl.
Public Member Functions inherited from oofem::Material
 Material (int n, Domain *d)
virtual ~Material ()=default
 Destructor.
virtual bool isCharacteristicMtrxSymmetric (MatResponseMode rMode) const
virtual double giveCharacteristicValue (MatResponseMode type, GaussPoint *gp, TimeStep *tStep) const
 Returns characteristic value of the receiver.
virtual double give (int aProperty, GaussPoint *gp) const
virtual bool hasProperty (int aProperty, GaussPoint *gp) const
virtual void modifyProperty (int aProperty, double value, GaussPoint *gp)
double giveCastingTime () const
virtual bool isActivated (TimeStep *tStep) const
virtual bool hasCastingTimeSupport () const
void printYourself () override
 Prints receiver state on stdout. Useful for debugging.
virtual void saveIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp)
virtual void restoreIPContext (DataStream &stream, ContextMode mode, GaussPoint *gp)
int checkConsistency () override
virtual void restoreConsistency (GaussPoint *gp)
virtual int initMaterial (Element *element)
virtual MaterialStatusgiveStatus (GaussPoint *gp) const
virtual int packUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip)
virtual int unpackAndUpdateUnknowns (DataStream &buff, TimeStep *tStep, GaussPoint *ip)
virtual int estimatePackSize (DataStream &buff, GaussPoint *ip)
virtual double predictRelativeComputationalCost (GaussPoint *gp)
virtual double predictRelativeRedistributionCost (GaussPoint *gp)
virtual std::unique_ptr< MaterialStatusCreateStatus (GaussPoint *gp) const
virtual void initTempStatus (GaussPoint *gp) const
void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
Public Member Functions inherited from oofem::FEMComponent
 FEMComponent (int n, Domain *d)
virtual ~FEMComponent ()=default
 Virtual destructor.
virtual const char * giveInputRecordName () const =0
DomaingiveDomain () const
virtual void setDomain (Domain *d)
int giveNumber () const
void setNumber (int num)
virtual void updateLocalNumbering (EntityRenumberingFunctor &f)
virtual void initializeFrom (InputRecord &ir, int priority)
virtual void initializeFinish ()
virtual void postInitialize ()
 Performs post initialization steps. Called after all components are created and initialized.
virtual void printOutputAt (FILE *file, TimeStep *tStep)
virtual InterfacegiveInterface (InterfaceType t)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Static Public Member Functions

static int giveSymVI (int ind1, int ind2)
static int giveVI (int ind1, int ind2)

Static Public Attributes

static std::array< std::array< int, 3 >, 3 > vIindex
 Voigt index map.
static std::array< std::array< int, 3 >, 3 > svIndex
 Symmetric Voigt index map.

Protected Attributes

double referenceTemperature = 0.
 Reference temperature (temperature, when material has been built into structure).
MatResponseMode SCStiffMode = TangentStiffness
 stifness mode used in stress control
double SCRelTol = 1.e-3
 relative tolerance for stress control
double SCAbsTol = 1.e-12
 absolute stress tolerance for stress control
int SCMaxiter = 100000
 maximum iterations for stress-control
Protected Attributes inherited from oofem::Material
Dictionary propertyDictionary
double castingTime
int preCastingTimeMat
 Material existing before casting time - optional parameter, zero by default.
Protected Attributes inherited from oofem::FEMComponent
int number
 Component number.
Domaindomain
 Link to domain object, useful for communicating with other FEM components.

Methods associated with the Cauchy stress tensor.

Computes the Cauchy stress vector for given increment of deformation gradient and given integration point. The increment of deformation gradient is computed directly from displacement field at the given time step and it is computed wrt configuration which was reached in the last step. The stress independent parts (temperature, eigenstrains) are subtracted in constitutive driver. The service should use previously reached equilibrium history variables. Also it should update temporary history variables in status according to newly reached state. The temporary history variables are moved into equilibrium ones after global structure equilibrium has been reached by iteration process. The Cauchy stress vector is computed in Updated Lagrangian mode

Parameters
answerContains result.
gpIntegration point.
reducedFDeformation gradient in in reduced form.
tStepCurrent time step (most models are able to respond only when tStep is current time step).
class CrossSection
class StructuralCrossSection
class SimpleCrossSection
class LayeredCrossSection
static FloatMatrixF< 9, 9 > convert_dSdE_2_dPdF_3D (const FloatMatrixF< 6, 6 > &dSdE, const FloatArrayF< 6 > &S, const FloatArrayF< 9 > &F)
static FloatMatrixF< 5, 5 > convert_dSdE_2_dPdF_PlaneStrain (const FloatMatrixF< 4, 4 > &dSdE, const FloatArrayF< 4 > &S, const FloatArrayF< 5 > &F)
static FloatMatrixF< 4, 4 > convert_dSdE_2_dPdF_PlaneStress (const FloatMatrixF< 3, 3 > &dSdE, const FloatArrayF< 3 > &S, const FloatArrayF< 4 > &F)
static FloatMatrixF< 1, 1 > convert_dSdE_2_dPdF_1D (const FloatMatrixF< 1, 1 > &dSdE, const FloatArrayF< 1 > &S, const FloatArrayF< 1 > &F)
static void computePrincipalValues (FloatArray &answer, const FloatArray &s, stressStrainPrincMode mode)
 Common functions for convenience.
static FloatArrayF< 3 > computePrincipalValues (const FloatMatrixF< 3, 3 > &s)
static FloatArrayF< 3 > computePrincipalValues (double I1, double I2, double I3)
static void computePrincipalValDir (FloatArray &answer, FloatMatrix &dir, const FloatArray &s, stressStrainPrincMode mode)
static std::pair< FloatArrayF< 3 >, FloatMatrixF< 3, 3 > > computePrincipalValDir (const FloatMatrixF< 3, 3 > &s)
static FloatArrayF< 6 > computeDeviator (const FloatArrayF< 6 > &s)
static std::pair< FloatArrayF< 6 >, double > computeDeviatoricVolumetricSplit (const FloatArrayF< 6 > &s)
static FloatArrayF< 6 > computeDeviatoricVolumetricSum (const FloatArrayF< 6 > &dev, double mean)
static FloatArrayF< 6 > applyDeviatoricElasticCompliance (const FloatArrayF< 6 > &stress, double EModulus, double nu)
static FloatArrayF< 6 > applyDeviatoricElasticCompliance (const FloatArrayF< 6 > &stress, double GModulus)
static FloatArrayF< 6 > applyDeviatoricElasticStiffness (const FloatArrayF< 6 > &strain, double EModulus, double nu)
static FloatArrayF< 6 > applyDeviatoricElasticStiffness (const FloatArrayF< 6 > &strain, double GModulus)
static FloatArrayF< 6 > applyElasticStiffness (const FloatArrayF< 6 > &strain, double EModulus, double nu)
static FloatArrayF< 6 > applyElasticCompliance (const FloatArrayF< 6 > &stress, double EModulus, double nu)
static double computeStressNorm (const FloatArrayF< 6 > &stress)
static double computeFirstInvariant (const FloatArrayF< 6 > &s)
static double computeSecondStressInvariant (const FloatArrayF< 6 > &s)
static double computeThirdStressInvariant (const FloatArrayF< 6 > &s)
static double computeFirstCoordinate (const FloatArrayF< 6 > &s)
static double computeSecondCoordinate (const FloatArrayF< 6 > &s)
static double computeThirdCoordinate (const FloatArrayF< 6 > &s)
static int giveVoigtVectorMask (IntArray &answer, MaterialMode mmode)
static int giveVoigtSymVectorMask (IntArray &answer, MaterialMode mmode)
static void giveInvertedVoigtVectorMask (IntArray &answer, MaterialMode mmode)
static int giveSizeOfVoigtVector (MaterialMode mmode)
static int giveSizeOfVoigtSymVector (MaterialMode mmode)
static void giveFullVectorForm (FloatArray &answer, const FloatArray &strainVector, MaterialMode matMode)
 Converts the reduced symmetric Voigt vector (2nd order tensor) to full form.
static void giveFullVectorFormF (FloatArray &answer, const FloatArray &strainVector, MaterialMode matMode)
 Converts the reduced deformation gradient Voigt vector (2nd order tensor).
static void giveFullSymVectorForm (FloatArray &answer, const FloatArray &vec, MaterialMode matMode)
 Converts the reduced unsymmetric Voigt vector (2nd order tensor) to full form.
static void giveReducedVectorForm (FloatArray &answer, const FloatArray &vec, MaterialMode matMode)
 Converts the full symmetric Voigt vector (2nd order tensor) to reduced form.
static void giveReducedSymVectorForm (FloatArray &answer, const FloatArray &vec, MaterialMode matMode)
 Converts the full unsymmetric Voigt vector (2nd order tensor) to reduced form.
static void giveFullSymMatrixForm (FloatMatrix &answer, const FloatMatrix &red, MaterialMode matMode)
 Converts the full unsymmetric Voigt matrix (4th order tensor) to reduced form.
static void giveReducedMatrixForm (FloatMatrix &answer, const FloatMatrix &full, MaterialMode matMode)
 Converts the full symmetric Voigt matrix (4th order tensor) to reduced form.
static void giveReducedSymMatrixForm (FloatMatrix &answer, const FloatMatrix &full, MaterialMode matMode)
 Converts the full unsymmetric Voigt matrix (4th order tensor) to reduced form.
static FloatArrayF< 6 > transformStrainVectorTo (const FloatMatrixF< 3, 3 > &base, const FloatArrayF< 6 > &strain, bool transpose=false)
static FloatArrayF< 6 > transformStressVectorTo (const FloatMatrixF< 3, 3 > &base, const FloatArrayF< 6 > &stress, bool transpose=false)
static double computeVonMisesStress (const FloatArray &currentStress)
static double computeVonMisesStress_3D (const FloatArrayF< 6 > &stress)
static double computeVonMisesStress_PlaneStress (const FloatArrayF< 3 > &stress)
static FloatMatrixF< 6, 6 > giveStrainVectorTranformationMtrx (const FloatMatrixF< 3, 3 > &base, bool transpose=false)
static FloatMatrixF< 3, 3 > give2DStrainVectorTranformationMtrx (const FloatMatrixF< 2, 2 > &base, bool transpose=false)
static FloatMatrixF< 6, 6 > giveStressVectorTranformationMtrx (const FloatMatrixF< 3, 3 > &base, bool transpose=false)
static FloatMatrixF< 3, 3 > givePlaneStressVectorTranformationMtrx (const FloatMatrixF< 2, 2 > &base, bool transpose=false)
static void sortPrincDirAndValCloseTo (FloatArray &pVal, FloatMatrix &pDir, const FloatMatrix &toPDir)
virtual void giveCauchyStressVector_3d (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep)
virtual void giveCauchyStressVector_PlaneStrain (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep)
virtual void giveCauchyStressVector_PlaneStress (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep)
virtual void giveCauchyStressVector_1d (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep)
virtual void giveEshelbyStressVector_PlaneStrain (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep)
virtual FloatArrayF< 6 > giveThermalDilatationVector (GaussPoint *gp, TimeStep *tStep) const
double giveReferenceTemperature ()
virtual FloatArray computeStressIndependentStrainVector (GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const
FloatArrayF< 6 > computeStressIndependentStrainVector_3d (GaussPoint *gp, TimeStep *tStep, ValueModeType mode) const
virtual FloatMatrixF< 6, 6 > give3dMaterialStiffnessMatrix (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const
virtual void giveStiffnessMatrix_dPdF (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
virtual FloatMatrixF< 9, 9 > give3dMaterialStiffnessMatrix_dPdF (MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const
virtual void give3dMaterialStiffnessMatrix_dCde (FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
void giveStressDependentPartOfStrainVector (FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrainVector, TimeStep *tStep, ValueModeType mode) const
int setIPValue (const FloatArray &value, GaussPoint *gp, InternalStateType type) override
int giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
virtual FloatMatrixF< 3, 3 > givePlaneStressStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 4, 4 > givePlaneStressStiffnessMatrix_dPdF (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual void givePlaneStressStiffMtrx_dCde (FloatMatrix &answer, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
virtual FloatMatrixF< 4, 4 > givePlaneStrainStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 5, 5 > givePlaneStrainStiffnessMatrix_dPdF (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual void givePlaneStrainStiffMtrx_dCde (FloatMatrix &answer, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
virtual FloatMatrixF< 1, 1 > give1dStressStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 1, 1 > give1dStressStiffnessMatrix_dPdF (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual void give1dStressStiffMtrx_dCde (FloatMatrix &answer, MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep)
virtual FloatMatrixF< 2, 2 > give2dBeamLayerStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 5, 5 > givePlateLayerStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 3, 3 > giveFiberStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 3, 3 > give2dPlateSubSoilStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const
virtual FloatMatrixF< 6, 6 > give3dBeamSubSoilStiffMtrx (MatResponseMode mmode, GaussPoint *gp, TimeStep *tStep) const

Detailed Description

Todo
Update documentation

Abstract base class for all "structural" constitutive models. It declares common services provided by all structural material models. The implementation of these services is partly left on derived classes, which will implement constitutive model dependent part. Some general purpose services are implemented on this level. For details, how to store material model related history variables in integration points, see base class Material documentation.

The constitutive model can in general support several material modes (plane stress, plane strain ,... modes). Its capabilities can be examined using hasMaterialModeCapability service. It is generally assumed, that results obtained from constitutive model services are according to valid material mode. This mode is determined from integration point, which is compulsory parameter of all material services. Structural material introduces several stress/strain modes. Full and reduced formats of stress/strain vectors are introduced for convenience. The full format includes all components, even if they are zero due to stress/strain mode nature, but in the reduced format, only generally nonzero components are stored. (full format must used only if absolutely necessary, to avoid wasting of space. It is used by output routines to print results in general form). Methods for converting vectors between full and reduced format are provided.

If in particular mode particular stress component is zero, the corresponding strain is not computed and not stored in reduced vector, and in full vector there is zero value on corresponding position. On the other hand, if some zero strain is imposed, On the other hand, if zero strain component is imposed this condition must be taken into account in geometrical relations (at element level), and corresponding component are included stress/strain reduced vectors.

Structural material introduces following basic stress/strain modes

  • 3d state - all components of general stress/strain vector are generally nonzero. General 3d strain vector has following components {sig_xx, sig_yy, sig_zz, tau_yz, tau_xz, tau_xy}
  • plane stress - sig_zz = tau_yz = tau_xz = 0.
  • plane strain - eps_z = gamma_xz = gamma_yz = 0. Note: as already described, if zero strain component is imposed (Plane strain, ..) this condition must be taken into account in geometrical relations, and corresponding component has to be included in reduced vector.
  • 1d uniaxial state - sigma_y = sigma_z = tau_yz = tau_zx = tau_xy = 0.
  • 2d beam layer - sigma_y=sigma_z=tau_zy=tau_xy = 0.
  • 3d shell layer, 2d plate layer - sigma_z = 0.

Derived classes can of course extend those modes. Generally speaking, there are following major tasks, covered by declared services.

  • Computing real/second PK stress vector (tensor) at integration point for given strain increment and updating its state (still temporary state, after overall equilibrium is reached).
  • Updating its state (final state), when equilibrium has been reached.
  • Returning its material stiffness (and/or flexibility) matrices for given material mode.
  • Storing/restoring its context to stream.
  • Returning its material properties.

Structural material services should not be called directly by elements. Instead, they always should pass their requests to corresponding cross section model. Cross section performs all necessary integration over its volume and invokes material model services.

Author
almost everyone
Jim Brouzoulis
Mikael Öhman

Definition at line 120 of file structuralmaterial.h.

Constructor & Destructor Documentation

◆ StructuralMaterial()

oofem::StructuralMaterial::StructuralMaterial ( int n,
Domain * d )

Constructor. Creates material with given number, belonging to given domain.

Parameters
nMaterial number.
dDomain to which new material will belong.

Definition at line 66 of file structuralmaterial.C.

References oofem::Material::Material().

Referenced by oofem::AbaqusUserMaterial::AbaqusUserMaterial(), oofem::AnisotropicDamageMaterial::AnisotropicDamageMaterial(), oofem::BlatzKoMaterial::BlatzKoMaterial(), oofem::CompoDamageMat::CompoDamageMat(), oofem::ConcreteDPM::ConcreteDPM(), oofem::ConcreteDPM2::ConcreteDPM2(), oofem::DeformationTheoryMaterial::DeformationTheoryMaterial(), oofem::DruckerPragerPlasticitySM::DruckerPragerPlasticitySM(), oofem::DustMaterial::DustMaterial(), oofem::FCMMaterial::FCMMaterial(), oofem::RheoChainMaterial::give1dStressStiffMtrx(), oofem::RheoChainMaterial::give3dMaterialStiffnessMatrix(), oofem::LargeStrainMasterMaterial::give3dMaterialStiffnessMatrix_dPdF(), oofem::PerfectlyPlasticMaterial::giveEffectiveMaterialStiffnessMatrix(), oofem::RCM2Material::giveEffectiveMaterialStiffnessMatrix(), oofem::LargeStrainMasterMaterial::giveFirstPKStressVector_3d(), oofem::LargeStrainMasterMaterial::giveIPValue(), oofem::RCM2Material::giveNormalElasticStiffnessMatrix(), oofem::RheoChainMaterial::givePlaneStrainStiffMtrx(), oofem::RheoChainMaterial::givePlaneStressStiffMtrx(), oofem::RheoChainMaterial::giveRealStressVector(), oofem::HyperelasticMaterial1d::HyperelasticMaterial1d(), oofem::IsotropicAsymmetric1DMaterial::IsotropicAsymmetric1DMaterial(), oofem::IsotropicAsymmetric1DMaterial::IsotropicAsymmetric1DMaterial(), oofem::IsotropicDamageMaterial::IsotropicDamageMaterial(), oofem::LargeStrainMasterMaterial::LargeStrainMasterMaterial(), oofem::LatticeStructuralMaterial::LatticeStructuralMaterial(), oofem::LinearElasticMaterial::LinearElasticMaterial(), oofem::MFrontUserMaterial::MFrontUserMaterial(), oofem::MicroMaterial::MicroMaterial(), oofem::MicroplaneMaterial::MicroplaneMaterial(), oofem::MisesMat::MisesMat(), oofem::MooneyRivlinCompressibleMaterial::MooneyRivlinCompressibleMaterial(), oofem::MPlasticMaterial::MPlasticMaterial(), oofem::MPlasticMaterial2::MPlasticMaterial2(), oofem::OgdenCompressibleMaterial::OgdenCompressibleMaterial(), oofem::PerfectlyPlasticMaterial::PerfectlyPlasticMaterial(), oofem::PlasticMaterial::PlasticMaterial(), oofem::RankineMat::RankineMat(), oofem::RCM2Material::RCM2Material(), oofem::RheoChainMaterial::RheoChainMaterial(), oofem::SimoPisterMaterial::SimoPisterMaterial(), oofem::SimpleVitrificationMaterial::SimpleVitrificationMaterial(), oofem::SteelRelaxMat::SteelRelaxMat(), oofem::StructuralFE2Material::StructuralFE2Material(), oofem::StructuralMaterialSettable::StructuralMaterialSettable(), oofem::StructuralPythonMaterial::StructuralPythonMaterial(), oofem::TrabBone3D::TrabBone3D(), oofem::TrabBoneEmbed::TrabBoneEmbed(), oofem::TrabBoneMaterial::TrabBoneMaterial(), oofem::TutorialMaterial::TutorialMaterial(), oofem::WinklerMaterial::WinklerMaterial(), and oofem::WinklerPasternakMaterial::WinklerPasternakMaterial().

Member Function Documentation

◆ applyDeviatoricElasticCompliance() [1/2]

FloatArrayF< 6 > oofem::StructuralMaterial::applyDeviatoricElasticCompliance ( const FloatArrayF< 6 > & stress,
double EModulus,
double nu )
static

◆ applyDeviatoricElasticCompliance() [2/2]

FloatArrayF< 6 > oofem::StructuralMaterial::applyDeviatoricElasticCompliance ( const FloatArrayF< 6 > & stress,
double GModulus )
static

Definition at line 1532 of file structuralmaterial.C.

◆ applyDeviatoricElasticStiffness() [1/2]

FloatArrayF< 6 > oofem::StructuralMaterial::applyDeviatoricElasticStiffness ( const FloatArrayF< 6 > & strain,
double EModulus,
double nu )
static

◆ applyDeviatoricElasticStiffness() [2/2]

FloatArrayF< 6 > oofem::StructuralMaterial::applyDeviatoricElasticStiffness ( const FloatArrayF< 6 > & strain,
double GModulus )
static

Definition at line 1552 of file structuralmaterial.C.

◆ applyElasticCompliance()

FloatArrayF< 6 > oofem::StructuralMaterial::applyElasticCompliance ( const FloatArrayF< 6 > & stress,
double EModulus,
double nu )
static

Definition at line 1580 of file structuralmaterial.C.

Referenced by oofem::ConcreteDPM::performPlasticityReturn().

◆ applyElasticStiffness()

FloatArrayF< 6 > oofem::StructuralMaterial::applyElasticStiffness ( const FloatArrayF< 6 > & strain,
double EModulus,
double nu )
static

◆ computeDeviator()

◆ computeDeviatoricVolumetricSplit()

◆ computeDeviatoricVolumetricSum()

◆ computeFirstCoordinate()

double oofem::StructuralMaterial::computeFirstCoordinate ( const FloatArrayF< 6 > & s)
static

Definition at line 1624 of file structuralmaterial.C.

References computeFirstInvariant().

◆ computeFirstInvariant()

double oofem::StructuralMaterial::computeFirstInvariant ( const FloatArrayF< 6 > & s)
static

Definition at line 1600 of file structuralmaterial.C.

Referenced by computeFirstCoordinate().

◆ computePrincipalValDir() [1/2]

std::pair< FloatArrayF< 3 >, FloatMatrixF< 3, 3 > > oofem::StructuralMaterial::computePrincipalValDir ( const FloatMatrixF< 3, 3 > & s)
static

Computes principal values and directions of stress or strain matrix (must be symmetric).

Parameters
dirPrincipal directions (stored column wise).
sStress/strain matrix.
Returns
Computed principal values.

Definition at line 1317 of file structuralmaterial.C.

References oofem::eig().

◆ computePrincipalValDir() [2/2]

void oofem::StructuralMaterial::computePrincipalValDir ( FloatArray & answer,
FloatMatrix & dir,
const FloatArray & s,
stressStrainPrincMode mode )
static

Computes principal values and directions of stress or strain vector.

Parameters
answerComputed principal values.
dirPrincipal directions (stored column wise).
sStress/strain vector.
modeStress strain principal mode.

Definition at line 1337 of file structuralmaterial.C.

References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatArray::giveSize(), oofem::FloatMatrix::jaco_(), OOFEM_SERROR, oofem::principal_deviatoricstress, oofem::principal_strain, oofem::principal_stress, oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), oofem::FloatArray::zero(), and oofem::FloatMatrix::zero().

Referenced by oofem::FCMMaterial::checkStrengthCriterion(), oofem::ConcreteDPM2::computeAlpha(), oofem::ConcreteDPM2::computeDCosThetaDStress(), oofem::ConcreteDPM::computeDCosThetaDStress(), oofem::ConcreteDPM2::computeDDCosThetaDDStress(), oofem::IsotropicDamageMaterial1::computeEta(), oofem::DruckerPragerCutMat::computeStressGradientVector(), oofem::RankinePlasticMaterial::computeStressGradientVector(), giveIPValue(), oofem::MDM::giveRawMDMParameters(), oofem::FCMMaterial::giveRealStressVector(), oofem::RCM2Material::giveRealStressVector(), oofem::RCSDEMaterial::giveRealStressVector(), oofem::RCSDMaterial::giveRealStressVector(), oofem::RCSDNLMaterial::giveRealStressVector(), oofem::Concrete2::giveRealStressVector_PlateLayer(), oofem::IDNLMaterial::giveRemoteNonlocalStiffnessContribution(), oofem::ConcreteDPM2::initDamaged(), oofem::ConcreteDPM::initDamaged(), oofem::IsotropicDamageMaterial1::initDamaged(), oofem::MazarsMaterial::initDamaged(), oofem::NCPrincipalStrain::nucleateEnrichmentItems(), oofem::NCPrincipalStress::nucleateEnrichmentItems(), oofem::ConcreteDPM2::performRegularReturn(), oofem::ConcreteDPM::performRegularReturn(), and oofem::PLPrincipalStrain::propagateInterface().

◆ computePrincipalValues() [1/3]

FloatArrayF< 3 > oofem::StructuralMaterial::computePrincipalValues ( const FloatMatrixF< 3, 3 > & s)
static

Compute principal values of a stress/strain matrix. Matrix must be symmetric.

Parameters
answerComputed principal values.
sSymmetric matrix.
Returns
Sorted eigenvalues.

Definition at line 1266 of file structuralmaterial.C.

References computePrincipalValues().

◆ computePrincipalValues() [2/3]

FloatArrayF< 3 > oofem::StructuralMaterial::computePrincipalValues ( double I1,
double I2,
double I3 )
static

Compute principal values from invariants.

Parameters
I1First invariant
I2Second invariant
I3Third invariant
Returns
Sorted list of principal values.

Definition at line 1279 of file structuralmaterial.C.

References oofem::clamp(), CUBIC_ZERO, and M_PI.

◆ computePrincipalValues() [3/3]

void oofem::StructuralMaterial::computePrincipalValues ( FloatArray & answer,
const FloatArray & s,
stressStrainPrincMode mode )
static

◆ computeSecondCoordinate()

◆ computeSecondStressInvariant()

◆ computeStressIndependentStrainVector()

FloatArray oofem::StructuralMaterial::computeStressIndependentStrainVector ( GaussPoint * gp,
TimeStep * tStep,
ValueModeType mode ) const
virtual

Computes reduced strain vector in given integration point, generated by internal processes in material, which are independent on loading in particular integration point. Default implementation takes into account temperature induced strains and eigenstrains.

Parameters
answerReturned strain vector.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).
modeDetermines response mode (Total or incremental).
Todo
Hack for loose gausspoints. We shouldn't ask for "gp->giveElement()". FIXME

Reimplemented in oofem::ConcreteFCMViscoElastic, and oofem::RheoChainMaterial.

Definition at line 2164 of file structuralmaterial.C.

References oofem::FloatArray::add(), oofem::FloatArray::at(), oofem::Element::computeGlobalCoordinates(), oofem::StructuralElement::computeResultingIPEigenstrainAt(), oofem::StructuralElement::computeResultingIPTemperatureAt(), oofem::FEMComponent::domain, oofem::GaussPoint::giveElement(), oofem::FieldManager::giveField(), oofem::GaussPoint::giveIntegrationRule(), oofem::TimeStep::giveIntrinsicTime(), oofem::GaussPoint::giveMaterialMode(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::FEMComponent::giveNumber(), giveReducedSymVectorForm(), oofem::FloatArray::giveSize(), giveSizeOfVoigtSymVector(), giveThermalDilatationVector(), oofem::FloatArray::isEmpty(), oofem::FloatArray::isNotEmpty(), OOFEM_ERROR, and referenceTemperature.

Referenced by oofem::LatticeBondPlasticity::giveLatticeStress3d(), oofem::LatticeDamage::giveLatticeStress3d(), oofem::LatticeDamageViscoelastic::giveLatticeStress3d(), oofem::LatticeLinearElastic::giveLatticeStress3d(), oofem::LatticePlasticityDamage::giveLatticeStress3d(), oofem::LatticePlasticityDamageViscoelastic::giveLatticeStress3d(), oofem::LatticeViscoelastic::giveLatticeStress3d(), giveStressDependentPartOfStrainVector(), and oofem::LinearizedDilationForceAssembler::vectorFromElement().

◆ computeStressIndependentStrainVector_3d()

◆ computeStressNorm()

◆ computeThirdCoordinate()

◆ computeThirdStressInvariant()

double oofem::StructuralMaterial::computeThirdStressInvariant ( const FloatArrayF< 6 > & s)
static

Definition at line 1613 of file structuralmaterial.C.

Referenced by computeThirdCoordinate().

◆ computeVonMisesStress()

double oofem::StructuralMaterial::computeVonMisesStress ( const FloatArray & currentStress)
static

Computes equivalent of von Mises stress. Returns 0 if six stress components do not exist on the material.

Parameters
currentStressStress vector given by 6 components.

Definition at line 1663 of file structuralmaterial.C.

References oofem::FloatArray::at(), computeVonMisesStress_3D(), computeVonMisesStress_PlaneStress(), and oofem::FloatArray::giveSize().

Referenced by giveIPValue().

◆ computeVonMisesStress_3D()

double oofem::StructuralMaterial::computeVonMisesStress_3D ( const FloatArrayF< 6 > & stress)
static

Definition at line 1693 of file structuralmaterial.C.

References oofem::FloatArrayF< N >::at().

Referenced by computeVonMisesStress(), and giveIPValue().

◆ computeVonMisesStress_PlaneStress()

double oofem::StructuralMaterial::computeVonMisesStress_PlaneStress ( const FloatArrayF< 3 > & stress)
static

Definition at line 1685 of file structuralmaterial.C.

References oofem::FloatArrayF< N >::at().

Referenced by computeVonMisesStress().

◆ convert_dSdE_2_dPdF_1D()

FloatMatrixF< 1, 1 > oofem::StructuralMaterial::convert_dSdE_2_dPdF_1D ( const FloatMatrixF< 1, 1 > & dSdE,
const FloatArrayF< 1 > & S,
const FloatArrayF< 1 > & F )
static
Todo
is this really correct??

Definition at line 605 of file structuralmaterial.C.

References S.

◆ convert_dSdE_2_dPdF_3D()

FloatMatrixF< 9, 9 > oofem::StructuralMaterial::convert_dSdE_2_dPdF_3D ( const FloatMatrixF< 6, 6 > & dSdE,
const FloatArrayF< 6 > & S,
const FloatArrayF< 9 > & F )
static

◆ convert_dSdE_2_dPdF_PlaneStrain()

FloatMatrixF< 5, 5 > oofem::StructuralMaterial::convert_dSdE_2_dPdF_PlaneStrain ( const FloatMatrixF< 4, 4 > & dSdE,
const FloatArrayF< 4 > & S,
const FloatArrayF< 5 > & F )
static

Definition at line 548 of file structuralmaterial.C.

References S.

◆ convert_dSdE_2_dPdF_PlaneStress()

FloatMatrixF< 4, 4 > oofem::StructuralMaterial::convert_dSdE_2_dPdF_PlaneStress ( const FloatMatrixF< 3, 3 > & dSdE,
const FloatArrayF< 3 > & S,
const FloatArrayF< 4 > & F )
static

Definition at line 581 of file structuralmaterial.C.

References S.

◆ give1dStressStiffMtrx()

FloatMatrixF< 1, 1 > oofem::StructuralMaterial::give1dStressStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing 1d stiffness matrix of receiver. Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 1d stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).
Returns
Stiffness matrix.

Reimplemented in oofem::AnisotropicDamageMaterial, oofem::IsotropicAsymmetric1DMaterial, oofem::IsotropicDamageMaterial, oofem::IsotropicLinearElasticMaterial, oofem::MisesMat, oofem::MisesMatGrad, oofem::MisesMatNl, oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::MPSDamMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, oofem::RankineMat, oofem::RCM2Material, oofem::RheoChainMaterial, oofem::SteelRelaxMat, and oofem::TrabBoneMaterial.

Definition at line 1050 of file structuralmaterial.C.

References give3dMaterialStiffnessMatrix(), and oofem::inv().

Referenced by oofem::SimpleCrossSection::give2dBeamStiffMtrx(), oofem::SimpleCrossSection::give3dBeamStiffMtrx(), oofem::LinearElasticMaterial::giveRealStressVector_1d(), giveStiffnessMatrix(), and oofem::SimpleCrossSection::giveStiffnessMatrix_1d().

◆ give1dStressStiffMtrx_dCde()

void oofem::StructuralMaterial::give1dStressStiffMtrx_dCde ( FloatMatrix & answer,
MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep )
virtual

Definition at line 763 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveStiffnessMatrix_dCde().

◆ give1dStressStiffnessMatrix_dPdF()

FloatMatrixF< 1, 1 > oofem::StructuralMaterial::give1dStressStiffnessMatrix_dPdF ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

◆ give2dBeamLayerStiffMtrx()

FloatMatrixF< 2, 2 > oofem::StructuralMaterial::give2dBeamLayerStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing 2d beam layer stiffness matrix of receiver. Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 2d beam layer stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters
answerStiffness matrix.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, and oofem::RCM2Material.

Definition at line 1063 of file structuralmaterial.C.

References give3dMaterialStiffnessMatrix(), and oofem::inv().

Referenced by oofem::LayeredCrossSection::give2dBeamStiffMtrx(), oofem::LinearElasticMaterial::giveRealStressVector_2dBeamLayer(), and giveStiffnessMatrix().

◆ give2dPlateSubSoilStiffMtrx()

FloatMatrixF< 3, 3 > oofem::StructuralMaterial::give2dPlateSubSoilStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing stiffness matrix of plate subsoil model. Default method is emty; the implementation should be provided by the particular model.

Parameters
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).
Returns
Stiffness matrix.

Reimplemented in oofem::WinklerMaterial, and oofem::WinklerPasternakMaterial.

Definition at line 1095 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::give2dPlateSubSoilStiffMtrx().

◆ give2DStrainVectorTranformationMtrx()

FloatMatrixF< 3, 3 > oofem::StructuralMaterial::give2DStrainVectorTranformationMtrx ( const FloatMatrixF< 2, 2 > & base,
bool transpose = false )
static

Computes 2d strain vector transformation matrix from standard vector transformation matrix.

Parameters
baseA (2,2) matrix, where on each column are stored unit direction vectors of local coordinate axes to which we do transformation.
transposeDetermines if we transpose matrix before transforming.
Returns
Transformation matrix for strain vector.

Definition at line 1769 of file structuralmaterial.C.

References oofem::FloatMatrixF< N, M >::at(), and oofem::transpose().

Referenced by oofem::FCMMaterial::initializeCrack().

◆ give3dBeamSubSoilStiffMtrx()

FloatMatrixF< 6, 6 > oofem::StructuralMaterial::give3dBeamSubSoilStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing stiffness matrix of beam3d subsoil model. Default method is emty; the implementation should be provided by the particular model.

Parameters
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).
Returns
Stiffness matrix.

Reimplemented in oofem::WinklerMaterial.

Definition at line 1101 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::Beam3d::computeSubSoilStiffnessMatrix(), and oofem::StructuralCrossSection::give3dBeamSubSoilStiffMtrx().

◆ give3dMaterialStiffnessMatrix()

virtual FloatMatrixF< 6, 6 > oofem::StructuralMaterial::give3dMaterialStiffnessMatrix ( MatResponseMode mode,
GaussPoint * gp,
TimeStep * tStep ) const
inlinevirtual

Computes full 3d material stiffness matrix at given integration point, time, respecting load history in integration point.

Parameters
answerComputed results.
modeMaterial response mode.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::AbaqusUserMaterial, oofem::AnisotropicDamageMaterial, oofem::BlatzKoMaterial, oofem::CompoDamageMat, oofem::ConcreteDPM2, oofem::ConcreteDPM, oofem::DruckerPragerPlasticitySM, oofem::DustMaterial, oofem::FCMMaterial, oofem::HyperelasticMaterial1d, oofem::IsotropicDamageMaterial, oofem::LinearElasticMaterial, oofem::M1Material, oofem::MDM, oofem::MFrontUserMaterial, oofem::MicroplaneMaterial, oofem::MisesMat, oofem::MisesMatGrad, oofem::MooneyRivlinCompressibleMaterial, oofem::MooneyRivlinCompressibleMaterial, oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::MPSDamMaterial, oofem::OgdenCompressibleMaterial, oofem::OrthotropicLinearElasticMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, oofem::RCM2Material, oofem::RheoChainMaterial, oofem::SimoPisterMaterial, oofem::SimpleVitrificationMaterial, oofem::StructuralFE2Material, oofem::StructuralMaterialSettable, oofem::TrabBone3D, oofem::TrabBoneEmbed, oofem::TrabBoneGrad3D, oofem::TrabBoneNL3D, and oofem::TutorialMaterial.

Definition at line 384 of file structuralmaterial.h.

References OOFEM_ERROR.

Referenced by oofem::XfemStructuralElementInterface::computeCohesiveTangent(), give1dStressStiffMtrx(), give1dStressStiffnessMatrix_dPdF(), give2dBeamLayerStiffMtrx(), oofem::LayeredCrossSection::give3dDegeneratedShellStiffMtrx(), oofem::SimpleCrossSection::give3dDegeneratedShellStiffMtrx(), give3dMaterialStiffnessMatrix_dPdF(), giveFiberStiffMtrx(), givePlaneStrainStiffMtrx(), givePlaneStressStiffMtrx(), givePlateLayerStiffMtrx(), giveRealStressVector_ShellStressControl(), giveRealStressVector_StressControl(), giveStiffnessMatrix(), oofem::SimpleCrossSection::giveStiffnessMatrix_3d(), and oofem::StructuralMaterialEvaluator::solveYourself().

◆ give3dMaterialStiffnessMatrix_dCde()

void oofem::StructuralMaterial::give3dMaterialStiffnessMatrix_dCde ( FloatMatrix & answer,
MatResponseMode mode,
GaussPoint * gp,
TimeStep * tStep )
virtual
Todo
what should be default implementaiton?

Definition at line 735 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveStiffnessMatrix_dCde().

◆ give3dMaterialStiffnessMatrix_dPdF()

◆ giveCauchyStressVector_1d()

virtual void oofem::StructuralMaterial::giveCauchyStressVector_1d ( FloatArray & answer,
GaussPoint * gp,
const FloatArray & reducedF,
TimeStep * tStep )
inlinevirtual

Definition at line 268 of file structuralmaterial.h.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveCauchyStresses().

◆ giveCauchyStressVector_3d()

virtual void oofem::StructuralMaterial::giveCauchyStressVector_3d ( FloatArray & answer,
GaussPoint * gp,
const FloatArray & reducedF,
TimeStep * tStep )
inlinevirtual

Definition at line 262 of file structuralmaterial.h.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveCauchyStresses().

◆ giveCauchyStressVector_PlaneStrain()

virtual void oofem::StructuralMaterial::giveCauchyStressVector_PlaneStrain ( FloatArray & answer,
GaussPoint * gp,
const FloatArray & reducedF,
TimeStep * tStep )
inlinevirtual

Definition at line 264 of file structuralmaterial.h.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveCauchyStresses().

◆ giveCauchyStressVector_PlaneStress()

virtual void oofem::StructuralMaterial::giveCauchyStressVector_PlaneStress ( FloatArray & answer,
GaussPoint * gp,
const FloatArray & reducedF,
TimeStep * tStep )
inlinevirtual

Definition at line 266 of file structuralmaterial.h.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveCauchyStresses().

◆ giveCharacteristicMatrix()

void oofem::StructuralMaterial::giveCharacteristicMatrix ( FloatMatrix & answer,
MatResponseMode type,
GaussPoint * gp,
TimeStep * tStep ) const
overridevirtual

Returns characteristic matrix of the receiver.

Reimplemented from oofem::Material.

Definition at line 80 of file structuralmaterial.C.

References giveStiffnessMatrix(), and OOFEM_ERROR.

◆ giveCharacteristicVector()

void oofem::StructuralMaterial::giveCharacteristicVector ( FloatArray & answer,
FloatArray & flux,
MatResponseMode type,
GaussPoint * gp,
TimeStep * tStep ) const
overridevirtual

Returns characteristic vector of the receiver.

Reimplemented from oofem::Material.

Definition at line 90 of file structuralmaterial.C.

References giveRealStressVector(), and OOFEM_ERROR.

◆ giveClassName()

◆ giveEshelbyStressVector_PlaneStrain()

void oofem::StructuralMaterial::giveEshelbyStressVector_PlaneStrain ( FloatArray & answer,
GaussPoint * gp,
const FloatArray & reducedF,
TimeStep * tStep )
virtual

Prototype for computation of Eshelby stress. No default implementation is provided.

Reimplemented in oofem::LinearElasticMaterial.

Definition at line 616 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveEshelbyStresses().

◆ giveFiberStiffMtrx()

FloatMatrixF< 3, 3 > oofem::StructuralMaterial::giveFiberStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing 1d fiber stiffness matrix of receiver. Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 1d fiber stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters
answerStiffness matrix.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::MPlasticMaterial2, oofem::MPlasticMaterial, and oofem::PlasticMaterial.

Definition at line 1084 of file structuralmaterial.C.

References give3dMaterialStiffnessMatrix(), and oofem::inv().

Referenced by oofem::FiberedCrossSection::give3dBeamStiffMtrx(), oofem::LinearElasticMaterial::giveRealStressVector_Fiber(), and giveStiffnessMatrix().

◆ giveFirstPKStressVector_1d()

FloatArrayF< 1 > oofem::StructuralMaterial::giveFirstPKStressVector_1d ( const FloatArrayF< 1 > & vF,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation relies on giveFirstPKStressVector_StressControl.

Reimplemented in oofem::HyperelasticMaterial1d.

Definition at line 422 of file structuralmaterial.C.

References giveRealStressVector_StressControl(), and giveVoigtVectorMask().

Referenced by oofem::SimpleCrossSection::giveFirstPKStress_1d().

◆ giveFirstPKStressVector_3d()

◆ giveFirstPKStressVector_PlaneStrain()

FloatArrayF< 5 > oofem::StructuralMaterial::giveFirstPKStressVector_PlaneStrain ( const FloatArrayF< 5 > & vF,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation relies on giveFirstPKStressVector_3d.

Definition at line 355 of file structuralmaterial.C.

References oofem::assemble(), and giveFirstPKStressVector_3d().

Referenced by oofem::SimpleCrossSection::giveFirstPKStress_PlaneStrain().

◆ giveFirstPKStressVector_PlaneStress()

FloatArrayF< 4 > oofem::StructuralMaterial::giveFirstPKStressVector_PlaneStress ( const FloatArrayF< 4 > & vF,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation relies on giveFirstPKStressVector_StressControl.

Definition at line 413 of file structuralmaterial.C.

References giveRealStressVector_StressControl(), and giveVoigtVectorMask().

Referenced by oofem::SimpleCrossSection::giveFirstPKStress_PlaneStress().

◆ giveFirstPKStressVector_StressControl()

◆ giveFullSymMatrixForm()

void oofem::StructuralMaterial::giveFullSymMatrixForm ( FloatMatrix & answer,
const FloatMatrix & red,
MaterialMode matMode )
static

◆ giveFullSymVectorForm()

void oofem::StructuralMaterial::giveFullSymVectorForm ( FloatArray & answer,
const FloatArray & vec,
MaterialMode matMode )
static

◆ giveFullVectorForm()

void oofem::StructuralMaterial::giveFullVectorForm ( FloatArray & answer,
const FloatArray & strainVector,
MaterialMode matMode )
static

Converts the reduced symmetric Voigt vector (2nd order tensor) to full form.

Definition at line 2357 of file structuralmaterial.C.

References oofem::FloatArray::assemble(), oofem::FloatArray::giveSize(), giveVoigtVectorMask(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().

◆ giveFullVectorFormF()

void oofem::StructuralMaterial::giveFullVectorFormF ( FloatArray & answer,
const FloatArray & strainVector,
MaterialMode matMode )
static

Converts the reduced deformation gradient Voigt vector (2nd order tensor).

Definition at line 2372 of file structuralmaterial.C.

References oofem::FloatArray::at(), oofem::IntArray::at(), oofem::FloatArray::giveSize(), oofem::IntArray::giveSize(), giveVoigtVectorMask(), and oofem::FloatArray::resize().

◆ giveInputRecord()

◆ giveInvertedVoigtVectorMask()

void oofem::StructuralMaterial::giveInvertedVoigtVectorMask ( IntArray & answer,
MaterialMode mmode )
static

Gives the inverted version of giveVoigtVectorMask.

Deprecated
This will eventually be removed. The normal mapping given in giveVoigtVectorMask can be used instead.

Definition at line 807 of file structuralmaterial.C.

References oofem::IntArray::at(), oofem::IntArray::giveSize(), giveVoigtSymVectorMask(), oofem::IntArray::resize(), and oofem::IntArray::zero().

◆ giveIPValue()

int oofem::StructuralMaterial::giveIPValue ( FloatArray & answer,
GaussPoint * gp,
InternalStateType type,
TimeStep * tStep )
overridevirtual

Returns the integration point corresponding value in Reduced form.

Parameters
answerContain corresponding ip value, zero sized if not available.
gpIntegration point to which the value refers.
typeDetermines the type of internal variable.
tStepDetermines the time step.
Returns
Nonzero if the assignment can be done, zero if this type of variable is not supported.
Todo
What about the stress meassure in large deformations here? The internal state type should specify "Cauchy" or something.
Todo
Fill in correct full form values here! This just adds zeros!
Todo
Fill in correct full form values here! This just adds zeros!
Todo
Fill in correct full form values here! This just adds zeros!
Todo
Fill in correct full form values here! This just adds zeros!
Todo
Fill in correct full form values here! This just adds zeros!
Todo
Fill in correct full form values here! This just adds zeros!
Todo
Fill in correct full form values here! This just adds zeros!
Todo
Fill in correct full form values here! This just adds zeros!

Reimplemented from oofem::Material.

Reimplemented in oofem::StructuralPythonMaterial, oofem::TrabBone3D, oofem::TrabBoneEmbed, and oofem::TutorialMaterial.

Definition at line 1996 of file structuralmaterial.C.

References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatArray::beColumnOf(), oofem::Element::computeGlobalCoordinates(), computePrincipalValDir(), computePrincipalValues(), oofem::StructuralElement::computeResultingIPEigenstrainAt(), computeVonMisesStress(), computeVonMisesStress_3D(), oofem::FEMComponent::domain, gc, oofem::GaussPoint::giveElement(), oofem::FieldManager::giveField(), giveFullSymVectorForm(), oofem::StructuralMaterialStatus::giveFVector(), oofem::Material::giveIPValue(), oofem::GaussPoint::giveMaterialMode(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::FEMComponent::giveNumber(), oofem::FloatMatrix::giveNumberOfColumns(), oofem::StructuralMaterialStatus::givePVector(), oofem::FloatArray::giveSize(), oofem::Material::giveStatus(), oofem::StructuralMaterialStatus::giveStrainVector(), oofem::StructuralMaterialStatus::giveStressVector(), oofem::StructuralMaterialStatus::giveTempStrainVector(), oofem::StructuralMaterialStatus::giveTempStressVector(), OOFEM_ERROR, oofem::principal_strain, oofem::principal_stress, oofem::FloatArray::resize(), transformStrainVectorTo(), transformStressVectorTo(), and oofem::FloatArray::zero().

Referenced by oofem::Lattice2dBoundary::drawSpecial(), oofem::AbaqusUserMaterial::giveIPValue(), oofem::ConcreteDPM2::giveIPValue(), oofem::ConcreteDPM::giveIPValue(), oofem::LargeStrainMasterMaterial::giveIPValue(), oofem::MisesMat::giveIPValue(), oofem::SteelRelaxMat::giveIPValue(), and oofem::StructuralPythonMaterial::giveIPValue().

◆ givePlaneStrainStiffMtrx()

FloatMatrixF< 4, 4 > oofem::StructuralMaterial::givePlaneStrainStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing plane strain stiffness matrix of receiver. Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to plane strain stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix. Note: as already described, if zero strain component is imposed (Plane strain, ..) this condition must be taken into account in geometrical relations, and corresponding component has to be included in reduced vector. (So plane strain conditions are \( \epsilon_z = \gamma_{xz} = \gamma_{yz} = 0 \), but relations for \( \epsilon_z\) and \(\sigma_z\) are included).

Parameters
answerStiffness matrix.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::FCMMaterial, oofem::IsotropicDamageMaterial, oofem::IsotropicLinearElasticMaterial, oofem::MDM, oofem::MisesMatGrad, oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::MPSDamMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, oofem::RCM2Material, oofem::RheoChainMaterial, and oofem::StructuralFE2Material.

Definition at line 1041 of file structuralmaterial.C.

References give3dMaterialStiffnessMatrix().

Referenced by giveStiffnessMatrix(), and oofem::SimpleCrossSection::giveStiffnessMatrix_PlaneStrain().

◆ givePlaneStrainStiffMtrx_dCde()

void oofem::StructuralMaterial::givePlaneStrainStiffMtrx_dCde ( FloatMatrix & answer,
MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep )
virtual

Definition at line 754 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveStiffnessMatrix_dCde().

◆ givePlaneStrainStiffnessMatrix_dPdF()

FloatMatrixF< 5, 5 > oofem::StructuralMaterial::givePlaneStrainStiffnessMatrix_dPdF ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

◆ givePlaneStressStiffMtrx()

FloatMatrixF< 3, 3 > oofem::StructuralMaterial::givePlaneStressStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing plane stress stiffness matrix of receiver. Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to plane stress stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters
answerStiffness matrix.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::AnisotropicDamageMaterial, oofem::FCMMaterial, oofem::IsotropicDamageMaterial, oofem::IsotropicLinearElasticMaterial, oofem::MDM, oofem::MisesMat, oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::MPSDamMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, oofem::RankineMat, oofem::RankineMatGrad, oofem::RankineMatNl, oofem::RCM2Material, oofem::RheoChainMaterial, oofem::StructuralFE2Material, and oofem::StructuralSlipFE2Material.

Definition at line 1031 of file structuralmaterial.C.

References give3dMaterialStiffnessMatrix(), and oofem::inv().

Referenced by oofem::SimpleCrossSection::give2dPlateStiffMtrx(), oofem::SimpleCrossSection::giveMembraneRotStiffMtrx(), oofem::LinearElasticMaterial::giveRealStressVector_PlaneStress(), giveStiffnessMatrix(), and oofem::SimpleCrossSection::giveStiffnessMatrix_PlaneStress().

◆ givePlaneStressStiffMtrx_dCde()

void oofem::StructuralMaterial::givePlaneStressStiffMtrx_dCde ( FloatMatrix & answer,
MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep )
virtual

Definition at line 745 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveStiffnessMatrix_dCde().

◆ givePlaneStressStiffnessMatrix_dPdF()

FloatMatrixF< 4, 4 > oofem::StructuralMaterial::givePlaneStressStiffnessMatrix_dPdF ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

◆ givePlaneStressVectorTranformationMtrx()

FloatMatrixF< 3, 3 > oofem::StructuralMaterial::givePlaneStressVectorTranformationMtrx ( const FloatMatrixF< 2, 2 > & base,
bool transpose = false )
static

Computes 2d stress vector transformation matrix from standard vector transformation matrix.

Parameters
baseA (2,2) matrix, where on each column are stored unit direction vectors of local coordinate axes to which we do transformation.
transposeDetermines if we transpose matrix before transforming.
Returns
Transformation matrix for stress vector.

Definition at line 1859 of file structuralmaterial.C.

References oofem::FloatMatrixF< N, M >::at(), and oofem::transpose().

Referenced by oofem::RankineMat::computeEta(), oofem::RankineMat::evaluatePlaneStressStiffMtrx(), oofem::RankineMatGrad::giveGradientDamageStiffnessMatrix_du(), oofem::RankineMatGrad::giveGradientDamageStiffnessMatrix_du_BB(), oofem::RankineMatGrad::giveGradientDamageStiffnessMatrix_du_NB(), oofem::MPSDamMaterial::giveRealStressVector(), and oofem::FCMMaterial::initializeCrack().

◆ givePlateLayerStiffMtrx()

FloatMatrixF< 5, 5 > oofem::StructuralMaterial::givePlateLayerStiffMtrx ( MatResponseMode mmode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Method for computing 2d plate layer stiffness matrix of receiver. Default implementation computes 3d stiffness matrix using give3dMaterialStiffnessMatrix and reduces it to 2d plate layer stiffness using reduce method described above. However, this reduction is quite time consuming and if it is possible, it is recommended to overload this method and provide direct method for computing particular stiffness matrix.

Parameters
answerStiffness matrix.
mmodeMaterial response mode.
gpIntegration point, which load history is used.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::Concrete2, oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, and oofem::RCM2Material.

Definition at line 1074 of file structuralmaterial.C.

References give3dMaterialStiffnessMatrix(), and oofem::inv().

Referenced by oofem::LayeredCrossSection::give2dPlateStiffMtrx(), oofem::LayeredCrossSection::give3dShellStiffMtrx(), oofem::LinearElasticMaterial::giveRealStressVector_PlateLayer(), and giveStiffnessMatrix().

◆ giveRealStressVector()

void oofem::StructuralMaterial::giveRealStressVector ( FloatArray & answer,
GaussPoint * gp,
const FloatArray & reducedStrain,
TimeStep * tStep ) const
virtual

Computes the real stress vector for given total strain and integration point. The total strain is defined as strain computed directly from displacement field at given time. The stress independent parts (temperature, eigenstrains) are subtracted in constitutive driver. The service should use previously reached equilibrium history variables. Also it should update temporary history variables in status according to newly reached state. The temporary history variables are moved into equilibrium ones after global structure equilibrium has been reached by iteration process.

Parameters
answerStress vector in reduced form. For large deformations it is treated as the second Piola-Kirchoff stress.
gpIntegration point.
reducedStrainStrain vector in reduced form. For large deformations it is treated as the Green-Lagrange strain.
tStepCurrent time step (most models are able to respond only when tStep is current time step).
Todo
Move this to StructuralCrossSection ?

Reimplemented in oofem::AnisotropicDamageMaterial, oofem::B3SolidMaterial, oofem::CompoDamageMat, oofem::ConcreteFCMViscoElastic, oofem::Eurocode2CreepMaterial, oofem::FCMMaterial, oofem::FRCFCMNL, oofem::IsotropicDamageMaterial, oofem::KelvinChainMaterial, oofem::KelvinChainSolidMaterial, oofem::MaxwellChainMaterial, oofem::MDM, oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::MPSDamMaterial, oofem::MPSMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, oofem::RCM2Material, oofem::RCSDEMaterial, oofem::RCSDMaterial, oofem::RCSDNLMaterial, oofem::RheoChainMaterial, and oofem::SteelRelaxMat.

Definition at line 99 of file structuralmaterial.C.

References oofem::GaussPoint::giveMaterialMode(), giveRealStressVector_1d(), giveRealStressVector_2dBeamLayer(), giveRealStressVector_2dPlateSubSoil(), giveRealStressVector_3d(), giveRealStressVector_3dBeamSubSoil(), giveRealStressVector_Fiber(), giveRealStressVector_PlaneStrain(), giveRealStressVector_PlaneStress(), and giveRealStressVector_PlateLayer().

Referenced by oofem::IsotropicLinearElasticMaterial::giveCharacteristicVector(), and giveCharacteristicVector().

◆ giveRealStressVector_1d()

◆ giveRealStressVector_2dBeamLayer()

FloatArrayF< 2 > oofem::StructuralMaterial::giveRealStressVector_2dBeamLayer ( const FloatArrayF< 2 > & reducedE,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation relies on giveRealStressVector_StressControl.

Reimplemented in oofem::FCMMaterial, oofem::LinearElasticMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, oofem::RCM2Material, and oofem::RheoChainMaterial.

Definition at line 290 of file structuralmaterial.C.

References giveRealStressVector_StressControl(), and giveVoigtSymVectorMask().

Referenced by giveRealStressVector().

◆ giveRealStressVector_2dPlateSubSoil()

FloatArrayF< 3 > oofem::StructuralMaterial::giveRealStressVector_2dPlateSubSoil ( const FloatArrayF< 3 > & reducedE,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation is not provided.

Reimplemented in oofem::WinklerMaterial, and oofem::WinklerPasternakMaterial.

Definition at line 317 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveGeneralizedStress_PlateSubSoil(), and giveRealStressVector().

◆ giveRealStressVector_3d()

FloatArrayF< 6 > oofem::StructuralMaterial::giveRealStressVector_3d ( const FloatArrayF< 6 > & strain,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.

Reimplemented in oofem::AbaqusUserMaterial, oofem::AnisotropicDamageMaterial, oofem::BlatzKoMaterial, oofem::CompoDamageMat, oofem::ConcreteDPM2, oofem::ConcreteDPM, oofem::DruckerPragerPlasticitySM, oofem::DustMaterial, oofem::FCMMaterial, oofem::HyperelasticMaterial1d, oofem::IsotropicDamageMaterial, oofem::LargeStrainMasterMaterial, oofem::LinearElasticMaterial, oofem::M1Material, oofem::MDM, oofem::MFrontUserMaterial, oofem::MicroMaterial, oofem::MicroplaneMaterial_Bazant, oofem::MisesMat, oofem::MisesMatNl, oofem::MooneyRivlinCompressibleMaterial, oofem::MooneyRivlinCompressibleMaterial, oofem::MPlasticMaterial2, oofem::MPlasticMaterial, oofem::OgdenCompressibleMaterial, oofem::PerfectlyPlasticMaterial, oofem::PlasticMaterial, oofem::RCM2Material, oofem::RheoChainMaterial, oofem::SimoPisterMaterial, oofem::SimpleVitrificationMaterial, oofem::StructuralFE2Material, oofem::StructuralMaterialSettable, oofem::TrabBone3D, oofem::TrabBoneEmbed, oofem::TrabBoneNL3D, oofem::TrabBoneNLEmbed, and oofem::TutorialMaterial.

Definition at line 128 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::XfemStructuralElementInterface::computeCohesiveForces(), giveFirstPKStressVector_3d(), oofem::SimpleCrossSection::giveRealStress_3d(), giveRealStressVector(), giveRealStressVector_PlaneStrain(), giveRealStressVector_ShellStressControl(), giveRealStressVector_StressControl(), and oofem::StructuralMaterialEvaluator::solveYourself().

◆ giveRealStressVector_3dBeamSubSoil()

FloatArrayF< 6 > oofem::StructuralMaterial::giveRealStressVector_3dBeamSubSoil ( const FloatArrayF< 6 > & reducedE,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

◆ giveRealStressVector_Fiber()

FloatArrayF< 3 > oofem::StructuralMaterial::giveRealStressVector_Fiber ( const FloatArrayF< 3 > & reducedE,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation relies on giveRealStressVector_StressControl.

Reimplemented in oofem::LinearElasticMaterial, and oofem::PlasticMaterial.

Definition at line 308 of file structuralmaterial.C.

References giveRealStressVector_StressControl(), and giveVoigtSymVectorMask().

Referenced by giveRealStressVector().

◆ giveRealStressVector_PlaneStrain()

◆ giveRealStressVector_PlaneStress()

◆ giveRealStressVector_PlateLayer()

FloatArrayF< 5 > oofem::StructuralMaterial::giveRealStressVector_PlateLayer ( const FloatArrayF< 5 > & reducedE,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

◆ giveRealStressVector_ShellStressControl()

◆ giveRealStressVector_StressControl()

FloatArray oofem::StructuralMaterial::giveRealStressVector_StressControl ( const FloatArray & reducedE,
const IntArray & strainControl,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

◆ giveRealStressVector_Warping()

FloatArrayF< 2 > oofem::StructuralMaterial::giveRealStressVector_Warping ( const FloatArrayF< 2 > & reducedE,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Default implementation relies on giveRealStressVector_StressControl.

Reimplemented in oofem::LinearElasticMaterial.

Definition at line 135 of file structuralmaterial.C.

References OOFEM_ERROR.

Referenced by oofem::SimpleCrossSection::giveRealStress_Warping().

◆ giveReducedMatrixForm()

void oofem::StructuralMaterial::giveReducedMatrixForm ( FloatMatrix & answer,
const FloatMatrix & full,
MaterialMode matMode )
static

Converts the full symmetric Voigt matrix (4th order tensor) to reduced form.

Definition at line 2425 of file structuralmaterial.C.

References oofem::FloatMatrix::beSubMatrixOf(), and giveVoigtVectorMask().

◆ giveReducedSymMatrixForm()

void oofem::StructuralMaterial::giveReducedSymMatrixForm ( FloatMatrix & answer,
const FloatMatrix & full,
MaterialMode matMode )
static

Converts the full unsymmetric Voigt matrix (4th order tensor) to reduced form.

Definition at line 2434 of file structuralmaterial.C.

References oofem::FloatMatrix::beSubMatrixOf(), and giveVoigtSymVectorMask().

Referenced by oofem::StructuralFE2Material::give3dMaterialStiffnessMatrix().

◆ giveReducedSymVectorForm()

◆ giveReducedVectorForm()

void oofem::StructuralMaterial::giveReducedVectorForm ( FloatArray & answer,
const FloatArray & vec,
MaterialMode matMode )
static

Converts the full symmetric Voigt vector (2nd order tensor) to reduced form.

Definition at line 2391 of file structuralmaterial.C.

References oofem::FloatArray::beSubArrayOf(), and giveVoigtVectorMask().

Referenced by oofem::NLStructuralElement::giveInternalForcesVector().

◆ giveReferenceTemperature()

double oofem::StructuralMaterial::giveReferenceTemperature ( )
inline

Returns the reference temperature of receiver.

Definition at line 292 of file structuralmaterial.h.

References referenceTemperature.

◆ giveSizeOfVoigtSymVector()

int oofem::StructuralMaterial::giveSizeOfVoigtSymVector ( MaterialMode mmode)
static

◆ giveSizeOfVoigtVector()

int oofem::StructuralMaterial::giveSizeOfVoigtVector ( MaterialMode mmode)
static

Returns the size of reduced stress/strain vector according to given mode.

Parameters
mmodeMaterial response mode.

Definition at line 798 of file structuralmaterial.C.

References oofem::IntArray::giveSize(), and giveVoigtVectorMask().

◆ giveStiffnessMatrix()

void oofem::StructuralMaterial::giveStiffnessMatrix ( FloatMatrix & answer,
MatResponseMode mode,
GaussPoint * gp,
TimeStep * tStep ) const
virtual

Computes the stiffness matrix for giveRealStressVector of receiver in given integration point, respecting its history. The algorithm should use temporary or equilibrium history variables stored in integration point status to compute and return required result.

Parameters
answerContains result.
modeMaterial response mode.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::IsotropicGradientDamageMaterial, oofem::LargeStrainMasterMaterialGrad, oofem::LatticeStructuralMaterial, oofem::Masonry02, oofem::MisesMatGrad, oofem::RankineMatGrad, and oofem::TrabBoneGrad3D.

Definition at line 623 of file structuralmaterial.C.

References oofem::eye(), give1dStressStiffMtrx(), give2dBeamLayerStiffMtrx(), give3dMaterialStiffnessMatrix(), giveFiberStiffMtrx(), givePlaneStrainStiffMtrx(), givePlaneStressStiffMtrx(), givePlateLayerStiffMtrx(), and OOFEM_ERROR.

Referenced by oofem::IsotropicDamageMaterial1::computeEta(), giveCharacteristicMatrix(), oofem::MPlasticMaterial2::giveConsistentStiffnessMatrix(), oofem::PerfectlyPlasticMaterial::giveEffectiveMaterialStiffnessMatrix(), oofem::RCM2Material::giveEffectiveMaterialStiffnessMatrix(), oofem::MPlasticMaterial2::giveElastoPlasticStiffnessMatrix(), oofem::IDNLMaterial::giveLocalNonlocalStiffnessContribution(), oofem::RCM2Material::giveNormalElasticStiffnessMatrix(), oofem::AnisotropicDamageMaterial::giveRealStressVector(), oofem::FCMMaterial::giveRealStressVector(), oofem::IsotropicDamageMaterial::giveRealStressVector(), oofem::RheoChainMaterial::giveRealStressVector(), oofem::IDNLMaterial::giveRemoteNonlocalStiffnessContribution(), and oofem::IsotropicDamageMaterial1::initDamaged().

◆ giveStiffnessMatrix_dPdF()

void oofem::StructuralMaterial::giveStiffnessMatrix_dPdF ( FloatMatrix & answer,
MatResponseMode mode,
GaussPoint * gp,
TimeStep * tStep )
virtual

Computes the large strain stiffness matrix for giveFirstPKStressVector of receiver in given integration point, respecting its history. The algorithm should use temporary or equilibrium history variables stored in integration point status to compute and return required result.

Parameters
answerContains result.
modeMaterial response mode.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).

Definition at line 665 of file structuralmaterial.C.

References give1dStressStiffnessMatrix_dPdF(), give3dMaterialStiffnessMatrix_dPdF(), oofem::GaussPoint::giveMaterialMode(), givePlaneStrainStiffnessMatrix_dPdF(), givePlaneStressStiffnessMatrix_dPdF(), and OOFEM_ERROR.

◆ giveStrainVectorTranformationMtrx()

FloatMatrixF< 6, 6 > oofem::StructuralMaterial::giveStrainVectorTranformationMtrx ( const FloatMatrixF< 3, 3 > & base,
bool transpose = false )
static

Computes 3d strain vector transformation matrix from standard vector transformation matrix.

Parameters
baseA (3,3) matrix, where on each column are stored unit direction vectors of local coordinate axes to which we do transformation.
transposeDetermines if we transpose matrix before transforming.
Returns
Transformation matrix for strain vector.

Definition at line 1708 of file structuralmaterial.C.

References oofem::FloatMatrixF< N, M >::at(), and oofem::transpose().

Referenced by oofem::CompoDamageMat::giveMatStiffRotationMatrix(), oofem::OrthotropicLinearElasticMaterial::giveRotationMatrix(), oofem::FCMMaterial::initializeCrack(), and transformStrainVectorTo().

◆ giveStressDependentPartOfStrainVector()

void oofem::StructuralMaterial::giveStressDependentPartOfStrainVector ( FloatArray & answer,
GaussPoint * gp,
const FloatArray & reducedStrainVector,
TimeStep * tStep,
ValueModeType mode ) const

Method for subtracting from reduced space strain vector its stress-independent parts (caused by temperature, shrinkage, creep and possibly by other phenomena). Calls computeStressIndependentStrainVector to obtain stress independent part of strain.

Parameters
answerComputed strain vector.
gpIntegration point.
reducedStrainVectorReduced strain vector.
tStepTime step.
modeDetermines value mode.

Definition at line 772 of file structuralmaterial.C.

References computeStressIndependentStrainVector(), and oofem::FloatArray::subtract().

Referenced by oofem::HOMExportModule::average(), oofem::AnisotropicDamageMaterial::give3dMaterialStiffnessMatrix(), oofem::IsotropicDamageMaterial::giveIPValue(), oofem::LinearElasticMaterial::giveIPValue(), oofem::AnisotropicDamageMaterial::givePlaneStressStiffMtrx(), oofem::AnisotropicDamageMaterial::giveRealStressVector(), oofem::CompoDamageMat::giveRealStressVector(), oofem::FCMMaterial::giveRealStressVector(), oofem::IsotropicDamageMaterial::giveRealStressVector(), oofem::MDM::giveRealStressVector(), oofem::MPlasticMaterial2::giveRealStressVector(), oofem::MPlasticMaterial::giveRealStressVector(), oofem::PerfectlyPlasticMaterial::giveRealStressVector(), oofem::PlasticMaterial::giveRealStressVector(), oofem::RCM2Material::giveRealStressVector(), oofem::RCSDEMaterial::giveRealStressVector(), oofem::RCSDMaterial::giveRealStressVector(), oofem::RCSDNLMaterial::giveRealStressVector(), oofem::RheoChainMaterial::giveRealStressVector(), oofem::SteelRelaxMat::giveRealStressVector(), oofem::LinearElasticMaterial::giveRealStressVector_1d(), oofem::MisesMat::giveRealStressVector_1d(), oofem::LinearElasticMaterial::giveRealStressVector_2dBeamLayer(), oofem::MisesMat::giveRealStressVector_3d(), oofem::LinearElasticMaterial::giveRealStressVector_Fiber(), oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress(), oofem::LinearElasticMaterial::giveRealStressVector_PlaneStress(), oofem::Concrete2::giveRealStressVector_PlateLayer(), oofem::LinearElasticMaterial::giveRealStressVector_PlateLayer(), oofem::IsotropicGradientDamageMaterial::giveRealStressVectorGradientDamage(), oofem::IsotropicLinearElasticMaterial::giveRealStressVectorUP_3d(), oofem::IsotropicLinearElasticMaterial::giveRealStressVectorUP_PlaneStrain(), oofem::SteelRelaxMat::giveStressDependentPartOfStrainVector(), oofem::IDNLMaterial::updateBeforeNonlocAverage(), oofem::MazarsNLMaterial::updateBeforeNonlocAverage(), oofem::TrabBoneNL3D::updateBeforeNonlocAverage(), oofem::TrabBoneNL::updateBeforeNonlocAverage(), and oofem::TrabBoneNLEmbed::updateBeforeNonlocAverage().

◆ giveStressVectorTranformationMtrx()

FloatMatrixF< 6, 6 > oofem::StructuralMaterial::giveStressVectorTranformationMtrx ( const FloatMatrixF< 3, 3 > & base,
bool transpose = false )
static

Computes 3d stress vector transformation matrix from standard vector transformation matrix.

Parameters
baseA (3,3) matrix, where on each column are stored unit direction vectors of local coordinate axes to which we do transformation.
transposeDetermines if we transpose matrix before transforming.
Returns
Transformation matrix for stress vector.

Definition at line 1798 of file structuralmaterial.C.

References oofem::FloatMatrixF< N, M >::at(), and oofem::transpose().

Referenced by oofem::RCM2Material::giveEffectiveMaterialStiffnessMatrix(), oofem::MPSDamMaterial::giveRealStressVector(), oofem::IDNLMaterial::giveRemoteNonlocalStiffnessContribution(), oofem::FCMMaterial::initializeCrack(), and transformStressVectorTo().

◆ giveSymVI()

int oofem::StructuralMaterial::giveSymVI ( int ind1,
int ind2 )
inlinestatic

Definition at line 141 of file structuralmaterial.h.

References svIndex.

Referenced by convert_dSdE_2_dPdF_3D().

◆ giveThermalDilatationVector()

FloatArrayF< 6 > oofem::StructuralMaterial::giveThermalDilatationVector ( GaussPoint * gp,
TimeStep * tStep ) const
virtual

Returns a vector of coefficients of thermal dilatation in direction of each material principal (local) axis.

Parameters
answerVector of thermal dilatation coefficients.
gpIntegration point.
tStepTime step (most models are able to respond only when tStep is current time step).

Reimplemented in oofem::DruckerPragerPlasticitySM, oofem::DustMaterial, oofem::IsotropicDamageMaterial, oofem::LatticeLinearElastic, oofem::LatticeSlip, oofem::LinearElasticMaterial, oofem::M4Material, oofem::MDM, oofem::MPlasticMaterial2, oofem::OrthotropicLinearElasticMaterial, oofem::RCM2Material, oofem::RheoChainMaterial, oofem::SimpleVitrificationMaterial, and oofem::TutorialMaterial.

Definition at line 2442 of file structuralmaterial.C.

References oofem::Material::give(), and tAlpha.

Referenced by computeStressIndependentStrainVector(), and computeStressIndependentStrainVector_3d().

◆ giveVI()

int oofem::StructuralMaterial::giveVI ( int ind1,
int ind2 )
inlinestatic

Definition at line 142 of file structuralmaterial.h.

References vIindex.

Referenced by convert_dSdE_2_dPdF_3D().

◆ giveVoigtSymVectorMask()

int oofem::StructuralMaterial::giveVoigtSymVectorMask ( IntArray & answer,
MaterialMode mmode )
static

The same as giveVoigtVectorMask but returns a mask corresponding to a symmetric second order tensor.

Returns a mask of the vector indicies corresponding to components in a symmetric second order tensor of some stress/strain/deformation measure that performes work. Thus, components corresponding to imposed zero stress (e.g. plane stress etc.) are not included. On the other hand, if zero strain components are imposed( e.g. plane strain etc.) this condition must be taken into account in geometrical relations. Therefore, these corresponding components are included in the reduced vector. Which compnents to include are given by the particular MaterialMode. Ex: PlaneStress -> [1 2 6]

Parameters
answerReturned mask.
mmodeMaterial response mode.
Returns
The number of components in the corresponding full vector.
Todo
This isn't actually fixed yet. Should be made compatible with 3dShell and 2dBeam
Todo
This isn't actually fixed yet. Should be made compatible with 3dShell and 2dBeam

Definition at line 819 of file structuralmaterial.C.

References oofem::IntArray::clear(), and oofem::IntArray::enumerate().

Referenced by giveFullSymMatrixForm(), giveFullSymVectorForm(), giveInvertedVoigtVectorMask(), giveRealStressVector_1d(), giveRealStressVector_2dBeamLayer(), giveRealStressVector_Fiber(), giveRealStressVector_PlaneStress(), giveRealStressVector_PlateLayer(), giveReducedSymMatrixForm(), giveReducedSymVectorForm(), and giveSizeOfVoigtSymVector().

◆ giveVoigtVectorMask()

int oofem::StructuralMaterial::giveVoigtVectorMask ( IntArray & answer,
MaterialMode mmode )
static

Returns a mask of the vector indicies corresponding to components in a general (non-symmetric) second order tensor of some stress/strain/deformation measure that performes work. Thus, components corresponding to imposed zero stress (e.g. plane stress etc.) are not included. On the other hand, if zero strain components are imposed( e.g. plane strain etc.) this condition must be taken into account in geometrical relations. Therefore, these corresponding components are included in the reduced vector. Which compnents to include are given by the particular MaterialMode. Ex: PlaneStress -> [1 2 6 9]

Parameters
answerReturned mask.
mmodeMaterial response mode.
Returns
The number of components in the corresponding full vector.
Todo
add additional modes if they relevant.

Definition at line 981 of file structuralmaterial.C.

References oofem::IntArray::at(), and oofem::IntArray::resize().

Referenced by giveFirstPKStressVector_1d(), giveFirstPKStressVector_PlaneStress(), giveFullVectorForm(), giveFullVectorFormF(), giveReducedMatrixForm(), giveReducedVectorForm(), and giveSizeOfVoigtVector().

◆ hasMaterialModeCapability()

bool oofem::StructuralMaterial::hasMaterialModeCapability ( MaterialMode mode) const
overridevirtual

Tests if material supports material mode.

Parameters
modeRequired material mode.
Returns
Nonzero if supported, zero otherwise.

Reimplemented from oofem::Material.

Reimplemented in oofem::TrabBoneGrad3D, oofem::TrabBoneMaterial, oofem::WinklerMaterial, and oofem::WinklerPasternakMaterial.

Definition at line 70 of file structuralmaterial.C.

Referenced by oofem::PerfectlyPlasticMaterial::giveEffectiveMaterialStiffnessMatrix().

◆ initializeFrom()

void oofem::StructuralMaterial::initializeFrom ( InputRecord & ir)
overridevirtual

Initializes receiver according to object description stored in input record. This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record. Note that initializeFrom may be called mutiple times.

See also
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters
irInput record to initialize from.
priorityPriority of the input record. This is used to determine the order of initialization

Reimplemented from oofem::Material.

Reimplemented in oofem::StructuralMaterialSettable, oofem::StructuralPythonMaterial, oofem::StructuralSlipFE2Material, oofem::TrabBone3D, oofem::TrabBoneEmbed, oofem::TrabBoneGrad3D, oofem::TrabBoneMaterial, oofem::TrabBoneNL3D, oofem::TrabBoneNL, oofem::TrabBoneNLEmbed, oofem::TutorialMaterial, oofem::WinklerMaterial, and oofem::WinklerPasternakMaterial.

Definition at line 2456 of file structuralmaterial.C.

References _IFT_StructuralMaterial_referencetemperature, _IFT_StructuralMaterial_StressControl_abstol, _IFT_StructuralMaterial_StressControl_maxiter, _IFT_StructuralMaterial_StressControl_reltol, _IFT_StructuralMaterial_StressControl_stiffmode, _IFT_StructuralMaterial_talpha, oofem::Material::initializeFrom(), IR_GIVE_OPTIONAL_FIELD, oofem::Material::propertyDictionary, referenceTemperature, SCAbsTol, SCMaxiter, SCRelTol, SCStiffMode, and tAlpha.

Referenced by oofem::AbaqusUserMaterial::initializeFrom(), oofem::BlatzKoMaterial::initializeFrom(), oofem::ConcreteDPM2::initializeFrom(), oofem::ConcreteDPM::initializeFrom(), oofem::MisesMat::initializeFrom(), oofem::MooneyRivlinCompressibleMaterial::initializeFrom(), oofem::OgdenCompressibleMaterial::initializeFrom(), oofem::SimoPisterMaterial::initializeFrom(), and oofem::SteelRelaxMat::initializeFrom().

◆ setIPValue()

int oofem::StructuralMaterial::setIPValue ( const FloatArray & value,
GaussPoint * gp,
InternalStateType type )
overridevirtual

Sets the value of a certain variable at a given integration point to the given value.

Parameters
valueContains the value(s) to be set (in reduced form).
gpIntegration point.
typeDetermines the type of internal variable.
typeDetermines the type of internal variable.
Returns
Nonzero if ok, zero if var not supported.

Reimplemented from oofem::Material.

Definition at line 1974 of file structuralmaterial.C.

References oofem::Material::giveStatus(), oofem::StructuralMaterialStatus::letStrainVectorBe(), oofem::StructuralMaterialStatus::letStressVectorBe(), oofem::StructuralMaterialStatus::letTempStrainVectorBe(), and oofem::StructuralMaterialStatus::letTempStressVectorBe().

Referenced by oofem::ConcreteDPM::setIPValue().

◆ sortPrincDirAndValCloseTo()

void oofem::StructuralMaterial::sortPrincDirAndValCloseTo ( FloatArray & pVal,
FloatMatrix & pDir,
const FloatMatrix & toPDir )
static

Method for sorting newly computed principal values (pVal) and corresponding principal directions (pDir) to be closed to some (often previous) principal directions (toPDir). pDir and toPDir should have eigenvectors stored in columns and normalized.

Parameters
pValNew eigenvalues.
pDirNew eigenvectors.
toPDirOld eigenvector.

Definition at line 1924 of file structuralmaterial.C.

References oofem::FloatArray::at(), and oofem::FloatMatrix::at().

Referenced by oofem::RCM2Material::giveRealPrincipalStressVector3d().

◆ transformStrainVectorTo()

FloatArrayF< 6 > oofem::StructuralMaterial::transformStrainVectorTo ( const FloatMatrixF< 3, 3 > & base,
const FloatArrayF< 6 > & strain,
bool transpose = false )
static

Transforms 3d strain vector into another coordinate system.

Parameters
answerTransformed strain vector
baseTransformation matrix. There are on each column stored unit vectors of coordinate system (so called base vectors) to which we do transformation. These vectors must be expressed in the same coordinate system as source strainVector.
strainVector3d strain.
transposeDetermines if we transpose matrix before transforming.

Definition at line 1889 of file structuralmaterial.C.

References oofem::dot(), giveStrainVectorTranformationMtrx(), and oofem::transpose().

Referenced by giveIPValue(), oofem::MITC4Shell::giveMidplaneIPValue(), and oofem::CompoDamageMat::giveRealStressVector().

◆ transformStressVectorTo()

FloatArrayF< 6 > oofem::StructuralMaterial::transformStressVectorTo ( const FloatMatrixF< 3, 3 > & base,
const FloatArrayF< 6 > & stress,
bool transpose = false )
static

Transforms 3d stress vector into another coordinate system.

Parameters
answerTransformed stress vector.
baseTransformation matrix. There are on each column stored unit vectors of coordinate system (so called base vectors) to which we do transformation. These vectors must be expressed in the same coordinate system as source stressVector.
stressVectorTransformed 3d strain.
transposeDetermines if we transpose matrix before transforming.

Definition at line 1906 of file structuralmaterial.C.

References oofem::dot(), giveStressVectorTranformationMtrx(), and oofem::transpose().

Referenced by oofem::ConcreteDPM2::computeAlpha(), giveIPValue(), oofem::MITC4Shell::giveMidplaneIPValue(), oofem::CompoDamageMat::giveRealStressVector(), oofem::RCM2Material::giveRealStressVector(), oofem::RCSDEMaterial::giveRealStressVector(), oofem::RCSDMaterial::giveRealStressVector(), oofem::ConcreteDPM2::performRegularReturn(), and oofem::ConcreteDPM::performRegularReturn().

◆ CrossSection

friend class CrossSection
friend

Definition at line 699 of file structuralmaterial.h.

References CrossSection.

Referenced by CrossSection.

◆ LayeredCrossSection

friend class LayeredCrossSection
friend

Definition at line 702 of file structuralmaterial.h.

References LayeredCrossSection.

Referenced by LayeredCrossSection.

◆ SimpleCrossSection

friend class SimpleCrossSection
friend

Definition at line 701 of file structuralmaterial.h.

References SimpleCrossSection.

Referenced by SimpleCrossSection.

◆ StructuralCrossSection

Member Data Documentation

◆ referenceTemperature

double oofem::StructuralMaterial::referenceTemperature = 0.
protected

Reference temperature (temperature, when material has been built into structure).

Definition at line 124 of file structuralmaterial.h.

Referenced by computeStressIndependentStrainVector(), computeStressIndependentStrainVector_3d(), giveInputRecord(), giveReferenceTemperature(), and initializeFrom().

◆ SCAbsTol

double oofem::StructuralMaterial::SCAbsTol = 1.e-12
protected

absolute stress tolerance for stress control

Definition at line 130 of file structuralmaterial.h.

Referenced by giveInputRecord(), and initializeFrom().

◆ SCMaxiter

int oofem::StructuralMaterial::SCMaxiter = 100000
protected

◆ SCRelTol

double oofem::StructuralMaterial::SCRelTol = 1.e-3
protected

relative tolerance for stress control

Definition at line 128 of file structuralmaterial.h.

Referenced by giveInputRecord(), and initializeFrom().

◆ SCStiffMode

MatResponseMode oofem::StructuralMaterial::SCStiffMode = TangentStiffness
protected

stifness mode used in stress control

Definition at line 126 of file structuralmaterial.h.

Referenced by giveInputRecord(), giveRealStressVector_ShellStressControl(), giveRealStressVector_StressControl(), and initializeFrom().

◆ svIndex

std::array< std::array< int, 3 >, 3 > oofem::StructuralMaterial::svIndex
static
Initial value:
= {{
{1, 6, 5},
{6, 2, 4},
{5, 4, 3}
}}

Symmetric Voigt index map.

Definition at line 139 of file structuralmaterial.h.

Referenced by giveSymVI().

◆ vIindex

std::array< std::array< int, 3 >, 3 > oofem::StructuralMaterial::vIindex
static
Initial value:
= {{
{1, 6, 5},
{9, 2, 4},
{8, 7, 3}
}}

Voigt index map.

Definition at line 136 of file structuralmaterial.h.

Referenced by giveVI().


The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011