38 #include "../sm/Materials/structuralmaterial.h"    42 #include "../sm/Materials/structuralms.h"    49 #define _IFT_ConcreteDPM_Name "concretedpm"    50 #define _IFT_ConcreteDPM_fc "fc"    51 #define _IFT_ConcreteDPM_ft "ft"    52 #define _IFT_ConcreteDPM_ecc "ecc"    53 #define _IFT_ConcreteDPM_kinit "kinit"    54 #define _IFT_ConcreteDPM_ahard "ahard"    55 #define _IFT_ConcreteDPM_bhard "bhard"    56 #define _IFT_ConcreteDPM_chard "chard"    57 #define _IFT_ConcreteDPM_dhard "dhard"    58 #define _IFT_ConcreteDPM_asoft "asoft"    59 #define _IFT_ConcreteDPM_dilation "dilation"    60 #define _IFT_ConcreteDPM_yieldtol "yieldtol"    61 #define _IFT_ConcreteDPM_newtoniter "newtoniter"    62 #define _IFT_ConcreteDPM_wf "wf"    63 #define _IFT_ConcreteDPM_gf "gf"    64 #define _IFT_ConcreteDPM_href "href"    65 #define _IFT_ConcreteDPM_helem "helem"    75 #define SOPHISTICATED_SIZEDEPENDENT_ADJUSTMENT   133 #ifdef SOPHISTICATED_SIZEDEPENDENT_ADJUSTMENT   174         return sqrt( .5 * ( 2. * dev [ 0 ] * dev [ 0 ] + 2. * dev [ 1 ] * dev [ 1 ] + 2. * dev [ 2 ] * dev [ 2 ] +
   175             dev [ 3 ] * dev [ 3 ] + dev [ 4 ] * dev [ 4 ] + dev [ 5 ] * dev [ 5 ] ) );
   205 #ifdef SOPHISTICATED_SIZEDEPENDENT_ADJUSTMENT   301     { tempVolumetricPlasticStrain = v; }
   450 #ifdef SOPHISTICATED_SIZEDEPENDENT_ADJUSTMENT   472     virtual void giveRealStressVector_3d(
