Skip to main content

Tet4

Struct Tet4 

Source
pub struct Tet4 {}
Expand description

Defines a tetrahedron with 4 nodes (linear faces)

tet4

§Local IDs of nodes

              t               r    s    t
              |         p:0 [0.0, 0.0, 0.0]
              @ 3       p:1 [1.0, 0.0, 0.0]
             /|`.       p:2 [0.0, 1.0, 0.0]
             ||  `,     p:3 [0.0, 0.0, 1.0]
            / |    ',
            | |      \
           /  |       `.
           |  |         `,
          /   |           `,
          |   |             \
         /    |              `.
         |    |                ',
        /     |                  \
        |     @.,,_               `.
       |     / 0   ``'-.,,__        `.
       |    /              ``''-.,,_  ',
      |    /                        ``-@-,_s
      |  ,'                       ,.-`` 2
     |  ,                    _,-'`
     ' /                 ,.'`
    | /             _.-``
    '/          ,-'`
   |/      ,.-``
   /  _,-``
  @ '`
 / 1
r

§Local IDs of edges

              t                    p0  p1
              |                e:0 [0, 1]
              3                e:1 [1, 2]
             /|`.              e:2 [2, 0]
             ||  `,            e:3 [0, 3]
            / |    ',          e:4 [1, 3]
            | |      \         e:5 [2, 3]
           /  |       `.
           |  |         `,
          /   |(3)        `,(5)
          |   |             \
         /    |              `.
      (4)|    |                ',
        /     |                  \
        |     0.,,_               `.
       |     /     ``'-.,,__        `.
       |    /          (2) ``''-.,,_  ',
      |    /                        ``'2-,_s
      |  ,'                       ,.-``
     |  ,(0)                 _,-'`
     ' /                 ,.'`
    | /             _.-``
    '/          ,-'` (1)
   |/      ,.-``
   /  _,-``
  1,'`
 /
r
  • The order of edge nodes corresponds to Lin2 nodes.

§Local IDs of faces

              t
              |
              3                   p0 p1 p2
             /|`.             f:0 [0, 3, 2]
             ||  `,           f:1 [0, 1, 3]
            / |    ',         f:2 [0, 2, 1]
            | |      \        f:3 [1, 2, 3]
           /  |       `.
           |  |         `,
          /   |           `,
          |   |     [0]     \
         /    |              `.
         |    |                ',
        / [1] |    ,             \
        |     0. ,' \             `.
       |     /   \ 3 \ .,,__        `.
       |    /     \ ,'     ``''-.,,_  ',
      |    /       '                ``'2-,_s
      |  ,'                       ,.-``
     |  ,      [2]           _,-'`
     ' /                 ,.'`
    | /             _.-``
    '/          ,-'`
   |/      ,.-``
   /  _,-``
  1,'`
 /
r

§Notes

  • The order of face nodes is such that the normals are outward
  • The order of face nodes corresponds to super::Tri3 nodes

Implementations§

Source§

impl Tet4

Source

pub const GEO_NDIM: usize = 3

Source

pub const NNODE: usize = 4

Source

pub const NEDGE: usize = 6

Source

pub const NFACE: usize = 4

Source

pub const EDGE_NNODE: usize = 2

Source

pub const FACE_NNODE: usize = 3

Source

pub const FACE_NEDGE: usize = 3

Source

pub const EDGE_NODE_IDS: [[usize; 2]; 6]

Source

pub const FACE_NODE_IDS: [[usize; 3]; 4]

Source

pub const FACE_EDGE_NODE_IDS: [[[usize; 2]; 3]; 4]

Source

pub const NODE_REFERENCE_COORDS: [[f64; 3]; 4]

Source

pub fn calc_interp(interp: &mut Vector, ksi: &[f64])

Computes the interpolation functions

§Output
  • interp – interpolation function evaluated at ksi (nnode)
§Input
  • ksi – reference coordinates with length ≥ geo_ndim
Source

pub fn calc_deriv(deriv: &mut Matrix, _: &[f64])

Computes the derivatives of interpolation functions with respect to the reference coordinates

§Output
  • deriv – derivatives of the interpolation function with respect to the reference coordinates ksi, evaluated at ksi (nnode,geo_ndim)
§Input
  • ksi – reference coordinates with length ≥ geo_ndim

Auto Trait Implementations§

§

impl Freeze for Tet4

§

impl RefUnwindSafe for Tet4

§

impl Send for Tet4

§

impl Sync for Tet4

§

impl Unpin for Tet4

§

impl UnsafeUnpin for Tet4

§

impl UnwindSafe for Tet4

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.