63 double gn = jump.
at(1);
64 double gs1 = jump.
at(2);
65 double gs2 = jump.
at(3);
66 double gs = sqrt(gs1 * gs1 + gs2 * gs2);
70 double tn =
GIc /
gn0 *exp(-xin) * ( xin * exp(-xit * xit) + ( 1.0 -
q ) / (
r - 1.0 ) * ( 1.0 - exp(-xit * xit) ) * (
r - xin ) );
90 double gn = jumpVector.
at(1);
91 double gs1 = jumpVector.
at(2);
92 double gs2 = jumpVector.
at(3);
93 double gs = sqrt(gs1 * gs1 + gs2 * gs2);
95 if ( rMode == TangentStiffness ) {
101 double dtndgn =
GIc /
gn0 /
gn0 *exp(-xin) *
102 ( ( 1.0 - xin ) * exp(-xit * xit) + ( 1.0 -
q ) / (
r - 1.0 ) * ( 1.0 - exp(-xit * xit) ) * ( -
r + xin - 1.0 ) );
104 answer.
at(1, 1) = dtndgn;
139 if ( this->
GIc < 0.0 ) {
155 printf(
"Paramters for ExpCZMaterial: \n");
157 printf(
"-Strength paramters \n");
158 printf(
" sigfn = %e \n", this->
sigfn);
159 printf(
" GIc = %e \n", this->
GIc);
160 printf(
" GIIc = %e \n", this->
GIIc);
163 printf(
"-jump limits \n");
164 printf(
" gn0 = %e \n", this->
gn0);
165 printf(
" gs0 = %e \n", this->
gs0);
167 printf(
"-other parameters \n");
168 printf(
" q = %e \n", this->
q);
169 printf(
" r = %e \n", this->
r);
221 if ( !stream.
write(kappa) ) {
225 if ( !stream.
write(damage) ) {
243 if ( !stream.
read(kappa) ) {
247 if ( !stream.
read(damage) ) {
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
Returns material status of receiver in given integration point.
virtual ~ExpCZMaterial()
Destructor.
virtual void printYourself()
Prints receiver state on stdout. Useful for debugging.
virtual int checkConsistency()
Allows programmer to test some internal data, before computation begins.
double gs0
shear jump at damage initiations
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
double & at(int i)
Coefficient access function.
This class implements associated status to ExpCZMaterial.
virtual void initTempStatus()
Initializes the temporary internal variables, describing the current state according to previously re...
virtual int read(int *data, int count)=0
Reads count integer values into array pointed by data.
MatResponseMode
Describes the character of characteristic material matrix.
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
virtual void updateYourself(TimeStep *tStep)
Update equilibrium history variables according to temp-variables.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
virtual int write(const int *data, int count)=0
Writes count integer values from array pointed by data.
ExpCZMaterial(int n, Domain *d)
Constructor.
virtual void give3dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
void letTempJumpBe(FloatArray v)
Assigns tempJump to given vector v.
This class implements a structural interface material status information.
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Print receiver's output to given stream.
double at(int i, int j) const
Coefficient access function.
ExpCZMaterialStatus(int n, Domain *d, GaussPoint *g)
Constructor.
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Print receiver's output to given stream.
Class representing vector of real numbers.
virtual ~ExpCZMaterialStatus()
Destructor.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
double gn0
normal jump at damage initiation
virtual void updateYourself(TimeStep *tStep)
Update equilibrium history variables according to temp-variables.
virtual void giveEngTraction_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &jump, TimeStep *tStep)
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
#define _IFT_ExpCZMaterial_sigfn
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
void zero()
Zeroes all coefficient of receiver.
void letTempTractionBe(FloatArray v)
Assigns tempTraction to given vector v.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Abstract base class for all "structural" interface models.
the oofem namespace is to define a context or scope in which all oofem names are defined.
const FloatArray & giveTempJump() const
Returns the const pointer to receiver's temporary jump.
virtual void initTempStatus()
Initializes the temporary internal variables, describing the current state according to previously re...
#define _IFT_ExpCZMaterial_g1c
Class representing integration point in finite element program.
#define OOFEM_WARNING(...)
Class representing solution step.
void resize(int s)
Resizes receiver towards requested size.