OGS
ShapeTri6-impl.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
namespace
NumLib
5
{
6
template
<
class
T_X,
class
T_N>
7
void
ShapeTri6::computeShapeFunction
(
const
T_X& r, T_N&
N
)
8
{
9
N
[0] = 2. * (1. - r[0] - r[1]) * (0.5 - r[0] - r[1]);
10
N
[1] = r[0] * (2. * r[0] - 1.);
11
N
[2] = r[1] * (2. * r[1] - 1.);
12
N
[3] = 4. * r[0] * (1. - r[0] - r[1]);
13
N
[4] = 4. * r[0] * r[1];
14
N
[5] = 4. * r[1] * (1. - r[0] - r[1]);
15
}
16
17
template
<
class
T_X,
class
T_N>
18
void
ShapeTri6::computeGradShapeFunction
(
const
T_X& r, T_N& dN)
19
{
20
dN[0] = 4. * (r[0] + r[1]) - 3.;
// dN1/dL1
21
dN[6] = dN[0];
// dN1/dL2
22
23
dN[1] = 4. * r[0] - 1.;
// dN2/dL1
24
dN[7] = 0.;
// dN2/dL2
25
26
dN[2] = 0.;
// dN3/dL1
27
dN[8] = 4. * r[1] - 1.;
// dN3/dL2
28
29
dN[3] = 4. * (1 - 2. * r[0] - r[1]);
// dN4/dL1
30
dN[9] = -4. * r[0];
// dN4/dL2
31
32
dN[4] = 4. * r[1];
// dN5/dL1
33
dN[10] = -dN[9];
// dN5/dL2
34
35
dN[5] = -dN[4];
// dN6/dL1
36
dN[11] = 4. * (1 - r[0] - 2. * r[1]);
// dN6/dL2
37
}
38
39
}
// namespace NumLib
NumLib::ShapeTri6::computeGradShapeFunction
static void computeGradShapeFunction(const T_X &r, T_N &dN)
Definition
ShapeTri6-impl.h:18
NumLib::ShapeTri6::computeShapeFunction
static void computeShapeFunction(const T_X &r, T_N &N)
Definition
ShapeTri6-impl.h:7
NumLib
Definition
ProjectData.h:35
NumLib::ShapeMatrixType::N
@ N
calculates N
Definition
ShapeMatrices.h:16
NumLib
Fem
ShapeFunction
ShapeTri6-impl.h
Generated by
1.14.0