OGS
NumLib::ShapePrism6 Class Reference

Detailed Description

Shape function for a 6-nodes prism element in natural coordinates

Definition at line 21 of file ShapePrism6.h.

#include <ShapePrism6.h>

Public Types

using MeshElement = MeshLib::Prism
 

Static Public Member Functions

template<class T_X , class T_N >
static void computeShapeFunction (const T_X &x, T_N &N)
 
template<class T_X , class T_N >
static void computeGradShapeFunction (const T_X &x, T_N &dN)
 

Static Public Attributes

static const unsigned DIM = MeshElement::dimension
 
static const unsigned NPOINTS = MeshElement::n_all_nodes
 
static constexpr int ORDER = 1
 

Member Typedef Documentation

◆ MeshElement

Definition at line 42 of file ShapePrism6.h.

Member Function Documentation

◆ computeGradShapeFunction()

template<class T_X , class T_N >
void NumLib::ShapePrism6::computeGradShapeFunction ( const T_X &  x,
T_N &  dN 
)
static

Evaluate derivatives of the shape function at the given point

Parameters
[in]xnatural coordinates (r,s,t)
[out]dNa matrix of the derivatives

Definition at line 28 of file ShapePrism6-impl.h.

29 {
30  const double L1 = x[0];
31  const double L2 = x[1];
32  const double t = x[2];
33  // dN/dL1
34  dN[0] = -0.5 * (1.0 - t);
35  dN[1] = -dN[0];
36  dN[2] = 0.0;
37  dN[3] = -0.5 * (1.0 + t);
38  dN[4] = -dN[3];
39  dN[5] = 0.0;
40  // dN/dL2
41  dN[6] = dN[0];
42  dN[7] = 0.0;
43  dN[8] = -dN[0];
44  dN[9] = dN[3];
45  dN[10] = 0.0;
46  dN[11] = -dN[3];
47  // dN/dt
48  dN[12] = -0.5 * (1.0 - L1 - L2);
49  dN[13] = -0.5 * L1;
50  dN[14] = -0.5 * L2;
51  dN[15] = -dN[12];
52  dN[16] = -dN[13];
53  dN[17] = -dN[14];
54 }

◆ computeShapeFunction()

template<class T_X , class T_N >
void NumLib::ShapePrism6::computeShapeFunction ( const T_X &  x,
T_N &  N 
)
static

Evaluate the shape function at the given point

Parameters
[in]xnatural coordinates (r,s,t)
[out]Na vector of calculated shape functions

Definition at line 14 of file ShapePrism6-impl.h.

15 {
16  const double L1 = x[0];
17  const double L2 = x[1];
18  const double t = x[2];
19  N[0] = 0.5 * (1.0 - L1 - L2) * (1.0 - t);
20  N[1] = 0.5 * L1 * (1.0 - t);
21  N[2] = 0.5 * L2 * (1.0 - t);
22  N[3] = 0.5 * (1.0 - L1 - L2) * (1.0 + t);
23  N[4] = 0.5 * L1 * (1.0 + t);
24  N[5] = 0.5 * L2 * (1.0 + t);
25 }

References NumLib::N.

Member Data Documentation

◆ DIM

const unsigned NumLib::ShapePrism6::DIM = MeshElement::dimension
static

Definition at line 43 of file ShapePrism6.h.

◆ NPOINTS

const unsigned NumLib::ShapePrism6::NPOINTS = MeshElement::n_all_nodes
static

Definition at line 44 of file ShapePrism6.h.

◆ ORDER

constexpr int NumLib::ShapePrism6::ORDER = 1
staticconstexpr

Definition at line 45 of file ShapePrism6.h.


The documentation for this class was generated from the following files: