pub struct ExtendedMaterial {Show 13 fields
pub name: String,
pub density: f64,
pub young_modulus: f64,
pub poisson_ratio: f64,
pub yield_strength: f64,
pub ultimate_strength: f64,
pub thermal_conductivity: f64,
pub specific_heat: f64,
pub thermal_expansion: f64,
pub melting_point: f64,
pub speed_of_sound: f64,
pub electrical_resistivity: f64,
pub emissivity: f64,
}Expand description
Extended material with full physical, mechanical, thermal, acoustic, and optical properties for simulation of complex multi-physics problems.
Fields§
§name: StringMaterial name
density: f64Density [kg/m³]
young_modulus: f64Young’s modulus [Pa]
poisson_ratio: f64Poisson’s ratio [-]
yield_strength: f64Yield strength [Pa]
ultimate_strength: f64Ultimate tensile strength [Pa]
thermal_conductivity: f64Thermal conductivity [W/(m·K)]
specific_heat: f64Specific heat capacity at constant pressure [J/(kg·K)]
thermal_expansion: f64Thermal expansion coefficient [1/K]
melting_point: f64Melting point [K]
speed_of_sound: f64Speed of sound [m/s]
electrical_resistivity: f64Electrical resistivity [Ω·m]
emissivity: f64Emissivity (0 = perfect reflector, 1 = blackbody)
Implementations§
Source§impl ExtendedMaterial
impl ExtendedMaterial
Sourcepub fn new(
name: impl Into<String>,
density: f64,
young_modulus: f64,
poisson_ratio: f64,
yield_strength: f64,
ultimate_strength: f64,
thermal_conductivity: f64,
specific_heat: f64,
thermal_expansion: f64,
melting_point: f64,
speed_of_sound: f64,
electrical_resistivity: f64,
emissivity: f64,
) -> Self
pub fn new( name: impl Into<String>, density: f64, young_modulus: f64, poisson_ratio: f64, yield_strength: f64, ultimate_strength: f64, thermal_conductivity: f64, specific_heat: f64, thermal_expansion: f64, melting_point: f64, speed_of_sound: f64, electrical_resistivity: f64, emissivity: f64, ) -> Self
Create a new extended material with all properties.
Sourcepub fn shear_modulus(&self) -> f64
pub fn shear_modulus(&self) -> f64
Shear modulus G = E / (2(1+ν)) [Pa].
Sourcepub fn bulk_modulus(&self) -> f64
pub fn bulk_modulus(&self) -> f64
Bulk modulus K = E / (3(1-2ν)) [Pa].
Sourcepub fn thermal_diffusivity(&self) -> f64
pub fn thermal_diffusivity(&self) -> f64
Thermal diffusivity α = λ / (ρ·cp) [m²/s].
Sourcepub fn acoustic_impedance(&self) -> f64
pub fn acoustic_impedance(&self) -> f64
Acoustic impedance Z = ρ·c [kg/(m²·s) = Pa·s/m].
Sourcepub fn specific_strength(&self) -> f64
pub fn specific_strength(&self) -> f64
Specific strength (yield strength / density) [Pa·m³/kg = N·m/kg].
Sourcepub fn specific_stiffness(&self) -> f64
pub fn specific_stiffness(&self) -> f64
Specific stiffness (Young’s modulus / density) [Pa·m³/kg].
Sourcepub fn thermal_shock_resistance(&self) -> f64
pub fn thermal_shock_resistance(&self) -> f64
Thermal shock resistance (simplified Biot-type): R = σ_y · λ / (E · α) [W/m].
Sourcepub fn acoustic_reflection_coefficient_from_air(&self) -> f64
pub fn acoustic_reflection_coefficient_from_air(&self) -> f64
Reflection coefficient at normal incidence from medium 1 (air, Z₁ = 415) to this material: R = ((Z₂ - Z₁) / (Z₂ + Z₁))².
Sourcepub fn skin_depth(&self, frequency_hz: f64) -> f64
pub fn skin_depth(&self, frequency_hz: f64) -> f64
Skin depth at frequency f [Hz] for electromagnetic waves: δ = sqrt(ρ_e / (π · f · μ₀)) [m].
Sourcepub fn thermal_boundary_layer(
&self,
x: f64,
velocity: f64,
dynamic_viscosity: f64,
prandtl: f64,
) -> f64
pub fn thermal_boundary_layer( &self, x: f64, velocity: f64, dynamic_viscosity: f64, prandtl: f64, ) -> f64
Thermal boundary layer thickness for flow over a flat plate at x: δ_T = 5x / sqrt(Re_x) · Pr^{-1/3}, Re_x = ρ·v·x/η.
Returns δ_T [m].
Sourcepub fn is_stiffer_specific(&self, other: &ExtendedMaterial) -> bool
pub fn is_stiffer_specific(&self, other: &ExtendedMaterial) -> bool
Return true if this material has higher specific stiffness than another.
Sourcepub fn aluminium_6061() -> Self
pub fn aluminium_6061() -> Self
Preset: aluminium alloy (6061-T6).
Sourcepub fn titanium_6al4v() -> Self
pub fn titanium_6al4v() -> Self
Preset: Ti-6Al-4V titanium alloy.
Sourcepub fn cfrp_quasi_isotropic() -> Self
pub fn cfrp_quasi_isotropic() -> Self
Preset: Carbon Fibre Reinforced Polymer (quasi-isotropic laminate).
Sourcepub fn borosilicate_glass() -> Self
pub fn borosilicate_glass() -> Self
Preset: borosilicate glass (Pyrex).
Trait Implementations§
Source§impl Clone for ExtendedMaterial
impl Clone for ExtendedMaterial
Source§fn clone(&self) -> ExtendedMaterial
fn clone(&self) -> ExtendedMaterial
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more