pub trait ProcessModel<const N_X: usize, const N: usize> {
// Required methods
fn variables(&self) -> [ContinuousVariable; N_X];
fn constraints(&self) -> Vec<GeneralConstraint>;
fn evaluate<E: Total<Const<N>, D>, D: DualNum<f64> + Copy>(
&self,
eos: &E,
chemical_records: [&ChemicalRecord<D>; N],
x: [D; N_X],
) -> FeosResult<(D, Vec<D>)>;
}Expand description
Generic process model to be used in an IntegratedDesign.
Required Methods§
fn variables(&self) -> [ContinuousVariable; N_X]
fn constraints(&self) -> Vec<GeneralConstraint>
fn evaluate<E: Total<Const<N>, D>, D: DualNum<f64> + Copy>( &self, eos: &E, chemical_records: [&ChemicalRecord<D>; N], x: [D; N_X], ) -> FeosResult<(D, Vec<D>)>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".