Trait ViscoelasticFiniteElementBlock

Source
pub trait ViscoelasticFiniteElementBlock<C, F, const G: usize, const N: usize>{
    // Required methods
    fn nodal_forces(
        &self,
        nodal_coordinates: &NodalCoordinatesBlock,
        nodal_velocities: &TensorRank1Vec<3, 1>,
    ) -> Result<NodalForcesBlock, ConstitutiveError>;
    fn nodal_stiffnesses(
        &self,
        nodal_coordinates: &NodalCoordinatesBlock,
        nodal_velocities: &TensorRank1Vec<3, 1>,
    ) -> Result<TensorRank2Vec2D<3, 1, 1>, ConstitutiveError>;
    fn nodal_velocities_element(
        &self,
        element_connectivity: &[usize; N],
        nodal_velocities: &TensorRank1Vec<3, 1>,
    ) -> CurrentCoordinates<D>;
}

Required Methods§

Source

fn nodal_forces( &self, nodal_coordinates: &NodalCoordinatesBlock, nodal_velocities: &TensorRank1Vec<3, 1>, ) -> Result<NodalForcesBlock, ConstitutiveError>

Source

fn nodal_stiffnesses( &self, nodal_coordinates: &NodalCoordinatesBlock, nodal_velocities: &TensorRank1Vec<3, 1>, ) -> Result<TensorRank2Vec2D<3, 1, 1>, ConstitutiveError>

Source

fn nodal_velocities_element( &self, element_connectivity: &[usize; N], nodal_velocities: &TensorRank1Vec<3, 1>, ) -> CurrentCoordinates<D>

Implementors§

Source§

impl<C, F, const G: usize, const N: usize> ViscoelasticFiniteElementBlock<C, F, G, N> for ElementBlock<F, N>
where C: Viscoelastic, F: ViscoelasticFiniteElement<C, G, N>, Self: FiniteElementBlockMethods<C, F, G, N>,