OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
ncprincipalstress.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 SRC_SM_XFEM_NUCLEATIONCRITERIA_NCPRINCIPALSTRESS_H_
36 #define SRC_SM_XFEM_NUCLEATIONCRITERIA_NCPRINCIPALSTRESS_H_
37 
38 #define _IFT_NCPrincipalStress_Name "ncprincipalstress"
39 #define _IFT_NCPrincipalStress_StressThreshold "stressthreshold"
40 #define _IFT_NCPrincipalStress_InitialCrackLength "initialcracklength"
41 #define _IFT_NCPrincipalStress_MatForceRadius "matforceradius"
42 #define _IFT_NCPrincipalStress_IncrementLength "incrementlength"
43 #define _IFT_NCPrincipalStress_CrackPropThreshold "crackpropthreshold"
44 
46 
47 #include <memory>
48 
49 namespace oofem {
50 
52 public:
53  NCPrincipalStress(Domain *ipDomain);
54  virtual ~NCPrincipalStress();
55 
56  virtual std::vector<std::unique_ptr<EnrichmentItem>> nucleateEnrichmentItems();
57 
59 
60  virtual void appendInputRecords(DynamicDataReader &oDR);
61 
63  virtual const char *giveClassName() const {return "NCPrincipalStress";}
65  virtual const char *giveInputRecordName() const {return _IFT_NCPrincipalStress_Name;};
66 
67 protected:
68  double mStressThreshold;
73 
75  bool mCutOneEl;
76 
79 };
80 
81 } /* namespace oofem */
82 
83 #endif /* SRC_SM_XFEM_NUCLEATIONCRITERIA_NCPRINCIPALSTRESS_H_ */
Class and object Domain.
Definition: domain.h:115
virtual const char * giveClassName() const
Class representing the implementation of a dynamic data reader for in-code use.
#define _IFT_NCPrincipalStress_Name
virtual IRResultType initializeFrom(InputRecord *ir)
virtual void appendInputRecords(DynamicDataReader &oDR)
virtual const char * giveInputRecordName() const
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
Class representing the general Input Record.
Definition: inputrecord.h:101
int mCrossSectionInd
Index of the cross section that the nucleation criterion applies to.
bool mCutOneEl
If the initiated crack should cut exactly one element.
the oofem namespace is to define a context or scope in which all oofem names are defined.
NCPrincipalStress(Domain *ipDomain)
virtual std::vector< std::unique_ptr< EnrichmentItem > > nucleateEnrichmentItems()

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