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 = 3usize
pub const NNODE: usize = 8usize
pub const NEDGE: usize = 12usize
pub const NFACE: usize = 6usize
pub const EDGE_NNODE: usize = 2usize
pub const FACE_NNODE: usize = 4usize
pub const FACE_NEDGE: usize = 4usize
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 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