35#ifndef microplanematerial_h
36#define microplanematerial_h
44#define _IFT_MicroplaneMaterial_nmp "nmp"
45#define _IFT_MicroplaneMaterial_e "e"
46#define _IFT_MicroplaneMaterial_n "n"
51#define MAX_NUMBER_OF_MICROPLANES 61
90 std::vector<FloatArrayF<6>>
N;
95 std::vector<FloatArrayF<6>>
M;
100 std::vector<FloatArrayF<6>>
L;
void initializeFrom(InputRecord &ir) override
MicroplaneState computeStrainVectorComponents(int mnumber, const FloatArray ¯oStrain) const
std::vector< FloatArrayF< 6 > > N
void giveInputRecord(DynamicInputRecord &input) override
double giveMicroplaneIntegrationWeight(int mnumber) const
double computeNormalDeviatoricStrainComponent(int mnumber, const FloatArray ¯oStrain) const
FloatArray microplaneWeights
Integration weights of microplanes.
virtual void initializeData(int numberOfMicroplanes)
double computeShearMStrainComponent(int mnumber, const FloatArray ¯oStrain) const
std::vector< FloatArrayF< 3 > > microplaneNormals
Normals of microplanes.
double computeShearLStrainComponent(int mnumber, const FloatArray ¯oStrain) const
FloatMatrixF< 6, 6 > give3dMaterialStiffnessMatrix(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
int numberOfMicroplanes
Number of microplanes.
FloatArrayF< 6 > Kronecker
Kronecker's delta.
std::vector< FloatArrayF< 6 > > M
double nu
Poisson's ratio.
std::vector< FloatArrayF< 6 > > L
double computeNormalStrainComponent(int mnumber, const FloatArray ¯oStrain) const
MicroplaneMaterial(int n, Domain *d)
double computeNormalVolumetricStrainComponent(const FloatArray ¯oStrain) const
StructuralMaterial(int n, Domain *d)
Defines the stress or strain state in a micro plane.