OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
quad1planestrain.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 quad1planestrain_h
36 #define quad1planestrain_h
37 
41 #include "zznodalrecoverymodel.h"
42 #include "sprnodalrecoverymodel.h"
43 #include "spatiallocalizer.h"
44 
45 #define _IFT_Quad1PlaneStrain_Name "quad1planestrain"
46 
47 namespace oofem {
48 class FEI2dQuadLin;
49 
52 //#define Quad1PlaneStrain_reducedShearIntegration
53 //#define Quad1PlaneStrain_reducedVolumetricIntegration
61 {
62 protected:
64 
65 public:
66  Quad1PlaneStrain(int n, Domain *d);
67  virtual ~Quad1PlaneStrain();
68 
69  virtual FEInterpolation *giveInterpolation() const;
71 
73  virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap);
76 
77  // HuertaErrorEstimatorInterface
78  virtual void HuertaErrorEstimatorI_setupRefinedElementProblem(RefinedElement *refinedElement, int level, int nodeId,
79  IntArray &localNodeIdArray, IntArray &globalNodeIdArray,
81  int &localNodeId, int &localElemId, int &localBcId,
82  IntArray &controlNode, IntArray &controlDof,
85 
86 #ifdef __OOFEG
87  virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep);
89  virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep);
90  virtual void drawSpecial(oofegGraphicContext &gc, TimeStep *tStep);
91 #endif
92 
93  // definition & identification
94  virtual const char *giveInputRecordName() const { return _IFT_Quad1PlaneStrain_Name; }
95  virtual const char *giveClassName() const { return "Quad1PlaneStrain"; }
97 
98 protected:
99  virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int = 1, int = ALL_STRAINS);
100  virtual void computeBHmatrixAt(GaussPoint *gp, FloatMatrix &answer);
101 
102  virtual int giveNumberOfIPForMassMtrxIntegration() { return 4; }
103 };
104 } // end namespace oofem
105 #endif // quad1planestrain_h
The element interface required by ZZNodalRecoveryModel.
Class and object Domain.
Definition: domain.h:115
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
virtual Interface * giveInterface(InterfaceType it)
Interface requesting service.
The element interface required by ZZNodalRecoveryModel.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
virtual void HuertaErrorEstimatorI_setupRefinedElementProblem(RefinedElement *refinedElement, int level, int nodeId, IntArray &localNodeIdArray, IntArray &globalNodeIdArray, HuertaErrorEstimatorInterface::SetupMode sMode, TimeStep *tStep, int &localNodeId, int &localElemId, int &localBcId, IntArray &controlNode, IntArray &controlDof, HuertaErrorEstimator::AnalysisMode aMode)
Class implementing an array of integers.
Definition: intarray.h:61
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Class representing a general abstraction for finite element interpolation class.
Definition: feinterpol.h:132
virtual void computeBHmatrixAt(GaussPoint *gp, FloatMatrix &answer)
Computes a matrix which, multiplied by the column matrix of nodal displacements, gives the displaceme...
The element interface corresponding to HuertaErrorEstimator.
UnknownType
Type representing particular unknown (its physical meaning).
Definition: unknowntype.h:55
virtual void HuertaErrorEstimatorI_computeNmatrixAt(GaussPoint *gp, FloatMatrix &answer)
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
virtual const char * giveInputRecordName() const
Quad1PlaneStrain(int n, Domain *d)
virtual int giveNumberOfIPForMassMtrxIntegration()
Return desired number of integration points for consistent mass matrix computation, if required.
#define ALL_STRAINS
virtual void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
virtual const char * giveClassName() const
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
Class representing the general Input Record.
Definition: inputrecord.h:101
Class Interface.
Definition: interface.h:82
Comment or uncomment the following line to force full or reduced integration.
static FEI2dQuadLin interp
The spatial localizer element interface associated to spatial localizer.
InterfaceType
Enumerative type, used to identify interface type.
Definition: interfacetype.h:43
virtual FEInterpolation * giveInterpolation() const
Class representing a 2d isoparametric linear interpolation based on natural coordinates for quadrilat...
Definition: fei2dquadlin.h:45
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void drawSpecial(oofegGraphicContext &gc, TimeStep *tStep)
#define _IFT_Quad1PlaneStrain_Name
Class representing integration point in finite element program.
Definition: gausspoint.h:93
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
Class representing solution step.
Definition: timestep.h:80
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)

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