OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
solidshell.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 solidshell_h
36 #define solidshell_h
37 
38 #include "Elements/3D/lspace.h"
39 
40 
41 #define _IFT_SolidShell_Name "solidshell"
42 
43 // EAS parameters
44 #define _IFT_SolidShell_EAS_type "eas_type"
45 
46 
47 namespace oofem {
48 class FEI3dHexaLin;
49 
56 class SolidShell : public LSpace
57 {
58 protected:
60 
61 public:
62  SolidShell(int n, Domain * d);
63  virtual ~SolidShell() { }
64  virtual FEInterpolation *giveInterpolation() const;
65  virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int lowerIndx = 1, int upperIndx = ALL_STRAINS);
66  virtual void computeBHmatrixAt(GaussPoint *gp, FloatMatrix &answer);
67  virtual void computeBHmatrixAt(FloatArray &lCoords, FloatMatrix &answer);
68 
69  virtual void computeBEmatrixAt(GaussPoint *gp, FloatMatrix &answer, TimeStep *tStep);
70  virtual void computeGaussPoints();
71  virtual void computeEASBmatrixAt(GaussPoint *gp, FloatMatrix &answer);
72  virtual void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord);
73  virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep);
74  void computeGeometricStiffness(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep);
75 
76  void computeFVector(FloatArray &answer, FloatArray &lCoords, FloatArray &ae);
77  void computeEVector(FloatArray &answer, FloatArray &lCoords, FloatArray &ae);
78  void computeEASfield(FloatArray &answer, TimeStep *tStep);
79 
80  // definition & identification
81  virtual const char *giveInputRecordName() const { return _IFT_LSpace_Name; }
82  virtual const char *giveClassName() const { return "SolidShell"; }
84 
85  // variables associated with EAS
86  int EAS_type;
93  void computeAlpha(FloatArray &answer, FloatArray &u);
94 
96  virtual void postInitialize();
97  virtual int checkConsistency(){ return 1; };
98 
99 
100  private:
101  void x(int arg1);
102 };
103 } // end namespace oofem
104 #endif
Class representing implementation of linear hexahedra interpolation class.
Definition: fei3dhexalin.h:44
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
Definition: solidshell.C:88
FloatMatrix KEC
Definition: solidshell.h:91
Class and object Domain.
Definition: domain.h:115
#define _IFT_LSpace_Name
Definition: lspace.h:45
FloatMatrix invKEE
Definition: solidshell.h:90
static FEI3dHexaLin interpolation
Definition: solidshell.h:59
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int lowerIndx=1, int upperIndx=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
Definition: solidshell.C:126
virtual void computeEASBmatrixAt(GaussPoint *gp, FloatMatrix &answer)
Definition: solidshell.C:277
void computeEVector(FloatArray &answer, FloatArray &lCoords, FloatArray &ae)
Definition: solidshell.C:633
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Definition: solidshell.C:102
void computeFVector(FloatArray &answer, FloatArray &lCoords, FloatArray &ae)
Definition: solidshell.C:617
FloatArray tempAlpha
Definition: solidshell.h:87
void computeBondTransformationMatrix(FloatMatrix &answer, FloatMatrix &base)
Definition: solidshell.C:328
MatResponseMode
Describes the character of characteristic material matrix.
virtual void computeBHmatrixAt(GaussPoint *gp, FloatMatrix &answer)
Computes a matrix which, multiplied by the column matrix of nodal displacements, gives the displaceme...
Definition: solidshell.C:265
FloatArray u_k
Definition: solidshell.h:89
Class representing a general abstraction for finite element interpolation class.
Definition: feinterpol.h:132
virtual const char * giveClassName() const
Definition: solidshell.h:82
void computeEASfield(FloatArray &answer, TimeStep *tStep)
void x(int arg1)
virtual int checkConsistency()
Performs consistency check.
Definition: solidshell.h:97
This class implements a Linear 8-noded shell like solid with ANS and EAS to remove and reduce certain...
Definition: solidshell.h:56
SolidShell(int n, Domain *d)
Definition: solidshell.C:48
#define ALL_STRAINS
Class representing vector of real numbers.
Definition: floatarray.h:82
virtual void postInitialize()
Performs post initialization steps.
Definition: solidshell.C:57
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 const char * giveInputRecordName() const
Definition: solidshell.h:81
FloatArray fE
Definition: solidshell.h:92
This class implements a Linear 3d 8-node finite element for stress analysis.
Definition: lspace.h:60
Class representing the general Input Record.
Definition: inputrecord.h:101
virtual ~SolidShell()
Definition: solidshell.h:63
virtual FEInterpolation * giveInterpolation() const
Definition: solidshell.C:98
FloatArray alpha
Definition: solidshell.h:88
void computeAlpha(FloatArray &answer, FloatArray &u)
Definition: solidshell.C:348
virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
Computes the stiffness matrix of receiver.
Definition: solidshell.C:449
virtual void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
Evaluates nodal representation of real internal forces.
Definition: solidshell.C:371
virtual void computeBEmatrixAt(GaussPoint *gp, FloatMatrix &answer, TimeStep *tStep)
Definition: solidshell.C:522
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
void computeGeometricStiffness(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
Definition: solidshell.C:702
Class representing solution step.
Definition: timestep.h:80

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