pub struct JohnsonCookModel {
pub a: f64,
pub b: f64,
pub n: f64,
pub c: f64,
pub m: f64,
pub eps_dot0: f64,
pub t_room: f64,
pub t_melt: f64,
}Expand description
Johnson-Cook constitutive model for thermoviscoplastic flow stress.
σ = (A + B·ε^n) · (1 + C·ln(ε̇/ε̇₀)) · (1 - T*^m)
where T* = (T - T_room) / (T_melt - T_room) is the homologous temperature.
Reference: Johnson & Cook (1983).
Fields§
§a: f64Yield stress A [Pa].
b: f64Strain hardening coefficient B [Pa].
n: f64Strain hardening exponent n (dimensionless).
c: f64Strain rate sensitivity C (dimensionless).
m: f64Thermal softening exponent m (dimensionless).
eps_dot0: f64Reference strain rate ε̇₀ [1/s].
t_room: f64Room temperature T_room [K].
t_melt: f64Melt temperature T_melt [K].
Implementations§
Source§impl JohnsonCookModel
impl JohnsonCookModel
Sourcepub fn new(
a: f64,
b: f64,
n: f64,
c: f64,
m: f64,
eps_dot0: f64,
t_room: f64,
t_melt: f64,
) -> Self
pub fn new( a: f64, b: f64, n: f64, c: f64, m: f64, eps_dot0: f64, t_room: f64, t_melt: f64, ) -> Self
Create a new Johnson-Cook model.
Sourcepub fn homologous_temperature(&self, temperature: f64) -> f64
pub fn homologous_temperature(&self, temperature: f64) -> f64
Homologous temperature T* ∈ [0, 1].
Sourcepub fn flow_stress(&self, eps: f64, eps_dot: f64, temp: f64) -> f64
pub fn flow_stress(&self, eps: f64, eps_dot: f64, temp: f64) -> f64
Flow stress σ [Pa].
§Arguments
eps- Equivalent plastic strain (dimensionless, ≥ 0)eps_dot- Equivalent plastic strain rate [1/s]temp- Current temperature [K]
Sourcepub fn isothermal_flow_stress(&self, eps: f64) -> f64
pub fn isothermal_flow_stress(&self, eps: f64) -> f64
Isothermal flow stress (room temperature, reference strain rate).
Trait Implementations§
Source§impl Clone for JohnsonCookModel
impl Clone for JohnsonCookModel
Source§fn clone(&self) -> JohnsonCookModel
fn clone(&self) -> JohnsonCookModel
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for JohnsonCookModel
impl RefUnwindSafe for JohnsonCookModel
impl Send for JohnsonCookModel
impl Sync for JohnsonCookModel
impl Unpin for JohnsonCookModel
impl UnsafeUnpin for JohnsonCookModel
impl UnwindSafe for JohnsonCookModel
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