OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
ltrspace.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 ltrspace_h
36 #define ltrspace_h
37 
41 #include "zznodalrecoverymodel.h"
43 #include "sprnodalrecoverymodel.h"
44 #include "spatiallocalizer.h"
47 
48 #define _IFT_LTRSpace_Name "ltrspace"
49 
50 namespace oofem {
51 class FEI3dTetLin;
52 
62 {
63 protected:
65 
66 public:
67  LTRSpace(int n, Domain * d);
68  virtual ~LTRSpace() { }
69 
70  virtual FEInterpolation *giveInterpolation() const;
71 
72  virtual void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep);
73  virtual int giveNumberOfIPForMassMtrxIntegration() { return 4; }
75 
76  // definition & identification
77  virtual const char *giveInputRecordName() const { return _IFT_LTRSpace_Name; }
78  virtual const char *giveClassName() const { return "LTRSpace"; }
79 
80 #ifdef __OOFEG
81  virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep);
83  virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep);
84  virtual void drawSpecial(oofegGraphicContext &gc, TimeStep *tStep);
85 #endif
86 
87  virtual double giveRelativeSelfComputationalCost() { return 2.15; }
88 
90  InternalStateType type, TimeStep *tStep);
91 
93  virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap);
96 
97  // HuertaErrorEstimatorInterface
98  virtual void HuertaErrorEstimatorI_setupRefinedElementProblem(RefinedElement *refinedElement, int level, int nodeId,
99  IntArray &localNodeIdArray, IntArray &globalNodeIdArray,
101  int &localNodeId, int &localElemId, int &localBcId,
102  IntArray &controlNode, IntArray &controlDof,
105 
106 protected:
107 
114 };
115 } // end namespace oofem
116 #endif // ltrspace_h
virtual void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep)
Computes lumped mass matrix of receiver.
Definition: ltrspace.C:103
virtual IntegrationRule * GetSurfaceIntegrationRule(int)
Definition: ltrspace.C:510
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The element interface required by NodalAvergagingRecoveryModel.
The element interface required by ZZNodalRecoveryModel.
Class and object Domain.
Definition: domain.h:115
virtual void drawSpecial(oofegGraphicContext &gc, TimeStep *tStep)
Definition: ltrspace.C:400
The element interface required by ZZNodalRecoveryModel.
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
Definition: ltrspace.C:124
Class representing implementation of linear tetrahedra interpolation class.
Definition: fei3dtetlin.h:44
This class implements a linear tetrahedral four-node finite element for stress analysis.
Definition: ltrspace.h:57
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual const char * giveClassName() const
Definition: ltrspace.h:78
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
Definition: ltrspace.C:262
Class implementing an array of integers.
Definition: intarray.h:61
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)
Definition: ltrspace.C:151
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)
Definition: ltrspace.C:183
LTRSpace(int n, Domain *d)
Definition: ltrspace.C:61
Abstract base class representing integration rule.
Class representing a general abstraction for finite element interpolation class.
Definition: feinterpol.h:132
The element interface corresponding to ZZErrorEstimator.
The element interface corresponding to HuertaErrorEstimator.
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
Definition: ltrspace.C:171
UnknownType
Type representing particular unknown (its physical meaning).
Definition: unknowntype.h:55
#define _IFT_LTRSpace_Name
Definition: ltrspace.h:48
virtual Interface * giveInterface(InterfaceType it)
Interface requesting service.
Definition: ltrspace.C:74
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
Definition: ltrspace.C:176
Class representing vector of real numbers.
Definition: floatarray.h:82
Implementation of matrix containing floating point numbers.
Definition: floatmatrix.h:94
virtual ~LTRSpace()
Definition: ltrspace.h:68
Class Interface.
Definition: interface.h:82
virtual FEInterpolation * giveInterpolation() const
Definition: ltrspace.C:95
virtual int giveNumberOfIPForMassMtrxIntegration()
Return desired number of integration points for consistent mass matrix computation, if required.
Definition: ltrspace.h:73
Base class 3D elements.
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
Definition: ltrspace.C:303
virtual double giveRelativeSelfComputationalCost()
Returns the weight representing relative computational cost of receiver The reference element is tria...
Definition: ltrspace.h:87
The spatial localizer element interface associated to spatial localizer.
InterfaceType
Enumerative type, used to identify interface type.
Definition: interfacetype.h:43
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual const char * giveInputRecordName() const
Definition: ltrspace.h:77
virtual void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
Definition: ltrspace.C:140
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
Definition: ltrspace.C:338
static FEI3dTetLin interpolation
Definition: ltrspace.h:64
Class representing integration point in finite element program.
Definition: gausspoint.h:93
Class representing solution step.
Definition: timestep.h:80
virtual void HuertaErrorEstimatorI_computeNmatrixAt(GaussPoint *gp, FloatMatrix &answer)
Definition: ltrspace.C:254

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