31 mIncrementLength(0.0),
32 mCrackPropThreshold(0.0),
105 printf(
"Propagating crack in PLMaterialForce :: propagateInterface.\n");
109 dir.
times(1.0/forceNorm);
112 const double cosAngTol = 1.0/sqrt(2.0);
129 printf(
"//////////////////////////////////////////// Resticting crack propagation direction.\n");
The base class for all spatial localizers.
FloatArray mPropagationDir
#define _IFT_PLMaterialForce_IncLength
Increment length per time step.
TipInfo gathers useful information about a crack tip, like its position and tangent direction...
EngngModel * giveEngngModel()
Returns engineering model to which receiver is associated.
#define _IFT_PLMaterialForce_Radius
Radius of region for domain integral.
virtual const char * giveInputRecordName() const
virtual ~PLMaterialForce()
virtual void giveInputRecord(DynamicInputRecord &input)
virtual IRResultType initializeFrom(InputRecord *ir)
double mCrackPropThreshold
double distance(const FloatArray &x) const
Computes the distance between position represented by receiver and position given as parameter...
double dotProduct(const FloatArray &x) const
Computes the dot product (or inner product) of receiver and argument.
Class EnrichmentFront: describes the edge or tip of an XFEM enrichment.
SpatialLocalizer * giveSpatialLocalizer()
Returns receiver's associated spatial localizer.
virtual bool propagationIsAllowed() const
REGISTER_PropagationLaw(PLDoNothing)
std::unique_ptr< MaterialForceEvaluator > mpMaterialForceEvaluator
Class representing vector of real numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
double computeNorm() const
Computes the norm (or length) of the vector.
virtual Element * giveElementClosestToPoint(FloatArray &lcoords, FloatArray &closest, const FloatArray &coords, int region=0)=0
Returns the element closest to a given point.
virtual bool propagateInterface(Domain &iDomain, EnrichmentFront &iEnrFront, TipPropagation &oTipProp)
#define _IFT_PLMaterialForce_CrackPropThreshold
Threshold for crack propagation.
void times(double s)
Multiplies receiver with scalar.
const TipInfo & giveTipInfo() const
double mPropagationLength
virtual TimeStep * giveCurrentStep(bool force=false)
Returns current time step.
Evaluates material forces.
int giveSize() const
Returns the size of receiver.
the oofem namespace is to define a context or scope in which all oofem names are defined.
double normalize()
Normalizes receiver.
Class representing solution step.
void add(const FloatArray &src)
Adds array src to receiver.
Propagation law that propagates the crack in the direction of the material force. ...