pub trait PropertiesAD {
// Provided methods
fn vapor_pressure<const P: usize>(
&self,
temperature: Temperature,
) -> FeosResult<Pressure<DualSVec<f64, f64, P>>>
where Self: Residual<U1, DualSVec<f64, f64, P>> { ... }
fn equilibrium_liquid_density<const P: usize>(
&self,
temperature: Temperature,
) -> FeosResult<(Pressure<DualSVec<f64, f64, P>>, Density<DualSVec<f64, f64, P>>)>
where Self: Residual<U1, DualSVec<f64, f64, P>> { ... }
fn liquid_density<const P: usize>(
&self,
temperature: Temperature,
pressure: Pressure,
) -> FeosResult<Density<DualSVec<f64, f64, P>>>
where Self: Residual<U1, DualSVec<f64, f64, P>> { ... }
fn vapor_pressure_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)
where Self: ParametersAD<1> { ... }
fn liquid_density_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)
where Self: ParametersAD<1> { ... }
fn equilibrium_liquid_density_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)
where Self: ParametersAD<1> { ... }
fn bubble_point_pressure<const P: usize>(
&self,
temperature: Temperature,
pressure: Option<Pressure>,
liquid_molefracs: SVector<f64, 2>,
) -> FeosResult<Pressure<DualSVec<f64, f64, P>>>
where Self: Residual<U2, DualSVec<f64, f64, P>> { ... }
fn dew_point_pressure<const P: usize>(
&self,
temperature: Temperature,
pressure: Option<Pressure>,
vapor_molefracs: SVector<f64, 2>,
) -> FeosResult<Pressure<DualSVec<f64, f64, P>>>
where Self: Residual<U2, DualSVec<f64, f64, P>> { ... }
fn bubble_point_pressure_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)
where Self: ParametersAD<2> { ... }
fn dew_point_pressure_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)
where Self: ParametersAD<2> { ... }
}Expand description
Properties that can be evaluated with derivatives of model parameters.
Provided Methods§
fn vapor_pressure<const P: usize>( &self, temperature: Temperature, ) -> FeosResult<Pressure<DualSVec<f64, f64, P>>>
fn equilibrium_liquid_density<const P: usize>( &self, temperature: Temperature, ) -> FeosResult<(Pressure<DualSVec<f64, f64, P>>, Density<DualSVec<f64, f64, P>>)>
fn liquid_density<const P: usize>( &self, temperature: Temperature, pressure: Pressure, ) -> FeosResult<Density<DualSVec<f64, f64, P>>>
fn vapor_pressure_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)where
Self: ParametersAD<1>,
fn liquid_density_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)where
Self: ParametersAD<1>,
fn equilibrium_liquid_density_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)where
Self: ParametersAD<1>,
fn bubble_point_pressure<const P: usize>( &self, temperature: Temperature, pressure: Option<Pressure>, liquid_molefracs: SVector<f64, 2>, ) -> FeosResult<Pressure<DualSVec<f64, f64, P>>>
fn dew_point_pressure<const P: usize>( &self, temperature: Temperature, pressure: Option<Pressure>, vapor_molefracs: SVector<f64, 2>, ) -> FeosResult<Pressure<DualSVec<f64, f64, P>>>
fn bubble_point_pressure_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)where
Self: ParametersAD<2>,
fn dew_point_pressure_parallel<const P: usize>(
parameter_names: [String; P],
parameters: ArrayView2<'_, f64>,
input: ArrayView2<'_, f64>,
) -> (Array1<f64>, Array2<f64>, Array1<bool>)where
Self: ParametersAD<2>,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".