pub struct FEM<V> { /* private fields */ }Implementations§
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
pub fn create(rel_tol: V, abs_tol: V, nodes_number: u32) -> Self
pub fn reset(&mut self, nodes_number: u32)
pub fn get_truss_rotation_matrix_elements( &self, number: u32, ) -> Result<[V; 9], String>
pub fn get_beam_rotation_matrix_elements( &self, number: u32, ) -> Result<[V; 9], String>
pub fn get_plate_rotation_matrix_elements( &self, number: u32, ) -> Result<[V; 9], String>
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
pub fn add_concentrated_load( &mut self, node_number: u32, dof_parameter: DOFParameter, value: V, ) -> Result<(), String>
pub fn add_uniformly_distributed_line_load( &mut self, beam_element_number: u32, dof_parameter: DOFParameter, value: V, ) -> Result<(), String>
pub fn add_uniformly_distributed_surface_load( &mut self, plate_element_number: u32, dof_parameter: DOFParameter, value: V, ) -> Result<(), String>
pub fn add_displacement( &mut self, node_number: u32, dof_parameter: DOFParameter, value: V, ) -> Result<(), String>
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
pub fn separate_stiffness_matrix_direct( &mut self, ) -> Result<SeparatedStiffnessMatrix<V>, String>
pub fn separate_stiffness_matrix_sparse_iterative( &self, ) -> Result<SeparatedStiffnessMatrixSparse<V>, String>
pub fn compose_r_a_vector( &self, k_aa_indexes: &Vec<usize>, ) -> Result<Vector<V>, String>
pub fn compose_u_b_vector( &self, k_bb_indexes: &Vec<usize>, ) -> Result<Vector<V>, String>
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
pub fn find_ua_vector_direct( &self, separated_stiffness_matrix: &SeparatedStiffnessMatrix<V>, r_a_vector: &Vector<V>, u_b_vector: &Vector<V>, ) -> Result<Vector<V>, String>
pub fn find_ua_vector_iterative_pcg_jacobi_sparse( &self, separated_stiffness_matrix_sparse: &SeparatedStiffnessMatrixSparse<V>, r_a_vector: &Vector<V>, u_b_vector: &Vector<V>, max_iter: usize, ) -> Result<(Vector<V>, usize), String>
pub fn find_ua_vector_iterative_pcg_block_jacobi_sparse( &self, separated_stiffness_matrix_sparse: &SeparatedStiffnessMatrixSparse<V>, r_a_vector: &Vector<V>, u_b_vector: &Vector<V>, max_iter: usize, ) -> Result<(Vector<V>, usize), String>
pub fn find_r_r_vector( &self, separated_stiffness_matrix: &SeparatedStiffnessMatrix<V>, u_a_vector: &Vector<V>, u_b_vector: &Vector<V>, ) -> Result<Vector<V>, String>
pub fn find_r_r_vector_sparse(
&self,
sep: &SeparatedStiffnessMatrixSparse<V>,
u_a_vector: &Vector<V>,
u_b_vector: &Vector<V>,
) -> Result<Vector<V>, String>where
V: FloatTrait<Output = V>,
pub fn compose_global_analysis_result( &mut self, k_aa_indexes: &[usize], k_bb_indexes: &[usize], u_a_vector: &Vector<V>, r_r_vector: &Vector<V>, ) -> Result<(), String>
pub fn extract_global_analysis_result( &self, ) -> Result<Vec<(u32, DOFParameter, V, V)>, String>
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
pub fn extract_elements_analysis_result( &self, ) -> Result<Vec<(u32, Vec<(ElementForceComponent, V)>)>, String>
Source§impl<V> FEM<V>where
V: FloatTrait<Output = V>,
impl<V> FEM<V>where
V: FloatTrait<Output = V>,
Auto Trait Implementations§
impl<V> Freeze for FEM<V>where
V: Freeze,
impl<V> RefUnwindSafe for FEM<V>where
V: RefUnwindSafe,
impl<V> Send for FEM<V>where
V: Send,
impl<V> Sync for FEM<V>where
V: Sync,
impl<V> Unpin for FEM<V>where
V: Unpin,
impl<V> UnwindSafe for FEM<V>where
V: UnwindSafe,
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