pub struct Tet4 {}Expand description
Defines a tetrahedron with 4 nodes (linear faces)
§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
impl Tet4
pub const GEO_NDIM: usize = 3
pub const NNODE: usize = 4
pub const NEDGE: usize = 6
pub const NFACE: usize = 4
pub const EDGE_NNODE: usize = 2
pub const FACE_NNODE: usize = 3
pub const FACE_NEDGE: usize = 3
pub const EDGE_NODE_IDS: [[usize; 2]; 6]
pub const FACE_NODE_IDS: [[usize; 3]; 4]
pub const FACE_EDGE_NODE_IDS: [[[usize; 2]; 3]; 4]
pub const NODE_REFERENCE_COORDS: [[f64; 3]; 4]
Sourcepub fn calc_interp(interp: &mut Vector, ksi: &[f64])
pub fn calc_interp(interp: &mut Vector, ksi: &[f64])
Sourcepub fn calc_deriv(deriv: &mut Matrix, _: &[f64])
pub fn calc_deriv(deriv: &mut Matrix, _: &[f64])
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more