Qua12

Struct Qua12 

Source
pub struct Qua12 {}
Expand description

Defines a quadrilateral with 12 nodes (cubic edges)

qua12

§Local IDs of nodes

 3----10-------6------2
 |               (1,1)|
 |       s ^          |
 7         |          9
 |         |          |
 |         +----> r   |
 |       (0,0)        |
11                    5
 |                    |
 |(-1,-1)             |
 0-----4-------8------1

§Local IDs of edges

             2
   3----10-------6------2
   |                    |
   |                    |
   7                    9          p0 p1  p2 p3
   |                    |      e:0 [1, 0,  8, 4]
3  |                    | 1    e:1 [2, 1,  9, 5]
   |                    |      e:2 [3, 2, 10, 6]
  11                    5      e:3 [0, 3, 11, 7]
   |                    |
   |                    |
   0-----4-------8------1
             0

§Notes

  • The reference coordinates range from -1 to +1 with the geometry centred @ 0
  • The order of edge nodes is such that the normals are outward
  • The order of edge nodes corresponds to super::Lin4 nodes

Implementations§

Source§

impl Qua12

Source

pub const GEO_NDIM: usize = 2usize

Source

pub const NNODE: usize = 12usize

Source

pub const NEDGE: usize = 4usize

Source

pub const NFACE: usize = 0usize

Source

pub const EDGE_NNODE: usize = 4usize

Source

pub const FACE_NNODE: usize = 0usize

Source

pub const FACE_NEDGE: usize = 0usize

Source

pub const TRIANGULATE_NTRIANGLE: usize = 18usize

Source

pub const TRIANGULATE_EXTRA_NNODE: usize = 4usize

Source

pub const EDGE_NODE_IDS: [[usize; 4]; 4]

Source

pub const EDGE_NODE_IDS_INWARD: [[usize; 4]; 4]

Source

pub const NODE_REFERENCE_COORDS: [[f64; 2]; 12]

Source

pub const TRIANGULATE_TRIANGLES: [[usize; 3]; 18]

Source

pub const TRIANGULATE_EXTRA_COORDS: [[f64; 2]; 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, ksi: &[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 Qua12

§

impl RefUnwindSafe for Qua12

§

impl Send for Qua12

§

impl Sync for Qua12

§

impl Unpin for Qua12

§

impl UnwindSafe for Qua12

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V