Skip to main content

HyperelasticViscoplasticElements

Trait HyperelasticViscoplasticElements 

Source
pub trait HyperelasticViscoplasticElements<S, const D: usize>{
    // Required method
    fn helmholtz_free_energy(
        &self,
        nodal_coordinates: &NodalCoordinates<D>,
        state_variables: &S,
    ) -> Result<Quantity<Energy>, ElementModelError>;
}

Required Methods§

Source

fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &S, ) -> Result<Quantity<Energy>, ElementModelError>

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl<B1, B2, S1, S2, const D: usize> HyperelasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>

Source§

impl<B1, B2, S, const D: usize> HyperelasticViscoplasticElements<S, D> for ElasticViscoplasticAndElastic<B1, B2>

Source§

impl<B, S, const D: usize> HyperelasticViscoplasticElements<S, D> for Model<B, D>

Source§

impl<C, F, Y> HyperelasticViscoplasticElements<TensorVector<TensorList<TensorTuple<TensorRank2<3, Intermediate, Reference>, Y>, 1>>, 3> for conspire::domain::vem::block::Block<C, F>

Source§

impl<C, F, const G: usize, const M: usize, const N: usize, const P: usize, Y> HyperelasticViscoplasticElements<TensorVector<TensorList<TensorTuple<TensorRank2<3, Intermediate, Reference>, Y>, G>>, 3> for conspire::domain::fem::block::Block<C, F, G, M, N, P>

Source§

impl<C, Y> HyperelasticViscoplasticElements<TensorVector<TensorList<TensorTuple<TensorRank2<3, Intermediate, Reference>, Y>, 1>>, 3> for conspire::domain::cbm::block::Block<C>