Skip to main content

Viscoplastic

Trait Viscoplastic 

Source
pub trait Viscoplastic<Y>
where Self: Plastic, Y: Differentiate + Tensor,
{ // Required methods fn initial_state(&self) -> ViscoplasticStateVariables<Y>; fn plastic_evolution( &self, mandel_stress: MandelStressElastic, state_variables: &ViscoplasticStateVariables<Y>, ) -> Result<ViscoplasticEvolution<Y>, ConstitutiveError>; fn rate_sensitivity(&self) -> Scalar; fn reference_flow_rate(&self) -> Quantity<Rate>; // Provided methods fn plastic_stretching_rate( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<StretchingRatePlastic, ConstitutiveError> { ... } fn dissipation_potential( &self, plastic_stretching_rate: StretchingRatePlastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError> { ... } fn dual_dissipation_potential( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError> { ... } }
Expand description

Required methods for viscoplastic fluid constitutive models.

Required Methods§

Source

fn initial_state(&self) -> ViscoplasticStateVariables<Y>

Returns the initial state of the variables.

Source

fn plastic_evolution( &self, mandel_stress: MandelStressElastic, state_variables: &ViscoplasticStateVariables<Y>, ) -> Result<ViscoplasticEvolution<Y>, ConstitutiveError>

Calculates and returns the plastic evolution.

\dot{\mathbf{F}}_\mathrm{p} = \mathbf{D}_\mathrm{p}\cdot\mathbf{F}_\mathrm{p}\quad\text{and}\quad\dot{\varepsilon}_\mathrm{p} = |\mathbf{D}_\mathrm{p}|
Source

fn rate_sensitivity(&self) -> Scalar

Returns the rate_sensitivity parameter.

Source

fn reference_flow_rate(&self) -> Quantity<Rate>

Returns the reference flow rate.

Provided Methods§

Source

fn plastic_stretching_rate( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<StretchingRatePlastic, ConstitutiveError>

Calculates and returns the rate of plastic stretching.

\mathbf{D}_\mathrm{p}(\mathbf{M}_\mathrm{e}') = d_0\left(\frac{|\mathbf{M}_\mathrm{e}'|}{Y(S)}\right)^{\footnotesize\tfrac{1}{m}}\frac{\mathbf{M}_\mathrm{e}'}{|\mathbf{M}_\mathrm{e}'|}
Source

fn dissipation_potential( &self, plastic_stretching_rate: StretchingRatePlastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError>

Calculates and returns the dissipation potential.

\phi(\mathbf{D}_\mathrm{p}) = \frac{Yd_0}{1+m}\left(\frac{|\mathbf{D}_\mathrm{p}|}{d_0}\right)^{1+m}
Source

fn dual_dissipation_potential( &self, deviatoric_mandel_stress: MandelStressElastic, yield_stress: Quantity<Stress>, ) -> Result<Quantity<Dissipation>, ConstitutiveError>

Calculates and returns the dual dissipation potential.

\phi^*(\mathbf{M}_\mathrm{e}') = \frac{Yd_0m}{1+m}\left(\frac{|\mathbf{M}_\mathrm{e}'|}{Y(S)}\right)^{\footnotesize\tfrac{1+m}{m}}

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§