OOFEM
3.0
Loading...
Searching...
No Matches
src
sm
Elements
Interfaces
intelsurftr1.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 intelsurftr1_h
36
#define intelsurftr1_h
37
38
#include "
sm/Elements/Interfaces/structuralinterfaceelement.h
"
39
#include "
fei3dtrlin.h
"
40
#include "
floatarrayf.h
"
41
#include "
floatmatrixf.h
"
42
43
#define _IFT_IntElSurfTr1_Name "intelsurftr1"
44
45
namespace
oofem
{
49
class
IntElSurfTr1
:
public
StructuralInterfaceElement
50
{
51
protected
:
52
static
FEI3dTrLin
interpolation
;
53
54
public
:
55
IntElSurfTr1
(
int
n,
Domain
*d);
56
57
int
computeGlobalCoordinates
(
FloatArray
&answer,
const
FloatArray
&lcoords)
override
;
58
bool
computeLocalCoordinates
(
FloatArray
&answer,
const
FloatArray
&gcoords)
override
;
59
virtual
void
computeCovarBaseVectorsAt
(
IntegrationPoint
*ip,
FloatArray
&G1,
FloatArray
&G2);
60
//bool computeGtoLRotationMatrix(FloatMatrix &answer) override;
61
void
computeTransformationMatrixAt
(
GaussPoint
*gp,
FloatMatrix
&answer)
override
;
62
63
int
computeNumberOfDofs
()
override
{
return
18; }
64
void
giveDofManDofIDMask
(
int
inode,
IntArray
&answer)
const override
;
65
66
double
computeAreaAround
(
IntegrationPoint
*ip)
override
;
67
68
void
giveEngTraction
(
FloatArray
&answer,
GaussPoint
*gp,
const
FloatArray
&jump,
TimeStep
*tStep)
override
69
{
70
answer = this->
giveInterfaceCrossSection
()->
giveEngTraction_3d
(jump, gp, tStep);
71
}
72
73
void
giveStiffnessMatrix_Eng
(
FloatMatrix
&answer, MatResponseMode rMode,
IntegrationPoint
*ip,
TimeStep
*tStep)
override
74
{
75
answer = this->
giveInterfaceCrossSection
()->
give3dStiffnessMatrix_Eng
(rMode, ip, tStep);
76
}
77
78
// definition & identification
79
const
char
*
giveInputRecordName
()
const override
{
return
_IFT_IntElSurfTr1_Name
; }
80
Element_Geometry_Type
giveGeometryType
()
const override
{
return
EGT_wedge_1; }
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
protected
:
89
void
computeNmatrixAt
(
GaussPoint
*ip,
FloatMatrix
&answer)
override
;
90
void
computeGaussPoints
()
override
;
91
92
};
93
}
// end namespace oofem
94
#endif
// intelsurftr1_h
oofem::Domain
Definition
domain.h:121
oofem::FEI3dTrLin
Definition
fei3dtrlin.h:47
oofem::FloatArray
Definition
floatarray.h:92
oofem::FloatMatrix
Definition
floatmatrix.h:87
oofem::GaussPoint
Definition
gausspoint.h:95
oofem::IntArray
Definition
intarray.h:63
oofem::IntElSurfTr1::giveStiffnessMatrix_Eng
void giveStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, IntegrationPoint *ip, TimeStep *tStep) override
Definition
intelsurftr1.h:73
oofem::IntElSurfTr1::computeGaussPoints
void computeGaussPoints() override
Definition
intelsurftr1.C:87
oofem::IntElSurfTr1::drawDeformedGeometry
void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType) override
Definition
intelsurftr1.C:224
oofem::IntElSurfTr1::computeGlobalCoordinates
int computeGlobalCoordinates(FloatArray &answer, const FloatArray &lcoords) override
Definition
intelsurftr1.C:169
oofem::IntElSurfTr1::computeLocalCoordinates
bool computeLocalCoordinates(FloatArray &answer, const FloatArray &gcoords) override
Definition
intelsurftr1.C:185
oofem::IntElSurfTr1::giveInputRecordName
const char * giveInputRecordName() const override
Definition
intelsurftr1.h:79
oofem::IntElSurfTr1::drawScalar
void drawScalar(oofegGraphicContext &gc, TimeStep *tStep) override
Definition
intelsurftr1.C:228
oofem::IntElSurfTr1::giveGeometryType
Element_Geometry_Type giveGeometryType() const override
Definition
intelsurftr1.h:80
oofem::IntElSurfTr1::computeNumberOfDofs
int computeNumberOfDofs() override
Definition
intelsurftr1.h:63
oofem::IntElSurfTr1::giveDofManDofIDMask
void giveDofManDofIDMask(int inode, IntArray &answer) const override
Definition
intelsurftr1.C:130
oofem::IntElSurfTr1::computeNmatrixAt
void computeNmatrixAt(GaussPoint *ip, FloatMatrix &answer) override
Definition
intelsurftr1.C:65
oofem::IntElSurfTr1::computeTransformationMatrixAt
void computeTransformationMatrixAt(GaussPoint *gp, FloatMatrix &answer) override
Definition
intelsurftr1.C:156
oofem::IntElSurfTr1::giveEngTraction
void giveEngTraction(FloatArray &answer, GaussPoint *gp, const FloatArray &jump, TimeStep *tStep) override
Definition
intelsurftr1.h:68
oofem::IntElSurfTr1::IntElSurfTr1
IntElSurfTr1(int n, Domain *d)
Definition
intelsurftr1.C:57
oofem::IntElSurfTr1::drawRawGeometry
void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep) override
Definition
intelsurftr1.C:193
oofem::IntElSurfTr1::computeCovarBaseVectorsAt
virtual void computeCovarBaseVectorsAt(IntegrationPoint *ip, FloatArray &G1, FloatArray &G2)
Definition
intelsurftr1.C:100
oofem::IntElSurfTr1::computeAreaAround
double computeAreaAround(IntegrationPoint *ip) override
Definition
intelsurftr1.C:120
oofem::IntElSurfTr1::interpolation
static FEI3dTrLin interpolation
Definition
intelsurftr1.h:52
oofem::StructuralInterfaceCrossSection::giveEngTraction_3d
FloatArrayF< 3 > giveEngTraction_3d(const FloatArrayF< 3 > &jump, GaussPoint *gp, TimeStep *tStep) const
Definition
structuralinterfacecrosssection.h:113
oofem::StructuralInterfaceCrossSection::give3dStiffnessMatrix_Eng
FloatMatrixF< 3, 3 > give3dStiffnessMatrix_Eng(MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const
Definition
structuralinterfacecrosssection.C:105
oofem::StructuralInterfaceElement::giveInterfaceCrossSection
StructuralInterfaceCrossSection * giveInterfaceCrossSection()
Definition
structuralinterfaceelement.C:305
oofem::StructuralInterfaceElement::StructuralInterfaceElement
StructuralInterfaceElement(int n, Domain *d)
Definition
structuralinterfaceelement.C:52
oofem::TimeStep
Definition
timestep.h:82
oofem::oofegGraphicContext
Definition
oofeggraphiccontext.h:133
fei3dtrlin.h
floatarrayf.h
floatmatrixf.h
_IFT_IntElSurfTr1_Name
#define _IFT_IntElSurfTr1_Name
Definition
intelsurftr1.h:43
oofem
Definition
additivemanufacturingproblem.C:83
oofem::Element_Geometry_Type
Element_Geometry_Type
Definition
elementgeometrytype.h:82
oofem::IntegrationPoint
GaussPoint IntegrationPoint
Definition
gausspoint.h:272
oofem::UnknownType
UnknownType
Definition
unknowntype.h:59
gc
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
structuralinterfaceelement.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