OOFEM
3.0
Loading...
Searching...
No Matches
src
sm
Elements
Interfaces
Deprecated
interfaceelement1d.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 interfaceelement1d_h
36
#define interfaceelement1d_h
37
38
#include "
sm/Elements/structuralelement.h
"
39
41
42
#define _IFT_InterfaceElem1d_Name "interface1d"
43
#define _IFT_InterfaceElem1d_refnode "refnode"
44
#define _IFT_InterfaceElem1d_normal "normal"
45
#define _IFT_InterfaceElem1d_dofIDs "dofids"
47
48
namespace
oofem
{
49
class
ParamKey;
54
class
InterfaceElem1d
:
public
StructuralElement
55
{
56
protected
:
57
enum
cmode
{
ie1d_1d
,
ie1d_2d
,
ie1d_3d
}
mode
;
58
int
referenceNode
;
59
FloatArray
normal
;
60
IntArray
dofids
;
61
62
static
ParamKey
IPK_InterfaceElem1d_refnode
;
63
static
ParamKey
IPK_InterfaceElem1d_normal
;
64
static
ParamKey
IPK_InterfaceElem1d_dofIDs
;
65
public
:
66
InterfaceElem1d
(
int
n,
Domain
* d);
67
virtual
~InterfaceElem1d
() { }
68
69
void
computeLumpedMassMatrix
(
FloatMatrix
&answer,
TimeStep
*tStep)
override
;
70
void
computeMassMatrix
(
FloatMatrix
&answer,
TimeStep
*tStep)
override
{
computeLumpedMassMatrix
(answer, tStep); }
71
72
int
computeGlobalCoordinates
(
FloatArray
&answer,
const
FloatArray
&lcoords)
override
;
73
bool
computeLocalCoordinates
(
FloatArray
&answer,
const
FloatArray
&gcoords)
override
;
74
75
int
computeNumberOfDofs
()
override
;
76
void
giveDofManDofIDMask
(
int
inode,
IntArray
&answer)
const override
;
77
78
double
computeVolumeAround
(
GaussPoint
*gp)
override
;
79
80
int
testElementExtension
(
ElementExtension
ext)
override
{
return
0; }
81
82
#ifdef __OOFEG
83
void
drawRawGeometry
(
oofegGraphicContext
&
gc
,
TimeStep
*tStep)
override
;
84
void
drawDeformedGeometry
(
oofegGraphicContext
&
gc
,
TimeStep
*tStep,
UnknownType
)
override
;
85
void
drawScalar
(
oofegGraphicContext
&
gc
,
TimeStep
*tStep)
override
;
86
#endif
87
88
// definition & identification
89
const
char
*
giveInputRecordName
()
const override
{
return
_IFT_InterfaceElem1d_Name
; }
90
const
char
*
giveClassName
()
const override
{
return
"InterfaceElem1d"
; }
91
void
initializeFrom
(
InputRecord
&ir,
int
priority)
override
;
92
void
initializeFinish
()
override
;
93
94
Element_Geometry_Type
giveGeometryType
()
const override
{
return
EGT_point; }
95
integrationDomain
giveIntegrationDomain
()
const override
{
return
_Point
; }
96
void
computeStressVector
(
FloatArray
&answer,
const
FloatArray
&strain,
GaussPoint
*gp,
TimeStep
*tStep)
override
;
97
void
computeConstitutiveMatrixAt
(
FloatMatrix
&answer, MatResponseMode rMode,
GaussPoint
*gp,
TimeStep
*tStep)
override
;
98
MaterialMode
giveMaterialMode
()
override
;
99
100
protected
:
101
void
computeBmatrixAt
(
GaussPoint
*gp,
FloatMatrix
&answer,
int
= 1,
int
=
ALL_STRAINS
)
override
;
102
void
computeNmatrixAt
(
const
FloatArray
&iLocCoord,
FloatMatrix
&answer)
override
{ }
103
void
computeGaussPoints
()
override
;
104
void
evaluateLocalCoordinateSystem
(
FloatMatrix
&);
105
106
void
computeLocalSlipDir
(
FloatArray
&
normal
);
107
cmode
giveCoordMode
()
const
{
return
this->
mode
; }
108
void
setCoordMode
();
109
};
110
}
// end namespace oofem
111
#endif
// interfaceelement1d_h
oofem::Domain
Definition
domain.h:121
oofem::FloatArray
Definition
floatarray.h:92
oofem::FloatMatrix
Definition
floatmatrix.h:87
oofem::GaussPoint
Definition
gausspoint.h:95
oofem::InputRecord
Definition
inputrecord.h:98
oofem::IntArray
Definition
intarray.h:63
oofem::InterfaceElem1d::computeNumberOfDofs
int computeNumberOfDofs() override
Definition
interfaceelement1d.C:323
oofem::InterfaceElem1d::giveInputRecordName
const char * giveInputRecordName() const override
Definition
interfaceelement1d.h:89
oofem::InterfaceElem1d::computeMassMatrix
void computeMassMatrix(FloatMatrix &answer, TimeStep *tStep) override
Definition
interfaceelement1d.h:70
oofem::InterfaceElem1d::testElementExtension
int testElementExtension(ElementExtension ext) override
Definition
interfaceelement1d.h:80
oofem::InterfaceElem1d::normal
FloatArray normal
Definition
interfaceelement1d.h:59
oofem::InterfaceElem1d::referenceNode
int referenceNode
Definition
interfaceelement1d.h:58
oofem::InterfaceElem1d::computeLocalSlipDir
void computeLocalSlipDir(FloatArray &normal)
Definition
interfaceelement1d.C:352
oofem::InterfaceElem1d::giveIntegrationDomain
integrationDomain giveIntegrationDomain() const override
Definition
interfaceelement1d.h:95
oofem::InterfaceElem1d::giveClassName
const char * giveClassName() const override
Definition
interfaceelement1d.h:90
oofem::InterfaceElem1d::InterfaceElem1d
InterfaceElem1d(int n, Domain *d)
Definition
interfaceelement1d.C:62
oofem::InterfaceElem1d::IPK_InterfaceElem1d_refnode
static ParamKey IPK_InterfaceElem1d_refnode
Definition
interfaceelement1d.h:62
oofem::InterfaceElem1d::initializeFrom
void initializeFrom(InputRecord &ir, int priority) override
Definition
interfaceelement1d.C:282
oofem::InterfaceElem1d::computeLumpedMassMatrix
void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep) override
Definition
interfaceelement1d.C:134
oofem::InterfaceElem1d::computeBmatrixAt
void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS) override
Definition
interfaceelement1d.C:145
oofem::InterfaceElem1d::computeNmatrixAt
void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer) override
Definition
interfaceelement1d.h:102
oofem::InterfaceElem1d::computeStressVector
void computeStressVector(FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep) override
Definition
interfaceelement1d.C:92
oofem::InterfaceElem1d::cmode
cmode
Definition
interfaceelement1d.h:57
oofem::InterfaceElem1d::ie1d_1d
@ ie1d_1d
Definition
interfaceelement1d.h:57
oofem::InterfaceElem1d::ie1d_3d
@ ie1d_3d
Definition
interfaceelement1d.h:57
oofem::InterfaceElem1d::ie1d_2d
@ ie1d_2d
Definition
interfaceelement1d.h:57
oofem::InterfaceElem1d::giveDofManDofIDMask
void giveDofManDofIDMask(int inode, IntArray &answer) const override
Definition
interfaceelement1d.C:345
oofem::InterfaceElem1d::drawScalar
void drawScalar(oofegGraphicContext &gc, TimeStep *tStep) override
Definition
interfaceelement1d.C:423
oofem::InterfaceElem1d::computeVolumeAround
double computeVolumeAround(GaussPoint *gp) override
Definition
interfaceelement1d.C:273
oofem::InterfaceElem1d::setCoordMode
void setCoordMode()
Definition
interfaceelement1d.C:73
oofem::InterfaceElem1d::drawDeformedGeometry
void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType) override
Definition
interfaceelement1d.C:395
oofem::InterfaceElem1d::dofids
IntArray dofids
Definition
interfaceelement1d.h:60
oofem::InterfaceElem1d::computeGaussPoints
void computeGaussPoints() override
Definition
interfaceelement1d.C:245
oofem::InterfaceElem1d::computeGlobalCoordinates
int computeGlobalCoordinates(FloatArray &answer, const FloatArray &lcoords) override
Definition
interfaceelement1d.C:257
oofem::InterfaceElem1d::drawRawGeometry
void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override
Definition
interfaceelement1d.C:371
oofem::InterfaceElem1d::computeConstitutiveMatrixAt
void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) override
Definition
interfaceelement1d.C:104
oofem::InterfaceElem1d::computeLocalCoordinates
bool computeLocalCoordinates(FloatArray &answer, const FloatArray &gcoords) override
Definition
interfaceelement1d.C:266
oofem::InterfaceElem1d::giveMaterialMode
MaterialMode giveMaterialMode() override
Definition
interfaceelement1d.C:117
oofem::InterfaceElem1d::giveCoordMode
cmode giveCoordMode() const
Definition
interfaceelement1d.h:107
oofem::InterfaceElem1d::mode
enum oofem::InterfaceElem1d::cmode mode
oofem::InterfaceElem1d::~InterfaceElem1d
virtual ~InterfaceElem1d()
Definition
interfaceelement1d.h:67
oofem::InterfaceElem1d::IPK_InterfaceElem1d_dofIDs
static ParamKey IPK_InterfaceElem1d_dofIDs
Definition
interfaceelement1d.h:64
oofem::InterfaceElem1d::evaluateLocalCoordinateSystem
void evaluateLocalCoordinateSystem(FloatMatrix &)
Definition
interfaceelement1d.C:191
oofem::InterfaceElem1d::initializeFinish
void initializeFinish() override
Definition
interfaceelement1d.C:293
oofem::InterfaceElem1d::IPK_InterfaceElem1d_normal
static ParamKey IPK_InterfaceElem1d_normal
Definition
interfaceelement1d.h:63
oofem::InterfaceElem1d::giveGeometryType
Element_Geometry_Type giveGeometryType() const override
Definition
interfaceelement1d.h:94
oofem::ParamKey
Definition
paramkey.h:51
oofem::StructuralElement::StructuralElement
StructuralElement(int n, Domain *d)
Definition
structuralelement.C:69
oofem::TimeStep
Definition
timestep.h:82
oofem::oofegGraphicContext
Definition
oofeggraphiccontext.h:133
_IFT_InterfaceElem1d_Name
#define _IFT_InterfaceElem1d_Name
Definition
interfaceelement1d.h:42
oofem
Definition
additivemanufacturingproblem.C:83
oofem::Element_Geometry_Type
Element_Geometry_Type
Definition
elementgeometrytype.h:82
oofem::integrationDomain
integrationDomain
Definition
integrationdomain.h:44
oofem::_Point
@ _Point
Definition
integrationdomain.h:46
oofem::ElementExtension
ElementExtension
Definition
elementextension.h:42
oofem::UnknownType
UnknownType
Definition
unknowntype.h:59
gc
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
structuralelement.h
ALL_STRAINS
#define ALL_STRAINS
Definition
structuralelement.h:48
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