pub struct DFTProfile<D: Dimension, F> {
pub grid: Grid,
pub convolver: Arc<dyn Convolver<f64, D>>,
pub temperature: Temperature,
pub density: Density<Array<f64, D::Larger>>,
pub specification: Arc<dyn DFTSpecification<D, F>>,
pub external_potential: Array<f64, D::Larger>,
pub bulk: State<F>,
pub solver_log: Option<DFTSolverLog>,
pub lanczos: Option<i32>,
}Expand description
A one-, two-, or three-dimensional density profile.
Fields§
§grid: Grid§convolver: Arc<dyn Convolver<f64, D>>§temperature: Temperature§density: Density<Array<f64, D::Larger>>§specification: Arc<dyn DFTSpecification<D, F>>§external_potential: Array<f64, D::Larger>§bulk: State<F>§solver_log: Option<DFTSolverLog>§lanczos: Option<i32>Implementations§
Source§impl<D: Dimension, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
impl<D: Dimension, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
Sourcepub fn grand_potential_density(&self) -> FeosResult<Pressure<Array<f64, D>>>
pub fn grand_potential_density(&self) -> FeosResult<Pressure<Array<f64, D>>>
Calculate the grand potential density $\omega$.
Sourcepub fn grand_potential(&self) -> FeosResult<Energy>
pub fn grand_potential(&self) -> FeosResult<Energy>
Calculate the grand potential $\Omega$.
Sourcepub fn functional_derivative(&self) -> FeosResult<Array<f64, D::Larger>>
pub fn functional_derivative(&self) -> FeosResult<Array<f64, D::Larger>>
Calculate the (residual) intrinsic functional derivative $\frac{\delta\mathcal{F}}{\delta\rho_i(\mathbf{r})}$.
Source§impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
Sourcepub fn residual_entropy_density(
&self,
) -> FeosResult<EntropyDensity<Array<f64, D>>>
pub fn residual_entropy_density( &self, ) -> FeosResult<EntropyDensity<Array<f64, D>>>
Calculate the residual entropy density $s^\mathrm{res}(\mathbf{r})$.
Untested with heterosegmented functionals.
Source§impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional + Total> DFTProfile<D, F>
impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional + Total> DFTProfile<D, F>
Sourcepub fn entropy_density(
&self,
contributions: Contributions,
) -> FeosResult<EntropyDensity<Array<f64, D>>>
pub fn entropy_density( &self, contributions: Contributions, ) -> FeosResult<EntropyDensity<Array<f64, D>>>
Calculate the entropy density $s(\mathbf{r})$.
Untested with heterosegmented functionals.
Sourcepub fn entropy(&self, contributions: Contributions) -> FeosResult<Entropy>
pub fn entropy(&self, contributions: Contributions) -> FeosResult<Entropy>
Calculate the entropy $S$.
Untested with heterosegmented functionals.
Sourcepub fn internal_energy_density(
&self,
contributions: Contributions,
) -> FeosResult<Pressure<Array<f64, D>>>
pub fn internal_energy_density( &self, contributions: Contributions, ) -> FeosResult<Pressure<Array<f64, D>>>
Calculate the internal energy density $u(\mathbf{r})$.
Untested with heterosegmented functionals.
Sourcepub fn internal_energy(
&self,
contributions: Contributions,
) -> FeosResult<Energy>
pub fn internal_energy( &self, contributions: Contributions, ) -> FeosResult<Energy>
Calculate the internal energy $U$.
Untested with heterosegmented functionals.
Source§impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
Sourcepub fn drho_dmu(
&self,
) -> FeosResult<<Density<Array<f64, <D::Larger as Dimension>::Larger>> as Div<MolarEnergy>>::Output>
pub fn drho_dmu( &self, ) -> FeosResult<<Density<Array<f64, <D::Larger as Dimension>::Larger>> as Div<MolarEnergy>>::Output>
Return the partial derivatives of the density profiles w.r.t. the chemical potentials $\left(\frac{\partial\rho_i(\mathbf{r})}{\partial\mu_k}\right)_T$
Sourcepub fn dn_dmu(
&self,
) -> FeosResult<<Moles<DMatrix<f64>> as Div<MolarEnergy>>::Output>
pub fn dn_dmu( &self, ) -> FeosResult<<Moles<DMatrix<f64>> as Div<MolarEnergy>>::Output>
Return the partial derivatives of the number of moles w.r.t. the chemical potentials $\left(\frac{\partial N_i}{\partial\mu_k}\right)_T$
Sourcepub fn drho_dp(
&self,
) -> FeosResult<<Density<Array<f64, D::Larger>> as Div<Pressure>>::Output>
pub fn drho_dp( &self, ) -> FeosResult<<Density<Array<f64, D::Larger>> as Div<Pressure>>::Output>
Return the partial derivatives of the density profiles w.r.t. the bulk pressure at constant temperature and bulk composition $\left(\frac{\partial\rho_i(\mathbf{r})}{\partial p}\right)_{T,\mathbf{x}}$
Sourcepub fn dn_dp(
&self,
) -> FeosResult<<Moles<DVector<f64>> as Div<Pressure>>::Output>
pub fn dn_dp( &self, ) -> FeosResult<<Moles<DVector<f64>> as Div<Pressure>>::Output>
Return the partial derivatives of the number of moles w.r.t. the bulk pressure at constant temperature and bulk composition $\left(\frac{\partial N_i}{\partial p}\right)_{T,\mathbf{x}}$
Sourcepub fn drho_dt(
&self,
) -> FeosResult<<Density<Array<f64, D::Larger>> as Div<Temperature>>::Output>
pub fn drho_dt( &self, ) -> FeosResult<<Density<Array<f64, D::Larger>> as Div<Temperature>>::Output>
Return the partial derivatives of the density profiles w.r.t. the temperature at constant bulk pressure and composition $\left(\frac{\partial\rho_i(\mathbf{r})}{\partial T}\right)_{p,\mathbf{x}}$
Sourcepub fn dn_dt(
&self,
) -> FeosResult<<Moles<DVector<f64>> as Div<Temperature>>::Output>
pub fn dn_dt( &self, ) -> FeosResult<<Moles<DVector<f64>> as Div<Temperature>>::Output>
Return the partial derivatives of the number of moles w.r.t. the temperature at constant bulk pressure and composition $\left(\frac{\partial N_i}{\partial T}\right)_{p,\mathbf{x}}$
Source§impl<F> DFTProfile<Ix1, F>
impl<F> DFTProfile<Ix1, F>
Source§impl<F> DFTProfile<Ix2, F>
impl<F> DFTProfile<Ix2, F>
Source§impl<F> DFTProfile<Ix3, F>
impl<F> DFTProfile<Ix3, F>
Source§impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
impl<D: Dimension + RemoveAxis + 'static, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
Sourcepub fn new(
grid: Grid,
bulk: &State<F>,
external_potential: Option<Array<f64, D::Larger>>,
density: Option<&Density<Array<f64, D::Larger>>>,
lanczos: Option<i32>,
) -> Self
pub fn new( grid: Grid, bulk: &State<F>, external_potential: Option<Array<f64, D::Larger>>, density: Option<&Density<Array<f64, D::Larger>>>, lanczos: Option<i32>, ) -> Self
Create a new density profile.
If no external potential is specified, it is set to 0. The density is
initialized based on the bulk state and the external potential. The
specification is set to ChemicalPotential and needs to be overriden
after this call if something else is required.
Source§impl<D: Dimension, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
impl<D: Dimension, F: HelmholtzEnergyFunctional> DFTProfile<D, F>
Sourcepub fn volume(&self) -> Volume
pub fn volume(&self) -> Volume
Return the volume of the profile.
In periodic directions, the length is assumed to be 1 Å.
Sourcepub fn integrate<S: Data<Elem = f64>, U>(
&self,
profile: &Quantity<ArrayBase<S, D>, U>,
) -> Quantity<f64, Sum<_Volume, U>>
pub fn integrate<S: Data<Elem = f64>, U>( &self, profile: &Quantity<ArrayBase<S, D>, U>, ) -> Quantity<f64, Sum<_Volume, U>>
Integrate a given profile over the iteration domain.
Sourcepub fn integrate_comp<S: Data<Elem = f64>, U>(
&self,
profile: &Quantity<ArrayBase<S, D::Larger>, U>,
) -> Quantity<DVector<f64>, Sum<_Volume, U>>
pub fn integrate_comp<S: Data<Elem = f64>, U>( &self, profile: &Quantity<ArrayBase<S, D::Larger>, U>, ) -> Quantity<DVector<f64>, Sum<_Volume, U>>
Integrate each component individually.
Sourcepub fn integrate_segments<S: Data<Elem = f64>, U>(
&self,
profile: &Quantity<ArrayBase<S, D::Larger>, U>,
) -> Quantity<DVector<f64>, Sum<_Volume, U>>
pub fn integrate_segments<S: Data<Elem = f64>, U>( &self, profile: &Quantity<ArrayBase<S, D::Larger>, U>, ) -> Quantity<DVector<f64>, Sum<_Volume, U>>
Integrate each segment individually and aggregate to components.
Sourcepub fn moles(&self) -> Moles<DVector<f64>>
pub fn moles(&self) -> Moles<DVector<f64>>
Return the number of moles of each component in the system.
Sourcepub fn total_moles(&self) -> Moles
pub fn total_moles(&self) -> Moles
Return the total number of moles in the system.
Source§impl<D: Dimension, F> DFTProfile<D, F>
impl<D: Dimension, F> DFTProfile<D, F>
Trait Implementations§
Auto Trait Implementations§
impl<D, F> !Freeze for DFTProfile<D, F>
impl<D, F> !RefUnwindSafe for DFTProfile<D, F>
impl<D, F> Send for DFTProfile<D, F>where
F: Send,
impl<D, F> Sync for DFTProfile<D, F>where
F: Sync,
impl<D, F> Unpin for DFTProfile<D, F>
impl<D, F> !UnwindSafe for DFTProfile<D, F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PropertiesAD for T
impl<T> PropertiesAD for T
fn vapor_pressure<const P: usize>( &self, temperature: Quantity<f64, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, ATerm>>>>>>>>, ) -> Result<Quantity<DualVec<f64, f64, Const<P>>, <<<TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>, FeosError>
fn equilibrium_liquid_density<const P: usize>( &self, temperature: Quantity<f64, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, ATerm>>>>>>>>, ) -> Result<(Quantity<DualVec<f64, f64, Const<P>>, <<<TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>, Quantity<DualVec<f64, f64, Const<P>>, <TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, ATerm>>>>>>> as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>), FeosError>
fn liquid_density<const P: usize>( &self, temperature: Quantity<f64, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, ATerm>>>>>>>>, pressure: Quantity<f64, <<<TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>, ) -> Result<Quantity<DualVec<f64, f64, Const<P>>, <TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, ATerm>>>>>>> as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>, FeosError>
fn bubble_point_pressure<const P: usize>( &self, temperature: Quantity<f64, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, ATerm>>>>>>>>, pressure: Option<Quantity<f64, <<<TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>>, liquid_molefracs: Matrix<f64, Const<2>, Const<1>, ArrayStorage<f64, 2, 1>>, ) -> Result<Quantity<DualVec<f64, f64, Const<P>>, <<<TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>, FeosError>
fn dew_point_pressure<const P: usize>( &self, temperature: Quantity<f64, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, ATerm>>>>>>>>, pressure: Option<Quantity<f64, <<<TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>>, vapor_molefracs: Matrix<f64, Const<2>, Const<1>, ArrayStorage<f64, 2, 1>>, ) -> Result<Quantity<DualVec<f64, f64, Const<P>>, <<<TArr<Z0, TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output as Sub<<<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>> as Add>::Output as Add<TArr<Z0, TArr<PInt<UInt<UTerm, B1>>, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, TArr<Z0, ATerm>>>>>>>>>::Output>>::Output>, FeosError>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.