Skip to main content

Composition

Trait Composition 

Source
pub trait Composition<D: DualNum<f64> + Copy, N: Dim>{
    // Required method
    fn into_molefracs<E: Residual<N, D>>(
        self,
        eos: &E,
    ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>;
}
Expand description

Trait to generalize over different input types for the composition of a state.

The trait is implemented for the following data types:

componentsinputtotal_moles?comment
1()-
1Moles
2f64-
NOVector<f64,N>-
N&OVector<f64,N>-
NOVector<f64,N-1>-Dyn only
N&OVector<f64,N-1>-Dyn only
NMoles<OVector<f64,N>>
N&Moles<OVector<f64,N>>

Required Methods§

Source

fn into_molefracs<E: Residual<N, D>>( self, eos: &E, ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>

Convert the composition into molefracs and total moles if possible.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl Composition<f64, Dyn> for f64

Source§

impl<D: DualNum<f64> + Copy, N: Dim> Composition<D, N> for &Moles<OVector<D, N>>

Source§

fn into_molefracs<E: Residual<N, D>>( self, eos: &E, ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy, N: Dim> Composition<D, N> for &OVector<D, N>

Source§

fn into_molefracs<E: Residual<N, D>>( self, eos: &E, ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy, N: Dim> Composition<D, N> for (OVector<D, N>, Moles<D>)

Source§

fn into_molefracs<E: Residual<N, D>>( self, _: &E, ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy, N: Dim> Composition<D, N> for (OVector<D, N>, Option<Moles<D>>)

Source§

fn into_molefracs<E: Residual<N, D>>( self, _: &E, ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy, N: Dim> Composition<D, N> for Moles<OVector<D, N>>

Source§

fn into_molefracs<E: Residual<N, D>>( self, eos: &E, ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy, N: Dim> Composition<D, N> for OVector<D, N>

Source§

fn into_molefracs<E: Residual<N, D>>( self, eos: &E, ) -> FeosResult<(OVector<D, N>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy> Composition<D, Const<1>> for ()

Source§

fn into_molefracs<E: Residual<U1, D>>( self, _: &E, ) -> FeosResult<(OVector<D, U1>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy> Composition<D, Const<1>> for Moles<D>

Source§

fn into_molefracs<E: Residual<U1, D>>( self, _: &E, ) -> FeosResult<(OVector<D, U1>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy> Composition<D, Dyn> for ()

Source§

fn into_molefracs<E: Residual<Dyn, D>>( self, eos: &E, ) -> FeosResult<(OVector<D, Dyn>, Option<Moles<D>>)>

Source§

impl<D: DualNum<f64> + Copy> Composition<D, Dyn> for Moles<D>

Source§

fn into_molefracs<E: Residual<Dyn, D>>( self, eos: &E, ) -> FeosResult<(OVector<D, Dyn>, Option<Moles<D>>)>

Implementors§

Source§

impl<D: DualNum<f64> + Copy> Composition<D, Const<2>> for D