Struct kalast::core::body::Properties[][src]

pub struct Properties { /* fields omitted */ }

Ground properties of celestial bodies

Definition

Properties are initialized

Example

use kalast::{Properties, HOUR};

let properties = Properties::new(
    11.92 * HOUR, // rotation period
    11.92 * HOUR, // revolution period
    0.,           // obliquity
    500.,         // thermal inertia
    2146.,        // density
    600.,         // heat capacity
    0.07,         // albedo
    0.9,          // emissivity
);

Implementations

impl Properties[src]

pub fn new(
    rotation_period: f64,
    revolution_period: f64,
    obliquity: f64,
    thermal_inertia: f64,
    density: f64,
    heat_capacity: f64,
    albedo: f64,
    emissivity: f64
) -> Self
[src]

Basic properties constructor.

pub fn rotation_period(&self) -> f64[src]

Rotation period getter.

pub fn revolution_period(&self) -> f64[src]

Revolution period getter.

pub fn obliquity(&self) -> f64[src]

Obliquity getter.

pub fn thermal_inertia(&self) -> f64[src]

Thermal inertia getter.

pub fn density(&self) -> f64[src]

Density getter.

pub fn heat_capacity(&self) -> f64[src]

Heat capacity getter.

pub fn albedo(&self) -> f64[src]

Albedo getter.

pub fn emissivity(&self) -> f64[src]

Emissivity getter.

pub fn number_thermal_skin_depth(&self) -> usize[src]

Number of thermal skin depth getter.

pub fn set_number_thermal_skin_depth(
    &mut self,
    number_thermal_skin_depth: usize
)
[src]

Number of thermal skin depth setter.

pub fn time_step(&self) -> f64[src]

Time step getter. Fails if the time step of the simulation has not been shared with this struct.

pub fn set_time_step(&mut self, time_step: f64) -> bool[src]

Time step setter. Return true if the time step has been modified, else false.

pub fn compute_properties(&mut self)[src]

Compute properties not initialized.

pub fn conductivity(&self) -> f64[src]

Conductivity getter.

pub fn compute_conductivity(&mut self)[src]

Compute conductivity.

pub fn diffusivity(&self) -> f64[src]

Diffusivity getter.

pub fn compute_diffusivity(&mut self)[src]

Compute diffusivity.

pub fn thermal_skin_depth(&self) -> f64[src]

Thermal skin depth getter.

pub fn compute_thermal_skin_depth(&mut self)[src]

Compute thermal skin depth.

pub fn ground_depth(&self) -> f64[src]

Ground depth getter.

pub fn set_ground_depth(&mut self, ground_depth: f64)[src]

Ground depth setter.

pub fn compute_ground_depth(&mut self)[src]

Compute depth memoized.

pub fn ground_step(&self) -> f64[src]

Ground step getter.

pub fn compute_ground_step(&mut self)[src]

Compute ground step.

pub fn set_ground_step(&mut self, ground_step: f64)[src]

Ground step setter.

pub fn ground_vector(&self) -> &VX<f64>[src]

Ground vector getter as reference.

pub fn recompute_ground_vector(&mut self)[src]

Force ground vector recomputation.

pub fn compute_ground_vector(&mut self)[src]

Compute ground vector. Initialize to be at least the surface if no ground step or depth are set already.

pub fn diffusivity_field(&self) -> &f64[src]

Diffusivity field getter.

pub fn compute_diffusivity_field(&mut self)[src]

Compute diffusivity field.

pub fn rotation_axis(&self) -> &Unit<V3<f64>>[src]

Rotation axis getter as reference.

pub fn compute_rotation_axis(&mut self)[src]

Compute rotation axis.

pub fn rotation_angle(&self) -> f64[src]

Rotation angle getter.

pub fn compute_rotation_angle(&mut self)[src]

Compute rotation angle.

pub fn rotation_matrix(&self) -> &Rotation3<f64>[src]

Rotation matrix getter as reference.

pub fn compute_rotation_matrix(&mut self)[src]

Compute rotation matrix.

pub fn obliquity_initiation_axis(&self) -> &Unit<V3<f64>>[src]

Obliquity initiation axis getter as reference.

pub fn compute_obliquity_initiation_axis(&mut self)[src]

Compute obliquity initiation axis.

pub fn obliquity_initiation_rotation_matrix(&self) -> &Rotation3<f64>[src]

Obliquity initiation rotation matrix getter as reference.

pub fn compute_obliquity_initiation_rotation_matrix(&mut self)[src]

Compute obliquity initiation rotation matrix.

Trait Implementations

impl Clone for Properties[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,