OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
trplanestressrotallman.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 trplanestressrotallman_h
36 #define trplanestressrotallman_h
37 
38 #include "../sm/Elements/PlaneStress/trplanstrss.h"
39 #include "../sm/CrossSections/layeredcrosssection.h"
40 
41 
43 
44 #define _IFT_TrPlanestressRotAllman_Name "trplanestressrotallman"
45 
46 
47 namespace oofem {
48 class FEI2dTrQuad;
49 
60 {
61 protected:
62  static FEI2dTrQuad qinterpolation; // quadratic interpolation for constructing shape functons
63 
64 public:
67 
68 
69 
70 protected:
71  virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int = 1, int = ALL_STRAINS);
72  virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer);
73 
74  virtual double giveArea();
75  virtual void computeLocalNodalCoordinates(std::vector< FloatArray > &lxy);
84 public:
85  // definition & identification
86  virtual const char *giveInputRecordName() const { return _IFT_TrPlanestressRotAllman_Name; }
87  virtual const char *giveClassName() const { return "TrPlanestressRotAllman"; }
89  virtual MaterialMode giveMaterialMode() { return _PlaneStress; }
92  virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep);
93  virtual void computeGaussPoints();
94  virtual int computeNumberOfDofs() { return 9; }
95  virtual void giveDofManDofIDMask(int inode, IntArray &) const;
96 
98  // layered cross section support functions
99  virtual void computeStrainVectorInLayer(FloatArray &answer, const FloatArray &masterGpStrain,
100  GaussPoint *masterGp, GaussPoint *slaveGp, TimeStep *tStep);
101 
102  void computeBoundaryEdgeLoadVector(FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global);
103  void computeEgdeNMatrixAt(FloatMatrix &answer, int iedge, GaussPoint *gp);
104  void giveEdgeDofMapping(IntArray &answer, int iEdge) const;
106 };
107 } // end namespace oofem
108 #endif // trplanestressrotallman_h
integrationDomain
Used by integrator class to supply integration points for proper domain to be integrated (Area...
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
Class and object Domain.
Definition: domain.h:115
#define _IFT_TrPlanestressRotAllman_Name
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
Definition: valuemodetype.h:78
Interface * giveInterface(InterfaceType interface)
Interface requesting service.
MaterialMode
Type representing material mode of integration point.
Definition: materialmode.h:89
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
Class implementing an array of integers.
Definition: intarray.h:61
MatResponseMode
Describes the character of characteristic material matrix.
void computeStiffnessMatrixZeroEnergyStabilization(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
Computes the stiffness matrix stabilization of zero energy mode (equal rotations) ...
void giveEdgeDofMapping(IntArray &answer, int iEdge) const
Assembles edge dof mapping mask, which provides mapping between edge local DOFs and "global" element ...
virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
Computes the stiffness matrix of receiver.
virtual const char * giveInputRecordName() const
virtual int computeNumberOfDofs()
Computes or simply returns total number of element&#39;s local DOFs.
virtual void computeLocalNodalCoordinates(std::vector< FloatArray > &lxy)
Abstract base class representing a boundary load (force, momentum, ...) that acts directly on a bound...
Definition: boundaryload.h:110
void computeEgdeNMatrixAt(FloatMatrix &answer, int iedge, GaussPoint *gp)
void computeBoundaryEdgeLoadVector(FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global)
Computes the contribution of the given load at the given boundary edge.
virtual void computeStrainVectorInLayer(FloatArray &answer, const FloatArray &masterGpStrain, GaussPoint *masterGp, GaussPoint *slaveGp, TimeStep *tStep)
Computes full 3D strain vector in element layer.
virtual const char * giveClassName() const
virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer)
Computes interpolation matrix for element unknowns.
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
#define ALL_STRAINS
virtual void giveDofManDofIDMask(int inode, IntArray &) const
Returns dofmanager dof mask for node.
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
CharType
Definition: chartype.h:87
Class representing the general Input Record.
Definition: inputrecord.h:101
virtual integrationDomain giveIntegrationDomain() const
Returns integration domain for receiver, used to initialize integration point over receiver volume...
This class implements an triangular three-node plane-stress elasticity finite element.
Definition: trplanstrss.h:60
Class Interface.
Definition: interface.h:82
InterfaceType
Enumerative type, used to identify interface type.
Definition: interfacetype.h:43
The element interface required by LayeredCrossSection.
Second order triangular interpolation in 2D (6 nodes).
Definition: fei2dtrquad.h:44
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Class representing integration point in finite element program.
Definition: gausspoint.h:93
Class representing solution step.
Definition: timestep.h:80
Class implements an triangular three-node plane- stress elasticity finite element with independentver...

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