35 #ifndef microplanematerial_h 36 #define microplanematerial_h 38 #include "../sm/Materials/structuralmaterial.h" 43 #define _IFT_MicroplaneMaterial_nmp "nmp" 44 #define _IFT_MicroplaneMaterial_e "e" 45 #define _IFT_MicroplaneMaterial_n "n" 51 #define MAX_NUMBER_OF_MICROPLANES 61 196 #endif // microplanematerial_h int numberOfMicroplanes
Number of microplanes.
double computeShearMStrainComponent(Microplane *mplane, const FloatArray ¯oStrain)
Computes the shear component (in m direction) of macro strain on given microplane.
double L[MAX_NUMBER_OF_MICROPLANES][6]
Shear projection tensors (l direction) for all microplanes.
virtual MaterialMode giveCorrespondingSlaveMaterialMode(MaterialMode masterMode)
Returns corresponding material mode for microplane according to macro integration mode...
#define MAX_NUMBER_OF_MICROPLANES
virtual void give3dMaterialStiffnessMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes full 3d material stiffness matrix at given integration point, time, respecting load history ...
double E
Young's modulus.
double M[MAX_NUMBER_OF_MICROPLANES][6]
Shear projection tensors (m direction) for all microplanes.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
Defines several material constant (respective their representative number).
virtual MaterialStatus * CreateMicroplaneStatus(GaussPoint *gp)=0
double computeNormalDeviatoricStrainComponent(Microplane *mplane, const FloatArray ¯oStrain)
Computes the normal deviatoric component of macro strain on given microplane.
double microplaneNormals[MAX_NUMBER_OF_MICROPLANES][3]
Normals of microplanes.
virtual ~MicroplaneMaterial()
Destructor.
Microplane * giveMicroplane(int i, GaussPoint *masterGp)
Returns i-th microplane belonging to master-macro-integration point. )-based indexing.
virtual contextIOResultType saveIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Stores integration point state to output stream.
virtual void giveRealMicroplaneStressVector(FloatArray &answer, Microplane *mplane, const FloatArray &strain, TimeStep *tStep)=0
Computes real stress vector on given microplane (the meaning of values depends on particular implemen...
MaterialMode
Type representing material mode of integration point.
MatResponseMode
Describes the character of characteristic material matrix.
virtual void initializeData(int numberOfMicroplanes)
Initializes internal data (integration weights, microplane normals and computes projection tensors)...
virtual void initTempStatus(GaussPoint *gp)
Initializes temporary variables stored in integration point status at the beginning of new time step...
Abstract base class for all microplane models.
virtual void giveMicroplaneNormal(FloatArray &answer, Microplane *mplane)
Computes normal of given microplane.
double nu
Poisson's ratio.
Class representing microplane integration point in finite element program.
virtual double giveMicroplaneIntegrationWeight(Microplane *mplane)
Returns microplane integration weight.
double computeNormalStrainComponent(Microplane *mplane, const FloatArray ¯oStrain)
Computes the length of normal strain vector on given microplane.
Abstract base class representing a material status information.
Class representing vector of real numbers.
double N[MAX_NUMBER_OF_MICROPLANES][6]
Normal projection tensors for all microplanes.
MicroplaneMaterial(int n, Domain *d)
Constructor.
double computeNormalVolumetricStrainComponent(Microplane *mplane, const FloatArray ¯oStrain)
Computes the normal volumetric component of macro strain on given microplane.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
double microplaneWeights[MAX_NUMBER_OF_MICROPLANES]
Integration weights of microplanes.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
Abstract base class for all "structural" constitutive models.
virtual IntegrationPointStatus * giveMicroplaneStatus(GaussPoint *gp)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual contextIOResultType restoreIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Reads integration point state to output stream.
double computeShearLStrainComponent(Microplane *mplane, const FloatArray ¯oStrain)
Computes the shear component (in l direction) of macro strain on given microplane.
Class representing integration point in finite element program.
Class representing solution step.
Abstract base class representing a integration status.
double Kronecker[6]
Kronecker's delta.
void computeStrainVectorComponents(FloatArray &answer, Microplane *mplane, const FloatArray ¯oStrain)
Computes the vector of all micro stress components (Ev, En, Em, El) of macro strain vector on given m...