OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
wedge_ht.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 
36 #ifndef wedge_ht_h
37 #define wedge_ht_h
38 
39 
40 #include "transportelement.h"
41 #include "spatiallocalizer.h"
42 #include "zznodalrecoverymodel.h"
43 #include "sprnodalrecoverymodel.h"
45 
46 
47 #define _IFT_Wedge_ht_Name "wedgeht"
48 #define _IFT_Wedge_hmt_Name "wedgehmt"
49 #define _IFT_Wedge_mt_Name "wedgemt"
50 
51 namespace oofem {
52 class FEI3dWedgeLin;
53 
58 {
59 protected:
61 
62 public:
63  Wedge_ht(int, Domain *);
64  virtual ~Wedge_ht() { }
65 
66 
67  virtual double computeVolumeAround(GaussPoint *gp);
68  virtual FEInterpolation *giveInterpolation() const;
69 
70  // definition & identification
71  virtual const char *giveInputRecordName() const { return _IFT_Wedge_ht_Name; }
72  virtual const char *giveClassName() const { return "Wedge_ht"; }
73 
74  virtual int computeNumberOfDofs() { return 6; }
76  virtual MaterialMode giveMaterialMode() { return _3dHeat; }
77 
80  { return ( ext == Element_EdgeLoadSupport );}
81 
83  virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap);
87 
88  protected:
89  virtual void computeGaussPoints();
90  virtual double computeEdgeVolumeAround(GaussPoint *gp, int iEdge);
91 
92 
93 };
94 
95 
96 
100 class Wedge_hmt : public Wedge_ht
101 {
102 public:
103  Wedge_hmt(int n, Domain * d);
104 
105  virtual const char *giveInputRecordName() const { return _IFT_Wedge_hmt_Name; }
106  virtual const char *giveClassName() const { return "Wedge_hmt"; }
107  virtual int computeNumberOfDofs() { return 12; }
108  virtual MaterialMode giveMaterialMode() { return _3dHeMo; }
109 };
110 
114 class Wedge_mt : public Wedge_ht
115 {
116 public:
117  Wedge_mt(int n, Domain * d);
118 
119  virtual const char *giveInputRecordName() const { return _IFT_Wedge_mt_Name; }
120  virtual const char *giveClassName() const { return "Wedge_mt"; }
121  virtual int computeNumberOfDofs() { return 6; }
122  virtual MaterialMode giveMaterialMode() { return _3dHeat; }
123 };
124 
125 
126 } // end namespace oofem
127 #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 representing implementation of linear wedge interpolation class.
Definition: fei3dwedgelin.h:48
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
Definition: wedge_ht.h:122
Class and object Domain.
Definition: domain.h:115
virtual FEInterpolation * giveInterpolation() const
Definition: wedge_ht.C:116
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
Definition: wedge_ht.C:168
The element interface required by ZZNodalRecoveryModel.
#define _IFT_Wedge_ht_Name
Definition: wedge_ht.h:47
Wedge_ht(int, Domain *)
Definition: wedge_ht.C:55
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)
Definition: wedge_ht.C:149
virtual const char * giveInputRecordName() const
Definition: wedge_ht.h:119
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
Definition: wedge_ht.h:108
virtual const char * giveInputRecordName() const
Definition: wedge_ht.h:105
MaterialMode
Type representing material mode of integration point.
Definition: materialmode.h:89
Class implementing an array of integers.
Definition: intarray.h:61
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
Definition: wedge_ht.C:175
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
Definition: wedge_ht.h:76
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Definition: wedge_ht.C:73
virtual void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
Definition: wedge_ht.C:140
virtual double computeEdgeVolumeAround(GaussPoint *gp, int iEdge)
Computes the length around a integration point on a edge.
Definition: wedge_ht.C:108
Class representing a general abstraction for finite element interpolation class.
Definition: feinterpol.h:132
#define _IFT_Wedge_mt_Name
Definition: wedge_ht.h:49
virtual ~Wedge_ht()
Definition: wedge_ht.h:64
ElementExtension
Type representing element extension.
This abstract class represent a general base element class for transport problems.
static FEI3dWedgeLin interpolation
Definition: wedge_ht.h:60
Class representing vector of real numbers.
Definition: floatarray.h:82
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
Definition: wedge_ht.C:82
This class implements a Linear 3d 6 - node thermal finite element.
Definition: wedge_ht.h:57
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
#define _IFT_Wedge_hmt_Name
Definition: wedge_ht.h:48
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
Definition: wedge_ht.h:74
Class for heat and mass transfer.
Definition: wedge_ht.h:100
virtual const char * giveInputRecordName() const
Definition: wedge_ht.h:71
Class representing the general Input Record.
Definition: inputrecord.h:101
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
Definition: wedge_ht.h:121
Class Interface.
Definition: interface.h:82
The spatial localizer element interface associated to spatial localizer.
virtual const char * giveClassName() const
Definition: wedge_ht.h:120
InterfaceType
Enumerative type, used to identify interface type.
Definition: interfacetype.h:43
Class for mass transfer.
Definition: wedge_ht.h:114
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
Definition: wedge_ht.C:182
virtual Interface * giveInterface(InterfaceType t)
Interface requesting service.
Definition: wedge_ht.C:123
virtual const char * giveClassName() const
Definition: wedge_ht.h:106
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
Definition: wedge_ht.h:107
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual const char * giveClassName() const
Definition: wedge_ht.h:72
Class representing integration point in finite element program.
Definition: gausspoint.h:93
Class representing solution step.
Definition: timestep.h:80
virtual int testElementExtension(ElementExtension ext)
Tests if the element implements required extension.
Definition: wedge_ht.h:79
Element extension for edge loads.
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
Definition: wedge_ht.C:93

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