pub struct Hex8 {}Expand description
Defines a hexahedron with 8 nodes (bilinear faces)
§Local IDs of nodes
4________________7
,'| ,'|
,' | ,' | r s t
,' | ,' | p:0 [-1.0, -1.0, -1.0]
,' | ,' | p:1 [ 1.0, -1.0, -1.0]
5'===============6' | p:2 [ 1.0, 1.0, -1.0]
| | | | p:3 [-1.0, 1.0, -1.0]
| | | | p:4 [-1.0, -1.0, 1.0]
| 0_____ | ________3 p:5 [ 1.0, -1.0, 1.0]
| ,' | ,' p:6 [ 1.0, 1.0, 1.0]
| ,' | ,' p:7 [-1.0, 1.0, 1.0]
| ,' | ,'
| ,' | ,'
1________________2'§Local IDs of edges
7 p0 p1
+----------------+ e:0 [0, 1]
,'| ,'| e:1 [1, 2]
4 ,' |8 6,' | e:2 [2, 3]
,' | ,' | e:3 [3, 0]
,' | 5 ,' |11 e:4 [4, 5]
+'===============+' | e:5 [5, 6]
| | | | e:6 [6, 7]
| | | 3 | e:7 [7, 4]
| .- - - | - - - -+ e:8 [0, 4]
9| ,' | ,' e:9 [1, 5]
| 0,' |10 ,' e:10 [2, 6]
| ,' | ,' 2 e:11 [3, 7]
| ,' | ,'
+----------------+'
1- The order of edge nodes corresponds to Lin2 nodes.
§Local IDs of faces
4----------------7
,'| ,'|
,' | ___ ,' |
,' |,'5,' [0],' | p0 p1 p2 p3
,' |~~~ ,' | f:0 [0, 4, 7, 3]
5'===============6' ,'| | f:1 [1, 2, 6, 5]
| ,'| | | |3| | f:2 [0, 1, 5, 4]
| |2| | | |,' | f:3 [2, 3, 7, 6]
| |,' 0- - - | +- - - -3 f:4 [0, 3, 2, 1]
| ,' | ,' f:5 [4, 5, 6, 7]
| ,' [1] ___| ,'
| ,' ,'4,'| ,'
| ,' ~~~ | ,'
1----------------2'§Notes
- The reference coordinates range from -1 to +1 with the geometry centred @ 0.
- The order of face nodes is such that the normals are outward
- The order of face nodes corresponds to super::Qua4 nodes
- This shape is a lower-order version of super::Hex20
Implementations§
Source§impl Hex8
impl Hex8
pub const GEO_NDIM: usize = 3
pub const NNODE: usize = 8
pub const NEDGE: usize = 12
pub const NFACE: usize = 6
pub const EDGE_NNODE: usize = 2
pub const FACE_NNODE: usize = 4
pub const FACE_NEDGE: usize = 4
pub const EDGE_NODE_IDS: [[usize; 2]; 12]
pub const FACE_NODE_IDS: [[usize; 4]; 6]
pub const FACE_EDGE_NODE_IDS: [[[usize; 2]; 4]; 6]
pub const NODE_REFERENCE_COORDS: [[f64; 3]; 8]
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, ksi: &[f64])
pub fn calc_deriv(deriv: &mut Matrix, ksi: &[f64])
Auto Trait Implementations§
impl Freeze for Hex8
impl RefUnwindSafe for Hex8
impl Send for Hex8
impl Sync for Hex8
impl Unpin for Hex8
impl UnsafeUnpin for Hex8
impl UnwindSafe for Hex8
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