OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
plhoopstresscirc.h
Go to the documentation of this file.
1 /*
2  *
3  * ##### ##### ###### ###### ### ###
4  * ## ## ## ## ## ## ## ### ##
5  * ## ## ## ## #### #### ## # ##
6  * ## ## ## ## ## ## ## ##
7  * ## ## ## ## ## ## ## ##
8  * ##### ##### ## ###### ## ##
9  *
10  *
11  * OOFEM : Object Oriented Finite Element Code
12  *
13  * Copyright (C) 1993 - 2013 Borek Patzak
14  *
15  *
16  *
17  * Czech Technical University, Faculty of Civil Engineering,
18  * Department of Structural Mechanics, 166 29 Prague, Czech Republic
19  *
20  * This library is free software; you can redistribute it and/or
21  * modify it under the terms of the GNU Lesser General Public
22  * License as published by the Free Software Foundation; either
23  * version 2.1 of the License, or (at your option) any later version.
24  *
25  * This program is distributed in the hope that it will be useful,
26  * but WITHOUT ANY WARRANTY; without even the implied warranty of
27  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28  * Lesser General Public License for more details.
29  *
30  * You should have received a copy of the GNU Lesser General Public
31  * License along with this library; if not, write to the Free Software
32  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33  */
34 
35 #ifndef PLHOOPSTRESSCIRC_H_
36 #define PLHOOPSTRESSCIRC_H_
37 
38 #include "xfem/propagationlaw.h"
39 
40 #define _IFT_PLHoopStressCirc_Name "propagationlawhoopstresscirc"
41 #define _IFT_PLHoopStressCirc_Radius "radius"
42 #define _IFT_PLHoopStressCirc_AngleInc "angleinc"
43 #define _IFT_PLHoopStressCirc_IncLength "incrementlength"
44 #define _IFT_PLHoopStressCirc_HoopStressThreshold "hoopstressthreshold"
45 #define _IFT_PLHoopStressCirc_RadialBasisFunc "useradialbasisfunc"
46 
47 namespace oofem {
48 class Domain;
49 class EnrichmentDomain;
50 class DynamicInputRecord;
51 
52 
75 class OOFEM_EXPORT PLHoopStressCirc : public PropagationLaw
76 {
77 public:
78  PLHoopStressCirc() : mRadius(0.0), mAngleInc(0.0), mIncrementLength(0.0), mHoopStressThreshold(0.0), mUseRadialBasisFunc(false) { }
79  virtual ~PLHoopStressCirc() { }
80 
81  virtual const char *giveClassName() const { return "PLHoopStressCirc"; }
82  virtual const char *giveInputRecordName() const { return _IFT_PLHoopStressCirc_Name; }
83 
84  virtual IRResultType initializeFrom(InputRecord *ir);
85  virtual void giveInputRecord(DynamicInputRecord &input);
86 
87  virtual bool hasPropagation() const { return mIncrementLength > 0.; }
88  virtual bool propagateInterface(Domain &iDomain, EnrichmentFront &iEnrFront, TipPropagation &oTipProp);
89 
90  void setRadius(double iRadius) {mRadius = std::move(iRadius);}
91  void setAngleInc(double iAngleInc) {mAngleInc = std::move(iAngleInc);}
92  void setIncrementLength(double iIncrementLength) {mIncrementLength = std::move(iIncrementLength);}
93  void setHoopStressThreshold(double iHoopStressThreshold) {mHoopStressThreshold = std::move(iHoopStressThreshold);}
94  void setUseRadialBasisFunc(bool iUseRadialBasisFunc) {mUseRadialBasisFunc = std::move(iUseRadialBasisFunc);}
95 
96 protected:
97  double mRadius, mAngleInc, mIncrementLength, mHoopStressThreshold;
99 };
100 } // end namespace oofem
101 
102 
103 #endif /* PLHOOPSTRESSCIRC_H_ */
Class and object Domain.
Definition: domain.h:115
void setRadius(double iRadius)
void setUseRadialBasisFunc(bool iUseRadialBasisFunc)
Updates the geometry of evolving XFEM interfaces.
void setAngleInc(double iAngleInc)
virtual bool hasPropagation() const
Propagation law that propagates the crack in the direction that gives .
void setIncrementLength(double iIncrementLength)
Class EnrichmentFront: describes the edge or tip of an XFEM enrichment.
virtual const char * giveInputRecordName() const
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
void setHoopStressThreshold(double iHoopStressThreshold)
Class representing the general Input Record.
Definition: inputrecord.h:101
Class representing the a dynamic Input Record.
virtual const char * giveClassName() const
#define _IFT_PLHoopStressCirc_Name
the oofem namespace is to define a context or scope in which all oofem names are defined.

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:30 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011