62 if ( mode == _3dInterface ) {
80 answer.
at(1) = g *
k*jump.
at(1);
81 answer.
at(2) = g *
k*jump.
at(2);
83 if ( jump.
at(3) > 0.0 ) {
84 answer.
at(3) = g *
k*jump.
at(3);
86 answer.
at(3) =
k*jump.
at(3);
89 double drivingEnergy = 0.5*
k*jump.
at(1)*jump.
at(1) + 0.5*
k*jump.
at(2)*jump.
at(2);
90 if ( jump.
at(3) > 0.0 ) {
91 drivingEnergy += 0.5*
k*jump.
at(3)*jump.
at(3);
119 answer.
at(1, 1) = g*
k;
120 answer.
at(2, 2) = g*
k;
122 if ( jump.
at(3) > 0.0 ) {
123 answer.
at(3,3) = g *
k;
149 if ( jump.
at(3) > 0.0 ) {
156 Djd.
at(1, 1) = gPrime*k * jump.
at(1);
157 Djd.
at(2, 2) = gPrime*k * jump.
at(1);
158 if ( jump.
at(3) > 0.0 ) {
159 Djd.
at(3,3) = gPrime * k * jump.
at(1);
214 return (1.0 - d) * (1.0 - d) + r0;
222 return -2.0 * (1.0 - d);
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
Returns material status of receiver in given integration point.
virtual void updateYourself(TimeStep *tStep)
Update equilibrium history variables according to temp-variables.
IntMatPhaseFieldStatus(int n, Domain *d, GaussPoint *g)
virtual int hasMaterialModeCapability(MaterialMode mode)
Tests if material supports material mode.
double & at(int i)
Coefficient access function.
virtual void give3dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
double tempDamage
damage variable
double compute_g(const double d)
#define _IFT_IntMatPhaseField_kn
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
Development cz-model using phase field.
MaterialMode
Type representing material mode of integration point.
MatResponseMode
Describes the character of characteristic material matrix.
virtual void updateYourself(TimeStep *tStep)
Update equilibrium history variables according to temp-variables.
double compute_gBis(const double d)
virtual ~IntMatPhaseField()
IntMatPhaseField(int n, Domain *d)
virtual void giveTangents(FloatMatrix &jj, FloatMatrix &jd, FloatMatrix &dj, FloatMatrix &dd, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
void letTempJumpBe(FloatArray v)
Assigns tempJump to given vector v.
double compute_gPrime(const double d)
void letTempDrivingEnergyBe(double val)
This class implements a structural interface material status information.
virtual double giveDrivingForce(GaussPoint *gp)
double at(int i, int j) const
Coefficient access function.
#define _IFT_IntMatPhaseField_gc
double giveTempDrivingEnergy()
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
virtual void giveEngTraction_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &jump, const double damage, TimeStep *tStep)
IRResultType
Type defining the return values of InputRecord reading operations.
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
void beTranspositionOf(const FloatMatrix &src)
Assigns to the receiver the transposition of parameter.
void zero()
Zeroes all coefficient of receiver.
REGISTER_Material(DummyMaterial)
void letTempTractionBe(FloatArray v)
Assigns tempTraction to given vector v.
int giveSize() const
Returns the size of receiver.
virtual void initTempStatus()
Initializes the temporary internal variables, describing the current state according to previously re...
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(GaussPoint *gp)
Initializes temporary variables stored in integration point status at the beginning of new time step...
virtual void initTempStatus()
Initializes the temporary internal variables, describing the current state according to previously re...
virtual double giveDrivingForcePrime(GaussPoint *gp)
Class representing integration point in finite element program.
Class representing solution step.
void resize(int s)
Resizes receiver towards requested size.