OOFEM
3.0
Loading...
Searching...
No Matches
src
tm
Elements
quad1_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 - 2025 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 quad1_ht_h
36
#define quad1_ht_h
37
38
#include "
tm/Elements/transportelement.h
"
39
#include "
spatiallocalizer.h
"
40
#include "
zznodalrecoverymodel.h
"
41
42
#define _IFT_Quad1_ht_Name "quad1ht"
43
#define _IFT_Quad1_hmt_Name "quad1hmt"
44
#define _IFT_Quad1_mt_Name "quad1mt"
45
46
namespace
oofem
{
47
class
FEI2dQuadLin;
48
52
class
Quad1_ht
:
public
TransportElement
,
public
SpatialLocalizerInterface
,
public
ZZNodalRecoveryModelInterface
53
{
54
protected
:
55
static
FEI2dQuadLin
interpolation
;
56
57
public
:
58
Quad1_ht
(
int
n,
Domain
* d);
59
60
FEInterpolation
*
giveInterpolation
()
const override
;
61
double
computeVolumeAround
(
GaussPoint
*gp)
override
;
62
63
const
char
*
giveInputRecordName
()
const override
{
return
_IFT_Quad1_ht_Name
; }
64
const
char
*
giveClassName
()
const override
{
return
"Quad1_ht"
; }
65
Element_Geometry_Type
giveGeometryType
()
const override
{
return
EGT_quad_1;}
66
67
68
//int computeNumberOfDofs() override { return ( emode == HeatTransferEM ) ? 4 : 8; }
69
int
computeNumberOfDofs
()
override
{
return
4; }
70
void
initializeFrom
(
InputRecord
&ir,
int
priority)
override
;
71
MaterialMode
giveMaterialMode
()
override
{
return
_2dHeat; }
72
double
giveThicknessAt
(
const
FloatArray
&gcoords)
override
;
73
74
Interface
*
giveInterface
(
InterfaceType
t)
override
;
75
76
#ifdef __OOFEG
77
// Graphics output
78
void
drawRawGeometry
(
oofegGraphicContext
&
gc
,
TimeStep
*tStep)
override
;
79
void
drawScalar
(
oofegGraphicContext
&
gc
,
TimeStep
*tStep)
override
;
80
//void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override {}
81
//void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType) override {}
82
#endif
83
84
protected
:
85
void
computeGaussPoints
()
override
;
86
double
computeEdgeVolumeAround
(
GaussPoint
*gp,
int
iEdge)
override
;
87
};
88
92
class
Quad1_hmt
:
public
Quad1_ht
93
{
94
public
:
95
Quad1_hmt
(
int
n,
Domain
* d);
96
97
const
char
*
giveInputRecordName
()
const override
{
return
_IFT_Quad1_hmt_Name
; }
98
const
char
*
giveClassName
()
const override
{
return
"Quad1_hmt"
; }
99
int
computeNumberOfDofs
()
override
{
return
8; }
100
MaterialMode
giveMaterialMode
()
override
{
return
_2dHeMo; }
101
};
102
106
class
Quad1_mt
:
public
Quad1_ht
107
{
108
public
:
109
Quad1_mt
(
int
n,
Domain
* d);
110
111
const
char
*
giveInputRecordName
()
const override
{
return
_IFT_Quad1_mt_Name
; }
112
const
char
*
giveClassName
()
const override
{
return
"Quad1_mt"
; }
113
int
computeNumberOfDofs
()
override
{
return
4; }
114
MaterialMode
giveMaterialMode
()
override
{
return
_2dHeat; }
115
};
116
}
// end namespace oofem
117
#endif
// quad1_ht_h
oofem::Domain
Definition
domain.h:121
oofem::FEI2dQuadLin
Definition
fei2dquadlin.h:46
oofem::FEInterpolation
Definition
feinterpol.h:175
oofem::FloatArray
Definition
floatarray.h:92
oofem::GaussPoint
Definition
gausspoint.h:95
oofem::InputRecord
Definition
inputrecord.h:98
oofem::Interface
Definition
interface.h:83
oofem::Quad1_hmt::Quad1_hmt
Quad1_hmt(int n, Domain *d)
Definition
quad1_ht.C:64
oofem::Quad1_hmt::giveInputRecordName
const char * giveInputRecordName() const override
Definition
quad1_ht.h:97
oofem::Quad1_hmt::computeNumberOfDofs
int computeNumberOfDofs() override
Definition
quad1_ht.h:99
oofem::Quad1_hmt::giveClassName
const char * giveClassName() const override
Definition
quad1_ht.h:98
oofem::Quad1_hmt::giveMaterialMode
MaterialMode giveMaterialMode() override
Definition
quad1_ht.h:100
oofem::Quad1_ht::computeEdgeVolumeAround
double computeEdgeVolumeAround(GaussPoint *gp, int iEdge) override
Definition
quad1_ht.C:114
oofem::Quad1_ht::Quad1_ht
Quad1_ht(int n, Domain *d)
Definition
quad1_ht.C:58
oofem::Quad1_ht::computeNumberOfDofs
int computeNumberOfDofs() override
Definition
quad1_ht.h:69
oofem::Quad1_ht::initializeFrom
void initializeFrom(InputRecord &ir, int priority) override
Definition
quad1_ht.C:90
oofem::Quad1_ht::giveInputRecordName
const char * giveInputRecordName() const override
Definition
quad1_ht.h:63
oofem::Quad1_ht::drawScalar
void drawScalar(oofegGraphicContext &gc, TimeStep *tStep) override
Definition
quad1_ht.C:177
oofem::Quad1_ht::giveClassName
const char * giveClassName() const override
Definition
quad1_ht.h:64
oofem::Quad1_ht::computeGaussPoints
void computeGaussPoints() override
Definition
quad1_ht.C:79
oofem::Quad1_ht::computeVolumeAround
double computeVolumeAround(GaussPoint *gp) override
Definition
quad1_ht.C:97
oofem::Quad1_ht::giveMaterialMode
MaterialMode giveMaterialMode() override
Definition
quad1_ht.h:71
oofem::Quad1_ht::giveInterface
Interface * giveInterface(InterfaceType t) override
Definition
quad1_ht.C:128
oofem::Quad1_ht::giveInterpolation
FEInterpolation * giveInterpolation() const override
Definition
quad1_ht.C:76
oofem::Quad1_ht::giveThicknessAt
double giveThicknessAt(const FloatArray &gcoords) override
Definition
quad1_ht.C:107
oofem::Quad1_ht::interpolation
static FEI2dQuadLin interpolation
Definition
quad1_ht.h:55
oofem::Quad1_ht::drawRawGeometry
void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override
Definition
quad1_ht.C:143
oofem::Quad1_ht::giveGeometryType
Element_Geometry_Type giveGeometryType() const override
Definition
quad1_ht.h:65
oofem::Quad1_mt::computeNumberOfDofs
int computeNumberOfDofs() override
Definition
quad1_ht.h:113
oofem::Quad1_mt::giveMaterialMode
MaterialMode giveMaterialMode() override
Definition
quad1_ht.h:114
oofem::Quad1_mt::giveClassName
const char * giveClassName() const override
Definition
quad1_ht.h:112
oofem::Quad1_mt::Quad1_mt
Quad1_mt(int n, Domain *d)
Definition
quad1_ht.C:69
oofem::Quad1_mt::giveInputRecordName
const char * giveInputRecordName() const override
Definition
quad1_ht.h:111
oofem::SpatialLocalizerInterface::SpatialLocalizerInterface
SpatialLocalizerInterface(Element *element)
Definition
spatiallocalizer.h:65
oofem::TimeStep
Definition
timestep.h:82
oofem::TransportElement::TransportElement
TransportElement(int n, Domain *d, ElementMode em=HeatTransferEM)
Definition
transportelement.C:75
oofem::ZZNodalRecoveryModelInterface::ZZNodalRecoveryModelInterface
ZZNodalRecoveryModelInterface(Element *element)
Constructor.
Definition
zznodalrecoverymodel.h:106
oofem::oofegGraphicContext
Definition
oofeggraphiccontext.h:133
oofem
Definition
additivemanufacturingproblem.C:83
oofem::Element_Geometry_Type
Element_Geometry_Type
Definition
elementgeometrytype.h:82
oofem::InterfaceType
InterfaceType
Definition
interfacetype.h:43
gc
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
_IFT_Quad1_ht_Name
#define _IFT_Quad1_ht_Name
Definition
quad1_ht.h:42
_IFT_Quad1_mt_Name
#define _IFT_Quad1_mt_Name
Definition
quad1_ht.h:44
_IFT_Quad1_hmt_Name
#define _IFT_Quad1_hmt_Name
Definition
quad1_ht.h:43
spatiallocalizer.h
transportelement.h
zznodalrecoverymodel.h
This page is part of the
OOFEM-3.0
documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at
for OOFEM by
doxygen
1.15.0 written by
Dimitri van Heesch
, © 1997-2011