OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
hyperelasticmaterial.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 hyperelasticmaterial_h
36 #define hyperelasticmaterial_h
37 
38 #include "../sm/Materials/structuralmaterial.h"
39 #include "../sm/Materials/structuralms.h"
40 
42 
43 #define _IFT_HyperElasticMaterial_Name "hyperelmat"
44 #define _IFT_HyperElasticMaterial_k "k"
45 #define _IFT_HyperElasticMaterial_g "g"
46 
47 
48 namespace oofem {
54 {
55 protected:
56  double K;
57  double G;
58 
59 public:
60  HyperElasticMaterial(int n, Domain * d);
61 
63 
64  virtual void give3dMaterialStiffnessMatrix(FloatMatrix &answer,
65  MatResponseMode mode, GaussPoint *gp,
66  TimeStep *tStep);
67 
68 
69  virtual void giveRealStressVector_3d(FloatArray &answer, GaussPoint *gp,
70  const FloatArray &reducedStrain, TimeStep *tStep);
71 
72  virtual MaterialStatus *CreateStatus(GaussPoint *gp) const;
73 
74  virtual const char *giveInputRecordName() const { return _IFT_HyperElasticMaterial_Name; }
75  virtual const char *giveClassName() const { return "HyperElasticMaterial"; }
76 };
77 } // end namespace oofem
78 #endif
#define _IFT_HyperElasticMaterial_Name
Class and object Domain.
Definition: domain.h:115
virtual const char * giveClassName() const
MatResponseMode
Describes the character of characteristic material matrix.
virtual void giveRealStressVector_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
HyperElasticMaterial(int n, Domain *d)
Abstract base class representing a material status information.
Definition: matstatus.h:84
Class representing vector of real numbers.
Definition: floatarray.h:82
Implementation of matrix containing floating point numbers.
Definition: floatmatrix.h:94
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
virtual void give3dMaterialStiffnessMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes full 3d material stiffness matrix at given integration point, time, respecting load history ...
Class representing the general Input Record.
Definition: inputrecord.h:101
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
Saint Venant–Kirchhoff model defined by shear and bulk modulus.
Abstract base class for all "structural" constitutive models.
virtual const char * giveInputRecordName() const
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class representing integration point in finite element program.
Definition: gausspoint.h:93
Class representing solution step.
Definition: timestep.h:80
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.

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:29 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011