Skip to main content

ElasticViscoplasticElement

Trait ElasticViscoplasticElement 

Source
pub trait ElasticViscoplasticElement<C, const G: usize, Y>{
    type Forces;
    type Stiffnesses;
    type Error;

    // Required methods
    fn nodal_forces(
        &self,
        constitutive_model: &C,
        nodal_coordinates: &Self::Coordinates,
        state_variables: &ViscoplasticStateVariables<G, Y>,
    ) -> Result<Self::Forces, Self::Error>;
    fn nodal_stiffnesses(
        &self,
        constitutive_model: &C,
        nodal_coordinates: &Self::Coordinates,
        state_variables: &ViscoplasticStateVariables<G, Y>,
    ) -> Result<Self::Stiffnesses, Self::Error>;
    fn state_variables_evolution(
        &self,
        constitutive_model: &C,
        nodal_coordinates: &Self::Coordinates,
        state_variables: &ViscoplasticStateVariables<G, Y>,
    ) -> Result<ViscoplasticEvolution<G, Y>, Self::Error>;
}

Required Associated Types§

Required Methods§

Source

fn nodal_forces( &self, constitutive_model: &C, nodal_coordinates: &Self::Coordinates, state_variables: &ViscoplasticStateVariables<G, Y>, ) -> Result<Self::Forces, Self::Error>

Source

fn nodal_stiffnesses( &self, constitutive_model: &C, nodal_coordinates: &Self::Coordinates, state_variables: &ViscoplasticStateVariables<G, Y>, ) -> Result<Self::Stiffnesses, Self::Error>

Source

fn state_variables_evolution( &self, constitutive_model: &C, nodal_coordinates: &Self::Coordinates, state_variables: &ViscoplasticStateVariables<G, Y>, ) -> Result<ViscoplasticEvolution<G, Y>, Self::Error>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<C, Y> ElasticViscoplasticElement<C, 1, Y> for conspire::domain::vem::block::element::Element

Source§

impl<C, const G: usize, const N: usize, const O: usize, Y> ElasticViscoplasticElement<C, G, Y> for conspire::domain::fem::block::element::Element<3, G, N, O>
where C: ElasticViscoplastic<Y>, Self: SolidFiniteElement<G, 3, N, N>, Y: Differentiable + Tensor,