Skip to main content

ElasticBar

Struct ElasticBar 

Source
pub struct ElasticBar {
    pub length: f64,
    pub area: f64,
    pub youngs_modulus: f64,
}
Expand description

Simple uniform elastic bar properties for axial loading summaries.

Fields§

§length: f64

Original bar length in meters.

§area: f64

Cross-sectional area in square meters.

§youngs_modulus: f64

Young’s modulus in pascals.

Implementations§

Source§

impl ElasticBar

Source

pub fn new(length: f64, area: f64, youngs_modulus: f64) -> Option<ElasticBar>

Creates a uniform elastic bar summary.

Source

pub fn axial_stiffness(&self) -> Option<f64>

Computes axial stiffness for this bar.

Source

pub fn deformation_under_force(&self, force: f64) -> Option<f64>

Computes axial deformation under the given force.

§Examples
use use_elasticity::ElasticBar;

let Some(bar) = ElasticBar::new(10.0, 2.0, 1_000.0) else {
    unreachable!();
};

assert_eq!(bar.deformation_under_force(100.0), Some(0.5));
Source

pub fn force_for_deformation(&self, deformation: f64) -> Option<f64>

Computes force required to cause the given deformation.

Source

pub fn stress_under_force(&self, force: f64) -> Option<f64>

Computes normal stress under the given force.

Source

pub fn strain_under_force(&self, force: f64) -> Option<f64>

Computes normal strain under the given force using Young’s modulus.

Trait Implementations§

Source§

impl Clone for ElasticBar

Source§

fn clone(&self) -> ElasticBar

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ElasticBar

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ElasticBar

Source§

fn eq(&self, other: &ElasticBar) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ElasticBar

Source§

impl StructuralPartialEq for ElasticBar

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.