FloatArray &answer,
   491     bool checkForVertexCase(
double &answer,
   522     double computeYieldValue(
double sig,
   525                              double tempKappa) 
const;
   533     double computeHardeningOne(
double tempKappa) 
const;
   541     double computeHardeningOnePrime(
double tempKappa) 
const;
   552     double computeDFDKappa(
double sig,
   564     double computeDKappaDDeltaLambda(
double sig,
   575     virtual double computeDuctilityMeasure(
double sig,
   584     void computeDDuctilityMeasureDInv(
FloatArray &answer,
   612     double computeRatioPotential(
double sig,
   638     void computeDDKappaDDeltaLambdaDInv(
FloatArray &answer,
   647     double computeDDKappaDDeltaLambdaDKappa(
double sig,
   659                        double tempKappa) 
const;
   664     double computeTempKappa(
double kappaInitial,
   682     virtual double computeDamageParam(
double kappa, 
GaussPoint *gp);
   685     double computeInverseDamage(
double dam, 
GaussPoint *gp);
   697     void initDamaged(
double kappa,
   712     void computeDSigDStress(
FloatArray &answer) 
const;
   721     double computeDRDCosTheta(
double theta, 
double ecc) 
const;
   723     virtual void give3dMaterialStiffnessMatrix(
FloatMatrix &answer,
 
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable. 
 
double ef
Control parameter for the exponential softening law. 
 
LinearElasticMaterial * giveLinearElasticMaterial()
 
virtual MaterialStatus * giveStatus(GaussPoint *gp) const 
Returns material status of receiver in given integration point. 
 
GaussPoint * gp
Associated integration point. 
 
void letTempKappaPBe(double v)
Assign the temp value of the hardening variable of the plasticity model. 
 
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
 
double BHard
Parameter of the ductilityMeasure of the plasticity model. 
 
This class implements a structural material status information. 
 
FloatArray tempPlasticStrain
 
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream. 
 
int giveStateFlag() const 
Get the state flag from the material status. 
 
Concrete_VertexType vertexType
 
double dilationConst
Control parameter for te volumetric plastic flow of the plastic potential. 
 
#define _IFT_ConcreteDPM_Name
 
MatResponseMode
Describes the character of characteristic material matrix. 
 
void letTempPlasticStrainBe(const FloatArray &v)
Assign the temp value of deviatoric plastic strain. 
 
void letTempEquivStrainBe(double v)
Assign the temp value of the hardening variable of the damage model. 
 
const FloatArray & givePlasticStrain() const 
Get the plastic strain deviator from the material status. 
 
This class is a abstract base class for all linear elastic material models in a finite element proble...
 
double thetaTrial
The lode angle of the trial stress. 
 
double giveDeltaEquivStrain() const 
Get the temp value of the hardening variable of the damage model from the material status...
 
double eM
Elastic Young's modulus. 
 
double giveEquivStrain() const 
Get the equivalent strain from the material status. 
 
double kappaD
Hardening variable of damage model. 
 
double giveLe()
Gives the characteristic length. 
 
virtual const char * giveClassName() const 
 
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream. 
 
double giveDeviatoricPlasticStrainNorm()
Get the deviatoric plastic strain norm from the material status. 
 
ConcreteDPMStatus(int n, Domain *d, GaussPoint *gp)
Constructor. 
 
double tempVolumetricPlasticStrain
 
double DHard
Parameter of the ductilityMeasure of the plasticity model. 
 
virtual ~ConcreteDPMStatus()
Destructor. 
 
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record. 
 
LinearElasticMaterial * linearElasticMaterial
Pointer for linear elastic material. 
 
virtual const char * giveClassName() const 
 
double giveTempVolumetricPlasticStrain() const 
Get the temp value of the volumetric plastic strain in plane stress. 
 
double giveEpsLoc() const 
Get the value of omega*ft/E at the expected onset of localization (defined by negative second-order w...
 
virtual const char * giveInputRecordName() const 
 
double yieldTol
Yield tolerance for the plasticity model. 
 
double kappaP
Hardening variable of plasticity model. 
 
double giveKappaD() const 
Get the hardening variable of the damage model from the material status. 
 
virtual void updateYourself(TimeStep *tStep)
Update equilibrium history variables according to temp-variables. 
 
virtual ConcreteDPMStatus * giveStatus(GaussPoint *gp) const 
Returns material status of receiver in given integration point. 
 
double m
The friction parameter of the yield surface. 
 
void letTempKappaDBe(double v)
Assign the temp value of the hardening variable of the damage model. 
 
state_flag_values
Values of history variable state_flag. 
 
void letTempStateFlagBe(int v)
Assign the temp value of the state flag. 
 
double giveTempKappaP() const 
Get the temp value of the hardening variable of the plasticity model from the material status...
 
double yieldHardInitial
Parameter of the hardening law of the plasticity model. 
 
double ASoft
Parameter of the ductilityMeasure of the damage model. 
 
void letDeltaLambdaBe(double v)
Assign the value of deviatoric plastic strain. 
 
Abstract base class representing a material status information. 
 
FloatArray effectiveStress
Stress and its deviatoric part. 
 
int setIPValue(const FloatArray &value, InternalStateType type)
 
double mQ
The dilation parameter of the plastic potential. 
 
Class representing vector of real numbers. 
 
double deltaLambda
Plastic multiplier of the plasticity model. 
 
const FloatArray & giveTempPlasticStrain() const 
Get the temp value of the full plastic strain vector from the material status. 
 
Implementation of matrix containing floating point numbers. 
 
double nu
Elastic Poisson's ration. 
 
IRResultType
Type defining the return values of InputRecord reading operations. 
 
double kM
Elastic bulk modulus. 
 
void letDeltaEquivStrainBe(double v)
Assign the temp value of the damage variable of the damage model. 
 
double sig
the volumetric stress. 
 
double AHard
Parameter of the ductilityMeasure of the plasticity model. 
 
double giveVolumetricPlasticStrain() const 
 
double giveTempKappaD() const 
Get the temp value of the hardening variable of the damage model from the material status...
 
virtual bool isCharacteristicMtrxSymmetric(MatResponseMode rMode)
Returns true if stiffness matrix of receiver is symmetric Default implementation returns true...
 
double rho
The length of the deviatoric stress. 
 
int giveTempStateFlag() const 
Get the temp value of the state flag from the material status. 
 
virtual void restoreConsistency()
Restores consistency of the status, i.e., computes or corrects the values of certain status variables...
 
static double computeDeviatoricVolumetricSplit(FloatArray &dev, const FloatArray &s)
Computes split of receiver into deviatoric and volumetric part. 
 
long ContextMode
Context mode (mask), defining the type of information written/read to/from context. 
 
double gM
Elastic shear modulus. 
 
Abstract base class for all "structural" constitutive models. 
 
void letTempEpslocBe(double v)
History variable of the modified size-dependent adjustment Assign the temp value of the damage variab...
 
double helem
Element size (to be used in fracture energy approach (crack band). 
 
void letTempVolumetricPlasticStrainBe(double v)
Assign the temp value of the volumetric plastic strain in plane stress. 
 
double CHard
Parameter of the ductilityMeasure of the plasticity model. 
 
virtual void initTempStatus()
Initializes the temporary internal variables, describing the current state according to previously re...
 
int newtonIter
Maximum number of iterations for stress return. 
 
double giveTempDamage() const 
Get the temp value of the hardening variable of the damage model from the material status...
 
the oofem namespace is to define a context or scope in which all oofem names are defined. 
 
double damage
Damage variable of damage model. 
 
double giveKappaP() const 
Get the hardening variable of the plasticity model. 
 
double giveDamage() const 
Get the damage variable of the damage model from the material status. 
 
Class representing integration point in finite element program. 
 
This class contains the combination of a local plasticity model for concrete with a local isotropic d...
 
Class representing solution step. 
 
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Print receiver's output to given stream. 
 
void letTempDamageBe(double v)
Assign the temp value of the damage variable of the damage model. 
 
void setLe(double ls)
Sets the characteristic length.