37 #include "../sm/CrossSections/simplecrosssection.h" 38 #include "../sm/Materials/structuralms.h" 48 double _E,
double _nu) :
55 G =
E / ( 2.0 * ( 1. +
nu ) );
72 G =
E / ( 2.0 * ( 1. +
nu ) );
100 if ( ( aProperty ==
NYxy ) || ( aProperty ==
NYxz ) || ( aProperty ==
NYyz ) ) {
104 if ( ( aProperty ==
'G' ) || ( aProperty ==
Gyz ) || ( aProperty ==
Gxz ) ||
105 ( aProperty ==
Gxy ) ) {
109 if ( ( aProperty ==
'E' ) || ( aProperty ==
Ex ) || ( aProperty ==
Ey ) ||
110 ( aProperty ==
Ez ) ) {
114 if ( ( aProperty ==
'n' ) || ( aProperty ==
NYzx ) || ( aProperty ==
NYzy ) ||
115 ( aProperty ==
NYyx ) ) {
137 ee = e / ( ( 1. +
nu ) * ( 1. - 2. * nu ) );
141 answer.
at(1, 1) = 1. -
nu;
142 answer.
at(1, 2) =
nu;
143 answer.
at(1, 3) =
nu;
144 answer.
at(2, 1) =
nu;
145 answer.
at(2, 2) = 1. -
nu;
146 answer.
at(2, 3) =
nu;
147 answer.
at(3, 1) =
nu;
148 answer.
at(3, 2) =
nu;
149 answer.
at(3, 3) = 1. -
nu;
151 answer.
at(4, 4) = ( 1. - 2. *
nu ) * 0.5;
152 answer.
at(5, 5) = ( 1. - 2. *
nu ) * 0.5;
153 answer.
at(6, 6) = ( 1. - 2. *
nu ) * 0.5;
170 double e,
nu, ee, shear;
174 ee = e / ( 1. - nu *
nu );
180 answer.
at(1, 1) = ee;
181 answer.
at(1, 2) = nu * ee;
182 answer.
at(2, 1) = nu * ee;
183 answer.
at(2, 2) = ee;
184 answer.
at(3, 3) = shear;
198 double e,
nu, ee, shear;
202 ee = e / ( 1.0 +
nu ) / ( 1. - 2.0 * nu );
208 answer.
at(1, 1) = ee * ( 1.0 -
nu );
209 answer.
at(1, 2) = nu * ee;
210 answer.
at(1, 3) = nu * ee;
211 answer.
at(2, 1) = nu * ee;
212 answer.
at(2, 2) = ee * ( 1.0 -
nu );
213 answer.
at(2, 3) = nu * ee;
214 answer.
at(3, 1) = ee *
nu;
215 answer.
at(3, 2) = ee *
nu;
216 answer.
at(3, 3) = ee * ( 1.0 -
nu );
217 answer.
at(4, 4) = shear;
232 answer.
at(1, 1) = this->
E;
253 answer.
at(1) = alpha;
254 answer.
at(2) = alpha;
255 answer.
at(3) = alpha;
virtual void givePlaneStressStiffMtrx(FloatMatrix &answer, MatResponseMode, GaussPoint *gp, TimeStep *tStep)
Method for computing plane stress stiffness matrix of receiver.
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
Returns material status of receiver in given integration point.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
double nu
Poisson's ratio.
double & at(int aKey)
Returns the value of the pair which key is aKey.
IsotropicLinearElasticMaterial(int n, Domain *d)
Creates a new IsotropicLinearElasticMaterial class instance with given number belonging to domain d...
double & at(int i)
Coefficient access function.
double preCastStiffnessReduction
artificial isotropic damage to reflect reduction in stiffness for time < castingTime.
Dictionary propertyDictionary
Property dictionary.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
MatResponseMode
Describes the character of characteristic material matrix.
This class is a abstract base class for all linear elastic material models in a finite element proble...
virtual double give(int aProperty, GaussPoint *gp)
Returns the value of material property 'aProperty'.
#define _IFT_IsotropicLinearElasticMaterial_talpha
#define _IFT_IsotropicLinearElasticMaterial_n
virtual void give3dMaterialStiffnessMatrix(FloatMatrix &answer, MatResponseMode, GaussPoint *gp, TimeStep *tStep)
Computes full 3d material stiffness matrix at given integration point, time, respecting load history ...
void times(double f)
Multiplies receiver by factor f.
virtual void givePlaneStrainStiffMtrx(FloatMatrix &answer, MatResponseMode, GaussPoint *gp, TimeStep *tStep)
Method for computing plane strain stiffness matrix of receiver.
#define _IFT_IsotropicLinearElasticMaterial_e
double at(int i, int j) const
Coefficient access function.
double giveIntrinsicTime()
Returns intrinsic time, e.g. time in which constitutive model is evaluated.
Pair * add(int aKey, double value)
Adds a new Pair with given keyword and value into receiver.
Class representing vector of real numbers.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
virtual void give1dStressStiffMtrx(FloatMatrix &answer, MatResponseMode, GaussPoint *gp, TimeStep *tStep)
Method for computing 1d stiffness matrix of receiver.
void zero()
Zeroes all coefficients of receiver.
virtual void giveThermalDilatationVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
Returns a vector of coefficients of thermal dilatation in direction of each material principal (local...
void zero()
Zeroes all coefficient of receiver.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
virtual double give(int aProperty, GaussPoint *gp)
Returns the value of material property 'aProperty'.
REGISTER_Material(DummyMaterial)
double castingTime
Casting time.
the oofem namespace is to define a context or scope in which all oofem names are defined.
double E
Young's modulus.
Class representing integration point in finite element program.
Class representing solution step.
void resize(int s)
Resizes receiver towards requested size.