OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
qspace.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 qspace_h
36 #define qspace_h
37 
40 #include "zznodalrecoverymodel.h"
42 #include "sprnodalrecoverymodel.h"
43 
44 #define _IFT_QSpace_Name "qspace"
45 
46 namespace oofem {
47 class FEI3dHexaQuad;
48 
56 {
57 protected:
59 
61 
62 public:
63  QSpace(int n, Domain * d);
64  virtual ~QSpace() { }
65 
66  virtual FEInterpolation *giveInterpolation() const;
67 
69 
71  virtual int testElementExtension(ElementExtension ext) { return ( ( ext == Element_SurfaceLoadSupport ) ? 1 : 0 ); }
72 
74  virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap);
77 
79 
80  // definition & identification
81  virtual const char *giveInputRecordName() const { return _IFT_QSpace_Name; }
82  virtual const char *giveClassName() const { return "QSpace"; }
83 
84 protected:
85 
86  virtual int giveNumberOfIPForMassMtrxIntegration() { return 27; }
87 
93  virtual int computeLoadLSToLRotationMatrix(FloatMatrix &answer, int, GaussPoint *gp);
95 };
96 } // end namespace oofem
97 #endif
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
Class representing implementation of quadratic hexahedra interpolation class.
Definition: fei3dhexaquad.h:70
The element interface required by ZZNodalRecoveryModel.
virtual const char * giveInputRecordName() const
Definition: qspace.h:81
bool matRotation
Definition: qspace.h:60
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
Definition: qspace.C:211
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
Definition: qspace.C:218
Class implementing an array of integers.
Definition: intarray.h:61
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Definition: qspace.C:60
Abstract base class representing integration rule.
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
Definition: qspace.C:204
Element extension for surface loads.
Class representing a general abstraction for finite element interpolation class.
Definition: feinterpol.h:132
#define _IFT_QSpace_Name
Definition: qspace.h:44
This class implements an Quadratic 3d 20 - node element.
Definition: qspace.h:55
virtual ~QSpace()
Definition: qspace.h:64
virtual IntegrationRule * GetSurfaceIntegrationRule(int)
Definition: qspace.C:75
ElementExtension
Type representing element extension.
virtual int computeLoadLSToLRotationMatrix(FloatMatrix &answer, int, GaussPoint *gp)
Returns transformation matrix from local surface c.s to element local coordinate system of load vecto...
Definition: qspace.C:85
Class representing vector of real numbers.
Definition: floatarray.h:82
virtual const char * giveClassName() const
Definition: qspace.h:82
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)
Definition: qspace.C:185
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 int giveNumberOfIPForMassMtrxIntegration()
Return desired number of integration points for consistent mass matrix computation, if required.
Definition: qspace.h:86
virtual int testElementExtension(ElementExtension ext)
Tests if the element implements required extension.
Definition: qspace.h:71
Class representing the general Input Record.
Definition: inputrecord.h:101
Class Interface.
Definition: interface.h:82
Base class 3D elements.
virtual Interface * giveInterface(InterfaceType)
Interface requesting service.
Definition: qspace.C:161
static FEI3dHexaQuad interpolation
Definition: qspace.h:58
virtual void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
Definition: qspace.C:176
InterfaceType
Enumerative type, used to identify interface type.
Definition: interfacetype.h:43
virtual FEInterpolation * giveInterpolation() const
Definition: qspace.C:68
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
QSpace(int n, Domain *d)
Definition: qspace.C:53

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