From cf49f7fcc0d13dcc165bd2c179e903ccef7c8107 Mon Sep 17 00:00:00 2001 From: Philipp Rehner <69816385+prehner@users.noreply.github.com> Date: Fri, 24 Jul 2026 11:16:46 +0200 Subject: [PATCH 01/13] Clean the implementation of temperature_or_pressure arguments somewhat (#369) --- CHANGELOG.md | 4 + .../src/phase_equilibria/bubble_dew.rs | 206 ++++++++---------- .../phase_equilibria/phase_diagram_binary.rs | 65 +++--- crates/feos/src/pcsaft/eos/mod.rs | 4 +- 4 files changed, 132 insertions(+), 147 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7683186f0..8cafa8c74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Breaking] +### Changed +- Changed data type of initial temperatures or pressure for phase equilibrium calculations (`TemperatureOrPressure::Other`) from `D` to `f64`. [#369](https://github.com/feos-org/feos/pull/369) + ## [Unreleased] ### Fixed diff --git a/crates/feos-core/src/phase_equilibria/bubble_dew.rs b/crates/feos-core/src/phase_equilibria/bubble_dew.rs index f956d4d7d..6d2c9333d 100644 --- a/crates/feos-core/src/phase_equilibria/bubble_dew.rs +++ b/crates/feos-core/src/phase_equilibria/bubble_dew.rs @@ -31,10 +31,7 @@ pub trait TemperatureOrPressure + Copy = f64>: Copy { fn temperature(&self) -> Option>; fn pressure(&self) -> Option>; - fn temperature_pressure( - &self, - tp_init: Option, - ) -> (Option>, Option>, bool); + fn specification(&self, tp_init: Option) -> TemperatureOrPressureSpecification; fn from_state, N: Gradients>(state: &State) -> Self::Other where @@ -50,7 +47,7 @@ pub trait TemperatureOrPressure + Copy = f64>: Copy { } impl + Copy> TemperatureOrPressure for Temperature { - type Other = Pressure; + type Other = Pressure; const IDENTIFIER: &'static str = "temperature"; fn temperature(&self) -> Option> { @@ -61,30 +58,27 @@ impl + Copy> TemperatureOrPressure for Temperature { None } - fn temperature_pressure( - &self, - tp_init: Option, - ) -> (Option>, Option>, bool) { - (Some(*self), tp_init, true) + fn specification(&self, tp_init: Option) -> TemperatureOrPressureSpecification { + TemperatureOrPressureSpecification::Temperature(*self, tp_init) } fn from_state, N: Gradients>(state: &State) -> Self::Other where DefaultAllocator: Allocator, { - state.pressure(Contributions::Total) + state.pressure(Contributions::Total).re() } #[cfg(feature = "ndarray")] fn linspace( &self, - start: Pressure, - end: Pressure, + start: Pressure, + end: Pressure, n: usize, ) -> (Temperature>, Pressure>) { ( Temperature::linspace(self.re(), self.re(), n), - Pressure::linspace(start.re(), end.re(), n), + Pressure::linspace(start, end, n), ) } } @@ -95,7 +89,7 @@ impl + Copy> TemperatureOrPressure for Temperature { impl + Copy> TemperatureOrPressure for Quantity> { - type Other = Temperature; + type Other = Temperature; const IDENTIFIER: &'static str = "pressure"; fn temperature(&self) -> Option> { @@ -106,34 +100,43 @@ impl + Copy> TemperatureOrPressure Some(*self) } - fn temperature_pressure( - &self, - tp_init: Option, - ) -> (Option>, Option>, bool) { - (tp_init, Some(*self), false) + fn specification(&self, tp_init: Option) -> TemperatureOrPressureSpecification { + TemperatureOrPressureSpecification::Pressure(*self, tp_init) } fn from_state, N: Dim>(state: &State) -> Self::Other where DefaultAllocator: Allocator, { - state.temperature + state.temperature.re() } #[cfg(feature = "ndarray")] fn linspace( &self, - start: Temperature, - end: Temperature, + start: Temperature, + end: Temperature, n: usize, ) -> (Temperature>, Pressure>) { ( - Temperature::linspace(start.re(), end.re(), n), + Temperature::linspace(start, end, n), Pressure::linspace(self.re(), self.re(), n), ) } } +/// Specification and initial value for a phase equilibrium calculation. +pub enum TemperatureOrPressureSpecification { + Temperature(Temperature, Option), + Pressure(Pressure, Option), +} + +impl TemperatureOrPressureSpecification { + fn is_temperature(&self) -> bool { + matches!(self, Self::Temperature(_, _)) + } +} + /// # Bubble and dew point calculations impl, N: Gradients, D: DualNum + Copy> PhaseEquilibrium where @@ -197,134 +200,113 @@ where } Ok(vle) } else { - let (temperature, pressure, iterate_p) = - temperature_or_pressure.temperature_pressure(tp_init); Self::bubble_dew_point_tp( eos, - temperature, - pressure, + temperature_or_pressure, + tp_init, vapor_molefracs, liquid_molefracs, bubble, - iterate_p, options, ) } } - #[expect(clippy::too_many_arguments)] - fn bubble_dew_point_tp>( + fn bubble_dew_point_tp, X: Composition>( eos: &E, - temperature: Option>, - pressure: Option>, + temperature_or_pressure: TP, + tp_init: Option, composition: X, molefracs_init: Option<&OVector>, bubble: bool, - iterate_p: bool, options: (SolverOptions, SolverOptions), ) -> FeosResult { let eos_re = eos.re(); - let mut temperature_re = temperature.map(|t| t.re()); - let mut pressure_re = pressure.map(|p| p.re()); + let iterate_p = temperature_or_pressure + .specification(tp_init) + .is_temperature(); let (molefracs_spec, total_moles) = composition.into_molefracs(eos)?; let molefracs_spec_re = molefracs_spec.map(|x| x.re()); - let (v1, rho2) = if iterate_p { - // temperature is specified - let temperature_re = temperature_re.as_mut().ok_or(FeosError::Error( - "Temperature information is expected for bubble/dew calculation.".to_string(), - ))?; - - // First use given initial pressure if applicable - if let Some(p) = pressure_re.as_mut() { - PhaseEquilibrium::iterate_bubble_dew( - &eos_re, - temperature_re, - p, - &molefracs_spec_re, - molefracs_init, - bubble, - iterate_p, - options, - )? - } else { - // Next try to initialize with an ideal gas assumption - let x2 = PhaseEquilibrium::starting_pressure_ideal_gas( - &eos_re, - *temperature_re, - &molefracs_spec_re, - bubble, - ) - .and_then(|(p, x)| { - let p = pressure_re.insert(p); - PhaseEquilibrium::iterate_bubble_dew( + let (mut t, mut p, v1, rho2) = match temperature_or_pressure.specification(tp_init) { + TemperatureOrPressureSpecification::Temperature(t, mut p) => { + // First use given initial pressure if applicable + let (p, v1, rho2) = if let Some(p) = p.as_mut() { + let (v1, rho2) = PhaseEquilibrium::iterate_bubble_dew( &eos_re, - temperature_re, + &mut t.re(), p, &molefracs_spec_re, - molefracs_init.or(Some(&x)), + molefracs_init, bubble, iterate_p, options, - ) - }); - - // Finally use the spinodal to initialize the calculation - x2.or_else(|_| { - PhaseEquilibrium::starting_pressure_spinodal( + )?; + (*p, v1, rho2) + } else { + let x2 = PhaseEquilibrium::starting_pressure_ideal_gas( &eos_re, - *temperature_re, + t.re(), &molefracs_spec_re, + bubble, ) - .and_then(|p| { - let p = pressure_re.insert(p); - PhaseEquilibrium::iterate_bubble_dew( + .and_then(|(mut p, x)| { + let (v1, rho2) = PhaseEquilibrium::iterate_bubble_dew( &eos_re, - temperature_re, - p, + &mut t.re(), + &mut p, &molefracs_spec_re, - molefracs_init, + molefracs_init.or(Some(&x)), bubble, iterate_p, options, + )?; + Ok((p, v1, rho2)) + }); + + // Finally use the spinodal to initialize the calculation + x2.or_else(|_| { + PhaseEquilibrium::starting_pressure_spinodal( + &eos_re, + t.re(), + &molefracs_spec_re, ) - }) - })? + .and_then(|mut p| { + let (v1, rho2) = PhaseEquilibrium::iterate_bubble_dew( + &eos_re, + &mut t.re(), + &mut p, + &molefracs_spec_re, + molefracs_init, + bubble, + iterate_p, + options, + )?; + Ok((p, v1, rho2)) + }) + })? + }; + (t.into_reduced(), D::from(p.into_reduced()), v1, rho2) } - } else { - // pressure is specified - let pressure_re = pressure_re.as_mut().ok_or(FeosError::Error( - "Pressure information is expected for bubble/dew calculation.".to_string(), - ))?; - - let temperature_re = temperature_re - .as_mut() + TemperatureOrPressureSpecification::Pressure(p, mut t) => { + let mut pressure_re = p.re(); + let t = t.as_mut() .ok_or(FeosError::Error( "An initial temperature is required for the calculation of bubble/dew points at given pressure.".to_string()))?; - PhaseEquilibrium::iterate_bubble_dew( - &eos.re(), - temperature_re, - pressure_re, - &molefracs_spec_re, - molefracs_init, - bubble, - iterate_p, - options, - )? + let (v1, rho2) = PhaseEquilibrium::iterate_bubble_dew( + &eos.re(), + t, + &mut pressure_re, + &molefracs_spec_re, + molefracs_init, + bubble, + iterate_p, + options, + )?; + (D::from(t.into_reduced()), p.into_reduced(), v1, rho2) + } }; // implicit differentiation - // unwraps here are safe - let (mut t, mut p) = if iterate_p { - ( - temperature.unwrap().into_reduced(), - D::from(pressure_re.unwrap().into_reduced()), - ) - } else { - ( - D::from(temperature_re.unwrap().into_reduced()), - pressure.unwrap().into_reduced(), - ) - }; let mut molar_volume = D::from(v1); let mut rho2 = rho2.map(D::from); for _ in 0..D::NDERIV { diff --git a/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs b/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs index a3b23cbcc..f33b6b75d 100644 --- a/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs +++ b/crates/feos-core/src/phase_equilibria/phase_diagram_binary.rs @@ -1,6 +1,7 @@ use super::bubble_dew::TemperatureOrPressure; use super::{PhaseDiagram, PhaseEquilibrium}; use crate::errors::{FeosError, FeosResult}; +use crate::phase_equilibria::bubble_dew::TemperatureOrPressureSpecification; use crate::state::{Contributions, DensityInitialization::Vapor, State}; use crate::{ReferenceSystem, Residual, SolverOptions, Subset}; use nalgebra::{DVector, dvector, matrix, stack, vector}; @@ -503,31 +504,27 @@ impl PhaseEquilibrium { options: SolverOptions, bubble_dew_options: (SolverOptions, SolverOptions), ) -> FeosResult { - let (temperature, pressure, iterate_p) = - temperature_or_pressure.temperature_pressure(tp_init); - if iterate_p { - PhaseEquilibrium::heteroazeotrope_t( - eos, - temperature.ok_or(FeosError::Error( - "Temperature information is expected for heteroazeotrope calculation." - .to_string(), - ))?, - x_init, - pressure, - options, - bubble_dew_options, - ) - } else { - PhaseEquilibrium::heteroazeotrope_p( - eos, - pressure.ok_or(FeosError::Error( - "Pressure information is expected for heteroazeotrope calculation.".to_string(), - ))?, - x_init, - temperature, - options, - bubble_dew_options, - ) + match temperature_or_pressure.specification(tp_init) { + TemperatureOrPressureSpecification::Temperature(temperature, pressure) => { + PhaseEquilibrium::heteroazeotrope_t( + eos, + temperature, + x_init, + pressure, + options, + bubble_dew_options, + ) + } + TemperatureOrPressureSpecification::Pressure(pressure, temperature) => { + PhaseEquilibrium::heteroazeotrope_p( + eos, + pressure, + x_init, + temperature, + options, + bubble_dew_options, + ) + } } } @@ -826,12 +823,14 @@ impl PhaseEquilibrium { let x0 = -ln_alpha1 / (ln_alpha2 - ln_alpha1); // solve for the azeotropic composition and return the corresponding VLE state - let (temperature, pressure, iterate_t) = temperature_or_pressure.temperature_pressure(None); - (if iterate_t { - Self::iterate_azeotrope_t(eos, temperature.unwrap(), x0, 10, 1e-10) - } else { - let t_init = vle1.liquid().temperature.min(vle2.liquid().temperature); - Self::iterate_azeotrope_p(eos, pressure.unwrap(), x0, t_init, 10, 1e-10) + (match temperature_or_pressure.specification(None) { + TemperatureOrPressureSpecification::Temperature(temperature, _) => { + Self::iterate_azeotrope_t(eos, temperature, x0, 10, 1e-10) + } + TemperatureOrPressureSpecification::Pressure(pressure, _) => { + let t_init = vle1.liquid().temperature.min(vle2.liquid().temperature); + Self::iterate_azeotrope_p(eos, pressure, x0, t_init, 10, 1e-10) + } }) .map(Some) } @@ -849,7 +848,7 @@ impl PhaseEquilibrium { PhaseEquilibrium::bubble_point( &eos.lift(), t, - &dvector![x, -x + 1.0], + dvector![x, -x + 1.0], None, None, Default::default(), @@ -884,7 +883,7 @@ impl PhaseEquilibrium { PhaseEquilibrium::bubble_point( &eos.lift(), p, - &dvector![x, -x + 1.0], + dvector![x, -x + 1.0], Some(t_init), None, Default::default(), diff --git a/crates/feos/src/pcsaft/eos/mod.rs b/crates/feos/src/pcsaft/eos/mod.rs index 6a68f67f7..aa8e05d0c 100644 --- a/crates/feos/src/pcsaft/eos/mod.rs +++ b/crates/feos/src/pcsaft/eos/mod.rs @@ -890,7 +890,7 @@ mod tests_parameter_fit { let pcsaft_ad = PcSaftBinary::::seed_derivatives(&flat_binary_params(&pcsaft), ["k_ij"]); let pressure = Pressure::from_reduced(DualVec::from(45. * BAR.into_reduced())); - let t_init = Temperature::from_reduced(DualVec::from(500.0)); + let t_init = Temperature::from_reduced(500.0); let x = DualVec::from(0.5); let t = PhaseEquilibrium::bubble_point( &pcsaft_ad, @@ -939,7 +939,7 @@ mod tests_parameter_fit { let pcsaft_ad = PcSaftBinary::::seed_derivatives(&flat_binary_params(&pcsaft), ["k_ij"]); let pressure = Pressure::from_reduced(DualVec::from(45. * BAR.into_reduced())); - let t_init = Temperature::from_reduced(DualVec::from(500.0)); + let t_init = Temperature::from_reduced(500.0); let x = DualVec::from(0.5); let t = PhaseEquilibrium::dew_point( &pcsaft_ad, From 550b452daeeb9883a06de1d2f592de4bf46c86e5 Mon Sep 17 00:00:00 2001 From: Philipp Rehner <69816385+prehner@users.noreply.github.com> Date: Fri, 24 Jul 2026 11:30:48 +0200 Subject: [PATCH 02/13] Implement DFT at fixed moles (#371) --- CHANGELOG.md | 7 ++ crates/feos-dft/src/adsorption/mod.rs | 44 ++++++--- crates/feos-dft/src/adsorption/pore.rs | 57 +++++++++--- crates/feos-dft/src/adsorption/pore2d.rs | 19 ++-- crates/feos-dft/src/adsorption/pore3d.rs | 21 +++-- crates/feos-dft/src/interface/mod.rs | 11 +-- crates/feos-dft/src/lib.rs | 2 +- crates/feos-dft/src/profile/mod.rs | 108 ++++++++-------------- crates/feos-dft/src/profile/properties.rs | 4 +- crates/feos-dft/src/solver.rs | 34 +++---- crates/feos/benches/dft_pore.rs | 36 ++++++-- crates/feos/tests/gc_pcsaft/dft.rs | 4 +- py-feos/src/dft/adsorption/mod.rs | 4 +- py-feos/src/dft/adsorption/pore.rs | 56 +++++++++-- py-feos/src/dft/mod.rs | 25 +---- py-feos/src/lib.rs | 1 + 16 files changed, 253 insertions(+), 180 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cafa8c74..79c2f441a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Breaking] +### Added +- Added `PoreSpecification` enum to specify the state of the fluid in the pore (currently chemical potential or moles). [#371](https://github.com/feos-org/feos/pull/371) + ### Changed - Changed data type of initial temperatures or pressure for phase equilibrium calculations (`TemperatureOrPressure::Other`) from `D` to `f64`. [#369](https://github.com/feos-org/feos/pull/369) +- Reworked DFT solution algorithms slightly for the cases in which additional specifications are given. [#371](https://github.com/feos-org/feos/pull/371) + +### Removed +- Removed the `DFTSpecification` trait in favor of only using the `DFTSpecification` enum (renamed from `DFTSpecifications`). [#371](https://github.com/feos-org/feos/pull/371) ## [Unreleased] diff --git a/crates/feos-dft/src/adsorption/mod.rs b/crates/feos-dft/src/adsorption/mod.rs index bf9ddabe0..463989f67 100644 --- a/crates/feos-dft/src/adsorption/mod.rs +++ b/crates/feos-dft/src/adsorption/mod.rs @@ -17,7 +17,7 @@ mod fea_potential; mod pore; mod pore2d; pub use external_potential::{ExternalPotential, FluidParameters}; -pub use pore::{HenryCoefficient, Pore1D, PoreProfile, PoreProfile1D, PoreSpecification}; +pub use pore::{HenryCoefficient, Pore, Pore1D, PoreProfile, PoreProfile1D, PoreSpecification}; pub use pore2d::{Pore2D, PoreProfile2D}; #[cfg(feature = "rayon")] @@ -54,7 +54,7 @@ where } /// Calculate an adsorption isotherm (starting at low pressure) - pub fn adsorption_isotherm, X: Composition + Clone>( + pub fn adsorption_isotherm, X: Composition + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, @@ -74,7 +74,7 @@ where } /// Calculate an desorption isotherm (starting at high pressure) - pub fn desorption_isotherm, X: Composition + Clone>( + pub fn desorption_isotherm, X: Composition + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, @@ -99,7 +99,7 @@ where } /// Calculate an equilibrium isotherm - pub fn equilibrium_isotherm, X: Composition + Clone>( + pub fn equilibrium_isotherm, X: Composition + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, @@ -182,7 +182,7 @@ where } } - fn isotherm, X: Composition + Clone>( + fn isotherm, X: Composition + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, @@ -210,7 +210,10 @@ where _ => unreachable!(), }; } - let profile = pore.initialize(&bulk, None, None)?.solve(solver)?.profile; + let profile = pore + .initialize(&bulk, None, None, PoreSpecification::ChemicalPotential)? + .solve(solver)? + .profile; let external_potential = Some(&profile.external_potential); let mut old_density = Some(&profile.density); @@ -229,8 +232,18 @@ where .clone(); } - let p = pore.initialize(&bulk, old_density, external_potential)?; - let p2 = pore.initialize(&bulk, None, external_potential)?; + let p = pore.initialize( + &bulk, + old_density, + external_potential, + PoreSpecification::ChemicalPotential, + )?; + let p2 = pore.initialize( + &bulk, + None, + external_potential, + PoreSpecification::ChemicalPotential, + )?; profiles.push(p.solve(solver).or_else(|_| p2.solve(solver))); old_density = if let Some(Ok(l)) = profiles.last() { @@ -245,7 +258,7 @@ where /// Calculate the phase transition from an empty to a filled pore. #[expect(clippy::too_many_arguments)] - pub fn phase_equilibrium, X: Composition + Clone>( + pub fn phase_equilibrium, X: Composition + Clone>( functional: &F, temperature: Temperature, p_min: Pressure, @@ -261,8 +274,17 @@ where let bulk_init = State::new_npt(functional, temperature, p_max, x.clone(), Some(Liquid))?; let liquid_bulk = State::new_npt(functional, temperature, p_max, x.clone(), Some(Vapor))?; - let mut vapor = pore.initialize(&vapor_bulk, None, None)?.solve(solver)?; - let mut liquid = pore.initialize(&bulk_init, None, None)?.solve(solver)?; + let mut vapor = pore + .initialize( + &vapor_bulk, + None, + None, + PoreSpecification::ChemicalPotential, + )? + .solve(solver)?; + let mut liquid = pore + .initialize(&bulk_init, None, None, PoreSpecification::ChemicalPotential)? + .solve(solver)?; // calculate initial value for bulk density let n_dp_drho_v = (vapor.profile.moles() * vapor_bulk.dp_drho(Contributions::Total)).sum(); diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs index ddf2f7479..5db29b1f7 100644 --- a/crates/feos-dft/src/adsorption/pore.rs +++ b/crates/feos-dft/src/adsorption/pore.rs @@ -1,4 +1,3 @@ -use crate::WeightFunctionInfo; use crate::adsorption::{ExternalPotential, FluidParameters}; use crate::convolver::ConvolverFFT; use crate::functional::{HelmholtzEnergyFunctional, HelmholtzEnergyFunctionalDyn, MoleculeShape}; @@ -6,6 +5,7 @@ use crate::functional_contribution::FunctionalContribution; use crate::geometry::{Axis, Geometry, Grid}; use crate::profile::{DFTProfile, MAX_POTENTIAL}; use crate::solver::DFTSolver; +use crate::{DFTSpecification, WeightFunctionInfo}; use feos_core::{Contributions, FeosResult, ReferenceSystem, ResidualDyn, State, StateHD}; use nalgebra::{DVector, dvector}; use ndarray::prelude::*; @@ -13,8 +13,8 @@ use ndarray::{Axis as Axis_nd, RemoveAxis}; use num_dual::linalg::LU; use num_dual::{Dual64, DualNum}; use quantity::{ - _Moles, _Pressure, Density, Dimensionless, Energy, KELVIN, Length, MolarEnergy, Quantity, RGAS, - Temperature, Volume, + _Moles, _Pressure, Density, Dimensionless, Energy, KELVIN, Length, MolarEnergy, Moles, + Quantity, RGAS, Temperature, Volume, }; use rustdct::DctNum; use std::ops::Sub; @@ -52,14 +52,25 @@ impl Pore1D { } } +/// Different ways that the thermodynamic state of the fluid in the pore +/// can be specified. +#[derive(Clone)] +pub enum PoreSpecification { + /// Specify the chemical potential (via the bulk state). + ChemicalPotential, + /// Specify the amount of moles of every component. + Moles(Moles>), +} + /// Trait for the generic implementation of adsorption applications. -pub trait PoreSpecification { +pub trait Pore { /// Initialize a new single pore. fn initialize( &self, bulk: &State, density: Option<&Density>>, external_potential: Option<&Array>, + specification: PoreSpecification, ) -> FeosResult>; /// Return the pore volume using Helium at 298 K as reference. @@ -68,7 +79,7 @@ pub trait PoreSpecification { D::Larger: Dimension, { let bulk = State::new_pure(&&Helium, 298.0 * KELVIN, Density::from_reduced(1.0))?; - let pore = self.initialize(&bulk, None, None)?; + let pore = self.initialize(&bulk, None, None, PoreSpecification::ChemicalPotential)?; let pot = Dimensionless::from_reduced( pore.profile .external_potential @@ -96,6 +107,27 @@ where D::Smaller: Dimension, ::Larger: Dimension, { + pub fn new( + grid: Grid, + bulk: &State, + external_potential: Option>, + density: Option<&Density>>, + specification: PoreSpecification, + ) -> Self { + let mut profile = DFTProfile::new(grid, bulk, external_potential, density, Some(1)); + + // fix the number of particles + if let PoreSpecification::Moles(moles) = specification { + profile.specification = DFTSpecification::Moles(moles.to_reduced()) + } + + Self { + profile, + grand_potential: None, + interfacial_tension: None, + } + } + pub fn solve_inplace(&mut self, solver: Option<&DFTSolver>, debug: bool) -> FeosResult<()> { // Solve the profile self.profile.solve(solver, debug)?; @@ -180,12 +212,13 @@ where } } -impl PoreSpecification for Pore1D { +impl Pore for Pore1D { fn initialize( &self, bulk: &State, density: Option<&Density>>, external_potential: Option<&Array2>, + specification: PoreSpecification, ) -> FeosResult> { let dft: &F = &bulk.eos; let n_grid = self.n_grid.unwrap_or(DEFAULT_GRID_POINTS); @@ -223,11 +256,13 @@ impl PoreSpecification for Pore1D { // initialize grid let grid = Grid::new_1d(axis); - Ok(PoreProfile { - profile: DFTProfile::new(grid, bulk, Some(external_potential), density, Some(1)), - grand_potential: None, - interfacial_tension: None, - }) + Ok(PoreProfile::new( + grid, + bulk, + Some(external_potential), + density, + specification, + )) } } diff --git a/crates/feos-dft/src/adsorption/pore2d.rs b/crates/feos-dft/src/adsorption/pore2d.rs index 4c5dad7e8..f7290c6e3 100644 --- a/crates/feos-dft/src/adsorption/pore2d.rs +++ b/crates/feos-dft/src/adsorption/pore2d.rs @@ -1,5 +1,5 @@ -use super::{FluidParameters, PoreProfile, PoreSpecification}; -use crate::{Axis, DFTProfile, Grid, HelmholtzEnergyFunctional}; +use super::{FluidParameters, Pore, PoreProfile}; +use crate::{Axis, Grid, HelmholtzEnergyFunctional, adsorption::pore::PoreSpecification}; use feos_core::{FeosResult, State}; use ndarray::{Array3, Ix2}; use quantity::{Angle, Density, Length}; @@ -22,22 +22,25 @@ impl Pore2D { } } -impl PoreSpecification for Pore2D { +impl Pore for Pore2D { fn initialize( &self, bulk: &State, density: Option<&Density>>, external_potential: Option<&Array3>, + specification: PoreSpecification, ) -> FeosResult> { // generate grid let x = Axis::new_cartesian(self.n_grid[0], self.system_size[0], None); let y = Axis::new_cartesian(self.n_grid[1], self.system_size[1], None); let grid = Grid::Periodical2(x, y, self.angle); - Ok(PoreProfile { - profile: DFTProfile::new(grid, bulk, external_potential.cloned(), density, Some(1)), - grand_potential: None, - interfacial_tension: None, - }) + Ok(PoreProfile::new( + grid, + bulk, + external_potential.cloned(), + density, + specification, + )) } } diff --git a/crates/feos-dft/src/adsorption/pore3d.rs b/crates/feos-dft/src/adsorption/pore3d.rs index 51743f9eb..bfbfd38df 100644 --- a/crates/feos-dft/src/adsorption/pore3d.rs +++ b/crates/feos-dft/src/adsorption/pore3d.rs @@ -1,8 +1,8 @@ -use super::pore::{PoreProfile, PoreSpecification}; -use crate::adsorption::FluidParameters; +use super::pore::{PoreProfile, Pore}; +use crate::adsorption::{FluidParameters, PoreSpecification}; use crate::functional::HelmholtzEnergyFunctional; use crate::geometry::{Axis, Grid}; -use crate::profile::{CUTOFF_RADIUS, DFTProfile, MAX_POTENTIAL}; +use crate::profile::{CUTOFF_RADIUS, MAX_POTENTIAL}; use feos_core::{FeosError, FeosResult, ReferenceSystem, State}; use ndarray::Zip; use ndarray::prelude::*; @@ -48,12 +48,13 @@ impl Pore3D { /// Density profile and properties of a 3D confined system. pub type PoreProfile3D = PoreProfile; -impl PoreSpecification for Pore3D { +impl Pore for Pore3D { fn initialize( &self, bulk: &State, density: Option<&Density>>, external_potential: Option<&Array4>, + specification: PoreSpecification, ) -> FeosResult> { let dft: &F = &bulk.eos; @@ -94,11 +95,13 @@ impl PoreSpecification for Pore3D { )?; let grid = Grid::Periodical3(x, y, z, self.angles.unwrap_or([90.0 * DEGREES; 3])); - Ok(PoreProfile { - profile: DFTProfile::new(grid, bulk, Some(external_potential), density, Some(1)), - grand_potential: None, - interfacial_tension: None, - }) + Ok(PoreProfile::new( + grid, + bulk, + Some(external_potential), + density, + specification, + )) } } diff --git a/crates/feos-dft/src/interface/mod.rs b/crates/feos-dft/src/interface/mod.rs index 1e9f02b99..da1ec8881 100644 --- a/crates/feos-dft/src/interface/mod.rs +++ b/crates/feos-dft/src/interface/mod.rs @@ -2,12 +2,11 @@ use crate::functional::HelmholtzEnergyFunctional; use crate::geometry::{Axis, Grid}; use crate::pdgt::PdgtFunctionalProperties; -use crate::profile::{DFTProfile, DFTSpecifications}; +use crate::profile::DFTProfile; use crate::solver::DFTSolver; use feos_core::{Contributions, FeosError, FeosResult, PhaseEquilibrium, ReferenceSystem}; use ndarray::{Array1, Array2, Axis as Axis_nd, Ix1, s}; use quantity::{Area, Density, Length, Moles, SurfaceTension, Temperature}; -use std::sync::Arc; mod surface_tension_diagram; pub use surface_tension_diagram::SurfaceTensionDiagram; @@ -95,9 +94,7 @@ impl PlanarInterface { // specify specification if fix_equimolar_surface { - profile.profile.specification = Arc::new(DFTSpecifications::total_moles_from_profile( - &profile.profile, - )); + profile.profile.fix_total_moles(); } profile @@ -145,9 +142,7 @@ impl PlanarInterface { // specify specification if fix_equimolar_surface { - profile.profile.specification = Arc::new(DFTSpecifications::total_moles_from_profile( - &profile.profile, - )); + profile.profile.fix_total_moles(); } Ok(profile) diff --git a/crates/feos-dft/src/lib.rs b/crates/feos-dft/src/lib.rs index eea9f5bb4..d9e93f99a 100644 --- a/crates/feos-dft/src/lib.rs +++ b/crates/feos-dft/src/lib.rs @@ -19,6 +19,6 @@ pub use functional::{HelmholtzEnergyFunctional, HelmholtzEnergyFunctionalDyn, Mo pub use functional_contribution::FunctionalContribution; pub use geometry::{Axis, Geometry, Grid}; pub use pdgt::PdgtFunctionalProperties; -pub use profile::{DFTProfile, DFTSpecification, DFTSpecifications}; +pub use profile::{DFTProfile, DFTSpecification}; pub use solver::{DFTSolver, DFTSolverLog}; pub use weight_functions::{WeightFunction, WeightFunctionInfo, WeightFunctionShape}; diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index 941a3818b..26b1d0d94 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -22,19 +22,10 @@ pub(crate) const CUTOFF_RADIUS: f64 = 14.0; /// General specifications for the chemical potential in a DFT calculation. /// /// In the most basic case, the chemical potential is specified in a DFT calculation, -/// for more general systems, this trait provides the possibility to declare additional +/// for more general systems, this enum provides the possibility to declare additional /// equations for the calculation of the chemical potential during the iteration. -pub trait DFTSpecification: Send + Sync { - fn calculate_bulk_density( - &self, - profile: &DFTProfile, - bulk_density: &Array1, - z: &Array1, - ) -> FeosResult>; -} - -/// Common specifications for the grand potentials in a DFT calculation. -pub enum DFTSpecifications { +#[derive(Clone)] +pub enum DFTSpecification { /// DFT with specified chemical potential. ChemicalPotential, /// DFT with specified number of particles. @@ -42,57 +33,21 @@ pub enum DFTSpecifications { /// The solution is still a grand canonical density profile, but the chemical /// potentials are iterated together with the density profile to obtain a result /// with the specified number of particles. - Moles { moles: Array1 }, + Moles(Array1), /// DFT with specified total number of moles. - TotalMoles { total_moles: f64 }, -} - -impl DFTSpecifications { - /// Calculate the number of particles from the profile. - /// - /// Call this after initializing the density profile to keep the number of - /// particles constant in systems, where the number itself is difficult to obtain. - pub fn moles_from_profile( - profile: &DFTProfile, - ) -> Self - where - D::Larger: Dimension, - { - let rho = profile.density.to_reduced(); - Self::Moles { - moles: profile.integrate_reduced_comp(&rho), - } - } - - /// Calculate the number of particles from the profile. - /// - /// Call this after initializing the density profile to keep the total number of - /// particles constant in systems, e.g. to fix the equimolar dividing surface. - pub fn total_moles_from_profile( - profile: &DFTProfile, - ) -> Self - where - D::Larger: Dimension, - { - let rho = profile.density.to_reduced(); - let moles = profile.integrate_reduced_comp(&rho).sum(); - Self::TotalMoles { total_moles: moles } - } + TotalMoles(f64), } -impl DFTSpecification for DFTSpecifications { +impl DFTSpecification { fn calculate_bulk_density( &self, - _profile: &DFTProfile, bulk_density: &Array1, z: &Array1, ) -> FeosResult> { Ok(match self { Self::ChemicalPotential => bulk_density.clone(), - Self::Moles { moles } => moles / z, - Self::TotalMoles { total_moles } => { - bulk_density * *total_moles / (bulk_density * z).sum() - } + Self::Moles(moles) => moles / z, + Self::TotalMoles(total_moles) => bulk_density * *total_moles / (bulk_density * z).sum(), }) } } @@ -104,7 +59,7 @@ pub struct DFTProfile { pub convolver: Arc>, pub temperature: Temperature, pub density: Density>, - pub specification: Arc>, + pub specification: DFTSpecification, pub external_potential: Array, pub bulk: State, pub solver_log: Option, @@ -246,13 +201,28 @@ where convolver, temperature: bulk.temperature, density, - specification: Arc::new(DFTSpecifications::ChemicalPotential), + specification: DFTSpecification::ChemicalPotential, external_potential, bulk: bulk.clone(), solver_log: None, lanczos, } } + + /// Set a constraint to fix the number of particles of every component based on + /// the current density profile. + pub fn fix_moles(&mut self) { + let moles = self.integrate_reduced_comp(&self.density.to_reduced()); + self.specification = DFTSpecification::Moles(moles); + } + + /// Set a constraint to fix the total number of particles based on + /// the current density profile. + pub fn fix_total_moles(&mut self) { + let rho = self.density.to_reduced(); + let moles = self.integrate_reduced_comp(&rho).sum(); + self.specification = DFTSpecification::TotalMoles(moles); + } } impl DFTProfile @@ -374,7 +344,7 @@ where // Read from profile let density = self.density.to_reduced(); let partial_density = self.bulk.partial_density().into_reduced(); - let bulk_density = self + let mut bulk_density = self .bulk .eos .component_index() @@ -383,7 +353,7 @@ where .collect(); let (res, res_bulk, res_norm, _, _) = - self.euler_lagrange_equation(&density, &bulk_density, log)?; + self.euler_lagrange_equation(&density, &mut bulk_density, log)?; Ok((res, res_bulk, res_norm)) } @@ -391,7 +361,7 @@ where pub(crate) fn euler_lagrange_equation( &self, density: &Array, - bulk_density: &Array1, + bulk_density: &mut Array1, log: bool, ) -> FeosResult<( Array, @@ -436,6 +406,14 @@ where .bond_integrals(temperature, &exp_dfdrho, self.convolver.as_ref()); let mut rho_projected = &exp_dfdrho * bonds; + // calculate bulk density based on the given specification + let res_bulk = &*bulk_density + - self.specification.calculate_bulk_density( + bulk_density, + &self.integrate_reduced_comp(&rho_projected), + )?; + *bulk_density -= &res_bulk; + // multiply bulk density rho_projected .outer_iter_mut() @@ -457,18 +435,9 @@ where .filter(|&(_, &p)| p + f64::EPSILON >= MAX_POTENTIAL) .for_each(|(r, _)| *r = 0.0); - // additional residuals for the calculation of the bulk densities - let z = self.integrate_reduced_comp(&rho_projected); - let res_bulk = bulk_density - - self - .specification - .calculate_bulk_density(self, bulk_density, &z)?; - // calculate the norm of the residual - let res_norm = ((density - &rho_projected).mapv(|x| x * x).sum() - + res_bulk.mapv(|x| x * x).sum()) - .sqrt() - / ((res.len() + res_bulk.len()) as f64).sqrt(); + let res_norm = + (density - &rho_projected).mapv(|x| x * x).sum().sqrt() / (res.len() as f64).sqrt(); if res_norm.is_finite() { Ok((res, res_bulk, res_norm, exp_dfdrho, rho_projected)) @@ -501,7 +470,6 @@ where .enumerate() .for_each(|(i, r)| partial_density.set(component_index[i], Density::from_reduced(r))); self.bulk = State::new_density(&self.bulk.eos, self.bulk.temperature, partial_density)?; - Ok(()) } } diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs index d542b27da..2fe6a92a9 100644 --- a/crates/feos-dft/src/profile/properties.rs +++ b/crates/feos-dft/src/profile/properties.rs @@ -299,7 +299,7 @@ where fn density_derivative(&self, lhs: &Array) -> FeosResult> { let rho = self.density.to_reduced(); let partial_density = self.bulk.partial_density().into_reduced(); - let rho_bulk = self + let mut rho_bulk = self .bulk .eos .component_index() @@ -308,7 +308,7 @@ where .collect(); let second_partial_derivatives = self.second_partial_derivatives(&rho)?; - let (_, _, _, exp_dfdrho, _) = self.euler_lagrange_equation(&rho, &rho_bulk, false)?; + let (_, _, _, exp_dfdrho, _) = self.euler_lagrange_equation(&rho, &mut rho_bulk, false)?; let rhs = |x: &_| { let delta_functional_derivative = diff --git a/crates/feos-dft/src/solver.rs b/crates/feos-dft/src/solver.rs index ed915d91b..69d2e2757 100644 --- a/crates/feos-dft/src/solver.rs +++ b/crates/feos-dft/src/solver.rs @@ -266,8 +266,8 @@ where for k in 0..picard.max_iter { // calculate residual - let (res, res_bulk, res_norm, _, _) = - self.euler_lagrange_equation(&*rho, &*rho_bulk, picard.log)?; + let (res, _, res_norm, _, _) = + self.euler_lagrange_equation(&*rho, rho_bulk, picard.log)?; log.add_residual(solver, k, res_norm); // check for convergence @@ -284,10 +284,8 @@ where // update solution if picard.log { *rho *= &(&res * damping_coefficient).mapv(f64::exp); - *rho_bulk *= &(&res_bulk * damping_coefficient).mapv(f64::exp); } else { *rho += &(&res * damping_coefficient); - *rho_bulk += &(&res_bulk * damping_coefficient); } } Ok((false, picard.max_iter)) @@ -297,7 +295,7 @@ where &self, rho: &Array, delta_rho: &Array, - rho_bulk: &Array1, + rho_bulk: &mut Array1, res0: f64, logarithm: bool, ) -> FeosResult { @@ -384,8 +382,8 @@ where let m = resm.len() + 1; // calculate residual - let (res, res_bulk, res_norm, _, _) = - self.euler_lagrange_equation(&*rho, &*rho_bulk, anderson.log)?; + let (res, _, res_norm, _, _) = + self.euler_lagrange_equation(&*rho, rho_bulk, anderson.log)?; log.add_residual(solver, k, res_norm); // check for convergence @@ -394,19 +392,19 @@ where } // save residual and x value - resm.push_back((res, res_bulk, res_norm)); + resm.push_back((res, res_norm)); if anderson.log { - rhom.push_back((rho.mapv(f64::ln), rho_bulk.mapv(f64::ln))); + rhom.push_back(rho.mapv(f64::ln)); } else { - rhom.push_back((rho.clone(), rho_bulk.clone())); + rhom.push_back(rho.clone()); } // calculate alpha r = DMatrix::from_fn(m + 1, m + 1, |i, j| match (i == m, j == m) { (false, false) => { - let (resi, resi_bulk, _) = &resm[i]; - let (resj, resj_bulk, _) = &resm[j]; - (resi * resj).sum() + (resi_bulk * resj_bulk).sum() + let (resi, _) = &resm[i]; + let (resj, _) = &resm[j]; + (resi * resj).sum() } (true, true) => 0.0, _ => 1.0, @@ -418,20 +416,15 @@ where // update solution rho.fill(0.0); - rho_bulk.fill(0.0); for i in 0..m { - let (rhoi, rhoi_bulk) = &rhom[i]; - let (resi, resi_bulk, _) = &resm[i]; + let rhoi = &rhom[i]; + let (resi, _) = &resm[i]; *rho += &(alpha[i] * (rhoi + &(anderson.damping_coefficient * resi))); - *rho_bulk += - &(alpha[i] * (rhoi_bulk + &(anderson.damping_coefficient * resi_bulk))); } if anderson.log { rho.mapv_inplace(f64::exp); - rho_bulk.mapv_inplace(f64::exp); } else { rho.mapv_inplace(f64::abs); - rho_bulk.mapv_inplace(f64::abs); } } Ok((false, anderson.max_iter)) @@ -476,7 +469,6 @@ where let lhs = if newton.log { &*rho * res } else { res }; *rho += &Self::gmres(rhs, &lhs, newton.max_iter_gmres, newton.tol * 1e-2, log)?; rho.mapv_inplace(f64::abs); - rho_bulk.mapv_inplace(f64::abs); } Ok((false, newton.max_iter)) diff --git a/crates/feos/benches/dft_pore.rs b/crates/feos/benches/dft_pore.rs index 4c5b3d7ba..dfa2b9f58 100644 --- a/crates/feos/benches/dft_pore.rs +++ b/crates/feos/benches/dft_pore.rs @@ -3,7 +3,9 @@ use criterion::{Criterion, criterion_group, criterion_main}; use feos::core::parameter::IdentifierOption; use feos::core::{PhaseEquilibrium, State}; -use feos::dft::adsorption::{ExternalPotential, Pore1D, PoreSpecification}; +use feos::dft::adsorption::{ + ExternalPotential, Pore, Pore1D, PoreSpecification::ChemicalPotential, +}; use feos::dft::{DFTSolver, Geometry}; use feos::gc_pcsaft::{GcPcSaftFunctional, GcPcSaftParameters}; use feos::hard_sphere::{FMTFunctional, FMTVersion}; @@ -24,7 +26,11 @@ fn fmt(c: &mut Criterion) { ); let bulk = State::new_pure(&func, KELVIN, 0.75 / NAV / ANGSTROM.powi::<3>()).unwrap(); group.bench_function("liquid", |b| { - b.iter(|| pore.initialize(&bulk, None, None).unwrap().solve(None)) + b.iter(|| { + pore.initialize(&bulk, None, None, ChemicalPotential) + .unwrap() + .solve(None) + }) }); } @@ -52,11 +58,19 @@ fn pcsaft(c: &mut Criterion) { let vle = PhaseEquilibrium::pure(&func, 300.0 * KELVIN, None, Default::default()).unwrap(); let bulk = vle.liquid(); group.bench_function("butane_liquid", |b| { - b.iter(|| pore.initialize(bulk, None, None).unwrap().solve(None)) + b.iter(|| { + pore.initialize(bulk, None, None, ChemicalPotential) + .unwrap() + .solve(None) + }) }); let bulk = State::new_pure(&func, 300.0 * KELVIN, vle.vapor().density * 0.2).unwrap(); group.bench_function("butane_vapor", |b| { - b.iter(|| pore.initialize(&bulk, None, None).unwrap().solve(None)) + b.iter(|| { + pore.initialize(&bulk, None, None, ChemicalPotential) + .unwrap() + .solve(None) + }) }); let parameters = PcSaftParameters::from_json( @@ -72,12 +86,20 @@ fn pcsaft(c: &mut Criterion) { .unwrap(); let bulk = vle.liquid(); group.bench_function("butane_pentane_liquid", |b| { - b.iter(|| pore.initialize(bulk, None, None).unwrap().solve(None)) + b.iter(|| { + pore.initialize(bulk, None, None, ChemicalPotential) + .unwrap() + .solve(None) + }) }); let bulk = State::new_density(&func, 300.0 * KELVIN, vle.vapor().partial_density() * 0.2).unwrap(); group.bench_function("butane_pentane_vapor", |b| { - b.iter(|| pore.initialize(&bulk, None, None).unwrap().solve(None)) + b.iter(|| { + pore.initialize(&bulk, None, None, ChemicalPotential) + .unwrap() + .solve(None) + }) }); } @@ -112,7 +134,7 @@ fn gc_pcsaft(c: &mut Criterion) { .anderson_mixing(None, None, None, None, None); group.bench_function("butane_liquid", |b| { b.iter(|| { - pore.initialize(bulk, None, None) + pore.initialize(bulk, None, None, ChemicalPotential) .unwrap() .solve(Some(&solver)) }) diff --git a/crates/feos/tests/gc_pcsaft/dft.rs b/crates/feos/tests/gc_pcsaft/dft.rs index ce5d103cb..9238500d0 100644 --- a/crates/feos/tests/gc_pcsaft/dft.rs +++ b/crates/feos/tests/gc_pcsaft/dft.rs @@ -4,7 +4,7 @@ use approx::assert_relative_eq; use feos::gc_pcsaft::{GcPcSaft, GcPcSaftFunctional, GcPcSaftParameters}; use feos_core::parameter::{ChemicalRecord, Identifier, IdentifierOption, SegmentRecord}; use feos_core::{PhaseEquilibrium, State, Verbosity}; -use feos_dft::adsorption::{ExternalPotential, Pore1D, PoreSpecification}; +use feos_dft::adsorption::{ExternalPotential, Pore, Pore1D, PoreSpecification}; use feos_dft::interface::PlanarInterface; use feos_dft::{DFTSolver, Geometry}; use nalgebra::dvector; @@ -228,7 +228,7 @@ fn test_dft_assoc() -> Result<(), Box> { None, None, ) - .initialize(&bulk, None, None) + .initialize(&bulk, None, None, PoreSpecification::ChemicalPotential) .unwrap() .solve(Some(&solver))?; Ok(()) diff --git a/py-feos/src/dft/adsorption/mod.rs b/py-feos/src/dft/adsorption/mod.rs index 83f454811..a932ccc44 100644 --- a/py-feos/src/dft/adsorption/mod.rs +++ b/py-feos/src/dft/adsorption/mod.rs @@ -5,9 +5,9 @@ use crate::error::PyFeosError; use crate::ideal_gas::IdealGasModel; use crate::residual::ResidualModel; use feos_core::EquationOfState; -use feos_dft::adsorption::{Adsorption, Adsorption1D}; #[cfg(feature = "rayon")] use feos_dft::adsorption::Adsorption3D; +use feos_dft::adsorption::{Adsorption, Adsorption1D}; use nalgebra::DMatrix; use ndarray::*; use numpy::*; @@ -19,7 +19,7 @@ mod external_potential; mod pore; pub use external_potential::PyExternalPotential; -pub use pore::{PyPore1D, PyPore2D, PyPoreProfile1D}; +pub use pore::{PyPore1D, PyPore2D, PyPoreProfile1D, PyPoreSpecification}; #[cfg(feature = "rayon")] pub use pore::{PyPore3D, PyPoreProfile3D}; diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs index 6e51ca02d..7668bebfb 100644 --- a/py-feos/src/dft/adsorption/pore.rs +++ b/py-feos/src/dft/adsorption/pore.rs @@ -56,6 +56,29 @@ macro_rules! impl_pore_profile { }; } +/// Different ways that the thermodynamic state of the fluid in the pore +/// can be specified. +#[pyclass(name = "PoreSpecification", from_py_object)] +#[derive(Clone)] +pub struct PyPoreSpecification(PoreSpecification); + +#[pymethods] +impl PyPoreSpecification { + /// Specify the chemical potential (via the bulk state). + #[classattr] + #[expect(non_snake_case)] + fn ChemicalPotential() -> Self { + Self(PoreSpecification::ChemicalPotential) + } + + /// Specify the amount of moles of every component. + #[staticmethod] + #[expect(non_snake_case)] + fn Moles(moles: Moles>) -> Self { + Self(PoreSpecification::Moles(moles)) + } +} + /// Parameters required to specify a 1D pore. /// /// Parameters @@ -120,17 +143,23 @@ impl PyPore1D { /// The external potential in the pore. Used to /// save computation time in the case of costly /// evaluations of external potentials. + /// specification : PoreSpecification + /// The external constraint that specifies the state + /// in the pore. /// /// Returns /// ------- /// PoreProfile1D - #[pyo3(text_signature = "($self, bulk, density=None, external_potential=None)")] - #[pyo3(signature = (bulk, density=None, external_potential=None))] + #[pyo3( + text_signature = "($self, bulk, density=None, external_potential=None, specification=PoreSpecification.ChemicalPotential)" + )] + #[pyo3(signature = (bulk, density=None, external_potential=None, specification=PyPoreSpecification::ChemicalPotential()))] fn initialize( &self, bulk: &PyState, density: Option>>, external_potential: Option<&Bound<'_, PyArray2>>, + specification: PyPoreSpecification, ) -> PyResult { Ok(PyPoreProfile1D( self.0 @@ -138,6 +167,7 @@ impl PyPore1D { &bulk.0, density.as_ref(), external_potential.map(|e| e.to_owned_array()).as_ref(), + specification.0, ) .map_err(PyFeosError::from)?, )) @@ -210,17 +240,23 @@ impl PyPore2D { /// The external potential in the pore. Used to /// save computation time in the case of costly /// evaluations of external potentials. + /// specification : PoreSpecification + /// The external constraint that specifies the state + /// in the pore. /// /// Returns /// ------- /// PoreProfile2D - #[pyo3(text_signature = "($self, bulk, density=None, external_potential=None)")] - #[pyo3(signature = (bulk, density=None, external_potential=None))] + #[pyo3( + text_signature = "($self, bulk, density=None, external_potential=None, specification=PoreSpecification.ChemicalPotential)" + )] + #[pyo3(signature = (bulk, density=None, external_potential=None, specification=PyPoreSpecification::ChemicalPotential()))] fn initialize( &self, bulk: &PyState, density: Option>>, external_potential: Option<&Bound<'_, PyArray3>>, + specification: PyPoreSpecification, ) -> PyResult { Ok(PyPoreProfile2D( self.0 @@ -228,6 +264,7 @@ impl PyPore2D { &bulk.0, density.as_ref(), external_potential.map(|e| e.to_owned_array()).as_ref(), + specification.0, ) .map_err(PyFeosError::from)?, )) @@ -326,17 +363,23 @@ impl PyPore3D { /// The external potential in the pore. Used to /// save computation time in the case of costly /// evaluations of external potentials. + /// specification : PoreSpecification + /// The external constraint that specifies the state + /// in the pore. /// /// Returns /// ------- /// PoreProfile3D - #[pyo3(text_signature = "($self, bulk, density=None, external_potential=None)")] - #[pyo3(signature = (bulk, density=None, external_potential=None))] + #[pyo3( + text_signature = "($self, bulk, density=None, external_potential=None, specification=PoreSpecification.ChemicalPotential)" + )] + #[pyo3(signature = (bulk, density=None, external_potential=None, specification=PyPoreSpecification::ChemicalPotential()))] fn initialize( &self, bulk: &PyState, density: Option>>, external_potential: Option<&Bound<'_, PyArray4>>, + specification: PyPoreSpecification, ) -> PyResult { Ok(PyPoreProfile3D( self.0 @@ -344,6 +387,7 @@ impl PyPore3D { &bulk.0, density.as_ref(), external_potential.map(|e| e.to_owned_array()).as_ref(), + specification.0, ) .map_err(PyFeosError::from)?, )) diff --git a/py-feos/src/dft/mod.rs b/py-feos/src/dft/mod.rs index 00d027531..36ea92bb9 100644 --- a/py-feos/src/dft/mod.rs +++ b/py-feos/src/dft/mod.rs @@ -15,7 +15,9 @@ mod profile; mod solvation; mod solver; -pub(crate) use adsorption::{PyAdsorption1D, PyExternalPotential, PyPore1D, PyPore2D}; +pub(crate) use adsorption::{ + PyAdsorption1D, PyExternalPotential, PyPore1D, PyPore2D, PyPoreSpecification, +}; // 3D pore / adsorption bindings wrap rayon-gated feos_dft types. #[cfg(feature = "rayon")] pub(crate) use adsorption::{PyAdsorption3D, PyPore3D}; @@ -117,24 +119,3 @@ impl PyHelmholtzEnergyFunctional { )))) } } - -// #[pymodule] -// pub fn dft(m: &Bound<'_, PyModule>) -> PyResult<()> { -// m.add_class::()?; -// m.add_class::()?; - -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; -// m.add_class::()?; - -// Ok(()) -// } diff --git a/py-feos/src/lib.rs b/py-feos/src/lib.rs index 6e8f79644..a164fece0 100644 --- a/py-feos/src/lib.rs +++ b/py-feos/src/lib.rs @@ -203,6 +203,7 @@ fn feos(m: &Bound<'_, PyModule>) -> PyResult<()> { // Adsorption m.add_class::()?; m.add_class::()?; + m.add_class::()?; m.add_class::()?; m.add_class::()?; From 31ab2e37026cbee87244f93f9b3f14087add47af Mon Sep 17 00:00:00 2001 From: Philipp Rehner <69816385+prehner@users.noreply.github.com> Date: Fri, 24 Jul 2026 13:08:52 +0200 Subject: [PATCH 03/13] Pass external potentials as quantities and always cap them consistently (#372) --- CHANGELOG.md | 1 + crates/feos-derive/src/dft.rs | 2 +- .../feos-dft/src/adsorption/fea_potential.rs | 4 +- crates/feos-dft/src/adsorption/mod.rs | 2 +- crates/feos-dft/src/adsorption/pore.rs | 24 ++++-------- crates/feos-dft/src/adsorption/pore2d.rs | 4 +- crates/feos-dft/src/adsorption/pore3d.rs | 32 +++------------- crates/feos-dft/src/profile/mod.rs | 38 ++++++++++++++----- .../src/solvation/pair_correlation.rs | 12 ++---- .../src/solvation/solvation_profile.rs | 24 ++---------- crates/feos/src/hard_sphere/dft.rs | 7 ++-- crates/feos/src/pcsaft/dft/mod.rs | 17 +++++---- crates/feos/src/pets/dft/mod.rs | 24 +++++++----- crates/feos/src/saftvrqmie/dft/mod.rs | 12 +++--- py-feos/src/dft/adsorption/pore.rs | 25 ++++++------ py-feos/src/dft/profile.rs | 6 +-- py-feos/src/dft/solvation.rs | 7 +--- 17 files changed, 106 insertions(+), 135 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79c2f441a..9010e624b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Changed data type of initial temperatures or pressure for phase equilibrium calculations (`TemperatureOrPressure::Other`) from `D` to `f64`. [#369](https://github.com/feos-org/feos/pull/369) - Reworked DFT solution algorithms slightly for the cases in which additional specifications are given. [#371](https://github.com/feos-org/feos/pull/371) +- External potentials are passed and returned as quantities (energies) instead of reduced units. [#372](https://github.com/feos-org/feos/pull/372) ### Removed - Removed the `DFTSpecification` trait in favor of only using the `DFTSpecification` enum (renamed from `DFTSpecifications`). [#371](https://github.com/feos-org/feos/pull/371) diff --git a/crates/feos-derive/src/dft.rs b/crates/feos-derive/src/dft.rs index d7dcd8e63..e5dd7a343 100644 --- a/crates/feos-derive/src/dft.rs +++ b/crates/feos-derive/src/dft.rs @@ -139,7 +139,7 @@ fn impl_pair_potential( } Ok(quote! { impl feos_dft::solvation::PairPotential for #ident { - fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> ndarray::Array2 { + fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> quantity::Energy> { match self { #(#pair_potential,)* } diff --git a/crates/feos-dft/src/adsorption/fea_potential.rs b/crates/feos-dft/src/adsorption/fea_potential.rs index d05ed6a01..f67e583f1 100644 --- a/crates/feos-dft/src/adsorption/fea_potential.rs +++ b/crates/feos-dft/src/adsorption/fea_potential.rs @@ -1,6 +1,6 @@ use super::pore3d::{calculate_distance2, evaluate_lj_potential}; use crate::Geometry; -use crate::profile::{CUTOFF_RADIUS, MAX_POTENTIAL}; +use crate::profile::CUTOFF_RADIUS; use feos_core::ReferenceSystem; use gauss_quad::GaussLegendre; use ndarray::{Array1, Array2, Zip}; @@ -131,7 +131,7 @@ pub fn calculate_fea_potential( ) / temperature }) .sum(); - potential_2d[[i1, i2]] = (-potential_sum.min(MAX_POTENTIAL)).exp(); + potential_2d[[i1, i2]] = (-potential_sum).exp(); } } *f = (potential_2d * &weights).sum(); diff --git a/crates/feos-dft/src/adsorption/mod.rs b/crates/feos-dft/src/adsorption/mod.rs index 463989f67..3d11c4275 100644 --- a/crates/feos-dft/src/adsorption/mod.rs +++ b/crates/feos-dft/src/adsorption/mod.rs @@ -214,7 +214,7 @@ where .initialize(&bulk, None, None, PoreSpecification::ChemicalPotential)? .solve(solver)? .profile; - let external_potential = Some(&profile.external_potential); + let external_potential = Some(&profile.external_potential()); let mut old_density = Some(&profile.density); for i in 0..pressure.len() { diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs index 5db29b1f7..493229289 100644 --- a/crates/feos-dft/src/adsorption/pore.rs +++ b/crates/feos-dft/src/adsorption/pore.rs @@ -3,7 +3,7 @@ use crate::convolver::ConvolverFFT; use crate::functional::{HelmholtzEnergyFunctional, HelmholtzEnergyFunctionalDyn, MoleculeShape}; use crate::functional_contribution::FunctionalContribution; use crate::geometry::{Axis, Geometry, Grid}; -use crate::profile::{DFTProfile, MAX_POTENTIAL}; +use crate::profile::DFTProfile; use crate::solver::DFTSolver; use crate::{DFTSpecification, WeightFunctionInfo}; use feos_core::{Contributions, FeosResult, ReferenceSystem, ResidualDyn, State, StateHD}; @@ -69,7 +69,7 @@ pub trait Pore { &self, bulk: &State, density: Option<&Density>>, - external_potential: Option<&Array>, + external_potential: Option<&Energy>>, specification: PoreSpecification, ) -> FeosResult>; @@ -110,7 +110,7 @@ where pub fn new( grid: Grid, bulk: &State, - external_potential: Option>, + external_potential: Option>>, density: Option<&Density>>, specification: PoreSpecification, ) -> Self { @@ -217,7 +217,7 @@ impl Pore for Pore1D { &self, bulk: &State, density: Option<&Density>>, - external_potential: Option<&Array2>, + external_potential: Option<&Energy>>, specification: PoreSpecification, ) -> FeosResult> { let dft: &F = &bulk.eos; @@ -247,7 +247,6 @@ impl Pore for Pore1D { &self.potential, dft, &axis, - self.potential_cutoff, ) }, |e| e.clone(), @@ -272,9 +271,7 @@ fn external_potential_1d( potential: &ExternalPotential, fluid_parameters: &P, axis: &Axis, - potential_cutoff: Option, -) -> Array2 { - let potential_cutoff = potential_cutoff.unwrap_or(MAX_POTENTIAL); +) -> Energy> { let effective_pore_size = match axis.geometry { Geometry::Spherical => pore_width.to_reduced(), Geometry::Cylindrical => pore_width.to_reduced(), @@ -305,21 +302,16 @@ fn external_potential_1d( fluid_parameters, t, ), - } / t; + }; for (i, &z) in axis.grid.iter().enumerate() { if z > effective_pore_size { external_potential .index_axis_mut(Axis_nd(1), i) - .fill(potential_cutoff); + .fill(f64::INFINITY); } } - external_potential.map_inplace(|x| { - if *x > potential_cutoff { - *x = potential_cutoff - } - }); - external_potential + Energy::from_reduced(external_potential) } const EPSILON_HE: f64 = 10.9; diff --git a/crates/feos-dft/src/adsorption/pore2d.rs b/crates/feos-dft/src/adsorption/pore2d.rs index f7290c6e3..396434187 100644 --- a/crates/feos-dft/src/adsorption/pore2d.rs +++ b/crates/feos-dft/src/adsorption/pore2d.rs @@ -2,7 +2,7 @@ use super::{FluidParameters, Pore, PoreProfile}; use crate::{Axis, Grid, HelmholtzEnergyFunctional, adsorption::pore::PoreSpecification}; use feos_core::{FeosResult, State}; use ndarray::{Array3, Ix2}; -use quantity::{Angle, Density, Length}; +use quantity::{Angle, Density, Energy, Length}; pub struct Pore2D { system_size: [Length; 2], @@ -27,7 +27,7 @@ impl Pore for Pore2D { &self, bulk: &State, density: Option<&Density>>, - external_potential: Option<&Array3>, + external_potential: Option<&Energy>>, specification: PoreSpecification, ) -> FeosResult> { // generate grid diff --git a/crates/feos-dft/src/adsorption/pore3d.rs b/crates/feos-dft/src/adsorption/pore3d.rs index bfbfd38df..fdf02800a 100644 --- a/crates/feos-dft/src/adsorption/pore3d.rs +++ b/crates/feos-dft/src/adsorption/pore3d.rs @@ -1,12 +1,12 @@ -use super::pore::{PoreProfile, Pore}; +use super::pore::{Pore, PoreProfile}; use crate::adsorption::{FluidParameters, PoreSpecification}; use crate::functional::HelmholtzEnergyFunctional; use crate::geometry::{Axis, Grid}; -use crate::profile::{CUTOFF_RADIUS, MAX_POTENTIAL}; +use crate::profile::CUTOFF_RADIUS; use feos_core::{FeosError, FeosResult, ReferenceSystem, State}; use ndarray::Zip; use ndarray::prelude::*; -use quantity::{Angle, DEGREES, Density, Length}; +use quantity::{Angle, DEGREES, Density, Energy, Length}; /// Parameters required to specify a 3D pore. pub struct Pore3D { @@ -16,12 +16,10 @@ pub struct Pore3D { coordinates: Length>, sigma_ss: Array1, epsilon_k_ss: Array1, - potential_cutoff: Option, cutoff_radius: Option, } impl Pore3D { - #[expect(clippy::too_many_arguments)] pub fn new( system_size: [Length; 3], n_grid: [usize; 3], @@ -29,7 +27,6 @@ impl Pore3D { sigma_ss: Array1, epsilon_k_ss: Array1, angles: Option<[Angle; 3]>, - potential_cutoff: Option, cutoff_radius: Option, ) -> Self { Self { @@ -39,7 +36,6 @@ impl Pore3D { coordinates, sigma_ss, epsilon_k_ss, - potential_cutoff, cutoff_radius, } } @@ -53,7 +49,7 @@ impl Pore for Pore3D { &self, bulk: &State, density: Option<&Density>>, - external_potential: Option<&Array4>, + external_potential: Option<&Energy>>, specification: PoreSpecification, ) -> FeosResult> { let dft: &F = &bulk.eos; @@ -65,9 +61,6 @@ impl Pore for Pore3D { let coordinates = self.coordinates.to_reduced(); - // temperature - let t = bulk.temperature.to_reduced(); - // For non-orthorombic unit cells, the external potential has to be // provided at the moment if let (Some(_), None) = (self.angles, external_potential) { @@ -87,8 +80,6 @@ impl Pore for Pore3D { &self.sigma_ss, &self.epsilon_k_ss, self.cutoff_radius, - self.potential_cutoff, - t, ) }, |e| Ok(e.clone()), @@ -105,7 +96,6 @@ impl Pore for Pore3D { } } -#[expect(clippy::too_many_arguments)] pub fn external_potential_3d( functional: &F, axis: [&Axis; 3], @@ -114,9 +104,7 @@ pub fn external_potential_3d( sigma_ss: &Array1, epsilon_ss: &Array1, cutoff_radius: Option, - potential_cutoff: Option, - reduced_temperature: f64, -) -> FeosResult> { +) -> FeosResult>> { // allocate external potential let m = functional.m(); let mut external_potential = Array4::zeros(( @@ -167,17 +155,9 @@ pub fn external_potential_3d( ) }) .sum::() - / reduced_temperature - }); - - let potential_cutoff = potential_cutoff.unwrap_or(MAX_POTENTIAL); - external_potential.map_inplace(|x| { - if *x > potential_cutoff { - *x = potential_cutoff - } }); - Ok(external_potential) + Ok(Energy::from_reduced(external_potential)) } /// Evaluate LJ12-6 potential between solid site "alpha" and fluid segment diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index 26b1d0d94..c9423fded 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -9,13 +9,15 @@ use ndarray::{ RemoveAxis, }; use num_dual::DualNum; -use quantity::{_Volume, DEGREES, Density, Length, Moles, Quantity, Temperature, Volume}; +use quantity::{ + _Volume, DEGREES, Density, Energy, Entropy, Length, Moles, Quantity, Temperature, Volume, +}; use std::ops::{Add, MulAssign}; use std::sync::Arc; mod properties; -pub(crate) const MAX_POTENTIAL: f64 = 50.0; +const MAX_POTENTIAL: f64 = 50.0; #[cfg(feature = "rayon")] pub(crate) const CUTOFF_RADIUS: f64 = 14.0; @@ -161,7 +163,7 @@ where pub fn new( grid: Grid, bulk: &State, - external_potential: Option>, + external_potential: Option>>, density: Option<&Density>>, lanczos: Option, ) -> Self { @@ -171,13 +173,24 @@ where let convolver = ConvolverFFT::plan(&grid, &weight_functions, lanczos); // initialize external potential - let external_potential = external_potential.unwrap_or_else(|| { - let mut n_grid = vec![bulk.eos.component_index().len()]; - grid.axes() - .iter() - .for_each(|&ax| n_grid.push(ax.grid.len())); - Array::zeros(n_grid).into_dimensionality().unwrap() - }); + let external_potential = external_potential.map_or_else( + || { + let mut n_grid = vec![bulk.eos.component_index().len()]; + grid.axes() + .iter() + .for_each(|&ax| n_grid.push(ax.grid.len())); + Array::zeros(n_grid).into_dimensionality().unwrap() + }, + |e| { + let mut external_potential = e.into_reduced() / t; + external_potential.map_inplace(|x| { + if *x > MAX_POTENTIAL { + *x = MAX_POTENTIAL + } + }); + external_potential + }, + ); // initialize density let density = if let Some(density) = density { @@ -223,6 +236,11 @@ where let moles = self.integrate_reduced_comp(&rho).sum(); self.specification = DFTSpecification::TotalMoles(moles); } + + /// Return the external potential in SI units. + pub fn external_potential(&self) -> Energy> { + Entropy::from_reduced(self.external_potential.clone()) * self.temperature + } } impl DFTProfile diff --git a/crates/feos-dft/src/solvation/pair_correlation.rs b/crates/feos-dft/src/solvation/pair_correlation.rs index 25849af4f..85b435d2e 100644 --- a/crates/feos-dft/src/solvation/pair_correlation.rs +++ b/crates/feos-dft/src/solvation/pair_correlation.rs @@ -1,6 +1,5 @@ //! Functionalities for the calculation of pair correlation functions. use crate::functional::HelmholtzEnergyFunctional; -use crate::profile::MAX_POTENTIAL; use crate::solver::DFTSolver; use crate::{Axis, DFTProfile, Grid}; use feos_core::{Contributions, FeosResult, ReferenceSystem, State}; @@ -12,11 +11,11 @@ use std::ops::Deref; /// models. pub trait PairPotential { /// Return the pair potential of particle i with all other particles. - fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> Array2; + fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> Energy>; } impl, T: PairPotential> PairPotential for C { - fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> Array2 { + fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> Energy> { T::pair_potential(self, i, r, temperature) } } @@ -38,12 +37,7 @@ impl PairCorrelation { // calculate external potential let t = bulk.temperature.to_reduced(); - let mut external_potential = dft.pair_potential(test_particle, &axis.grid, t) / t; - external_potential.map_inplace(|x| { - if *x > MAX_POTENTIAL { - *x = MAX_POTENTIAL - } - }); + let external_potential = dft.pair_potential(test_particle, &axis.grid, t) / t; let grid = Grid::Spherical(axis); Self { diff --git a/crates/feos-dft/src/solvation/solvation_profile.rs b/crates/feos-dft/src/solvation/solvation_profile.rs index 8785876d5..e31ca6494 100644 --- a/crates/feos-dft/src/solvation/solvation_profile.rs +++ b/crates/feos-dft/src/solvation/solvation_profile.rs @@ -1,7 +1,7 @@ use crate::adsorption::FluidParameters; use crate::functional::HelmholtzEnergyFunctional; use crate::geometry::{Axis, Grid}; -use crate::profile::{CUTOFF_RADIUS, DFTProfile, MAX_POTENTIAL}; +use crate::profile::{CUTOFF_RADIUS, DFTProfile}; use crate::solver::DFTSolver; use feos_core::{Contributions, FeosResult, ReferenceSystem, State}; use ndarray::Zip; @@ -40,7 +40,6 @@ impl SolvationProfile { } impl SolvationProfile { - #[expect(clippy::too_many_arguments)] pub fn new( bulk: &State, n_grid: [usize; 3], @@ -49,7 +48,6 @@ impl SolvationProfile { epsilon_ss: Array1, system_size: Option<[Length; 3]>, cutoff_radius: Option, - potential_cutoff: Option, ) -> FeosResult { let dft: &F = &bulk.eos; @@ -77,9 +75,6 @@ impl SolvationProfile { coordinates = coordinates + shift; - // temperature - let t = bulk.temperature.to_reduced(); - // calculate external potential let external_potential = external_potential_3d( dft, @@ -88,8 +83,6 @@ impl SolvationProfile { sigma_ss, epsilon_ss, cutoff_radius, - potential_cutoff, - t, )?; let grid = Grid::Cartesian3(x, y, z); @@ -102,7 +95,6 @@ impl SolvationProfile { } } -#[expect(clippy::too_many_arguments)] fn external_potential_3d( functional: &F, axis: [&Axis; 3], @@ -110,9 +102,7 @@ fn external_potential_3d( sigma_ss: Array1, epsilon_ss: Array1, cutoff_radius: Option, - potential_cutoff: Option, - reduced_temperature: f64, -) -> FeosResult> { +) -> FeosResult>> { // allocate external potential let m = functional.m(); let mut external_potential = Array4::zeros(( @@ -150,17 +140,9 @@ fn external_potential_3d( ) }) .sum::() - / reduced_temperature - }); - - let potential_cutoff = potential_cutoff.unwrap_or(MAX_POTENTIAL); - external_potential.map_inplace(|x| { - if *x > potential_cutoff { - *x = potential_cutoff - } }); - Ok(external_potential) + Ok(Energy::from_reduced(external_potential)) } /// Evaluate LJ12-6 potential between solid site "alpha" and fluid segment diff --git a/crates/feos/src/hard_sphere/dft.rs b/crates/feos/src/hard_sphere/dft.rs index ba8edf25a..d48d6327a 100644 --- a/crates/feos/src/hard_sphere/dft.rs +++ b/crates/feos/src/hard_sphere/dft.rs @@ -8,6 +8,7 @@ use feos_dft::{ use nalgebra::DVector; use ndarray::*; use num_dual::DualNum; +use quantity::Energy; use std::f64::consts::PI; use super::{HardSphereProperties, MonomerShape}; @@ -352,15 +353,15 @@ impl HelmholtzEnergyFunctionalDyn for FMTFunctional { } impl PairPotential for FMTFunctional { - fn pair_potential(&self, i: usize, r: &Array1, _: f64) -> Array2 { + fn pair_potential(&self, i: usize, r: &Array1, _: f64) -> Energy> { let s = &self.properties.sigma; - Array::from_shape_fn((s.len(), r.len()), |(j, k)| { + Energy::new(Array::from_shape_fn((s.len(), r.len()), |(j, k)| { if r[k] > 0.5 * (s[i] + s[j]) { 0.0 } else { f64::INFINITY } - }) + })) } } diff --git a/crates/feos/src/pcsaft/dft/mod.rs b/crates/feos/src/pcsaft/dft/mod.rs index b3afa5435..52c16aa4a 100644 --- a/crates/feos/src/pcsaft/dft/mod.rs +++ b/crates/feos/src/pcsaft/dft/mod.rs @@ -3,7 +3,7 @@ use super::parameters::PcSaftPars; use crate::association::{Association, YuWuAssociationFunctional}; use crate::hard_sphere::{FMTContribution, FMTVersion}; use crate::pcsaft::eos::PcSaftOptions; -use feos_core::{FeosResult, Molarweight, ResidualDyn, StateHD, Subset}; +use feos_core::{FeosResult, Molarweight, ReferenceSystem, ResidualDyn, StateHD, Subset}; use feos_derive::FunctionalContribution; use feos_dft::adsorption::FluidParameters; use feos_dft::solvation::PairPotential; @@ -14,7 +14,7 @@ use nalgebra::DVector; use ndarray::{Array1, Array2}; use num_dual::DualNum; use num_traits::One; -use quantity::MolarWeight; +use quantity::{Energy, MolarWeight}; use std::f64::consts::FRAC_PI_6; mod dispersion; @@ -164,13 +164,16 @@ impl FluidParameters for PcSaftFunctional { } impl PairPotential for PcSaftFunctional { - fn pair_potential(&self, i: usize, r: &Array1, _: f64) -> Array2 { + fn pair_potential(&self, i: usize, r: &Array1, _: f64) -> Energy> { let sigma_ij = &self.params.sigma_ij; let eps_ij_4 = 4.0 * &self.params.epsilon_k_ij; - Array2::from_shape_fn((self.params.m.len(), r.len()), |(j, k)| { - let att = (sigma_ij[(i, j)] / r[k]).powi(6); - eps_ij_4[(i, j)] * att * (att - 1.0) - }) + Energy::from_reduced(Array2::from_shape_fn( + (self.params.m.len(), r.len()), + |(j, k)| { + let att = (sigma_ij[(i, j)] / r[k]).powi(6); + eps_ij_4[(i, j)] * att * (att - 1.0) + }, + )) } } diff --git a/crates/feos/src/pets/dft/mod.rs b/crates/feos/src/pets/dft/mod.rs index 14215fee9..ef7e5d799 100644 --- a/crates/feos/src/pets/dft/mod.rs +++ b/crates/feos/src/pets/dft/mod.rs @@ -3,7 +3,7 @@ use super::eos::PetsOptions; use super::parameters::PetsParameters; use crate::hard_sphere::{FMTContribution, FMTVersion}; use dispersion::AttractiveFunctional; -use feos_core::FeosResult; +use feos_core::{FeosResult, ReferenceSystem}; use feos_derive::FunctionalContribution; use feos_dft::adsorption::FluidParameters; use feos_dft::solvation::PairPotential; @@ -12,6 +12,7 @@ use nalgebra::DVector; use ndarray::{Array1, Array2}; use num_dual::DualNum; use pure_pets_functional::*; +use quantity::Energy; mod dispersion; mod pure_pets_functional; @@ -75,18 +76,21 @@ impl FluidParameters for Pets { } impl PairPotential for Pets { - fn pair_potential(&self, i: usize, r: &Array1, _: f64) -> Array2 { + fn pair_potential(&self, i: usize, r: &Array1, _: f64) -> Energy> { let eps_ij_4 = 4.0 * self.epsilon_k_ij.clone(); let shift_ij = &eps_ij_4 * (2.5.powi(-12) - 2.5.powi(-6)); let rc_ij = 2.5 * &self.sigma_ij; - Array2::from_shape_fn((self.sigma.len(), r.len()), |(j, k)| { - if r[k] > rc_ij[(i, j)] { - 0.0 - } else { - let att = (self.sigma_ij[(i, j)] / r[k]).powi(6); - eps_ij_4[(i, j)] * att * (att - 1.0) - shift_ij[(i, j)] - } - }) + Energy::from_reduced(Array2::from_shape_fn( + (self.sigma.len(), r.len()), + |(j, k)| { + if r[k] > rc_ij[(i, j)] { + 0.0 + } else { + let att = (self.sigma_ij[(i, j)] / r[k]).powi(6); + eps_ij_4[(i, j)] * att * (att - 1.0) - shift_ij[(i, j)] + } + }, + )) } } diff --git a/crates/feos/src/saftvrqmie/dft/mod.rs b/crates/feos/src/saftvrqmie/dft/mod.rs index 8f29059b5..6cde777b4 100644 --- a/crates/feos/src/saftvrqmie/dft/mod.rs +++ b/crates/feos/src/saftvrqmie/dft/mod.rs @@ -3,7 +3,7 @@ use crate::hard_sphere::{FMTContribution, FMTVersion, HardSphereProperties, Mono use crate::saftvrqmie::eos::SaftVRQMieOptions; use crate::saftvrqmie::parameters::{SaftVRQMieParameters, SaftVRQMiePars}; use dispersion::AttractiveFunctional; -use feos_core::FeosResult; +use feos_core::{FeosResult, ReferenceSystem}; use feos_derive::FunctionalContribution; use feos_dft::adsorption::FluidParameters; use feos_dft::solvation::PairPotential; @@ -12,6 +12,7 @@ use nalgebra::DVector; use ndarray::{Array, Array1, Array2}; use non_additive_hs::NonAddHardSphereFunctional; use num_dual::DualNum; +use quantity::Energy; mod dispersion; mod non_additive_hs; @@ -79,10 +80,11 @@ impl FluidParameters for SaftVRQMie { } impl PairPotential for SaftVRQMie { - fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> Array2 { - Array::from_shape_fn((self.params.m.len(), r.len()), |(j, k)| { - self.params.qmie_potential_ij(i, j, r[k], temperature)[0] - }) + fn pair_potential(&self, i: usize, r: &Array1, temperature: f64) -> Energy> { + Energy::from_reduced(Array::from_shape_fn( + (self.params.m.len(), r.len()), + |(j, k)| self.params.qmie_potential_ij(i, j, r[k], temperature)[0], + )) } } diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs index 7668bebfb..6e39d57ab 100644 --- a/py-feos/src/dft/adsorption/pore.rs +++ b/py-feos/src/dft/adsorption/pore.rs @@ -139,7 +139,7 @@ impl PyPore1D { /// The bulk state in equilibrium with the pore. /// density : SIArray2, optional /// Initial values for the density profile. - /// external_potential : numpy.ndarray[float], optional + /// external_potential : SIArray2, optional /// The external potential in the pore. Used to /// save computation time in the case of costly /// evaluations of external potentials. @@ -158,7 +158,7 @@ impl PyPore1D { &self, bulk: &PyState, density: Option>>, - external_potential: Option<&Bound<'_, PyArray2>>, + external_potential: Option>>, specification: PyPoreSpecification, ) -> PyResult { Ok(PyPoreProfile1D( @@ -166,7 +166,7 @@ impl PyPore1D { .initialize( &bulk.0, density.as_ref(), - external_potential.map(|e| e.to_owned_array()).as_ref(), + external_potential.as_ref(), specification.0, ) .map_err(PyFeosError::from)?, @@ -236,7 +236,7 @@ impl PyPore2D { /// The bulk state in equilibrium with the pore. /// density : SIArray3, optional /// Initial values for the density profile. - /// external_potential : numpy.ndarray[float], optional + /// external_potential : SIArray3, optional /// The external potential in the pore. Used to /// save computation time in the case of costly /// evaluations of external potentials. @@ -255,7 +255,7 @@ impl PyPore2D { &self, bulk: &PyState, density: Option>>, - external_potential: Option<&Bound<'_, PyArray3>>, + external_potential: Option>>, specification: PyPoreSpecification, ) -> PyResult { Ok(PyPoreProfile2D( @@ -263,7 +263,7 @@ impl PyPore2D { .initialize( &bulk.0, density.as_ref(), - external_potential.map(|e| e.to_owned_array()).as_ref(), + external_potential.as_ref(), specification.0, ) .map_err(PyFeosError::from)?, @@ -325,10 +325,9 @@ impl_pore_profile!(PyPoreProfile3D); impl PyPore3D { #[new] #[pyo3( - text_signature = "(system_size, n_grid, coordinates, sigma_ss, epsilon_k_ss, angles=None, potential_cutoff=None, cutoff_radius=None)" + text_signature = "(system_size, n_grid, coordinates, sigma_ss, epsilon_k_ss, angles=None, cutoff_radius=None)" )] - #[pyo3(signature = (system_size, n_grid, coordinates, sigma_ss, epsilon_k_ss, angles=None, potential_cutoff=None, cutoff_radius=None))] - #[expect(clippy::too_many_arguments)] + #[pyo3(signature = (system_size, n_grid, coordinates, sigma_ss, epsilon_k_ss, angles=None, cutoff_radius=None))] fn new( system_size: [Length; 3], n_grid: [usize; 3], @@ -336,7 +335,6 @@ impl PyPore3D { sigma_ss: &Bound<'_, PyArray1>, epsilon_k_ss: &Bound<'_, PyArray1>, angles: Option<[Angle; 3]>, - potential_cutoff: Option, cutoff_radius: Option, ) -> Self { Self(Pore3D::new( @@ -346,7 +344,6 @@ impl PyPore3D { sigma_ss.to_owned_array(), epsilon_k_ss.to_owned_array(), angles, - potential_cutoff, cutoff_radius, )) } @@ -359,7 +356,7 @@ impl PyPore3D { /// The bulk state in equilibrium with the pore. /// density : SIArray4, optional /// Initial values for the density profile. - /// external_potential : numpy.ndarray[float], optional + /// external_potential : SIArray4, optional /// The external potential in the pore. Used to /// save computation time in the case of costly /// evaluations of external potentials. @@ -378,7 +375,7 @@ impl PyPore3D { &self, bulk: &PyState, density: Option>>, - external_potential: Option<&Bound<'_, PyArray4>>, + external_potential: Option>>, specification: PyPoreSpecification, ) -> PyResult { Ok(PyPoreProfile3D( @@ -386,7 +383,7 @@ impl PyPore3D { .initialize( &bulk.0, density.as_ref(), - external_potential.map(|e| e.to_owned_array()).as_ref(), + external_potential.as_ref(), specification.0, ) .map_err(PyFeosError::from)?, diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs index 68c4aec9c..b60fcafdb 100644 --- a/py-feos/src/dft/profile.rs +++ b/py-feos/src/dft/profile.rs @@ -74,8 +74,8 @@ macro_rules! impl_profile { } #[getter] - fn get_external_potential<'py>(&self, py: Python<'py>) -> Bound<'py, $py_arr2> { - self.0.profile.external_potential.view().to_pyarray(py) + fn get_external_potential(&self) -> Energy<$si_arr2> { + self.0.profile.external_potential().clone() } #[getter] @@ -272,6 +272,6 @@ macro_rules! impl_3d_profile { }; } -pub(crate) use {impl_1d_profile, impl_2d_profile, impl_profile}; #[cfg(feature = "rayon")] pub(crate) use impl_3d_profile; +pub(crate) use {impl_1d_profile, impl_2d_profile, impl_profile}; diff --git a/py-feos/src/dft/solvation.rs b/py-feos/src/dft/solvation.rs index 4dc012972..9509d6b99 100644 --- a/py-feos/src/dft/solvation.rs +++ b/py-feos/src/dft/solvation.rs @@ -55,10 +55,9 @@ impl_3d_profile!(PySolvationProfile, get_x, get_y, get_z); impl PySolvationProfile { #[new] #[pyo3( - text_signature = "(bulk, n_grid, coordinates, sigma, epsilon_k, system_size=None, cutoff_radius=None, potential_cutoff=None)" + text_signature = "(bulk, n_grid, coordinates, sigma, epsilon_k, system_size=None, cutoff_radius=None)" )] - #[pyo3(signature = (bulk, n_grid, coordinates, sigma, epsilon_k, system_size=None, cutoff_radius=None, potential_cutoff=None))] - #[expect(clippy::too_many_arguments)] + #[pyo3(signature = (bulk, n_grid, coordinates, sigma, epsilon_k, system_size=None, cutoff_radius=None))] fn new<'py>( bulk: &PyState, n_grid: [usize; 3], @@ -67,7 +66,6 @@ impl PySolvationProfile { epsilon_k: &Bound<'py, PyArray1>, system_size: Option<[Length; 3]>, cutoff_radius: Option, - potential_cutoff: Option, ) -> PyResult { Ok(Self( SolvationProfile::new( @@ -78,7 +76,6 @@ impl PySolvationProfile { epsilon_k.to_owned_array(), system_size, cutoff_radius, - potential_cutoff, ) .map_err(PyFeosError::from)?, )) From e076e87279ffd7a27f420e835c32fb2476788f01 Mon Sep 17 00:00:00 2001 From: Philipp Rehner <69816385+prehner@users.noreply.github.com> Date: Sun, 26 Jul 2026 11:24:23 +0200 Subject: [PATCH 04/13] Restructure Python DFT interface (#376) --- CHANGELOG.md | 7 + Cargo.toml | 1 - crates/feos-dft/Cargo.toml | 3 +- .../src/adsorption/external_potential.rs | 125 ----- .../feos-dft/src/adsorption/fea_potential.rs | 141 ----- crates/feos-dft/src/adsorption/mod.rs | 116 ++-- crates/feos-dft/src/adsorption/pore.rs | 178 +++--- crates/feos-dft/src/adsorption/pore2d.rs | 46 -- crates/feos-dft/src/adsorption/pore3d.rs | 200 ------- crates/feos-dft/src/geometry.rs | 43 +- crates/feos-dft/src/profile/mod.rs | 135 ++--- .../src/solvation/pair_correlation.rs | 4 +- .../src/solvation/solvation_profile.rs | 6 +- crates/feos/benches/dft_pore.rs | 26 +- crates/feos/tests/gc_pcsaft/dft.rs | 6 +- .../src/dft/adsorption/external_potential.rs | 57 -- py-feos/src/dft/adsorption/mod.rs | 511 +++++++++--------- py-feos/src/dft/adsorption/pore.rs | 469 +++++++--------- py-feos/src/dft/interface/mod.rs | 6 +- py-feos/src/dft/mod.rs | 5 +- py-feos/src/dft/profile.rs | 148 ++--- py-feos/src/dft/solvation.rs | 10 +- py-feos/src/lib.rs | 11 +- 23 files changed, 762 insertions(+), 1492 deletions(-) delete mode 100644 crates/feos-dft/src/adsorption/fea_potential.rs delete mode 100644 crates/feos-dft/src/adsorption/pore2d.rs delete mode 100644 crates/feos-dft/src/adsorption/pore3d.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 9010e624b..c6773ba06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Breaking] ### Added - Added `PoreSpecification` enum to specify the state of the fluid in the pore (currently chemical potential or moles). [#371](https://github.com/feos-org/feos/pull/371) +- Added the `Grid` and `PoreProfile` classes as an entry points to DFT in various coordinate systems in Python. [#376](https://github.com/feos-org/feos/pull/376) ### Changed - Changed data type of initial temperatures or pressure for phase equilibrium calculations (`TemperatureOrPressure::Other`) from `D` to `f64`. [#369](https://github.com/feos-org/feos/pull/369) - Reworked DFT solution algorithms slightly for the cases in which additional specifications are given. [#371](https://github.com/feos-org/feos/pull/371) - External potentials are passed and returned as quantities (energies) instead of reduced units. [#372](https://github.com/feos-org/feos/pull/372) +- Merged the `Adsorption1D` and `Adsorption3D` classes in Python into `Adsorption` using dynamically dimensioned arrays. [#376](https://github.com/feos-org/feos/pull/376) ### Removed - Removed the `DFTSpecification` trait in favor of only using the `DFTSpecification` enum (renamed from `DFTSpecifications`). [#371](https://github.com/feos-org/feos/pull/371) +- Removed the `Pore2D` and `Pore3D` interfaces including the (limited) calculation of external potentials for complex pore grometries. [#376](https://github.com/feos-org/feos/pull/376) +- Removed the free energy-averaged external (FEA) potential. [#376](https://github.com/feos-org/feos/pull/376) + +### Packaging +- Removed the `gauss-quad` dependency which was only used in the FEA potential calculation. [#376](https://github.com/feos-org/feos/pull/376) ## [Unreleased] diff --git a/Cargo.toml b/Cargo.toml index bf068875f..ea0a4ae29 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,6 @@ petgraph = "0.8" rustdct = "0.7" rustfft = "6.0" libm = "0.2" -gauss-quad = "0.3" approx = "0.5" criterion = "0.8" paste = "1.0" diff --git a/crates/feos-dft/Cargo.toml b/crates/feos-dft/Cargo.toml index 2e9e52a7f..400504e9e 100644 --- a/crates/feos-dft/Cargo.toml +++ b/crates/feos-dft/Cargo.toml @@ -23,11 +23,10 @@ rustdct = { workspace = true } rustfft = { workspace = true } num-traits = { workspace = true } libm = { workspace = true } -gauss-quad = { workspace = true, optional = true } petgraph = { workspace = true } feos-core = { workspace = true } [features] default = [] -rayon = ["gauss-quad", "ndarray/rayon"] +rayon = ["ndarray/rayon"] diff --git a/crates/feos-dft/src/adsorption/external_potential.rs b/crates/feos-dft/src/adsorption/external_potential.rs index 583263866..5d911d4de 100644 --- a/crates/feos-dft/src/adsorption/external_potential.rs +++ b/crates/feos-dft/src/adsorption/external_potential.rs @@ -1,13 +1,7 @@ -#[cfg(feature = "rayon")] -use crate::adsorption::fea_potential::calculate_fea_potential; use crate::functional::HelmholtzEnergyFunctional; -#[cfg(feature = "rayon")] -use crate::geometry::Geometry; use libm::tgamma; use nalgebra::DVector; use ndarray::{Array1, Array2, Axis as Axis_nd}; -#[cfg(feature = "rayon")] -use quantity::Length; use std::f64::consts::PI; use std::ops::Deref; @@ -52,20 +46,6 @@ pub enum ExternalPotential { epsilon2_k_ss: f64, rho_s: f64, }, - /// Free-energy averaged potential: - #[cfg(feature = "rayon")] - FreeEnergyAveraged { - coordinates: Length>, - sigma_ss: Array1, - epsilon_k_ss: Array1, - pore_center: [f64; 3], - system_size: [Length; 3], - n_grid: [usize; 2], - cutoff_radius: Option, - }, - - /// Custom potential - Custom(Array2), } /// Parameters of the fluid required to evaluate the external potential. @@ -89,12 +69,7 @@ impl ExternalPotential { &self, z_grid: &Array1, fluid_parameters: &P, - #[cfg_attr(not(feature = "rayon"), expect(unused_variables))] temperature: f64, ) -> Array2 { - if let ExternalPotential::Custom(potential) = self { - return potential.clone(); - } - // Allocate external potential let m = fluid_parameters.m(); let mut ext_pot = Array2::zeros((m.len(), z_grid.len())); @@ -197,36 +172,6 @@ impl ExternalPotential { * (2.0 * (sigma_sf[i] / z_grid).mapv(|x| x.powi(9)) - 15.0 * (sigma_sf[i] / z_grid).mapv(|x| x.powi(3)))) } - #[cfg(feature = "rayon")] - Self::FreeEnergyAveraged { - coordinates, - sigma_ss, - epsilon_k_ss, - pore_center, - system_size, - n_grid, - cutoff_radius, - } => { - // combining rules - let epsilon_k_sf = - (fluid_parameters.epsilon_k_ff()[i] * epsilon_k_ss).map(|e| e.sqrt()); - let sigma_sf = (fluid_parameters.sigma_ff()[i] + sigma_ss) * 0.5; - - calculate_fea_potential( - z_grid, - mi, - coordinates, - sigma_sf, - epsilon_k_sf, - pore_center, - system_size, - n_grid, - temperature, - Geometry::Cartesian, - *cutoff_radius, - ) - } - _ => unreachable!(), }); } ext_pot @@ -238,12 +183,7 @@ impl ExternalPotential { r_grid: &Array1, pore_size: f64, fluid_parameters: &P, - #[cfg_attr(not(feature = "rayon"), expect(unused_variables))] temperature: f64, ) -> Array2 { - if let ExternalPotential::Custom(potential) = self { - return potential.clone(); - } - // Allocate external potential let m = fluid_parameters.m(); let mut ext_pot = Array2::zeros((m.len(), r_grid.len())); @@ -363,36 +303,6 @@ impl ExternalPotential { * sigma_sf[i].powi(3) * *rho_s) } - #[cfg(feature = "rayon")] - Self::FreeEnergyAveraged { - coordinates, - sigma_ss, - epsilon_k_ss, - pore_center, - system_size, - n_grid, - cutoff_radius, - } => { - // combining rules - let epsilon_k_sf = - (fluid_parameters.epsilon_k_ff()[i] * epsilon_k_ss).map(|e| e.sqrt()); - let sigma_sf = (fluid_parameters.sigma_ff()[i] + sigma_ss) * 0.5; - - calculate_fea_potential( - r_grid, - mi, - coordinates, - sigma_sf, - epsilon_k_sf, - pore_center, - system_size, - n_grid, - temperature, - Geometry::Cylindrical, - *cutoff_radius, - ) - } - _ => unreachable!(), }); } ext_pot @@ -404,12 +314,7 @@ impl ExternalPotential { r_grid: &Array1, pore_size: f64, fluid_parameters: &P, - #[cfg_attr(not(feature = "rayon"), expect(unused_variables))] temperature: f64, ) -> Array2 { - if let ExternalPotential::Custom(potential) = self { - return potential.clone(); - } - // Allocate external potential let m = fluid_parameters.m(); let mut ext_pot = Array2::zeros((m.len(), r_grid.len())); @@ -553,36 +458,6 @@ impl ExternalPotential { * (2.0 / 5.0 * sum_n(10, r_grid, sigma_sf[i], pore_size) - sum_n(4, r_grid, sigma_sf[i], pore_size))) } - #[cfg(feature = "rayon")] - Self::FreeEnergyAveraged { - coordinates, - sigma_ss, - epsilon_k_ss, - pore_center, - system_size, - n_grid, - cutoff_radius, - } => { - // combining rules - let epsilon_k_sf = - (fluid_parameters.epsilon_k_ff()[i] * epsilon_k_ss).map(|e| e.sqrt()); - let sigma_sf = (fluid_parameters.sigma_ff()[i] + sigma_ss) * 0.5; - - calculate_fea_potential( - r_grid, - mi, - coordinates, - sigma_sf, - epsilon_k_sf, - pore_center, - system_size, - n_grid, - temperature, - Geometry::Spherical, - *cutoff_radius, - ) - } - _ => unreachable!(), }); } ext_pot diff --git a/crates/feos-dft/src/adsorption/fea_potential.rs b/crates/feos-dft/src/adsorption/fea_potential.rs deleted file mode 100644 index f67e583f1..000000000 --- a/crates/feos-dft/src/adsorption/fea_potential.rs +++ /dev/null @@ -1,141 +0,0 @@ -use super::pore3d::{calculate_distance2, evaluate_lj_potential}; -use crate::Geometry; -use crate::profile::CUTOFF_RADIUS; -use feos_core::ReferenceSystem; -use gauss_quad::GaussLegendre; -use ndarray::{Array1, Array2, Zip}; -use quantity::Length; -use std::f64::consts::PI; -use std::num::NonZero; - -// Calculate free-energy average potential for given solid structure. -#[expect(clippy::too_many_arguments)] -pub fn calculate_fea_potential( - grid: &Array1, - mi: f64, - coordinates: &Length>, - sigma_sf: Array1, - epsilon_k_sf: Array1, - pore_center: &[f64; 3], - system_size: &[Length; 3], - n_grid: &[usize; 2], - temperature: f64, - geometry: Geometry, - cutoff_radius: Option, -) -> Array1 { - // allocate external potential - let mut potential: Array1 = Array1::zeros(grid.len()); - - // calculate squared cutoff radius - let cutoff_radius2 = cutoff_radius.unwrap_or(CUTOFF_RADIUS).powi(2); - - // dimensionless solid coordinates - let coordinates = Array2::from_shape_fn(coordinates.raw_dim(), |(i, j)| { - (coordinates.get((i, j))).to_reduced() - }); - - let system_size = [ - system_size[0].to_reduced(), - system_size[1].to_reduced(), - system_size[2].to_reduced(), - ]; - - // Create secondary axis: - // Cartesian coordinates => y - // Cylindrical coordinates => phi - // Spherical coordinates => phi - let (nodes1, weights1) = match geometry { - Geometry::Cartesian => { - let nodes = Array1::linspace( - 0.5 * system_size[1] / n_grid[0] as f64, - system_size[1] - 0.5 * system_size[1] / n_grid[0] as f64, - n_grid[0], - ); - let weights = Array1::from_elem(n_grid[0], system_size[1] / n_grid[0] as f64); - (nodes, weights) - } - Geometry::Spherical | Geometry::Cylindrical => { - let (unscaled_nodes, unscaled_weights) = - GaussLegendre::new(NonZero::new(n_grid[0]).unwrap()) - .into_iter() - .unzip(); - - let nodes = PI + Array1::from_vec(unscaled_nodes) * PI; - let weights = Array1::from_vec(unscaled_weights) * PI; - - (nodes, weights) - } - }; - - // Create tertiary axis - // Cartesian coordinates => z - // Cylindrical coordinates => z - // Spherical coordinates => theta - let (nodes2, weights2) = match geometry { - Geometry::Cylindrical | Geometry::Cartesian => { - let nodes = Array1::linspace( - 0.5 * system_size[2] / n_grid[1] as f64, - system_size[2] - 0.5 * system_size[2] / n_grid[1] as f64, - n_grid[1], - ); - let weights = Array1::from_elem(n_grid[1], system_size[2] / n_grid[1] as f64); - (nodes, weights) - } - Geometry::Spherical => { - let (unscaled_nodes, unscaled_weights) = - GaussLegendre::new(NonZero::new(n_grid[1]).unwrap()) - .into_iter() - .unzip(); - - let nodes = PI / 2.0 + Array1::from_vec(unscaled_nodes) * PI / 2.0; - let weights = Array1::from_vec(unscaled_weights) * PI / 2.0 - * Array1::from_shape_fn(n_grid[1], |i| nodes[i].sin()); - - (nodes, weights) - } - }; - - // calculate weights - let weights = Array2::from_shape_fn((n_grid[0], n_grid[1]), |(i, j)| weights1[i] * weights2[j]); - - // calculate sum of weights - let weights_sum = weights.sum(); - - // calculate FEA potential - Zip::indexed(&mut potential).par_for_each(|i0, f| { - let mut potential_2d: Array2 = Array2::zeros((n_grid[0], n_grid[1])); - for (i1, &n1) in nodes1.iter().enumerate() { - for (i2, &n2) in nodes2.iter().enumerate() { - let point = match geometry { - Geometry::Cartesian => [grid[i0], n1, n2], - Geometry::Cylindrical => [ - pore_center[0] + grid[i0] * n1.cos(), - pore_center[1] + grid[i0] * n1.sin(), - n2, - ], - Geometry::Spherical => [ - pore_center[0] + grid[i0] * n2.sin() * n1.cos(), - pore_center[1] + grid[i0] * n2.sin() * n1.sin(), - pore_center[2] + grid[i0] * n2.cos(), - ], - }; - - let distance2 = calculate_distance2(point, &coordinates, system_size); - let potential_sum: f64 = (0..sigma_sf.len()) - .map(|alpha| { - mi * evaluate_lj_potential( - distance2[alpha], - sigma_sf[alpha], - epsilon_k_sf[alpha], - cutoff_radius2, - ) / temperature - }) - .sum(); - potential_2d[[i1, i2]] = (-potential_sum).exp(); - } - } - *f = (potential_2d * &weights).sum(); - }); - - -temperature * potential.map(|p| (p / weights_sum).ln()) -} diff --git a/crates/feos-dft/src/adsorption/mod.rs b/crates/feos-dft/src/adsorption/mod.rs index 3d11c4275..fe3391223 100644 --- a/crates/feos-dft/src/adsorption/mod.rs +++ b/crates/feos-dft/src/adsorption/mod.rs @@ -1,5 +1,6 @@ //! Adsorption profiles and isotherms. use super::functional::HelmholtzEnergyFunctional; +use super::geometry::Grid; use super::solver::DFTSolver; use feos_core::DensityInitialization::{Liquid, Vapor}; use feos_core::{ @@ -7,23 +8,14 @@ use feos_core::{ SolverOptions, State, }; use nalgebra::{DMatrix, DVector, Dyn}; -use ndarray::{Array1, Array2, Dimension, Ix1, Ix3, RemoveAxis}; +use ndarray::{Array, Array1, Array2, Dimension, Ix1, Ix3, RemoveAxis}; use quantity::{Energy, MolarEnergy, Moles, Pressure, Temperature}; use std::iter; mod external_potential; -#[cfg(feature = "rayon")] -mod fea_potential; mod pore; -mod pore2d; pub use external_potential::{ExternalPotential, FluidParameters}; -pub use pore::{HenryCoefficient, Pore, Pore1D, PoreProfile, PoreProfile1D, PoreSpecification}; -pub use pore2d::{Pore2D, PoreProfile2D}; - -#[cfg(feature = "rayon")] -mod pore3d; -#[cfg(feature = "rayon")] -pub use pore3d::{Pore3D, PoreProfile3D}; +pub use pore::{HenryCoefficient, Pore1D, PoreProfile, PoreSpecification}; const MAX_ITER_ADSORPTION_EQUILIBRIUM: usize = 50; const TOL_ADSORPTION_EQUILIBRIUM: f64 = 1e-8; @@ -54,11 +46,12 @@ where } /// Calculate an adsorption isotherm (starting at low pressure) - pub fn adsorption_isotherm, X: Composition + Clone>( + pub fn adsorption_isotherm + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, - pore: &S, + grid: &Grid, + external_potential: &Energy>, composition: X, solver: Option<&DFTSolver>, ) -> FeosResult> { @@ -66,7 +59,8 @@ where functional, temperature, pressure, - pore, + grid, + external_potential, composition, DensityInitialization::Vapor, solver, @@ -74,11 +68,12 @@ where } /// Calculate an desorption isotherm (starting at high pressure) - pub fn desorption_isotherm, X: Composition + Clone>( + pub fn desorption_isotherm + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, - pore: &S, + grid: &Grid, + external_potential: &Energy>, composition: X, solver: Option<&DFTSolver>, ) -> FeosResult> { @@ -87,7 +82,8 @@ where functional, temperature, &pressure, - pore, + grid, + external_potential, composition, DensityInitialization::Liquid, solver, @@ -99,11 +95,12 @@ where } /// Calculate an equilibrium isotherm - pub fn equilibrium_isotherm, X: Composition + Clone>( + pub fn equilibrium_isotherm + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, - pore: &S, + grid: &Grid, + external_potential: &Energy>, composition: X, solver: Option<&DFTSolver>, ) -> FeosResult> { @@ -113,7 +110,8 @@ where temperature, p_min, p_max, - pore, + grid, + external_potential, composition.clone(), solver, SolverOptions::default(), @@ -132,7 +130,8 @@ where functional, temperature, &p_ads, - pore, + grid, + external_potential, composition.clone(), solver, )? @@ -141,7 +140,8 @@ where functional, temperature, &p_des, - pore, + grid, + external_potential, composition, solver, )? @@ -155,7 +155,8 @@ where functional, temperature, pressure, - pore, + grid, + external_potential, composition.clone(), solver, )?; @@ -163,7 +164,8 @@ where functional, temperature, pressure, - pore, + grid, + external_potential, composition, solver, )?; @@ -182,11 +184,13 @@ where } } - fn isotherm, X: Composition + Clone>( + #[expect(clippy::too_many_arguments)] + fn isotherm + Clone>( functional: &F, temperature: Temperature, pressure: &Pressure>, - pore: &S, + grid: &Grid, + external_potential: &Energy>, composition: X, density_initialization: DensityInitialization, solver: Option<&DFTSolver>, @@ -210,11 +214,15 @@ where _ => unreachable!(), }; } - let profile = pore - .initialize(&bulk, None, None, PoreSpecification::ChemicalPotential)? - .solve(solver)? - .profile; - let external_potential = Some(&profile.external_potential()); + let profile = PoreProfile::::new( + grid.clone(), + &bulk, + external_potential, + None, + PoreSpecification::ChemicalPotential, + ) + .solve(solver)? + .profile; let mut old_density = Some(&profile.density); for i in 0..pressure.len() { @@ -232,18 +240,20 @@ where .clone(); } - let p = pore.initialize( + let p = PoreProfile::new( + grid.clone(), &bulk, - old_density, external_potential, + old_density, PoreSpecification::ChemicalPotential, - )?; - let p2 = pore.initialize( + ); + let p2 = PoreProfile::new( + grid.clone(), &bulk, - None, external_potential, + None, PoreSpecification::ChemicalPotential, - )?; + ); profiles.push(p.solve(solver).or_else(|_| p2.solve(solver))); old_density = if let Some(Ok(l)) = profiles.last() { @@ -258,12 +268,13 @@ where /// Calculate the phase transition from an empty to a filled pore. #[expect(clippy::too_many_arguments)] - pub fn phase_equilibrium, X: Composition + Clone>( + pub fn phase_equilibrium + Clone>( functional: &F, temperature: Temperature, p_min: Pressure, p_max: Pressure, - pore: &S, + grid: &Grid, + external_potential: &Energy>, composition: X, solver: Option<&DFTSolver>, options: SolverOptions, @@ -274,17 +285,22 @@ where let bulk_init = State::new_npt(functional, temperature, p_max, x.clone(), Some(Liquid))?; let liquid_bulk = State::new_npt(functional, temperature, p_max, x.clone(), Some(Vapor))?; - let mut vapor = pore - .initialize( - &vapor_bulk, - None, - None, - PoreSpecification::ChemicalPotential, - )? - .solve(solver)?; - let mut liquid = pore - .initialize(&bulk_init, None, None, PoreSpecification::ChemicalPotential)? - .solve(solver)?; + let mut vapor = PoreProfile::new( + grid.clone(), + &vapor_bulk, + external_potential, + None, + PoreSpecification::ChemicalPotential, + ) + .solve(solver)?; + let mut liquid = PoreProfile::new( + grid.clone(), + &bulk_init, + external_potential, + None, + PoreSpecification::ChemicalPotential, + ) + .solve(solver)?; // calculate initial value for bulk density let n_dp_drho_v = (vapor.profile.moles() * vapor_bulk.dp_drho(Contributions::Total)).sum(); diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs index 493229289..b59474085 100644 --- a/crates/feos-dft/src/adsorption/pore.rs +++ b/crates/feos-dft/src/adsorption/pore.rs @@ -14,12 +14,13 @@ use num_dual::linalg::LU; use num_dual::{Dual64, DualNum}; use quantity::{ _Moles, _Pressure, Density, Dimensionless, Energy, KELVIN, Length, MolarEnergy, Moles, - Quantity, RGAS, Temperature, Volume, + Quantity, RGAS, Volume, }; use rustdct::DctNum; use std::ops::Sub; -const POTENTIAL_OFFSET: f64 = 2.0; +// A 5 Angstrom buffer is added to Cartesian axes to avoid the molecules seeing each other through the pore walls. +const POTENTIAL_OFFSET: f64 = 5.0; const DEFAULT_GRID_POINTS: usize = 2048; pub type _HenryCoefficient = <_Moles as Sub<_Pressure>>::Output; @@ -27,59 +28,58 @@ pub type HenryCoefficient = Quantity; /// Parameters required to specify a 1D pore. pub struct Pore1D { - pub geometry: Geometry, + pub external_potential: Energy>, pub pore_size: Length, - pub potential: ExternalPotential, - pub n_grid: Option, - pub potential_cutoff: Option, + pub grid: Grid, } impl Pore1D { - pub fn new( + pub fn new( + functional: &F, geometry: Geometry, pore_size: Length, - potential: ExternalPotential, + external_potential: ExternalPotential, n_grid: Option, - potential_cutoff: Option, ) -> Self { + let n_grid = n_grid.unwrap_or(DEFAULT_GRID_POINTS); + let axis = match geometry { + Geometry::Cartesian => { + Axis::new_cartesian(n_grid, 0.5 * pore_size, Some(POTENTIAL_OFFSET)) + } + Geometry::Cylindrical => Axis::new_polar(n_grid, pore_size), + Geometry::Spherical => Axis::new_spherical(n_grid, pore_size), + }; + + let external_potential = + external_potential_1d(pore_size, &external_potential, functional, &axis); + + let grid = Grid::new_1d(axis); + Self { - geometry, + external_potential, pore_size, - potential, - n_grid, - potential_cutoff, + grid, } } -} - -/// Different ways that the thermodynamic state of the fluid in the pore -/// can be specified. -#[derive(Clone)] -pub enum PoreSpecification { - /// Specify the chemical potential (via the bulk state). - ChemicalPotential, - /// Specify the amount of moles of every component. - Moles(Moles>), -} - -/// Trait for the generic implementation of adsorption applications. -pub trait Pore { - /// Initialize a new single pore. - fn initialize( + pub fn initialize( &self, bulk: &State, - density: Option<&Density>>, - external_potential: Option<&Energy>>, + density: Option<&Density>>, specification: PoreSpecification, - ) -> FeosResult>; + ) -> FeosResult> { + Ok(PoreProfile::new( + self.grid.clone(), + bulk, + &self.external_potential, + density, + specification, + )) + } /// Return the pore volume using Helium at 298 K as reference. - fn pore_volume(&self) -> FeosResult - where - D::Larger: Dimension, - { + pub fn pore_volume(&self) -> FeosResult { let bulk = State::new_pure(&&Helium, 298.0 * KELVIN, Density::from_reduced(1.0))?; - let pore = self.initialize(&bulk, None, None, PoreSpecification::ChemicalPotential)?; + let pore = self.initialize(&bulk, None, PoreSpecification::ChemicalPotential)?; let pot = Dimensionless::from_reduced( pore.profile .external_potential @@ -90,6 +90,18 @@ pub trait Pore { } } +/// Different ways that the thermodynamic state of the fluid in the pore +/// can be specified. +#[derive(Clone)] +pub enum PoreSpecification { + /// Specify the chemical potential (via the bulk state). + ChemicalPotential, + /// Specify the amount of moles of every component. + Moles(Moles>), + /// Fix the amount of moles of every component based on the initial density profile. + FixedMoles, +} + /// Density profile and properties of a confined system in arbitrary dimensions. #[derive(Clone)] pub struct PoreProfile { @@ -98,9 +110,6 @@ pub struct PoreProfile { pub interfacial_tension: Option, } -/// Density profile and properties of a 1D confined system. -pub type PoreProfile1D = PoreProfile; - impl PoreProfile where D::Larger: Dimension, @@ -110,15 +119,19 @@ where pub fn new( grid: Grid, bulk: &State, - external_potential: Option>>, + external_potential: &Energy>, density: Option<&Density>>, specification: PoreSpecification, ) -> Self { - let mut profile = DFTProfile::new(grid, bulk, external_potential, density, Some(1)); + let mut profile = DFTProfile::new(grid, bulk, Some(external_potential), density, Some(1)); // fix the number of particles - if let PoreSpecification::Moles(moles) = specification { - profile.specification = DFTSpecification::Moles(moles.to_reduced()) + match specification { + PoreSpecification::ChemicalPotential => (), + PoreSpecification::Moles(moles) => { + profile.specification = DFTSpecification::Moles(moles.to_reduced()) + } + PoreSpecification::FixedMoles => profile.fix_moles(), } Self { @@ -210,64 +223,34 @@ where RGAS * self.profile.temperature * Dimensionless::from_reduced((&h - t * dh).component_div(&h)) } -} - -impl Pore for Pore1D { - fn initialize( - &self, - bulk: &State, - density: Option<&Density>>, - external_potential: Option<&Energy>>, - specification: PoreSpecification, - ) -> FeosResult> { - let dft: &F = &bulk.eos; - let n_grid = self.n_grid.unwrap_or(DEFAULT_GRID_POINTS); - let axis = match self.geometry { - Geometry::Cartesian => { - let potential_offset = POTENTIAL_OFFSET - * bulk - .eos - .sigma_ff() - .iter() - .max_by(|a, b| a.total_cmp(b)) - .unwrap(); - Axis::new_cartesian(n_grid, 0.5 * self.pore_size, Some(potential_offset)) - } - Geometry::Cylindrical => Axis::new_polar(n_grid, self.pore_size), - Geometry::Spherical => Axis::new_spherical(n_grid, self.pore_size), - }; - - // calculate external potential - let external_potential = external_potential.map_or_else( - || { - external_potential_1d( - self.pore_size, - bulk.temperature, - &self.potential, - dft, - &axis, - ) + pub fn into_dyn(self) -> PoreProfile { + // initialize convolver + let t = self.profile.bulk.temperature.to_reduced(); + let weight_functions = self.profile.bulk.eos.weight_functions(t); + let convolver = + ConvolverFFT::plan(&self.profile.grid, &weight_functions, self.profile.lanczos); + + PoreProfile { + profile: DFTProfile { + grid: self.profile.grid, + convolver, + temperature: self.profile.temperature, + density: self.profile.density.into_dyn(), + specification: self.profile.specification, + external_potential: self.profile.external_potential.into_dyn(), + bulk: self.profile.bulk, + solver_log: self.profile.solver_log, + lanczos: self.profile.lanczos, }, - |e| e.clone(), - ); - - // initialize grid - let grid = Grid::new_1d(axis); - - Ok(PoreProfile::new( - grid, - bulk, - Some(external_potential), - density, - specification, - )) + grand_potential: self.grand_potential, + interfacial_tension: self.interfacial_tension, + } } } fn external_potential_1d( pore_width: Length, - temperature: Temperature, potential: &ExternalPotential, fluid_parameters: &P, axis: &Axis, @@ -277,30 +260,25 @@ fn external_potential_1d( Geometry::Cylindrical => pore_width.to_reduced(), Geometry::Cartesian => 0.5 * pore_width.to_reduced(), }; - let t = temperature.to_reduced(); let mut external_potential = match &axis.geometry { Geometry::Cartesian => { potential.calculate_cartesian_potential( &(effective_pore_size + &axis.grid), fluid_parameters, - t, ) + &potential.calculate_cartesian_potential( &(effective_pore_size - &axis.grid), fluid_parameters, - t, ) } Geometry::Spherical => potential.calculate_spherical_potential( &axis.grid, effective_pore_size, fluid_parameters, - t, ), Geometry::Cylindrical => potential.calculate_cylindrical_potential( &axis.grid, effective_pore_size, fluid_parameters, - t, ), }; diff --git a/crates/feos-dft/src/adsorption/pore2d.rs b/crates/feos-dft/src/adsorption/pore2d.rs deleted file mode 100644 index 396434187..000000000 --- a/crates/feos-dft/src/adsorption/pore2d.rs +++ /dev/null @@ -1,46 +0,0 @@ -use super::{FluidParameters, Pore, PoreProfile}; -use crate::{Axis, Grid, HelmholtzEnergyFunctional, adsorption::pore::PoreSpecification}; -use feos_core::{FeosResult, State}; -use ndarray::{Array3, Ix2}; -use quantity::{Angle, Density, Energy, Length}; - -pub struct Pore2D { - system_size: [Length; 2], - angle: Angle, - n_grid: [usize; 2], -} - -pub type PoreProfile2D = PoreProfile; - -impl Pore2D { - pub fn new(system_size: [Length; 2], angle: Angle, n_grid: [usize; 2]) -> Self { - Self { - system_size, - angle, - n_grid, - } - } -} - -impl Pore for Pore2D { - fn initialize( - &self, - bulk: &State, - density: Option<&Density>>, - external_potential: Option<&Energy>>, - specification: PoreSpecification, - ) -> FeosResult> { - // generate grid - let x = Axis::new_cartesian(self.n_grid[0], self.system_size[0], None); - let y = Axis::new_cartesian(self.n_grid[1], self.system_size[1], None); - let grid = Grid::Periodical2(x, y, self.angle); - - Ok(PoreProfile::new( - grid, - bulk, - external_potential.cloned(), - density, - specification, - )) - } -} diff --git a/crates/feos-dft/src/adsorption/pore3d.rs b/crates/feos-dft/src/adsorption/pore3d.rs deleted file mode 100644 index fdf02800a..000000000 --- a/crates/feos-dft/src/adsorption/pore3d.rs +++ /dev/null @@ -1,200 +0,0 @@ -use super::pore::{Pore, PoreProfile}; -use crate::adsorption::{FluidParameters, PoreSpecification}; -use crate::functional::HelmholtzEnergyFunctional; -use crate::geometry::{Axis, Grid}; -use crate::profile::CUTOFF_RADIUS; -use feos_core::{FeosError, FeosResult, ReferenceSystem, State}; -use ndarray::Zip; -use ndarray::prelude::*; -use quantity::{Angle, DEGREES, Density, Energy, Length}; - -/// Parameters required to specify a 3D pore. -pub struct Pore3D { - system_size: [Length; 3], - angles: Option<[Angle; 3]>, - n_grid: [usize; 3], - coordinates: Length>, - sigma_ss: Array1, - epsilon_k_ss: Array1, - cutoff_radius: Option, -} - -impl Pore3D { - pub fn new( - system_size: [Length; 3], - n_grid: [usize; 3], - coordinates: Length>, - sigma_ss: Array1, - epsilon_k_ss: Array1, - angles: Option<[Angle; 3]>, - cutoff_radius: Option, - ) -> Self { - Self { - system_size, - angles, - n_grid, - coordinates, - sigma_ss, - epsilon_k_ss, - cutoff_radius, - } - } -} - -/// Density profile and properties of a 3D confined system. -pub type PoreProfile3D = PoreProfile; - -impl Pore for Pore3D { - fn initialize( - &self, - bulk: &State, - density: Option<&Density>>, - external_potential: Option<&Energy>>, - specification: PoreSpecification, - ) -> FeosResult> { - let dft: &F = &bulk.eos; - - // generate grid - let x = Axis::new_cartesian(self.n_grid[0], self.system_size[0], None); - let y = Axis::new_cartesian(self.n_grid[1], self.system_size[1], None); - let z = Axis::new_cartesian(self.n_grid[2], self.system_size[2], None); - - let coordinates = self.coordinates.to_reduced(); - - // For non-orthorombic unit cells, the external potential has to be - // provided at the moment - if let (Some(_), None) = (self.angles, external_potential) { - return Err(FeosError::UndeterminedState( - "For non-orthorombic unit cells, the external potential has to provided!".into(), - )); - } - - // calculate external potential - let external_potential = external_potential.map_or_else( - || { - external_potential_3d( - dft, - [&x, &y, &z], - self.system_size, - coordinates, - &self.sigma_ss, - &self.epsilon_k_ss, - self.cutoff_radius, - ) - }, - |e| Ok(e.clone()), - )?; - let grid = Grid::Periodical3(x, y, z, self.angles.unwrap_or([90.0 * DEGREES; 3])); - - Ok(PoreProfile::new( - grid, - bulk, - Some(external_potential), - density, - specification, - )) - } -} - -pub fn external_potential_3d( - functional: &F, - axis: [&Axis; 3], - system_size: [Length; 3], - coordinates: Array2, - sigma_ss: &Array1, - epsilon_ss: &Array1, - cutoff_radius: Option, -) -> FeosResult>> { - // allocate external potential - let m = functional.m(); - let mut external_potential = Array4::zeros(( - m.len(), - axis[0].grid.len(), - axis[1].grid.len(), - axis[2].grid.len(), - )); - - let system_size = [ - system_size[0].to_reduced(), - system_size[1].to_reduced(), - system_size[2].to_reduced(), - ]; - - let cutoff_radius = cutoff_radius - .unwrap_or(Length::from_reduced(CUTOFF_RADIUS)) - .to_reduced(); - - if system_size.iter().any(|&s| s < 2.0 * cutoff_radius) { - return Err(FeosError::UndeterminedState( - "The unit cell is smaller than 2*cutoff".into(), - )); - } - - // square cut-off radius - let cutoff_radius2 = cutoff_radius.powi(2); - - // calculate external potential - let sigma_ff = functional.sigma_ff(); - let epsilon_k_ff = functional.epsilon_k_ff(); - - Zip::indexed(&mut external_potential).par_for_each(|(i, ix, iy, iz), u| { - let distance2 = calculate_distance2( - [axis[0].grid[ix], axis[1].grid[iy], axis[2].grid[iz]], - &coordinates, - system_size, - ); - let sigma_sf = sigma_ss.mapv(|s| (s + sigma_ff[i]) / 2.0); - let epsilon_sf = epsilon_ss.mapv(|e| (e * epsilon_k_ff[i]).sqrt()); - *u = (0..sigma_ss.len()) - .map(|alpha| { - m[i] * evaluate_lj_potential( - distance2[alpha], - sigma_sf[alpha], - epsilon_sf[alpha], - cutoff_radius2, - ) - }) - .sum::() - }); - - Ok(Energy::from_reduced(external_potential)) -} - -/// Evaluate LJ12-6 potential between solid site "alpha" and fluid segment -pub(super) fn evaluate_lj_potential( - distance2: f64, - sigma: f64, - epsilon: f64, - cutoff_radius2: f64, -) -> f64 { - let sigma_r = sigma.powi(2) / distance2; - - let potential: f64 = if distance2 > cutoff_radius2 { - 0.0 - } else if distance2 == 0.0 { - f64::INFINITY - } else { - 4.0 * epsilon * (sigma_r.powi(6) - sigma_r.powi(3)) - }; - - potential -} - -/// Evaluate the squared euclidian distance between a point and the coordinates of all solid atoms. -pub(super) fn calculate_distance2( - point: [f64; 3], - coordinates: &Array2, - system_size: [f64; 3], -) -> Array1 { - Array1::from_shape_fn(coordinates.ncols(), |i| { - let mut rx = coordinates[[0, i]] - point[0]; - let mut ry = coordinates[[1, i]] - point[1]; - let mut rz = coordinates[[2, i]] - point[2]; - - rx -= system_size[0] * (rx / system_size[0]).round(); - ry -= system_size[1] * (ry / system_size[1]).round(); - rz -= system_size[2] * (rz / system_size[2]).round(); - - rx.powi(2) + ry.powi(2) + rz.powi(2) - }) -} diff --git a/crates/feos-dft/src/geometry.rs b/crates/feos-dft/src/geometry.rs index ca5ac01c6..e69409e9b 100644 --- a/crates/feos-dft/src/geometry.rs +++ b/crates/feos-dft/src/geometry.rs @@ -1,6 +1,6 @@ use feos_core::ReferenceSystem; -use ndarray::{Array1, Array2}; -use quantity::{Angle, Length, Quantity}; +use ndarray::{Array1, Array2, Array3, ArrayD}; +use quantity::{Angle, DEGREES, Length, Quantity}; use std::f64::consts::{FRAC_PI_3, PI}; /// Grids with up to three dimensions. @@ -69,6 +69,45 @@ impl Grid { _ => 1.0, } } + + pub fn mesh(&self) -> Vec>> { + match self { + Grid::Cartesian1(ax) | Grid::Spherical(ax) | Grid::Polar(ax) => { + vec![Length::from_reduced(ax.grid.clone()).into_dyn()] + } + Grid::Cartesian2(u, v) => mesh_2d(u, v, 90.0 * DEGREES), + Grid::Periodical2(u, v, alpha) => mesh_2d(u, v, *alpha), + Grid::Cylindrical { r, z } => mesh_2d(r, z, 90.0 * DEGREES), + Grid::Cartesian3(u, v, w) => mesh_3d(u, v, w, [90.0 * DEGREES; 3]), + Grid::Periodical3(u, v, w, angles) => mesh_3d(u, v, w, *angles), + } + } +} + +fn mesh_2d(u: &Axis, v: &Axis, alpha: Angle) -> Vec>> { + let u_grid = Array2::from_shape_fn([u.grid.len(), v.grid.len()], |(i, _)| u.grid[i]); + let v_grid = Array2::from_shape_fn([u.grid.len(), v.grid.len()], |(_, j)| v.grid[j]); + let x = Length::from_reduced(u_grid + &v_grid * alpha.cos()); + let y = Length::from_reduced(v_grid * alpha.sin()); + vec![x.into_dyn(), y.into_dyn()] +} + +fn mesh_3d( + u: &Axis, + v: &Axis, + w: &Axis, + [alpha, beta, gamma]: [Angle; 3], +) -> Vec>> { + let shape = [u.grid.len(), v.grid.len(), w.grid.len()]; + let u_grid = Array3::from_shape_fn(shape, |(i, _, _)| u.grid[i]); + let v_grid = Array3::from_shape_fn(shape, |(_, j, _)| v.grid[j]); + let w_grid = Array3::from_shape_fn(shape, |(_, _, k)| w.grid[k]); + let xi = (alpha.cos() - gamma.cos() * beta.cos()) / gamma.sin(); + let zeta = (1.0_f64 - beta.cos().powi(2) - xi * xi).sqrt(); + let x = Length::from_reduced(u_grid + &v_grid * gamma.cos() + &w_grid * beta.cos()); + let y = Length::from_reduced(v_grid * gamma.sin() + &w_grid * xi); + let z = Length::from_reduced(w_grid * zeta); + vec![x.into_dyn(), y.into_dyn(), z.into_dyn()] } /// Geometries of individual axes. diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index c9423fded..6497faa23 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -4,22 +4,15 @@ use crate::geometry::Grid; use crate::solver::{DFTSolver, DFTSolverLog}; use feos_core::{FeosError, FeosResult, ReferenceSystem, State}; use nalgebra::{DVector, Dyn, U1}; -use ndarray::{ - Array, Array1, Array2, Array3, ArrayBase, Axis as Axis_nd, Data, Dimension, Ix1, Ix2, Ix3, - RemoveAxis, -}; +use ndarray::{Array, Array1, ArrayBase, Axis as Axis_nd, Data, Dimension, RemoveAxis}; use num_dual::DualNum; -use quantity::{ - _Volume, DEGREES, Density, Energy, Entropy, Length, Moles, Quantity, Temperature, Volume, -}; +use quantity::{_Volume, Density, Energy, Entropy, Length, Moles, Quantity, Temperature, Volume}; use std::ops::{Add, MulAssign}; use std::sync::Arc; mod properties; const MAX_POTENTIAL: f64 = 50.0; -#[cfg(feature = "rayon")] -pub(crate) const CUTOFF_RADIUS: f64 = 14.0; /// General specifications for the chemical potential in a DFT calculation. /// @@ -68,83 +61,22 @@ pub struct DFTProfile { pub lanczos: Option, } -impl DFTProfile { - pub fn r(&self) -> Length> { - Length::from_reduced(self.grid.grids()[0].to_owned()) - } - - pub fn z(&self) -> Length> { - Length::from_reduced(self.grid.grids()[0].to_owned()) - } -} - -impl DFTProfile { - pub fn edges(&self) -> [Length>; 2] { - [ - Length::from_reduced(self.grid.axes()[0].edges.to_owned()), - Length::from_reduced(self.grid.axes()[1].edges.to_owned()), - ] - } - - pub fn meshgrid(&self) -> [Length>; 2] { - let (u, v, alpha) = match &self.grid { - Grid::Cartesian2(u, v) => (u, v, 90.0 * DEGREES), - Grid::Periodical2(u, v, alpha) => (u, v, *alpha), - _ => unreachable!(), - }; - let u_grid = Array::from_shape_fn([u.grid.len(), v.grid.len()], |(i, _)| u.grid[i]); - let v_grid = Array::from_shape_fn([u.grid.len(), v.grid.len()], |(_, j)| v.grid[j]); - let x = Length::from_reduced(u_grid + &v_grid * alpha.cos()); - let y = Length::from_reduced(v_grid * alpha.sin()); - [x, y] - } - - pub fn r(&self) -> Length> { - Length::from_reduced(self.grid.grids()[0].to_owned()) - } - - pub fn z(&self) -> Length> { - Length::from_reduced(self.grid.grids()[1].to_owned()) - } -} - -impl DFTProfile { - pub fn edges(&self) -> [Length>; 3] { - [ - Length::from_reduced(self.grid.axes()[0].edges.to_owned()), - Length::from_reduced(self.grid.axes()[1].edges.to_owned()), - Length::from_reduced(self.grid.axes()[2].edges.to_owned()), - ] - } - - pub fn meshgrid(&self) -> [Length>; 3] { - let (u, v, w, [alpha, beta, gamma]) = match &self.grid { - Grid::Cartesian3(u, v, w) => (u, v, w, [90.0 * DEGREES; 3]), - Grid::Periodical3(u, v, w, angles) => (u, v, w, *angles), - _ => unreachable!(), - }; - let shape = [u.grid.len(), v.grid.len(), w.grid.len()]; - let u_grid = Array::from_shape_fn(shape, |(i, _, _)| u.grid[i]); - let v_grid = Array::from_shape_fn(shape, |(_, j, _)| v.grid[j]); - let w_grid = Array::from_shape_fn(shape, |(_, _, k)| w.grid[k]); - let xi = (alpha.cos() - gamma.cos() * beta.cos()) / gamma.sin(); - let zeta = (1.0_f64 - beta.cos().powi(2) - xi * xi).sqrt(); - let x = Length::from_reduced(u_grid + &v_grid * gamma.cos() + &w_grid * beta.cos()); - let y = Length::from_reduced(v_grid * gamma.sin() + &w_grid * xi); - let z = Length::from_reduced(w_grid * zeta); - [x, y, z] - } - - pub fn x(&self) -> Length> { - Length::from_reduced(self.grid.grids()[0].to_owned()) - } - - pub fn y(&self) -> Length> { - Length::from_reduced(self.grid.grids()[1].to_owned()) +impl DFTProfile { + pub fn axes(&self) -> Vec>> { + self.grid + .grids() + .into_iter() + .cloned() + .map(Length::from_reduced) + .collect() } - pub fn z(&self) -> Length> { - Length::from_reduced(self.grid.grids()[2].to_owned()) + pub fn edges(&self) -> Vec>> { + self.grid + .axes() + .into_iter() + .map(|a| Length::from_reduced(a.edges.clone())) + .collect() } } @@ -163,7 +95,7 @@ where pub fn new( grid: Grid, bulk: &State, - external_potential: Option>>, + external_potential: Option<&Energy>>, density: Option<&Density>>, lanczos: Option, ) -> Self { @@ -182,7 +114,7 @@ where Array::zeros(n_grid).into_dimensionality().unwrap() }, |e| { - let mut external_potential = e.into_reduced() / t; + let mut external_potential = e.to_reduced() / t; external_potential.map_inplace(|x| { if *x > MAX_POTENTIAL { *x = MAX_POTENTIAL @@ -193,21 +125,22 @@ where ); // initialize density - let density = if let Some(density) = density { - density.to_owned() - } else { - let exp_dfdrho = (-&external_potential).mapv(f64::exp); - let mut bonds = bulk.eos.bond_integrals(t, &exp_dfdrho, convolver.as_ref()); - bonds *= &exp_dfdrho; - let mut density = Array::zeros(external_potential.raw_dim()); - let bulk_density = bulk.partial_density().into_reduced(); - for (s, &c) in bulk.eos.component_index().iter().enumerate() { - density.index_axis_mut(Axis_nd(0), s).assign( - &(bonds.index_axis(Axis_nd(0), s).map(|is| is.min(1.0)) * bulk_density[c]), - ); - } - Density::from_reduced(density) - }; + let density = density.map_or_else( + || { + let exp_dfdrho = (-&external_potential).mapv(f64::exp); + let mut bonds = bulk.eos.bond_integrals(t, &exp_dfdrho, convolver.as_ref()); + bonds *= &exp_dfdrho; + let mut density = Array::zeros(external_potential.raw_dim()); + let bulk_density = bulk.partial_density().into_reduced(); + for (s, &c) in bulk.eos.component_index().iter().enumerate() { + density.index_axis_mut(Axis_nd(0), s).assign( + &(bonds.index_axis(Axis_nd(0), s).map(|is| is.min(1.0)) * bulk_density[c]), + ); + } + Density::from_reduced(density) + }, + Clone::clone, + ); Self { grid, diff --git a/crates/feos-dft/src/solvation/pair_correlation.rs b/crates/feos-dft/src/solvation/pair_correlation.rs index 85b435d2e..ba71e35e7 100644 --- a/crates/feos-dft/src/solvation/pair_correlation.rs +++ b/crates/feos-dft/src/solvation/pair_correlation.rs @@ -37,11 +37,11 @@ impl PairCorrelation { // calculate external potential let t = bulk.temperature.to_reduced(); - let external_potential = dft.pair_potential(test_particle, &axis.grid, t) / t; + let external_potential = dft.pair_potential(test_particle, &axis.grid, t); let grid = Grid::Spherical(axis); Self { - profile: DFTProfile::new(grid, bulk, Some(external_potential), None, Some(1)), + profile: DFTProfile::new(grid, bulk, Some(&external_potential), None, Some(1)), pair_correlation_function: None, self_solvation_free_energy: None, structure_factor: None, diff --git a/crates/feos-dft/src/solvation/solvation_profile.rs b/crates/feos-dft/src/solvation/solvation_profile.rs index e31ca6494..5bbd6ec48 100644 --- a/crates/feos-dft/src/solvation/solvation_profile.rs +++ b/crates/feos-dft/src/solvation/solvation_profile.rs @@ -1,13 +1,15 @@ use crate::adsorption::FluidParameters; use crate::functional::HelmholtzEnergyFunctional; use crate::geometry::{Axis, Grid}; -use crate::profile::{CUTOFF_RADIUS, DFTProfile}; +use crate::profile::DFTProfile; use crate::solver::DFTSolver; use feos_core::{Contributions, FeosResult, ReferenceSystem, State}; use ndarray::Zip; use ndarray::prelude::*; use quantity::{Energy, Length, MolarEnergy, Moles}; +const CUTOFF_RADIUS: f64 = 14.0; + /// Density profile and properties of a solute in a inhomogeneous bulk fluid. pub struct SolvationProfile { pub profile: DFTProfile, @@ -88,7 +90,7 @@ impl SolvationProfile { let grid = Grid::Cartesian3(x, y, z); Ok(Self { - profile: DFTProfile::new(grid, bulk, Some(external_potential), None, Some(1)), + profile: DFTProfile::new(grid, bulk, Some(&external_potential), None, Some(1)), grand_potential: None, solvation_free_energy: None, }) diff --git a/crates/feos/benches/dft_pore.rs b/crates/feos/benches/dft_pore.rs index dfa2b9f58..15dc918ff 100644 --- a/crates/feos/benches/dft_pore.rs +++ b/crates/feos/benches/dft_pore.rs @@ -3,9 +3,7 @@ use criterion::{Criterion, criterion_group, criterion_main}; use feos::core::parameter::IdentifierOption; use feos::core::{PhaseEquilibrium, State}; -use feos::dft::adsorption::{ - ExternalPotential, Pore, Pore1D, PoreSpecification::ChemicalPotential, -}; +use feos::dft::adsorption::{ExternalPotential, Pore1D, PoreSpecification::ChemicalPotential}; use feos::dft::{DFTSolver, Geometry}; use feos::gc_pcsaft::{GcPcSaftFunctional, GcPcSaftParameters}; use feos::hard_sphere::{FMTFunctional, FMTVersion}; @@ -18,16 +16,16 @@ fn fmt(c: &mut Criterion) { let func = &FMTFunctional::new(dvector![1.0], FMTVersion::WhiteBear); let pore = Pore1D::new( + &func, Geometry::Cartesian, 10.0 * ANGSTROM, ExternalPotential::HardWall { sigma_ss: 1.0 }, None, - None, ); let bulk = State::new_pure(&func, KELVIN, 0.75 / NAV / ANGSTROM.powi::<3>()).unwrap(); group.bench_function("liquid", |b| { b.iter(|| { - pore.initialize(&bulk, None, None, ChemicalPotential) + pore.initialize(&bulk, None, ChemicalPotential) .unwrap() .solve(None) }) @@ -45,6 +43,7 @@ fn pcsaft(c: &mut Criterion) { .unwrap(); let func = &PcSaftFunctional::new(parameters); let pore = Pore1D::new( + &func, Geometry::Cartesian, 20.0 * ANGSTROM, ExternalPotential::LJ93 { @@ -53,13 +52,12 @@ fn pcsaft(c: &mut Criterion) { rho_s: 0.08, }, None, - None, ); let vle = PhaseEquilibrium::pure(&func, 300.0 * KELVIN, None, Default::default()).unwrap(); let bulk = vle.liquid(); group.bench_function("butane_liquid", |b| { b.iter(|| { - pore.initialize(bulk, None, None, ChemicalPotential) + pore.initialize(bulk, None, ChemicalPotential) .unwrap() .solve(None) }) @@ -67,7 +65,7 @@ fn pcsaft(c: &mut Criterion) { let bulk = State::new_pure(&func, 300.0 * KELVIN, vle.vapor().density * 0.2).unwrap(); group.bench_function("butane_vapor", |b| { b.iter(|| { - pore.initialize(&bulk, None, None, ChemicalPotential) + pore.initialize(&bulk, None, ChemicalPotential) .unwrap() .solve(None) }) @@ -87,7 +85,7 @@ fn pcsaft(c: &mut Criterion) { let bulk = vle.liquid(); group.bench_function("butane_pentane_liquid", |b| { b.iter(|| { - pore.initialize(bulk, None, None, ChemicalPotential) + pore.initialize(bulk, None, ChemicalPotential) .unwrap() .solve(None) }) @@ -96,7 +94,7 @@ fn pcsaft(c: &mut Criterion) { State::new_density(&func, 300.0 * KELVIN, vle.vapor().partial_density() * 0.2).unwrap(); group.bench_function("butane_pentane_vapor", |b| { b.iter(|| { - pore.initialize(&bulk, None, None, ChemicalPotential) + pore.initialize(&bulk, None, ChemicalPotential) .unwrap() .solve(None) }) @@ -115,8 +113,9 @@ fn gc_pcsaft(c: &mut Criterion) { IdentifierOption::Name, ) .unwrap(); - let func = GcPcSaftFunctional::new(parameters); + let func = &GcPcSaftFunctional::new(parameters); let pore = Pore1D::new( + &func, Geometry::Cartesian, 20.0 * ANGSTROM, ExternalPotential::LJ93 { @@ -125,16 +124,15 @@ fn gc_pcsaft(c: &mut Criterion) { rho_s: 0.08, }, None, - None, ); - let vle = PhaseEquilibrium::pure(&&func, 300.0 * KELVIN, None, Default::default()).unwrap(); + let vle = PhaseEquilibrium::pure(&func, 300.0 * KELVIN, None, Default::default()).unwrap(); let bulk = vle.liquid(); let solver = DFTSolver::new(None) .picard_iteration(None, None, Some(1e-5), None) .anderson_mixing(None, None, None, None, None); group.bench_function("butane_liquid", |b| { b.iter(|| { - pore.initialize(bulk, None, None, ChemicalPotential) + pore.initialize(bulk, None, ChemicalPotential) .unwrap() .solve(Some(&solver)) }) diff --git a/crates/feos/tests/gc_pcsaft/dft.rs b/crates/feos/tests/gc_pcsaft/dft.rs index 9238500d0..6046ab4c3 100644 --- a/crates/feos/tests/gc_pcsaft/dft.rs +++ b/crates/feos/tests/gc_pcsaft/dft.rs @@ -4,7 +4,7 @@ use approx::assert_relative_eq; use feos::gc_pcsaft::{GcPcSaft, GcPcSaftFunctional, GcPcSaftParameters}; use feos_core::parameter::{ChemicalRecord, Identifier, IdentifierOption, SegmentRecord}; use feos_core::{PhaseEquilibrium, State, Verbosity}; -use feos_dft::adsorption::{ExternalPotential, Pore, Pore1D, PoreSpecification}; +use feos_dft::adsorption::{ExternalPotential, Pore1D, PoreSpecification}; use feos_dft::interface::PlanarInterface; use feos_dft::{DFTSolver, Geometry}; use nalgebra::dvector; @@ -218,6 +218,7 @@ fn test_dft_assoc() -> Result<(), Box> { .anderson_mixing(None, None, None, None, None); let bulk = State::new_npt(&func, t, 5.0 * BAR, (), None)?; Pore1D::new( + &func, Geometry::Cartesian, 20.0 * ANGSTROM, ExternalPotential::LJ93 { @@ -226,9 +227,8 @@ fn test_dft_assoc() -> Result<(), Box> { rho_s: 0.08, }, None, - None, ) - .initialize(&bulk, None, None, PoreSpecification::ChemicalPotential) + .initialize(&bulk, None, PoreSpecification::ChemicalPotential) .unwrap() .solve(Some(&solver))?; Ok(()) diff --git a/py-feos/src/dft/adsorption/external_potential.rs b/py-feos/src/dft/adsorption/external_potential.rs index 03adbb762..909db3291 100644 --- a/py-feos/src/dft/adsorption/external_potential.rs +++ b/py-feos/src/dft/adsorption/external_potential.rs @@ -1,12 +1,7 @@ use feos_dft::adsorption::ExternalPotential; -// Only the rayon-gated `FreeEnergyAveraged` constructor uses these. -#[cfg(feature = "rayon")] -use ndarray::Array2; use numpy::PyArray1; use numpy::prelude::*; use pyo3::prelude::*; -#[cfg(feature = "rayon")] -use quantity::Length; /// A collection of external potentials. #[pyclass(name = "ExternalPotential", from_py_object)] @@ -205,56 +200,4 @@ impl PyExternalPotential { rho_s, }) } - - /// Free-energy averaged potential - /// - /// for details see: `J. Eller, J. Gross (2021) `_ - /// - /// Parameters - /// ---------- - /// coordinates: SIArray2 - /// The positions of all interaction sites in the solid. - /// sigma_ss : numpy.ndarray[float] - /// The size parameters of all interaction sites. - /// epsilon_k_ss : numpy.ndarray[float] - /// The energy parameter of all interaction sites. - /// pore_center : [SINumber; 3] - /// The cartesian coordinates of the center of the pore - /// system_size : [SINumber; 3] - /// The size of the unit cell. - /// n_grid : [int; 2] - /// The number of grid points in each direction. - /// cutoff_radius : float, optional - /// The cutoff used in the calculation of fluid/wall interactions. - /// Returns - /// ------- - /// ExternalPotential - /// - // The free-energy-averaged potential is rayon-gated in feos-dft (3D FFT), - // so it is absent from the threadless wasm/emscripten build. - #[cfg(feature = "rayon")] - #[staticmethod] - #[pyo3( - text_signature = "(coordinates, sigma_ss, epsilon_k_ss, pore_center, system_size, n_grid, cutoff_radius=None)", - signature = (coordinates, sigma_ss, epsilon_k_ss, pore_center, system_size, n_grid, cutoff_radius=None) - )] - pub fn FreeEnergyAveraged( - coordinates: Length>, - sigma_ss: &Bound<'_, PyArray1>, - epsilon_k_ss: &Bound<'_, PyArray1>, - pore_center: [f64; 3], - system_size: [Length; 3], - n_grid: [usize; 2], - cutoff_radius: Option, - ) -> Self { - Self(ExternalPotential::FreeEnergyAveraged { - coordinates, - sigma_ss: sigma_ss.to_owned_array(), - epsilon_k_ss: epsilon_k_ss.to_owned_array(), - pore_center, - system_size, - n_grid, - cutoff_radius, - }) - } } diff --git a/py-feos/src/dft/adsorption/mod.rs b/py-feos/src/dft/adsorption/mod.rs index a932ccc44..911fdc7b5 100644 --- a/py-feos/src/dft/adsorption/mod.rs +++ b/py-feos/src/dft/adsorption/mod.rs @@ -5,9 +5,7 @@ use crate::error::PyFeosError; use crate::ideal_gas::IdealGasModel; use crate::residual::ResidualModel; use feos_core::EquationOfState; -#[cfg(feature = "rayon")] -use feos_dft::adsorption::Adsorption3D; -use feos_dft::adsorption::{Adsorption, Adsorption1D}; +use feos_dft::adsorption::Adsorption; use nalgebra::DMatrix; use ndarray::*; use numpy::*; @@ -19,261 +17,278 @@ mod external_potential; mod pore; pub use external_potential::PyExternalPotential; -pub use pore::{PyPore1D, PyPore2D, PyPoreProfile1D, PyPoreSpecification}; -#[cfg(feature = "rayon")] -pub use pore::{PyPore3D, PyPoreProfile3D}; +pub use pore::{PyGrid, PyPore1D, PyPoreProfile, PyPoreSpecification}; -/// Container structure for adsorption isotherms in 1D pores. -#[pyclass(name = "Adsorption1D")] -pub struct PyAdsorption1D(Adsorption1D, ResidualModel>>>); +/// Container structure for adsorption isotherms. +#[pyclass(name = "Adsorption")] +pub struct PyAdsorption(Adsorption, ResidualModel>>>); -/// Container structure for adsorption isotherms in 3D pores. -#[cfg(feature = "rayon")] -#[pyclass(name = "Adsorption3D")] -pub struct PyAdsorption3D(Adsorption3D, ResidualModel>>>); +#[pymethods] +impl PyAdsorption { + /// Calculate an adsorption isotherm for the given pressure range. + /// The profiles are evaluated starting from the lowest pressure. + /// The resulting density profiles can be metastable. + /// + /// Parameters + /// ---------- + /// functional : HelmholtzEnergyFunctional + /// The Helmholtz energy functional. + /// temperature : SINumber + /// The temperature. + /// pressure : SIArray1 + /// The pressures for which the profiles are calculated. + /// grid : Grid + /// The grid on which the density is calculated. + /// external_potential : SIArray + /// The external potential used to model wall-fluid interactions. + /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional + /// The composition of the mixture. + /// solver: DFTSolver, optional + /// Custom solver options. + /// + /// Returns + /// ------- + /// Adsorption + /// + #[staticmethod] + #[pyo3( + text_signature = "(functional, temperature, pressure, grid, external_potential, composition=None, solver=None)" + )] + #[pyo3(signature = (functional, temperature, pressure, grid, external_potential, composition=None, solver=None))] + fn adsorption_isotherm( + functional: &PyEquationOfState, + temperature: Temperature, + pressure: Pressure>, + grid: PyGrid, + external_potential: Energy>, + composition: Option<&Bound<'_, PyAny>>, + solver: Option, + ) -> PyResult { + Ok(Self( + Adsorption::adsorption_isotherm( + &functional.0, + temperature, + &pressure, + &grid.0, + &external_potential, + Compositions::try_from(composition)?, + solver.map(|s| s.0).as_ref(), + ) + .map_err(PyFeosError::from)?, + )) + } -macro_rules! impl_adsorption_isotherm { - ($py_adsorption:ty, $py_pore:ty, $py_pore_profile:ident) => { - #[pymethods] - impl $py_adsorption { - /// Calculate an adsorption isotherm for the given pressure range. - /// The profiles are evaluated starting from the lowest pressure. - /// The resulting density profiles can be metastable. - /// - /// Parameters - /// ---------- - /// functional : HelmholtzEnergyFunctional - /// The Helmholtz energy functional. - /// temperature : SINumber - /// The temperature. - /// pressure : SIArray1 - /// The pressures for which the profiles are calculated. - /// pore : Pore - /// The pore parameters. - /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional - /// The composition of the mixture. - /// solver: DFTSolver, optional - /// Custom solver options. - /// - /// Returns - /// ------- - /// Adsorption - /// - #[staticmethod] - #[pyo3(text_signature = "(functional, temperature, pressure, pore, composition=None, solver=None)")] - #[pyo3(signature = (functional, temperature, pressure, pore, composition=None, solver=None))] - fn adsorption_isotherm( - functional: &PyEquationOfState, - temperature: Temperature, - pressure: Pressure>, - pore: &$py_pore, - composition: Option<&Bound<'_, PyAny>>, - solver: Option, - ) -> PyResult { - Ok(Self(Adsorption::adsorption_isotherm( - &functional.0, - temperature, - &pressure, - &pore.0, - Compositions::try_from(composition)?, - solver.map(|s| s.0).as_ref(), - ).map_err(PyFeosError::from)?)) - } + /// Calculate a desorption isotherm for the given pressure range. + /// The profiles are evaluated starting from the highest pressure. + /// The resulting density profiles can be metastable. + /// + /// Parameters + /// ---------- + /// functional : HelmholtzEnergyFunctional + /// The Helmholtz energy functional. + /// temperature : SINumber + /// The temperature. + /// pressure : SIArray1 + /// The pressures for which the profiles are calculated. + /// grid : Grid + /// The grid on which the density is calculated. + /// external_potential : SIArray + /// The external potential used to model wall-fluid interactions. + /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional + /// The composition of the mixture. + /// solver: DFTSolver, optional + /// Custom solver options. + /// + /// Returns + /// ------- + /// Adsorption + /// + #[staticmethod] + #[pyo3( + text_signature = "(functional, temperature, pressure, grid, external_potential, composition=None, solver=None)" + )] + #[pyo3(signature = (functional, temperature, pressure, grid, external_potential, composition=None, solver=None))] + fn desorption_isotherm( + functional: &PyEquationOfState, + temperature: Temperature, + pressure: Pressure>, + grid: PyGrid, + external_potential: Energy>, + composition: Option<&Bound<'_, PyAny>>, + solver: Option, + ) -> PyResult { + Ok(Self( + Adsorption::desorption_isotherm( + &functional.0, + temperature, + &pressure, + &grid.0, + &external_potential, + Compositions::try_from(composition)?, + solver.map(|s| s.0).as_ref(), + ) + .map_err(PyFeosError::from)?, + )) + } - /// Calculate a desorption isotherm for the given pressure range. - /// The profiles are evaluated starting from the highest pressure. - /// The resulting density profiles can be metastable. - /// - /// Parameters - /// ---------- - /// functional : HelmholtzEnergyFunctional - /// The Helmholtz energy functional. - /// temperature : SINumber - /// The temperature. - /// pressure : SIArray1 - /// The pressures for which the profiles are calculated. - /// pore : Pore - /// The pore parameters. - /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional - /// The composition of the mixture. - /// solver: DFTSolver, optional - /// Custom solver options. - /// - /// Returns - /// ------- - /// Adsorption - /// - #[staticmethod] - #[pyo3(text_signature = "(functional, temperature, pressure, pore, composition=None, solver=None)")] - #[pyo3(signature = (functional, temperature, pressure, pore, composition=None, solver=None))] - fn desorption_isotherm( - functional: &PyEquationOfState, - temperature: Temperature, - pressure: Pressure>, - pore: &$py_pore, - composition: Option<&Bound<'_, PyAny>>, - solver: Option, - ) -> PyResult { - Ok(Self(Adsorption::desorption_isotherm( - &functional.0, - temperature, - &pressure, - &pore.0, - Compositions::try_from(composition)?, - solver.map(|s| s.0).as_ref(), - ).map_err(PyFeosError::from)?)) - } + /// Calculate an equilibrium isotherm for the given pressure range. + /// A phase equilibrium in the pore is calculated to determine the + /// stable phases for every pressure. If no phase equilibrium can be + /// calculated, the isotherm is calculated twice, one in the adsorption + /// direction and once in the desorption direction to determine the + /// stability of the profiles. + /// + /// Parameters + /// ---------- + /// functional : HelmholtzEnergyFunctional + /// The Helmholtz energy functional. + /// temperature : SINumber + /// The temperature. + /// pressure : SIArray1 + /// The pressures for which the profiles are calculated. + /// grid : Grid + /// The grid on which the density is calculated. + /// external_potential : SIArray + /// The external potential used to model wall-fluid interactions. + /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional + /// The composition of the mixture. + /// solver: DFTSolver, optional + /// Custom solver options. + /// + /// Returns + /// ------- + /// Adsorption + /// + #[staticmethod] + #[pyo3( + text_signature = "(functional, temperature, pressure, grid, external_potential, composition=None, solver=None)" + )] + #[pyo3(signature = (functional, temperature, pressure, grid, external_potential, composition=None, solver=None))] + fn equilibrium_isotherm( + functional: &PyEquationOfState, + temperature: Temperature, + pressure: Pressure>, + grid: PyGrid, + external_potential: Energy>, + composition: Option<&Bound<'_, PyAny>>, + solver: Option, + ) -> PyResult { + Ok(Self( + Adsorption::equilibrium_isotherm( + &functional.0, + temperature, + &pressure, + &grid.0, + &external_potential, + Compositions::try_from(composition)?, + solver.map(|s| s.0).as_ref(), + ) + .map_err(PyFeosError::from)?, + )) + } - /// Calculate an equilibrium isotherm for the given pressure range. - /// A phase equilibrium in the pore is calculated to determine the - /// stable phases for every pressure. If no phase equilibrium can be - /// calculated, the isotherm is calculated twice, one in the adsorption - /// direction and once in the desorption direction to determine the - /// stability of the profiles. - /// - /// Parameters - /// ---------- - /// functional : HelmholtzEnergyFunctional - /// The Helmholtz energy functional. - /// temperature : SINumber - /// The temperature. - /// pressure : SIArray1 - /// The pressures for which the profiles are calculated. - /// pore : Pore - /// The pore parameters. - /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional - /// The composition of the mixture. - /// solver: DFTSolver, optional - /// Custom solver options. - /// - /// Returns - /// ------- - /// Adsorption - /// - #[staticmethod] - #[pyo3(text_signature = "(functional, temperature, pressure, pore, composition=None, solver=None)")] - #[pyo3(signature = (functional, temperature, pressure, pore, composition=None, solver=None))] - fn equilibrium_isotherm( - functional: &PyEquationOfState, - temperature: Temperature, - pressure: Pressure>, - pore: &$py_pore, - composition: Option<&Bound<'_, PyAny>>, - solver: Option, - ) -> PyResult { - Ok(Self(Adsorption::equilibrium_isotherm( - &functional.0, - temperature, - &pressure, - &pore.0, - Compositions::try_from(composition)?, - solver.map(|s| s.0).as_ref(), - ).map_err(PyFeosError::from)?)) - } + /// Calculate a phase equilibrium in a pore. + /// + /// Parameters + /// ---------- + /// functional : HelmholtzEnergyFunctional + /// The Helmholtz energy functional. + /// temperature : SINumber + /// The temperature. + /// p_min : SINumber + /// A suitable lower limit for the pressure. + /// p_max : SINumber + /// A suitable upper limit for the pressure. + /// grid : Grid + /// The grid on which the density is calculated. + /// external_potential : SIArray + /// The external potential used to model wall-fluid interactions. + /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional + /// The composition of the mixture. + /// solver: DFTSolver, optional + /// Custom solver options. + /// max_iter : int, optional + /// The maximum number of iterations of the phase equilibrium calculation. + /// tol: float, optional + /// The tolerance of the phase equilibrium calculation. + /// verbosity: Verbosity, optional + /// The verbosity of the phase equilibrium calculation. + /// + /// Returns + /// ------- + /// Adsorption + /// + #[staticmethod] + #[pyo3( + text_signature = "(functional, temperature, p_min, p_max, grid, external_potential, composition=None, solver=None, max_iter=None, tol=None, verbosity=None)" + )] + #[pyo3(signature = (functional, temperature, p_min, p_max, grid, external_potential, composition=None, solver=None, max_iter=None, tol=None, verbosity=None))] + #[expect(clippy::too_many_arguments)] + fn phase_equilibrium( + functional: &PyEquationOfState, + temperature: Temperature, + p_min: Pressure, + p_max: Pressure, + grid: PyGrid, + external_potential: Energy>, + composition: Option<&Bound<'_, PyAny>>, + solver: Option, + max_iter: Option, + tol: Option, + verbosity: Option, + ) -> PyResult { + Ok(Self( + Adsorption::phase_equilibrium( + &functional.0, + temperature, + p_min, + p_max, + &grid.0, + &external_potential, + Compositions::try_from(composition)?, + solver.map(|s| s.0).as_ref(), + (max_iter, tol, verbosity.map(|v| v.into())).into(), + ) + .map_err(PyFeosError::from)?, + )) + } - /// Calculate a phase equilibrium in a pore. - /// - /// Parameters - /// ---------- - /// functional : HelmholtzEnergyFunctional - /// The Helmholtz energy functional. - /// temperature : SINumber - /// The temperature. - /// p_min : SINumber - /// A suitable lower limit for the pressure. - /// p_max : SINumber - /// A suitable upper limit for the pressure. - /// pore : Pore - /// The pore parameters. - /// composition : float | SINumber | numpy.ndarray[float] | SIArray1 | list[float], optional - /// The composition of the mixture. - /// solver: DFTSolver, optional - /// Custom solver options. - /// max_iter : int, optional - /// The maximum number of iterations of the phase equilibrium calculation. - /// tol: float, optional - /// The tolerance of the phase equilibrium calculation. - /// verbosity: Verbosity, optional - /// The verbosity of the phase equilibrium calculation. - /// - /// Returns - /// ------- - /// Adsorption - /// - #[staticmethod] - #[pyo3(text_signature = "(functional, temperature, p_min, p_max, pore, composition=None, solver=None, max_iter=None, tol=None, verbosity=None)")] - #[pyo3(signature = (functional, temperature, p_min, p_max, pore, composition=None, solver=None, max_iter=None, tol=None, verbosity=None))] - #[expect(clippy::too_many_arguments)] - fn phase_equilibrium( - functional: &PyEquationOfState, - temperature: Temperature, - p_min: Pressure, - p_max: Pressure, - pore: &$py_pore, - composition: Option<&Bound<'_, PyAny>>, - solver: Option, - max_iter: Option, - tol: Option, - verbosity: Option, - ) -> PyResult { - Ok(Self(Adsorption::phase_equilibrium( - &functional.0, - temperature, - p_min, - p_max, - &pore.0, - Compositions::try_from(composition)?, - solver.map(|s| s.0).as_ref(), - (max_iter, tol, verbosity.map(|v| v.into())).into(), - ).map_err(PyFeosError::from)?)) - } + #[getter] + fn get_profiles(&self) -> Vec { + self.0 + .profiles + .iter() + .filter_map(|p| p.as_ref().ok().map(|p| PyPoreProfile(p.clone()))) + .collect() + } - #[getter] - fn get_profiles(&self) -> Vec<$py_pore_profile> { - self.0 - .profiles - .iter() - .filter_map(|p| { - p.as_ref() - .ok() - .map(|p| $py_pore_profile(p.clone())) - }) - .collect() - } + #[getter] + fn get_pressure(&self) -> Pressure> { + self.0.pressure() + } - #[getter] - fn get_pressure(&self) -> Pressure> { - self.0.pressure() - } + #[getter] + fn get_adsorption(&self) -> Moles> { + self.0.adsorption() + } - #[getter] - fn get_adsorption(&self) -> Moles> { - self.0.adsorption() - } + #[getter] + fn get_total_adsorption(&self) -> Moles> { + self.0.total_adsorption() + } - #[getter] - fn get_total_adsorption(&self) -> Moles> { - self.0.total_adsorption() - } + #[getter] + fn get_grand_potential(&mut self) -> Energy> { + self.0.grand_potential() + } - #[getter] - fn get_grand_potential(&mut self) -> Energy> { - self.0.grand_potential() - } + #[getter] + fn get_partial_molar_enthalpy_of_adsorption(&self) -> MolarEnergy> { + self.0.partial_molar_enthalpy_of_adsorption() + } - #[getter] - fn get_partial_molar_enthalpy_of_adsorption(&self) -> MolarEnergy> { - self.0.partial_molar_enthalpy_of_adsorption() - } - - #[getter] - fn get_enthalpy_of_adsorption(&self) -> MolarEnergy> { - self.0.enthalpy_of_adsorption() - } - } - }; + #[getter] + fn get_enthalpy_of_adsorption(&self) -> MolarEnergy> { + self.0.enthalpy_of_adsorption() + } } - -impl_adsorption_isotherm!(PyAdsorption1D, PyPore1D, PyPoreProfile1D); -#[cfg(feature = "rayon")] -impl_adsorption_isotherm!(PyAdsorption3D, PyPore3D, PyPoreProfile3D); diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs index 6e39d57ab..ab66684e2 100644 --- a/py-feos/src/dft/adsorption/pore.rs +++ b/py-feos/src/dft/adsorption/pore.rs @@ -1,12 +1,13 @@ use super::PyExternalPotential; use crate::dft::profile::*; use crate::dft::{PyDFTSolver, PyDFTSolverLog, PyGeometry}; +use crate::eos::PyEquationOfState; use crate::error::PyFeosError; use crate::ideal_gas::IdealGasModel; use crate::residual::ResidualModel; use crate::state::{PyContributions, PyState}; use feos_core::{EquationOfState, ReferenceSystem}; -use feos_dft::adsorption::*; +use feos_dft::{Axis as AxisDFT, Grid, adsorption::*}; use nalgebra::{DMatrix, DVector}; use ndarray::*; use numpy::*; @@ -14,48 +15,184 @@ use pyo3::prelude::*; use quantity::*; use std::sync::Arc; -macro_rules! impl_pore_profile { - ($py_profile:ty) => { - #[pymethods] - impl $py_profile { - #[getter] - fn get_grand_potential(&self) -> Option { - self.0.grand_potential - } +#[pyclass(name = "Grid", from_py_object)] +#[derive(Clone)] +pub struct PyGrid(pub Grid); + +#[pymethods] +impl PyGrid { + /// Generate a 1D Cartesian grid with mirror boundary conditions on both sides. + #[staticmethod] + pub fn cartesian_1d(n_points: usize, length: Length) -> Self { + let x = AxisDFT::new_cartesian(n_points, length, None); + Self(Grid::Cartesian1(x)) + } + + /// Generate a polar grid with radial axis. + #[staticmethod] + pub fn polar(n_points: usize, length: Length) -> Self { + let x = AxisDFT::new_polar(n_points, length); + Self(Grid::Polar(x)) + } + + /// Generate a spherical grid with radial axis. + #[staticmethod] + pub fn spherical(n_points: usize, length: Length) -> Self { + let x = AxisDFT::new_spherical(n_points, length); + Self(Grid::Spherical(x)) + } + + /// Generate a 2D Cartesian grid with mirror boundary conditions on all sides. + #[staticmethod] + pub fn cartesian_2d(n_points: [usize; 2], length: [Length; 2]) -> Self { + let [n_x, n_y] = n_points; + let [l_x, l_y] = length; + let x = AxisDFT::new_cartesian(n_x, l_x, None); + let y = AxisDFT::new_cartesian(n_y, l_y, None); + Self(Grid::Cartesian2(x, y)) + } + + /// Generate a 2D Cartesian (possibly oblique) grid with periodic boundary conditions on all sides. + #[staticmethod] + pub fn periodical_2d(n_points: [usize; 2], length: [Length; 2], alpha: Angle) -> Self { + let [n_x, n_y] = n_points; + let [l_x, l_y] = length; + let x = AxisDFT::new_cartesian(n_x, l_x, None); + let y = AxisDFT::new_cartesian(n_y, l_y, None); + Self(Grid::Periodical2(x, y, alpha)) + } + + /// Generate a cylindrical grid with axes (in this order) r and z. + #[staticmethod] + pub fn cylindrical(n_points: [usize; 2], length: [Length; 2]) -> Self { + let [n_r, n_z] = n_points; + let [l_r, l_z] = length; + let r = AxisDFT::new_polar(n_r, l_r); + let z = AxisDFT::new_cartesian(n_z, l_z, None); + Self(Grid::Cylindrical { r, z }) + } + + /// Generate a 3D Cartesian grid with mirror boundary conditions on all sides. + #[staticmethod] + pub fn cartesian_3d(n_points: [usize; 3], length: [Length; 3]) -> Self { + let [n_x, n_y, n_z] = n_points; + let [l_x, l_y, l_z] = length; + let x = AxisDFT::new_cartesian(n_x, l_x, None); + let y = AxisDFT::new_cartesian(n_y, l_y, None); + let z = AxisDFT::new_cartesian(n_z, l_z, None); + Self(Grid::Cartesian3(x, y, z)) + } + + /// Generate a 3D Cartesian (possibly oblique) grid with periodic boundary conditions on all sides. + #[staticmethod] + pub fn periodical_3d(n_points: [usize; 3], length: [Length; 3], angles: [Angle; 3]) -> Self { + let [n_x, n_y, n_z] = n_points; + let [l_x, l_y, l_z] = length; + let x = AxisDFT::new_cartesian(n_x, l_x, None); + let y = AxisDFT::new_cartesian(n_y, l_y, None); + let z = AxisDFT::new_cartesian(n_z, l_z, None); + Self(Grid::Periodical3(x, y, z, angles)) + } + + #[getter] + pub fn get_axes(&self) -> Vec>> { + self.0 + .grids() + .into_iter() + .map(|ax| Length::from_reduced(ax.clone())) + .collect() + } + + #[getter] + pub fn get_grid(&self) -> Vec>> { + self.0.mesh() + } +} + +/// The base class for studying adsorption phenomena. +/// +/// Parameters +/// ---------- +/// grid : Grid +/// The grid on which the density is calculated. +/// bulk : State +/// The (initial) bulk state in equilibrium with the pore. +/// external_potential : SIArray +/// The external potential used to model wall-fluid interactions. +/// density : SIArray, optional +/// The initial density distribution. +/// specification : PoreSpecification +/// The external constraint that specifies the state +/// in the pore. +/// +/// Returns +/// ------- +/// PoreProfile +/// +#[pyclass(name = "PoreProfile")] +pub struct PyPoreProfile( + pub PoreProfile, ResidualModel>>>, +); + +#[pymethods] +impl PyPoreProfile { + #[new] + #[pyo3( + text_signature = "(grid, bulk, external_potential, density=None, specification=PyPoreSpecification.ChemicalPotential)" + )] + #[pyo3(signature = (grid, bulk, external_potential, density=None, specification=PyPoreSpecification::ChemicalPotential()))] + fn new( + grid: PyGrid, + bulk: &PyState, + external_potential: Energy>, + density: Option>>, + specification: PyPoreSpecification, + ) -> Self { + Self(PoreProfile::new( + grid.0, + &bulk.0, + &external_potential, + density.as_ref(), + specification.0, + )) + } + + #[getter] + fn get_grand_potential(&self) -> Option { + self.0.grand_potential + } - #[getter] - fn get_interfacial_tension(&self) -> Option { - self.0.interfacial_tension - } + #[getter] + fn get_interfacial_tension(&self) -> Option { + self.0.interfacial_tension + } - #[getter] - fn get_partial_molar_enthalpy_of_adsorption( - &self, - ) -> PyResult>> { - Ok(self - .0 - .partial_molar_enthalpy_of_adsorption() - .map_err(PyFeosError::from)?) - } + #[getter] + fn get_partial_molar_enthalpy_of_adsorption(&self) -> PyResult>> { + Ok(self + .0 + .partial_molar_enthalpy_of_adsorption() + .map_err(PyFeosError::from)?) + } - #[getter] - fn get_enthalpy_of_adsorption(&self) -> PyResult { - Ok(self.0.enthalpy_of_adsorption().map_err(PyFeosError::from)?) - } + #[getter] + fn get_enthalpy_of_adsorption(&self) -> PyResult { + Ok(self.0.enthalpy_of_adsorption().map_err(PyFeosError::from)?) + } - #[getter] - fn get_henry_coefficients(&self) -> HenryCoefficient> { - self.0.henry_coefficients() - } + #[getter] + fn get_henry_coefficients(&self) -> HenryCoefficient> { + self.0.henry_coefficients() + } - #[getter] - fn get_ideal_gas_enthalpy_of_adsorption(&self) -> MolarEnergy> { - self.0.ideal_gas_enthalpy_of_adsorption() - } - } - }; + #[getter] + fn get_ideal_gas_enthalpy_of_adsorption(&self) -> MolarEnergy> { + self.0.ideal_gas_enthalpy_of_adsorption() + } } +impl_profile!(PyPoreProfile); + /// Different ways that the thermodynamic state of the fluid in the pore /// can be specified. #[pyclass(name = "PoreSpecification", from_py_object)] @@ -77,6 +214,13 @@ impl PyPoreSpecification { fn Moles(moles: Moles>) -> Self { Self(PoreSpecification::Moles(moles)) } + + /// Fix the amount of moles of every component based on the initial density profile. + #[classattr] + #[expect(non_snake_case)] + fn FixedMoles() -> Self { + Self(PoreSpecification::FixedMoles) + } } /// Parameters required to specify a 1D pore. @@ -102,32 +246,24 @@ impl PyPoreSpecification { #[pyclass(name = "Pore1D")] pub struct PyPore1D(pub Pore1D); -#[pyclass(name = "PoreProfile1D")] -pub struct PyPoreProfile1D( - pub PoreProfile1D, ResidualModel>>>, -); - -impl_1d_profile!(PyPoreProfile1D, [get_r, get_z]); -impl_pore_profile!(PyPoreProfile1D); - #[pymethods] impl PyPore1D { #[new] - #[pyo3(text_signature = "(geometry, pore_size, potential, n_grid=None, potential_cutoff=None)")] - #[pyo3(signature = (geometry, pore_size, potential, n_grid=None, potential_cutoff=None))] + #[pyo3(text_signature = "(functional, geometry, pore_size, external_potential, n_grid=None)")] + #[pyo3(signature = (functional, geometry, pore_size, external_potential, n_grid=None))] fn new( + functional: &PyEquationOfState, geometry: PyGeometry, pore_size: Length, - potential: PyExternalPotential, + external_potential: PyExternalPotential, n_grid: Option, - potential_cutoff: Option, ) -> PyResult { Ok(Self(Pore1D::new( + &functional.0, geometry.into(), pore_size, - potential.0, + external_potential.0, n_grid, - potential_cutoff, ))) } @@ -139,10 +275,6 @@ impl PyPore1D { /// The bulk state in equilibrium with the pore. /// density : SIArray2, optional /// Initial values for the density profile. - /// external_potential : SIArray2, optional - /// The external potential in the pore. Used to - /// save computation time in the case of costly - /// evaluations of external potentials. /// specification : PoreSpecification /// The external constraint that specifies the state /// in the pore. @@ -151,243 +283,36 @@ impl PyPore1D { /// ------- /// PoreProfile1D #[pyo3( - text_signature = "($self, bulk, density=None, external_potential=None, specification=PoreSpecification.ChemicalPotential)" + text_signature = "($self, bulk, density=None, specification=PoreSpecification.ChemicalPotential)" )] - #[pyo3(signature = (bulk, density=None, external_potential=None, specification=PyPoreSpecification::ChemicalPotential()))] + #[pyo3(signature = (bulk, density=None, specification=PyPoreSpecification::ChemicalPotential()))] fn initialize( &self, bulk: &PyState, density: Option>>, - external_potential: Option>>, specification: PyPoreSpecification, - ) -> PyResult { - Ok(PyPoreProfile1D( + ) -> PyResult { + Ok(PyPoreProfile( self.0 - .initialize( - &bulk.0, - density.as_ref(), - external_potential.as_ref(), - specification.0, - ) - .map_err(PyFeosError::from)?, + .initialize(&bulk.0, density.as_ref(), specification.0) + .map_err(PyFeosError::from)? + .into_dyn(), )) } - #[getter] - fn get_geometry(&self) -> PyGeometry { - self.0.geometry.into() - } - #[getter] fn get_pore_size(&self) -> Length { self.0.pore_size } #[getter] - fn get_potential(&self) -> PyExternalPotential { - PyExternalPotential(self.0.potential.clone()) - } - - #[getter] - fn get_n_grid(&self) -> Option { - self.0.n_grid - } - - #[getter] - fn get_potential_cutoff(&self) -> Option { - self.0.potential_cutoff - } - - /// The pore volume using Helium at 298 K as reference. - #[getter] - fn get_pore_volume(&self) -> PyResult { - Ok(self.0.pore_volume().map_err(PyFeosError::from)?) - } -} - -#[pyclass(name = "Pore2D")] -pub struct PyPore2D(pub Pore2D); - -#[pyclass(name = "PoreProfile2D")] -pub struct PyPoreProfile2D( - pub PoreProfile2D, ResidualModel>>>, -); - -impl_2d_profile!(PyPoreProfile2D, get_x, get_y); -impl_pore_profile!(PyPoreProfile2D); - -#[pymethods] -impl PyPore2D { - #[new] - #[pyo3(text_signature = "(system_size, angle, n_grid)")] - fn new(system_size: [Length; 2], angle: Angle, n_grid: [usize; 2]) -> PyResult { - Ok(Self(Pore2D::new( - [system_size[0], system_size[1]], - angle, - n_grid, - ))) + fn get_external_potential(&self) -> Energy> { + self.0.external_potential.clone() } - /// Initialize the pore for the given bulk state. - /// - /// Parameters - /// ---------- - /// bulk : State - /// The bulk state in equilibrium with the pore. - /// density : SIArray3, optional - /// Initial values for the density profile. - /// external_potential : SIArray3, optional - /// The external potential in the pore. Used to - /// save computation time in the case of costly - /// evaluations of external potentials. - /// specification : PoreSpecification - /// The external constraint that specifies the state - /// in the pore. - /// - /// Returns - /// ------- - /// PoreProfile2D - #[pyo3( - text_signature = "($self, bulk, density=None, external_potential=None, specification=PoreSpecification.ChemicalPotential)" - )] - #[pyo3(signature = (bulk, density=None, external_potential=None, specification=PyPoreSpecification::ChemicalPotential()))] - fn initialize( - &self, - bulk: &PyState, - density: Option>>, - external_potential: Option>>, - specification: PyPoreSpecification, - ) -> PyResult { - Ok(PyPoreProfile2D( - self.0 - .initialize( - &bulk.0, - density.as_ref(), - external_potential.as_ref(), - specification.0, - ) - .map_err(PyFeosError::from)?, - )) - } - - /// The pore volume using Helium at 298 K as reference. #[getter] - fn get_pore_volume(&self) -> PyResult { - Ok(self.0.pore_volume().map_err(PyFeosError::from)?) - } -} - -/// Parameters required to specify a 3D pore. -/// -/// Parameters -/// ---------- -/// system_size : [SINumber; 3] -/// The size of the unit cell. -/// n_grid : [int; 3] -/// The number of grid points in each direction. -/// coordinates : numpy.ndarray[float] -/// The positions of all interaction sites in the solid. -/// sigma_ss : numpy.ndarray[float] -/// The size parameters of all interaction sites. -/// epsilon_k_ss : numpy.ndarray[float] -/// The energy parameter of all interaction sites. -/// angles : [Angle; 3], optional -/// The angles of the unit cell or `None` if the unit cell -/// is orthorombic -/// potential_cutoff: float, optional -/// Maximum value for the external potential. -/// cutoff_radius: SINumber, optional -/// The cutoff radius for the calculation of solid-fluid interactions. -/// -/// Returns -/// ------- -/// Pore3D -/// -// Pore3D/PoreProfile3D wrap feos_dft types that only exist with `rayon` -// (3D FFT). Gated out of the threadless wasm32-unknown-emscripten build. -#[cfg(feature = "rayon")] -#[pyclass(name = "Pore3D")] -pub struct PyPore3D(pub Pore3D); - -#[cfg(feature = "rayon")] -#[pyclass(name = "PoreProfile3D")] -pub struct PyPoreProfile3D( - pub PoreProfile3D, ResidualModel>>>, -); - -#[cfg(feature = "rayon")] -impl_3d_profile!(PyPoreProfile3D, get_x, get_y, get_z); -#[cfg(feature = "rayon")] -impl_pore_profile!(PyPoreProfile3D); - -#[cfg(feature = "rayon")] -#[pymethods] -impl PyPore3D { - #[new] - #[pyo3( - text_signature = "(system_size, n_grid, coordinates, sigma_ss, epsilon_k_ss, angles=None, cutoff_radius=None)" - )] - #[pyo3(signature = (system_size, n_grid, coordinates, sigma_ss, epsilon_k_ss, angles=None, cutoff_radius=None))] - fn new( - system_size: [Length; 3], - n_grid: [usize; 3], - coordinates: Length>, - sigma_ss: &Bound<'_, PyArray1>, - epsilon_k_ss: &Bound<'_, PyArray1>, - angles: Option<[Angle; 3]>, - cutoff_radius: Option, - ) -> Self { - Self(Pore3D::new( - system_size, - n_grid, - coordinates, - sigma_ss.to_owned_array(), - epsilon_k_ss.to_owned_array(), - angles, - cutoff_radius, - )) - } - - /// Initialize the pore for the given bulk state. - /// - /// Parameters - /// ---------- - /// bulk : State - /// The bulk state in equilibrium with the pore. - /// density : SIArray4, optional - /// Initial values for the density profile. - /// external_potential : SIArray4, optional - /// The external potential in the pore. Used to - /// save computation time in the case of costly - /// evaluations of external potentials. - /// specification : PoreSpecification - /// The external constraint that specifies the state - /// in the pore. - /// - /// Returns - /// ------- - /// PoreProfile3D - #[pyo3( - text_signature = "($self, bulk, density=None, external_potential=None, specification=PoreSpecification.ChemicalPotential)" - )] - #[pyo3(signature = (bulk, density=None, external_potential=None, specification=PyPoreSpecification::ChemicalPotential()))] - fn initialize( - &self, - bulk: &PyState, - density: Option>>, - external_potential: Option>>, - specification: PyPoreSpecification, - ) -> PyResult { - Ok(PyPoreProfile3D( - self.0 - .initialize( - &bulk.0, - density.as_ref(), - external_potential.as_ref(), - specification.0, - ) - .map_err(PyFeosError::from)?, - )) + fn get_grid(&self) -> PyGrid { + PyGrid(self.0.grid.clone()) } /// The pore volume using Helium at 298 K as reference. diff --git a/py-feos/src/dft/interface/mod.rs b/py-feos/src/dft/interface/mod.rs index aae76c75c..dd628605f 100644 --- a/py-feos/src/dft/interface/mod.rs +++ b/py-feos/src/dft/interface/mod.rs @@ -1,11 +1,11 @@ -use super::profile::{impl_1d_profile, impl_profile}; +use super::profile::impl_profile; use super::{PyDFTSolver, PyDFTSolverLog}; use crate::error::PyFeosError; use crate::ideal_gas::IdealGasModel; use crate::phase_equilibria::PyPhaseEquilibrium; use crate::residual::ResidualModel; use crate::state::{PyContributions, PyState}; -use feos_core::{EquationOfState, ReferenceSystem}; +use feos_core::EquationOfState; use feos_dft::interface::PlanarInterface; use nalgebra::{DMatrix, DVector}; use ndarray::*; @@ -23,7 +23,7 @@ pub struct PyPlanarInterface( PlanarInterface, ResidualModel>>>, ); -impl_1d_profile!(PyPlanarInterface, [get_z]); +impl_profile!(PyPlanarInterface); #[pymethods] impl PyPlanarInterface { diff --git a/py-feos/src/dft/mod.rs b/py-feos/src/dft/mod.rs index 36ea92bb9..07d1a6839 100644 --- a/py-feos/src/dft/mod.rs +++ b/py-feos/src/dft/mod.rs @@ -16,11 +16,8 @@ mod solvation; mod solver; pub(crate) use adsorption::{ - PyAdsorption1D, PyExternalPotential, PyPore1D, PyPore2D, PyPoreSpecification, + PyAdsorption, PyExternalPotential, PyGrid, PyPore1D, PyPoreProfile, PyPoreSpecification, }; -// 3D pore / adsorption bindings wrap rayon-gated feos_dft types. -#[cfg(feature = "rayon")] -pub(crate) use adsorption::{PyAdsorption3D, PyPore3D}; pub(crate) use interface::{PyPlanarInterface, PySurfaceTensionDiagram}; pub(crate) use solvation::PyPairCorrelation; #[cfg(feature = "rayon")] diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs index b60fcafdb..40104de89 100644 --- a/py-feos/src/dft/profile.rs +++ b/py-feos/src/dft/profile.rs @@ -1,7 +1,5 @@ macro_rules! impl_profile { - ($struct:ident, $arr:ident, $arr2:ident, $si_arr:ident, $si_arr2:ident, $py_arr2:ident, [$([$ind:expr, $ax:ident]),+]$(, $si_arr3:ident)?) => { - - + ($struct:ident) => { #[pymethods] impl $struct { /// Calculate the residual for the given profile. @@ -20,9 +18,9 @@ macro_rules! impl_profile { &self, log: bool, py: Python<'py>, - ) -> PyResult<(Bound<'py, $arr2>, Bound<'py, PyArray1>, f64)> { + ) -> PyResult<(Bound<'py, PyArrayDyn>, Bound<'py, PyArray1>, f64)> { let (res_rho, res_mu, res_norm) = self.0.profile.residual(log).map_err(PyFeosError::from)?; - Ok((res_rho.view().to_pyarray(py), res_mu.view().to_pyarray(py), res_norm)) + Ok((res_rho.view().into_dyn().to_pyarray(py), res_mu.view().to_pyarray(py), res_norm)) } /// Solve the profile in-place. A non-default solver can be provided @@ -47,11 +45,25 @@ macro_rules! impl_profile { Ok(slf) } - $( #[getter] - fn $ax(&self) -> Length> { - Length::from_reduced(self.0.profile.grid.grids()[$ind].clone()) - })+ + fn get_axes(&self) -> Vec>>{ + self.0.profile.axes() + } + + #[getter] + fn get_edges(&self) -> Vec>> { + self.0.profile.edges() + } + + #[getter] + fn get_grid<'py>(&self, py: Python<'py>) -> PyResult> { + let mut grid = self.0.profile.grid.mesh(); + if grid.len() == 1 { + grid.pop().unwrap().into_pyobject(py) + } else { + grid.into_pyobject(py) + } + } #[getter] fn get_temperature(&self) -> Temperature { @@ -59,8 +71,8 @@ macro_rules! impl_profile { } #[getter] - fn get_density(&self) -> Density<$si_arr2> { - self.0.profile.density.clone() + fn get_density(&self) -> Density> { + self.0.profile.density.clone().into_dyn() } #[getter] @@ -74,8 +86,8 @@ macro_rules! impl_profile { } #[getter] - fn get_external_potential(&self) -> Energy<$si_arr2> { - self.0.profile.external_potential().clone() + fn get_external_potential(&self) -> Energy> { + self.0.profile.external_potential().clone().into_dyn() } #[getter] @@ -92,17 +104,17 @@ macro_rules! impl_profile { fn get_weighted_densities<'py>( &self, py: Python<'py>, - ) -> PyResult>>> { + ) -> PyResult>>> { let n = self.0.profile.weighted_densities().map_err(PyFeosError::from)?; - Ok(n.into_iter().map(|n| n.view().to_pyarray(py)).collect()) + Ok(n.into_iter().map(|n| n.view().into_dyn().to_pyarray(py)).collect()) } #[getter] fn get_functional_derivative<'py>( &self, py: Python<'py>, - ) -> PyResult>> { - Ok(self.0.profile.functional_derivative().map_err(PyFeosError::from)?.view().to_pyarray(py)) + ) -> PyResult>> { + Ok(self.0.profile.functional_derivative().map_err(PyFeosError::from)?.view().into_dyn().to_pyarray(py)) } /// Calculate the entropy density of the inhomogeneous system. @@ -120,8 +132,8 @@ macro_rules! impl_profile { fn entropy_density( &mut self, contributions: PyContributions, - ) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.entropy_density(contributions.into()).map_err(PyFeosError::from)?) + ) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.entropy_density(contributions.into()).map_err(PyFeosError::from)?.into_dyn()) } /// Calculate the entropy of the inhomogeneous system. @@ -163,15 +175,14 @@ macro_rules! impl_profile { } #[getter] - fn get_grand_potential_density(&self) -> PyResult>> { - Ok(self.0.profile.grand_potential_density().map_err(PyFeosError::from)?) + fn get_grand_potential_density(&self) -> PyResult>> { + Ok(self.0.profile.grand_potential_density().map_err(PyFeosError::from)?.into_dyn()) + } + + #[getter] + fn get_drho_dmu(&self) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.drho_dmu().map_err(PyFeosError::from)?.into_dyn()) } - $( - #[getter] - fn get_drho_dmu(&self) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.drho_dmu().map_err(PyFeosError::from)?) - } - )? #[getter] fn get_dn_dmu(&self) -> PyResult<> as std::ops::Div>::Output> { @@ -179,8 +190,8 @@ macro_rules! impl_profile { } #[getter] - fn get_drho_dp(&self) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.drho_dp().map_err(PyFeosError::from)?) + fn get_drho_dp(&self) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.drho_dp().map_err(PyFeosError::from)?.into_dyn()) } #[getter] @@ -189,8 +200,8 @@ macro_rules! impl_profile { } #[getter] - fn get_drho_dt(&self) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.drho_dt().map_err(PyFeosError::from)?) + fn get_drho_dt(&self) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.drho_dt().map_err(PyFeosError::from)?.into_dyn()) } #[getter] @@ -201,77 +212,4 @@ macro_rules! impl_profile { }; } -macro_rules! impl_1d_profile { - ($struct:ident, [$($ax:ident),+]) => { - impl_profile!( - $struct, - PyArray1, - PyArray2, - Array1, - Array2, - PyArray2, - [$([0, $ax]),+], - Array3 - ); - }; -} - -macro_rules! impl_2d_profile { - ($struct:ident, $ax1:ident, $ax2:ident) => { - impl_profile!( - $struct, - PyArray2, - PyArray3, - Array2, - Array3, - PyArray3, - [[0, $ax1], [1, $ax2]] - ); - - #[pymethods] - impl $struct { - #[getter] - fn get_edges(&self) -> [Length>; 2] { - self.0.profile.edges() - } - - #[getter] - fn get_meshgrid(&self) -> [Length>; 2] { - self.0.profile.meshgrid() - } - } - }; -} - -// Only used by rayon-gated 3D profiles (PoreProfile3D, SolvationProfile). -#[cfg(feature = "rayon")] -macro_rules! impl_3d_profile { - ($struct:ident, $ax1:ident, $ax2:ident, $ax3:ident) => { - impl_profile!( - $struct, - PyArray3, - PyArray4, - Array3, - Array4, - PyArray4, - [[0, $ax1], [1, $ax2], [2, $ax3]] - ); - - #[pymethods] - impl $struct { - #[getter] - fn get_edges(&self) -> [Length>; 3] { - self.0.profile.edges() - } - - #[getter] - fn get_meshgrid(&self) -> [Length>; 3] { - self.0.profile.meshgrid() - } - } - }; -} - -#[cfg(feature = "rayon")] -pub(crate) use impl_3d_profile; -pub(crate) use {impl_1d_profile, impl_2d_profile, impl_profile}; +pub(crate) use impl_profile; diff --git a/py-feos/src/dft/solvation.rs b/py-feos/src/dft/solvation.rs index 9509d6b99..5da6ac9f8 100644 --- a/py-feos/src/dft/solvation.rs +++ b/py-feos/src/dft/solvation.rs @@ -1,11 +1,9 @@ -#[cfg(feature = "rayon")] -use super::profile::impl_3d_profile; -use super::profile::{impl_1d_profile, impl_profile}; +use super::profile::impl_profile; use super::{PyDFTSolver, PyDFTSolverLog}; use crate::residual::ResidualModel; use crate::state::{PyContributions, PyState}; use crate::{error::PyFeosError, ideal_gas::IdealGasModel}; -use feos_core::{EquationOfState, ReferenceSystem}; +use feos_core::EquationOfState; use feos_dft::solvation::PairCorrelation; #[cfg(feature = "rayon")] use feos_dft::solvation::SolvationProfile; @@ -48,7 +46,7 @@ pub struct PySolvationProfile( ); #[cfg(feature = "rayon")] -impl_3d_profile!(PySolvationProfile, get_x, get_y, get_z); +impl_profile!(PySolvationProfile); #[cfg(feature = "rayon")] #[pymethods] @@ -114,7 +112,7 @@ pub struct PyPairCorrelation( PairCorrelation, ResidualModel>>>, ); -impl_1d_profile!(PyPairCorrelation, [get_r]); +impl_profile!(PyPairCorrelation); #[pymethods] impl PyPairCorrelation { diff --git a/py-feos/src/lib.rs b/py-feos/src/lib.rs index a164fece0..ee84f1fbb 100644 --- a/py-feos/src/lib.rs +++ b/py-feos/src/lib.rs @@ -201,17 +201,12 @@ fn feos(m: &Bound<'_, PyModule>) -> PyResult<()> { m.add_class::()?; // Adsorption - m.add_class::()?; + m.add_class::()?; m.add_class::()?; m.add_class::()?; m.add_class::()?; - m.add_class::()?; - - #[cfg(feature = "rayon")] - { - m.add_class::()?; - m.add_class::()?; - } + m.add_class::()?; + m.add_class::()?; // Interface m.add_class::()?; From 917e2ef26564d0901ea4e957b04f4efb11a7c650 Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Tue, 11 Aug 2026 16:34:58 +0200 Subject: [PATCH 05/13] Update to num-dual v0.15 --- Cargo.toml | 4 +- crates/feos-core/src/ad/mod.rs | 7 +- .../src/ad/properties/boiling_temperature.rs | 2 +- .../ad/properties/bubble_point_pressure.rs | 2 +- .../src/ad/properties/dew_point_pressure.rs | 2 +- .../ad/properties/enthalpy_of_vaporization.rs | 2 +- .../properties/equilibrium_liquid_density.rs | 2 +- .../src/ad/properties/liquid_density.rs | 2 +- crates/feos-core/src/ad/properties/mod.rs | 2 +- .../residual_isobaric_heat_capacity.rs | 2 +- .../src/ad/properties/vapor_pressure.rs | 2 +- crates/feos-core/src/cubic.rs | 4 +- crates/feos-core/src/density_iteration.rs | 2 +- crates/feos-core/src/equation_of_state/mod.rs | 35 +++++----- .../src/equation_of_state/residual.rs | 34 +++++----- crates/feos-core/src/lib.rs | 2 +- .../src/phase_equilibria/bubble_dew.rs | 13 ++-- crates/feos-core/src/phase_equilibria/mod.rs | 13 ++-- .../src/phase_equilibria/px_flashes.rs | 24 +++---- .../src/phase_equilibria/tp_flash.rs | 4 +- .../src/phase_equilibria/vle_pure.rs | 8 ++- crates/feos-core/src/state/composition.rs | 25 +++---- crates/feos-core/src/state/critical_point.rs | 18 ++--- crates/feos-core/src/state/mod.rs | 18 ++--- crates/feos-core/src/state/properties.rs | 4 +- .../src/state/residual_properties.rs | 8 +-- crates/feos-derive/src/dft.rs | 2 +- .../src/functional_contribution.rs | 6 +- crates/feos-derive/src/ideal_gas.rs | 2 +- crates/feos-derive/src/residual.rs | 4 +- crates/feos-dft/src/adsorption/pore.rs | 13 ++-- crates/feos-dft/src/convolver/mod.rs | 16 ++--- .../src/convolver/periodic_convolver.rs | 4 +- crates/feos-dft/src/convolver/transform.rs | 19 +++--- crates/feos-dft/src/functional.rs | 17 +++-- .../feos-dft/src/functional_contribution.rs | 16 +++-- .../feos-dft/src/ideal_chain_contribution.rs | 4 +- crates/feos-dft/src/profile/mod.rs | 9 ++- crates/feos-dft/src/profile/properties.rs | 2 +- crates/feos-dft/src/weight_functions.rs | 8 +-- crates/feos/benches/dual_numbers.rs | 2 +- crates/feos/benches/dual_numbers_saftvrmie.rs | 4 +- crates/feos/src/association/dft.rs | 12 ++-- crates/feos/src/association/mod.rs | 14 ++-- crates/feos/src/epcsaft/eos/born.rs | 2 +- crates/feos/src/epcsaft/eos/dispersion.rs | 6 +- crates/feos/src/epcsaft/eos/hard_chain.rs | 2 +- crates/feos/src/epcsaft/eos/ionic.rs | 4 +- crates/feos/src/epcsaft/eos/mod.rs | 4 +- crates/feos/src/epcsaft/eos/permittivity.rs | 4 +- crates/feos/src/epcsaft/parameters.rs | 10 +-- crates/feos/src/gc_pcsaft/dft/dispersion.rs | 4 +- crates/feos/src/gc_pcsaft/dft/hard_chain.rs | 4 +- crates/feos/src/gc_pcsaft/dft/mod.rs | 12 ++-- crates/feos/src/gc_pcsaft/eos/ad.rs | 18 ++--- crates/feos/src/gc_pcsaft/eos/dispersion.rs | 2 +- crates/feos/src/gc_pcsaft/eos/hard_chain.rs | 2 +- crates/feos/src/gc_pcsaft/eos/mod.rs | 4 +- crates/feos/src/gc_pcsaft/eos/parameter.rs | 6 +- crates/feos/src/gc_pcsaft/eos/polar.rs | 6 +- crates/feos/src/hard_sphere/dft.rs | 10 +-- crates/feos/src/hard_sphere/mod.rs | 12 ++-- crates/feos/src/ideal_gas/dippr.rs | 12 ++-- crates/feos/src/ideal_gas/joback.rs | 23 ++++--- .../src/multiparameter/ideal_gas_function.rs | 2 +- crates/feos/src/multiparameter/mod.rs | 14 ++-- .../src/multiparameter/residual_function.rs | 2 +- crates/feos/src/pcsaft/dft/dispersion.rs | 8 +-- crates/feos/src/pcsaft/dft/hard_chain.rs | 4 +- crates/feos/src/pcsaft/dft/mod.rs | 4 +- crates/feos/src/pcsaft/dft/polar.rs | 14 ++-- .../src/pcsaft/dft/pure_saft_functional.rs | 14 ++-- crates/feos/src/pcsaft/eos/dispersion.rs | 2 +- crates/feos/src/pcsaft/eos/hard_chain.rs | 2 +- crates/feos/src/pcsaft/eos/mod.rs | 10 +-- crates/feos/src/pcsaft/eos/pcsaft_binary.rs | 28 ++++---- crates/feos/src/pcsaft/eos/pcsaft_pure.rs | 22 +++--- crates/feos/src/pcsaft/eos/polar.rs | 12 ++-- crates/feos/src/pets/dft/dispersion.rs | 8 +-- .../feos/src/pets/dft/pure_pets_functional.rs | 8 +-- crates/feos/src/pets/eos/dispersion.rs | 2 +- crates/feos/src/pets/eos/mod.rs | 8 +-- crates/feos/src/saftvrmie/eos/dispersion.rs | 14 ++-- crates/feos/src/saftvrmie/eos/mod.rs | 6 +- crates/feos/src/saftvrmie/parameters.rs | 12 ++-- crates/feos/src/saftvrqmie/dft/dispersion.rs | 8 +-- crates/feos/src/saftvrqmie/dft/mod.rs | 4 +- .../src/saftvrqmie/dft/non_additive_hs.rs | 6 +- crates/feos/src/saftvrqmie/eos/dispersion.rs | 34 +++++----- crates/feos/src/saftvrqmie/eos/hard_sphere.rs | 39 ++++++----- crates/feos/src/saftvrqmie/eos/mod.rs | 6 +- .../src/saftvrqmie/eos/non_additive_hs.rs | 4 +- .../eos/bh/attractive_perturbation.rs | 20 +++--- .../feos/src/uvtheory/eos/bh/hard_sphere.rs | 8 +-- crates/feos/src/uvtheory/eos/bh/mod.rs | 2 +- .../uvtheory/eos/bh/reference_perturbation.rs | 2 +- crates/feos/src/uvtheory/eos/mod.rs | 4 +- .../eos/wca/attractive_perturbation.rs | 18 ++--- .../eos/wca/attractive_perturbation_uvb3.rs | 20 +++--- .../feos/src/uvtheory/eos/wca/hard_sphere.rs | 16 ++--- crates/feos/src/uvtheory/eos/wca/mod.rs | 4 +- .../eos/wca/reference_perturbation.rs | 2 +- .../eos/wca/reference_perturbation_uvb3.rs | 2 +- crates/feos/src/uvtheory/parameters.rs | 8 +-- docs/rustguide/core/equation_of_state.rst | 6 +- docs/rustguide/core/state.rst | 4 +- py-feos/src/ad/mod.rs | 4 +- py-feos/src/user_defined.rs | 68 ++++++++----------- 108 files changed, 524 insertions(+), 503 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ea0a4ae29..0137a8407 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,8 +22,8 @@ keywords = [ categories = ["science"] [workspace.dependencies] -quantity = "0.14" -num-dual = "0.14" +quantity = "0.15" +num-dual = "0.15" ndarray = "0.17" nalgebra = "0.35" thiserror = "2.0" diff --git a/crates/feos-core/src/ad/mod.rs b/crates/feos-core/src/ad/mod.rs index 1965207da..87d6a9b26 100644 --- a/crates/feos-core/src/ad/mod.rs +++ b/crates/feos-core/src/ad/mod.rs @@ -10,7 +10,7 @@ mod properties; pub use dataset::*; pub use properties::*; -pub(crate) type Gradient = DualSVec; +pub(crate) type Gradient = DualSVec; /// A model that can be evaluated with derivatives of its parameters. pub trait ParametersAD: Residual @@ -23,7 +23,7 @@ where /// defines the canonical parameter order. /// /// Set `differentiable` to `false` for fixed parameters. - fn build + Copy>( + fn build + Copy>( f: impl FnMut(&'static str, bool) -> D, ) -> Self::Lifted; @@ -66,8 +66,7 @@ where idx += 1; let mut d = Gradient::

::from(parameter_values[i]); if let Some(seed_idx) = derivative_names.iter().position(|&n| n == name) { - d.eps = - Derivative::<_, _, Const

, _>::derivative_generic(Const::

, U1, seed_idx); + d.eps = Derivative::<_, Const

, _>::derivative_generic(Const::

, U1, seed_idx); } d }) diff --git a/crates/feos-core/src/ad/properties/boiling_temperature.rs b/crates/feos-core/src/ad/properties/boiling_temperature.rs index c597fb30e..8a9b58821 100644 --- a/crates/feos-core/src/ad/properties/boiling_temperature.rs +++ b/crates/feos-core/src/ad/properties/boiling_temperature.rs @@ -22,7 +22,7 @@ where type Unit = _Temperature; const REFERENCE: Temperature = KELVIN; - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> { diff --git a/crates/feos-core/src/ad/properties/bubble_point_pressure.rs b/crates/feos-core/src/ad/properties/bubble_point_pressure.rs index 9e838b9f7..75b7260c6 100644 --- a/crates/feos-core/src/ad/properties/bubble_point_pressure.rs +++ b/crates/feos-core/src/ad/properties/bubble_point_pressure.rs @@ -28,7 +28,7 @@ where type Unit = _Pressure; const REFERENCE: Pressure = PASCAL; - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> diff --git a/crates/feos-core/src/ad/properties/dew_point_pressure.rs b/crates/feos-core/src/ad/properties/dew_point_pressure.rs index 4ce733484..9b4c813bb 100644 --- a/crates/feos-core/src/ad/properties/dew_point_pressure.rs +++ b/crates/feos-core/src/ad/properties/dew_point_pressure.rs @@ -27,7 +27,7 @@ where type Unit = _Pressure; const REFERENCE: Pressure = PASCAL; - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> diff --git a/crates/feos-core/src/ad/properties/enthalpy_of_vaporization.rs b/crates/feos-core/src/ad/properties/enthalpy_of_vaporization.rs index ee0d3d3aa..77b8bb1e9 100644 --- a/crates/feos-core/src/ad/properties/enthalpy_of_vaporization.rs +++ b/crates/feos-core/src/ad/properties/enthalpy_of_vaporization.rs @@ -21,7 +21,7 @@ where type Unit = _MolarEnergy; const REFERENCE: MolarEnergy = MolarEnergy::new(1.0); - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> { diff --git a/crates/feos-core/src/ad/properties/equilibrium_liquid_density.rs b/crates/feos-core/src/ad/properties/equilibrium_liquid_density.rs index 85ded0885..fab58a9a8 100644 --- a/crates/feos-core/src/ad/properties/equilibrium_liquid_density.rs +++ b/crates/feos-core/src/ad/properties/equilibrium_liquid_density.rs @@ -21,7 +21,7 @@ where type Unit = _Density; const REFERENCE: Density = Density::new(1000.0); - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> { diff --git a/crates/feos-core/src/ad/properties/liquid_density.rs b/crates/feos-core/src/ad/properties/liquid_density.rs index f8992c3fe..1483ab0c4 100644 --- a/crates/feos-core/src/ad/properties/liquid_density.rs +++ b/crates/feos-core/src/ad/properties/liquid_density.rs @@ -23,7 +23,7 @@ where type Unit = _Density; const REFERENCE: Density = Density::new(1000.0); - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> { diff --git a/crates/feos-core/src/ad/properties/mod.rs b/crates/feos-core/src/ad/properties/mod.rs index 660716e1d..4f2af32da 100644 --- a/crates/feos-core/src/ad/properties/mod.rs +++ b/crates/feos-core/src/ad/properties/mod.rs @@ -34,7 +34,7 @@ where const REFERENCE: Quantity; /// Evaluate the property for an arbitrary derivative. - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult>; diff --git a/crates/feos-core/src/ad/properties/residual_isobaric_heat_capacity.rs b/crates/feos-core/src/ad/properties/residual_isobaric_heat_capacity.rs index b8f962757..2dffe6093 100644 --- a/crates/feos-core/src/ad/properties/residual_isobaric_heat_capacity.rs +++ b/crates/feos-core/src/ad/properties/residual_isobaric_heat_capacity.rs @@ -23,7 +23,7 @@ where type Unit = _MolarEntropy; const REFERENCE: MolarEntropy = MolarEntropy::new(1.0); - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> { diff --git a/crates/feos-core/src/ad/properties/vapor_pressure.rs b/crates/feos-core/src/ad/properties/vapor_pressure.rs index 8192d3ff0..27f6b1740 100644 --- a/crates/feos-core/src/ad/properties/vapor_pressure.rs +++ b/crates/feos-core/src/ad/properties/vapor_pressure.rs @@ -22,7 +22,7 @@ where type Unit = _Pressure; const REFERENCE: Pressure = PASCAL; - fn evaluate, D: DualNum + Copy>( + fn evaluate, D: DualNum + Copy>( &self, eos: &E, ) -> FeosResult> { diff --git a/crates/feos-core/src/cubic.rs b/crates/feos-core/src/cubic.rs index a12f615e5..c6b392e93 100644 --- a/crates/feos-core/src/cubic.rs +++ b/crates/feos-core/src/cubic.rs @@ -121,11 +121,11 @@ impl ResidualDyn for PengRobinson { self.tc.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { D::from(0.9) / molefracs.dot(&self.b.map(D::from)) } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos-core/src/density_iteration.rs b/crates/feos-core/src/density_iteration.rs index f3da0d2fc..19add42c3 100644 --- a/crates/feos-core/src/density_iteration.rs +++ b/crates/feos-core/src/density_iteration.rs @@ -6,7 +6,7 @@ use nalgebra::{DefaultAllocator, Dim, OVector}; use num_dual::{Dual, DualNum, first_derivative}; use quantity::{Density, Pressure, Temperature}; -pub fn density_iteration, N: Dim, D: DualNum + Copy>( +pub fn density_iteration, N: Dim, D: DualNum + Copy>( eos: &E, temperature: Temperature, pressure: Pressure, diff --git a/crates/feos-core/src/equation_of_state/mod.rs b/crates/feos-core/src/equation_of_state/mod.rs index 14e45c07a..4fbb1829f 100644 --- a/crates/feos-core/src/equation_of_state/mod.rs +++ b/crates/feos-core/src/equation_of_state/mod.rs @@ -53,11 +53,11 @@ impl ResidualDyn for EquationOfState, R> { self.residual.components() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { self.residual.compute_max_density(molefracs) } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { @@ -79,7 +79,7 @@ impl Subset for EquationOfState, R> { } } -impl, D>, D: DualNum + Copy, const N: usize> +impl, D>, D: DualNum + Copy, const N: usize> Residual, D> for EquationOfState<[I; N], R> { fn components(&self) -> usize { @@ -87,11 +87,12 @@ impl, D>, D: DualNum + Copy, const N: usize> } type Real = EquationOfState<[I; N], R::Real>; - type Lifted + Copy> = EquationOfState<[I; N], R::Lifted>; + type Lifted + Copy> = + EquationOfState<[I; N], R::Lifted>; fn re(&self) -> Self::Real { EquationOfState::new(self.ideal_gas.clone(), self.residual.re()) } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { EquationOfState::new(self.ideal_gas.clone(), self.residual.lift()) } @@ -118,7 +119,7 @@ pub trait IdealGas { /// Implementation of an ideal gas model in terms of the /// logarithm of the cubic thermal de Broglie wavelength /// in units ln(A³) for each component in the system. - fn ln_lambda3 + Copy>(&self, temperature: D) -> D; + fn ln_lambda3 + Copy>(&self, temperature: D) -> D; /// The name of the ideal gas model. fn ideal_gas_model(&self) -> &'static str; @@ -128,9 +129,9 @@ pub trait IdealGas { /// respect to parameters. pub trait IdealGasAD: Clone { type Real: IdealGasAD; - type Lifted + Copy>: IdealGasAD; + type Lifted + Copy>: IdealGasAD; fn re(&self) -> Self::Real; - fn lift + Copy>(&self) -> Self::Lifted; + fn lift + Copy>(&self) -> Self::Lifted; /// Implementation of an ideal gas model in terms of the /// logarithm of the cubic thermal de Broglie wavelength @@ -142,14 +143,14 @@ pub trait IdealGasAD: Clone { } /// A total Helmholtz energy model consisting of a [Residual] model and an [IdealGas] part. -pub trait Total + Copy = f64>: Residual +pub trait Total + Copy = f64>: Residual where DefaultAllocator: Allocator, { type RealTotal: Total; - type LiftedTotal + Copy>: Total; + type LiftedTotal + Copy>: Total; fn re_total(&self) -> Self::RealTotal; - fn lift_total + Copy>(&self) -> Self::LiftedTotal; + fn lift_total + Copy>(&self) -> Self::LiftedTotal; fn ideal_gas_model(&self) -> &'static str; @@ -199,15 +200,15 @@ impl< I: IdealGas + 'static, C: Deref, R>> + Clone, R: ResidualDyn + 'static, - D: DualNum + Copy, + D: DualNum + Copy, > Total for C { type RealTotal = Self; - type LiftedTotal + Copy> = Self; + type LiftedTotal + Copy> = Self; fn re_total(&self) -> Self::RealTotal { self.clone() } - fn lift_total + Copy>(&self) -> Self::LiftedTotal { + fn lift_total + Copy>(&self) -> Self::LiftedTotal { self.clone() } @@ -225,11 +226,11 @@ impl< } } -impl, R: Residual, D>, D: DualNum + Copy, const N: usize> +impl, R: Residual, D>, D: DualNum + Copy, const N: usize> Total, D> for EquationOfState<[I; N], R> { type RealTotal = EquationOfState<[I::Real; N], R::Real>; - type LiftedTotal + Copy> = + type LiftedTotal + Copy> = EquationOfState<[I::Lifted; N], R::Lifted>; fn re_total(&self) -> Self::RealTotal { EquationOfState::new( @@ -237,7 +238,7 @@ impl, R: Residual, D>, D: DualNum + Copy, const N self.residual.re(), ) } - fn lift_total + Copy>(&self) -> Self::LiftedTotal { + fn lift_total + Copy>(&self) -> Self::LiftedTotal { EquationOfState::new( self.ideal_gas.each_ref().map(|i| i.lift()), self.residual.lift(), diff --git a/crates/feos-core/src/equation_of_state/residual.rs b/crates/feos-core/src/equation_of_state/residual.rs index af5fc88f6..5ade6b1c6 100644 --- a/crates/feos-core/src/equation_of_state/residual.rs +++ b/crates/feos-core/src/equation_of_state/residual.rs @@ -15,15 +15,15 @@ type Quot = >::Output; /// Molar weight of all components. /// /// Enables calculation of (mass) specific properties. -pub trait Molarweight + Copy = f64> +pub trait Molarweight + Copy = f64> where DefaultAllocator: Allocator, { fn molar_weight(&self) -> MolarWeight>; } -impl, T: Molarweight, N: Dim, D: DualNum + Copy> Molarweight - for C +impl, T: Molarweight, N: Dim, D: DualNum + Copy> + Molarweight for C where DefaultAllocator: Allocator, { @@ -62,23 +62,25 @@ pub trait ResidualDyn { /// equilibria and other iterations. It is not explicitly meant to /// be a mathematical limit for the density (if those exist in the /// equation of state anyways). - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D; + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D; /// Evaluate the reduced Helmholtz energy density of each individual contribution /// and return them together with a string representation of the contribution. - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)>; } -impl + Clone, T: ResidualDyn, D: DualNum + Copy> Residual for C { +impl + Clone, T: ResidualDyn, D: DualNum + Copy> + Residual for C +{ type Real = Self; - type Lifted + Copy> = Self; + type Lifted + Copy> = Self; fn re(&self) -> Self::Real { self.clone() } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { self.clone() } fn components(&self) -> usize { @@ -96,7 +98,7 @@ impl + Clone, T: ResidualDyn, D: DualNum + Copy> Resid } /// A residual Helmholtz energy model. -pub trait Residual + Copy = f64>: Clone +pub trait Residual + Copy = f64>: Clone where DefaultAllocator: Allocator, { @@ -114,13 +116,13 @@ where type Real: Residual; /// The residual model with the model parameters lifted to a higher dual number. - type Lifted + Copy>: Residual; + type Lifted + Copy>: Residual; /// Return the real part of the residual model. fn re(&self) -> Self::Real; /// Return the lifted residual model. - fn lift + Copy>(&self) -> Self::Lifted; + fn lift + Copy>(&self) -> Self::Lifted; /// Return the maximum density in Angstrom^-3. /// @@ -303,7 +305,7 @@ where molefracs: &OVector, ) -> (D, D, D, D, D) { let molar_volume = density.recip(); - let (a, da, d2a) = hessian::<_, _, _, U2, _>( + let (a, da, d2a) = hessian::<_, _, U2, _>( partial( |vt: SVector<_, 2>, x: &OVector<_, N>| { let [[v, t]] = vt.data.0; @@ -418,7 +420,7 @@ where } /// Reference values and residual entropy correlations for entropy scaling. -pub trait EntropyScaling + Copy = f64> +pub trait EntropyScaling + Copy = f64> where DefaultAllocator: Allocator, { @@ -445,7 +447,7 @@ where fn thermal_conductivity_correlation(&self, s_res: D, x: &OVector) -> D; } -impl, T: EntropyScaling, N: Dim, D: DualNum + Copy> +impl, T: EntropyScaling, N: Dim, D: DualNum + Copy> EntropyScaling for C where DefaultAllocator: Allocator, @@ -502,11 +504,11 @@ impl ResidualDyn for NoResidual { self.0 } - fn compute_max_density + Copy>(&self, _: &DVector) -> D { + fn compute_max_density + Copy>(&self, _: &DVector) -> D { D::one() } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, _: &StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos-core/src/lib.rs b/crates/feos-core/src/lib.rs index 156894648..5a117790f 100644 --- a/crates/feos-core/src/lib.rs +++ b/crates/feos-core/src/lib.rs @@ -221,7 +221,7 @@ mod tests { "NoIdealGas" } - fn ln_lambda3 + Copy>(&self, _: D) -> D { + fn ln_lambda3 + Copy>(&self, _: D) -> D { unreachable!() } } diff --git a/crates/feos-core/src/phase_equilibria/bubble_dew.rs b/crates/feos-core/src/phase_equilibria/bubble_dew.rs index 6d2c9333d..9033df5a2 100644 --- a/crates/feos-core/src/phase_equilibria/bubble_dew.rs +++ b/crates/feos-core/src/phase_equilibria/bubble_dew.rs @@ -23,7 +23,7 @@ const MAX_LNPSTEP: f64 = 0.1; const NEWTON_TOL: f64 = 1e-3; /// Trait that enables functions to be generic over their input unit. -pub trait TemperatureOrPressure + Copy = f64>: Copy { +pub trait TemperatureOrPressure + Copy = f64>: Copy { type Other: Copy; const IDENTIFIER: &'static str; @@ -46,7 +46,7 @@ pub trait TemperatureOrPressure + Copy = f64>: Copy { ) -> (Temperature>, Pressure>); } -impl + Copy> TemperatureOrPressure for Temperature { +impl + Copy> TemperatureOrPressure for Temperature { type Other = Pressure; const IDENTIFIER: &'static str = "temperature"; @@ -86,7 +86,7 @@ impl + Copy> TemperatureOrPressure for Temperature { // For some inexplicable reason this does not compile if the `Pressure` type is // used instead of the explicit unit. Maybe the type is too complicated for the // compiler? -impl + Copy> TemperatureOrPressure +impl + Copy> TemperatureOrPressure for Quantity> { type Other = Temperature; @@ -138,7 +138,8 @@ impl TemperatureOrPressureSpecification { } /// # Bubble and dew point calculations -impl, N: Gradients, D: DualNum + Copy> PhaseEquilibrium +impl, N: Gradients, D: DualNum + Copy> + PhaseEquilibrium where DefaultAllocator: Allocator + Allocator + Allocator, { @@ -399,7 +400,7 @@ where }); // calculate Newton step - let dx = LU::<_, _, Dyn>::new(jac)?.solve(&f); + let dx = LU::<_, Dyn>::new(jac)?.solve(&f); // apply Newton step for i in 0..n { @@ -475,7 +476,7 @@ where }); // calculate Newton step - let dx = LU::<_, _, Dyn>::new(jac)?.solve(&f); + let dx = LU::<_, Dyn>::new(jac)?.solve(&f); // apply Newton step for i in 0..n { diff --git a/crates/feos-core/src/phase_equilibria/mod.rs b/crates/feos-core/src/phase_equilibria/mod.rs index 5ed15a767..ca6fd42b2 100644 --- a/crates/feos-core/src/phase_equilibria/mod.rs +++ b/crates/feos-core/src/phase_equilibria/mod.rs @@ -46,7 +46,7 @@ pub use phase_diagram_pure::PhaseDiagram; /// + [Heteroazeotropes](#heteroazeotropes) /// + [Utility functions](#utility-functions) #[derive(Debug, Clone)] -pub struct PhaseEquilibrium + Copy = f64> +pub struct PhaseEquilibrium + Copy = f64> where DefaultAllocator: Allocator, { @@ -100,7 +100,7 @@ impl PhaseEquilibrium { } } -impl, N: Dim, D: DualNum + Copy> PhaseEquilibrium +impl, N: Dim, D: DualNum + Copy> PhaseEquilibrium where DefaultAllocator: Allocator, { @@ -131,7 +131,7 @@ impl PhaseEquilibrium { } } -impl, N: Dim, D: DualNum + Copy> PhaseEquilibrium +impl, N: Dim, D: DualNum + Copy> PhaseEquilibrium where DefaultAllocator: Allocator, { @@ -164,7 +164,7 @@ where } } -impl, N: Dim, D: DualNum + Copy> PhaseEquilibrium +impl, N: Dim, D: DualNum + Copy> PhaseEquilibrium where DefaultAllocator: Allocator, { @@ -177,7 +177,7 @@ where } } -impl, N: Gradients, const P: usize, D: DualNum + Copy> +impl, N: Gradients, const P: usize, D: DualNum + Copy> PhaseEquilibrium where DefaultAllocator: Allocator, @@ -187,8 +187,7 @@ where } } -impl, N: Gradients, const P: usize, D: DualNum + Copy> - PhaseEquilibrium +impl, N: Gradients, const P: usize, D: DualNum + Copy> PhaseEquilibrium where DefaultAllocator: Allocator, { diff --git a/crates/feos-core/src/phase_equilibria/px_flashes.rs b/crates/feos-core/src/phase_equilibria/px_flashes.rs index aadeffb76..5ee40351f 100644 --- a/crates/feos-core/src/phase_equilibria/px_flashes.rs +++ b/crates/feos-core/src/phase_equilibria/px_flashes.rs @@ -17,7 +17,7 @@ const TOL_PX: f64 = 1e-11; type PXVars = >::Output; type TPVars = >::Output; -impl, N: Gradients + DimAdd + DimAdd, D: DualNum + Copy> +impl, N: Gradients + DimAdd + DimAdd, D: DualNum + Copy> PhaseEquilibrium where DefaultAllocator: Allocator @@ -213,7 +213,7 @@ where } } -fn unpack_variables + Copy, N: Dim + DimAdd>( +fn unpack_variables + Copy, N: Dim + DimAdd>( molefracs: &OVector, variables: &OVector>, ) -> (D, D, D, D, OVector, OVector) @@ -229,7 +229,7 @@ where (t, beta, rho_l, rho_v, x, y) } -fn unpack_tp_variables + Copy, N: Dim + DimAdd>( +fn unpack_tp_variables + Copy, N: Dim + DimAdd>( molefracs: &OVector, variables: &OVector>, ) -> (D, D, D, OVector, OVector) @@ -247,7 +247,7 @@ where trait PXFlash: Sized + Copy { // potential function for which the flash solution is a saddle point. - fn state_function, N: Dim + DimAdd, D: DualNum + Copy>( + fn state_function, N: Dim + DimAdd, D: DualNum + Copy>( eos: &E, variables: OVector>, args: &(D, D, OVector), @@ -255,14 +255,14 @@ trait PXFlash: Sized + Copy { where DefaultAllocator: Allocator + Allocator>; - fn evaluate_property, N: Gradients, D: DualNum + Copy>( + fn evaluate_property, N: Gradients, D: DualNum + Copy>( vle: &PhaseEquilibrium, ) -> Quantity where DefaultAllocator: Allocator; // the potential function for a tp-flash specification (Q = A + V*p_spec) - fn tp_state_function, N: Dim + DimAdd, D: DualNum + Copy>( + fn tp_state_function, N: Dim + DimAdd, D: DualNum + Copy>( eos: &E, variables: OVector>, &(t, p, ref z): &(D, D, OVector), @@ -284,7 +284,7 @@ trait PXFlash: Sized + Copy { // Because the ps and ph flashes are saddle points rather then extrema, // the value of the potential can not be used as convergence criterion. #[expect(clippy::type_complexity)] - fn newton_step, N: Dim + DimAdd, D: DualNum + Copy>( + fn newton_step, N: Dim + DimAdd, D: DualNum + Copy>( eos: &E, variables: &OVector>, specifications: &(D, D, OVector), @@ -327,7 +327,7 @@ trait PXFlash: Sized + Copy { let rho_i_l = rho_l * x; let (hs, dhs) = first_derivative( partial( - |t: Dual<_, _>, args: &(_, OVector<_, _>)| { + |t: Dual<_>, args: &(_, OVector<_, _>)| { let &(p, ref z) = args; let args = (t, p, z.clone_owned()); @@ -403,7 +403,7 @@ trait PXFlash: Sized + Copy { impl PXFlash for SIUnit<-2, 2, 1, 0, 0, -1, 0> { // the potential function for a ph-flash specification (Q = (A + V*p_spec - H_spec) / T) - fn state_function, N: Dim + DimAdd, D: DualNum + Copy>( + fn state_function, N: Dim + DimAdd, D: DualNum + Copy>( eos: &E, variables: OVector>, &(p, h, ref z): &(D, D, OVector), @@ -421,7 +421,7 @@ impl PXFlash for SIUnit<-2, 2, 1, 0, 0, -1, 0> { potential(y, rho_v, t) * beta + potential(x, rho_l, t) * (-beta + 1.0) } - fn evaluate_property, N: Gradients, D: DualNum + Copy>( + fn evaluate_property, N: Gradients, D: DualNum + Copy>( vle: &PhaseEquilibrium, ) -> Quantity where @@ -433,7 +433,7 @@ impl PXFlash for SIUnit<-2, 2, 1, 0, 0, -1, 0> { impl PXFlash for SIUnit<-2, 2, 1, 0, -1, -1, 0> { // the potential function for a ps-flash specification (Q = A + T*S_spec + V*p_spec) - fn state_function, N: Dim + DimAdd, D: DualNum + Copy>( + fn state_function, N: Dim + DimAdd, D: DualNum + Copy>( eos: &E, variables: OVector>, &(p, s, ref z): &(D, D, OVector), @@ -454,7 +454,7 @@ impl PXFlash for SIUnit<-2, 2, 1, 0, -1, -1, 0> { potential(y, rho_v, t) * beta + potential(x, rho_l, t) * (-beta + 1.0) } - fn evaluate_property, N: Gradients, D: DualNum + Copy>( + fn evaluate_property, N: Gradients, D: DualNum + Copy>( vle: &PhaseEquilibrium, ) -> Quantity where diff --git a/crates/feos-core/src/phase_equilibria/tp_flash.rs b/crates/feos-core/src/phase_equilibria/tp_flash.rs index 88b30679e..761ae18e6 100644 --- a/crates/feos-core/src/phase_equilibria/tp_flash.rs +++ b/crates/feos-core/src/phase_equilibria/tp_flash.rs @@ -40,7 +40,7 @@ where } } -impl, D: DualNum + Copy> PhaseEquilibrium { +impl, D: DualNum + Copy> PhaseEquilibrium { /// Perform a Tp-flash calculation for a binary mixture. /// Compared to the version of the algorithm for a generic /// number of components ([tp_flash](PhaseEquilibrium::tp_flash)), @@ -79,7 +79,7 @@ impl, D: DualNum + Copy> PhaseEquilibrium { let [[v_l, v_v, x, y]] = variables.data.0; let beta = (z - x) / (y - x); let eos = eos.lift(); - let molar_gibbs_energy = |x: Dual2Vec<_, _, _>, v| { + let molar_gibbs_energy = |x: Dual2Vec<_, _>, v| { let molefracs = vector![x, -x + 1.0]; let a_res = eos.residual_helmholtz_energy(t, v, &molefracs); let a_ig = (x * (x / v).ln() - (x - 1.0) * ((-x + 1.0) / v).ln() - 1.0) * t; diff --git a/crates/feos-core/src/phase_equilibria/vle_pure.rs b/crates/feos-core/src/phase_equilibria/vle_pure.rs index 4bbc5f004..a1e83a709 100644 --- a/crates/feos-core/src/phase_equilibria/vle_pure.rs +++ b/crates/feos-core/src/phase_equilibria/vle_pure.rs @@ -14,7 +14,8 @@ const MAX_ITER_PURE: usize = 50; const TOL_PURE: f64 = 1e-12; /// # Pure component phase equilibria -impl, N: Gradients, D: DualNum + Copy> PhaseEquilibrium +impl, N: Gradients, D: DualNum + Copy> + PhaseEquilibrium where DefaultAllocator: Allocator + Allocator + Allocator, { @@ -237,7 +238,8 @@ where Ok((p, [rho_v, rho_l])) } -impl, N: Gradients, D: DualNum + Copy> PhaseEquilibrium +impl, N: Gradients, D: DualNum + Copy> + PhaseEquilibrium where DefaultAllocator: Allocator + Allocator + Allocator, { @@ -446,7 +448,7 @@ where // both phases have the same temperature for _ in 0..20 { let h_s = |t, v| { - let (a_res, da_res) = gradient::<_, _, _, U2, _>( + let (a_res, da_res) = gradient::<_, _, U2, _>( partial( |t_v: SVector<_, _>, x| { let [[t, v]] = t_v.data.0; diff --git a/crates/feos-core/src/state/composition.rs b/crates/feos-core/src/state/composition.rs index 973af8ffb..7040a1314 100644 --- a/crates/feos-core/src/state/composition.rs +++ b/crates/feos-core/src/state/composition.rs @@ -21,7 +21,7 @@ use quantity::Moles; /// |N|`&OVector`|-|`Dyn` only| /// |N|`Moles>`|✅| /// |N|`&Moles>`|✅| -pub trait Composition + Copy, N: Dim> +pub trait Composition + Copy, N: Dim> where DefaultAllocator: Allocator, { @@ -34,7 +34,7 @@ where } // trivial implementations -impl + Copy, N: Dim> Composition for (OVector, Moles) +impl + Copy, N: Dim> Composition for (OVector, Moles) where DefaultAllocator: Allocator, { @@ -46,7 +46,8 @@ where } } -impl + Copy, N: Dim> Composition for (OVector, Option>) +impl + Copy, N: Dim> Composition + for (OVector, Option>) where DefaultAllocator: Allocator, { @@ -59,7 +60,7 @@ where } // a pure component needs no specification -impl + Copy> Composition for () { +impl + Copy> Composition for () { fn into_molefracs>( self, _: &E, @@ -67,7 +68,7 @@ impl + Copy> Composition for () { Ok(((vector![D::one()]), None)) } } -impl + Copy> Composition for () { +impl + Copy> Composition for () { fn into_molefracs>( self, eos: &E, @@ -84,7 +85,7 @@ impl + Copy> Composition for () { } // a binary mixture can be specified by a scalar (x1) -impl + Copy> Composition for D { +impl + Copy> Composition for D { fn into_molefracs>( self, _: &E, @@ -111,7 +112,7 @@ impl Composition for f64 { } // a pure component can be specified by the total mole number -impl + Copy> Composition for Moles { +impl + Copy> Composition for Moles { fn into_molefracs>( self, _: &E, @@ -120,7 +121,7 @@ impl + Copy> Composition for Moles { } } -impl + Copy> Composition for Moles { +impl + Copy> Composition for Moles { fn into_molefracs>( self, eos: &E, @@ -140,7 +141,7 @@ impl + Copy> Composition for Moles { // // for a dynamic number of components, it is also possible to specify only the // N-1 first components -impl + Copy, N: Dim> Composition for OVector +impl + Copy, N: Dim> Composition for OVector where DefaultAllocator: Allocator, { @@ -152,7 +153,7 @@ where } } -impl + Copy, N: Dim> Composition for &OVector +impl + Copy, N: Dim> Composition for &OVector where DefaultAllocator: Allocator, { @@ -181,7 +182,7 @@ where } // the mixture can be specified by its moles -impl + Copy, N: Dim> Composition for Moles> +impl + Copy, N: Dim> Composition for Moles> where DefaultAllocator: Allocator, { @@ -193,7 +194,7 @@ where } } -impl + Copy, N: Dim> Composition for &Moles> +impl + Copy, N: Dim> Composition for &Moles> where DefaultAllocator: Allocator, { diff --git a/crates/feos-core/src/state/critical_point.rs b/crates/feos-core/src/state/critical_point.rs index 4de9f9562..5dfe14a26 100644 --- a/crates/feos-core/src/state/critical_point.rs +++ b/crates/feos-core/src/state/critical_point.rs @@ -44,7 +44,7 @@ impl State { } } -impl, N: Gradients, D: DualNum + Copy> State +impl, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator + Allocator + Allocator, { @@ -91,7 +91,7 @@ where initial_density, options, )?; - let trho = implicit_derivative_vec::<_, _, _, _, U3>( + let trho = implicit_derivative_vec::<_, _, _, U3>( |x, &p| { let t = x[0]; let rho = [x[1], x[2]]; @@ -184,7 +184,7 @@ where for i in 1..=max_iter { // calculate residuals and derivatives w.r.t. temperature and density - let (res, jac) = jacobian::<_, _, _, U2, U2, _>( + let (res, jac) = jacobian::<_, _, U2, U2, _>( |x: SVector, 2>| { SVector::from(criticality_conditions( &eos.lift(), @@ -269,7 +269,7 @@ where for i in 1..=max_iter { // calculate residuals and derivatives w.r.t. partial densities - let (res, jac) = jacobian::<_, _, _, U2, U2, _>( + let (res, jac) = jacobian::<_, _, U2, U2, _>( |rho: SVector, 2>| { let density = rho.sum(); let x = rho / density; @@ -360,7 +360,7 @@ where let p = DualSVec::from_re(p); criticality_conditions_p(&eos.lift(), p, t, partial_density) }; - let (res, jac) = jacobian::<_, _, _, U3, U3, _>(res, &SVector::from([t, rho[0], rho[1]])); + let (res, jac) = jacobian::<_, _, U3, U3, _>(res, &SVector::from([t, rho[0], rho[1]])); // calculate Newton step let delta = jac.lu().solve(&res); @@ -507,7 +507,7 @@ where } } -fn criticality_conditions, N: Gradients, D: DualNum + Copy>( +fn criticality_conditions, N: Gradients, D: DualNum + Copy>( eos: &E, temperature: D, density: D, @@ -548,7 +548,7 @@ where [l, c2] } -fn criticality_conditions_p, N: Gradients, D: DualNum + Copy>( +fn criticality_conditions_p, N: Gradients, D: DualNum + Copy>( eos: &E, pressure: D, temperature: D, @@ -575,7 +575,7 @@ where SVector::from([c1, c2, -p_calc + pressure]) } -fn stability_condition, N: Gradients, D: DualNum + Copy>( +fn stability_condition, N: Gradients, D: DualNum + Copy>( eos: &E, temperature: D, density: D, @@ -598,7 +598,7 @@ where l } -fn dmu_dn, N: Gradients, D: DualNum + Copy>( +fn dmu_dn, N: Gradients, D: DualNum + Copy>( eos: &E, temperature: D, molar_volume: D, diff --git a/crates/feos-core/src/state/mod.rs b/crates/feos-core/src/state/mod.rs index daa7a7ff4..94ea3c6e9 100644 --- a/crates/feos-core/src/state/mod.rs +++ b/crates/feos-core/src/state/mod.rs @@ -64,7 +64,7 @@ impl DensityInitialization { /// Properties are stored as generalized (hyper) dual numbers which allows /// for automatic differentiation. #[derive(Clone, Debug)] -pub struct StateHD + Copy, N: Dim = Dyn> +pub struct StateHD + Copy, N: Dim = Dyn> where DefaultAllocator: Allocator, { @@ -76,7 +76,7 @@ where pub partial_density: OVector, } -impl + Copy> StateHD +impl + Copy> StateHD where DefaultAllocator: Allocator, { @@ -137,7 +137,7 @@ where /// + [Stability analysis](#stability-analysis) /// + [Flash calculations](#flash-calculations) #[derive(Debug, Clone)] -pub struct State + Copy = f64> +pub struct State + Copy = f64> where DefaultAllocator: Allocator, { @@ -157,7 +157,7 @@ where cache: Cache, } -impl + Copy> State +impl + Copy> State where DefaultAllocator: Allocator, { @@ -192,7 +192,7 @@ where } } -impl, N: Dim, D: DualNum + Copy> fmt::Display for State +impl, N: Dim, D: DualNum + Copy> fmt::Display for State where DefaultAllocator: Allocator, { @@ -216,7 +216,7 @@ where } } -impl, N: Dim, D: DualNum + Copy> State +impl, N: Dim, D: DualNum + Copy> State where DefaultAllocator: Allocator, { @@ -403,7 +403,7 @@ where } } -impl, N: Gradients, D: DualNum + Copy> State +impl, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator, { @@ -600,7 +600,7 @@ fn is_close( (x - y).abs() <= atol + rtol * y.abs() } -fn newton, N: Dim, D: DualNum + Copy, F, X: Copy, Y>( +fn newton, N: Dim, D: DualNum + Copy, F, X: Copy, Y>( mut x0: Quantity, mut f: F, atol: Quantity, @@ -644,7 +644,7 @@ where /// /// There is no validation of the physical state, e.g. /// if resulting densities are below maximum packing fraction. -fn validate>( +fn validate>( temperature: Temperature, density: Density, molefracs: &OVector, diff --git a/crates/feos-core/src/state/properties.rs b/crates/feos-core/src/state/properties.rs index 132bad936..948d77dc0 100644 --- a/crates/feos-core/src/state/properties.rs +++ b/crates/feos-core/src/state/properties.rs @@ -10,7 +10,7 @@ use std::ops::{Div, Neg}; type InvP = Quantity::Output>; type InvT = Quantity::Output>; -impl, N: Gradients, D: DualNum + Copy> State +impl, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator, { @@ -269,7 +269,7 @@ where } } -impl + Molarweight, N: Gradients, D: DualNum + Copy> State +impl + Molarweight, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator, { diff --git a/crates/feos-core/src/state/residual_properties.rs b/crates/feos-core/src/state/residual_properties.rs index 184f1aa53..317961a3a 100644 --- a/crates/feos-core/src/state/residual_properties.rs +++ b/crates/feos-core/src/state/residual_properties.rs @@ -12,7 +12,7 @@ type InvP = Quantity::Output>; type POverT = Quantity>::Output>; /// # State properties -impl, N: Gradients, D: DualNum + Copy> State +impl, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator, { @@ -480,7 +480,7 @@ impl State { } } -impl, N: Gradients, D: DualNum + Copy> State +impl, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator, { @@ -585,7 +585,7 @@ where } } -impl + Molarweight, N: Gradients, D: DualNum + Copy> State +impl + Molarweight, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator, { @@ -628,7 +628,7 @@ where /// /// These properties are available for equations of state /// that implement the [EntropyScaling] trait. -impl + EntropyScaling, N: Gradients, D: DualNum + Copy> State +impl + EntropyScaling, N: Gradients, D: DualNum + Copy> State where DefaultAllocator: Allocator, { diff --git a/crates/feos-derive/src/dft.rs b/crates/feos-derive/src/dft.rs index e5dd7a343..185d2f7a1 100644 --- a/crates/feos-derive/src/dft.rs +++ b/crates/feos-derive/src/dft.rs @@ -67,7 +67,7 @@ pub(crate) fn impl_helmholtz_energy_functional( #(#contributions,)* } } - fn bond_lengths + Copy>(&self, temperature: N) -> petgraph::graph::UnGraph<(), N> { + fn bond_lengths + Copy>(&self, temperature: N) -> petgraph::graph::UnGraph<(), N> { match self { #(#bond_lengths,)* _ => petgraph::Graph::with_capacity(0, 0), diff --git a/crates/feos-derive/src/functional_contribution.rs b/crates/feos-derive/src/functional_contribution.rs index 44b8c957a..19519c0ce 100644 --- a/crates/feos-derive/src/functional_contribution.rs +++ b/crates/feos-derive/src/functional_contribution.rs @@ -56,17 +56,17 @@ fn impl_functional_contribution( #(#name,)* } } - fn weight_functions + Copy>(&self, temperature: N) -> feos_dft::WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> feos_dft::WeightFunctionInfo { match self { #(#weight_functions,)* } } - fn weight_functions_pdgt + Copy>(&self, temperature: N) -> feos_dft::WeightFunctionInfo { + fn weight_functions_pdgt + Copy>(&self, temperature: N) -> feos_dft::WeightFunctionInfo { match self { #(#weight_functions_pdgt,)* } } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ndarray::ArrayView2, diff --git a/crates/feos-derive/src/ideal_gas.rs b/crates/feos-derive/src/ideal_gas.rs index f9b5eb671..a1058b907 100644 --- a/crates/feos-derive/src/ideal_gas.rs +++ b/crates/feos-derive/src/ideal_gas.rs @@ -42,7 +42,7 @@ fn impl_ideal_gas( }); quote! { impl IdealGas for IdealGasModel { - fn ln_lambda3 + Copy>(&self, temperature: D) -> D { + fn ln_lambda3 + Copy>(&self, temperature: D) -> D { match self { #(#ln_lambda3,)* } diff --git a/crates/feos-derive/src/residual.rs b/crates/feos-derive/src/residual.rs index df3f5367f..1fab1e4bb 100644 --- a/crates/feos-derive/src/residual.rs +++ b/crates/feos-derive/src/residual.rs @@ -56,12 +56,12 @@ fn impl_residual( #(#components,)* } } - fn compute_max_density + Copy>(&self, moles: &DVector) -> D { + fn compute_max_density + Copy>(&self, moles: &DVector) -> D { match self { #(#compute_max_density,)* } } - fn reduced_helmholtz_energy_density_contributions + Copy>(&self, state: &StateHD) -> Vec<(&'static str, D)> { + fn reduced_helmholtz_energy_density_contributions + Copy>(&self, state: &StateHD) -> Vec<(&'static str, D)> { match self { #(#reduced_helmholtz_energy_density_contributions,)* } diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs index b59474085..fc3cf93be 100644 --- a/crates/feos-dft/src/adsorption/pore.rs +++ b/crates/feos-dft/src/adsorption/pore.rs @@ -184,7 +184,10 @@ where .dot(&Dimensionless::new(self.profile.bulk.molefracs.clone()))) } - fn _henry_coefficients + Copy + DctNum>(&self, temperature: N) -> DVector { + fn _henry_coefficients + Copy + DctNum>( + &self, + temperature: N, + ) -> DVector { if self.profile.bulk.eos.m().iter().any(|&m| m != 1.0) { panic!( "Henry coefficients can only be calculated for spherical and heterosegmented molecules!" @@ -302,11 +305,11 @@ impl ResidualDyn for Helium { fn components(&self) -> usize { 1 } - fn compute_max_density + Copy>(&self, _: &DVector) -> D { + fn compute_max_density + Copy>(&self, _: &DVector) -> D { D::from(1.0) } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { @@ -342,11 +345,11 @@ impl FluidParameters for &Helium { struct HeliumContribution; impl FunctionalContribution for HeliumContribution { - fn weight_functions + Copy>(&self, _: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, _: N) -> WeightFunctionInfo { unreachable!() } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, _: N, _: ArrayView2, diff --git a/crates/feos-dft/src/convolver/mod.rs b/crates/feos-dft/src/convolver/mod.rs index edca1f7e4..c047bcd0e 100644 --- a/crates/feos-dft/src/convolver/mod.rs +++ b/crates/feos-dft/src/convolver/mod.rs @@ -40,7 +40,7 @@ pub(crate) struct BulkConvolver { weight_constants: Vec>, } -impl + Copy + Send + Sync> BulkConvolver { +impl + Copy + Send + Sync> BulkConvolver { #[expect(clippy::new_ret_no_self)] pub(crate) fn new(weight_functions: Vec>) -> Arc> { let weight_constants = weight_functions @@ -51,7 +51,7 @@ impl + Copy + Send + Sync> BulkConvolver { } } -impl + Copy + Send + Sync> Convolver for BulkConvolver +impl + Copy + Send + Sync> Convolver for BulkConvolver where Array2: Dot, Output = Array1>, { @@ -127,7 +127,7 @@ pub struct ConvolverFFT { impl ConvolverFFT where - T: DctNum + DualNum, + T: DctNum + DualNum, D::Larger: Dimension, D::Smaller: Dimension, ::Larger: Dimension, @@ -159,7 +159,7 @@ where impl ConvolverFFT where - T: DctNum + DualNum, + T: DctNum + DualNum, D::Larger: Dimension, ::Larger: Dimension, { @@ -278,7 +278,7 @@ where impl ConvolverFFT where - T: DctNum + DualNum, + T: DctNum + DualNum, D::Larger: Dimension, ::Larger: Dimension, { @@ -370,7 +370,7 @@ where impl Convolver for ConvolverFFT where - T: DctNum + DualNum, + T: DctNum + DualNum, D::Larger: Dimension, ::Larger: Dimension, { @@ -555,7 +555,7 @@ struct CurvilinearConvolver { impl CurvilinearConvolver where - T: DctNum + DualNum, + T: DctNum + DualNum, D::Larger: Dimension, D::Smaller: Dimension, ::Larger: Dimension, @@ -576,7 +576,7 @@ where impl Convolver for CurvilinearConvolver where - T: DctNum + DualNum, + T: DctNum + DualNum, D::Smaller: Dimension, D::Larger: Dimension, { diff --git a/crates/feos-dft/src/convolver/periodic_convolver.rs b/crates/feos-dft/src/convolver/periodic_convolver.rs index bd594e451..dfb12ff06 100644 --- a/crates/feos-dft/src/convolver/periodic_convolver.rs +++ b/crates/feos-dft/src/convolver/periodic_convolver.rs @@ -26,7 +26,7 @@ pub struct PeriodicConvolver { impl PeriodicConvolver where - T: FftNum + DualNum, + T: FftNum + DualNum, D::Larger: Dimension, ::Larger: Dimension, { @@ -223,7 +223,7 @@ impl PeriodicConvolver { impl Convolver for PeriodicConvolver where - T: FftNum + DualNum, + T: FftNum + DualNum, D::Larger: Dimension, ::Larger: Dimension, { diff --git a/crates/feos-dft/src/convolver/transform.rs b/crates/feos-dft/src/convolver/transform.rs index abe4549e3..30e736d0a 100644 --- a/crates/feos-dft/src/convolver/transform.rs +++ b/crates/feos-dft/src/convolver/transform.rs @@ -24,7 +24,7 @@ impl SinCosTransform { } } -pub(super) trait FourierTransform>: Send + Sync { +pub(super) trait FourierTransform>: Send + Sync { fn forward_transform(&self, f_r: ArrayView1, f_k: ArrayViewMut1, scalar: bool); fn back_transform(&self, f_k: ArrayViewMut1, f_r: ArrayViewMut1, scalar: bool); @@ -34,7 +34,7 @@ pub(super) struct CartesianTransform { dct: Arc>, } -impl + DctNum> CartesianTransform { +impl + DctNum> CartesianTransform { #[expect(clippy::new_ret_no_self)] pub(super) fn new(axis: &Axis) -> (Box>, Array1) { let (s, k) = Self::init(axis); @@ -104,7 +104,7 @@ impl + DctNum> CartesianTransform { } } -impl + DctNum> FourierTransform for CartesianTransform { +impl + DctNum> FourierTransform for CartesianTransform { fn forward_transform(&self, f_r: ArrayView1, mut f_k: ArrayViewMut1, scalar: bool) { if scalar { f_k.slice_mut(s![..-1]).assign(&f_r); @@ -130,7 +130,7 @@ pub(super) struct SphericalTransform { dct: Arc>, } -impl + DctNum> SphericalTransform { +impl + DctNum> SphericalTransform { #[expect(clippy::new_ret_no_self)] pub(super) fn new(axis: &Axis) -> (Box>, Array1) { let points = axis.grid.len(); @@ -189,7 +189,7 @@ impl + DctNum> SphericalTransform { } } -impl + DctNum> FourierTransform for SphericalTransform { +impl + DctNum> FourierTransform for SphericalTransform { fn forward_transform(&self, f_r: ArrayView1, mut f_k: ArrayViewMut1, scalar: bool) { if scalar { self.sine_transform(&f_r * &self.r_grid, f_k.view_mut(), false); @@ -231,7 +231,7 @@ pub(super) struct PolarTransform { l: f64, } -impl + DctNum> PolarTransform { +impl + DctNum> PolarTransform { #[expect(clippy::new_ret_no_self)] pub(super) fn new(axis: &Axis) -> (Box>, Array1) { let points = axis.grid.len(); @@ -318,7 +318,7 @@ impl + DctNum> PolarTransform { } } -impl + DctNum> FourierTransform for PolarTransform { +impl + DctNum> FourierTransform for PolarTransform { fn forward_transform(&self, f_r: ArrayView1, f_k: ArrayViewMut1, scalar: bool) { self.transform(f_r, f_k, scalar, &self.r_grid, &self.k_grid, self.l); } @@ -339,12 +339,13 @@ pub(super) struct NoTransform(); impl NoTransform { #[expect(clippy::new_ret_no_self)] - pub(super) fn new>() -> (Box>, Array1) { + pub(super) fn new>() -> (Box>, Array1) + { (Box::new(Self()), arr1(&[0.0])) } } -impl> FourierTransform for NoTransform { +impl> FourierTransform for NoTransform { fn forward_transform(&self, f: ArrayView1, mut f_k: ArrayViewMut1, _: bool) { f_k.assign(&f); } diff --git a/crates/feos-dft/src/functional.rs b/crates/feos-dft/src/functional.rs index 8bad99d4c..f584f2110 100644 --- a/crates/feos-dft/src/functional.rs +++ b/crates/feos-dft/src/functional.rs @@ -28,7 +28,7 @@ impl HelmholtzEnergyFunctionalDyn self.residual.molecule_shape() } - fn bond_lengths + Copy>(&self, temperature: N) -> UnGraph<(), N> { + fn bond_lengths + Copy>(&self, temperature: N) -> UnGraph<(), N> { self.residual.bond_lengths(temperature) } } @@ -58,7 +58,7 @@ pub trait HelmholtzEnergyFunctionalDyn: ResidualDyn { fn molecule_shape(&self) -> MoleculeShape<'_>; /// Overwrite this, if the functional consists of heterosegmented chains. - fn bond_lengths + Copy>(&self, _temperature: N) -> UnGraph<(), N> { + fn bond_lengths + Copy>(&self, _temperature: N) -> UnGraph<(), N> { Graph::with_capacity(0, 0) } } @@ -76,7 +76,7 @@ pub trait HelmholtzEnergyFunctional: Residual { fn molecule_shape(&self) -> MoleculeShape<'_>; /// Overwrite this, if the functional consists of heterosegmented chains. - fn bond_lengths + Copy>(&self, _temperature: N) -> UnGraph<(), N> { + fn bond_lengths + Copy>(&self, _temperature: N) -> UnGraph<(), N> { Graph::with_capacity(0, 0) } @@ -112,7 +112,7 @@ pub trait HelmholtzEnergyFunctional: Residual { /// Calculate the (residual) intrinsic functional derivative $\frac{\delta\mathcal{\beta F}}{\delta\rho_i(\mathbf{r})}$. #[expect(clippy::type_complexity)] - fn functional_derivative + Copy>( + fn functional_derivative + Copy>( &self, temperature: N, density: &Array, @@ -147,7 +147,7 @@ pub trait HelmholtzEnergyFunctional: Residual { } /// Calculate the bond integrals $I_{\alpha\alpha'}(\mathbf{r})$ - fn bond_integrals + Copy>( + fn bond_integrals + Copy>( &self, temperature: N, exponential: &Array, @@ -228,7 +228,10 @@ pub trait HelmholtzEnergyFunctional: Residual { i } - fn evaluate_bulk + Copy>(&self, state: &StateHD) -> Vec<(&'static str, D)> { + fn evaluate_bulk + Copy>( + &self, + state: &StateHD, + ) -> Vec<(&'static str, D)> { let mut res: Vec<_> = self .contributions() .map(|c| (c.name(), c.bulk_helmholtz_energy_density(state))) @@ -258,7 +261,7 @@ impl + Clone, F: HelmholtzEnergyFunctionalDyn + ResidualDyn F::molecule_shape(self.deref()) } - fn bond_lengths + Copy>(&self, temperature: N) -> UnGraph<(), N> { + fn bond_lengths + Copy>(&self, temperature: N) -> UnGraph<(), N> { F::bond_lengths(self.deref(), temperature) } } diff --git a/crates/feos-dft/src/functional_contribution.rs b/crates/feos-dft/src/functional_contribution.rs index 874df0ac1..ff9e6f9a6 100644 --- a/crates/feos-dft/src/functional_contribution.rs +++ b/crates/feos-dft/src/functional_contribution.rs @@ -11,10 +11,13 @@ pub trait FunctionalContribution: Sync + Send { fn name(&self) -> &'static str; /// Return the weight functions required in this contribution. - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo; + fn weight_functions + Copy>( + &self, + temperature: N, + ) -> WeightFunctionInfo; /// Overwrite this if the weight functions in pDGT are different than for DFT. - fn weight_functions_pdgt + Copy>( + fn weight_functions_pdgt + Copy>( &self, temperature: N, ) -> WeightFunctionInfo { @@ -22,13 +25,16 @@ pub trait FunctionalContribution: Sync + Send { } /// Return the Helmholtz energy density for the given temperature and weighted densities. - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, ) -> FeosResult>; - fn bulk_helmholtz_energy_density + Copy>(&self, state: &StateHD) -> N { + fn bulk_helmholtz_energy_density + Copy>( + &self, + state: &StateHD, + ) -> N { // calculate weight functions let weight_functions = self.weight_functions(state.temperature); @@ -46,7 +52,7 @@ pub trait FunctionalContribution: Sync + Send { .unwrap()[0] } - fn first_partial_derivatives + Copy>( + fn first_partial_derivatives + Copy>( &self, temperature: N, weighted_densities: Array2, diff --git a/crates/feos-dft/src/ideal_chain_contribution.rs b/crates/feos-dft/src/ideal_chain_contribution.rs index f054bbbc3..86c9f39e9 100644 --- a/crates/feos-dft/src/ideal_chain_contribution.rs +++ b/crates/feos-dft/src/ideal_chain_contribution.rs @@ -18,7 +18,7 @@ impl IdealChainContribution { } } - pub fn bulk_helmholtz_energy_density + Copy>( + pub fn bulk_helmholtz_energy_density + Copy>( &self, partial_density: &DVector, ) -> D { @@ -43,7 +43,7 @@ impl IdealChainContribution { where D: Dimension, D::Larger: Dimension, - N: DualNum, + N: DualNum, { let mut phi = Array::zeros(density.raw_dim().remove_axis(Axis(0))); for (i, rhoi) in density.outer_iter().enumerate() { diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index 6497faa23..37f5e3aa9 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -180,7 +180,7 @@ impl DFTProfile where D::Larger: Dimension, { - fn integrate_reduced + Copy>(&self, mut profile: Array) -> N { + fn integrate_reduced + Copy>(&self, mut profile: Array) -> N { let (integration_weights, functional_determinant) = self.grid.integration_weights(); for (i, w) in integration_weights.into_iter().enumerate() { @@ -191,7 +191,7 @@ where profile.sum() * functional_determinant } - fn integrate_reduced_comp, N: DualNum + Copy>( + fn integrate_reduced_comp, N: DualNum + Copy>( &self, profile: &ArrayBase, ) -> Array1 { @@ -200,7 +200,10 @@ where }) } - pub(crate) fn integrate_reduced_segments, N: DualNum + Copy>( + pub(crate) fn integrate_reduced_segments< + S: Data, + N: DualNum + Copy, + >( &self, profile: &ArrayBase, ) -> DVector { diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs index 2fe6a92a9..1c0427b28 100644 --- a/crates/feos-dft/src/profile/properties.rs +++ b/crates/feos-dft/src/profile/properties.rs @@ -82,7 +82,7 @@ where convolver: &dyn Convolver, ) -> FeosResult> where - N: DualNum + Copy, + N: DualNum + Copy, { let density_dual = density.mapv(N::from); let weighted_densities = convolver.weighted_densities(&density_dual); diff --git a/crates/feos-dft/src/weight_functions.rs b/crates/feos-dft/src/weight_functions.rs index e488799a8..912b21a1f 100644 --- a/crates/feos-dft/src/weight_functions.rs +++ b/crates/feos-dft/src/weight_functions.rs @@ -16,7 +16,7 @@ pub struct WeightFunction { pub shape: WeightFunctionShape, } -impl + Copy> WeightFunction { +impl + Copy> WeightFunction { /// Create a new weight function without prefactor pub fn new_unscaled(kernel_radius: DVector, shape: WeightFunctionShape) -> Self { Self { @@ -40,7 +40,7 @@ impl + Copy> WeightFunction { /// Calculates the value of the scalar weight function depending on its shape /// `k_abs` describes the absolute value of the Fourier variable - pub(crate) fn fft_scalar_weight_functions>( + pub(crate) fn fft_scalar_weight_functions>( &self, k_abs: &Array, lanczos: &Option>, @@ -90,7 +90,7 @@ impl + Copy> WeightFunction { /// Calculates the value of the vector weight function depending on its shape /// `k_abs` describes the absolute value of the Fourier variable /// `k` describes the (potentially multi-dimensional) Fourier variable - pub(crate) fn fft_vector_weight_functions>( + pub(crate) fn fft_vector_weight_functions>( &self, k_abs: &Array, k: &Array, @@ -277,7 +277,7 @@ impl WeightFunctionInfo { } } -impl + Copy> WeightFunctionInfo { +impl + Copy> WeightFunctionInfo { /// calculates the matrix of weight constants for this set of weighted densities pub fn weight_constants(&self, k: T, dimensions: usize) -> Array2 { let segments = self.component_index.len(); diff --git a/crates/feos/benches/dual_numbers.rs b/crates/feos/benches/dual_numbers.rs index eb2eff2e4..593da2cae 100644 --- a/crates/feos/benches/dual_numbers.rs +++ b/crates/feos/benches/dual_numbers.rs @@ -26,7 +26,7 @@ fn state_pcsaft(n: usize, eos: &PcSaft) -> State<&PcSaft> { } /// Residual Helmholtz energy given an equation of state and a StateHD. -fn a_res + Copy, E: Residual>((eos, state): (&E, &StateHD)) -> D { +fn a_res + Copy, E: Residual>((eos, state): (&E, &StateHD)) -> D { eos.reduced_residual_helmholtz_energy_density(state) } diff --git a/crates/feos/benches/dual_numbers_saftvrmie.rs b/crates/feos/benches/dual_numbers_saftvrmie.rs index 80f4da09d..a92698f59 100644 --- a/crates/feos/benches/dual_numbers_saftvrmie.rs +++ b/crates/feos/benches/dual_numbers_saftvrmie.rs @@ -30,11 +30,11 @@ fn state_saftvrmie(n: usize, eos: &SaftVRMie) -> State<&SaftVRMie> { } /// Residual Helmholtz energy given an equation of state and a StateHD. -fn a_res + Copy, E: Residual>((eos, state): (&E, &StateHD)) -> D { +fn a_res + Copy, E: Residual>((eos, state): (&E, &StateHD)) -> D { eos.reduced_residual_helmholtz_energy_density(state) } -fn d_hs + Copy>(inp: (&SaftVRMie, D)) -> D { +fn d_hs + Copy>(inp: (&SaftVRMie, D)) -> D { inp.0.params.hs_diameter(inp.1)[0] } diff --git a/crates/feos/src/association/dft.rs b/crates/feos/src/association/dft.rs index 9e62fe929..2e12d164c 100644 --- a/crates/feos/src/association/dft.rs +++ b/crates/feos/src/association/dft.rs @@ -15,7 +15,7 @@ impl Association { /// Uses the contact value of hard-sphere pair correlation function and model-specific /// implementations for the bonding volume. #[expect(clippy::too_many_arguments)] - fn yu_wu_association_strength + Copy>( + fn yu_wu_association_strength + Copy>( &self, parameters: &AssociationParameters, model: &A, @@ -98,7 +98,7 @@ where "Association" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let p = self.model; let r = p.hs_diameter(temperature) * N::from(0.5); let [_, _, _, c3] = p.geometry_coefficients(temperature); @@ -125,7 +125,7 @@ where ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, @@ -191,7 +191,7 @@ where } impl<'a, A: AssociationStrength> YuWuAssociationFunctional<'a, A> { - pub fn _helmholtz_energy_density + Copy, S: Data>( + pub fn _helmholtz_energy_density + Copy, S: Data>( &self, temperature: N, rho0: &Array2, @@ -268,7 +268,7 @@ impl<'a, A: AssociationStrength> YuWuAssociationFunctional<'a, A> { } #[expect(clippy::too_many_arguments)] - fn helmholtz_energy_density_ab_analytic + Copy, S: Data>( + fn helmholtz_energy_density_ab_analytic + Copy, S: Data>( &self, parameters: Option<&A::Record>, temperature: N, @@ -314,7 +314,7 @@ impl<'a, A: AssociationStrength> YuWuAssociationFunctional<'a, A> { } #[expect(clippy::too_many_arguments)] - fn helmholtz_energy_density_cc_analytic + Copy, S: Data>( + fn helmholtz_energy_density_cc_analytic + Copy, S: Data>( &self, parameters: Option<&A::Record>, temperature: N, diff --git a/crates/feos/src/association/mod.rs b/crates/feos/src/association/mod.rs index 161cae031..e665437cb 100644 --- a/crates/feos/src/association/mod.rs +++ b/crates/feos/src/association/mod.rs @@ -25,7 +25,7 @@ pub trait AssociationStrength: HardSphereProperties { type Record; /// Association strength excluding the contact value of the pair correlation function. - fn association_strength_ij + Copy>( + fn association_strength_ij + Copy>( &self, temperature: D, comp_i: usize, @@ -34,7 +34,7 @@ pub trait AssociationStrength: HardSphereProperties { ) -> D; /// Association strength matrix for all association sites. - fn association_strength + Copy>( + fn association_strength + Copy>( &self, state: &StateHD, diameter: &DVector, @@ -91,7 +91,7 @@ impl Association { } #[inline] - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, model: &A, parameters: &AssociationParameters, @@ -136,7 +136,7 @@ impl Association { } } - fn helmholtz_energy_density_ab_analytic + Copy>( + fn helmholtz_energy_density_ab_analytic + Copy>( &self, parameters: &AssociationParameters, state: &StateHD, @@ -165,7 +165,7 @@ impl Association { rhoa * (xa.ln() - xa * 0.5 + 0.5) + rhob * (xb.ln() - xb * 0.5 + 0.5) } - fn helmholtz_energy_density_cc_analytic + Copy>( + fn helmholtz_energy_density_cc_analytic + Copy>( &self, parameters: &AssociationParameters, state: &StateHD, @@ -183,7 +183,7 @@ impl Association { rhoc * (xc.ln() - xc * 0.5 + 0.5) } - fn helmholtz_energy_density_cross_association + Copy>( + fn helmholtz_energy_density_cross_association + Copy>( &self, rho: &DVector, delta_ab: &DMatrix, @@ -239,7 +239,7 @@ impl Association { Ok(rho.dot(&x_dual.map(f))) } - fn newton_step_cross_association + Copy>( + fn newton_step_cross_association + Copy>( x: &mut DVector, delta_ab: &DMatrix, delta_cc: &DMatrix, diff --git a/crates/feos/src/epcsaft/eos/born.rs b/crates/feos/src/epcsaft/eos/born.rs index edd633e0e..74109c7fd 100644 --- a/crates/feos/src/epcsaft/eos/born.rs +++ b/crates/feos/src/epcsaft/eos/born.rs @@ -8,7 +8,7 @@ use num_dual::DualNum; pub struct Born; impl Born { - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &ElectrolytePcSaftPars, state: &StateHD, diff --git a/crates/feos/src/epcsaft/eos/dispersion.rs b/crates/feos/src/epcsaft/eos/dispersion.rs index 374fc0c5f..0cdb12c3c 100644 --- a/crates/feos/src/epcsaft/eos/dispersion.rs +++ b/crates/feos/src/epcsaft/eos/dispersion.rs @@ -62,7 +62,7 @@ pub const B2: [f64; 7] = [ pub const T_REF: f64 = 298.15; impl ElectrolytePcSaftPars { - pub fn k_ij_t + Copy>(&self, temperature: D) -> DMatrix { + pub fn k_ij_t + Copy>(&self, temperature: D) -> DMatrix { let n = self.m.len(); let mut k_ij_t = DMatrix::zeros(n, n); @@ -79,7 +79,7 @@ impl ElectrolytePcSaftPars { k_ij_t } - pub fn epsilon_k_ij_t + Copy>(&self, temperature: D) -> DMatrix { + pub fn epsilon_k_ij_t + Copy>(&self, temperature: D) -> DMatrix { let k_ij_t = self.k_ij_t(temperature); let n = self.m.len(); @@ -97,7 +97,7 @@ impl ElectrolytePcSaftPars { pub struct Dispersion; impl Dispersion { - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &ElectrolytePcSaftPars, state: &StateHD, diff --git a/crates/feos/src/epcsaft/eos/hard_chain.rs b/crates/feos/src/epcsaft/eos/hard_chain.rs index 534aad267..c467a740b 100644 --- a/crates/feos/src/epcsaft/eos/hard_chain.rs +++ b/crates/feos/src/epcsaft/eos/hard_chain.rs @@ -8,7 +8,7 @@ pub struct HardChain; impl HardChain { #[inline] - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &ElectrolytePcSaftPars, state: &StateHD, diff --git a/crates/feos/src/epcsaft/eos/ionic.rs b/crates/feos/src/epcsaft/eos/ionic.rs index d2577d91c..56acf6301 100644 --- a/crates/feos/src/epcsaft/eos/ionic.rs +++ b/crates/feos/src/epcsaft/eos/ionic.rs @@ -12,7 +12,7 @@ const QE: f64 = 1.602176634e-19f64; const BOLTZMANN: f64 = 1.380649e-23; impl ElectrolytePcSaftPars { - pub fn bjerrum_length + Copy>( + pub fn bjerrum_length + Copy>( &self, state: &StateHD, epcsaft_variant: ElectrolytePcSaftVariants, @@ -36,7 +36,7 @@ impl ElectrolytePcSaftPars { pub struct Ionic; impl Ionic { - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &ElectrolytePcSaftPars, state: &StateHD, diff --git a/crates/feos/src/epcsaft/eos/mod.rs b/crates/feos/src/epcsaft/eos/mod.rs index 5a0a8c81f..dec36181f 100644 --- a/crates/feos/src/epcsaft/eos/mod.rs +++ b/crates/feos/src/epcsaft/eos/mod.rs @@ -97,7 +97,7 @@ impl ResidualDyn for ElectrolytePcSaft { self.parameters.pure.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let msigma3 = self .params .m @@ -105,7 +105,7 @@ impl ResidualDyn for ElectrolytePcSaft { (msigma3.map(D::from).dot(molefracs) * FRAC_PI_6).recip() * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos/src/epcsaft/eos/permittivity.rs b/crates/feos/src/epcsaft/eos/permittivity.rs index abbc0ac90..0202f1957 100644 --- a/crates/feos/src/epcsaft/eos/permittivity.rs +++ b/crates/feos/src/epcsaft/eos/permittivity.rs @@ -20,11 +20,11 @@ pub enum PermittivityRecord { } #[derive(Clone)] -pub struct Permittivity> { +pub struct Permittivity> { pub permittivity: D, } -impl + Copy> Permittivity { +impl + Copy> Permittivity { pub fn new( state: &StateHD, parameters: &ElectrolytePcSaftPars, diff --git a/crates/feos/src/epcsaft/parameters.rs b/crates/feos/src/epcsaft/parameters.rs index 364de81e1..20d121d63 100644 --- a/crates/feos/src/epcsaft/parameters.rs +++ b/crates/feos/src/epcsaft/parameters.rs @@ -160,7 +160,7 @@ pub struct ElectrolytePcSaftPars { } impl ElectrolytePcSaftPars { - pub fn sigma_t + Copy>(&self, temperature: D) -> DVector { + pub fn sigma_t + Copy>(&self, temperature: D) -> DVector { let mut sigma_t = DVector::from_fn(self.sigma.len(), |i, _| D::from(self.sigma[i])); if let Some(i) = self.water_sigma_t_comp { @@ -171,7 +171,7 @@ impl ElectrolytePcSaftPars { sigma_t } - pub fn sigma_ij_t + Copy>(&self, temperature: D) -> DMatrix { + pub fn sigma_ij_t + Copy>(&self, temperature: D) -> DMatrix { let diameter = self.sigma_t(temperature); let n = diameter.len(); @@ -357,11 +357,11 @@ impl ElectrolytePcSaftPars { } impl HardSphereProperties for ElectrolytePcSaftPars { - fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { + fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { MonomerShape::NonSpherical(self.m.map(N::from)) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { let sigma_t = self.sigma_t(temperature); let ti = temperature.recip() * -3.0; @@ -379,7 +379,7 @@ impl HardSphereProperties for ElectrolytePcSaftPars { impl AssociationStrength for ElectrolytePcSaftPars { type Record = ElectrolytePcSaftAssociationRecord; - fn association_strength_ij + Copy>( + fn association_strength_ij + Copy>( &self, temperature: D, comp_i: usize, diff --git a/crates/feos/src/gc_pcsaft/dft/dispersion.rs b/crates/feos/src/gc_pcsaft/dft/dispersion.rs index 25338e33c..d0bd82ac0 100644 --- a/crates/feos/src/gc_pcsaft/dft/dispersion.rs +++ b/crates/feos/src/gc_pcsaft/dft/dispersion.rs @@ -23,7 +23,7 @@ impl<'a> FunctionalContribution for AttractiveFunctional<'a> { "Attractive functional (GC)" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let p = &self.parameters; let d = p.hs_diameter(temperature); @@ -36,7 +36,7 @@ impl<'a> FunctionalContribution for AttractiveFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, density: ArrayView2, diff --git a/crates/feos/src/gc_pcsaft/dft/hard_chain.rs b/crates/feos/src/gc_pcsaft/dft/hard_chain.rs index ddf0951a4..ccc33055c 100644 --- a/crates/feos/src/gc_pcsaft/dft/hard_chain.rs +++ b/crates/feos/src/gc_pcsaft/dft/hard_chain.rs @@ -22,7 +22,7 @@ impl<'a> FunctionalContribution for ChainFunctional<'a> { "Hard chain functional (GC)" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let p = &self.parameters; let d = p.hs_diameter(temperature); WeightFunctionInfo::new(p.component_index.clone(), true) @@ -44,7 +44,7 @@ impl<'a> FunctionalContribution for ChainFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, diff --git a/crates/feos/src/gc_pcsaft/dft/mod.rs b/crates/feos/src/gc_pcsaft/dft/mod.rs index 18ba4c793..e30b8014a 100644 --- a/crates/feos/src/gc_pcsaft/dft/mod.rs +++ b/crates/feos/src/gc_pcsaft/dft/mod.rs @@ -78,7 +78,7 @@ impl ResidualDyn for GcPcSaftFunctional { self.parameters.molar_weight.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let p = &self.params; let msigma3 = p.m.zip_map(&p.sigma, |m, s| m * s.powi(3) * m); let molefracs_segments: DVector<_> = p @@ -90,7 +90,7 @@ impl ResidualDyn for GcPcSaftFunctional { (msigma3.map(D::from).dot(&molefracs_segments) * FRAC_PI_6).recip() * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { @@ -131,7 +131,7 @@ impl HelmholtzEnergyFunctionalDyn for GcPcSaftFunctional { contributions.into_iter() } - fn bond_lengths + Copy>(&self, temperature: N) -> UnGraph<(), N> { + fn bond_lengths + Copy>(&self, temperature: N) -> UnGraph<(), N> { // temperature dependent segment diameter let d = self.params.hs_diameter(temperature); @@ -154,12 +154,12 @@ impl Molarweight for GcPcSaftFunctional { } impl HardSphereProperties for GcPcSaftFunctionalParameters { - fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { + fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { let m = self.m.map(N::from); MonomerShape::Heterosegmented([m.clone(), m.clone(), m.clone(), m], &self.component_index) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { let ti = temperature.recip() * -3.0; DVector::from_fn(self.sigma.len(), |i, _| { -((ti * self.epsilon_k[i]).exp() * 0.12 - 1.0) * self.sigma[i] @@ -170,7 +170,7 @@ impl HardSphereProperties for GcPcSaftFunctionalParameters { impl AssociationStrength for GcPcSaftFunctionalParameters { type Record = GcPcSaftAssociationRecord; - fn association_strength_ij + Copy>( + fn association_strength_ij + Copy>( &self, temperature: D, comp_i: usize, diff --git a/crates/feos/src/gc_pcsaft/eos/ad.rs b/crates/feos/src/gc_pcsaft/eos/ad.rs index 72b251eaa..c7f5d1d41 100644 --- a/crates/feos/src/gc_pcsaft/eos/ad.rs +++ b/crates/feos/src/gc_pcsaft/eos/ad.rs @@ -184,7 +184,7 @@ pub struct GcPcSaftADParameters { pub bonds: [Vec<([usize; 2], D)>; N], } -impl + Copy, const N: usize> GcPcSaftADParameters { +impl + Copy, const N: usize> GcPcSaftADParameters { pub fn re(&self) -> GcPcSaftADParameters { let Self { groups, bonds } = self; let groups = groups.map(|g| g.re()); @@ -195,7 +195,7 @@ impl + Copy, const N: usize> GcPcSaftADParameters { } } -impl + Copy, const N: usize> GcPcSaftADParameters { +impl + Copy, const N: usize> GcPcSaftADParameters { pub fn from_groups( group_map: [&HashMap<&'static str, D>; N], bond_map: [&HashMap<[&'static str; 2], D>; N], @@ -220,17 +220,19 @@ impl + Copy, const N: usize> GcPcSaftADParameters { #[derive(Clone)] pub struct GcPcSaftAD(pub GcPcSaftADParameters); -impl + Copy, const N: usize> Residual, D> for GcPcSaftAD { +impl + Copy, const N: usize> Residual, D> + for GcPcSaftAD +{ fn components(&self) -> usize { N } type Real = GcPcSaftAD; - type Lifted + Copy> = GcPcSaftAD; + type Lifted + Copy> = GcPcSaftAD; fn re(&self) -> Self::Real { GcPcSaftAD(self.0.re()) } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { let GcPcSaftADParameters { groups, bonds } = &self.0; let groups = groups.map(|x| D2::from_inner(&x)); let bonds = bonds @@ -416,7 +418,7 @@ impl + Copy, const N: usize> Residual, D> for GcPcSaftA } } -fn apply_group_count + Copy, const N: usize>( +fn apply_group_count + Copy, const N: usize>( groups: &SMatrix, x: &SVector, ) -> SMatrix { @@ -426,7 +428,7 @@ fn apply_group_count + Copy, const N: usize>( ms } -fn pair_integral + Copy>(mij1: D, mij2: D, eta: D, eps_ij_t: D) -> D { +fn pair_integral + Copy>(mij1: D, mij2: D, eta: D, eps_ij_t: D) -> D { let mut eta_i = D::one(); let mut j = D::zero(); for (ad, bd) in AD.into_iter().zip(BD) { @@ -438,7 +440,7 @@ fn pair_integral + Copy>(mij1: D, mij2: D, eta: D, eps_ij_t: D) j } -fn triplet_integral + Copy>(mij1: D, mij2: D, eta: D) -> D { +fn triplet_integral + Copy>(mij1: D, mij2: D, eta: D) -> D { let mut eta_i = D::one(); let mut j = D::zero(); for cd in CD { diff --git a/crates/feos/src/gc_pcsaft/eos/dispersion.rs b/crates/feos/src/gc_pcsaft/eos/dispersion.rs index 3f464507d..f9870624b 100644 --- a/crates/feos/src/gc_pcsaft/eos/dispersion.rs +++ b/crates/feos/src/gc_pcsaft/eos/dispersion.rs @@ -62,7 +62,7 @@ pub const B2: [f64; 7] = [ pub(super) struct Dispersion; impl Dispersion { - pub(super) fn helmholtz_energy_density + Copy>( + pub(super) fn helmholtz_energy_density + Copy>( &self, parameters: &GcPcSaftEosParameters, state: &StateHD, diff --git a/crates/feos/src/gc_pcsaft/eos/hard_chain.rs b/crates/feos/src/gc_pcsaft/eos/hard_chain.rs index f67dffda4..e9fec009b 100644 --- a/crates/feos/src/gc_pcsaft/eos/hard_chain.rs +++ b/crates/feos/src/gc_pcsaft/eos/hard_chain.rs @@ -6,7 +6,7 @@ use num_dual::*; pub(super) struct HardChain; impl HardChain { - pub(super) fn helmholtz_energy_density + Copy>( + pub(super) fn helmholtz_energy_density + Copy>( &self, parameters: &GcPcSaftEosParameters, state: &StateHD, diff --git a/crates/feos/src/gc_pcsaft/eos/mod.rs b/crates/feos/src/gc_pcsaft/eos/mod.rs index ae6acf960..3612164db 100644 --- a/crates/feos/src/gc_pcsaft/eos/mod.rs +++ b/crates/feos/src/gc_pcsaft/eos/mod.rs @@ -77,7 +77,7 @@ impl ResidualDyn for GcPcSaft { self.parameters.molar_weight.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let p = &self.params; let molefracs_segments = DVector::from(p.component_index.clone()).map(|i| molefracs[i]); (p.m.component_mul(&p.sigma.map(|v| v.powi(3))) @@ -88,7 +88,7 @@ impl ResidualDyn for GcPcSaft { * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &feos_core::StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos/src/gc_pcsaft/eos/parameter.rs b/crates/feos/src/gc_pcsaft/eos/parameter.rs index dc662c60a..f702876dd 100644 --- a/crates/feos/src/gc_pcsaft/eos/parameter.rs +++ b/crates/feos/src/gc_pcsaft/eos/parameter.rs @@ -110,12 +110,12 @@ impl GcPcSaftEosParameters { } impl HardSphereProperties for GcPcSaftEosParameters { - fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { + fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { let m = self.m.map(N::from); MonomerShape::Heterosegmented([m.clone(), m.clone(), m.clone(), m], &self.component_index) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { let ti = temperature.recip() * -3.0; DVector::from_fn(self.sigma.len(), |i, _| { -((ti * self.epsilon_k[i]).exp() * 0.12 - 1.0) * self.sigma[i] @@ -126,7 +126,7 @@ impl HardSphereProperties for GcPcSaftEosParameters { impl AssociationStrength for GcPcSaftEosParameters { type Record = GcPcSaftAssociationRecord; - fn association_strength_ij + Copy>( + fn association_strength_ij + Copy>( &self, temperature: D, comp_i: usize, diff --git a/crates/feos/src/gc_pcsaft/eos/polar.rs b/crates/feos/src/gc_pcsaft/eos/polar.rs index 33073a77b..5f92afdca 100644 --- a/crates/feos/src/gc_pcsaft/eos/polar.rs +++ b/crates/feos/src/gc_pcsaft/eos/polar.rs @@ -31,7 +31,7 @@ pub const CD: [[f64; 3]; 4] = [ pub const PI_SQ_43: f64 = 4.0 * PI * FRAC_PI_3; -fn pair_integral_ij + Copy>(mij1: f64, mij2: f64, eta: D, eps_ij_t: D) -> D { +fn pair_integral_ij + Copy>(mij1: f64, mij2: f64, eta: D, eps_ij_t: D) -> D { let eta2 = eta * eta; let etas = [D::one(), eta, eta2, eta2 * eta, eta2 * eta2]; (0..AD.len()) @@ -43,7 +43,7 @@ fn pair_integral_ij + Copy>(mij1: f64, mij2: f64, eta: D, eps_ij .sum() } -fn triplet_integral_ijk + Copy>(mijk1: f64, mijk2: f64, eta: D) -> D { +fn triplet_integral_ijk + Copy>(mijk1: f64, mijk2: f64, eta: D) -> D { let eta2 = eta * eta; let etas = [D::one(), eta, eta2, eta2 * eta]; (0..CD.len()) @@ -121,7 +121,7 @@ impl Dipole { } impl Dipole { - pub(super) fn helmholtz_energy_density + Copy>( + pub(super) fn helmholtz_energy_density + Copy>( &self, parameters: &GcPcSaftEosParameters, state: &StateHD, diff --git a/crates/feos/src/hard_sphere/dft.rs b/crates/feos/src/hard_sphere/dft.rs index d48d6327a..9c654e01b 100644 --- a/crates/feos/src/hard_sphere/dft.rs +++ b/crates/feos/src/hard_sphere/dft.rs @@ -83,7 +83,7 @@ impl<'p, P: HardSphereProperties + Send + Sync> FunctionalContribution for FMTCo } } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let r = self.properties.hs_diameter(temperature) * N::from(0.5); let [c0, c1, c2, c3] = self.properties.geometry_coefficients(temperature); match (self.version, r.len()) { @@ -183,7 +183,7 @@ impl<'p, P: HardSphereProperties + Send + Sync> FunctionalContribution for FMTCo } } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, @@ -285,7 +285,7 @@ impl HardSphereProperties for HardSphereParameters { MonomerShape::Spherical(self.sigma.len()) } - fn hs_diameter>(&self, _: N) -> DVector { + fn hs_diameter>(&self, _: N) -> DVector { self.sigma.map(N::from) } } @@ -323,11 +323,11 @@ impl ResidualDyn for FMTFunctional { self.properties.sigma.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { molefracs.dot(&self.properties.sigma.map(D::from)).recip() * 1.2 } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos/src/hard_sphere/mod.rs b/crates/feos/src/hard_sphere/mod.rs index 40d4936b4..a4a842768 100644 --- a/crates/feos/src/hard_sphere/mod.rs +++ b/crates/feos/src/hard_sphere/mod.rs @@ -27,10 +27,10 @@ pub enum MonomerShape<'a, D> { /// Properties of (generalized) hard sphere systems. pub trait HardSphereProperties { /// The [MonomerShape] used in the model. - fn monomer_shape + Copy>(&self, temperature: D) -> MonomerShape<'_, D>; + fn monomer_shape + Copy>(&self, temperature: D) -> MonomerShape<'_, D>; /// The temperature dependent hard-sphere diameters of every segment. - fn hs_diameter + Copy>(&self, temperature: D) -> DVector; + fn hs_diameter + Copy>(&self, temperature: D) -> DVector; /// For every segment, the index of the component that it is on. fn component_index(&self) -> Cow<'_, [usize]> { @@ -44,7 +44,7 @@ pub trait HardSphereProperties { } /// The geometry coefficients $C_{k,\alpha}$ for every segment. - fn geometry_coefficients + Copy>(&self, temperature: D) -> [DVector; 4] { + fn geometry_coefficients + Copy>(&self, temperature: D) -> [DVector; 4] { match self.monomer_shape(temperature) { MonomerShape::Spherical(n) => { let m = DVector::from_element(n, D::from(1.0)); @@ -56,7 +56,7 @@ pub trait HardSphereProperties { } /// The packing fractions $\zeta_k$. - fn zeta + Copy, const N: usize>( + fn zeta + Copy, const N: usize>( &self, temperature: D, partial_density: &DVector, @@ -94,7 +94,7 @@ impl HardSphere { /// Returns the Helmholtz energy, packing fractions, and temperature dependent diameters without redundant calculations. #[inline] pub fn helmholtz_energy_density_and_properties< - D: DualNum + Copy, + D: DualNum + Copy, P: HardSphereProperties, >( &self, @@ -126,7 +126,7 @@ impl HardSphere { } #[inline] - pub fn helmholtz_energy_density + Copy, P: HardSphereProperties>( + pub fn helmholtz_energy_density + Copy, P: HardSphereProperties>( &self, parameters: &P, state: &StateHD, diff --git a/crates/feos/src/ideal_gas/dippr.rs b/crates/feos/src/ideal_gas/dippr.rs index f976fbe11..7dce54223 100644 --- a/crates/feos/src/ideal_gas/dippr.rs +++ b/crates/feos/src/ideal_gas/dippr.rs @@ -55,7 +55,7 @@ impl Dippr { } } - fn c_p_integral + Copy>(&self, t: D) -> D { + fn c_p_integral + Copy>(&self, t: D) -> D { match self { Self::DIPPR100(coefs) => coefs .iter() @@ -79,7 +79,7 @@ impl Dippr { } } - fn c_p_t_integral + Copy>(&self, t: D) -> D { + fn c_p_t_integral + Copy>(&self, t: D) -> D { match self { Self::DIPPR100(coefs) => { coefs @@ -140,7 +140,7 @@ const RGAS: f64 = 8.31446261815324 * 1000.0; const T0: f64 = 298.15; impl IdealGas for Dippr { - fn ln_lambda3 + Copy>(&self, temperature: D) -> D { + fn ln_lambda3 + Copy>(&self, temperature: D) -> D { let t = temperature; let h = self.c_p_integral(t) - self.c_p_integral(T0); let s = self.c_p_t_integral(t) - self.c_p_t_integral(T0); @@ -152,16 +152,16 @@ impl IdealGas for Dippr { } } -impl + Copy> IdealGasAD for Dippr { +impl + Copy> IdealGasAD for Dippr { type Real = Self; - type Lifted + Copy> = Self; + type Lifted + Copy> = Self; fn re(&self) -> Self::Real { self.clone() } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { self.clone() } diff --git a/crates/feos/src/ideal_gas/joback.rs b/crates/feos/src/ideal_gas/joback.rs index e30c630b2..85a79097a 100644 --- a/crates/feos/src/ideal_gas/joback.rs +++ b/crates/feos/src/ideal_gas/joback.rs @@ -97,8 +97,11 @@ impl Joback { } } -impl + Copy> Joback { - fn ln_lambda3 + Copy + Mul>(&self, temperature: D2) -> D2 { +impl + Copy> Joback { + fn ln_lambda3 + Copy + Mul>( + &self, + temperature: D2, + ) -> D2 { let [a, b, c, d, e] = self.0; let t = temperature; let t2 = t * t; @@ -119,7 +122,7 @@ impl + Copy> Joback { } impl IdealGas for Joback { - fn ln_lambda3 + Copy>(&self, temperature: D) -> D { + fn ln_lambda3 + Copy>(&self, temperature: D) -> D { self.ln_lambda3(temperature) } @@ -128,13 +131,13 @@ impl IdealGas for Joback { } } -impl + Copy> IdealGasAD for Joback { +impl + Copy> IdealGasAD for Joback { type Real = Joback; - type Lifted + Copy> = Joback; + type Lifted + Copy> = Joback; fn re(&self) -> Self::Real { Joback(self.0.each_ref().map(D::re)) } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { Joback(self.0.each_ref().map(D2::from_inner)) } @@ -170,7 +173,7 @@ const GROUPS: [&str; 22] = [ "CH_pent", "CH_arom", "C_arom", "CH=O", ">C=O", "OCH3", "OCH2", "HCOO", "COO", "OH", "NH2", ]; -impl + Copy> Joback { +impl + Copy> Joback { pub fn from_groups(group_counts: [D; 22]) -> Self { let a: D = A.into_iter().zip(group_counts).map(|(a, g)| g * a).sum(); let b: D = B.into_iter().zip(group_counts).map(|(b, g)| g * b).sum(); @@ -361,20 +364,20 @@ pub mod test_ad { #[derive(Clone, Copy)] struct NoResidual; - impl + Copy> Residual for NoResidual { + impl + Copy> Residual for NoResidual { fn components(&self) -> usize { 1 } type Real = Self; - type Lifted + Copy> = Self; + type Lifted + Copy> = Self; fn re(&self) -> Self::Real { *self } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { *self } diff --git a/crates/feos/src/multiparameter/ideal_gas_function.rs b/crates/feos/src/multiparameter/ideal_gas_function.rs index fbd7571bb..8ceeb19c3 100644 --- a/crates/feos/src/multiparameter/ideal_gas_function.rs +++ b/crates/feos/src/multiparameter/ideal_gas_function.rs @@ -86,7 +86,7 @@ pub enum IdealGasFunction { } impl IdealGasFunction { - pub fn evaluate + Copy>(&self, delta: D, tau: D) -> D { + pub fn evaluate + Copy>(&self, delta: D, tau: D) -> D { match *self { IdealGasFunction::IdealGasHelmholtzLead { a1, a2 } => delta.ln() + a1 + tau * a2, IdealGasFunction::IdealGasHelmholtzLogTau { a } => tau.ln() * a, diff --git a/crates/feos/src/multiparameter/mod.rs b/crates/feos/src/multiparameter/mod.rs index fe30093ac..88290769a 100644 --- a/crates/feos/src/multiparameter/mod.rs +++ b/crates/feos/src/multiparameter/mod.rs @@ -83,12 +83,12 @@ impl ResidualDyn for MultiParameter { 1 } - fn compute_max_density + Copy>(&self, _: &DVector) -> D { + fn compute_max_density + Copy>(&self, _: &DVector) -> D { // Not sure what value works well here. This one is based on rho_c = 0.31*rho_max. D::from(6.02214076e-7 * self.rhoc / 0.31) } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { @@ -118,7 +118,7 @@ impl Subset for MultiParameter { } impl IdealGas for MultiParameterIdealGas { - fn ln_lambda3 + Copy>(&self, temperature: D) -> D { + fn ln_lambda3 + Copy>(&self, temperature: D) -> D { let tau = temperature.recip() * self.tc; // bit of a hack to convert from phi^0 into ln Lambda^3 let delta = D::from(E / (6.02214076e-7 * self.rhoc)); @@ -165,7 +165,7 @@ mod test { eos.terms .iter() .map(|f| f.evaluate(delta, tau)) - .sum::>() + .sum::>() }, &SVector::from([delta, tau]), ); @@ -191,7 +191,7 @@ mod test { eos.terms .iter() .map(|f| f.evaluate(delta, tau)) - .sum::>() + .sum::>() }, &SVector::from([delta, tau]), ); @@ -218,7 +218,7 @@ mod test { .terms .iter() .map(|r| r.evaluate(delta, tau)) - .sum::>() + .sum::>() }, &SVector::from([delta, tau]), ); @@ -245,7 +245,7 @@ mod test { .terms .iter() .map(|r| r.evaluate(delta, tau)) - .sum::>() + .sum::>() }, &SVector::from([delta, tau]), ); diff --git a/crates/feos/src/multiparameter/residual_function.rs b/crates/feos/src/multiparameter/residual_function.rs index d39d71062..3116c1db2 100644 --- a/crates/feos/src/multiparameter/residual_function.rs +++ b/crates/feos/src/multiparameter/residual_function.rs @@ -118,7 +118,7 @@ pub enum ResidualFunction { } impl ResidualFunction { - pub fn evaluate + Copy>(&self, delta: D, tau: D) -> D { + pub fn evaluate + Copy>(&self, delta: D, tau: D) -> D { match *self { ResidualFunction::ResidualHelmholtzPower { d, l, n, t } => { let mut pre = delta.powi(d) * tau.powf(t) * n; diff --git a/crates/feos/src/pcsaft/dft/dispersion.rs b/crates/feos/src/pcsaft/dft/dispersion.rs index ec8633599..d682308da 100644 --- a/crates/feos/src/pcsaft/dft/dispersion.rs +++ b/crates/feos/src/pcsaft/dft/dispersion.rs @@ -25,7 +25,7 @@ impl<'a> AttractiveFunctional<'a> { } } -fn att_weight_functions + Copy>( +fn att_weight_functions + Copy>( p: &PcSaftPars, psi: f64, temperature: N, @@ -43,18 +43,18 @@ impl<'a> FunctionalContribution for AttractiveFunctional<'a> { "Attractive functional" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { att_weight_functions(self.parameters, PSI_DFT, temperature) } - fn weight_functions_pdgt + Copy>( + fn weight_functions_pdgt + Copy>( &self, temperature: N, ) -> WeightFunctionInfo { att_weight_functions(self.parameters, PSI_PDGT, temperature) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, density: ArrayView2, diff --git a/crates/feos/src/pcsaft/dft/hard_chain.rs b/crates/feos/src/pcsaft/dft/hard_chain.rs index e179d4fcf..e52a48959 100644 --- a/crates/feos/src/pcsaft/dft/hard_chain.rs +++ b/crates/feos/src/pcsaft/dft/hard_chain.rs @@ -22,7 +22,7 @@ impl<'a> FunctionalContribution for ChainFunctional<'a> { "Hard chain functional" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let p = &self.parameters; let d = p.hs_diameter(temperature); WeightFunctionInfo::new(DVector::from_fn(d.len(), |i, _| i), true) @@ -48,7 +48,7 @@ impl<'a> FunctionalContribution for ChainFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, diff --git a/crates/feos/src/pcsaft/dft/mod.rs b/crates/feos/src/pcsaft/dft/mod.rs index 52c16aa4a..4ca78d2ef 100644 --- a/crates/feos/src/pcsaft/dft/mod.rs +++ b/crates/feos/src/pcsaft/dft/mod.rs @@ -80,13 +80,13 @@ impl ResidualDyn for PcSaftFunctional { self.parameters.pure.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let p = &self.params; let msigma3 = p.m.zip_map(&p.sigma, |m, s| m * s.powi(3)); (msigma3.map(D::from).dot(molefracs) * FRAC_PI_6).recip() * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos/src/pcsaft/dft/polar.rs b/crates/feos/src/pcsaft/dft/polar.rs index 58256e161..43cf2395d 100644 --- a/crates/feos/src/pcsaft/dft/polar.rs +++ b/crates/feos/src/pcsaft/dft/polar.rs @@ -8,7 +8,7 @@ use ndarray::*; use num_dual::DualNum; use std::f64::consts::{FRAC_PI_3, PI}; -pub(super) fn helmholtz_energy_density_polar + Copy>( +pub(super) fn helmholtz_energy_density_polar + Copy>( parameters: &PcSaftPars, temperature: N, density: ArrayView2, @@ -36,7 +36,7 @@ pub(super) fn helmholtz_energy_density_polar + Copy>( Ok(phi) } -pub fn pair_integral_ij + Copy>( +pub fn pair_integral_ij + Copy>( mij1: f64, mij2: f64, eta: &Array1, @@ -63,7 +63,7 @@ pub fn pair_integral_ij + Copy>( integral } -pub fn triplet_integral_ijk>( +pub fn triplet_integral_ijk>( mijk1: f64, mijk2: f64, eta: &Array1, @@ -78,7 +78,7 @@ pub fn triplet_integral_ijk>( integral } -fn triplet_integral_ijk_dq>( +fn triplet_integral_ijk_dq>( mijk: f64, eta: &Array1, c: &[[f64; 2]], @@ -91,7 +91,7 @@ fn triplet_integral_ijk_dq>( integral } -fn phi_polar_dipole + Copy>( +fn phi_polar_dipole + Copy>( p: &PcSaftPars, temperature: N, density: ArrayView2, @@ -179,7 +179,7 @@ fn phi_polar_dipole + Copy>( Ok(result) } -fn phi_polar_quadrupole + Copy>( +fn phi_polar_quadrupole + Copy>( p: &PcSaftPars, temperature: N, density: ArrayView2, @@ -267,7 +267,7 @@ fn phi_polar_quadrupole + Copy>( Ok(result) } -fn phi_polar_dipole_quadrupole + Copy>( +fn phi_polar_dipole_quadrupole + Copy>( p: &PcSaftPars, temperature: N, density: ArrayView2, diff --git a/crates/feos/src/pcsaft/dft/pure_saft_functional.rs b/crates/feos/src/pcsaft/dft/pure_saft_functional.rs index 05c26d0e4..a33e02b97 100644 --- a/crates/feos/src/pcsaft/dft/pure_saft_functional.rs +++ b/crates/feos/src/pcsaft/dft/pure_saft_functional.rs @@ -40,7 +40,7 @@ impl<'a> FunctionalContribution for PureFMTAssocFunctional<'a> { "Pure FMT+association" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let r = self.parameters.hs_diameter(temperature) * N::from(0.5); WeightFunctionInfo::new(dvector![0], false).extend( vec![ @@ -59,7 +59,7 @@ impl<'a> FunctionalContribution for PureFMTAssocFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, @@ -150,7 +150,7 @@ impl<'a> FunctionalContribution for PureChainFunctional<'a> { "Pure chain" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let d = self.parameters.hs_diameter(temperature); WeightFunctionInfo::new(dvector![0], true) .add( @@ -167,7 +167,7 @@ impl<'a> FunctionalContribution for PureChainFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, _: N, weighted_densities: ArrayView2, @@ -200,7 +200,7 @@ impl<'a> FunctionalContribution for PureAttFunctional<'a> { "Pure attractive" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let d = self.parameters.hs_diameter(temperature); const PSI: f64 = 1.3862; // Homosegmented DFT (Sauer2017) let psi = N::from(PSI); @@ -210,7 +210,7 @@ impl<'a> FunctionalContribution for PureAttFunctional<'a> { ) } - fn weight_functions_pdgt + Copy>( + fn weight_functions_pdgt + Copy>( &self, temperature: N, ) -> WeightFunctionInfo { @@ -223,7 +223,7 @@ impl<'a> FunctionalContribution for PureAttFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, diff --git a/crates/feos/src/pcsaft/eos/dispersion.rs b/crates/feos/src/pcsaft/eos/dispersion.rs index 50fb3c1fc..cf75246c0 100644 --- a/crates/feos/src/pcsaft/eos/dispersion.rs +++ b/crates/feos/src/pcsaft/eos/dispersion.rs @@ -62,7 +62,7 @@ pub const B2: [f64; 7] = [ pub struct Dispersion; impl Dispersion { - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &PcSaftPars, state: &StateHD, diff --git a/crates/feos/src/pcsaft/eos/hard_chain.rs b/crates/feos/src/pcsaft/eos/hard_chain.rs index e894f695a..9f425edb2 100644 --- a/crates/feos/src/pcsaft/eos/hard_chain.rs +++ b/crates/feos/src/pcsaft/eos/hard_chain.rs @@ -7,7 +7,7 @@ pub struct HardChain; impl HardChain { #[inline] - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &PcSaftPars, state: &StateHD, diff --git a/crates/feos/src/pcsaft/eos/mod.rs b/crates/feos/src/pcsaft/eos/mod.rs index aa8e05d0c..2973451be 100644 --- a/crates/feos/src/pcsaft/eos/mod.rs +++ b/crates/feos/src/pcsaft/eos/mod.rs @@ -88,7 +88,7 @@ impl ResidualDyn for PcSaft { self.parameters.pure.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let msigma3 = self .params .m @@ -96,7 +96,7 @@ impl ResidualDyn for PcSaft { (msigma3.map(D::from).dot(molefracs) * FRAC_PI_6).recip() * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { @@ -167,11 +167,11 @@ impl Molarweight for PcSaft { } impl HardSphereProperties for PcSaftPars { - fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { + fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { MonomerShape::NonSpherical(self.m.map(N::from)) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { let ti = temperature.recip() * -3.0; DVector::from_fn(self.sigma.len(), |i, _| { -((ti * self.epsilon_k[i]).exp() * 0.12 - 1.0) * self.sigma[i] @@ -182,7 +182,7 @@ impl HardSphereProperties for PcSaftPars { impl AssociationStrength for PcSaftPars { type Record = PcSaftAssociationRecord; - fn association_strength_ij + Copy>( + fn association_strength_ij + Copy>( &self, temperature: D, comp_i: usize, diff --git a/crates/feos/src/pcsaft/eos/pcsaft_binary.rs b/crates/feos/src/pcsaft/eos/pcsaft_binary.rs index f6daae9c0..0c44410ec 100644 --- a/crates/feos/src/pcsaft/eos/pcsaft_binary.rs +++ b/crates/feos/src/pcsaft/eos/pcsaft_binary.rs @@ -20,7 +20,7 @@ impl PcSaftBinary { } impl ParametersAD for PcSaftBinary { - fn build + Copy>( + fn build + Copy>( mut f: impl FnMut(&'static str, bool) -> D, ) -> PcSaftBinary { PcSaftBinary::new( @@ -44,7 +44,7 @@ impl ParametersAD for PcSaftBinary { } impl ParametersAD for PcSaftBinary { - fn build + Copy>( + fn build + Copy>( mut f: impl FnMut(&'static str, bool) -> D, ) -> PcSaftBinary { PcSaftBinary::new( @@ -75,7 +75,7 @@ impl ParametersAD for PcSaftBinary { } } -fn hard_sphere + Copy>( +fn hard_sphere + Copy>( [m1, m2]: [D; 2], [x1, x2]: [D; 2], [d1, d2]: [D; 2], @@ -109,7 +109,7 @@ fn hard_sphere + Copy>( (hs, etas, zeta2, zeta3, frac_1mz3) } -fn hard_chain + Copy>( +fn hard_chain + Copy>( [m1, m2]: [D; 2], [d1, d2]: [D; 2], [rho1, rho2]: [D; 2], @@ -123,7 +123,7 @@ fn hard_chain + Copy>( } #[expect(clippy::too_many_arguments)] -fn dispersion + Copy>( +fn dispersion + Copy>( [m1, m2]: [D; 2], [sigma1, sigma2]: [D; 2], [epsilon_k1, epsilon_k2]: [D; 2], @@ -174,7 +174,7 @@ fn dispersion + Copy>( } #[expect(clippy::too_many_arguments)] -fn dipoles + Copy>( +fn dipoles + Copy>( [m1, m2]: [D; 2], [sigma1, sigma2]: [D; 2], [sigma11_3, sigma12_3, sigma22_3]: [D; 3], @@ -241,7 +241,7 @@ fn dipoles + Copy>( polar } -fn association + Copy>( +fn association + Copy>( assoc_params: [[D; 4]; 2], [sigma11_3, _, sigma22_3]: [D; 3], t_inv: D, @@ -328,7 +328,7 @@ fn association + Copy>( } #[expect(clippy::too_many_arguments)] -fn helmholtz_energy_density + Copy>( +fn helmholtz_energy_density + Copy>( temperature: D, rho: [D; 2], m: [D; 2], @@ -373,20 +373,20 @@ fn helmholtz_energy_density + Copy>( } } -impl + Copy> Residual for PcSaftBinary { +impl + Copy> Residual for PcSaftBinary { fn components(&self) -> usize { 2 } type Real = PcSaftBinary; - type Lifted + Copy> = PcSaftBinary; + type Lifted + Copy> = PcSaftBinary; fn re(&self) -> Self::Real { PcSaftBinary(( self.0.0.each_ref().map(|x| x.each_ref().map(D::re)), self.0.1.re(), )) } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { PcSaftBinary(( self.0 .0 @@ -430,20 +430,20 @@ impl + Copy> Residual for PcSaftBinary { } } -impl + Copy> Residual for PcSaftBinary { +impl + Copy> Residual for PcSaftBinary { fn components(&self) -> usize { 2 } type Real = PcSaftBinary; - type Lifted + Copy> = PcSaftBinary; + type Lifted + Copy> = PcSaftBinary; fn re(&self) -> Self::Real { PcSaftBinary(( self.0.0.each_ref().map(|x| x.each_ref().map(D::re)), self.0.1.re(), )) } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { PcSaftBinary(( self.0 .0 diff --git a/crates/feos/src/pcsaft/eos/pcsaft_pure.rs b/crates/feos/src/pcsaft/eos/pcsaft_pure.rs index 575e56a7f..fd38c939f 100644 --- a/crates/feos/src/pcsaft/eos/pcsaft_pure.rs +++ b/crates/feos/src/pcsaft/eos/pcsaft_pure.rs @@ -11,9 +11,9 @@ const MAX_ETA: f64 = 0.5; /// Optimized implementation of PC-SAFT for a single component. #[derive(Clone, Copy)] -pub struct PcSaftPure + Copy, const N: usize>(pub [D; N]); +pub struct PcSaftPure + Copy, const N: usize>(pub [D; N]); -fn helmholtz_energy_density_non_assoc + Copy>( +fn helmholtz_energy_density_non_assoc + Copy>( m: D, sigma: D, epsilon_k: D, @@ -88,7 +88,7 @@ fn helmholtz_energy_density_non_assoc + Copy>( (hs + hc + disp + dipole, [eta, eta_m1]) } -fn helmholtz_energy_density + Copy>( +fn helmholtz_energy_density + Copy>( parameters: &[D; 8], temperature: D, density: D, @@ -119,17 +119,17 @@ fn helmholtz_energy_density + Copy>( non_assoc + assoc } -impl + Copy> Residual for PcSaftPure { +impl + Copy> Residual for PcSaftPure { fn components(&self) -> usize { 1 } type Real = PcSaftPure; - type Lifted + Copy> = PcSaftPure; + type Lifted + Copy> = PcSaftPure; fn re(&self) -> Self::Real { PcSaftPure(self.0.each_ref().map(D::re)) } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { PcSaftPure(self.0.each_ref().map(D2::from_inner)) } @@ -154,17 +154,17 @@ impl + Copy> Residual for PcSaftPure { } } -impl + Copy> Residual for PcSaftPure { +impl + Copy> Residual for PcSaftPure { fn components(&self) -> usize { 1 } type Real = PcSaftPure; - type Lifted + Copy> = PcSaftPure; + type Lifted + Copy> = PcSaftPure; fn re(&self) -> Self::Real { PcSaftPure(self.0.each_ref().map(D::re)) } - fn lift + Copy>(&self) -> Self::Lifted { + fn lift + Copy>(&self) -> Self::Lifted { PcSaftPure(self.0.each_ref().map(D2::from_inner)) } @@ -191,7 +191,7 @@ impl + Copy> Residual for PcSaftPure { } impl ParametersAD for PcSaftPure { - fn build + Copy>( + fn build + Copy>( mut f: impl FnMut(&'static str, bool) -> D, ) -> PcSaftPure { PcSaftPure([ @@ -204,7 +204,7 @@ impl ParametersAD for PcSaftPure { } impl ParametersAD for PcSaftPure { - fn build + Copy>( + fn build + Copy>( mut f: impl FnMut(&'static str, bool) -> D, ) -> PcSaftPure { PcSaftPure([ diff --git a/crates/feos/src/pcsaft/eos/polar.rs b/crates/feos/src/pcsaft/eos/polar.rs index 096bdc1c2..f8ad10849 100644 --- a/crates/feos/src/pcsaft/eos/polar.rs +++ b/crates/feos/src/pcsaft/eos/polar.rs @@ -125,7 +125,7 @@ impl MeanSegmentNumbers { } } -fn pair_integral_ij + Copy>( +fn pair_integral_ij + Copy>( mij1: f64, mij2: f64, etas: &[D], @@ -142,7 +142,7 @@ fn pair_integral_ij + Copy>( .sum() } -fn triplet_integral_ijk + Copy>( +fn triplet_integral_ijk + Copy>( mijk1: f64, mijk2: f64, etas: &[D], @@ -153,7 +153,7 @@ fn triplet_integral_ijk + Copy>( .sum() } -fn triplet_integral_ijk_dq + Copy>(mijk: f64, etas: &[D], c: &[[f64; 2]]) -> D { +fn triplet_integral_ijk_dq + Copy>(mijk: f64, etas: &[D], c: &[[f64; 2]]) -> D { (0..c.len()) .map(|i| etas[i] * (c[i][0] + mijk * c[i][1])) .sum() @@ -163,7 +163,7 @@ pub struct Dipole; impl Dipole { #[inline] - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &PcSaftPars, state: &StateHD, @@ -236,7 +236,7 @@ pub struct Quadrupole; impl Quadrupole { #[inline] - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &PcSaftPars, state: &StateHD, @@ -317,7 +317,7 @@ pub struct DipoleQuadrupole; impl DipoleQuadrupole { #[inline] - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &PcSaftPars, state: &StateHD, diff --git a/crates/feos/src/pets/dft/dispersion.rs b/crates/feos/src/pets/dft/dispersion.rs index 915be2be4..d25b08d9b 100644 --- a/crates/feos/src/pets/dft/dispersion.rs +++ b/crates/feos/src/pets/dft/dispersion.rs @@ -23,7 +23,7 @@ impl<'a> AttractiveFunctional<'a> { Self { parameters } } - fn att_weight_functions + Copy>( + fn att_weight_functions + Copy>( &self, psi: f64, temperature: N, @@ -41,18 +41,18 @@ impl<'a> FunctionalContribution for AttractiveFunctional<'a> { "Attractive functional" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { self.att_weight_functions(PSI_DFT, temperature) } - fn weight_functions_pdgt + Copy>( + fn weight_functions_pdgt + Copy>( &self, temperature: N, ) -> WeightFunctionInfo { self.att_weight_functions(PSI_PDGT, temperature) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, density: ArrayView2, diff --git a/crates/feos/src/pets/dft/pure_pets_functional.rs b/crates/feos/src/pets/dft/pure_pets_functional.rs index 14efe1b15..1e4b5f073 100644 --- a/crates/feos/src/pets/dft/pure_pets_functional.rs +++ b/crates/feos/src/pets/dft/pure_pets_functional.rs @@ -31,7 +31,7 @@ impl<'a> FunctionalContribution for PureFMTFunctional<'a> { "Pure FMT" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let r = self.parameters.hs_diameter(temperature) * N::from(0.5); WeightFunctionInfo::new(dvector![0], false).extend( vec![ @@ -46,7 +46,7 @@ impl<'a> FunctionalContribution for PureFMTFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, @@ -123,7 +123,7 @@ impl<'a> FunctionalContribution for PureAttFunctional<'a> { "Pure attractive" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let d = self.parameters.hs_diameter(temperature); const PSI: f64 = 1.21; // Homosegmented DFT (Heier2018) WeightFunctionInfo::new(dvector![0], false).add( @@ -132,7 +132,7 @@ impl<'a> FunctionalContribution for PureAttFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, diff --git a/crates/feos/src/pets/eos/dispersion.rs b/crates/feos/src/pets/eos/dispersion.rs index 2215a4225..b3f65c6aa 100644 --- a/crates/feos/src/pets/eos/dispersion.rs +++ b/crates/feos/src/pets/eos/dispersion.rs @@ -24,7 +24,7 @@ pub const B: [f64; 7] = [ ]; impl Pets { - pub fn dispersion_helmholtz_energy_density + Copy>( + pub fn dispersion_helmholtz_energy_density + Copy>( &self, state: &StateHD, ) -> D { diff --git a/crates/feos/src/pets/eos/mod.rs b/crates/feos/src/pets/eos/mod.rs index 5d9b9a666..5fc0c32a6 100644 --- a/crates/feos/src/pets/eos/mod.rs +++ b/crates/feos/src/pets/eos/mod.rs @@ -92,13 +92,13 @@ impl ResidualDyn for Pets { self.parameters.pure.len() } - fn compute_max_density + Copy>(&self, moles: &DVector) -> D { + fn compute_max_density + Copy>(&self, moles: &DVector) -> D { moles.sum() * self.options.max_eta / (self.sigma.map(|v| D::from(v.powi(3))).component_mul(moles)).sum() / FRAC_PI_6 } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &feos_core::StateHD, ) -> Vec<(&'static str, D)> { @@ -122,11 +122,11 @@ impl Molarweight for Pets { } impl HardSphereProperties for Pets { - fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { + fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { MonomerShape::Spherical(self.sigma.len()) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { let ti = temperature.recip() * -3.052785558; DVector::from_fn(self.sigma.len(), |i, _| { -((ti * self.epsilon_k[i]).exp() * 0.127112544 - 1.0) * self.sigma[i] diff --git a/crates/feos/src/saftvrmie/eos/dispersion.rs b/crates/feos/src/saftvrmie/eos/dispersion.rs index cc35b6f22..eed119411 100644 --- a/crates/feos/src/saftvrmie/eos/dispersion.rs +++ b/crates/feos/src/saftvrmie/eos/dispersion.rs @@ -23,7 +23,7 @@ pub struct Properties { k0: [D; 4], } -impl + Copy + Zero> Properties { +impl + Copy + Zero> Properties { pub(super) fn new( parameters: &SaftVRMiePars, state: &StateHD, @@ -99,7 +99,7 @@ pub(super) const PHI: [[f64; 7]; 6] = [ ]; /// First, second and third order perturbations for dispersive interactions -pub fn helmholtz_energy_density_disp + Copy>( +pub fn helmholtz_energy_density_disp + Copy>( parameters: &SaftVRMiePars, properties: &Properties, state: &StateHD, @@ -195,7 +195,7 @@ pub fn helmholtz_energy_density_disp + Copy>( } /// Combine dispersion and chain contributions -pub fn helmholtz_energy_density_disp_chain + Copy>( +pub fn helmholtz_energy_density_disp_chain + Copy>( parameters: &SaftVRMiePars, properties: &Properties, state: &StateHD, @@ -334,7 +334,7 @@ pub fn helmholtz_energy_density_disp_chain + Copy>( } #[inline] -pub(super) fn zeta_eff + Copy>(zeta: D, lambda: f64) -> D { +pub(super) fn zeta_eff + Copy>(zeta: D, lambda: f64) -> D { let li = 1. / lambda; let li2 = li * li; let li3 = li * li2; @@ -350,14 +350,14 @@ pub(super) fn zeta_eff + Copy>(zeta: D, lambda: f64) -> D { /// Sutherland potential for mixtures (Eq. A 16) divided by 2 PI rho_s d_ij^3 epsilon_k_ij #[inline] -fn a1s_ij + Copy>(zeta_x: D, lambda: f64) -> D { +fn a1s_ij + Copy>(zeta_x: D, lambda: f64) -> D { let zeta_eff = zeta_eff(zeta_x, lambda); -(-zeta_eff * 0.5 + 1.0) / ((-zeta_eff + 1.0).powi(3) * (lambda - 3.0)) } /// Eq. A 12 of Lafitte divided by 2 PI rho_s d_ij^3 epsilon_k_ij #[inline] -fn b_ij + Copy>(zeta_x: D, x0: D, lambda: f64) -> D { +fn b_ij + Copy>(zeta_x: D, x0: D, lambda: f64) -> D { let x0_3ml = x0.powf(3.0 - lambda); let i = -(x0_3ml - 1.0) / (lambda - 3.0); let j = -(x0.powf(4.0 - lambda) * (lambda - 3.0) - x0_3ml * (lambda - 4.0) - 1.0) @@ -367,7 +367,7 @@ fn b_ij + Copy>(zeta_x: D, x0: D, lambda: f64) -> D { /// Calculates x0^l (a1s_ij + b_ij) without prefactor C #[inline] -fn a1s_b_ij + Copy>(zeta_x: D, x0: D, lambda: f64) -> D { +fn a1s_b_ij + Copy>(zeta_x: D, x0: D, lambda: f64) -> D { x0.powf(lambda) * (a1s_ij(zeta_x, lambda) + b_ij(zeta_x, x0, lambda)) } diff --git a/crates/feos/src/saftvrmie/eos/mod.rs b/crates/feos/src/saftvrmie/eos/mod.rs index 780f2fc37..1bdde781f 100644 --- a/crates/feos/src/saftvrmie/eos/mod.rs +++ b/crates/feos/src/saftvrmie/eos/mod.rs @@ -64,7 +64,7 @@ impl ResidualDyn for SaftVRMie { self.params.m.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let msigma3 = self .params .m @@ -72,7 +72,7 @@ impl ResidualDyn for SaftVRMie { (msigma3.map(D::from).dot(molefracs) * FRAC_PI_6).recip() * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { @@ -120,7 +120,7 @@ impl Molarweight for SaftVRMie { impl AssociationStrength for SaftVRMiePars { type Record = SaftVRMieAssociationRecord; - fn association_strength_ij + Copy>( + fn association_strength_ij + Copy>( &self, temperature: D, comp_i: usize, diff --git a/crates/feos/src/saftvrmie/parameters.rs b/crates/feos/src/saftvrmie/parameters.rs index b40cd524b..fe02875f3 100644 --- a/crates/feos/src/saftvrmie/parameters.rs +++ b/crates/feos/src/saftvrmie/parameters.rs @@ -170,7 +170,7 @@ impl SaftVRMiePars { impl SaftVRMiePars { #[inline] - pub fn hs_diameter_ij + Copy>( + pub fn hs_diameter_ij + Copy>( &self, i: usize, j: usize, @@ -197,7 +197,7 @@ impl SaftVRMiePars { /// /// Method of Aasen et al. /// Using starting value proposed in Clapeyron.jl (Andrés Riedemann) -fn lower_integratal_limit + Copy>(la: f64, lr: f64, c_eps_t: D) -> D { +fn lower_integratal_limit + Copy>(la: f64, lr: f64, c_eps_t: D) -> D { // initial value from repulsive contribution let k = (-c_eps_t.recip() * f64::EPSILON.ln()).ln(); let mut r = (-k / lr).exp(); @@ -219,7 +219,7 @@ fn lower_integratal_limit + Copy>(la: f64, lr: f64, c_eps_t: D) /// f is the function to find the root of. /// Here, f = -beta u_mie(r) - ln(EPS) #[inline] -fn mie_potential_halley + Copy>(r: D, la: f64, lr: f64, c_eps_t: D) -> [D; 3] { +fn mie_potential_halley + Copy>(r: D, la: f64, lr: f64, c_eps_t: D) -> [D; 3] { let ri = r.recip(); let plr = ri.powf(lr); let pla = ri.powf(la); @@ -237,17 +237,17 @@ fn mie_potential_halley + Copy>(r: D, la: f64, lr: f64, c_eps_t: /// Dimensionless Mie potential (divided by kT) #[inline] -fn beta_u_mie + Copy>(r: D, la: f64, lr: f64, sigma: f64, c_eps_t: D) -> D { +fn beta_u_mie + Copy>(r: D, la: f64, lr: f64, sigma: f64, c_eps_t: D) -> D { let ri = r.recip() * sigma; (ri.powf(lr) - ri.powf(la)) * c_eps_t } impl HardSphereProperties for SaftVRMiePars { - fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { + fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { MonomerShape::NonSpherical(self.m.map(N::from)) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { let t_inv = temperature.recip(); DVector::from_fn(self.m.len(), |i, _| self.hs_diameter_ij(i, i, t_inv)) } diff --git a/crates/feos/src/saftvrqmie/dft/dispersion.rs b/crates/feos/src/saftvrqmie/dft/dispersion.rs index 220037cec..a5b2bfcfd 100644 --- a/crates/feos/src/saftvrqmie/dft/dispersion.rs +++ b/crates/feos/src/saftvrqmie/dft/dispersion.rs @@ -22,7 +22,7 @@ impl<'a> AttractiveFunctional<'a> { } } -fn att_weight_functions + Copy>( +fn att_weight_functions + Copy>( p: &SaftVRQMiePars, psi: f64, temperature: N, @@ -39,18 +39,18 @@ impl<'a> FunctionalContribution for AttractiveFunctional<'a> { "Attractive functional" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { att_weight_functions(self.parameters, PSI_DFT, temperature) } - fn weight_functions_pdgt + Copy>( + fn weight_functions_pdgt + Copy>( &self, temperature: N, ) -> WeightFunctionInfo { att_weight_functions(self.parameters, PSI_PDGT, temperature) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, density: ArrayView2, diff --git a/crates/feos/src/saftvrqmie/dft/mod.rs b/crates/feos/src/saftvrqmie/dft/mod.rs index 6cde777b4..5608a54dc 100644 --- a/crates/feos/src/saftvrqmie/dft/mod.rs +++ b/crates/feos/src/saftvrqmie/dft/mod.rs @@ -60,11 +60,11 @@ impl HelmholtzEnergyFunctionalDyn for SaftVRQMie { } impl HardSphereProperties for SaftVRQMiePars { - fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { + fn monomer_shape>(&self, _: N) -> MonomerShape<'_, N> { MonomerShape::Spherical(self.m.len()) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { self.hs_diameter(temperature) } } diff --git a/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs b/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs index a7909ab35..29d931b6c 100644 --- a/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs +++ b/crates/feos/src/saftvrqmie/dft/non_additive_hs.rs @@ -24,7 +24,7 @@ impl<'a> FunctionalContribution for NonAddHardSphereFunctional<'a> { "Non-additive hard-sphere functional" } - fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { + fn weight_functions + Copy>(&self, temperature: N) -> WeightFunctionInfo { let p = &self.parameters; let r = p.hs_diameter(temperature) * N::from(0.5); WeightFunctionInfo::new(DVector::from_fn(r.len(), |i, _| i), false) @@ -50,7 +50,7 @@ impl<'a> FunctionalContribution for NonAddHardSphereFunctional<'a> { ) } - fn helmholtz_energy_density + Copy>( + fn helmholtz_energy_density + Copy>( &self, temperature: N, weighted_densities: ArrayView2, @@ -143,7 +143,7 @@ impl<'a> FunctionalContribution for NonAddHardSphereFunctional<'a> { } } -pub fn non_additive_hs_energy_density + Copy>( +pub fn non_additive_hs_energy_density + Copy>( parameters: &SaftVRQMiePars, d_hs_ij: &Array2, d_hs_add_ij: &Array2, diff --git a/crates/feos/src/saftvrqmie/eos/dispersion.rs b/crates/feos/src/saftvrqmie/eos/dispersion.rs index f4bdfa12b..ae78efea7 100644 --- a/crates/feos/src/saftvrqmie/eos/dispersion.rs +++ b/crates/feos/src/saftvrqmie/eos/dispersion.rs @@ -31,11 +31,11 @@ const PHI: [[f64; 7]; 6] = [ ], ]; -pub struct Alpha> { +pub struct Alpha> { alpha_ij: DMatrix, } -impl + Copy> Alpha { +impl + Copy> Alpha { pub fn new( parameters: &SaftVRQMiePars, sigma_eff_ij: &DMatrix, @@ -90,7 +90,7 @@ impl + Copy> Alpha { pub struct Dispersion; impl Dispersion { - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &SaftVRQMiePars, state: &StateHD, @@ -148,7 +148,7 @@ impl Dispersion { #[cfg(feature = "dft")] #[expect(clippy::too_many_arguments)] -pub fn dispersion_energy_density + Copy>( +pub fn dispersion_energy_density + Copy>( parameters: &SaftVRQMiePars, d_hs_ij: &DMatrix, s_eff_ij: &DMatrix, @@ -184,7 +184,7 @@ pub fn dispersion_energy_density + Copy>( rho_s * (a1 * inv_t + a2 * inv_t.powi(2) + a3 * inv_t.powi(3)) } -fn zeta_saft_vrq_mie + Copy>( +fn zeta_saft_vrq_mie + Copy>( m: &DVector, x_s: &DVector, diameter: &DMatrix, @@ -199,7 +199,7 @@ fn zeta_saft_vrq_mie + Copy>( zeta * FRAC_PI_6 * rho_s } -fn first_order_perturbation + Copy>( +fn first_order_perturbation + Copy>( parameters: &SaftVRQMiePars, x_s: &DVector, zeta: D, @@ -239,7 +239,7 @@ fn first_order_perturbation + Copy>( } #[expect(clippy::too_many_arguments)] -fn first_order_perturbation_ij + Copy>( +fn first_order_perturbation_ij + Copy>( lambda_a: f64, lambda_r: f64, epsilon_k: f64, @@ -271,7 +271,7 @@ fn first_order_perturbation_ij + Copy>( a1_ij * c } -fn eta_eff + Copy>(lambda: f64, zeta: D) -> D { +fn eta_eff + Copy>(lambda: f64, zeta: D) -> D { let inv_lambda = DVector::from(vec![ 1.0, 1.0 / lambda, @@ -287,16 +287,16 @@ fn eta_eff + Copy>(lambda: f64, zeta: D) -> D { zeta * (zeta * (zeta * (zeta * c[3] + c[2]) + c[1]) + c[0]) } -fn sutherland + Copy>(lambda: f64, epsilon_k: f64, zeta: D, x0: D) -> D { +fn sutherland + Copy>(lambda: f64, epsilon_k: f64, zeta: D, x0: D) -> D { let ef = eta_eff(lambda, zeta); (-ef * 0.5 + 1.0) * -12.0 * x0.powf(lambda) * epsilon_k / (lambda - 3.0) / (-ef + 1.0).powi(3) } -fn ilambda>(lambda: f64, x0: D) -> D { +fn ilambda>(lambda: f64, x0: D) -> D { -(x0.powf(3.0 - lambda) - 1.0) / (lambda - 3.0) } -fn jlambda>(lambda: f64, x0: D) -> D { +fn jlambda>(lambda: f64, x0: D) -> D { -(x0.powf(4.0 - lambda) * (lambda - 3.0) - x0.powf(3.0 - lambda) * (lambda - 4.0) - 1.0) / ((lambda - 3.0) * (lambda - 4.0)) } @@ -305,7 +305,7 @@ fn jlambda>(lambda: f64, x0: D) -> D { /// B is divided by the packing fraction /// /// \author Morten Hammer, February 2018 -fn b + Copy>(lambda: f64, epsilon_k: f64, zeta: D, x0: D, x0_eff: D) -> D { +fn b + Copy>(lambda: f64, epsilon_k: f64, zeta: D, x0: D, x0_eff: D) -> D { let ilambda = ilambda(lambda, x0_eff); let jlambda = jlambda(lambda, x0_eff); let denum = (-zeta + 1.0).powi(3); @@ -316,7 +316,7 @@ fn b + Copy>(lambda: f64, epsilon_k: f64, zeta: D, x0: D, x0_eff } #[inline] -fn combine_sutherland_and_b + Copy>( +fn combine_sutherland_and_b + Copy>( lambda: f64, epsilon_k: f64, zeta: D, @@ -329,7 +329,7 @@ fn combine_sutherland_and_b + Copy>( } #[expect(clippy::too_many_arguments)] -fn second_order_perturbation + Copy>( +fn second_order_perturbation + Copy>( parameters: &SaftVRQMiePars, alpha: &Alpha, x_s: &DVector, @@ -390,7 +390,7 @@ fn quantum_prefactor_second_order(lambda: f64) -> f64 { } #[expect(clippy::too_many_arguments)] -fn second_order_perturbation_ij + Copy>( +fn second_order_perturbation_ij + Copy>( lambda_a: f64, lambda_r: f64, epsilon_k: f64, @@ -452,7 +452,7 @@ fn second_order_perturbation_ij + Copy>( a2_ij * 0.5 * epsilon_k * c.powi(2) } -fn third_order_perturbation + Copy>( +fn third_order_perturbation + Copy>( parameters: &SaftVRQMiePars, alpha: &Alpha, x_s: &DVector, @@ -471,7 +471,7 @@ fn third_order_perturbation + Copy>( a3 } -fn third_order_perturbation_ij + Copy>( +fn third_order_perturbation_ij + Copy>( i: usize, j: usize, epsilon_k_eff: D, diff --git a/crates/feos/src/saftvrqmie/eos/hard_sphere.rs b/crates/feos/src/saftvrqmie/eos/hard_sphere.rs index 066a19465..5242072e0 100644 --- a/crates/feos/src/saftvrqmie/eos/hard_sphere.rs +++ b/crates/feos/src/saftvrqmie/eos/hard_sphere.rs @@ -62,7 +62,7 @@ const W_K21: [f64; 21] = [ impl SaftVRQMiePars { #[inline] - pub fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + pub fn hs_diameter + Copy>(&self, temperature: D) -> DVector { DVector::from_fn(self.m.len(), |i, _| -> D { let sigma_eff = self.calc_sigma_eff_ij(i, i, temperature); self.hs_diameter_ij(i, i, temperature, sigma_eff) @@ -70,7 +70,7 @@ impl SaftVRQMiePars { } #[inline] - pub fn hs_diameter_ij + Copy>( + pub fn hs_diameter_ij + Copy>( &self, i: usize, j: usize, @@ -89,7 +89,7 @@ impl SaftVRQMiePars { d_hs } - pub fn zero_integrand + Copy>( + pub fn zero_integrand + Copy>( &self, i: usize, j: usize, @@ -118,13 +118,13 @@ impl SaftVRQMiePars { } #[inline] - pub fn epsilon_k_eff + Copy>(&self, temperature: D) -> DVector { + pub fn epsilon_k_eff + Copy>(&self, temperature: D) -> DVector { DVector::from_fn(self.m.len(), |i, _| -> D { self.calc_epsilon_k_eff_ij(i, i, temperature) }) } - pub fn calc_epsilon_k_eff_ij + Copy>( + pub fn calc_epsilon_k_eff_ij + Copy>( &self, i: usize, j: usize, @@ -146,13 +146,13 @@ impl SaftVRQMiePars { } #[inline] - pub fn sigma_eff + Copy>(&self, temperature: D) -> DVector { + pub fn sigma_eff + Copy>(&self, temperature: D) -> DVector { DVector::from_fn(self.m.len(), |i, _| -> D { self.calc_sigma_eff_ij(i, i, temperature) }) } - pub fn calc_sigma_eff_ij + Copy>( + pub fn calc_sigma_eff_ij + Copy>( &self, i: usize, j: usize, @@ -174,12 +174,17 @@ impl SaftVRQMiePars { } #[inline] - pub fn quantum_d_ij>(&self, i: usize, j: usize, temperature: D) -> D { + pub fn quantum_d_ij>( + &self, + i: usize, + j: usize, + temperature: D, + ) -> D { quantum_d_mass(self.mass_ij[(i, j)], temperature) } /// Feynman-Hibbs corrected potential - pub fn qmie_potential_ij + Copy>( + pub fn qmie_potential_ij + Copy>( &self, i: usize, j: usize, @@ -232,14 +237,14 @@ impl SaftVRQMiePars { } #[inline] -pub fn quantum_d_mass>(mass: f64, temperature: D) -> D { +pub fn quantum_d_mass>(mass: f64, temperature: D) -> D { temperature.recip() / mass * D_QM_PREFACTOR } pub struct HardSphere; impl HardSphere { - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &SaftVRQMiePars, state: &StateHD, @@ -263,7 +268,7 @@ impl fmt::Display for HardSphere { } } -pub fn zeta + Copy>( +pub fn zeta + Copy>( m: &DVector, partial_density: &DVector, diameter: &DVector, @@ -279,7 +284,7 @@ pub fn zeta + Copy>( zeta } -pub fn zeta_23 + Copy>( +pub fn zeta_23 + Copy>( m: &DVector, molefracs: &DVector, diameter: &DVector, @@ -305,7 +310,7 @@ mod tests { #[test] fn test_quantum_d_mass() { let parameters = hydrogen_fh("1"); - let temperature = 26.7060; + let temperature = 26.7060_f64; let r = 3.5; let u0 = parameters.qmie_potential_ij(0, 0, r, temperature); let eps = 1.0e-5; @@ -320,7 +325,7 @@ mod tests { #[test] fn test_sigma_effective() { let parameters = hydrogen_fh("1"); - let temperature = 26.7060; + let temperature = 26.7060_f64; let sigma_eff = parameters.calc_sigma_eff_ij(0, 0, temperature); println!("{}", sigma_eff - 3.2540054024660556); assert!((sigma_eff - 3.2540054024660556).abs() < 5.0e-7) @@ -329,7 +334,7 @@ mod tests { #[test] fn test_eps_div_k_effective() { let parameters = hydrogen_fh("1"); - let temperature = 26.7060; + let temperature = 26.7060_f64; let epsilon_k_eff = parameters.calc_epsilon_k_eff_ij(0, 0, temperature); println!("{}", epsilon_k_eff - 21.654396207986697); assert!((epsilon_k_eff - 21.654396207986697).abs() < 1.0e-6) @@ -338,7 +343,7 @@ mod tests { #[test] fn test_zero_integrand() { let parameters = hydrogen_fh("1"); - let temperature = 26.706; + let temperature = 26.706_f64; let sigma_eff = parameters.calc_sigma_eff_ij(0, 0, temperature); let r0 = parameters.zero_integrand(0, 0, temperature, sigma_eff); println!("{}", r0 - 2.5265031901173732); diff --git a/crates/feos/src/saftvrqmie/eos/mod.rs b/crates/feos/src/saftvrqmie/eos/mod.rs index 9ec71818d..e77688b26 100644 --- a/crates/feos/src/saftvrqmie/eos/mod.rs +++ b/crates/feos/src/saftvrqmie/eos/mod.rs @@ -73,7 +73,7 @@ pub(crate) struct TemperatureDependentProperties { quantum_d_ij: DMatrix, } -impl + Copy> TemperatureDependentProperties { +impl + Copy> TemperatureDependentProperties { fn new(parameters: &SaftVRQMiePars, temperature: D) -> Self { let n = parameters.m.len(); let sigma_eff_ij = DMatrix::from_fn(n, n, |i, j| -> D { @@ -146,7 +146,7 @@ impl ResidualDyn for SaftVRQMie { self.parameters.pure.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let msigma3 = self .params .m @@ -154,7 +154,7 @@ impl ResidualDyn for SaftVRQMie { (msigma3.map(D::from).dot(molefracs) * FRAC_PI_6).recip() * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs b/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs index d2344123f..9029aca8c 100644 --- a/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs +++ b/crates/feos/src/saftvrqmie/eos/non_additive_hs.rs @@ -9,7 +9,7 @@ use std::f64::consts::PI; pub struct NonAddHardSphere; impl NonAddHardSphere { - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &SaftVRQMiePars, state: &StateHD, @@ -27,7 +27,7 @@ impl NonAddHardSphere { } } -pub fn reduced_non_additive_hs_energy + Copy>( +pub fn reduced_non_additive_hs_energy + Copy>( parameters: &SaftVRQMiePars, d_hs_ij: &DMatrix, d_hs_add_ij: &DMatrix, diff --git a/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs b/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs index e55682c8a..b817306bf 100644 --- a/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs +++ b/crates/feos/src/uvtheory/eos/bh/attractive_perturbation.rs @@ -40,7 +40,7 @@ pub(super) struct AttractivePerturbation; impl AttractivePerturbation { /// Helmholtz energy for attractive perturbation, eq. 52 - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, @@ -74,11 +74,11 @@ impl AttractivePerturbation { } } -fn delta_b12u>(t_x: D, mean_field_constant_x: D, weighted_sigma3_ij: D) -> D { +fn delta_b12u>(t_x: D, mean_field_constant_x: D, weighted_sigma3_ij: D) -> D { -mean_field_constant_x / t_x * 2.0 * PI * weighted_sigma3_ij } -fn residual_virial_coefficient + Copy>( +fn residual_virial_coefficient + Copy>( p: &UVTheoryPars, x: &DVector, t: D, @@ -95,7 +95,7 @@ fn residual_virial_coefficient + Copy>( delta_b2bar } -fn correlation_integral_bh + Copy>( +fn correlation_integral_bh + Copy>( rho_x: D, mean_field_constant_x: D, rep_x: D, @@ -110,7 +110,7 @@ fn correlation_integral_bh + Copy>( /// U-fraction according to Barker-Henderson division. /// Eq. 15 -fn u_fraction_bh + Copy>(rep_x: D, reduced_density: D, one_fluid_beta: D) -> D { +fn u_fraction_bh + Copy>(rep_x: D, reduced_density: D, one_fluid_beta: D) -> D { let mut c = [D::zero(); 4]; let inv_rep = rep_x.recip(); for i in 0..4 { @@ -124,11 +124,11 @@ fn u_fraction_bh + Copy>(rep_x: D, reduced_density: D, one_fluid /// Activation function used for u-fraction according to Barker-Henderson division. /// Eq. 16 -fn activation + Copy>(c: D, one_fluid_beta: D) -> D { +fn activation + Copy>(c: D, one_fluid_beta: D) -> D { one_fluid_beta * c.sqrt() / (one_fluid_beta.powi(2) * c + 1.0).sqrt() } -fn one_fluid_properties + Copy>( +fn one_fluid_properties + Copy>( p: &UVTheoryPars, x: &DVector, t: D, @@ -164,7 +164,7 @@ fn one_fluid_properties + Copy>( ) } -fn coefficients_bh + Copy>(rep: D, att: D, d: D) -> [D; 3] { +fn coefficients_bh + Copy>(rep: D, att: D, d: D) -> [D; 3] { let c11 = d.powd(-rep + 6.0) * ((D::one() * 2.0f64).powd(-rep + 3.0) - d.powd(rep - 3.0)) / (-rep + 3.0) + (-d.powi(3) * 8.0 + 1.0) / 24.0; @@ -182,14 +182,14 @@ fn coefficients_bh + Copy>(rep: D, att: D, d: D) -> [D; 3] { [c1, c2, c3] } -fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64) -> D { +fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64) -> D { let rc = 5.0; let alpha = mean_field_constant(rep, att, rc); let yeff = y_eff(reduced_temperature, rep, att); -(yeff * (rc.powi(3) - 1.0) / 3.0 + reduced_temperature.recip() * alpha) * 2.0 * PI } -fn y_eff + Copy>(reduced_temperature: D, rep: f64, att: f64) -> D { +fn y_eff + Copy>(reduced_temperature: D, rep: f64, att: f64) -> D { // optimize: move this part to parameter initialization let rc = 5.0; let rs = 1.0; diff --git a/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs b/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs index 4b1dc97b8..27002073b 100644 --- a/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs +++ b/crates/feos/src/uvtheory/eos/bh/hard_sphere.rs @@ -19,7 +19,7 @@ const BH_CONSTANTS_ETA_A: [[f64; 4]; 4] = [ /// Dimensionless Hard-sphere diameter according to Barker-Henderson division. /// Eq. S23 and S24. impl BarkerHenderson { - pub fn diameter_bh + Copy>( + pub fn diameter_bh + Copy>( parameters: &UVTheoryPars, temperature: D, ) -> DVector { @@ -39,7 +39,7 @@ impl BarkerHenderson { } } -pub(super) fn packing_fraction + Copy>( +pub(super) fn packing_fraction + Copy>( partial_density: &DVector, diameter: &DVector, ) -> D { @@ -48,7 +48,7 @@ pub(super) fn packing_fraction + Copy>( }) } -pub(super) fn packing_fraction_b + Copy>( +pub(super) fn packing_fraction_b + Copy>( parameters: &UVTheoryPars, diameter: &DVector, eta: D, @@ -68,7 +68,7 @@ pub(super) fn packing_fraction_b + Copy>( }) } -pub(super) fn packing_fraction_a + Copy>( +pub(super) fn packing_fraction_a + Copy>( parameters: &UVTheoryPars, diameter: &DVector, eta: D, diff --git a/crates/feos/src/uvtheory/eos/bh/mod.rs b/crates/feos/src/uvtheory/eos/bh/mod.rs index 3a678dd98..b34c8aa0c 100644 --- a/crates/feos/src/uvtheory/eos/bh/mod.rs +++ b/crates/feos/src/uvtheory/eos/bh/mod.rs @@ -12,7 +12,7 @@ mod reference_perturbation; pub struct BarkerHenderson; impl BarkerHenderson { - pub fn residual_helmholtz_energy_contributions + Copy>( + pub fn residual_helmholtz_energy_contributions + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, diff --git a/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs b/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs index 268642d3f..d6360d9f2 100644 --- a/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs +++ b/crates/feos/src/uvtheory/eos/bh/reference_perturbation.rs @@ -10,7 +10,7 @@ pub(super) struct ReferencePerturbation; impl ReferencePerturbation { /// Helmholtz energy for perturbation reference (Mayer-f), eq. 29 - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, diff --git a/crates/feos/src/uvtheory/eos/mod.rs b/crates/feos/src/uvtheory/eos/mod.rs index 1957af6e8..c6d98cb86 100644 --- a/crates/feos/src/uvtheory/eos/mod.rs +++ b/crates/feos/src/uvtheory/eos/mod.rs @@ -70,12 +70,12 @@ impl ResidualDyn for UVTheory { self.parameters.pure.len() } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let sigma3 = self.params.sigma.map(|v| v.powi(3)); (sigma3.map(D::from).dot(molefracs) * FRAC_PI_6).recip() * self.options.max_eta } - fn reduced_helmholtz_energy_density_contributions + Copy>( + fn reduced_helmholtz_energy_density_contributions + Copy>( &self, state: &feos_core::StateHD, ) -> Vec<(&'static str, D)> { diff --git a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs index 1e7e8bc5a..ed6f96a51 100644 --- a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs +++ b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation.rs @@ -72,7 +72,7 @@ pub struct AttractivePerturbation; impl AttractivePerturbation { /// Helmholtz energy for attractive perturbation, eq. 52 - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, @@ -107,7 +107,7 @@ impl AttractivePerturbation { } // (S43) & (S53) -fn delta_b12u + Copy>( +fn delta_b12u + Copy>( t_x: D, mean_field_constant_x: D, weighted_sigma3_ij: D, @@ -120,7 +120,7 @@ fn delta_b12u + Copy>( * weighted_sigma3_ij } -fn residual_virial_coefficient + Copy>( +fn residual_virial_coefficient + Copy>( p: &UVTheoryPars, x: &DVector, t: D, @@ -144,7 +144,7 @@ fn residual_virial_coefficient + Copy>( delta_b2bar } -fn correlation_integral_wca + Copy>( +fn correlation_integral_wca + Copy>( rho_x: D, mean_field_constant_x: D, rep_x: D, @@ -162,13 +162,13 @@ fn correlation_integral_wca + Copy>( /// U-fraction according to Barker-Henderson division. /// Eq. 15 -fn u_fraction_wca + Copy>(rep_x: D, reduced_density: D) -> D { +fn u_fraction_wca + Copy>(rep_x: D, reduced_density: D) -> D { (reduced_density * CU_WCA[0] + reduced_density.powi(2) * (rep_x.recip() * CU_WCA[2] + CU_WCA[1])) .tanh() } -pub(super) fn one_fluid_properties + Copy>( +pub(super) fn one_fluid_properties + Copy>( p: &UVTheoryPars, x: &DVector, t: D, @@ -209,7 +209,7 @@ pub(super) fn one_fluid_properties + Copy>( } // Coefficients for IWCA from eq. (S55) -fn coefficients_wca + Copy>(rep: D, att: D, d: D) -> [D; 6] { +fn coefficients_wca + Copy>(rep: D, att: D, d: D) -> [D; 6] { let rep_inv = rep.recip(); let rs_x = (rep / att).powd((rep - att).recip()); let tau_x = -d + rs_x; @@ -241,7 +241,7 @@ fn coefficients_wca + Copy>(rep: D, att: D, d: D) -> [D; 6] { [c1, c2, c3, c4, c5, c6] } -fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64, q: D) -> D { +fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64, q: D) -> D { let rm = (rep / att).powf(1.0 / (rep - att)); // Check mixing rule!! let rc = 5.0; let alpha = mean_field_constant(rep, att, rc); @@ -253,7 +253,7 @@ fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64, * PI } -fn y_eff + Copy>(reduced_temperature: D, rep: f64, att: f64) -> D { +fn y_eff + Copy>(reduced_temperature: D, rep: f64, att: f64) -> D { // optimize: move this part to parameter initialization let rc = 5.0; let rs = (rep / att).powf(1.0 / (rep - att)); diff --git a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs index b6f1772de..b6d36f9fb 100644 --- a/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs +++ b/crates/feos/src/uvtheory/eos/wca/attractive_perturbation_uvb3.rs @@ -85,7 +85,7 @@ pub(super) struct AttractivePerturbationB3; impl AttractivePerturbationB3 { /// Helmholtz energy for attractive perturbation - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, @@ -128,7 +128,7 @@ impl AttractivePerturbationB3 { } } -fn delta_b12u + Copy>( +fn delta_b12u + Copy>( t_x: D, mean_field_constant_x: D, weighted_sigma3_ij: D, @@ -141,7 +141,7 @@ fn delta_b12u + Copy>( * weighted_sigma3_ij } -fn residual_virial_coefficient + Copy>( +fn residual_virial_coefficient + Copy>( p: &UVTheoryPars, x: &DVector, t: D, @@ -163,7 +163,7 @@ fn residual_virial_coefficient + Copy>( delta_b2bar } -fn residual_third_virial_coefficient + Copy>( +fn residual_third_virial_coefficient + Copy>( p: &UVTheoryPars, x: &DVector, t: D, @@ -190,7 +190,7 @@ fn residual_third_virial_coefficient + Copy>( } delta_b3bar } -fn correlation_integral_wca + Copy>( +fn correlation_integral_wca + Copy>( rho_x: D, mean_field_constant_x: D, rep_x: D, @@ -207,7 +207,7 @@ fn correlation_integral_wca + Copy>( } /// U-fraction with low temperature correction omega -fn u_fraction_wca + Copy>(rep_x: D, reduced_density: D, t_x: D) -> D { +fn u_fraction_wca + Copy>(rep_x: D, reduced_density: D, t_x: D) -> D { let omega = if t_x.re() < 175.0 { (-t_x * CU_WCA[5] * (reduced_density - CU_WCA[6]).powi(2)).exp() * ((t_x * CU_WCA[7]).tanh().recip() - 1.0).powi(2) @@ -221,7 +221,7 @@ fn u_fraction_wca + Copy>(rep_x: D, reduced_density: D, t_x: D) } // Coefficients for IWCA -fn coefficients_wca + Copy>(rep: D, att: D, d: D) -> [D; 6] { +fn coefficients_wca + Copy>(rep: D, att: D, d: D) -> [D; 6] { let rep_inv = rep.recip(); let rs_x = (rep / att).powd((rep - att).recip()); let tau_x = -d + rs_x; @@ -259,7 +259,7 @@ fn factorial(num: u64) -> u64 { (1..=num).product() } -fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64, q: D) -> D { +fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64, q: D) -> D { let rm = (rep / att).powd((rep - att).recip()); let beta = reduced_temperature.recip(); let b20 = q.powi(3) * 2.0 / 3.0 * PI; @@ -293,7 +293,7 @@ fn delta_b2 + Copy>(reduced_temperature: D, rep: f64, att: f64, (b20 - rm.powi(3) * 2.0 / 3.0 * PI - c1) * y - sum_beta * c2 - beta * c3 - beta.powi(2) * c4 } -fn delta_b31u + Copy>( +fn delta_b31u + Copy>( t_x: D, weighted_sigma3_ij: D, rm_x: D, @@ -311,7 +311,7 @@ fn delta_b31u + Copy>( t_x.recip() * 4.0 * mie_prefactor(rep_x, att_x) * PI * k1 * weighted_sigma3_ij.powi(2) } -fn delta_b3 + Copy>( +fn delta_b3 + Copy>( t_x: D, rm_x: f64, rep_x: f64, diff --git a/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs b/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs index 4b7bd916c..a985e2f31 100644 --- a/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs +++ b/crates/feos/src/uvtheory/eos/wca/hard_sphere.rs @@ -49,7 +49,7 @@ pub(super) const WCA_CONSTANTS_ETA_B_UVB3: [[f64; 2]; 3] = [ /// Dimensionless Hard-sphere diameter according to Weeks-Chandler-Andersen division. impl WeeksChandlerAndersen { - pub fn diameter_wca + Copy>( + pub fn diameter_wca + Copy>( parameters: &UVTheoryPars, temperature: D, ) -> DVector { @@ -73,7 +73,7 @@ impl WeeksChandlerAndersen { } } -pub(super) fn dimensionless_diameter_q_wca + Copy>( +pub(super) fn dimensionless_diameter_q_wca + Copy>( t_x: D, rep_x: D, att_x: D, @@ -103,7 +103,7 @@ pub(super) fn dimensionless_diameter_q_wca + Copy>( * rs } -pub(super) fn packing_fraction + Copy>( +pub(super) fn packing_fraction + Copy>( partial_density: &DVector, diameter: &DVector, ) -> D { @@ -113,7 +113,7 @@ pub(super) fn packing_fraction + Copy>( } #[inline] -pub(super) fn dimensionless_length_scale + Copy>( +pub(super) fn dimensionless_length_scale + Copy>( parameters: &UVTheoryPars, temperature: D, ) -> DVector { @@ -133,7 +133,7 @@ pub(super) fn dimensionless_length_scale + Copy>( } #[inline] -pub(super) fn packing_fraction_b + Copy>( +pub(super) fn packing_fraction_b + Copy>( parameters: &UVTheoryPars, eta: D, temperature: D, @@ -155,7 +155,7 @@ pub(super) fn packing_fraction_b + Copy>( }) } -pub(super) fn packing_fraction_b_uvb3 + Copy>( +pub(super) fn packing_fraction_b_uvb3 + Copy>( parameters: &UVTheoryPars, eta: D, temperature: D, @@ -177,7 +177,7 @@ pub(super) fn packing_fraction_b_uvb3 + Copy>( }) } -pub(super) fn packing_fraction_a + Copy>( +pub(super) fn packing_fraction_a + Copy>( parameters: &UVTheoryPars, eta: D, temperature: D, @@ -206,7 +206,7 @@ pub(super) fn packing_fraction_a + Copy>( }) } -pub(super) fn packing_fraction_a_uvb3 + Copy>( +pub(super) fn packing_fraction_a_uvb3 + Copy>( parameters: &UVTheoryPars, eta: D, temperature: D, diff --git a/crates/feos/src/uvtheory/eos/wca/mod.rs b/crates/feos/src/uvtheory/eos/wca/mod.rs index bcd76477f..5a26810f3 100644 --- a/crates/feos/src/uvtheory/eos/wca/mod.rs +++ b/crates/feos/src/uvtheory/eos/wca/mod.rs @@ -17,7 +17,7 @@ use reference_perturbation_uvb3::ReferencePerturbationB3; pub struct WeeksChandlerAndersen; impl WeeksChandlerAndersen { - pub fn residual_helmholtz_energy_contributions + Copy>( + pub fn residual_helmholtz_energy_contributions + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, @@ -42,7 +42,7 @@ impl WeeksChandlerAndersen { pub struct WeeksChandlerAndersenB3; impl WeeksChandlerAndersenB3 { - pub fn residual_helmholtz_energy_contributions + Copy>( + pub fn residual_helmholtz_energy_contributions + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, diff --git a/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs b/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs index a60551d40..84a046a28 100644 --- a/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs +++ b/crates/feos/src/uvtheory/eos/wca/reference_perturbation.rs @@ -12,7 +12,7 @@ pub(super) struct ReferencePerturbation; impl ReferencePerturbation { /// Helmholtz energy for perturbation reference (Mayer-f), eq. 29 - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, diff --git a/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs b/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs index 525cbceb4..b1391feae 100644 --- a/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs +++ b/crates/feos/src/uvtheory/eos/wca/reference_perturbation_uvb3.rs @@ -13,7 +13,7 @@ pub(super) struct ReferencePerturbationB3; impl ReferencePerturbationB3 { /// Helmholtz energy for perturbation reference (Mayer-f), eq. 29 - pub fn helmholtz_energy_density + Copy>( + pub fn helmholtz_energy_density + Copy>( &self, parameters: &UVTheoryPars, state: &StateHD, diff --git a/crates/feos/src/uvtheory/parameters.rs b/crates/feos/src/uvtheory/parameters.rs index 102360b59..67eda3a22 100644 --- a/crates/feos/src/uvtheory/parameters.rs +++ b/crates/feos/src/uvtheory/parameters.rs @@ -34,12 +34,12 @@ const CD_BH: SMatrix = matrix![ 3.71527116894441E-03, 5.05384813757953E-03, 4.91003312452622E-02]; #[inline] -pub fn mie_prefactor + Copy>(rep: D, att: D) -> D { +pub fn mie_prefactor + Copy>(rep: D, att: D) -> D { rep / (rep - att) * (rep / att).powd(att / (rep - att)) } #[inline] -pub fn mean_field_constant + Copy>(rep: D, att: D, x: D) -> D { +pub fn mean_field_constant + Copy>(rep: D, att: D, x: D) -> D { mie_prefactor(rep, att) * (x.powd(-att + 3.0) / (att - 3.0) - x.powd(-rep + 3.0) / (rep - 3.0)) } @@ -123,11 +123,11 @@ fn bh_coefficients(rep: f64, att: f64) -> [f64; 5] { } impl HardSphereProperties for UVTheoryPars { - fn monomer_shape + Copy>(&self, _: D) -> MonomerShape<'_, D> { + fn monomer_shape + Copy>(&self, _: D) -> MonomerShape<'_, D> { MonomerShape::Spherical(self.sigma.len()) } - fn hs_diameter + Copy>(&self, temperature: D) -> DVector { + fn hs_diameter + Copy>(&self, temperature: D) -> DVector { match self.perturbation { Perturbation::BarkerHenderson => BarkerHenderson::diameter_bh(self, temperature), Perturbation::WeeksChandlerAndersen => { diff --git a/docs/rustguide/core/equation_of_state.rst b/docs/rustguide/core/equation_of_state.rst index 92ec9bacf..c087dfaab 100644 --- a/docs/rustguide/core/equation_of_state.rst +++ b/docs/rustguide/core/equation_of_state.rst @@ -69,7 +69,7 @@ The non-object-safe trait to do that is the ``HelmholtzEnergyDual`` trait: .. code-block:: rust // This trait cannot be made into a trait object - pub trait HelmholtzEnergyDual> { + pub trait HelmholtzEnergyDual> { fn helmholtz_energy(&self, state: &StateHD) -> D; } @@ -105,7 +105,7 @@ The residual Helmholtz energy is then computed as sum of all contributions: /// /// For simple equations of state (see e.g. `PengRobinson`) it might be /// easier to overwrite this function instead of implementing `residual`. - fn evaluate_residual>(&self, state: &StateHD) -> D + fn evaluate_residual>(&self, state: &StateHD) -> D where dyn HelmholtzEnergy: HelmholtzEnergyDual, { @@ -156,7 +156,7 @@ The ``IdealGasContribution`` supertrait is assembled from ``IdealGasContribution /// Ideal gas Helmholtz energy contribution that can /// be evaluated using generalized (hyper) dual numbers. - pub trait IdealGasContributionDual> { + pub trait IdealGasContributionDual> { /// The thermal de Broglie wavelength of each component in the form $\ln\left(\frac{\Lambda^3}{\AA^3}\right)$ fn de_broglie_wavelength(&self, temperature: D, components: usize) -> Array1; diff --git a/docs/rustguide/core/state.rst b/docs/rustguide/core/state.rst index 29703ab8a..bdd58b5a9 100644 --- a/docs/rustguide/core/state.rst +++ b/docs/rustguide/core/state.rst @@ -102,7 +102,7 @@ The residual entropy is defined as We need the first derivative of the residual Helmholtz energy with respect to temperature. The first derivative can be computed using a dual number consisting of a real part and *one non-real part* which is a ``Dual64`` struct. -Looking at the signature of the Helmholtz energy function, we see that it takes a ``StateHD`` as input (not a ``State``), where ``D`` is a generalized dual number (``D: DualNum``): +Looking at the signature of the Helmholtz energy function, we see that it takes a ``StateHD`` as input (not a ``State``), where ``D`` is a generalized dual number (``D: DualNum``): .. code-block:: rust @@ -121,7 +121,7 @@ Looking at the signature of the Helmholtz energy function, we see that it takes /// Properties are stored as generalized (hyper) dual numbers which allows /// for automatic differentiation. #[derive(Clone, Debug)] - pub struct StateHD> { + pub struct StateHD> { /// temperature in Kelvin pub temperature: D, /// volume in Angstrom^3 diff --git a/py-feos/src/ad/mod.rs b/py-feos/src/ad/mod.rs index c18525a68..fb257d559 100644 --- a/py-feos/src/ad/mod.rs +++ b/py-feos/src/ad/mod.rs @@ -482,8 +482,8 @@ macro_rules! impl_evaluate_gradients { Bound<'py, PyArray1>, ) where - $(R::Lifted>: Sync,)* - R::Lifted>: Sync + $(R::Lifted>: Sync,)* + R::Lifted>: Sync { let (value, grad, status) = if let Ok(pars) = parameters.extract::>() { diff --git a/py-feos/src/user_defined.rs b/py-feos/src/user_defined.rs index 12792059d..a429bd5d9 100644 --- a/py-feos/src/user_defined.rs +++ b/py-feos/src/user_defined.rs @@ -30,7 +30,7 @@ macro_rules! impl_ideal_gas { "Ideal gas (Python)" } - fn ln_lambda3 + Copy>(&self, temperature: D) -> D { + fn ln_lambda3 + Copy>(&self, temperature: D) -> D { let mut result = D::zero(); $( @@ -103,7 +103,7 @@ macro_rules! impl_residual { }) } - fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { + fn compute_max_density + Copy>(&self, molefracs: &DVector) -> D { let mut rho = D::zero(); $( @@ -123,7 +123,7 @@ macro_rules! impl_residual { panic!("compute_max_density: input data type not understood") } - fn reduced_helmholtz_energy_density_contributions + Copy + >( + fn reduced_helmholtz_energy_density_contributions + Copy + >( &self, state: &StateHD, ) -> Vec<(&'static str, D)> { @@ -250,7 +250,7 @@ macro_rules! impl_dual_state_helmholtz_energy { // No definition of dual number necessary for f64 state!(PyStateF, f64, f64); -dual_number!(PyReal64, Real, f64); +dual_number!(PyReal64, Real, f64); impl_dual_state_helmholtz_energy!(PyStateD, PyDual64, Dual64, f64); @@ -258,73 +258,63 @@ dual_number!(PyDualVec3, DualSVec64<3>, f64); impl_dual_state_helmholtz_energy!( PyStateDualDualVec3, PyDualDualVec3, - Dual, f64>, + Dual>, PyDualVec3 ); impl_dual_state_helmholtz_energy!(PyStateHD, PyHyperDual64, HyperDual64, f64); impl_dual_state_helmholtz_energy!(PyStateD2, PyDual2_64, Dual2_64, f64); impl_dual_state_helmholtz_energy!(PyStateD2Vec2, PyDual2SVec64_2, Dual2SVec64<2>, f64); impl_dual_state_helmholtz_energy!(PyStateD3, PyDual3_64, Dual3_64, f64); -impl_dual_state_helmholtz_energy!(PyStateHDD, PyHyperDualDual64, HyperDual, PyDual64); +impl_dual_state_helmholtz_energy!(PyStateHDD, PyHyperDualDual64, HyperDual, PyDual64); dual_number!(PyDualVec2, DualSVec64<2>, f64); impl_dual_state_helmholtz_energy!( PyStateHDDVec2, PyHyperDualVec2, - HyperDual, f64>, + HyperDual>, PyDualVec2 ); impl_dual_state_helmholtz_energy!( PyStateHDDVec3, PyHyperDualVec3, - HyperDual, f64>, + HyperDual>, PyDualVec3 ); -impl_dual_state_helmholtz_energy!( - PyStateD2D, - PyDual2Dual64, - Dual2, - PyDual64 -); -impl_dual_state_helmholtz_energy!( - PyStateD3D, - PyDual3Dual64, - Dual3, - PyDual64 -); +impl_dual_state_helmholtz_energy!(PyStateD2D, PyDual2Dual64, Dual2, PyDual64); +impl_dual_state_helmholtz_energy!(PyStateD3D, PyDual3Dual64, Dual3, PyDual64); impl_dual_state_helmholtz_energy!( PyStateD3DVec2, PyDual3DualVec2, - Dual3, f64>, + Dual3>, PyDualVec2 ); impl_dual_state_helmholtz_energy!( PyStateD3DVec3, PyDual3DualVec3, - Dual3, f64>, + Dual3>, PyDualVec3 ); impl_ideal_gas!( - PyReal64, Real; + PyReal64, Real; PyDual64, Dual64; PyDualDualVec3, - Dual, f64>; + Dual>; PyHyperDual64, HyperDual64; PyDual2_64, Dual2_64; PyDual3_64, Dual3_64; - PyHyperDualDual64, HyperDual; + PyHyperDualDual64, HyperDual; PyHyperDualVec2, - HyperDual, f64>; + HyperDual>; PyHyperDualVec3, - HyperDual, f64>; + HyperDual>; PyDual2Dual64, - Dual2; + Dual2; PyDual3Dual64, - Dual3; + Dual3; PyDual3DualVec2, - Dual3, f64>; + Dual3>; PyDual3DualVec3, - Dual3, f64> + Dual3> ); impl_residual!( @@ -332,28 +322,28 @@ impl_residual!( PyStateD, PyDual64, Dual64; PyStateDualDualVec3, PyDualDualVec3, - Dual, f64>; + Dual>; PyStateHD, PyHyperDual64, HyperDual64; PyStateD2, PyDual2_64, Dual2_64; PyStateD2Vec2, PyDual2SVec64_2, Dual2SVec64<2>; PyStateD3, PyDual3_64, Dual3_64; - PyStateHDD, PyHyperDualDual64, HyperDual; + PyStateHDD, PyHyperDualDual64, HyperDual; PyStateHDDVec2, PyHyperDualVec2, - HyperDual, f64>; + HyperDual>; PyStateHDDVec3, PyHyperDualVec3, - HyperDual, f64>; + HyperDual>; PyStateD2D, PyDual2Dual64, - Dual2; + Dual2; PyStateD3D, PyDual3Dual64, - Dual3; + Dual3; PyStateD3DVec2, PyDual3DualVec2, - Dual3, f64>; + Dual3>; PyStateD3DVec3, PyDual3DualVec3, - Dual3, f64> + Dual3> ); From 231b80551084109c572da6a0d975f447e207e9b6 Mon Sep 17 00:00:00 2001 From: Philipp Rehner <69816385+prehner@users.noreply.github.com> Date: Fri, 14 Aug 2026 16:50:43 +0200 Subject: [PATCH 06/13] Fix calculation of bulk state when moles are specified (#382) --- crates/feos-dft/src/adsorption/pore.rs | 1 + crates/feos-dft/src/convolver/mod.rs | 61 +----- .../src/convolver/periodic_convolver.rs | 16 +- crates/feos-dft/src/geometry.rs | 14 +- crates/feos-dft/src/profile/mod.rs | 174 ++++++++++-------- crates/feos-dft/src/profile/properties.rs | 17 +- crates/feos-dft/src/solver.rs | 38 ++-- py-feos/src/dft/adsorption/pore.rs | 7 + py-feos/src/dft/profile.rs | 6 +- 9 files changed, 156 insertions(+), 178 deletions(-) diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs index fc3cf93be..b5d37630c 100644 --- a/crates/feos-dft/src/adsorption/pore.rs +++ b/crates/feos-dft/src/adsorption/pore.rs @@ -162,6 +162,7 @@ where } pub fn update_bulk(mut self, bulk: &State) -> Self { + self.profile.specification = DFTSpecification::from_state(bulk); self.profile.bulk = bulk.clone(); self.grand_potential = None; self.interfacial_tension = None; diff --git a/crates/feos-dft/src/convolver/mod.rs b/crates/feos-dft/src/convolver/mod.rs index c047bcd0e..540ce4d97 100644 --- a/crates/feos-dft/src/convolver/mod.rs +++ b/crates/feos-dft/src/convolver/mod.rs @@ -1,10 +1,8 @@ use crate::geometry::{Axis, Geometry, Grid}; use crate::weight_functions::*; -use ndarray::linalg::Dot; use ndarray::prelude::*; use ndarray::{Axis as Axis_nd, RemoveAxis, Slice}; use num_dual::*; -use num_traits::Zero; use rustdct::DctNum; use std::ops::{AddAssign, MulAssign, SubAssign}; use std::sync::Arc; @@ -36,46 +34,6 @@ pub trait Convolver: Send + Sync { ) -> Array; } -pub(crate) struct BulkConvolver { - weight_constants: Vec>, -} - -impl + Copy + Send + Sync> BulkConvolver { - #[expect(clippy::new_ret_no_self)] - pub(crate) fn new(weight_functions: Vec>) -> Arc> { - let weight_constants = weight_functions - .into_iter() - .map(|w| w.weight_constants(Zero::zero(), 0)) - .collect(); - Arc::new(Self { weight_constants }) - } -} - -impl + Copy + Send + Sync> Convolver for BulkConvolver -where - Array2: Dot, Output = Array1>, -{ - fn convolve(&self, _: Array0, _: &WeightFunction) -> Array0 { - unreachable!() - } - - fn weighted_densities(&self, density: &Array1) -> Vec> { - self.weight_constants - .iter() - .map(|w| w.dot(density)) - .collect() - } - - fn functional_derivative(&self, partial_derivatives: &[Array1]) -> Array1 { - self.weight_constants - .iter() - .zip(partial_derivatives.iter()) - .map(|(w, pd)| pd.dot(w)) - .reduce(|a, b| a + b) - .unwrap() - } -} - /// Base structure to hold either information about the weight function through /// `WeightFunctionInfo` or the weight functions themselves via /// `FFTWeightFunctions`. @@ -125,11 +83,10 @@ pub struct ConvolverFFT { cartesian_transforms: Vec>, } -impl ConvolverFFT +impl ConvolverFFT where T: DctNum + DualNum, D::Larger: Dimension, - D::Smaller: Dimension, ::Larger: Dimension, { /// Create the appropriate FFT convolver for the given grid. @@ -139,9 +96,11 @@ where lanczos: Option, ) -> Arc> { match grid { + Grid::Bulk => PeriodicConvolver::new_0d(weight_functions), Grid::Polar(r) => CurvilinearConvolver::new(r, &[], weight_functions, lanczos), Grid::Spherical(r) => CurvilinearConvolver::new(r, &[], weight_functions, lanczos), Grid::Cartesian1(z) => Self::new(Some(z), &[], weight_functions, lanczos), + Grid::Periodical1(z) => PeriodicConvolver::new_1d(z, weight_functions, lanczos), Grid::Cylindrical { r, z } => { CurvilinearConvolver::new(r, &[z], weight_functions, lanczos) } @@ -553,11 +512,10 @@ struct CurvilinearConvolver { convolver_boundary: Arc>, } -impl CurvilinearConvolver +impl CurvilinearConvolver where T: DctNum + DualNum, D::Larger: Dimension, - D::Smaller: Dimension, ::Larger: Dimension, { #[expect(clippy::new_ret_no_self)] @@ -574,10 +532,9 @@ where } } -impl Convolver for CurvilinearConvolver +impl Convolver for CurvilinearConvolver where T: DctNum + DualNum, - D::Smaller: Dimension, D::Larger: Dimension, { fn convolve( @@ -587,9 +544,9 @@ where ) -> Array { // subtract boundary profile from full profile let profile_boundary = profile - .index_axis(Axis(0), profile.shape()[0] - 1) + .slice_axis(Axis(0), Slice::from(profile.shape()[0] - 1..)) .into_owned(); - for mut lane in profile.outer_iter_mut() { + for mut lane in profile.axis_chunks_iter_mut(Axis(0), 1) { lane.sub_assign(&profile_boundary); } @@ -597,14 +554,12 @@ where let mut result = self.convolver.convolve(profile, weight_function); // convolve boundary profile - let profile_boundary = profile_boundary.insert_axis(Axis(0)); let result_boundary = self .convolver_boundary .convolve(profile_boundary, weight_function); // Add boundary result back to full result - let result_boundary = result_boundary.index_axis(Axis(0), 0); - for mut lane in result.outer_iter_mut() { + for mut lane in result.axis_chunks_iter_mut(Axis(0), 1) { lane.add_assign(&result_boundary); } result diff --git a/crates/feos-dft/src/convolver/periodic_convolver.rs b/crates/feos-dft/src/convolver/periodic_convolver.rs index dfb12ff06..7678797a7 100644 --- a/crates/feos-dft/src/convolver/periodic_convolver.rs +++ b/crates/feos-dft/src/convolver/periodic_convolver.rs @@ -30,6 +30,18 @@ where D::Larger: Dimension, ::Larger: Dimension, { + pub fn new_0d(weight_functions: &[WeightFunctionInfo]) -> Arc> { + Self::new(&[], |_| {}, weight_functions, None) + } + + pub fn new_1d( + axis: &Axis, + weight_functions: &[WeightFunctionInfo], + lanczos: Option, + ) -> Arc> { + Self::new(&[axis], |_| {}, weight_functions, lanczos) + } + pub fn new_2d( axes: &[&Axis], angle: Angle, @@ -200,7 +212,7 @@ impl PeriodicConvolver { } fn forward_transform(&self, f: ArrayView) -> Array, D2> { - let offset = D2::NDIM.unwrap() - D::NDIM.unwrap(); + let offset = f.ndim() - self.k_abs.ndim(); let mut result = f.mapv(Complex::from); for (i, transform) in self.forward_transforms.iter().enumerate() { for r in result.lanes_mut(Axis_nd(i + offset)).into_iter() { @@ -211,7 +223,7 @@ impl PeriodicConvolver { } fn inverse_transform(&self, mut f: Array, D2>) -> Array { - let offset = D2::NDIM.unwrap() - D::NDIM.unwrap(); + let offset = f.ndim() - self.k_abs.ndim(); for (i, transform) in self.inverse_transforms.iter().enumerate() { for r in f.lanes_mut(Axis_nd(i + offset)).into_iter() { self.transform(transform, r); diff --git a/crates/feos-dft/src/geometry.rs b/crates/feos-dft/src/geometry.rs index e69409e9b..b4a14f5d1 100644 --- a/crates/feos-dft/src/geometry.rs +++ b/crates/feos-dft/src/geometry.rs @@ -6,7 +6,9 @@ use std::f64::consts::{FRAC_PI_3, PI}; /// Grids with up to three dimensions. #[derive(Clone)] pub enum Grid { + Bulk, Cartesian1(Axis), + Periodical1(Axis), Cartesian2(Axis, Axis), Periodical2(Axis, Axis, Angle), Cartesian3(Axis, Axis, Axis), @@ -27,7 +29,8 @@ impl Grid { pub fn axes(&self) -> Vec<&Axis> { match self { - Self::Cartesian1(x) => vec![x], + Self::Bulk => vec![], + Self::Cartesian1(x) | Self::Periodical1(x) => vec![x], Self::Cartesian2(x, y) | Self::Periodical2(x, y, _) => vec![x, y], Self::Cartesian3(x, y, z) | Self::Periodical3(x, y, z, _) => vec![x, y, z], Self::Spherical(r) | Self::Polar(r) => vec![r], @@ -37,7 +40,8 @@ impl Grid { pub fn axes_mut(&mut self) -> Vec<&mut Axis> { match self { - Self::Cartesian1(x) => vec![x], + Self::Bulk => vec![], + Self::Cartesian1(x) | Self::Periodical1(x) => vec![x], Self::Cartesian2(x, y) | Self::Periodical2(x, y, _) => vec![x, y], Self::Cartesian3(x, y, z) | Self::Periodical3(x, y, z, _) => vec![x, y, z], Self::Spherical(r) | Self::Polar(r) => vec![r], @@ -72,7 +76,11 @@ impl Grid { pub fn mesh(&self) -> Vec>> { match self { - Grid::Cartesian1(ax) | Grid::Spherical(ax) | Grid::Polar(ax) => { + Self::Bulk => vec![], + Grid::Cartesian1(ax) + | Self::Periodical1(ax) + | Grid::Spherical(ax) + | Grid::Polar(ax) => { vec![Length::from_reduced(ax.grid.clone()).into_dyn()] } Grid::Cartesian2(u, v) => mesh_2d(u, v, 90.0 * DEGREES), diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index 37f5e3aa9..6def8ded2 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -1,10 +1,10 @@ -use crate::convolver::{BulkConvolver, Convolver, ConvolverFFT}; +use crate::convolver::{Convolver, ConvolverFFT, PeriodicConvolver}; use crate::functional::HelmholtzEnergyFunctional; use crate::geometry::Grid; use crate::solver::{DFTSolver, DFTSolverLog}; use feos_core::{FeosError, FeosResult, ReferenceSystem, State}; use nalgebra::{DVector, Dyn, U1}; -use ndarray::{Array, Array1, ArrayBase, Axis as Axis_nd, Data, Dimension, RemoveAxis}; +use ndarray::{Array, Array1, ArrayBase, Axis as Axis_nd, Data, Dimension, Ix0, arr1}; use num_dual::DualNum; use quantity::{_Volume, Density, Energy, Entropy, Length, Moles, Quantity, Temperature, Volume}; use std::ops::{Add, MulAssign}; @@ -22,7 +22,7 @@ const MAX_POTENTIAL: f64 = 50.0; #[derive(Clone)] pub enum DFTSpecification { /// DFT with specified chemical potential. - ChemicalPotential, + ChemicalPotential(Array1), /// DFT with specified number of particles. /// /// The solution is still a grand canonical density profile, but the chemical @@ -30,21 +30,42 @@ pub enum DFTSpecification { /// with the specified number of particles. Moles(Array1), /// DFT with specified total number of moles. - TotalMoles(f64), + TotalMoles(f64, Array1), } impl DFTSpecification { - fn calculate_bulk_density( - &self, - bulk_density: &Array1, - z: &Array1, - ) -> FeosResult> { + fn calculate_fugacity(&self, z: &Array1) -> FeosResult> { Ok(match self { - Self::ChemicalPotential => bulk_density.clone(), + Self::ChemicalPotential(fugacity) => fugacity.clone(), Self::Moles(moles) => moles / z, - Self::TotalMoles(total_moles) => bulk_density * *total_moles / (bulk_density * z).sum(), + Self::TotalMoles(total_moles, fugacity) => { + fugacity * *total_moles / (fugacity * z).sum() + } }) } + + pub fn from_state(state: &State) -> Self { + let component_index = state.eos.component_index().into_owned(); + let m = arr1(&state.eos.m()); + let partial_density = state.partial_density().into_reduced(); + let temperature = state.temperature.into_reduced(); + let bulk_density = component_index + .iter() + .map(|&i| partial_density[i]) + .collect(); + let bulk_convolver = + PeriodicConvolver::<_, Ix0>::new_0d(&state.eos.weight_functions(temperature)); + let (_, dfdrho_bulk) = state + .eos + .functional_derivative(temperature, &bulk_density, bulk_convolver.as_ref()) + .unwrap(); + let exp_dfdrho = (dfdrho_bulk / m).mapv(f64::exp); + let bonds = state + .eos + .bond_integrals(temperature, &exp_dfdrho, bulk_convolver.as_ref()); + let fugacity = bulk_density * exp_dfdrho * bonds; + Self::ChemicalPotential(fugacity) + } } #[derive(Clone)] @@ -80,10 +101,9 @@ impl DFTProfile { } } -impl DFTProfile +impl DFTProfile where D::Larger: Dimension, - D::Smaller: Dimension, ::Larger: Dimension, { /// Create a new density profile. @@ -147,7 +167,7 @@ where convolver, temperature: bulk.temperature, density, - specification: DFTSpecification::ChemicalPotential, + specification: DFTSpecification::from_state(bulk), external_potential, bulk: bulk.clone(), solver_log: None, @@ -167,7 +187,12 @@ where pub fn fix_total_moles(&mut self) { let rho = self.density.to_reduced(); let moles = self.integrate_reduced_comp(&rho).sum(); - self.specification = DFTSpecification::TotalMoles(moles); + let DFTSpecification::ChemicalPotential(fugacity) = + DFTSpecification::from_state(&self.bulk) + else { + unreachable!() + }; + self.specification = DFTSpecification::TotalMoles(moles, fugacity); } /// Return the external potential in SI units. @@ -293,37 +318,17 @@ where .weighted_densities(&self.density.to_reduced())) } - #[expect(clippy::type_complexity)] - pub fn residual(&self, log: bool) -> FeosResult<(Array, Array1, f64)> { - // Read from profile + pub fn residual(&self, log: bool) -> FeosResult<(Array, f64)> { let density = self.density.to_reduced(); - let partial_density = self.bulk.partial_density().into_reduced(); - let mut bulk_density = self - .bulk - .eos - .component_index() - .iter() - .map(|&i| partial_density[i]) - .collect(); - - let (res, res_bulk, res_norm, _, _) = - self.euler_lagrange_equation(&density, &mut bulk_density, log)?; - Ok((res, res_bulk, res_norm)) + let (res, res_norm, _, _) = self.euler_lagrange_equation(&density, log)?; + Ok((res, res_norm)) } #[expect(clippy::type_complexity)] - pub(crate) fn euler_lagrange_equation( + fn fugacity( &self, density: &Array, - bulk_density: &mut Array1, - log: bool, - ) -> FeosResult<( - Array, - Array1, - f64, - Array, - Array, - )> { + ) -> FeosResult<(Array, Array, Array1)> { // calculate reduced temperature let temperature = self.temperature.to_reduced(); @@ -336,21 +341,10 @@ where // calculate total functional derivative dfdrho += &self.external_potential; - // calculate bulk functional derivative - let bulk_convolver = BulkConvolver::new(self.bulk.eos.weight_functions(temperature)); - let (_, dfdrho_bulk) = self.bulk.eos.functional_derivative( - temperature, - bulk_density, - bulk_convolver.as_ref(), - )?; dfdrho .outer_iter_mut() - .zip(dfdrho_bulk) .zip(self.bulk.eos.m().iter()) - .for_each(|((mut df, df_b), &m)| { - df -= df_b; - df /= m - }); + .for_each(|(mut df, &m)| df /= m); // calculate bond integrals let exp_dfdrho = dfdrho.mapv(|x| (-x).exp()); @@ -358,22 +352,36 @@ where .bulk .eos .bond_integrals(temperature, &exp_dfdrho, self.convolver.as_ref()); - let mut rho_projected = &exp_dfdrho * bonds; + let z = &exp_dfdrho * bonds; - // calculate bulk density based on the given specification - let res_bulk = &*bulk_density - - self.specification.calculate_bulk_density( - bulk_density, - &self.integrate_reduced_comp(&rho_projected), - )?; - *bulk_density -= &res_bulk; + // calculate fugacity based on the given specification + let fugacity = self + .specification + .calculate_fugacity(&self.integrate_reduced_comp(&z))?; - // multiply bulk density + Ok((exp_dfdrho, z, fugacity)) + } + + #[expect(clippy::type_complexity)] + pub(crate) fn euler_lagrange_equation( + &self, + density: &Array, + log: bool, + ) -> FeosResult<( + Array, + f64, + Array, + Array, + )> { + // calculate functional derivatives and fugacity + let (exp_dfdrho, mut rho_projected, fugacity) = self.fugacity(density)?; + + // multiply fugacity rho_projected .outer_iter_mut() - .zip(bulk_density.iter()) - .for_each(|(mut x, &rho_b)| { - x *= rho_b; + .zip(fugacity.iter()) + .for_each(|(mut x, &f)| { + x *= f; }); // calculate residual @@ -394,7 +402,7 @@ where (density - &rho_projected).mapv(|x| x * x).sum().sqrt() / (res.len() as f64).sqrt(); if res_norm.is_finite() { - Ok((res, res_bulk, res_norm, exp_dfdrho, rho_projected)) + Ok((res, res_norm, exp_dfdrho, rho_projected)) } else { Err(FeosError::IterationFailed("Euler-Lagrange equation".into())) } @@ -405,25 +413,35 @@ where let solver = solver.cloned().unwrap_or_default(); // Read from profile - let component_index = self.bulk.eos.component_index().into_owned(); let mut density = self.density.to_reduced(); - let partial_density = self.bulk.partial_density().into_reduced(); - let mut bulk_density = component_index - .iter() - .map(|&i| partial_density[i]) - .collect(); // Call solver(s) - self.call_solver(&mut density, &mut bulk_density, &solver, debug)?; + self.call_solver(&mut density, &solver, debug)?; + + // Update bulk state + if !matches!(self.specification, DFTSpecification::ChemicalPotential(_)) { + // solve a bulk profile with the Newton solver + let mut bulk_profile = + DFTProfile::::new(Grid::Bulk, &self.bulk, None, None, None); + let (_, _, fugacity) = self.fugacity(&density)?; + bulk_profile.specification = DFTSpecification::ChemicalPotential(fugacity); + let solver = DFTSolver::new(None).newton(None, None, None, None); + bulk_profile.solve(Some(&solver), false)?; + + // create the state based on the results from the bulk profile + let component_index = self.bulk.eos.component_index(); + let mut partial_density = self.bulk.partial_density(); + bulk_profile + .density + .into_iter() + .enumerate() + .for_each(|(i, r)| partial_density.set(component_index[i], r)); + self.bulk = State::new_density(&self.bulk.eos, self.bulk.temperature, partial_density)?; + } // Update profile self.density = Density::from_reduced(density); - let mut partial_density = self.bulk.partial_density(); - bulk_density - .into_iter() - .enumerate() - .for_each(|(i, r)| partial_density.set(component_index[i], Density::from_reduced(r))); - self.bulk = State::new_density(&self.bulk.eos, self.bulk.temperature, partial_density)?; + Ok(()) } } diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs index 1c0427b28..8e602b34b 100644 --- a/crates/feos-dft/src/profile/properties.rs +++ b/crates/feos-dft/src/profile/properties.rs @@ -1,11 +1,11 @@ #![allow(type_alias_bounds)] use super::DFTProfile; -use crate::convolver::{BulkConvolver, Convolver}; +use crate::convolver::{Convolver, PeriodicConvolver}; use crate::functional_contribution::FunctionalContribution; use crate::{ConvolverFFT, DFTSolverLog, HelmholtzEnergyFunctional, WeightFunctionInfo}; use feos_core::{Contributions, FeosResult, ReferenceSystem, Total, Verbosity}; use nalgebra::{DMatrix, DVector}; -use ndarray::{Array, Array1, Axis, Dimension, RemoveAxis}; +use ndarray::{Array, Array1, Axis, Dimension, Ix0, RemoveAxis}; use num_dual::{Dual64, DualNum}; use quantity::{ Density, Energy, Entropy, EntropyDensity, MolarEnergy, Moles, Pressure, Quantity, Temperature, @@ -298,17 +298,8 @@ where { fn density_derivative(&self, lhs: &Array) -> FeosResult> { let rho = self.density.to_reduced(); - let partial_density = self.bulk.partial_density().into_reduced(); - let mut rho_bulk = self - .bulk - .eos - .component_index() - .iter() - .map(|&i| partial_density[i]) - .collect(); - let second_partial_derivatives = self.second_partial_derivatives(&rho)?; - let (_, _, _, exp_dfdrho, _) = self.euler_lagrange_equation(&rho, &mut rho_bulk, false)?; + let (_, _, exp_dfdrho, _) = self.euler_lagrange_equation(&rho, false)?; let rhs = |x: &_| { let delta_functional_derivative = @@ -411,7 +402,7 @@ where .map(|&i| partial_density[i]) .collect(); let rho_bulk_dual = rho_bulk.mapv(Dual64::from); - let bulk_convolver = BulkConvolver::new(weight_functions); + let bulk_convolver = PeriodicConvolver::<_, Ix0>::new_0d(&weight_functions); let (_, dfdrho_bulk) = self.bulk .eos diff --git a/crates/feos-dft/src/solver.rs b/crates/feos-dft/src/solver.rs index 69d2e2757..2baba60fb 100644 --- a/crates/feos-dft/src/solver.rs +++ b/crates/feos-dft/src/solver.rs @@ -216,7 +216,6 @@ where pub(crate) fn call_solver( &mut self, rho: &mut Array, - rho_bulk: &mut Array1, solver: &DFTSolver, debug: bool, ) -> FeosResult<()> { @@ -225,13 +224,11 @@ where let mut log = DFTSolverLog::new(solver.verbosity); for algorithm in &solver.algorithms { let (conv, iter) = match algorithm { - DFTAlgorithm::PicardIteration(picard) => { - self.solve_picard(*picard, rho, rho_bulk, &mut log) - } + DFTAlgorithm::PicardIteration(picard) => self.solve_picard(*picard, rho, &mut log), DFTAlgorithm::AndersonMixing(anderson) => { - self.solve_anderson(*anderson, rho, rho_bulk, &mut log) + self.solve_anderson(*anderson, rho, &mut log) } - DFTAlgorithm::Newton(newton) => self.solve_newton(*newton, rho, rho_bulk, &mut log), + DFTAlgorithm::Newton(newton) => self.solve_newton(*newton, rho, &mut log), }?; converged = conv; iterations += iter; @@ -255,7 +252,6 @@ where &self, picard: PicardIteration, rho: &mut Array, - rho_bulk: &mut Array1, log: &mut DFTSolverLog, ) -> FeosResult<(bool, usize)> { let solver = if picard.log { @@ -266,8 +262,7 @@ where for k in 0..picard.max_iter { // calculate residual - let (res, _, res_norm, _, _) = - self.euler_lagrange_equation(&*rho, rho_bulk, picard.log)?; + let (res, res_norm, _, _) = self.euler_lagrange_equation(&*rho, picard.log)?; log.add_residual(solver, k, res_norm); // check for convergence @@ -276,10 +271,9 @@ where } // apply line search or constant damping - let damping_coefficient = picard.damping_coefficient.map_or_else( - || self.line_search(rho, &res, rho_bulk, res_norm, picard.log), - Ok, - )?; + let damping_coefficient = picard + .damping_coefficient + .map_or_else(|| self.line_search(rho, &res, res_norm, picard.log), Ok)?; // update solution if picard.log { @@ -295,7 +289,6 @@ where &self, rho: &Array, delta_rho: &Array, - rho_bulk: &mut Array1, res0: f64, logarithm: bool, ) -> FeosResult { @@ -311,9 +304,7 @@ where } else { rho + alpha * delta_rho }; - let Ok((_, _, res2, _, _)) = - self.euler_lagrange_equation(&rho_new, rho_bulk, logarithm) - else { + let Ok((_, res2, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { continue; }; if res2 > res0 { @@ -326,9 +317,7 @@ where } else { rho + 0.5 * alpha * delta_rho }; - let Ok((_, _, res1, _, _)) = - self.euler_lagrange_equation(&rho_new, rho_bulk, logarithm) - else { + let Ok((_, res1, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { continue; }; @@ -359,7 +348,6 @@ where &self, anderson: AndersonMixing, rho: &mut Array, - rho_bulk: &mut Array1, log: &mut DFTSolverLog, ) -> FeosResult<(bool, usize)> { let solver = if anderson.log { @@ -382,8 +370,7 @@ where let m = resm.len() + 1; // calculate residual - let (res, _, res_norm, _, _) = - self.euler_lagrange_equation(&*rho, rho_bulk, anderson.log)?; + let (res, res_norm, _, _) = self.euler_lagrange_equation(&*rho, anderson.log)?; log.add_residual(solver, k, res_norm); // check for convergence @@ -434,14 +421,13 @@ where &self, newton: Newton, rho: &mut Array, - rho_bulk: &mut Array1, log: &mut DFTSolverLog, ) -> FeosResult<(bool, usize)> { let solver = if newton.log { "Newton (log)" } else { "Newton" }; for k in 0..newton.max_iter { // calculate initial residual - let (res, _, res_norm, exp_dfdrho, rho_p) = - self.euler_lagrange_equation(rho, rho_bulk, newton.log)?; + let (res, res_norm, exp_dfdrho, rho_p) = + self.euler_lagrange_equation(rho, newton.log)?; log.add_residual(solver, k, res_norm); // check convergence diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs index ab66684e2..d07c75b39 100644 --- a/py-feos/src/dft/adsorption/pore.rs +++ b/py-feos/src/dft/adsorption/pore.rs @@ -28,6 +28,13 @@ impl PyGrid { Self(Grid::Cartesian1(x)) } + /// Generate a 1D Cartesian grid with periodic boundary conditions on both sides. + #[staticmethod] + pub fn periodical_1d(n_points: usize, length: Length) -> Self { + let x = AxisDFT::new_cartesian(n_points, length, None); + Self(Grid::Periodical1(x)) + } + /// Generate a polar grid with radial axis. #[staticmethod] pub fn polar(n_points: usize, length: Length) -> Self { diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs index 40104de89..e1acef783 100644 --- a/py-feos/src/dft/profile.rs +++ b/py-feos/src/dft/profile.rs @@ -18,9 +18,9 @@ macro_rules! impl_profile { &self, log: bool, py: Python<'py>, - ) -> PyResult<(Bound<'py, PyArrayDyn>, Bound<'py, PyArray1>, f64)> { - let (res_rho, res_mu, res_norm) = self.0.profile.residual(log).map_err(PyFeosError::from)?; - Ok((res_rho.view().into_dyn().to_pyarray(py), res_mu.view().to_pyarray(py), res_norm)) + ) -> PyResult<(Bound<'py, PyArrayDyn>, f64)> { + let (res_rho, res_norm) = self.0.profile.residual(log).map_err(PyFeosError::from)?; + Ok((res_rho.view().into_dyn().to_pyarray(py), res_norm)) } /// Solve the profile in-place. A non-default solver can be provided From 4c6f875d66b44dea6d6822fbba5c2557803dc15f Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Mon, 31 Aug 2026 17:24:31 +0200 Subject: [PATCH 07/13] Extend Newton solver to DFT specifications other than chemical potentials --- crates/feos-dft/src/profile/mod.rs | 59 ++++++++++++++--------- crates/feos-dft/src/profile/properties.rs | 2 +- crates/feos-dft/src/solver.rs | 23 ++++++--- 3 files changed, 55 insertions(+), 29 deletions(-) diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index 6def8ded2..a9052174a 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -34,14 +34,24 @@ pub enum DFTSpecification { } impl DFTSpecification { - fn calculate_fugacity(&self, z: &Array1) -> FeosResult> { - Ok(match self { + fn calculate_fugacity(&self, z: &Array1) -> Array1 { + match self { Self::ChemicalPotential(fugacity) => fugacity.clone(), Self::Moles(moles) => moles / z, Self::TotalMoles(total_moles, fugacity) => { fugacity * *total_moles / (fugacity * z).sum() } - }) + } + } + + pub(crate) fn delta_fugacity(&self, z: &Array1, delta_z: &Array1) -> Array1 { + match self { + Self::ChemicalPotential(fugacity) => Array1::zeros(fugacity.len()), + Self::Moles(_) => -delta_z / z, + Self::TotalMoles(_, fugacity) => { + -(fugacity * delta_z).sum() / (fugacity * z).sum() * Array1::ones(fugacity.len()) + } + } } pub fn from_state(state: &State) -> Self { @@ -216,7 +226,7 @@ where profile.sum() * functional_determinant } - fn integrate_reduced_comp, N: DualNum + Copy>( + pub(crate) fn integrate_reduced_comp, N: DualNum + Copy>( &self, profile: &ArrayBase, ) -> Array1 { @@ -320,7 +330,7 @@ where pub fn residual(&self, log: bool) -> FeosResult<(Array, f64)> { let density = self.density.to_reduced(); - let (res, res_norm, _, _) = self.euler_lagrange_equation(&density, log)?; + let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&density, log)?; Ok((res, res_norm)) } @@ -328,7 +338,12 @@ where fn fugacity( &self, density: &Array, - ) -> FeosResult<(Array, Array, Array1)> { + ) -> FeosResult<( + Array, + Array1, + Array, + Array1, + )> { // calculate reduced temperature let temperature = self.temperature.to_reduced(); @@ -352,14 +367,21 @@ where .bulk .eos .bond_integrals(temperature, &exp_dfdrho, self.convolver.as_ref()); - let z = &exp_dfdrho * bonds; + let mut rho_projected = &exp_dfdrho * bonds; + let z = self.integrate_reduced_comp(&rho_projected); // calculate fugacity based on the given specification - let fugacity = self - .specification - .calculate_fugacity(&self.integrate_reduced_comp(&z))?; + let fugacity = self.specification.calculate_fugacity(&z); + + // multiply fugacity + rho_projected + .outer_iter_mut() + .zip(fugacity.iter()) + .for_each(|(mut x, &f)| { + x *= f; + }); - Ok((exp_dfdrho, z, fugacity)) + Ok((exp_dfdrho, z, rho_projected, fugacity)) } #[expect(clippy::type_complexity)] @@ -371,18 +393,11 @@ where Array, f64, Array, + Array1, Array, )> { // calculate functional derivatives and fugacity - let (exp_dfdrho, mut rho_projected, fugacity) = self.fugacity(density)?; - - // multiply fugacity - rho_projected - .outer_iter_mut() - .zip(fugacity.iter()) - .for_each(|(mut x, &f)| { - x *= f; - }); + let (exp_dfdrho, z, rho_projected, _) = self.fugacity(density)?; // calculate residual let mut res = if log { @@ -402,7 +417,7 @@ where (density - &rho_projected).mapv(|x| x * x).sum().sqrt() / (res.len() as f64).sqrt(); if res_norm.is_finite() { - Ok((res, res_norm, exp_dfdrho, rho_projected)) + Ok((res, res_norm, exp_dfdrho, z, rho_projected)) } else { Err(FeosError::IterationFailed("Euler-Lagrange equation".into())) } @@ -423,7 +438,7 @@ where // solve a bulk profile with the Newton solver let mut bulk_profile = DFTProfile::::new(Grid::Bulk, &self.bulk, None, None, None); - let (_, _, fugacity) = self.fugacity(&density)?; + let (_, _, _, fugacity) = self.fugacity(&density)?; bulk_profile.specification = DFTSpecification::ChemicalPotential(fugacity); let solver = DFTSolver::new(None).newton(None, None, None, None); bulk_profile.solve(Some(&solver), false)?; diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs index 8e602b34b..4b7516853 100644 --- a/crates/feos-dft/src/profile/properties.rs +++ b/crates/feos-dft/src/profile/properties.rs @@ -299,7 +299,7 @@ where fn density_derivative(&self, lhs: &Array) -> FeosResult> { let rho = self.density.to_reduced(); let second_partial_derivatives = self.second_partial_derivatives(&rho)?; - let (_, _, exp_dfdrho, _) = self.euler_lagrange_equation(&rho, false)?; + let (_, _, exp_dfdrho, _, _) = self.euler_lagrange_equation(&rho, false)?; let rhs = |x: &_| { let delta_functional_derivative = diff --git a/crates/feos-dft/src/solver.rs b/crates/feos-dft/src/solver.rs index 2baba60fb..15baf742f 100644 --- a/crates/feos-dft/src/solver.rs +++ b/crates/feos-dft/src/solver.rs @@ -262,7 +262,7 @@ where for k in 0..picard.max_iter { // calculate residual - let (res, res_norm, _, _) = self.euler_lagrange_equation(&*rho, picard.log)?; + let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&*rho, picard.log)?; log.add_residual(solver, k, res_norm); // check for convergence @@ -304,7 +304,7 @@ where } else { rho + alpha * delta_rho }; - let Ok((_, res2, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { + let Ok((_, res2, _, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { continue; }; if res2 > res0 { @@ -317,7 +317,7 @@ where } else { rho + 0.5 * alpha * delta_rho }; - let Ok((_, res1, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { + let Ok((_, res1, _, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { continue; }; @@ -370,7 +370,7 @@ where let m = resm.len() + 1; // calculate residual - let (res, res_norm, _, _) = self.euler_lagrange_equation(&*rho, anderson.log)?; + let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&*rho, anderson.log)?; log.add_residual(solver, k, res_norm); // check for convergence @@ -426,7 +426,7 @@ where let solver = if newton.log { "Newton (log)" } else { "Newton" }; for k in 0..newton.max_iter { // calculate initial residual - let (res, res_norm, exp_dfdrho, rho_p) = + let (res, res_norm, exp_dfdrho, z, rho_p) = self.euler_lagrange_equation(rho, newton.log)?; log.add_residual(solver, k, res_norm); @@ -447,8 +447,19 @@ where .zip(self.bulk.eos.m().iter()) .for_each(|(mut q, &m)| q /= m); let delta_i = self.delta_bond_integrals(&exp_dfdrho, &delta_functional_derivative); + let mut delta_exp_dfdrho = delta_functional_derivative - delta_i; + let delta_z = -self.integrate_reduced_comp(&(&delta_exp_dfdrho * &exp_dfdrho)); + + let delta_fugacity = self.specification.delta_fugacity(&z, &delta_z); + delta_exp_dfdrho + .outer_iter_mut() + .zip(delta_fugacity.iter()) + .for_each(|(mut z, &f)| { + z -= f; + }); + let rho = if newton.log { &*rho } else { &rho_p }; - delta_rho + (delta_functional_derivative - delta_i) * rho + delta_rho + delta_exp_dfdrho * rho }; // update solution From 3704b01a0f73fe025465ceb3a9c88a6d983cb126 Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Sun, 26 Jul 2026 12:22:01 +0200 Subject: [PATCH 08/13] Use rayon to parallelize the evaluation of the functional --- crates/feos-dft/Cargo.toml | 1 + crates/feos-dft/src/adsorption/mod.rs | 10 +- crates/feos-dft/src/adsorption/pore.rs | 30 +- crates/feos-dft/src/convolver/mod.rs | 3 +- crates/feos-dft/src/functional.rs | 177 ++++++++- .../feos-dft/src/functional_contribution.rs | 43 ++- crates/feos-dft/src/geometry.rs | 33 +- crates/feos-dft/src/interface/mod.rs | 2 +- crates/feos-dft/src/profile/mod.rs | 76 ++-- crates/feos-dft/src/profile/properties.rs | 121 +++--- .../src/solvation/pair_correlation.rs | 2 +- .../src/solvation/solvation_profile.rs | 2 +- crates/feos-dft/src/solver.rs | 355 ++++++++---------- py-feos/src/dft/adsorption/mod.rs | 4 +- py-feos/src/dft/adsorption/pore.rs | 4 +- py-feos/src/dft/profile.rs | 22 +- py-feos/src/dft/solver.rs | 14 + 17 files changed, 540 insertions(+), 359 deletions(-) diff --git a/crates/feos-dft/Cargo.toml b/crates/feos-dft/Cargo.toml index 400504e9e..582d9a21a 100644 --- a/crates/feos-dft/Cargo.toml +++ b/crates/feos-dft/Cargo.toml @@ -24,6 +24,7 @@ rustfft = { workspace = true } num-traits = { workspace = true } libm = { workspace = true } petgraph = { workspace = true } +indexmap = { workspace = true } feos-core = { workspace = true } diff --git a/crates/feos-dft/src/adsorption/mod.rs b/crates/feos-dft/src/adsorption/mod.rs index fe3391223..fde4814fe 100644 --- a/crates/feos-dft/src/adsorption/mod.rs +++ b/crates/feos-dft/src/adsorption/mod.rs @@ -394,13 +394,13 @@ where }) } - pub fn partial_molar_enthalpy_of_adsorption(&self) -> MolarEnergy> { + pub fn partial_molar_enthalpy_of_adsorption(&mut self) -> MolarEnergy> { let h_ads: Vec<_> = self .profiles - .iter() + .iter_mut() .map(|p| { match p - .as_ref() + .as_mut() .ok() .and_then(|p| p.partial_molar_enthalpy_of_adsorption().ok()) { @@ -414,10 +414,10 @@ where MolarEnergy::from_fn(self.components, self.profiles.len(), |j, i| h_ads[i].get(j)) } - pub fn enthalpy_of_adsorption(&self) -> MolarEnergy> { + pub fn enthalpy_of_adsorption(&mut self) -> MolarEnergy> { MolarEnergy::from_shape_fn(self.profiles.len(), |i| { match self.profiles[i] - .as_ref() + .as_mut() .ok() .and_then(|p| p.enthalpy_of_adsorption().ok()) { diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs index b5d37630c..7e58d4698 100644 --- a/crates/feos-dft/src/adsorption/pore.rs +++ b/crates/feos-dft/src/adsorption/pore.rs @@ -123,7 +123,7 @@ where density: Option<&Density>>, specification: PoreSpecification, ) -> Self { - let mut profile = DFTProfile::new(grid, bulk, Some(external_potential), density, Some(1)); + let mut profile = DFTProfile::new(grid, bulk, Some(external_potential), density); // fix the number of particles match specification { @@ -169,17 +169,19 @@ where self } - pub fn partial_molar_enthalpy_of_adsorption(&self) -> FeosResult>> { + pub fn partial_molar_enthalpy_of_adsorption( + &mut self, + ) -> FeosResult>> { let a = self.profile.dn_dmu()?; let a_unit = a.get2(0, 0); - let b = -self.profile.temperature * self.profile.dn_dt()?; + let b = -self.profile.bulk.temperature * self.profile.dn_dt()?; let b_unit = b.get(0); let h_ads = LU::new((a / a_unit).into_value())?.solve(&(b / b_unit).into_value()); Ok(&h_ads * b_unit / a_unit) } - pub fn enthalpy_of_adsorption(&self) -> FeosResult { + pub fn enthalpy_of_adsorption(&mut self) -> FeosResult { Ok(self .partial_molar_enthalpy_of_adsorption()? .dot(&Dimensionless::new(self.profile.bulk.molefracs.clone()))) @@ -195,7 +197,7 @@ where ) }; let pot = (self.profile.external_potential.mapv(N::from) - * self.profile.temperature.to_reduced()) + * self.profile.bulk.temperature.to_reduced()) .mapv(|v| v / temperature); let exp_pot = pot.mapv(|v| (-v).exp()); let functional_contributions = self.profile.bulk.eos.contributions(); @@ -203,8 +205,7 @@ where .into_iter() .map(|c| c.weight_functions(temperature)) .collect(); - let convolver = - ConvolverFFT::<_, D>::plan(&self.profile.grid, &weight_functions, self.profile.lanczos); + let convolver = ConvolverFFT::<_, D>::plan(&self.profile.grid, &weight_functions); let bonds = self .profile .bulk @@ -214,17 +215,17 @@ where } pub fn henry_coefficients(&self) -> HenryCoefficient> { - let t = self.profile.temperature.to_reduced(); - Volume::from_reduced(self._henry_coefficients(t)) / (RGAS * self.profile.temperature) + let t = self.profile.bulk.temperature.to_reduced(); + Volume::from_reduced(self._henry_coefficients(t)) / (RGAS * self.profile.bulk.temperature) } pub fn ideal_gas_enthalpy_of_adsorption(&self) -> MolarEnergy> { - let t = Dual64::from(self.profile.temperature.to_reduced()).derivative(); + let t = Dual64::from(self.profile.bulk.temperature.to_reduced()).derivative(); let h_dual = self._henry_coefficients(t); let h = h_dual.map(|h| h.re); let dh = h_dual.map(|h| h.eps); - let t = self.profile.temperature.to_reduced(); - RGAS * self.profile.temperature + let t = self.profile.bulk.temperature.to_reduced(); + RGAS * self.profile.bulk.temperature * Dimensionless::from_reduced((&h - t * dh).component_div(&h)) } @@ -232,20 +233,17 @@ where // initialize convolver let t = self.profile.bulk.temperature.to_reduced(); let weight_functions = self.profile.bulk.eos.weight_functions(t); - let convolver = - ConvolverFFT::plan(&self.profile.grid, &weight_functions, self.profile.lanczos); + let convolver = ConvolverFFT::plan(&self.profile.grid, &weight_functions); PoreProfile { profile: DFTProfile { grid: self.profile.grid, convolver, - temperature: self.profile.temperature, density: self.profile.density.into_dyn(), specification: self.profile.specification, external_potential: self.profile.external_potential.into_dyn(), bulk: self.profile.bulk, solver_log: self.profile.solver_log, - lanczos: self.profile.lanczos, }, grand_potential: self.grand_potential, interfacial_tension: self.interfacial_tension, diff --git a/crates/feos-dft/src/convolver/mod.rs b/crates/feos-dft/src/convolver/mod.rs index 540ce4d97..278da9a35 100644 --- a/crates/feos-dft/src/convolver/mod.rs +++ b/crates/feos-dft/src/convolver/mod.rs @@ -93,8 +93,9 @@ where pub fn plan( grid: &Grid, weight_functions: &[WeightFunctionInfo], - lanczos: Option, ) -> Arc> { + // For consistency, we always use an exponent of 1. + let lanczos = Some(1); match grid { Grid::Bulk => PeriodicConvolver::new_0d(weight_functions), Grid::Polar(r) => CurvilinearConvolver::new(r, &[], weight_functions, lanczos), diff --git a/crates/feos-dft/src/functional.rs b/crates/feos-dft/src/functional.rs index f584f2110..975af4451 100644 --- a/crates/feos-dft/src/functional.rs +++ b/crates/feos-dft/src/functional.rs @@ -1,8 +1,8 @@ use crate::convolver::Convolver; -use crate::functional_contribution::*; use crate::ideal_chain_contribution::IdealChainContribution; use crate::weight_functions::{WeightFunction, WeightFunctionInfo, WeightFunctionShape}; -use feos_core::{EquationOfState, FeosResult, Residual, ResidualDyn, StateHD}; +use crate::{DFTSolverLog, functional_contribution::*}; +use feos_core::{EquationOfState, FeosError, FeosResult, Residual, ResidualDyn, StateHD}; use nalgebra::{DVector, dvector}; use ndarray::*; use num_dual::*; @@ -10,7 +10,7 @@ use petgraph::Directed; use petgraph::graph::{Graph, UnGraph}; use petgraph::visit::EdgeRef; use std::borrow::Cow; -use std::ops::{Deref, MulAssign}; +use std::ops::{AddAssign, Deref, MulAssign}; impl HelmholtzEnergyFunctionalDyn for EquationOfState, F> @@ -112,38 +112,87 @@ pub trait HelmholtzEnergyFunctional: Residual { /// Calculate the (residual) intrinsic functional derivative $\frac{\delta\mathcal{\beta F}}{\delta\rho_i(\mathbf{r})}$. #[expect(clippy::type_complexity)] - fn functional_derivative + Copy>( + fn functional_derivative>( &self, temperature: N, density: &Array, convolver: &dyn Convolver, + solver_log: &mut DFTSolverLog, ) -> FeosResult<(Array, Array)> where D: Dimension, D::Larger: Dimension, { - let weighted_densities = convolver.weighted_densities(density); + // calculate weighted densities + let weighted_densities = solver_log.time_function("weighted densities", || { + convolver.weighted_densities(density) + }); + + // calculate partial derivatives let contributions = self.contributions(); let mut partial_derivatives = Vec::new(); let mut helmholtz_energy_density = Array::zeros(density.raw_dim().remove_axis(Axis(0))); - for (c, wd) in contributions.into_iter().zip(weighted_densities) { + solver_log.time_function("partial derivatives", || { + for (c, wd) in contributions.into_iter().zip(weighted_densities) { + let nwd = wd.shape()[0]; + let ngrid = wd.len() / nwd; + let mut phi = Array::zeros(density.raw_dim().remove_axis(Axis(0))); + let mut pd = Array::zeros(wd.raw_dim()); + c.first_partial_derivatives( + temperature, + wd.into_shape_with_order((nwd, ngrid)).unwrap(), + phi.view_mut().into_shape_with_order(ngrid).unwrap(), + pd.view_mut().into_shape_with_order((nwd, ngrid)).unwrap(), + )?; + partial_derivatives.push(pd); + helmholtz_energy_density += φ + } + Ok::<_, FeosError>(()) + })?; + + // calculate functional derivative + let functional_derivative = solver_log.time_function("functional derivative", || { + convolver.functional_derivative(&partial_derivatives) + }); + + Ok((helmholtz_energy_density, functional_derivative)) + } + + fn second_partial_derivatives( + &self, + temperature: f64, + density: &Array, + convolver: &dyn Convolver, + ) -> FeosResult::Larger>>> + where + D: Dimension, + D::Larger: Dimension, + { + let contributions = self.contributions(); + + let weighted_densities = convolver.weighted_densities(density); + + let mut second_partial_derivatives = Vec::new(); + for (c, wd) in contributions.into_iter().zip(&weighted_densities) { let nwd = wd.shape()[0]; let ngrid = wd.len() / nwd; let mut phi = Array::zeros(density.raw_dim().remove_axis(Axis(0))); let mut pd = Array::zeros(wd.raw_dim()); - c.first_partial_derivatives( + let dim = wd.shape(); + let dim: Vec<_> = std::iter::once(&nwd).chain(dim).cloned().collect(); + let mut pd2 = Array::zeros(dim).into_dimensionality().unwrap(); + c.second_partial_derivatives( temperature, - wd.into_shape_with_order((nwd, ngrid)).unwrap(), + wd.view().into_shape_with_order((nwd, ngrid)).unwrap(), phi.view_mut().into_shape_with_order(ngrid).unwrap(), pd.view_mut().into_shape_with_order((nwd, ngrid)).unwrap(), + pd2.view_mut() + .into_shape_with_order((nwd, nwd, ngrid)) + .unwrap(), )?; - partial_derivatives.push(pd); - helmholtz_energy_density += φ + second_partial_derivatives.push(pd2); } - Ok(( - helmholtz_energy_density, - convolver.functional_derivative(&partial_derivatives), - )) + Ok(second_partial_derivatives) } /// Calculate the bond integrals $I_{\alpha\alpha'}(\mathbf{r})$ @@ -228,6 +277,106 @@ pub trait HelmholtzEnergyFunctional: Residual { i } + fn delta_bond_integrals( + &self, + temperature: f64, + exponential: &Array, + delta_functional_derivative: &Array, + convolver: &dyn Convolver, + ) -> Array + where + D: Dimension, + D::Larger: Dimension, + { + // calculate weight functions + let bond_lengths = self.bond_lengths(temperature).into_edge_type(); + let mut bond_weight_functions = bond_lengths.map( + |_, _| (), + |_, &l| WeightFunction::new_scaled(dvector![l], WeightFunctionShape::Delta), + ); + for n in bond_lengths.node_indices() { + for e in bond_lengths.edges(n) { + bond_weight_functions.add_edge( + e.target(), + e.source(), + WeightFunction::new_scaled(dvector![*e.weight()], WeightFunctionShape::Delta), + ); + } + } + + let mut i_graph: Graph<_, Option>, Directed> = + bond_weight_functions.map(|_, _| (), |_, _| None); + let mut delta_i_graph: Graph<_, Option>, Directed> = + bond_weight_functions.map(|_, _| (), |_, _| None); + + let bonds = i_graph.edge_count(); + let mut calc = 0; + + // go through the whole graph until every bond has been calculated + while calc < bonds { + let mut edge_id = None; + let mut i1 = None; + let mut delta_i1 = None; + + // find the first bond that can be calculated + 'nodes: for node in i_graph.node_indices() { + for edge in i_graph.edges(node) { + // skip already calculated bonds + if edge.weight().is_some() { + continue; + } + + // if all bonds from the neighboring segment are calculated calculate the bond + let edges = i_graph + .edges(edge.target()) + .filter(|e| e.target().index() != node.index()); + let delta_edges = delta_i_graph + .edges(edge.target()) + .filter(|e| e.target().index() != node.index()); + if edges.clone().all(|e| e.weight().is_some()) { + edge_id = Some(edge.id()); + let i0 = edges.fold( + exponential + .index_axis(Axis(0), edge.target().index()) + .to_owned(), + |acc: Array, e| acc * e.weight().as_ref().unwrap(), + ); + let delta_i0 = delta_edges.fold( + -&delta_functional_derivative + .index_axis(Axis(0), edge.target().index()), + |acc: Array, delta_e| acc + delta_e.weight().as_ref().unwrap(), + ) * &i0; + i1 = Some(convolver.convolve(i0, &bond_weight_functions[edge.id()])); + delta_i1 = Some( + (convolver.convolve(delta_i0, &bond_weight_functions[edge.id()]) + / i1.as_ref().unwrap()) + .mapv(|x| if x.is_finite() { x } else { 0.0 }), + ); + break 'nodes; + } + } + } + if let Some(edge_id) = edge_id { + i_graph[edge_id] = i1; + delta_i_graph[edge_id] = delta_i1; + calc += 1; + } else { + panic!("Cycle in molecular structure detected!") + } + } + + let mut delta_i = Array::zeros(exponential.raw_dim()); + for node in delta_i_graph.node_indices() { + for edge in delta_i_graph.edges(node) { + delta_i + .index_axis_mut(Axis(0), node.index()) + .add_assign(edge.weight().as_ref().unwrap()); + } + } + + delta_i + } + fn evaluate_bulk + Copy>( &self, state: &StateHD, diff --git a/crates/feos-dft/src/functional_contribution.rs b/crates/feos-dft/src/functional_contribution.rs index ff9e6f9a6..45879c181 100644 --- a/crates/feos-dft/src/functional_contribution.rs +++ b/crates/feos-dft/src/functional_contribution.rs @@ -1,10 +1,17 @@ use crate::weight_functions::WeightFunctionInfo; use feos_core::{FeosResult, StateHD}; use ndarray::RemoveAxis; +#[cfg(feature = "rayon")] +use ndarray::parallel::prelude::*; use ndarray::prelude::*; use num_dual::*; use num_traits::Zero; +// The chunk size is specifically chosen to be the default amount of grid points in a 1D density +// profile to switch to parallel evaluation only for 2D and 3D profiles. +#[cfg(feature = "rayon")] +const CHUNK_SIZE: usize = 2048; + /// Individual functional contribution that can be evaluated using generalized (hyper) dual numbers. pub trait FunctionalContribution: Sync + Send { /// Return the name of the contribution. @@ -31,6 +38,36 @@ pub trait FunctionalContribution: Sync + Send { weighted_densities: ArrayView2, ) -> FeosResult>; + fn helmholtz_energy_density_parallel>( + &self, + temperature: N, + weighted_densities: ArrayView2, + ) -> FeosResult> { + #[cfg(feature = "rayon")] + { + let n = weighted_densities.shape()[1]; + if n > CHUNK_SIZE { + let mut phi = Array::zeros(n); + let mut phi_view = phi.view_mut(); + let wd_iter = weighted_densities + .axis_chunks_iter(Axis(1), CHUNK_SIZE) + .into_par_iter(); + let phi_iter = phi_view + .axis_chunks_iter_mut(Axis(0), CHUNK_SIZE) + .into_par_iter(); + wd_iter.zip(phi_iter).try_for_each(|(wd, mut phi)| { + self.helmholtz_energy_density_parallel(temperature, wd.view()) + .map(|p| phi.assign(&p)) + })?; + Ok(phi) + } else { + self.helmholtz_energy_density(temperature, weighted_densities) + } + } + #[cfg(not(feature = "rayon"))] + self.helmholtz_energy_density(temperature, weighted_densities) + } + fn bulk_helmholtz_energy_density + Copy>( &self, state: &StateHD, @@ -52,7 +89,7 @@ pub trait FunctionalContribution: Sync + Send { .unwrap()[0] } - fn first_partial_derivatives + Copy>( + fn first_partial_derivatives>( &self, temperature: N, weighted_densities: Array2, @@ -66,7 +103,7 @@ pub trait FunctionalContribution: Sync + Send { for i in 0..wd.shape()[0] { wd.index_axis_mut(Axis(0), i) .map_inplace(|x| x.eps = N::one()); - phi = self.helmholtz_energy_density(t, wd.view())?; + phi = self.helmholtz_energy_density_parallel(t, wd.view())?; first_partial_derivative .index_axis_mut(Axis(0), i) .assign(&phi.mapv(|p| p.eps)); @@ -93,7 +130,7 @@ pub trait FunctionalContribution: Sync + Send { wd.index_axis_mut(Axis(0), i).map_inplace(|x| x.eps1 = 1.0); for j in 0..=i { wd.index_axis_mut(Axis(0), j).map_inplace(|x| x.eps2 = 1.0); - phi = self.helmholtz_energy_density(t, wd.view())?; + phi = self.helmholtz_energy_density_parallel(t, wd.view())?; let p = phi.mapv(|p| p.eps1eps2); second_partial_derivative .index_axis_mut(Axis(0), i) diff --git a/crates/feos-dft/src/geometry.rs b/crates/feos-dft/src/geometry.rs index b4a14f5d1..cbdc88b36 100644 --- a/crates/feos-dft/src/geometry.rs +++ b/crates/feos-dft/src/geometry.rs @@ -1,7 +1,11 @@ use feos_core::ReferenceSystem; -use ndarray::{Array1, Array2, Array3, ArrayD}; +use ndarray::{ + Array, Array1, Array2, Array3, ArrayBase, ArrayD, Axis as Axis_nd, Data, Dimension, RemoveAxis, +}; +use num_dual::DualNum; use quantity::{Angle, DEGREES, Length, Quantity}; use std::f64::consts::{FRAC_PI_3, PI}; +use std::ops::MulAssign; /// Grids with up to three dimensions. #[derive(Clone)] @@ -90,6 +94,33 @@ impl Grid { Grid::Periodical3(u, v, w, angles) => mesh_3d(u, v, w, *angles), } } + + pub fn integrate_reduced + Copy>( + &self, + mut profile: Array, + ) -> N { + let (integration_weights, functional_determinant) = self.integration_weights(); + + for (i, w) in integration_weights.into_iter().enumerate() { + for mut l in profile.lanes_mut(Axis_nd(i)) { + l.mul_assign(&w.mapv(N::from)); + } + } + profile.sum() * functional_determinant + } + + pub fn integrate_reduced_comp< + D: Dimension + RemoveAxis, + S: Data, + N: DualNum + Copy, + >( + &self, + profile: &ArrayBase, + ) -> Array1 { + Array1::from_shape_fn(profile.shape()[0], |i| { + self.integrate_reduced(profile.index_axis(Axis_nd(0), i).to_owned()) + }) + } } fn mesh_2d(u: &Axis, v: &Axis, alpha: Angle) -> Vec>> { diff --git a/crates/feos-dft/src/interface/mod.rs b/crates/feos-dft/src/interface/mod.rs index da1ec8881..c68349caa 100644 --- a/crates/feos-dft/src/interface/mod.rs +++ b/crates/feos-dft/src/interface/mod.rs @@ -58,7 +58,7 @@ impl PlanarInterface { let grid = Grid::Cartesian1(Axis::new_cartesian(n_grid, l_grid, None)); Self { - profile: DFTProfile::new(grid, vle.vapor(), None, None, None), + profile: DFTProfile::new(grid, vle.vapor(), None, None), vle: vle.clone(), surface_tension: None, equimolar_radius: None, diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index a9052174a..33726a661 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -6,7 +6,7 @@ use feos_core::{FeosError, FeosResult, ReferenceSystem, State}; use nalgebra::{DVector, Dyn, U1}; use ndarray::{Array, Array1, ArrayBase, Axis as Axis_nd, Data, Dimension, Ix0, arr1}; use num_dual::DualNum; -use quantity::{_Volume, Density, Energy, Entropy, Length, Moles, Quantity, Temperature, Volume}; +use quantity::{_Volume, Density, Energy, Entropy, Length, Moles, Quantity, Volume}; use std::ops::{Add, MulAssign}; use std::sync::Arc; @@ -65,9 +65,15 @@ impl DFTSpecification { .collect(); let bulk_convolver = PeriodicConvolver::<_, Ix0>::new_0d(&state.eos.weight_functions(temperature)); + let mut solver_log = DFTSolverLog::new(); let (_, dfdrho_bulk) = state .eos - .functional_derivative(temperature, &bulk_density, bulk_convolver.as_ref()) + .functional_derivative( + temperature, + &bulk_density, + bulk_convolver.as_ref(), + &mut solver_log, + ) .unwrap(); let exp_dfdrho = (dfdrho_bulk / m).mapv(f64::exp); let bonds = state @@ -83,13 +89,11 @@ impl DFTSpecification { pub struct DFTProfile { pub grid: Grid, pub convolver: Arc>, - pub temperature: Temperature, pub density: Density>, pub specification: DFTSpecification, pub external_potential: Array, pub bulk: State, - pub solver_log: Option, - pub lanczos: Option, + pub solver_log: DFTSolverLog, } impl DFTProfile { @@ -127,12 +131,11 @@ where bulk: &State, external_potential: Option<&Energy>>, density: Option<&Density>>, - lanczos: Option, ) -> Self { // initialize convolver let t = bulk.temperature.to_reduced(); let weight_functions = bulk.eos.weight_functions(t); - let convolver = ConvolverFFT::plan(&grid, &weight_functions, lanczos); + let convolver = ConvolverFFT::plan(&grid, &weight_functions); // initialize external potential let external_potential = external_potential.map_or_else( @@ -175,20 +178,18 @@ where Self { grid, convolver, - temperature: bulk.temperature, density, specification: DFTSpecification::from_state(bulk), external_potential, bulk: bulk.clone(), - solver_log: None, - lanczos, + solver_log: DFTSolverLog::new(), } } /// Set a constraint to fix the number of particles of every component based on /// the current density profile. pub fn fix_moles(&mut self) { - let moles = self.integrate_reduced_comp(&self.density.to_reduced()); + let moles = self.grid.integrate_reduced_comp(&self.density.to_reduced()); self.specification = DFTSpecification::Moles(moles); } @@ -196,7 +197,7 @@ where /// the current density profile. pub fn fix_total_moles(&mut self) { let rho = self.density.to_reduced(); - let moles = self.integrate_reduced_comp(&rho).sum(); + let moles = self.grid.integrate_reduced_comp(&rho).sum(); let DFTSpecification::ChemicalPotential(fugacity) = DFTSpecification::from_state(&self.bulk) else { @@ -207,7 +208,7 @@ where /// Return the external potential in SI units. pub fn external_potential(&self) -> Energy> { - Entropy::from_reduced(self.external_potential.clone()) * self.temperature + Entropy::from_reduced(self.external_potential.clone()) * self.bulk.temperature } } @@ -215,26 +216,6 @@ impl DFTProfile where D::Larger: Dimension, { - fn integrate_reduced + Copy>(&self, mut profile: Array) -> N { - let (integration_weights, functional_determinant) = self.grid.integration_weights(); - - for (i, w) in integration_weights.into_iter().enumerate() { - for mut l in profile.lanes_mut(Axis_nd(i)) { - l.mul_assign(&w.mapv(N::from)); - } - } - profile.sum() * functional_determinant - } - - pub(crate) fn integrate_reduced_comp, N: DualNum + Copy>( - &self, - profile: &ArrayBase, - ) -> Array1 { - Array1::from_shape_fn(profile.shape()[0], |i| { - self.integrate_reduced(profile.index_axis(Axis_nd(0), i).to_owned()) - }) - } - pub(crate) fn integrate_reduced_segments< S: Data, N: DualNum + Copy, @@ -242,7 +223,7 @@ where &self, profile: &ArrayBase, ) -> DVector { - let integral = self.integrate_reduced_comp(profile); + let integral = self.grid.integrate_reduced_comp(profile); let mut integral_comp = DVector::zeros(self.bulk.eos.components()); for (i, &j) in self.bulk.eos.component_index().iter().enumerate() { integral_comp[j] = integral[i]; @@ -316,7 +297,7 @@ where } } -impl DFTProfile +impl DFTProfile where D::Larger: Dimension, ::Larger: Dimension, @@ -328,15 +309,15 @@ where .weighted_densities(&self.density.to_reduced())) } - pub fn residual(&self, log: bool) -> FeosResult<(Array, f64)> { + pub fn residual(&mut self, log: bool) -> FeosResult<(Array, f64)> { let density = self.density.to_reduced(); let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&density, log)?; Ok((res, res_norm)) } #[expect(clippy::type_complexity)] - fn fugacity( - &self, + pub(crate) fn fugacity( + &mut self, density: &Array, ) -> FeosResult<( Array, @@ -345,13 +326,15 @@ where Array1, )> { // calculate reduced temperature - let temperature = self.temperature.to_reduced(); + let temperature = self.bulk.temperature.to_reduced(); // calculate intrinsic functional derivative - let (_, mut dfdrho) = - self.bulk - .eos - .functional_derivative(temperature, density, self.convolver.as_ref())?; + let (_, mut dfdrho) = self.bulk.eos.functional_derivative( + temperature, + density, + self.convolver.as_ref(), + &mut self.solver_log, + )?; // calculate total functional derivative dfdrho += &self.external_potential; @@ -368,7 +351,7 @@ where .eos .bond_integrals(temperature, &exp_dfdrho, self.convolver.as_ref()); let mut rho_projected = &exp_dfdrho * bonds; - let z = self.integrate_reduced_comp(&rho_projected); + let z = self.grid.integrate_reduced_comp(&rho_projected); // calculate fugacity based on the given specification let fugacity = self.specification.calculate_fugacity(&z); @@ -386,7 +369,7 @@ where #[expect(clippy::type_complexity)] pub(crate) fn euler_lagrange_equation( - &self, + &mut self, density: &Array, log: bool, ) -> FeosResult<( @@ -436,8 +419,7 @@ where // Update bulk state if !matches!(self.specification, DFTSpecification::ChemicalPotential(_)) { // solve a bulk profile with the Newton solver - let mut bulk_profile = - DFTProfile::::new(Grid::Bulk, &self.bulk, None, None, None); + let mut bulk_profile = DFTProfile::::new(Grid::Bulk, &self.bulk, None, None); let (_, _, _, fugacity) = self.fugacity(&density)?; bulk_profile.specification = DFTSpecification::ChemicalPotential(fugacity); let solver = DFTSolver::new(None).newton(None, None, None, None); diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs index 4b7516853..fcdb18f9b 100644 --- a/crates/feos-dft/src/profile/properties.rs +++ b/crates/feos-dft/src/profile/properties.rs @@ -2,8 +2,9 @@ use super::DFTProfile; use crate::convolver::{Convolver, PeriodicConvolver}; use crate::functional_contribution::FunctionalContribution; -use crate::{ConvolverFFT, DFTSolverLog, HelmholtzEnergyFunctional, WeightFunctionInfo}; -use feos_core::{Contributions, FeosResult, ReferenceSystem, Total, Verbosity}; +use crate::solver::DFTSolverLog; +use crate::{ConvolverFFT, HelmholtzEnergyFunctional, WeightFunctionInfo}; +use feos_core::{Contributions, FeosResult, ReferenceSystem, Total}; use nalgebra::{DMatrix, DVector}; use ndarray::{Array, Array1, Axis, Dimension, Ix0, RemoveAxis}; use num_dual::{Dual64, DualNum}; @@ -28,12 +29,15 @@ where /// Calculate the grand potential density $\omega$. pub fn grand_potential_density(&self) -> FeosResult>> { // Calculate residual Helmholtz energy density and functional derivative - let t = self.temperature.to_reduced(); + let t = self.bulk.temperature.to_reduced(); let rho = self.density.to_reduced(); - let (mut f, dfdrho) = - self.bulk - .eos - .functional_derivative(t, &rho, self.convolver.as_ref())?; + let mut solver_log = DFTSolverLog::new(); + let (mut f, dfdrho) = self.bulk.eos.functional_derivative( + t, + &rho, + self.convolver.as_ref(), + &mut solver_log, + )?; // Calculate the grand potential density for ((rho, dfdrho), &m) in rho @@ -59,13 +63,15 @@ where } /// Calculate the (residual) intrinsic functional derivative $\frac{\delta\mathcal{F}}{\delta\rho_i(\mathbf{r})}$. - pub fn functional_derivative(&self) -> FeosResult> { - let (_, dfdrho) = self.bulk.eos.functional_derivative( - self.temperature.to_reduced(), + #[expect(clippy::type_complexity)] + pub fn functional_derivative(&self) -> FeosResult<(Array, Array)> { + let mut solver_log = DFTSolverLog::new(); + self.bulk.eos.functional_derivative( + self.bulk.temperature.to_reduced(), &self.density.to_reduced(), self.convolver.as_ref(), - )?; - Ok(dfdrho) + &mut solver_log, + ) } } @@ -112,14 +118,14 @@ where /// Untested with heterosegmented functionals. pub fn residual_entropy_density(&self) -> FeosResult>> { // initialize convolver - let temperature = self.temperature.to_reduced(); + let temperature = self.bulk.temperature.to_reduced(); let temperature_dual = Dual64::from(temperature).derivative(); let functional_contributions = self.bulk.eos.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(temperature_dual)) .collect(); - let convolver = ConvolverFFT::plan(&self.grid, &weight_functions, self.lanczos); + let convolver = ConvolverFFT::plan(&self.grid, &weight_functions); let density = self.density.to_reduced(); @@ -200,14 +206,14 @@ where contributions: Contributions, ) -> FeosResult>> { // initialize convolver - let temperature = self.temperature.to_reduced(); + let temperature = self.bulk.temperature.to_reduced(); let temperature_dual = Dual64::from(temperature).derivative(); let functional_contributions = self.bulk.eos.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(temperature_dual)) .collect(); - let convolver = ConvolverFFT::plan(&self.grid, &weight_functions, self.lanczos); + let convolver = ConvolverFFT::plan(&self.grid, &weight_functions); let density = self.density.to_reduced(); @@ -250,14 +256,14 @@ where D::Larger: Dimension, { // initialize convolver - let temperature = self.temperature.to_reduced(); + let temperature = self.bulk.temperature.to_reduced(); let temperature_dual = Dual64::from(temperature).derivative(); let functional_contributions = self.bulk.eos.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(temperature_dual)) .collect(); - let convolver = ConvolverFFT::plan(&self.grid, &weight_functions, self.lanczos); + let convolver = ConvolverFFT::plan(&self.grid, &weight_functions); let density = self.density.to_reduced(); @@ -296,33 +302,48 @@ where D::Smaller: Dimension, ::Larger: Dimension, { - fn density_derivative(&self, lhs: &Array) -> FeosResult> { + fn density_derivative( + &mut self, + lhs: &Array, + ) -> FeosResult> { + let t = self.bulk.temperature.into_reduced(); let rho = self.density.to_reduced(); - let second_partial_derivatives = self.second_partial_derivatives(&rho)?; + let second_partial_derivatives = + self.bulk + .eos + .second_partial_derivatives(t, &rho, self.convolver.as_ref())?; let (_, _, exp_dfdrho, _, _) = self.euler_lagrange_equation(&rho, false)?; let rhs = |x: &_| { - let delta_functional_derivative = - self.delta_functional_derivative(x, &second_partial_derivatives); + let delta_functional_derivative = Self::delta_functional_derivative( + x, + &second_partial_derivatives, + self.convolver.as_ref(), + ); let mut xm = x.clone(); xm.outer_iter_mut() .zip(self.bulk.eos.m().iter()) .for_each(|(mut x, &m)| x *= m); - let delta_i = self.delta_bond_integrals(&exp_dfdrho, &delta_functional_derivative); + let delta_i = self.bulk.eos.delta_bond_integrals( + t, + &exp_dfdrho, + &delta_functional_derivative, + self.convolver.as_ref(), + ); xm + (delta_functional_derivative - delta_i) * &rho }; - let mut log = DFTSolverLog::new(Verbosity::None); - Self::gmres(rhs, lhs, 200, 1e-13, &mut log) + let mut solver_log = DFTSolverLog::new(); + Self::gmres(rhs, lhs, 200, 1e-13, &mut solver_log) } /// 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$ - pub fn drho_dmu(&self) -> FeosResult> { + pub fn drho_dmu(&mut self) -> FeosResult> { let shape: Vec<_> = std::iter::once(&self.bulk.eos.components()) .chain(self.density.shape()) .copied() .collect(); let mut drho_dmu = Array::zeros(shape).into_dimensionality().unwrap(); - let component_index = self.bulk.eos.component_index(); + let component_index = self.bulk.eos.component_index().into_owned(); for (k, mut d) in drho_dmu.outer_iter_mut().enumerate() { let mut lhs = self.density.to_reduced(); for (i, mut l) in lhs.outer_iter_mut().enumerate() { @@ -333,12 +354,12 @@ where d.assign(&self.density_derivative(&lhs)?); } Ok(Quantity::from_reduced( - drho_dmu / self.temperature.to_reduced(), + drho_dmu / self.bulk.temperature.to_reduced(), )) } /// 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$ - pub fn dn_dmu(&self) -> FeosResult { + pub fn dn_dmu(&mut self) -> FeosResult { let drho_dmu = self.drho_dmu()?.into_reduced(); let n = drho_dmu.shape()[0]; let mut dn_dmu = DMatrix::zeros(n, n); @@ -350,7 +371,7 @@ where } /// 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}}$ - pub fn drho_dp(&self) -> FeosResult> { + pub fn drho_dp(&mut self) -> FeosResult> { let mut lhs = self.density.to_reduced(); let v = self.bulk.partial_molar_volume().to_reduced(); for (mut l, &c) in lhs @@ -360,21 +381,23 @@ where l *= v[c]; } Ok(Quantity::from_reduced( - self.density_derivative(&lhs)? / self.temperature.to_reduced(), + self.density_derivative(&lhs)? / self.bulk.temperature.to_reduced(), )) } /// 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}}$ - pub fn dn_dp(&self) -> FeosResult { - Ok(self.integrate_segments(&self.drho_dp()?)) + pub fn dn_dp(&mut self) -> FeosResult { + let drho_dp = self.drho_dp()?; + Ok(self.integrate_segments(&drho_dp)) } /// 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}}$ - pub fn drho_dt(&self) -> FeosResult> { + pub fn drho_dt(&mut self) -> FeosResult> { let rho = self.density.to_reduced(); - let t = self.temperature.to_reduced(); + let t = self.bulk.temperature.to_reduced(); let rho_dual = rho.mapv(Dual64::from); let t_dual = Dual64::from(t).derivative(); + let mut solver_log = DFTSolverLog::new(); // calculate intrinsic functional derivative let functional_contributions = self.bulk.eos.contributions(); @@ -382,12 +405,13 @@ where .into_iter() .map(|c| c.weight_functions(t_dual)) .collect(); - let convolver: Arc> = - ConvolverFFT::plan(&self.grid, &weight_functions, self.lanczos); - let (_, mut dfdrho) = - self.bulk - .eos - .functional_derivative(t_dual, &rho_dual, convolver.as_ref())?; + let convolver: Arc> = ConvolverFFT::plan(&self.grid, &weight_functions); + let (_, mut dfdrho) = self.bulk.eos.functional_derivative( + t_dual, + &rho_dual, + convolver.as_ref(), + &mut solver_log, + )?; // calculate total functional derivative dfdrho += &(&self.external_potential * t).mapv(|v| Dual64::from(v) / t_dual); @@ -403,10 +427,12 @@ where .collect(); let rho_bulk_dual = rho_bulk.mapv(Dual64::from); let bulk_convolver = PeriodicConvolver::<_, Ix0>::new_0d(&weight_functions); - let (_, dfdrho_bulk) = - self.bulk - .eos - .functional_derivative(t_dual, &rho_bulk_dual, bulk_convolver.as_ref())?; + let (_, dfdrho_bulk) = self.bulk.eos.functional_derivative( + t_dual, + &rho_bulk_dual, + bulk_convolver.as_ref(), + &mut solver_log, + )?; dfdrho .outer_iter_mut() .zip(dfdrho_bulk) @@ -454,7 +480,8 @@ where } /// 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}}$ - pub fn dn_dt(&self) -> FeosResult { - Ok(self.integrate_segments(&self.drho_dt()?)) + pub fn dn_dt(&mut self) -> FeosResult { + let drho_dt = self.drho_dt()?; + Ok(self.integrate_segments(&drho_dt)) } } diff --git a/crates/feos-dft/src/solvation/pair_correlation.rs b/crates/feos-dft/src/solvation/pair_correlation.rs index ba71e35e7..20eeab73b 100644 --- a/crates/feos-dft/src/solvation/pair_correlation.rs +++ b/crates/feos-dft/src/solvation/pair_correlation.rs @@ -41,7 +41,7 @@ impl PairCorrelation { let grid = Grid::Spherical(axis); Self { - profile: DFTProfile::new(grid, bulk, Some(&external_potential), None, Some(1)), + profile: DFTProfile::new(grid, bulk, Some(&external_potential), None), pair_correlation_function: None, self_solvation_free_energy: None, structure_factor: None, diff --git a/crates/feos-dft/src/solvation/solvation_profile.rs b/crates/feos-dft/src/solvation/solvation_profile.rs index 5bbd6ec48..08893ad24 100644 --- a/crates/feos-dft/src/solvation/solvation_profile.rs +++ b/crates/feos-dft/src/solvation/solvation_profile.rs @@ -90,7 +90,7 @@ impl SolvationProfile { let grid = Grid::Cartesian3(x, y, z); Ok(Self { - profile: DFTProfile::new(grid, bulk, Some(&external_potential), None, Some(1)), + profile: DFTProfile::new(grid, bulk, Some(&external_potential), None), grand_potential: None, solvation_free_energy: None, }) diff --git a/crates/feos-dft/src/solver.rs b/crates/feos-dft/src/solver.rs index 15baf742f..9348b90e6 100644 --- a/crates/feos-dft/src/solver.rs +++ b/crates/feos-dft/src/solver.rs @@ -1,15 +1,11 @@ -use crate::{ - DFTProfile, FunctionalContribution, HelmholtzEnergyFunctional, WeightFunction, - WeightFunctionShape, -}; +use crate::Convolver; +use crate::{DFTProfile, HelmholtzEnergyFunctional}; use feos_core::{FeosError, FeosResult, ReferenceSystem, Verbosity, log_iter, log_result}; -use nalgebra::{DMatrix, DVector, dvector}; +use indexmap::IndexMap; +use nalgebra::{DMatrix, DVector}; use ndarray::RemoveAxis; use ndarray::prelude::*; -use petgraph::Directed; -use petgraph::graph::Graph; -use petgraph::visit::EdgeRef; -use quantity::{SECOND, Time}; +use quantity::{MILLI, SECOND, Time}; use std::collections::VecDeque; use std::fmt; use std::ops::AddAssign; @@ -155,38 +151,40 @@ impl DFTSolver { /// A log that stores the residuals and execution time of DFT solvers. #[derive(Clone)] pub struct DFTSolverLog { - verbosity: Verbosity, start_time: Instant, residual: Vec, time: Vec, solver: Vec<&'static str>, + profile: IndexMap<&'static str, Duration>, } impl DFTSolverLog { - pub(crate) fn new(verbosity: Verbosity) -> Self { - log_iter!( - verbosity, - "solver | iter | time | residual " - ); + pub(crate) fn new() -> Self { Self { - verbosity, start_time: Instant::now(), residual: Vec::new(), time: Vec::new(), solver: Vec::new(), + profile: IndexMap::new(), } } - fn add_residual(&mut self, solver: &'static str, iteration: usize, residual: f64) { + fn add_residual( + &mut self, + solver: &'static str, + iteration: usize, + residual: f64, + verbosity: Verbosity, + ) { if iteration == 0 { - log_iter!(self.verbosity, "{:-<59}", ""); + log_iter!(verbosity, "{:-<59}", ""); } self.solver.push(solver); self.residual.push(residual); let time = self.start_time.elapsed(); self.time.push(self.start_time.elapsed()); log_iter!( - self.verbosity, + verbosity, "{:22} | {:>4} | {:7.3} | {:.6e}", solver, iteration, @@ -195,6 +193,13 @@ impl DFTSolverLog { ); } + pub fn time_function O, O>(&mut self, key: &'static str, f: F) -> O { + let start = Instant::now(); + let output = f(); + *self.profile.entry(key).or_insert(Duration::ZERO) += start.elapsed(); + output + } + pub fn residual(&self) -> ArrayView1<'_, f64> { (&self.residual).into() } @@ -206,9 +211,50 @@ impl DFTSolverLog { pub fn solver(&self) -> &[&'static str] { &self.solver } + + pub fn profile(&self) -> IndexMap<&'static str, Time> { + self.profile + .iter() + .map(|(&k, t)| (k, t.as_secs_f64() * SECOND)) + .collect() + } +} + +impl fmt::Display for DFTSolverLog { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let total_time = self.time.last().unwrap_or(&Duration::ZERO).as_secs_f64() * SECOND; + let (unit, u) = if total_time > SECOND { + (SECOND, "s") + } else { + (MILLI * SECOND, "ms") + }; + let max_len = self.profile.keys().map(|k| k.len()).max().unwrap_or(0) + 1; + let mut time_sum = 0.0 * SECOND; + for (&k, &t) in self.profile.iter() { + let t = t.as_secs_f64() * SECOND; + time_sum += t; + writeln!( + f, + "Time spent calculating {:max_len$} {:6.2} {} ({:5.2} %)", + format!("{k}:"), + t.convert_into(unit), + u, + t.convert_into(total_time) * 100. + )?; + } + writeln!(f, " {:max_len$} {:-<20}", "", "")?; + writeln!( + f, + " {:max_len$} {:6.2} {} ({:5.2} %)", + "", + time_sum.convert_into(unit), + u, + time_sum.convert_into(total_time) * 100. + ) + } } -impl DFTProfile +impl DFTProfile where D::Larger: Dimension, ::Larger: Dimension, @@ -219,21 +265,25 @@ where solver: &DFTSolver, debug: bool, ) -> FeosResult<()> { + log_iter!( + solver.verbosity, + "solver | iter | time | residual " + ); let mut converged = false; let mut iterations = 0; - let mut log = DFTSolverLog::new(solver.verbosity); for algorithm in &solver.algorithms { let (conv, iter) = match algorithm { - DFTAlgorithm::PicardIteration(picard) => self.solve_picard(*picard, rho, &mut log), + DFTAlgorithm::PicardIteration(picard) => { + self.solve_picard(*picard, rho, solver.verbosity) + } DFTAlgorithm::AndersonMixing(anderson) => { - self.solve_anderson(*anderson, rho, &mut log) + self.solve_anderson(*anderson, rho, solver.verbosity) } - DFTAlgorithm::Newton(newton) => self.solve_newton(*newton, rho, &mut log), + DFTAlgorithm::Newton(newton) => self.solve_newton(*newton, rho, solver.verbosity), }?; converged = conv; iterations += iter; } - self.solver_log = Some(log); if converged { log_result!(solver.verbosity, "DFT solved in {} iterations", iterations); } else if debug { @@ -249,10 +299,10 @@ where } fn solve_picard( - &self, + &mut self, picard: PicardIteration, rho: &mut Array, - log: &mut DFTSolverLog, + verbosity: Verbosity, ) -> FeosResult<(bool, usize)> { let solver = if picard.log { "Picard iteration (log)" @@ -263,7 +313,7 @@ where for k in 0..picard.max_iter { // calculate residual let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&*rho, picard.log)?; - log.add_residual(solver, k, res_norm); + self.solver_log.add_residual(solver, k, res_norm, verbosity); // check for convergence if res_norm < picard.tol { @@ -286,7 +336,7 @@ where } fn line_search( - &self, + &mut self, rho: &Array, delta_rho: &Array, res0: f64, @@ -340,15 +390,14 @@ where alpha = alpha_opt; break; } - // log_iter!(verbosity, " Line search | {} | ", alpha); Ok(alpha) } fn solve_anderson( - &self, + &mut self, anderson: AndersonMixing, rho: &mut Array, - log: &mut DFTSolverLog, + verbosity: Verbosity, ) -> FeosResult<(bool, usize)> { let solver = if anderson.log { "Anderson mixing (log)" @@ -358,8 +407,6 @@ where let mut resm = VecDeque::with_capacity(anderson.mmax); let mut rhom = VecDeque::with_capacity(anderson.mmax); - let mut r; - let mut alpha; for k in 0..anderson.max_iter { // drop old values @@ -371,7 +418,7 @@ where // calculate residual let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&*rho, anderson.log)?; - log.add_residual(solver, k, res_norm); + self.solver_log.add_residual(solver, k, res_norm, verbosity); // check for convergence if res_norm < anderson.tol { @@ -387,48 +434,52 @@ where } // calculate alpha - r = DMatrix::from_fn(m + 1, m + 1, |i, j| match (i == m, j == m) { - (false, false) => { + self.solver_log.time_function("Anderson mixing", || { + let r = DMatrix::from_fn(m + 1, m + 1, |i, j| match (i == m, j == m) { + (false, false) => { + let (resi, _) = &resm[i]; + let (resj, _) = &resm[j]; + (resi * resj).sum() + } + (true, true) => 0.0, + _ => 1.0, + }); + let mut alpha = DVector::zeros(m + 1); + alpha[m] = 1.0; + let alpha = r.lu().solve(&alpha); + let alpha = + alpha.ok_or(FeosError::Error("alpha matrix is not invertible".into()))?; + + // update solution + rho.fill(0.0); + for i in 0..m { + let rhoi = &rhom[i]; let (resi, _) = &resm[i]; - let (resj, _) = &resm[j]; - (resi * resj).sum() + *rho += &(alpha[i] * (rhoi + &(anderson.damping_coefficient * resi))); } - (true, true) => 0.0, - _ => 1.0, - }); - alpha = DVector::zeros(m + 1); - alpha[m] = 1.0; - let alpha = r.lu().solve(&alpha); - let alpha = alpha.ok_or(FeosError::Error("alpha matrix is not invertible".into()))?; - - // update solution - rho.fill(0.0); - for i in 0..m { - let rhoi = &rhom[i]; - let (resi, _) = &resm[i]; - *rho += &(alpha[i] * (rhoi + &(anderson.damping_coefficient * resi))); - } - if anderson.log { - rho.mapv_inplace(f64::exp); - } else { - rho.mapv_inplace(f64::abs); - } + if anderson.log { + rho.mapv_inplace(f64::exp); + } else { + rho.mapv_inplace(f64::abs); + } + Ok::<_, FeosError>(()) + })?; } Ok((false, anderson.max_iter)) } fn solve_newton( - &self, + &mut self, newton: Newton, rho: &mut Array, - log: &mut DFTSolverLog, + verbosity: Verbosity, ) -> FeosResult<(bool, usize)> { let solver = if newton.log { "Newton (log)" } else { "Newton" }; for k in 0..newton.max_iter { // calculate initial residual let (res, res_norm, exp_dfdrho, z, rho_p) = self.euler_lagrange_equation(rho, newton.log)?; - log.add_residual(solver, k, res_norm); + self.solver_log.add_residual(solver, k, res_norm, verbosity); // check convergence if res_norm < newton.tol { @@ -436,19 +487,37 @@ where } // calculate second partial derivatives once - let second_partial_derivatives = self.second_partial_derivatives(rho)?; + let second_partial_derivatives = + self.solver_log + .time_function("second partial derivatives", || { + self.bulk.eos.second_partial_derivatives( + self.bulk.temperature.into_reduced(), + rho, + self.convolver.as_ref(), + ) + })?; // define rhs function let rhs = |delta_rho: &_| { - let mut delta_functional_derivative = - self.delta_functional_derivative(delta_rho, &second_partial_derivatives); + let mut delta_functional_derivative = Self::delta_functional_derivative( + delta_rho, + &second_partial_derivatives, + self.convolver.as_ref(), + ); delta_functional_derivative .outer_iter_mut() .zip(self.bulk.eos.m().iter()) .for_each(|(mut q, &m)| q /= m); - let delta_i = self.delta_bond_integrals(&exp_dfdrho, &delta_functional_derivative); + let delta_i = self.bulk.eos.delta_bond_integrals( + self.bulk.temperature.into_reduced(), + &exp_dfdrho, + &delta_functional_derivative, + self.convolver.as_ref(), + ); let mut delta_exp_dfdrho = delta_functional_derivative - delta_i; - let delta_z = -self.integrate_reduced_comp(&(&delta_exp_dfdrho * &exp_dfdrho)); + let delta_z = -self + .grid + .integrate_reduced_comp(&(&delta_exp_dfdrho * &exp_dfdrho)); let delta_fugacity = self.specification.delta_fugacity(&z, &delta_z); delta_exp_dfdrho @@ -464,7 +533,13 @@ where // update solution let lhs = if newton.log { &*rho * res } else { res }; - *rho += &Self::gmres(rhs, &lhs, newton.max_iter_gmres, newton.tol * 1e-2, log)?; + *rho += &Self::gmres( + rhs, + &lhs, + newton.max_iter_gmres, + newton.tol * 1e-2, + &mut self.solver_log, + )?; rho.mapv_inplace(f64::abs); } @@ -476,7 +551,7 @@ where r0: &Array, max_iter: usize, tol: f64, - log: &mut DFTSolverLog, + solver_log: &mut DFTSolverLog, ) -> FeosResult> where R: Fn(&Array) -> Array, @@ -490,12 +565,11 @@ where gamma[0] = (r0 * r0).sum().sqrt(); v.push(r0 / gamma[0]); - log.add_residual("GMRES", 0, gamma[0]); let mut iter = 0; for j in 0..max_iter { // calculate q=Av_j - let mut q = rhs(&v[j]); + let mut q = solver_log.time_function("Jacobian vector product (GMRES)", || rhs(&v[j])); // calculate h_ij v.iter() @@ -526,7 +600,6 @@ where gamma[j] *= c[j + 1]; // check for convergence - log.add_residual("GMRES", j + 1, gamma[j + 1].abs()); if gamma[j + 1].abs() >= tol && j + 1 < max_iter { v.push(q / h[(j + 1, j)]); iter += 1; @@ -544,42 +617,12 @@ where Ok(x) } - pub(crate) fn second_partial_derivatives( - &self, - density: &Array, - ) -> FeosResult::Larger>>> { - let temperature = self.temperature.to_reduced(); - let contributions = self.bulk.eos.contributions(); - let weighted_densities = self.convolver.weighted_densities(density); - let mut second_partial_derivatives = Vec::new(); - for (c, wd) in contributions.into_iter().zip(&weighted_densities) { - let nwd = wd.shape()[0]; - let ngrid = wd.len() / nwd; - let mut phi = Array::zeros(density.raw_dim().remove_axis(Axis(0))); - let mut pd = Array::zeros(wd.raw_dim()); - let dim = wd.shape(); - let dim: Vec<_> = std::iter::once(&nwd).chain(dim).cloned().collect(); - let mut pd2 = Array::zeros(dim).into_dimensionality().unwrap(); - c.second_partial_derivatives( - temperature, - wd.view().into_shape_with_order((nwd, ngrid)).unwrap(), - phi.view_mut().into_shape_with_order(ngrid).unwrap(), - pd.view_mut().into_shape_with_order((nwd, ngrid)).unwrap(), - pd2.view_mut() - .into_shape_with_order((nwd, nwd, ngrid)) - .unwrap(), - )?; - second_partial_derivatives.push(pd2); - } - Ok(second_partial_derivatives) - } - pub(crate) fn delta_functional_derivative( - &self, delta_density: &Array, second_partial_derivatives: &[Array::Larger>], + convolver: &dyn Convolver, ) -> Array { - let delta_weighted_densities = self.convolver.weighted_densities(delta_density); + let delta_weighted_densities = convolver.weighted_densities(delta_density); let delta_partial_derivatives: Vec<_> = second_partial_derivatives .iter() .zip(delta_weighted_densities) @@ -600,109 +643,7 @@ where delta_partial_derivatives }) .collect(); - self.convolver - .functional_derivative(&delta_partial_derivatives) - } - - pub(crate) fn delta_bond_integrals( - &self, - exponential: &Array, - delta_functional_derivative: &Array, - ) -> Array { - let temperature = self.temperature.to_reduced(); - - // calculate weight functions - let bond_lengths = self.bulk.eos.bond_lengths(temperature).into_edge_type(); - let mut bond_weight_functions = bond_lengths.map( - |_, _| (), - |_, &l| WeightFunction::new_scaled(dvector![l], WeightFunctionShape::Delta), - ); - for n in bond_lengths.node_indices() { - for e in bond_lengths.edges(n) { - bond_weight_functions.add_edge( - e.target(), - e.source(), - WeightFunction::new_scaled(dvector![*e.weight()], WeightFunctionShape::Delta), - ); - } - } - - let mut i_graph: Graph<_, Option>, Directed> = - bond_weight_functions.map(|_, _| (), |_, _| None); - let mut delta_i_graph: Graph<_, Option>, Directed> = - bond_weight_functions.map(|_, _| (), |_, _| None); - - let bonds = i_graph.edge_count(); - let mut calc = 0; - - // go through the whole graph until every bond has been calculated - while calc < bonds { - let mut edge_id = None; - let mut i1 = None; - let mut delta_i1 = None; - - // find the first bond that can be calculated - 'nodes: for node in i_graph.node_indices() { - for edge in i_graph.edges(node) { - // skip already calculated bonds - if edge.weight().is_some() { - continue; - } - - // if all bonds from the neighboring segment are calculated calculate the bond - let edges = i_graph - .edges(edge.target()) - .filter(|e| e.target().index() != node.index()); - let delta_edges = delta_i_graph - .edges(edge.target()) - .filter(|e| e.target().index() != node.index()); - if edges.clone().all(|e| e.weight().is_some()) { - edge_id = Some(edge.id()); - let i0 = edges.fold( - exponential - .index_axis(Axis(0), edge.target().index()) - .to_owned(), - |acc: Array, e| acc * e.weight().as_ref().unwrap(), - ); - let delta_i0 = delta_edges.fold( - -&delta_functional_derivative - .index_axis(Axis(0), edge.target().index()), - |acc: Array, delta_e| acc + delta_e.weight().as_ref().unwrap(), - ) * &i0; - i1 = Some( - self.convolver - .convolve(i0, &bond_weight_functions[edge.id()]), - ); - delta_i1 = Some( - (self - .convolver - .convolve(delta_i0, &bond_weight_functions[edge.id()]) - / i1.as_ref().unwrap()) - .mapv(|x| if x.is_finite() { x } else { 0.0 }), - ); - break 'nodes; - } - } - } - if let Some(edge_id) = edge_id { - i_graph[edge_id] = i1; - delta_i_graph[edge_id] = delta_i1; - calc += 1; - } else { - panic!("Cycle in molecular structure detected!") - } - } - - let mut delta_i = Array::zeros(exponential.raw_dim()); - for node in delta_i_graph.node_indices() { - for edge in delta_i_graph.edges(node) { - delta_i - .index_axis_mut(Axis(0), node.index()) - .add_assign(edge.weight().as_ref().unwrap()); - } - } - - delta_i + convolver.functional_derivative(&delta_partial_derivatives) } } diff --git a/py-feos/src/dft/adsorption/mod.rs b/py-feos/src/dft/adsorption/mod.rs index 911fdc7b5..dce4a4324 100644 --- a/py-feos/src/dft/adsorption/mod.rs +++ b/py-feos/src/dft/adsorption/mod.rs @@ -283,12 +283,12 @@ impl PyAdsorption { } #[getter] - fn get_partial_molar_enthalpy_of_adsorption(&self) -> MolarEnergy> { + fn get_partial_molar_enthalpy_of_adsorption(&mut self) -> MolarEnergy> { self.0.partial_molar_enthalpy_of_adsorption() } #[getter] - fn get_enthalpy_of_adsorption(&self) -> MolarEnergy> { + fn get_enthalpy_of_adsorption(&mut self) -> MolarEnergy> { self.0.enthalpy_of_adsorption() } } diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs index d07c75b39..15eaa4120 100644 --- a/py-feos/src/dft/adsorption/pore.rs +++ b/py-feos/src/dft/adsorption/pore.rs @@ -175,7 +175,7 @@ impl PyPoreProfile { } #[getter] - fn get_partial_molar_enthalpy_of_adsorption(&self) -> PyResult>> { + fn get_partial_molar_enthalpy_of_adsorption(&mut self) -> PyResult>> { Ok(self .0 .partial_molar_enthalpy_of_adsorption() @@ -183,7 +183,7 @@ impl PyPoreProfile { } #[getter] - fn get_enthalpy_of_adsorption(&self) -> PyResult { + fn get_enthalpy_of_adsorption(&mut self) -> PyResult { Ok(self.0.enthalpy_of_adsorption().map_err(PyFeosError::from)?) } diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs index e1acef783..5de657f24 100644 --- a/py-feos/src/dft/profile.rs +++ b/py-feos/src/dft/profile.rs @@ -15,7 +15,7 @@ macro_rules! impl_profile { /// #[pyo3(signature = (log=false), text_signature = "($self, log=False)")] fn residual<'py>( - &self, + &mut self, log: bool, py: Python<'py>, ) -> PyResult<(Bound<'py, PyArrayDyn>, f64)> { @@ -67,7 +67,7 @@ macro_rules! impl_profile { #[getter] fn get_temperature(&self) -> Temperature { - self.0.profile.temperature + self.0.profile.bulk.temperature } #[getter] @@ -96,8 +96,8 @@ macro_rules! impl_profile { } #[getter] - fn get_solver_log(&self) -> Option { - self.0.profile.solver_log.clone().map(PyDFTSolverLog) + fn get_solver_log(&self) -> PyDFTSolverLog { + PyDFTSolverLog(self.0.profile.solver_log.clone()) } #[getter] @@ -114,7 +114,7 @@ macro_rules! impl_profile { &self, py: Python<'py>, ) -> PyResult>> { - Ok(self.0.profile.functional_derivative().map_err(PyFeosError::from)?.view().into_dyn().to_pyarray(py)) + Ok(self.0.profile.functional_derivative().map_err(PyFeosError::from)?.1.view().into_dyn().to_pyarray(py)) } /// Calculate the entropy density of the inhomogeneous system. @@ -180,32 +180,32 @@ macro_rules! impl_profile { } #[getter] - fn get_drho_dmu(&self) -> PyResult<> as std::ops::Div>::Output> { + fn get_drho_dmu(&mut self) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.drho_dmu().map_err(PyFeosError::from)?.into_dyn()) } #[getter] - fn get_dn_dmu(&self) -> PyResult<> as std::ops::Div>::Output> { + fn get_dn_dmu(&mut self) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.dn_dmu().map_err(PyFeosError::from)?) } #[getter] - fn get_drho_dp(&self) -> PyResult<> as std::ops::Div>::Output> { + fn get_drho_dp(&mut self) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.drho_dp().map_err(PyFeosError::from)?.into_dyn()) } #[getter] - fn get_dn_dp(&self) -> PyResult<> as std::ops::Div>::Output> { + fn get_dn_dp(&mut self) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.dn_dp().map_err(PyFeosError::from)?) } #[getter] - fn get_drho_dt(&self) -> PyResult<> as std::ops::Div>::Output> { + fn get_drho_dt(&mut self) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.drho_dt().map_err(PyFeosError::from)?.into_dyn()) } #[getter] - fn get_dn_dt(&self) -> PyResult<> as std::ops::Div>::Output> { + fn get_dn_dt(&mut self) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.dn_dt().map_err(PyFeosError::from)?) } } diff --git a/py-feos/src/dft/solver.rs b/py-feos/src/dft/solver.rs index 4ee5e7410..5a459db56 100644 --- a/py-feos/src/dft/solver.rs +++ b/py-feos/src/dft/solver.rs @@ -1,5 +1,6 @@ use crate::PyVerbosity; use feos_dft::{DFTSolver, DFTSolverLog}; +use indexmap::IndexMap; use ndarray::Array1; use numpy::{PyArray1, ToPyArray}; use pyo3::prelude::*; @@ -180,4 +181,17 @@ impl PyDFTSolverLog { fn get_solver(&self) -> Vec<&'static str> { self.0.solver().to_vec() } + + #[getter] + fn get_profile(&self) -> IndexMap<&'static str, Time> { + self.0.profile() + } + + fn __repr__(&self) -> String { + self.0.to_string() + } + + fn _repr_html_(&self) -> String { + format!("

{}
", self.0) + } } From 503ff6a73aa3e1214cce9c3a67aaaba41ec45cb0 Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Wed, 2 Sep 2026 09:16:16 +0200 Subject: [PATCH 09/13] Update changelog --- CHANGELOG.md | 56 +++++++++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6773ba06..01eef84d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,41 +8,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added `PoreSpecification` enum to specify the state of the fluid in the pore (currently chemical potential or moles). [#371](https://github.com/feos-org/feos/pull/371) - Added the `Grid` and `PoreProfile` classes as an entry points to DFT in various coordinate systems in Python. [#376](https://github.com/feos-org/feos/pull/376) +- `PoreProfile.solver_log` now stores a timing profile of the different solver steps. [#385](https://github.com/feos-org/feos/pull/385) ### Changed - Changed data type of initial temperatures or pressure for phase equilibrium calculations (`TemperatureOrPressure::Other`) from `D` to `f64`. [#369](https://github.com/feos-org/feos/pull/369) - Reworked DFT solution algorithms slightly for the cases in which additional specifications are given. [#371](https://github.com/feos-org/feos/pull/371) - External potentials are passed and returned as quantities (energies) instead of reduced units. [#372](https://github.com/feos-org/feos/pull/372) - Merged the `Adsorption1D` and `Adsorption3D` classes in Python into `Adsorption` using dynamically dimensioned arrays. [#376](https://github.com/feos-org/feos/pull/376) +- If the `rayon` feature is activated (default for the released Python wheels), the evaluation of the helmholtz energy density and its derivatives will now be run in parallel. The number of CPUs can be set via the global rayon threadpool (see changelog for `0.9.5`) [#385](https://github.com/feos-org/feos/pull/385) ### Removed - Removed the `DFTSpecification` trait in favor of only using the `DFTSpecification` enum (renamed from `DFTSpecifications`). [#371](https://github.com/feos-org/feos/pull/371) - Removed the `Pore2D` and `Pore3D` interfaces including the (limited) calculation of external potentials for complex pore grometries. [#376](https://github.com/feos-org/feos/pull/376) - Removed the free energy-averaged external (FEA) potential. [#376](https://github.com/feos-org/feos/pull/376) +### Fixed +- The Newton solver for cDFT now correctly handles specifications other than the chemical potential. [#384](https://github.com/feos-org/feos/pull/384) + ### Packaging - Removed the `gauss-quad` dependency which was only used in the FEA potential calculation. [#376](https://github.com/feos-org/feos/pull/376) +- Updated `quantity` and `num-dual` dependencies to 0.15. [#380](https://github.com/feos-org/feos/pull/380) ## [Unreleased] ### Fixed - Fixed numerical roundoff errors in the analytic solution of association site fractions for asymmetric association schemes. [#393](https://github.com/feos-org/feos/pull/393),[#394](https://github.com/feos-org/feos/pull/394) -## [0.10.2] - 2026-10-12 +## [0.10.2](https://github.com/feos-org/feos/releases/tag/v0.10.2) - 2026-10-12 ### Fixed - Fixed off-by-one error for the convergence-check in `_density_iteration`. [#386](https://github.com/feos-org/feos/pull/386) - Fixed erroneously transposed jacobian layout in binary association of `PcSaftBinary`. [#386](https://github.com/feos-org/feos/pull/386) - Fixed parsing of binary group/group interaction parameters in gc-PC-SAFT. [#389](https://github.com/feos-org/feos/pull/389) - Fixed analytic solution of association site fractions for mixture DFT. [#391](https://github.com/feos-org/feos/pull/391) -## [0.10.1] - 2026-07-24 +## [0.10.1](https://github.com/feos-org/feos/releases/tag/v0.10.1) - 2026-07-24 ### Fixed - Fixed some `unwrap`s in VLE routines. [#367](https://github.com/feos-org/feos/pull/367) ### Packaging - Updated github action workflows to include pyodide/emscripten wheels. [#368](https://github.com/feos-org/feos/pull/368) -## [0.10.0] - 2026-07-15 +## [0.10.0](https://github.com/feos-org/feos/releases/tag/v0.10.0) - 2026-07-15 ### Added - Extended tp-flash algorithm to static numbers of components and enabled automatic differentiation for binary systems. [#336](https://github.com/feos-org/feos/pull/336) - Rewrote `PhaseEquilibrium::pure_p` to mirror `pure_t` and enabled automatic differentiation. [#337](https://github.com/feos-org/feos/pull/337) @@ -75,7 +81,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated `gauss-quad` dependency to 0.3. [#360](https://github.com/feos-org/feos/pull/360) - Update `itertools` dependency to 0.15. -## [0.9.6] - 2026-07-03 +## [0.9.6](https://github.com/feos-org/feos/releases/tag/v0.9.6) - 2026-07-03 ### Added - Added parameter import from SQL using the `rusqlite` dependency. [#352](https://github.com/feos-org/feos/pull/352) @@ -83,7 +89,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed `PhaseDiagram.binary_vle()` panicking during search for VLLE (tried to access unallocated element). [#362](https://github.com/feos-org/feos/pull/362) - Fixed reading binary association parameters from JSON. [#363](https://github.com/feos-org/feos/pull/363) -## [0.9.5] - 2026-04-14 +## [0.9.5](https://github.com/feos-org/feos/releases/tag/v0.9.5) - 2026-04-14 ### Added - Add Rayon global thread pool control via `FEOS_MAX_THREADS` and `set_num_threads()`/ `get_num_threads()` to Python. [#346](https://github.com/feos-org/feos/pull/346) - Added DIPPR107 parameterization for ideal gas heat capacities of Burkhardt et al. [#344](https://github.com/feos-org/feos/pull/344) @@ -92,14 +98,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed the calculation of temperature and pressure derivatives of dew and bubble points. [#347](https://github.com/feos-org/feos/pull/347) - Fixed the implementation of binary interaction parameters in ePC-SAFT. [#353](https://github.com/feos-org/feos/pull/353) -## [0.9.4] - 2026-03-09 +## [0.9.4](https://github.com/feos-org/feos/releases/tag/v0.9.4) - 2026-03-09 ### Changed - Automatically detect VLLEs in `BinaryPhaseDiagram`. [#341](https://github.com/feos-org/feos/pull/341) ### Fixed - Fixed the sign of the isothermal compressibility. [#342](https://github.com/feos-org/feos/pull/342) -## [0.9.3] - 2026-01-26 +## [0.9.3](https://github.com/feos-org/feos/releases/tag/v0.9.3) - 2026-01-26 ### Added - Added `py-feos` tests to GitHub Actions and moved `pyo3/extension-module` feature to `pyproject.toml`. [#334](https://github.com/feos-org/feos/pull/334) @@ -107,17 +113,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed `None` transformation when binary parameters are provided to `PyParameters` to properly raise errors. [#334](https://github.com/feos-org/feos/pull/334) - Fixed the calculation of critical points and tp-flashes when one or more of the mixture components have zero composition. [#331](https://github.com/feos-org/feos/pull/331) -## [0.9.2] - 2025-12-11 +## [0.9.2](https://github.com/feos-org/feos/releases/tag/v0.9.2) - 2025-12-11 ### Fixed - Fixed calculation of enthalpies of adsorption for mixtures. [#329](https://github.com/feos-org/feos/pull/329) - Updated to `ndarray` 0.17 and `num-dual`0.13 to fix a broken dependency resolution. [#327](https://github.com/feos-org/feos/pull/327) - Fixed calculation of parameter combination in entropy scaling for mixtures in `viscosity_correlation`, `diffusion_correlation`, `thermal_conductivity_correlation`. [#323](https://github.com/feos-org/feos/pull/323) -## [0.9.1] - 2025-11-24 +## [0.9.1](https://github.com/feos-org/feos/releases/tag/v0.9.1) - 2025-11-24 ### Fixed - Fixed a wrong Jacobian entry in `heteroazeotrope_t`. (Thanks to @ImagineBaggins for reporting the issue) [#320](https://github.com/feos-org/feos/pull/320) -## [0.9.0] - 2025-11-08 +## [0.9.0](https://github.com/feos-org/feos/releases/tag/v0.9.0) - 2025-11-08 ### Added - Integrated the functionalities of [`feos-ad`](https://github.com/feos-org/feos-ad). [#289](https://github.com/feos-org/feos/pull/289) - In Rust: Full access to arbitrary derivatives of properties and phase equilibria with respect to model parameters. See, e.g., [`feos-campd`](https://github.com/feos-org/feos-campd) for an application to molecular design. @@ -139,7 +145,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated `numpy`, `PyO3` and `pythonize` dependencies to 0.27. - Updated `nalgebra` dependency to 0.34. -## [0.8.0] - 2024-12-28 +## [0.8.0](https://github.com/feos-org/feos/releases/tag/v0.8.0) - 2024-12-28 ### Fixed - Fixed the handling of association records in combination with induced association in PC-SAFT [#264](https://github.com/feos-org/feos/pull/264) @@ -148,7 +154,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated `num-dual` dependency to 0.11. [#262](https://github.com/feos-org/feos/pull/262) - Updated `numpy` and `PyO3` dependencies to 0.23. [#262](https://github.com/feos-org/feos/pull/262) -## [0.7.0] - 2024-05-21 +## [0.7.0](https://github.com/feos-org/feos/releases/tag/v0.7.0) - 2024-05-21 ### Added - Added SAFT-VR Mie equation of state. [#237](https://github.com/feos-org/feos/pull/237) - Added ePC-SAFT equation of state. [#229](https://github.com/feos-org/feos/pull/229) @@ -169,10 +175,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated `num-dual` dependency to 0.9. [#238](https://github.com/feos-org/feos/pull/238) - Updated `numpy` and `PyO3` dependencies to 0.21. [#238](https://github.com/feos-org/feos/pull/238) -## [0.6.1] - 2024-01-11 +## [0.6.1](https://github.com/feos-org/feos/releases/tag/v0.6.1) - 2024-01-11 - Python only: Release the changes introduced in `feos-core` 0.6.1. -## [0.6.0] - 2023-12-19 +## [0.6.0](https://github.com/feos-org/feos/releases/tag/v0.6.0) - 2023-12-19 ### Added - Added `EquationOfState.ideal_gas()` to initialize an equation of state that only consists of an ideal gas contribution. [#204](https://github.com/feos-org/feos/pull/204) - Added `PureRecord`, `SegmentRecord`, `Identifier`, and `IdentifierOption` to `feos.ideal_gas`. [#205](https://github.com/feos-org/feos/pull/205) @@ -183,10 +189,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Split `feos.ideal_gas` into `feos.joback` and `feos.dippr`. [#204](https://github.com/feos-org/feos/pull/204) -## [0.5.1] - 2023-11-23 +## [0.5.1](https://github.com/feos-org/feos/releases/tag/v0.5.1) - 2023-11-23 - Python only: Release the changes introduced in `feos-core` 0.5.1. -## [0.5.0] - 2023-10-20 +## [0.5.0](https://github.com/feos-org/feos/releases/tag/v0.5.0) - 2023-10-20 ### Added - Added `IdealGasModel` enum that collects all implementors of the `IdealGas` trait. [#158](https://github.com/feos-org/feos/pull/158) - Added `feos.ideal_gas` module in Python from which (currently) `Joback` and `JobackParameters` are available. [#158](https://github.com/feos-org/feos/pull/158) @@ -207,20 +213,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated `num-dual` dependency to 0.8. [#137](https://github.com/feos-org/feos/pull/137) - Updated `numpy` and `PyO3` dependencies to 0.20. -## [0.4.3] - 2023-03-20 +## [0.4.3](https://github.com/feos-org/feos/releases/tag/v0.4.3) - 2023-03-20 - Python only: Release the changes introduced in `feos-core` 0.4.2. -## [0.4.2] - 2023-03-20 +## [0.4.2](https://github.com/feos-org/feos/releases/tag/v0.4.2) - 2023-03-20 - Python only: Release the changes introduced in `feos-core` 0.4.1 and `feos-dft` 0.4.1. -## [0.4.1] - 2023-01-28 +## [0.4.1](https://github.com/feos-org/feos/releases/tag/v0.4.1) - 2023-01-28 ### Changed - Replaced some slow array operations to make calculations with multiple associating molecules significantly faster. [#129](https://github.com/feos-org/feos/pull/129) ### Fixed - Fixed a regression introduced in [#108](https://github.com/feos-org/feos/pull/108) that lead to incorrect results for the 3B association scheme. [#129](https://github.com/feos-org/feos/pull/129) -## [0.4.0] - 2023-01-27 +## [0.4.0](https://github.com/feos-org/feos/releases/tag/v0.4.0) - 2023-01-27 ### Added - Added SAFT-VRQ Mie equation of state and Helmholtz energy functional for first order Feynman-Hibbs corrected Mie fluids. [#79](https://github.com/feos-org/feos/pull/79) - Added `estimator` module to documentation. [#86](https://github.com/feos-org/feos/pull/86) @@ -244,14 +250,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed incorrect indexing that lead to panics in the polar contribution of gc-PC-SAFT. [#104](https://github.com/feos-org/feos/pull/104) - `VaporPressure` now returns an empty array instead of crashing. [#124](https://github.com/feos-org/feos/pull/124) -## [0.3.0] - 2022-09-14 +## [0.3.0](https://github.com/feos-org/feos/releases/tag/v0.3.0) - 2022-09-14 - Major restructuring of the entire `feos` project. All individual models are reunited in the `feos` crate. `feos-core` and `feos-dft` still live as individual crates within the `feos` workspace. -## [0.2.1] - 2022-05-13 +## [0.2.1](https://github.com/feos-org/feos/releases/tag/v0.2.1) - 2022-05-13 ### Fixed - Fixed a bug due to which the default ideal gas contribution was used for every equation of state. [#17](https://github.com/feos-org/feos/pull/17) -## [0.2.0] - 2022-05-10 +## [0.2.0](https://github.com/feos-org/feos/releases/tag/v0.2.0) - 2022-05-10 ### Added - Added [gc-PC-SAFT](https://github.com/feos-org/feos-gc-pcsaft) equation of state and Helmholtz energy functional. - Added [PeTS](https://github.com/feos-org/feos-pets) equation of state and Helmholtz energy functional. @@ -266,7 +272,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated [`feos-dft`](https://github.com/feos-org/feos-dft/blob/main/CHANGELOG.md) to 0.2.0. - Updated [`feos-pcsaft`](https://github.com/feos-org/feos-pcsaft/blob/main/CHANGELOG.md) to 0.2.0. -## [0.1.1] - 2022-02-23 +## [0.1.1](https://github.com/feos-org/feos/releases/tag/v0.1.1) - 2022-02-23 ### Added - Added `pyproject.toml`. [#8](https://github.com/feos-org/feos/pull/8) - Fixed modules of `SI` classes to make them pickleable. [#8](https://github.com/feos-org/feos/pull/8) @@ -275,6 +281,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated [`feos-core`](https://github.com/feos-org/feos-core/blob/main/CHANGELOG.md) to 0.1.5. - Updated [`feos-dft`](https://github.com/feos-org/feos-dft/blob/main/CHANGELOG.md) to 0.1.3. -## [0.1.0] - 2022-01-14 +## [0.1.0](https://github.com/feos-org/feos/releases/tag/v0.1.0) - 2022-01-14 ### Added - Initial release From 9c152d391a1688b265c0d760b80e517bb3df315e Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Wed, 2 Sep 2026 10:06:49 +0200 Subject: [PATCH 10/13] update DFT notebooks --- .../dft/pcsaft_surface_tension.ipynb | 24 +-- examples/pcsaft/adsorption_isotherms.ipynb | 167 +++++++++--------- examples/pcsaft/pore_geometry.ipynb | 81 ++++----- examples/pcsaft_surface_tension.ipynb | 24 +-- 4 files changed, 146 insertions(+), 150 deletions(-) diff --git a/docs/tutorials/dft/pcsaft_surface_tension.ipynb b/docs/tutorials/dft/pcsaft_surface_tension.ipynb index 4fafc6075..df73e7e66 100644 --- a/docs/tutorials/dft/pcsaft_surface_tension.ipynb +++ b/docs/tutorials/dft/pcsaft_surface_tension.ipynb @@ -177,8 +177,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 367 μs, sys: 10 μs, total: 377 μs\n", - "Wall time: 363 μs\n" + "CPU times: user 676 μs, sys: 12 μs, total: 688 μs\n", + "Wall time: 661 μs\n" ] } ], @@ -240,8 +240,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 11.8 ms, sys: 1.02 ms, total: 12.8 ms\n", - "Wall time: 12.7 ms\n" + "CPU times: user 15.8 ms, sys: 0 ns, total: 15.8 ms\n", + "Wall time: 15.7 ms\n" ] } ], @@ -268,7 +268,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5YAAAI+CAYAAADHM5VJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtVRJREFUeJzs3Xd4VNXWx/HvzGTSSUJICL1DgABSpCodBbsUAQuiiCKK+tquchUb9gIqiIWrgI0mVVQQiIBK7xh6Cz0kpPfJzLx/hAzEJBBgMkOS3+e5eZx99jrnrCFckjV7n70NdrvdjoiIiIiIiMhlMro7ARERERERESndVFiKiIiIiIjIFVFhKSIiIiIiIldEhaWIiIiIiIhcERWWIiIiIiIickVUWIqIiIiIiMgVUWEpIiIiIiIiV0SFpYiIiIiIiFwRFZYiIiIiIiJyRVRYioiIiIiIyBXxcHcCJWHlypXMnj2brVu3kpiYSGBgIDVr1qR9+/Y88cQTeHjkf9sWi4Vp06axcOFCjhw5gtlspnHjxgwZMoQbb7zRTe9CRERERESkdDDY7Xa7u5NwlpycHEaPHs3ChQsBqFq1KiEhISQmJnLq1CksFgubN2/Gz8/PcU5WVhYPPvggmzZtwmQy0aBBAzIyMjhy5AgADz/8MM8995xb3o+IiIiIiEhpUKZGLF977TUWLlxI8+bNeeONN2jatKmjLyMjg9WrV+Pp6ZnvnA8++IBNmzZRo0YNJk+eTL169QBYvnw5//d//8fkyZNp3bo1PXr0cOl7ERERERERKS3KzIjl2rVrGTp0KNWrV2fhwoX4+/tf9Jy4uDi6devmmArboUOHfP2ffPIJkyZNIiIigrlz55ZU6iIiIiIiIqVamVm8Z8qUKQAMGzasWEUlQGRkJBaLhTp16hQoKgEGDx4MQFRUlGNqrIiIiIiIiORXJqbCZmVl8ffffwPQsWNH9u/fz8yZMzlw4ACenp40adKEAQMGUL169Xznbd26FYA2bdoUet2wsDBq1KjBsWPH2Lp1K7Vq1SrR9yEiIiIiIlIalYnCcvfu3VgsFgA2bdrEG2+84WgD/PHHH/zvf//jnXfe4dZbb3UcP3z4MMAFC8ZatWpx7NgxDh06dMEcZsyYwaxZs4qV77Fjx/D19aVNmzZ89NFHxTpHRERERETkalUmCsvY2FjH67xFe15++WUaN27MyZMnGT9+PL/99hsvvvgi9erVcyzqk5SUBEBgYGCR187rS05OvmgOUVFRxc45KSnposWqiIiIiIhIaVAmCsu0tDTHa29vbyZPnuwoCGvXrs24ceM4fPgwu3bt4osvvuDTTz8FcqfQApjN5iKvnbeKbGZm5gVzCA0NJSIiolj5Hjhw4KLXExERERERKS3KRGHp5eXleN23b98CI5BGo5EHHniAF154gb/++gubzYbRaHScd/602X/Lzs4GcgvWCxk8eLBjsZ+L6dev3yWNboqIiIiIiFzNysSqsOcXkvXr1y80Jm9/yrS0NBITEwEICAgAzk2JLUxeX16siIiIiIiI5FcmCsu8ohGKntZ6/qimzWYDoE6dOgBER0cXee28bUbyYkVERERERCS/MlFYhoWFObYSOXr0aKExece9vLwICgoCoGXLlgBs3ry50HNiYmI4duxYvlgRERERERHJr0wUlgA33XQTAD///DM5OTkF+n/66ScA2rZti4dH7qOlPXv2xGw2c/jwYdauXVvgnBkzZgDQtGlTateuXVKpi4iIiIiIlGplprB86KGHqFChAseOHeONN95wrPhqt9v59ttv+eOPPzAYDDzyyCOOc0JCQhg0aBAAL730EgcPHnT0RUZG8r///Q+Axx9/3IXvREREREREpHQpE6vCAgQHB/Ppp58ycuRIZs6cya+//kqdOnU4deoUsbGxGAwGnn/+edq3b5/vvOeff56oqCi2bNnCrbfeSsOGDUlPT3c8Wzls2DB69erljrckIiIiIiJSKhjsdrvd3Uk40+HDh/nyyy9ZvXo1Z86cwd/fn1atWvHggw/Srl27Qs/Jzs5m6tSp/Pzzzxw5cgSz2UyTJk2477776N27t9NzzNtuJCIigrlz5zr9+iIiIiIiIq5U5grL0kCFpYiIiIiIlCVl5hlLERERERERcQ8VliIiIiIiInJFVFiKiIiIiIjIFVFhKSIiIiIiIldEhaWIiIiIiIhcERWWIiIiIiIickVUWIqIiIiIiMgVUWEpIiIiIiIiV0SFpYiIiIiIiFwRFZYiIiIiIiJyRVRYioiIiIiIyBVRYSkiIiJSzvXo0YPw8HCOHTvmtGuGh4cTHh5+VeTz4osvEh4ezty5c51yvTwl8efmKlfy/REpjIe7ExARERGR8mPu3LkcP36cXr160aRJE3enI/+i749c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j+hCBWFoaGix/5IeOHBAxaWIlDoeAZUJu38iFXuNInbWC6RtXZTbYbeRuGwiJ//+Ht/a12Gr3IRX1v3MweQ4Xmt3Kx7GgkvTi8jV5bXXXiMtLY0lS5YwZMgQQkJCqFatGjk5OZw4ccLx/Nw777yT77xXXnmFPXv2cPDgQW655RbHtNr9+/dTrVo1Bg8eXOholtFo5MUXX+Spp57iu+++Y8GCBdSqVYuYmBhiY2MZNWoU8+bNu+hiQs4yatQoJk2axPXXX0/9+vVJSEhw3Pumm25y+n6ctWvX5r777uO7777jmWee4b333iM0NJRDhw5hsVh4+eWXefXVV516zysRGhrKu+++y1NPPcWsWbP49ddfqVu3LqdPnyYmJob777+f5cuXF/r96tu3L7GxsYwfP56XXnqJt956i7p162I0GomLi+PkyZOOOGfYtm0bM2fOxGQyUbNmTQIDA0lKSiI6OtqxPU5xnyW++eab+eGHH/jll1/YunUrVatWxWg00rdvX/r165cvtm3bttStW9cxw7G87F15vjJVWF7IsGHD+Pbbbzl9+jSRkZGO/Xa8vHI3+L7QPjd5UzQK298oz+DBgxk8eHCxcunXrx9RUVHFTV1E5KriWa0x1f9vAWn/LOX0d09gicmd+uqTkcjLu3/hllM7+KRBL6buWsPRlAS+6H4vPh6uG3kQkUvn5eXlGJGcO3cu27ZtY9euXZhMJqpUqUL37t3p1atXgYVIgoODmTVrFp999hlLlizh0KFDhISEMGjQIJ566im+//77Iu/Zu3dvvvzyS7788kt27drFwYMHCQ8P56WXXuKmm25yjC65QqtWrZgxYwafffYZGzduJD09nUaNGjFo0CDuuecep45W5nnppZeoUaMGs2fPJjo6mqysLNq3b8+oUaMuOJPOXXr16uVYbXXz5s3s37+fevXqMWrUKAYOHMjy5cuLPPeRRx6hS5cufP/996xbt479+/djs9kICQmhe/fu9OzZk549ezolz9GjR/PHH3+wceNGYmJiOHbsGF5eXjRv3pwbbriBIUOGFLli7r+1adOGcePG8e2337J3715OnDiB3W6nXbt2hcb379+fDz/8kICAAHr37u2U91OaGOyXstZwKTdq1CiWLl3Kfffdx5gxYwC4++672bx5M08//TSPPvpooec9+OCDrF69mscee4ynnnrqivPI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CksRESkXzEYTL117bqXXv07uJ/LYngJx3rVbEXzz84524rIJZOxb7ZIcRURESisVliIiUm70qBFO52oNHO03N/xKjs1aIC749jF4Vm2c27DbifnmYWzZma5KU0REpNRRYSkiIuWGwWBgTNubMWAAYF/SaWbs3VggzujpTdiwyWDIjcs+uZv4hW+6NFcREZHSRIWliIiUK02DqzGwYWtH+8MtS0kpZDTSp2Engno94WjH//o+mdEFV5MVERERFZYiIlIOPdfqRnw8zADEZaby+Y6VhcaFDHgTc2jd3IbNSszXw7HnWFyVpoiISKmhwlJERMqdqn6BjGjWxdH+MupPTqQmFogzevkR9uCXjnbWka3E//qBK1IUEREpVVRYiohIuTSyWRcq+1QAIMuaw/ubfy80zrdpTwK7Dne04xeOJfv0AZfkKCIiUlqosBQRkXLJz+zFc61vcLRXnzpAqiWr0NiQQe9jCqoGgD0nm9gZzxcaJyIiUl6psBQRkXJrUINraRNai+db3cDKfs/ib/YqNM7kG0jooPcc7bTNC0jfudxVaYqIiFz1VFiKiEi5ZTIamX/LSJ5q2RMfD88LxlbocDfeDTo52qd/fAa7NaekUxQRESkVynRhuXLlSsLDwwkPD6dHjx5FxqWlpTF+/Hj69OlDixYt6NChAyNGjGDdunUuzFZERNzBcHavyuLEVb53vKOdfewfklZMLqm0RERESpUyW1impaXx2muvXTQuPj6e/v3788UXX3D8+HHq16+Pl5cXK1asYOjQofzwww8ln6yIiFxV7HZ7oce9615LQOcHHO24ua9gTY13UVYiIiJXrzJbWI4fP54TJ07Qs2fPC8a99NJLHDp0iIiICJYtW8a8efNYsWIFb7zxBna7nbfeeotdu3a5KGsREXGndEs2n+9YSZ+Fn5JZxH6VIf3fwuDtD4AtLZ4zC95wZYoiIiJXpTJZWG7dupUffviBnj170qtXryLjdu7cSWRkJEajkfHjxxMWFgbkTncaNGgQd9xxB1arlUmTJrkqdRERcZNsaw495o/jrY2/ERV/kh/2ri80ziOoCpVue8nRTlw+iazjO12VpoiIyFWpzBWWFouFMWPG4O3tzSuvvHLB2CVLlgDQoUMHateuXaB/0KBBQO6zmunp6c5PVkRErhqeJg9uqNnU0f5s+woycrILjQ268SnMlevn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jBjBunXrXPguREREXOe2Os2p4hsAgMVmZdquNYXG5VvEZ+NcrKlnXJKfiIiUHmWmsFy7di133303kydPZvPmzVSoUIHw8HDsdjt///03zz//PI8++ijZ2dkFzo2Pj6d///588cUXHD9+nPr16+Pl5cWKFSsYOnQoP/zwgxvekYiISMnyNHnwYJNOjva3e9aRkVPw56R/y9swBYQBYM/JJvnv712Wo4iIlA5lprC02+3UqFGDl156idWrV7Ns2TLmzp3LunXreO+99/D09GTFihV88sknBc596aWXOHToEBERESxbtox58+axYsUK3njjDex2O2+99Ra7du1yw7sSEREpWfeGt8PXwxOAxKx0Zu/fXCDG4GEmoPMDjnbSyslaxEdERPK57MJyzZo12Gw2Z+ZyRVq0aMHixYu5//77qVSpUr6+O++8k8cffxyAn376KV/eO3fuJDIyEqPRyPjx4wkLy/1E1mAwMGjQIO644w6sViuTJk1y3ZsRERFxkSAvXwY1vNbRnhz1FzZ7wZ/vgV0fcrzOPrGLzP2rXZKfiIiUDpddWD744IN07NiR//znPyxevJj09HRn5nXJ/P39MZvNRfZ36dIFgMTEROLj4x3HlyxZAkCHDh2oXbt2gfMGDRoEwMqVK93+HkVERErC8IjrMJC78uuh5DiWH91dIMazcn18m/Z0tJNWaBEfERE557ILy/DwcJKSkli4cCFPP/20Y7GbmTNnEhsb68wcnSIzM9Px2tvb2/F669atAFx77bX/PgXIHQn19PQkKytL02FFRKRMql2hEn1qN3W0vyxq65HzRi1TNvyENS2xpFMTEZFS4rILywULFhAZGclLL71Eu3btsNlsrFy5ktdee42uXbsycOBAvvrqKw4cOODMfC/bL7/8AkDjxo3x9/d3HD98+DAAtWrVKvQ8s9lM1apVATh06FDJJikiIuImIyK6OF6vPXWI7XHHCsT4tb4To3/u4yb27AxS1vzosvxEROTq5nElJ1erVo0hQ4YwZMgQkpOTWbFiBcuWLeOvv/5i+/bt7Nixg/Hjx1OrVi169uxJjx49aNOmDYazGy27yj///MOMGTMAeOSRR/L1JSUlARAYGFjk+Xl9yckF9/fKM2PGDGbNmlWsfK6WYltERCRPm8q1aBVak9TsLB5udj0Ng8IKxBjNXgReP5SExeMASFw5mcCe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ANR4Vdf09HQcPnwYADB48OC7GhsREREREZEn8PrEEgBefvllCIKAzZs3Y82aNdKJzdevX8e0adNgNpsxaNAgtG/f3s2REhERERER1T+CaP3loRq05cuXY968eRBFEZGRkWjUqBEuXLgAvV6PVq1a4bvvvkNoaKhTnsty8Z5OnTphw4YNTmmTiIiIiIjIXXjJrFsmTJiAdu3a4euvv8apU6dw48YNREVFYfDgwUhISIC/v623fCUiIiIiIvIOTCwr6Nu3L/r27evuMIiIiIiIiDwKz7EkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIoco3B2AN2rVqlWlRyIiIiIiIk8miKIoujsIIiIiIiIi8lycCktEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOUbg7ALLe9OnTcenSJXeHQURERERE9USrVq0wf/58d4fBxNKTHDt2DNnZ2e4Og4iIiIiI6on8/Hx3hwCAiaVH0Wq1AAC1Wo02bdq4ORrvlJaWhrKyMvaBG7EP3I994H7sA/djH7gX97/7sQ/cz9IHlhzB3ZhYepDo6GgUFRWhTZs22LBhg7vD8UpPPvkkkpOT2QduxD5wP/aB+7EP3I994F7c/+7HPnA/Sx9ER0e7OxQAvHgPEREREREROYiJJRERERERETmEiSURERERERE5hIklEREREREROYSJJRERERERETmEiSURERERERE5hIklEREREREROYSJJRERERERETmEiSURERERERE5hIklEREREREROUTh7gDIeqNGjUJubi4aN27s7lC8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iIiooUlOTsbEiRNRWFiIMWPG4P3334cgCHa1dfLkSYwaNQrNmzfH7t27bd7+wIEDSEhIsLr+3LlzMXLkSJufh4iIvBePWBIRETnZyZMnMWHCBBQWFuLZZ5/F7Nmz7U4qAedMg7UFp8MSEZGteLsRIiIiJ/r999+RkJAAjUaDSZMm4W9/+5vDbe7ZsweAfYllfn6+NI120aJF6NevX61109LS8NRTTyEpKQkXL15E69at7QuYiIi8Do9YEhEROcnhw4fxwgsvQKPRYPLkyU5JKtPT05GWloZGjRpJ9560xebNm2EwGBAYGIi4uDj4+/vX+tO5c2cpmeRRSyIisgUTSyIiIif45Zdf8OKLL0Kr1eLVV1/Fa6+95pR2LdNg4+Li7LrwjyVBjI+Pt+oWJ4MHDwZQnpAajUabn4+IiLwTp8ISERE5wWeffYaysjIIgoBvv/0W3377ba11P/nkE/Tt29eqdh05v/LEiRO4cOECgNsJ450MHjwYS5YsQV5eHvbv32/XVWiJiMj7MLEkIiJykMlkwvnz5wGU3xokLy+vzvrNmze3qt38/HwkJSVBrVbjgQcesDkuy9HKwMBAq7dv164d2rRpg7S0NKxbt46JJRERWYW3GyEiIqqn1q1bh1mzZiEuLg5ffvmlu8MhIiKqFc+xJCIiqqcs02B51JCIiOo7ToUlIiKqp7p164aOHTvaff9KIiKiu4VTYYmIiIiIiMghnApLREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDvl/Bmc20OoiamoAAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5YAAAI+CAYAAADHM5VJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtQdJREFUeJzs3Xd4VNXWx/HvzGTSGyGhl1ADBJAiTXpRwE4REEUsKHJFvYq+ioq9F1BBLKiAjSZVVLhABFR6x9ADhBIICSG9TWbm/SNkNCaBAJMMSX6f5+Zh9tnrnLNOkutkzT5nb4PdbrcjIiIiIiIicpmMrk5AREREREREyjYVliIiIiIiInJFVFiKiIiIiIjIFVFhKSIiIiIiIldEhaWIiIiIiIhcERWWIiIiIiIickVUWIqIiIiIiMgVUWEpIiIiIiIiV0SFpYiIiIiIiFwRFZYiIiIiIiJyRdxcnUBJWLNmDfPmzWPHjh0kJiYSEBBA7dq16dChA48++ihubvkv22KxMHPmTJYsWcKxY8cwm800adKEESNGcMMNN7joKkRERERERMoGg91ut7s6CWfJyclh/PjxLFmyBIDq1asTHBxMYmIip0+fxmKxsG3bNnx8fBz7ZGVlcd9997F161ZMJhMNGzYkIyODY8eOAfDggw/y1FNPueR6REREREREyoJyNWL58ssvs2TJElq0aMGrr75Ks2bNHH0ZGRmsW7cOd3f3fPu89957bN26lVq1ajFt2jTq168PwKpVq/jvf//LtGnTaNOmDb169SrVaxERERERESkrys2I5YYNGxg5ciQ1a9ZkyZIl+Pr6XnSf+Ph4evTo4bgVtmPHjvn6P/roI6ZOnUp4eDgLFiwoqdRFRERERETKtHIzec/06dMBuP/++4tVVAJERERgsVgIDQ0tUFQCDBs2DIDIyEjHrbEiIiIiIiKSX7m4FTYrK4s///wTgE6dOnHo0CHmzJlDVFQU7u7uNG3alMGDB1OzZs18++3YsQOAtm3bFnrcqlWrUqtWLU6cOMGOHTuoU6dOiV6HiIiIiIhIWVQuCst9+/ZhsVgA2Lp1K6+++qqjDfDbb7/x5Zdf8tZbb3HzzTc7th89ehTgggVjnTp1OHHiBEeOHLlgDrNnz2bu3LnFyvfEiRN4e3vTtm1bPvjgg2LtIyIiIiIicrUqF4VlXFyc43XepD0vvPACTZo04dSpU0yaNIlff/2VZ599lvr16zsm9UlKSgIgICCgyGPn9SUnJ180h8jIyGLnnJSUdNFiVUREREREpCwoF4VlWlqa47WnpyfTpk1zFIR169Zl4sSJHD16lL179/LZZ5/x8ccfA7m30AKYzeYij503i2xmZuYFcwgJCSE8PLxY+UZFRV30eCIiIiIiImVFuSgsPTw8HK8HDBhQYATSaDRy77338swzz/DHH39gs9kwGo2O/f552+y/ZWdnA7kF64UMGzbMMdnPxQwcOPCSRjdFRERERESuZuViVth/FpINGjQoNCZvfcq0tDQSExMB8Pf3B/6+JbYweX15sSIiIiIiIpJfuSgs84pGKPq21n+OatpsNgBCQ0MBiI6OLvLYecuM5MWKiIiIiIhIfuWisKxatapjKZHjx48XGpO33cPDg8DAQABatWoFwLZt2wrdJzY2lhMnTuSLFRERERERkfzKRWEJ0L9/fwB++ukncnJyCvT/+OOPALRr1w43t9xHS3v37o3ZbObo0aNs2LChwD6zZ88GoFmzZtStW7ekUhcRERERESnTyk1h+cADD+Dn58eJEyd49dVXHTO+2u12vvnmG3777TcMBgMPPfSQY5/g4GCGDh0KwPPPP8/hw4cdfREREXz55ZcAPPLII6V4JSIiIiIiImVLuZgVFiAoKIiPP/6YMWPGMGfOHH755RdCQ0M5ffo0cXFxGAwGnn76aTp06JBvv6effprIyEi2b9/OzTffTKNGjUhPT3c8W3n//ffTp08fV1ySiIiIiIhImWCw2+12VyfhTEePHuXzzz9n3bp1nD17Fl9fX1q3bs19991H+/btC90nOzubGTNm8NNPP3Hs2DHMZjNNmzbl7rvvpm/fvk7PMW+5kfDwcBYsWOD044uIiIiIiJSmcldYlgUqLEVEREREpDwpN89YioiIiIiIiGuosBQREREREZErosJSRERERERErogKSxEREREREbkiKixFRERERETkiqiwFBERERERkSuiwlJERERERESuiApLERERERERuSIqLEVEREREROSKqLAUERERERGRK6LCUkRERERERK6ICksRERGRCq5Xr16EhYVx4sQJpx0zLCyMsLCwqyKfZ599lrCwMBYsWOCU4+Upie9babmSn49IYdxcnYCIiIiIVBwLFizg5MmT9OnTh6ZNm7o6HfkX/Xzk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zjjQvffey8aNGxk/fjz33HPPBWO/+eYb3nzzTTp27MiMGTOccfoyJW8dy/DwcBYsWODqdERE5Cp338qZRCbEMCKsI8PD2lHZs+CHpHnOLZtE3OynADAFVKP+B0cxuJlLK1UREamgnPaM5b59+zCZTAwZMuSisUOGDMHNzY29e/c66/QiIiLl1vtdBrFu8P/x6DU9L1hUAvh3HoHBzR0Aa9JpUncuLY0URUSkgnNaYZmWloaPjw+enp4XjfX09MTHx8fpE/iIiIiUR5U9fXEzmooVa/ILxrftAEdbk/iIiEhpcFphWalSJVJSUjh79uxFY8+ePUtycjKBgYHOOr2IiIic9881LdN3L8cSX3A5LREREWdyWmHZqlUr7HY7kydPvmjsxx9/jN1up02bNs46vYiISIWRZc3hWEpCkf1eTXpgrtowt2G3k/T79FLKTEREKiqnFZZ33XWXY+3Hp59+mujogp+ORkdH89RTTzFnzhwMBgN33XWXs04vIiJS7sWmJ/PWlmW0m/MWY9fMLjLOYDQS0O0BRzt57dfYrTmlkaKIiFRQTltupEOHDowcOZKZM2eydOlSli5dSvXq1alSpQoAsbGxnD592hF/77330r59e2edXkREpNw7k57iWNMyIS6N3fEnaRFcs9BY/y4jiV8wAaw55Jw7SdruZfi2urn0khURkQrFaSOWAOPHj+eFF17A398fu91OTEwMO3bsYMeOHZw6dQq73U5AQAATJkzgmWeeceapRUREyr0WwTVpE1LH0Z6xb32RsW4BVfFtfaujnbTmqxLNTUREKjanjVjmufvuu7njjjv4888/+euvvxyT+VSuXJnmzZvTuXNnPDw8nH1aERGRCmFk005sizsGwKLDO5jQ7kYCPbwLjQ3oPorULbnrJaft/JmcxFO4BVYvtVxFRKTicHphCeDh4UGvXr3o1atXSRxeRESkwro5tAWvbFxKQlYaWdYc5h7cykPNuxYa6x3eB7eg2uQkHAebleQ/vyXopv8r5YxFRKQicOqtsCIiIlKyPExu3Nm4naM9c98GbHZbobEGown/rvc52klrv8Zut5d4jiIiUvGosBQRESljRjTpgNFgACA65SxrTh4sMjag671wPtYSe5CMA7+XRooiIlLBlMitsFarlaNHj5KcnExOzoWnN2/Xrt0F+0VERCS/Wr6V6FOrCf87vheA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/vzzT55++mkefvhhsrOzC+ybkJDAoEGD+Oyzzzh58iQNGjTAw8OD1atXM3LkSL7/XpMViIhI+eNucuO+ptc52t/s30hGTsH3Sd+2AzH6BAFgz04nZcMPpZajiIiUDeWmsLTb7dSqVYvnn3+edevWsXLlShYsWMDGjRt55513cHd3Z/Xq1Xz00UcF9n3++ec5cuQI4eHhrFy5koULF7J69WpeffVV7HY7b7zxBnv37nXBVYmIiJSsu8La4+3mDkBiVjrzDm0rEGN098S/8whHO2nNV6WWn4iIlA2XXViuX78em83mzFyuSMuWLVm2bBn33HMPlStXztd3++2388gjjwDw448/5st7z549REREYDQamTRpElWrVgVynz0ZOnQot912G1arlalTp5bexYiIiJSSQA9vhja61tGeFvkHNnvB9/eA7qMcr7Oit5N5dGup5CciImXDZReW9913H506deL//u//WLZsGenp6c7M65L5+vpiNpuL7O/WrRsAiYmJJCT8vcDz8uXLAejYsSN169YtsN/QoUMBWLNmjcuvUUREpCSMCu+MAQMAR5LjWXV8X4EYj5rN8Gz4922zSas1iY+IiPztsgvLsLAwkpKSWLJkCU888YRjsps5c+YQFxfnzBydIjMz0/Ha09PT8XrHjh0AXHvttf/eBcgdCXV3dycrK0u3w4qISLlU168y/eo2c7Q/L2rpkR5/j1omb/gBW2ZqiecmIiJlw2UXlosXLyYiIoLnn3+e9u3bY7PZWLNmDS+//DLdu3dnyJAhfPHFF0RFRTkz38v2888/A9CkSRN8fX0d248ePQpAnTp1Ct3PbDZTvXp1AI4cOVKySYqIiLjI6PBujtcbTh9hV/yJAjF+7e7A6BUAgD0zlZSNc0otPxERubq5XcnONWrUYMSIEYwYMYLk5GRWr17NypUr+eOPP9i1axe7d+9m0qRJ1KlTh969e9OrVy/atm2LwWBwVv7F8tdffzF79mwAHnrooXx9SUm5U6YHBAQUuX9eX3JywfW98syePZu5c+cWK5+rpdgWERHJ07ZKHVqH1CY1O4sHm3ehUWDVAjFGD2/8Og0nKeJTIHcSn38uRSIiIhXXFRWW/+Tv78+tt97KrbfeSnZ2Nhs2bGDlypX89ttvREdH8/XXXzN9+nQqVapEz5496dWrF126dMHDw8NZKRQqPj6eRx99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pCTMmTMHubm58PPzQ0xMDIYPH17r+dWmv9e6/g7DwsIQFRWFjIwMnD17Fi1btrQoBk/uB4B1bXA7jng/8MS+YGsbbNiwAV9++SUqKioQGhqKXr164eGHH7b4A3pVzupf7sARfUAURWzfvh0AMGrUKLs+vziyXRsyjUYjXZCrf//+uHLlCjZu3Ijk5GSoVCp06tQJY8aMqXFBPHd8L2Bi6STJyclYtWoVunTpgokTJ952+7S0NACo849CqVQiIiICV69eRWpqqkWNrNVqpatu1VVvREQElEoldDodUlJSGlViaW0b1CcnJwcnTpwAUHdHtMS6devMljdu3IhOnTphxYoVaNGihV0xNkT2tMGWLVvMlrdt24bly5djxYoV6NKli1V1OaN/uQNH9YF9+/ZBrVbDx8cHw4YNsysmR7arO0lMTERiYqK0HB8fj88++wxPP/00XnnlFbPp97f7ezWty8jIsGrEzFP7gYk1bVCf8vJy/PzzzwDq/sBnCU/sC7a2we7du82Wd+3ahWXLlmHx4sW49957rYrBWf3LHTiiDzjytAhHtmtDlpSUBJ1OBwA4deoU3n77bWkZAA4ePIgvvvgC7733HkaMGCGVu+N7ARNLJxBFEW+88Qb0ej0WLFhgUUctKioCgFqnq5qY1hUXF1sUR2lpKYxGY731CoKAwMBA3Lx50+J63YEtbVCfhQsXQqfToX379oiNjbVqX4VCgUceeQTDhw9H+/bt0axZMxQUFODw4cP4+OOPkZiYiClTpmDr1q2N6ls6W9sgLi4OI0eORMeOHREeHo6ysjL8+uuvWLp0KdLT0zF58mRs377dqquSOqN/NXSO7ANbt24FADz44IM2/406o13dQbNmzfD888/jvvvuQ1RUFPz9/ZGamor169djw4YNWLt2LRQKBf79739L+zjr79UT+wFgWxvUZ+nSpbh58yZCQkIwZswYq+PxxL5gaxv06dMH/fr1wz333IPIyEjodDqcOnUKy5cvx6VLlzBz5kx89913ViXintgPHNkHTO8HPXv2tHk01xnt2pDl5uZKv7/99tvo3Lkz3njjDXTs2BFZWVlYunQp9uzZg1dffRVt27aVzr90x/eCxjv/zoXWr1+P06dPY/z48bjnnnss2sc0rabqSbvVmabHVFRUWFVn1X0dUa87sKUN6vL5559j//79UCqVeP/9963+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oEF45pln0KdPnxr7uNt7gSB6yo2SiIiIiIiIyCl4jiURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJRERkZsZOXIkYmJicOzYMZv2LyoqQteuXRETE4OYmBikpaU5NkAiIvI4TCyJiIjcSGZmJpKSkhAYGIg+ffrYVMfOnTuh0Wik5S1btjgqPCIi8lBMLImIiNzIzz//DAAYOHAgFAqFTXVs3rwZADBx4kQAwLZt22AwGBwTIBEReSQmlkRERG7ElFjGxcXZtH9CQgISExMRGBiIuXPnIioqCrm5uTh8+LAjwyQiIg9j21edREREVKvExESMGjXKom1feuklPPvssxbXXVRUhN9//x1KpRIDBw60KT7TaOWwYcPg5eWFUaNG4ZNPPsGWLVswaNAgm+okIiLiiCUREZEDpaWlITQ0tM4fPz8/advOnTtbVfehQ4eg1+vRr18/+Pv7Wx2bRqPBrl27AEBKfkeNGgVBEHDo0CHk5eVZXScRERHAEUsiIiKHGjZsGIYNG1bruszMTPzzn/9EWVkZHnjgAfTr18+quu2dBrtv3z4UFxejVatW6NGjBwCgRYsW6NmzJ37//Xds374dU6dOtaluIiLybByxJCIiugPS09MxceJEpKenY/DgwVixYgVUKpXF+2u1Whw5cgSCINg8ZdU0DXbkyJFm5abRS14dloiIbMXEkoiIyMlSU1Mxfvx4ZGZmYtiwYVi2bJlVSSUA/Prrr1Cr1bj77rsRFhZmdQzp6ek4ceIEBEGokVgOGzYM3t7eSElJwenTp62um4iIiIklERGRE125cgUTJ05ETk4OHnnkESxevNim24TYOw12y5YtEEURvXr1QlRUlNk6f39/DB48GMBfo5pERETWYGJJRETkJElJSZg4cSJyc3MxevRofPDBB5DL5VbXI4oi4uPjAUBKAK1hNBqxbds2ADWnwZqYpsPu2bMHZWVlVj8HERF5NkEURdHVQRARETU2CQkJmDx5MgoLC/HEE0/grbfegiAINtV17tw5jB07Fi1btsT+/fut3v/w4cOYPn26xdsvWrQIY8aMsfp5iIjIc3HEkoiIyMHOnTuHSZMmobCwEE8//TQWLFhgc1IJOGYarDU4HZaIiKzF240QERE50O+//47p06ejrKwMU6ZMwb///W+76zxw4AAA2xLL/Px8aRrt8uXLMWDAgDq3TU5OxuOPP44zZ84gJSUFbdu2tS1gIiLyOByxJCIicpDjx49j2rRpKCsrw8yZMx2SVKalpSE5ORlNmjSR7j1pjR9++AE6nQ4BAQGIjY2Fn59fnT9du3aVkkmOWhIRkTWYWBIRETnA0aNHMWPGDKjVarzwwgt48cUXHVKvaRpsbGysTRf+MSWIcXFxFt3iZOjQoQAqE1K9Xm/18xERkWfiVFgiIiIH+Pjjj1FRUQFBEPDtt9/i22+/rXPbjz76CP3797eoXnvOrzx79iyuXLkC4K+E8XaGDh2KlStXIi8vD4cOHbLpKrREROR5mFgSERHZyWAw4PLlywAqbw2Sl5dX7/YtW7a0qN78/HycOXMG3t7euPfee62OyzRaGRAQYPH+MTExaNeuHZKTk7F582YmlkREZBHeboSIiKiB2rx5M+bNm4fY2Fh89tlnrg6HiIioTjzHkoiIqIEyTYPlqCERETV0nApLRETUQPXo0QOdO3e2+f6VREREdwqnwhIREREREZFdOBWWiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7PL/AdZTGkXeXq+iAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -279,8 +279,8 @@ ], "source": [ "plt.figure(figsize=(10, 6))\n", - "plt.plot(interface.z / si.ANGSTROM, initial_density[0], linestyle=\"dashed\", label=\"initial density\")\n", - "plt.plot(interface.z / si.ANGSTROM, (interface.density / (si.KILO * si.MOL / si.METER**3))[0], label=\"equilibrium density\")\n", + "plt.plot(interface.grid / si.ANGSTROM, initial_density[0], linestyle=\"dashed\", label=\"initial density\")\n", + "plt.plot(interface.grid / si.ANGSTROM, (interface.density / (si.KILO * si.MOL / si.METER**3))[0], label=\"equilibrium density\")\n", "\n", "plt.xlim(40, 60)\n", "plt.ylim(-5, 60)\n", @@ -559,8 +559,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 523 ms, sys: 3.87 ms, total: 526 ms\n", - "Wall time: 525 ms\n" + "CPU times: user 441 ms, sys: 0 ns, total: 441 ms\n", + "Wall time: 440 ms\n" ] } ], @@ -612,7 +612,7 @@ "outputs": [ { "data": { - "image/png": "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rqRTp07cvHkz12NRq9UMGjSI+fPno9FocHV1JTY2lm3btvHhhx/q3nfw9DXRrs5wc3PTe42e9eVYfiN7UIUQL8zI3Ioi3b5Lz/b750gSrv7/N59pap7snEvs6XU4fTgPm9rdnyvb76TabfmgvCeTTm3hdHj6N+BJaWpmX9jDv3cuMqNeZxo6l8/r2xJC5IImOZ64S9482fkjyfcv68rNy9TAod1YbGp2xMjc+vUN8AVpM726urrqyrRLPuvUqfNSHrNp06asXLmS+/fvM3DgQPr160fdunWzTDiUnfv37+sSCGmXorZq1YrvvvuOiIgITpw4kWPyoNft6tWrpKSkULRoUYoWLZrr9g8ePNC9drn5EiEqKgpfX19dkPT+++9ToUKFLK9VqVRUrVqVEydOcO7cuTzbh7pgwQK2bduGtbU1P/zwA23bttUliNIuWc5qT214eDibN29m8eLFtGrVCkifATQxyf5j//r161m8eDFLliyhSZMmzJ49O1djvXHjBmPGjCElJYUePXrw9ddf6wXFZ86cITxc/5zz3r17M378eCpVqqRX7uvry5gxY1i5ciXvv/8+np6euRpLTi5fvoypqSnLli3Tve+jo6MZO3YsR44cYcyYMezYsUNvKfn333+Pj48PJUqU4Oeff8bDwwNI338+evRozp07x8iRI/H29s60vD8ne/bsoWTJkmzbtk23Xzs0NJRBgwbh7+/PH3/8wejRo4H03wVNmzalefPmhISEvPC+7jedzKAKIfKMWbHylByzA+cRmzAp/HSfVerjYMJ+7kXI/9qQEpb7bxkB3OyLsbHNEBY26UURi6cfzu5ER9Jrz3KGH9nAg4SYF74HIUTuaZLjidwwlvBfP9YLTgGS718m/NePifx7HJrk+NczwBeQmprKb7/9xpEjRwD0jjh58OABAKVLl34pj12vXj3d8sqzZ88ydOhQateuTevWrfn666/ZtGkTcXE5r1DRLv2rUaOGLri2trbWZWl91jLfkJAQvaWEGX8WL178gnf4bNoljc8TnAL88MMPqNVqypcvT7NmzbK9bsmSJXr3pl1qGhYWxldffcVPP/2U4+Nox6fNlPyiIiMjWb16NZCebKd9+/Z62YttbGzo3bt3lsFwWloaI0eO1AWnkJ6NOacjkl7UwoULSUlJoWXLlkyfPj3TjG3dunV1M/dabdq0yRSc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8uRJjEYjderUYfHixdmSyYYNry0NPWXKFPr3z76k9QcffMD8+fMB8PHxwdnZmRMnTpCenk7r1q2ZO3dujisDnz59mscee4xLly5ZVtaNiori0qVL2Nvb8+mnn9KjR49CGAUREREREZHSqUwlqHDt0ds5c+YQFBREYmIi3t7eBAYGMnz4cFxcsn8rcbMEFWDt2rUsXryYo0ePkpqaio+PD71792bIkCE33Cf14sWLfPnll/zxxx9cuHABNzc32rRpw3PPPUeTJk2sc8EiIiIiIiJlRJlLUEVERERERKR0KjPvoIqIiIiIiEjppgRVRERERERESgQlqCIiIiIiIlIilO9dYAWAV199ldOnTxd3N0REREREpISoU6cOH3/8cZGfVwmqsG/fPs6dO1fc3RARERERkRLi8uXLxXJeJahCYmIiAE5OTtSrV6+Ye1N2hISEkJycrHG1Mo1r4dC4Fg6Na+HR2BYOjWvh0LgWDo1r4cgY14wcoagpQRVq1apFbGws9erVY/ny5cXdnTKjf//+BAcHa1ytTONaODSuhUPjWng0toVD41o4NK6FQ+NaODLGtVatWsVyfi2SJCIiIiIiIiWCElQREREREREpEZSgioiIiIiISImgBFVERERERERKBCWoIiIiIiIiUiIoQRUREREREZESQQmqiIiIiIiIlAhKUEVERERERKREUIIqIiIiIiIiJYISVBERERERESkR7Iq7A1L8BgwYQHR0NFWrVi3urpQpGtfCoXEtHBrXwqFxLTwa28KhcS0cGtfCoXEtHMU9rgaz2WwuljOLiIiIiIiIZKJHfEVERERERKREUIIqIiIiIiIiJYISVBERERERESkRlKCKiIiIiIhIiaBVfEsps9nM/v372bx5M/v27ePUqVNcvXqVihUr0qRJE/r27UuvXr0wGAzZ6jZs2PCGbVepUoXt27fnevzIkSN888037N27l7i4OKpVq0aXLl0YOXIknp6et3xtxW3t2rXs2LGD4OBgLly4QExMDPb29vj5+XHXXXfx5JNP4uHhkWPdhIQEvvnmG9avX09kZCTOzs60aNGCp556ivbt29/wvLt27WLu3LkcPHiQxMREvL29CQwMZPjw4Tg7OxfGpRapgo6r5mv+/fnnnwwfPhyAmjVrsnnz5hzLab7mT17GVfP15mbMmMHMmTNvWOb999/nkUceyRZP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6tWrc/r0aRITE6lSpQqLFy/O9u1KabJx40bLX8CqVatSrVo1bG1tOXfunGXfLi8vL77++utsd/ouX77MI488QmhoKA4ODtSvX58rV65w7tw5DAYDY8aM4YknnsjxvPPmzWPq1KmYzWZq1KiBh4cHJ0+exGg0UqdOHRYvXoynp2fhXnwhKui4ar4W3PLly3n77bepWbNmjqt2ar4WzI3GVfP15o4ePUrfvn2Ba/vjeXt7Y2trS3h4uGURjjZt2vDll19mWYwDrm1vMGTIEPbv34+trS0NGjQgMTHR8m7UU089xZtvvpnjecv62BZ0XCdPnsyCBQswGAzUrFkTT09PkpOTOXXqFGlpadjY2PDKK6/wzDPP5Hjeffv28fTTT5OYmIi7uzu1atUiIiKC2NhYnJ2dmTt3bql+FDXDjh07GDFiBMnJyVSsWBE/Pz+ioqKIjo7GYDDw+uuvM2zYsCx1NF9vLr/jqvmad7t372bw4MEYDAY2bNhw05tYJW2+KkEtpTI+JOXFggULLLf2t27dyoYNGzh8+DAXLlwgJiYGe3t7atWqRceOHXn88cdz3CMps+DgYL7++mv+/vtv4uLiqFatGl26dGHkyJFUrlz5lq+tOF26dInVq1eze/duTp48yaVLlzAajbi5uVG/fn26du3KQw89lOuL5levXmX27NmsW7eOyMhInJ2dad68OcOGDaNDhw43PPfOnTuZM2cOQUFBJCYm4u3tTWBgIMOHD8/ymGVpVNBx1XwtuJslqKD5WhA3GlfN15uLi4vj+++/58CBA4SEhHD58mWMRiPu7u40adKEBx54gAceeCDXd8CMRiPz5s1j9erVhIeHY29vT+PGjXn88cctj5rlpiyPbUHH9cCBA/z6668EBQURGRlJTEwMtra2eHl50a5dOx599NGbvnYRHh7OrFmz2L59O1euXMHDw4NOnToxcuTIPD3ZVVqEhoby9ddfs2PHDi5duoSrqyutWrVi6NChlkX+/kvz9ebyM66ar3n31ltvsWLFCtq1a8fChQvzVKckzVclqCIiIiIiIlIi6B1UERERERERKRGUoIqIiIiIiEiJoARVRERERERESgQlqCIiIiIiIlIiKEEVERERERGREkEJqoiIiIiIiJQISlBFRERERESkRFCCKul85mQAAATnSURBVCIiIiIiIiWCElQREREREREpEZSgioiIiIiISImgBFVERERERERKBLvi7oCIiIjk7u2332b58uUFqtu8eXN+/PHHfNXp06cPx44dY+7cudx+++03LT9jxgxmzpwJwPHjx3Mt9/PPPzNu3DjS09Np06YNX331FRUrVsxX30REpOxTgioiIlKCRUREUKVKlWzxxMREEhMTAXI8DtCuXbt8nevs2bMcO3YMNze3fNe9kXnz5jF16lTMZjNdunRh+vTpODk5Wa19EREpO5SgioiIlGALFy7MMT5u3DiWLVtGjRo12LJli1XOtWnTJgA6d+6MnZ11PiJMnz6dL7/8EoBevXoxdepUq7UtIiJlj35CiIiIlELBwcEANGnSxGptZiSo3bp1u+W2zGYzEydO5Pvvvwfg8ccfZ+zYsRgMhltuW0REyi4lqCIiIqVMWloaJ06cAKyXoMbGxvL3339jb29P586db6mttLQ03nrrLVavXg3AqFGjeOGFF6zRTRERKeOUoIqIiJQyJ0+exGg0AtZLULds2UJaWhp33nknrq6uBW4nJSWFF198kT/++AODwcA777zD4MGDrdJHEREp+5SgioiIlDIZj/cCBAQEWKVNazzee/XqVUaMGMGePXuws7Nj8uTJ9O3b1yr9ExGR8kEJqoiISClz9OhRACpXroyXl9ctt2c0Gtm6dSsGg4GuXbsWuJ3BgwcTHByMo6Mj06dPv6W2RESkfLIp7g6IiIhI/mTcQW3cuLFV2tu5cyeJiYk0bdr0lhLejH499NBDSk5FRKRAlKCKiIiUIiaTiWPHjgEl6/FegFatWgHw/fffs2DBglvul4iIlD9KUEVEREqR06dPk5iYCFhngSSz2czmzZsB6N69+y219e2333LbbbcBMHnyZObNm3er3RMRkXJGCaqIiEgpkvH+KVjnDmpQUBDR0dH4+PjQoEGDW2rL1dWVb7/9ltatWwMwZcoU5s6de8t9FBGR8kMJqoiISCmS8Z5nxYoVqVWr1i23Z63HezO4uLjw7bff0rZtWwCmTp3Kd999Z5W2RUSk7FOCKiIiUoocOXIEuLZAksFguOX2Nm7cCFgvQQVwdnbmm2++oV27dgB8+OGHzJ4922rti4hI2aUEVUREpBSx5gJJoaGhhISE4OHhYXl31FoyktT27dsD8NFHH/HNN99Y9RwiIlL2KEEVEREpJSIiIoiJiQGss8VMxuO9Xbp0wdbW9pbb+68KFSrwzTff0LFjRwA+/vhjvvrqK6ufR0REyg4lqCIiIqVExuO9YJ07qNZ+/zQnTk5OfPXVV9xxxx0AfPrpp8yaNavQziciIqWbElQREZFSIiNBrVChAnXr1r2lti5fvsz+/ftxcnKyJI+FxcnJiS+//JJOnToB8NlnnzFz5sxCPaeIiJROBrPZbC7uToiIiEjR+umnnxgzZgxdunTRY7ciIlJi6A6qiIhIOZTxeG/37t2LuSciIiLX2RV3B0RERKTo3XbbbTRp0qRQ3z8VERHJLz3iKyIiIiIiIiWCHvEVERERERGREkEJqoiIiIiIiJQISlBFRERERESkRFCCKiIiIiIiIiWCElQREREREREpEZSgioiIiIiISImgBFVERERERERKBCWoIiIiIiIiUiIoQRUREREREZESQQmqiIiIiIiIlAj/B6ACB+xLFMBXAAAAAElFTkSuQmCC", + "image/png": "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zZo18fT0JCwsDKPRSN26dVm8eDFeXl5Fe/FFqLDjqvlaeCtWrODll1+mVq1aua7aqflaONcaV83X6zt8+DD9+vUDLu+P5+Pjg62tLSdPnrQswtGmTRs+++yzbItxwOXtDYYNG8a+ffuwtbWlQYMGJCcnW96NeuSRR/jf//6X63nL+9gWdlwnT57MggULMBgM1KpVCy8vL1JTUzl+/DgZGRnY2NgwduxYHn/88VzPu3fvXh577DGSk5Px8PCgdu3aREZGEh8fj4uLC3Pnzi3Tj6Jm2b59OyNHjiQ1NZVKlSrh7+9PdHQ0MTExGAwGXnzxRR599NFsdTRfr6+g46r5mn+7du1i6NChGAwGNm3adN2bWKVtvipBLaOyPiTlx4IFCyy39n/99Vc2bdrEwYMHOXfuHHFxcdjb21O7dm06duzIQw89lOseSVcLDQ3liy++4I8//iAhIYHq1avTpUsXRo0aRZUqVW742krShQsXWLNmDbt27SIsLIwLFy5gNBpxd3fnpptuIigoiHvvvTfPF80vXbrErFmz2LBhA1FRUbi4uNC8eXMeffRROnTocM1z79ixgzlz5hASEkJycjI+Pj4EBwczYsSIbI9ZlkWFHVfN18K7XoIKmq+Fca1x1Xy9voSEBL7++mv279/PsWPHiI2NxWg04uHhQePGjbn77ru5++6783wHzGg0Mm/ePNasWcPJkyext7enUaNGPPTQQ5ZHzfJSnse2sOO6f/9+fvjhB0JCQoiKiiIuLg5bW1u8vb1p164dDzzwwHVfuzh58iQzZ87k999/5+LFi3h6etKpUydGjRqVrye7yorw8HC++OILtm/fzoULF3Bzc6NVq1YMHz7cssjff2m+Xl9BxlXzNf/GjRvHypUradeuHQsXLsxXndI0X5WgioiIiIiISKmgd1BFRERERESkVFCCKiIiIiIiIqWCElQREREREREpFZSgioiIiIiISKmgBFVERERERERKBSWoIiIiIiIiUiooQRUREREREZFSQQmqiIiIiIiIlApKUEVERERERKRUUIIqIiIiIiIipYISVBERERERESkV7Eq6AyIiIpK3l19+mRUrVhSqbvPmzfn2228LVKdv374cOXKEuXPncsstt1y3/PTp05kxYwYAf//9d57lli9fzuiUPAUAAAR/SURBVIQJE8jMzKRNmzZ8/vnnVKpUqUB9ExGR8k8JqoiISCkWGRlJ1apVc8STk5NJTk4GyPU4QLt27Qp0rtOnT3PkyBHc3d0LXPda5s2bx9SpUzGbzXTp0oVp06bh5ORktfZFRKT8UIIqIiJSii1cuDDX+IQJE1i2bBk1a9Zk27ZtVjnXli1bAOjcuTN2dtb5iDBt2jQ+++wzAHr37s3UqVOt1raIiJQ/+gkhIiJSBoWGhgLQuHFjq7WZlaB27dr1htsym81MnDiRr7/+GoCHHnqI8ePHYzAYbrhtEREpv5SgioiIlDEZGRkcPXoUsF6CGh8fzx9//IG9vT2dO3e+obYyMjIYN24ca9asAeCpp57i6aeftkY3RUSknFOCKiIiUsaEhYVhNBoB6yWo27ZtIyMjg9tuuw03N7dCt5OWlsYzzzzDTz/9hMFg4JVXXmHo0KFW6aOIiJR/SlBFRETKmKzHewGaNGlilTat8XjvpUuXGDlyJLt378bOzo7JkyfTr18/q/RPREQqBiWoIiIiZczhw4cBqFKlCt7e3jfcntFo5Ndff8VgMBAUFFTodoYOHUpoaCiOjo5MmzbthtoSEZGKyaakOyAiIiIFk3UHtVGjRlZpb8eOHSQnJ9O0adMbSniz+nXvvfcqORURkUJRgioiIlKGmEwmjhw5ApSux3sBWrVqBcDXX3/NggULbrhfIiJS8ShBFRERKUNOnDhBcnIyYJ0FksxmM1u3bgWgW7duN9TW7NmzufnmmwGYPHky8+bNu9HuiYhIBaMEVUREpAzJev8UrHMHNSQkhJiYGHx9fWnQoMENteXm5sbs2bNp3bo1AFOmTGHu3Lk33EcREak4lKCKiIiUIVnveVaqVInatWvfcHvWerw3i6urK7Nnz6Zt27YATJ06la+++soqbYuISPmnBFVERKQMOXToEHB5gSSDwXDD7W3evBmwXoIK4OLiwpdffkm7du0AePfdd5k1a5bV2hcRkfJLCaqIiEgZYs0FksLDwzl27Bienp6Wd0etJStJbd++PQDvv/8+X375pVXPISIi5Y8SVBERkTIiMjKSuLg4wDpbzGQ93tulSxdsbW1vuL3/cnZ25ssvv6Rjx44AfPDBB3z++edWP4+IiJQfSlBFRETKiKzHe8E6d1Ct/f5pbpycnPj888+59dZbAfjoo4+YOXNmkZ1PRETKNiWoIiIiZURWgurs7Ey9evVuqK3Y2Fj27duHk5OTJXksKk5OTnz22Wd06tQJgI8//pgZM2YU6TlFRKRsMpjNZnNJd0JERESK13fffcerr75Kly5d9NitiIiUGrqDKiIiUgFlPd7brVu3Eu6JiIjIFXYl3QEREREpfjfffDONGzcu0vdPRURECkqP+IqIiIiIiEipoEd8RUREREREpFRQgioiIiIiIiKlghJUERERERERKRWUoIqIiIiIiEipoARVRERERERESgUlqCIiIiIiIlIqKEEVERERERGRUkEJqoiIiIiIiJQKSlBFRERERESkVFCCKiIiIiIiIqXC/wFDqA6ppJ/AhwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -649,7 +649,7 @@ ], "metadata": { "kernelspec": { - "display_name": "feos", + "display_name": "feos_devel", "language": "python", "name": "python3" }, @@ -663,7 +663,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.14.0" } }, "nbformat": 4, diff --git a/examples/pcsaft/adsorption_isotherms.ipynb b/examples/pcsaft/adsorption_isotherms.ipynb index 3e113f944..0ada22972 100644 --- a/examples/pcsaft/adsorption_isotherms.ipynb +++ b/examples/pcsaft/adsorption_isotherms.ipynb @@ -6,10 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "from feos.dft import *\n", - "from feos import StateVec, PhaseEquilibrium, State\n", - "from feos.parameters import Parameters\n", - "\n", + "import feos\n", "import matplotlib.pyplot as plt\n", "import si_units as si\n", "import numpy as np\n", @@ -28,8 +25,8 @@ "metadata": {}, "outputs": [], "source": [ - "params = Parameters.from_json([\"methanol\"], \"../../parameters/pcsaft/rehner2020.json\")\n", - "func = HelmholtzEnergyFunctional.pcsaft(params)" + "params = feos.Parameters.from_json([\"methanol\"], \"../../parameters/pcsaft/rehner2020.json\")\n", + "func = feos.HelmholtzEnergyFunctional.pcsaft(params)" ] }, { @@ -48,32 +45,32 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 6.55 s, sys: 72.1 ms, total: 6.63 s\n", - "Wall time: 6.62 s\n" + "CPU times: user 6.36 s, sys: 49.1 ms, total: 6.41 s\n", + "Wall time: 6.39 s\n" ] } ], "source": [ "%%time\n", - "potential = ExternalPotential.LJ93(3.0, 100.0, 0.08)\n", - "pore = Pore1D(Geometry.Cartesian, 20*si.ANGSTROM, potential)\n", - "solver = DFTSolver().newton()\n", + "potential = feos.ExternalPotential.LJ93(3.0, 100.0, 0.08)\n", + "pore = feos.Pore1D(func, feos.Geometry.Cartesian, 20*si.ANGSTROM, potential)\n", + "solver = feos.DFTSolver().newton()\n", "\n", "pmin = 0.2*si.BAR\n", "pmax = 2.5*si.BAR\n", "pressure_vec = si.linspace(pmin, pmax, 151)\n", "pressures = np.array([0.3, 0.6, 1.0, 1.2, 1.5, 2.0]) * si.BAR\n", "\n", - "isotherm1 = Adsorption1D.adsorption_isotherm(func, 350*si.KELVIN, pressure_vec, pore, solver=solver)\n", - "points1 = Adsorption1D.adsorption_isotherm(func, 350*si.KELVIN, pressures, pore, solver=solver)\n", + "isotherm1 = feos.Adsorption.adsorption_isotherm(func, 350*si.KELVIN, pressure_vec, pore.grid, pore.external_potential, solver=solver)\n", + "points1 = feos.Adsorption.adsorption_isotherm(func, 350*si.KELVIN, pressures, pore.grid, pore.external_potential, solver=solver)\n", "\n", - "isotherm2 = Adsorption1D.desorption_isotherm(func, 350*si.KELVIN, pressure_vec, pore, solver=solver)\n", - "points2 = Adsorption1D.desorption_isotherm(func, 350*si.KELVIN, pressures, pore, solver=solver)\n", + "isotherm2 = feos.Adsorption.desorption_isotherm(func, 350*si.KELVIN, pressure_vec, pore.grid, pore.external_potential, solver=solver)\n", + "points2 = feos.Adsorption.desorption_isotherm(func, 350*si.KELVIN, pressures, pore.grid, pore.external_potential, solver=solver)\n", "\n", - "isotherm3 = Adsorption1D.equilibrium_isotherm(func, 350*si.KELVIN, pressure_vec, pore, solver=solver)\n", - "points3 = Adsorption1D.equilibrium_isotherm(func, 350*si.KELVIN, pressures, pore, solver=solver)\n", + "isotherm3 = feos.Adsorption.equilibrium_isotherm(func, 350*si.KELVIN, pressure_vec, pore.grid, pore.external_potential, solver=solver)\n", + "points3 = feos.Adsorption.equilibrium_isotherm(func, 350*si.KELVIN, pressures, pore.grid, pore.external_potential, solver=solver)\n", "\n", - "equilibrium = Adsorption1D.phase_equilibrium(func, 350*si.KELVIN, pmin, pmax, pore, solver=solver)" + "equilibrium = feos.Adsorption.phase_equilibrium(func, 350*si.KELVIN, pmin, pmax, pore.grid, pore.external_potential, solver=solver)" ] }, { @@ -83,7 +80,7 @@ "outputs": [ { "data": { - "image/png": "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EBEREckOEyAiIiKSHSZAREREJDtMgIhIdoKCguDt7W3oMIjIgJgAEVG5tGnTJrRr187QYRCRkWICRETl0u7du9GrV69S3WdWVlap7o+Iio8JEBEZLT8/PwQEBCAgIAB2dnZwcHDA3Llz8apHGD579gy///77KxOgr7/+Gq6urrCyssLAgQORnJwsLTt79iy6dOkCBwcH2NnZoUOHDrhw4YLW+oIgYN26dejVqxesra3x2WefFf9giahUMQEiIqO2adMmVKhQAWfOnMGqVauwfPly/O9//ytwnbCwMFSvXh0NGjTIt83169exfft2/Prrrzhw4AAiIiIwYcIEaXlqaipGjBiBv/76C6dOnUL9+vXRvXt3pKamam0nKCgIffv2xeXLl/Hee++V7GCJqNTwafBEZLT8/Pxw7949XL16FYIgAABmzpyJPXv24Nq1a/muN3bsWNjZ2WHp0qV5Lg8KCsKnn36KGzduoHr16gCAAwcOoEePHrh9+zacnZ1zraNSqWBvb48tW7bgrbfeAqDuAZo6dSpWrFhR0kMlolLGHiAiMmqvvfaalPwAgK+vL2JiYqBUKvNsL4oifv3111cOf9WsWVNKfjTbValUiI6OBgDcvXsXY8aMQf369WFnZwdbW1ukpaUhISFBazstW7Ys7qERkQFVMHQARES6dObMGTx//hxt2rQp0XZGjBiBhw8fYtWqVahVqxbMzc3h6+uLzMxMrXbW1tYl2g8RGQZ7gIjIqJ0+fVprWlOPY2Jikmf73bt3o0ePHvku10hISMCdO3e0tqtQKODh4QEAOH78OCZPnozu3bujUaNGMDc3x4MHD0p4NERkLJgAEZFRS0hIwLRp0xAdHY2tW7dizZo1mDJlSr7t9+zZU6jL3y0sLDBixAhcvHgRf/75JyZPnoyBAwdK9T/169fH999/j6ioKJw+fRpDhw6FpaWlzo6LiAyLCRARGbXhw4fj6dOnaN26NSZOnIgpU6Zg7NixebaNjY3F9evX4e/v/8rt1qtXD/369UP37t3x5ptvomnTpvjqq6+k5d999x0ePXqE5s2b45133sHkyZNRtWpVnR0XERkWrwIjIqPl5+cHb29vrFy5slDtly9fjsOHD2P//v36DYyIyjz2ABFRuVGjRg3MmjXL0GEQURnAq8CIqNwYOHCgoUMgojKCQ2BEREQkOxwCIyIiItlhAkRERESywwSIiIiIZIcJEBEREckOEyAiIiKSHSZAREREJDtMgIiIiEh2mAARERGR7Pw/Yfznn5/bSacAAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYiRJREFUeJzt3XlcFPX/B/DXLHKJHCoIoigegHiBJ+GRmBoeef+8otTyyAOPzEzzALUkNe9Mq2+KVopaeaSmKYqW9wGeREgoHuCVcqmAu/P7Y9mRlUOOXXZhXk8f+4CZ+czMe1jZefP5vGdGEEVRBBEREZGMKAwdABEREVFpYwJEREREssMEiIiIiGSHCRARERHJDhMgIiIikh0mQERERCQ7TICIiIhIdioYOgBjpFKpcOfOHVhbW0MQBEOHQ0RERIUgiiJSU1Ph7OwMhaLgPh4mQHm4c+cOXFxcDB0GERERFcPNmzdRs2bNAtswAcqDtbU1APUP0MbGxsDREBERUWGkpKTAxcVFOo8XhAlQHjTDXjY2NkyAiIiIypjClK+wCJqIiIhkhwkQERERyQ4TICIiIpIdJkBEREQkO0yAiIiISHaYABEREZHsMAEiIiIi2WECRERERLLDBIiIiIhkhwkQERERyQ4TICIiKre+3j4Ea3e+k+eytTvfwdfbh5RyRGQsmAAREVG5pVCYYPXjC7mSoLU738HqxxegUJgYKDIyND4MlYhID77ePgQKhQnG9P4x17K1O9+BSqXEuL6b811fpXyOjIyUAvchQlVwEKpXLC/ENkRRfMXyQuzjFW1EFLwPdaPixTn49fl4Hj4Vqx9fwPOf+yPgjUX46dA0fJP+Dz6wcseg9nPx6L+4QsUh6uDnCZ38PF+xjVe+p6/eh07ifMXP08qqGmxta706Fj1hAkREpAeangfsfEcrCdL0PIy384JK+Rw3bv6F6BuHcfXeBUSn38JtVQZSBBFpAiAW4onWVDgtnz7DN/gH63b1RpYgSNPf/NbH0KHJ1shKHpjU/2eD7Z8JEBGRHozp/SOQnexg5zsY1WMdVv7cB+sybuKtDAEnHkVj/UZvPFHkSHIEACaab0iXzlpawFQUkSUIMBVFnLW0MFgswit6Vwrz7r+qjS7+B+liH0IBh2qiMGwKwgSIiEjHRJUKiUnnUaeKB3reu4jVjy/g2x+bSz0Puy0tAGQCggALlQh3mKFhRSc0rNoIdRy9YVOpOmysnWFpYQfhVaWaioKXv3J9AMIrepoEoTDbKGEcilefTl+1jYJi+Hb3cHydfElKgsbZNsUHPTcUaRsAILzi501lBxMgIqISSn58HZdjd+PSnZO4nByHS8pU/Kc5oZtBq+dBZWGDAEtnNLRvAs9ar6NObT9UMDVcb4QcrN35Dr5OvoTxdl4Y0/tHaRhS2D08zxotkgcmQERERfA86xli4vYiKv4ALv4XjcsZD5Hw8oVECgEVRBHuYgXUyXqOPeaClAT52nnypFuKctZcaX7uLw9P8v2QJyZAREQFSEm+iQsx2xF56y9cSPkXl8RneJpzuCY7+amtBBqb26NJlQZo7NIBDep3w/r947VOvmt50i11KpVSK/nR0CRBKpXSQJGRoQniq66nk6GUlBTY2toiOTkZNjY2hg6HiEqJqFLh5q3jiLq2F5H3ziHqSSLiFKpcV2NZq0R4KSrBy64+mjr7opFbD9jauWq1yavnoaD5RFRyRTl/sweIiMqVgcsHQiEoEDYpLNeywSsGQyWqsHXyVgDqe+1ciz+AM7G/4eyDizj//PGL2h1AuiKrlhLwtnCAt70XmtXrhrqub0BhUvDHJ3seiIwbe4DywB4gorJr8IrBuGJ3BY0eN9JKgjTz69xxwiBvN5x9cBFnnz/G45euPjIVRTQUzdDMuja8nV+Dl3tv2Ns3KO3DIKJiKMr5mwlQHpgAEZVtUhL0qCHmvjUMH2yciYf1nuNZdBosPCtptbVUiWimqIhWlT3RwrULGrr3hLmFrYEiJ6KSKMr526A3NDh69Ch69uwJZ2dnCIKAHTt2aC0XBCHP1+LFi/PdZnBwcK72DRrwrzci2Xh0HWFt30TdGBWuVL6KfhEf42G950jLTn4sVSLaoiImVWmOH1rMwLGAU/hm2GmM7LUBzZq+w+SHSCYMWgOUnp4OLy8vvP/+++jXr1+u5YmJiVrTv//+O0aMGIH+/fsXuN1GjRrh4MGD0nSFCix1Iiq3nj4Grv8JxB0G4g4Bj+IBAO9UtUJwVmUoTBVQZakws+3raFWnKxq694KpmZVhYyYigzNoZtCtWzd069Yt3+VOTk5a0zt37kTHjh1Rt27dArdboUKFXOsWJCMjAxkZGdJ0SkrBDyAkIgNSKYHb54Br4eqE5/Y5QMxRUKyoANRshTXxSVDYK6HKUkFhqsDBfzMwsucQw8VNREalzNzT++7du9izZw9GjBjxyraxsbFwdnZG3bp1ERAQgISEhALbh4SEwNbWVnq5uLjoKmwi0oUn/wGXfgZ+GQUsrg983wU48gVw67Q6+anqBrQeDQzeDEyLx+BUO9yvr0RadBo61e2ERo8b4YrdFQxeMdjQR0JERqLMjA1t2LAB1tbWeQ6V5eTj44PQ0FB4eHggMTERc+fORfv27XH58mVYW1vnuc6MGTMwZcoUaTolJYVJEJG+HA4BFCZAh2m5lx1ZpO7h8ZsO3L0CxO4H/vkjO9FRvWhnYQvUe0P9qtsRsHvx+6opgHa44wB4queFTQqT5g9eMTjPS+SJSF7KTAK0bt06BAQEwMKi4Gfm5BxSa9q0KXx8fFC7dm1s3bo1394jc3NzmJub6zReIsqHwgQ4/Ln6+5xJ0OEQda+Oc3Mg8kcg5Zb2etUaAm5vAu7+QM3WQD734VGJKjR63Aj9+/fHvBPzpPmaJEiVM5EiItkqEwnQn3/+iZiYGGzZsqXI69rZ2cHd3R3Xrl3TQ2REVGSapOfw54AyE3BqChxZCNy9rJ5/57z6awVLoM7rgPub6sTHrlahNq+5yeG2f7blWsaeHyLSKBMJ0Pfff48WLVrAy8uryOumpaUhLi4O7777rh4iI6Iie/IfYFsTqOoOHH3plhZWDkCDHoBHD6BOe8DU0jAxElG5Z9AEKC0tTatnJj4+HlFRUahSpQpq1VL/tZeSkoJt27ZhyZIleW6jU6dO6Nu3LwIDAwEAU6dORc+ePVG7dm3cuXMHQUFBMDExwZAhvPqDyGCePgKidwOXfwHij2pftQUAggIYvhdwaa0eIiMi0jODJkBnz55Fx44dpWlNIfKwYcMQGhoKAAgLC4MoivkmMHFxcXjw4IE0fevWLQwZMgQPHz6Eg4MD2rVrh5MnT8LBwUF/B0JEuWWmAzG/q5Oe2AOAKuvFsmqNgIqVget/ASZm6qGw638CtX0NFy8RyYpBEyA/Pz+86kkco0ePxujRo/Ndfv36da3psDCO8RMZzPMM4NpBddIT8zuQ9eTFsmoNgcb9gUZ91csPfw50nKmuCTqyKO/CaCIiPSkTNUBEZMREEbh5Sn3lVvQu4Fnyi2WVXYHG/6dOfBwbqudpkh1N8gNoF0bnnCYi0hMmQERUPCl3gAubgahNwMMcV1laVwca9QOa9Fdf0i5oP20dKqV28qOhmVa9VB9ERKQHTICIqPCeZ6iHtiJ/BOLCX9yc0NRKPbTlNRio3RZQFHCT+Y4z8l/Gnh8iKiVMgIjo1ZIuqZOei1vUV3Rp1PIFmr0DNOwDmFcyWHhEREXFBIiI8pb1DLi6EzjzP/WjKDSsqwPebwPeAUDVeoaLj4ioBJgAEZG2R9eBs+uByB+AJw/V8xQV1DcobPau+vlbvFcPEZVxTICISH0lV/xR4OTXwD/7AWTfnsKmBtDiPaD5UMDa0aAhEhHpEhMgIjl7nglc+RU48ZW6zkejbkeg1UjAvWu+Dx0lIirL+MlGJEdP/gPOhQKnvwVSE9XzKlgCzQIAn7GAfX2DhkdEpG9MgIjKm8Mh6hqdvC4p/2MOkHACuHsFyEpXz6vkBPiMVg91VaxSurESERkIEyCi8kZhkvuOyo9vAtuGAbfPvWjn2ARoE6i+aWEFs9KPk4jIgJgAEZU3OR8r8eQ/IDNVfbdmzU0La7ZWt6nfOfddmomIZIIJEFF55P028Pdu4NSaF/PsagO9vwJc2zPxISLZYwJEVJ6kPwD+XKK+eaEy88V8hSkw+aLh4iIiMjIFPLCHiMqMZ8nA4QXACi/1vXyUmYBtLfUyEzNAlaV+CjsREQFgDxBR2aZSqi9nP/z5i7s2V/cGHBoAF8NePHX9yKLchdFERDLGBIiorIr/E9g3Hbh7WT1d1Q14YxZwPwaIWPAi+QG0C6NzThMRyRQTIKKy5tF14I/ZQPQu9bSFnTrZafm++q7Nh0O0kx8NzbRKWZrREhEZJSZARGVF1lPgz6XAsRWAMgMQFEDLEUDHT7VvYNhxRv7bYM8PEREAJkBEZcP1v4BdE4H/4tTTdV4Hun4BODYybFxERGUUEyAiY/b0MXAwSF3oDADW1YFuiwDPnryXDxFRCTABIjJW0buBPR8BaUnq6RbvAV3mAha2ho2LiKgcYAJEZGye/Afsngxc3amerlof6LkScG1r0LCIiMoTJkBExiT+KPDraCA1EVBUANpOBl7/GDC1MHRkRETlChMgImOgzAIiQtRXeUEE7N2B/v8DqnsZOjIionKJCRCRof0XD/wyErh9Vj3dfBjQNQQwszJsXERE5RgTICJDuvQz8NtkIDNVXdzccyXQqI+hoyIiKveYABEZgjIL2P8pcPpb9XStNkC/bwE7F8PGRUQkE0yAiEpb2j1g6zAg4bh6usMnwOvT1I+xICKiUsFPXKLSlHgB2DQYSL0DmNuoe308uhk6KiIi2WECRFRa/tkPbHsPyEpXP7l9yGbA3s3QURERyRITIKLScPo74PdpgKgC6nQABm4ELO0MHRURkWwxASLSJ1EEDn8OHF2snm72LvDWMsDE1LBxERHJHBMgIn1RqdS9Pme+U093nAW8PpUPMSUiMgJMgIj0Qfkc2DkOuLgFgAD0+BJoNdLQURERUTaFIXd+9OhR9OzZE87OzhAEATt27NBaPnz4cAiCoPXq2rXrK7e7evVquLq6wsLCAj4+Pjh9+rSejoAoDyolsGOMOvlRVFA/0oLJDxGRUTFoApSeng4vLy+sXr063zZdu3ZFYmKi9Nq8eXOB29yyZQumTJmCoKAgnD9/Hl5eXvD398e9e/d0HT5RbioVsHM8cGmbOvkZuBFo8n+GjoqIiF5i0CGwbt26oVu3gu+BYm5uDicnp0Jvc+nSpRg1ahTee+89AMDatWuxZ88erFu3DtOnTy9RvEQFUqmA3ZOAC5sBwQT4v3VAgx6GjoqIiPJg0B6gwoiIiEC1atXg4eGBsWPH4uHDh/m2zczMxLlz59C5c2dpnkKhQOfOnXHixIl818vIyEBKSorWi6jIDs0Dzm8EBAXQ/zugYW9DR0RERPkw6gSoa9eu2LhxI8LDw7Fw4UIcOXIE3bp1g1KpzLP9gwcPoFQq4ejoqDXf0dERSUlJ+e4nJCQEtra20svFhc9joiI6/R3w1zL1971WAY37GzYeIiIqkFFfBTZ48GDp+yZNmqBp06aoV68eIiIi0KlTJ53tZ8aMGZgyZYo0nZKSwiSICu/vverL3QGg40yg2TuGjYeIiF7JqHuAXla3bl3Y29vj2rVreS63t7eHiYkJ7t69qzX/7t27BdYRmZubw8bGRutFVCiJF4Cf31ff4bn5UOD1jw0dERERFUKZSoBu3bqFhw8fonr16nkuNzMzQ4sWLRAeHi7NU6lUCA8Ph6+vb2mFSXLx5D9gy7vA86dA/c5Aj2W8ySERURlh0AQoLS0NUVFRiIqKAgDEx8cjKioKCQkJSEtLw8cff4yTJ0/i+vXrCA8PR+/evVG/fn34+/tL2+jUqRO++uoraXrKlCn47rvvsGHDBkRHR2Ps2LFIT0+Xrgoj0gmVCvh1NPD4BlDZVX2vHxOjHlEmIqIcDPqJffbsWXTs2FGa1tThDBs2DGvWrMHFixexYcMGPH78GM7OznjzzTcxf/58mJubS+vExcXhwYMH0vSgQYNw//59zJkzB0lJSfD29sa+fftyFUYTlcjRRcC1A0AFC2DQj4BlZUNHRERERWDQBMjPzw+iKOa7fP/+/a/cxvXr13PNCwwMRGBgYElCI8pf/FEg4gv1928tB5yaGDQcIiIqujJVA0RkcM9SgB3jAYhA82GA9xBDR0RERMXABIioKP6YBSQnAHa1Af8Fho6GiIiKiQkQUWHFHgTOb1B/3+drwLySYeMhIqJiYwJEVBjPkoFdE9Tf+4wFXNsZNh4iIioRJkBEhXH0SyD1DlClHtBpjqGjISKiEmICRPQqj64Dp9aqv+/6BWBW0aDhEBFRyTEBInqVg8GAMhOo6we4dTF0NEREpANMgIgKcvM0cGU7AAF48zM+6oKIqJxgAkSUH1EE9n+q/r7ZO7zhIRFROcIEiCg/sX8At84AplbAG7MMHQ0REekQEyCi/GgKn1u+B1g7GTYWIiLSKSZARHm5/w8QdwiAALQeZehoiIhIx5gAEeXl9Lfqrx7dgcquBg2FiIh0jwkQ0cueJQNRm9Tf+4w2bCxERKQXTICIXhb5E5CVDjg0AOp0MHQ0RESkB0yAiHJSqV4Mf7Uezfv+EBGVU0yAiHJKOA48igfMbQGvwYaOhoiI9IQJEFFO8X+qv7p1AcysDBsLERHpDRMgopxuHFN/dW1r2DiIiEivmAARaTzPUN/5GQBqMwEiIirPmAARadw+Dzx/BlS0B+zdDR0NERHpERMgIg3N8FftNrz6i4ionGMCRKQh1f+0M2wcRESkd0yAiABA+RxIOKX+vnYbw8ZCRER6xwSICAASL6jv/mxhC1RrZOhoiIhIz5gAEQEvhr9qtQEU/LUgIirv+ElPBPD+P0REMsMEiEilBG6cUH/P+h8iIllgAkR0LxrISAbMKgFOXoaOhoiISgETIKK0u+qvlV0BkwoGDYWIiEoHEyAiUaX+qjAxbBxERFRqmAARqZTqrwITICIiuWACRCRmJ0DsASIikg0mQETsASIikh0mQESq5+qv7AEiIpINgyZAR48eRc+ePeHs7AxBELBjxw5pWVZWFj755BM0adIEVlZWcHZ2xtChQ3Hnzp0CtxkcHAxBELReDRo00PORUJnGImgiItkxaAKUnp4OLy8vrF69OteyJ0+e4Pz585g9ezbOnz+PX3/9FTExMejVq9crt9uoUSMkJiZKr7/++ksf4VN5wSEwIiLZMehNT7p164Zu3brluczW1hYHDhzQmvfVV1+hdevWSEhIQK1atfLdboUKFeDk5KTTWKkcYxE0EZHslKkaoOTkZAiCADs7uwLbxcbGwtnZGXXr1kVAQAASEhIKbJ+RkYGUlBStF8kIe4CIiGSnzCRAz549wyeffIIhQ4bAxsYm33Y+Pj4IDQ3Fvn37sGbNGsTHx6N9+/ZITU3Nd52QkBDY2tpKLxcXF30cAhkrFkETEclOmUiAsrKyMHDgQIiiiDVr1hTYtlu3bhgwYACaNm0Kf39/7N27F48fP8bWrVvzXWfGjBlITk6WXjdv3tT1IZAx4xAYEZHsGP2DjzTJz40bN3Do0KECe3/yYmdnB3d3d1y7di3fNubm5jA3Ny9pqFRWqbKvAuMQGBGRbBh1D5Am+YmNjcXBgwdRtWrVIm8jLS0NcXFxqF69uh4ipHKBPUBERLJj0AQoLS0NUVFRiIqKAgDEx8cjKioKCQkJyMrKwv/93//h7Nmz+Omnn6BUKpGUlISkpCRkZmZK2+jUqRO++uoraXrq1Kk4cuQIrl+/juPHj6Nv374wMTHBkCFDSvvwqKxgETQRkewYdAjs7Nmz6NixozQ9ZcoUAMCwYcMQHByMXbt2AQC8vb211jt8+DD8/PwAAHFxcXjw4IG07NatWxgyZAgePnwIBwcHtGvXDidPnoSDg4N+D4bKLhZBExHJjkETID8/P4iimO/ygpZpXL9+XWs6LCyspGGR3HAIjIhIdoy6BoioVLAImohIdpgAEbEHiIhIdpgAEbEImohIdpgAEbEImohIdoqUAG3YsAG+vr44c+YMAKB79+56CYqoVElDYEZ/X1AiItKRIiVAixYtwpdffokZM2bg6tWrePTokb7iIio90hAYO0SJiOSiSH/yOjo6om3btti0aRPefvttpKen6ysuotIjZl8FxiEwIiLZKNKfvObm5lCpVKhWrRo+++wz/P333/qKi6j0sAiaiEh2ipQA/fzzz1Ao1Ku89tpruH37tl6CIipVLIImIpKdIg2BWVlZaU07ODggLS0NKs2N5LIV9YntRAbFImgiItkpVtVnfHw8evToASsrK9ja2qJy5cqoXLky7OzsULlyZV3HSKRfLIImIpKdYv3J+84770AURaxbtw6Ojo4QBEHXcRGVHhZBk8wplUpkZWUZOgyiVzI1NYWJiW4+q4uVAF24cAHnzp2Dh4eHToIgMigWQZNMiaKIpKQkPH782NChEBWanZ0dnJycStz5UqwEqFWrVrh58yYTICofWARNMqVJfqpVq4aKFSuyN5+MmiiKePLkCe7duwcAqF69eom2V6wE6H//+x/GjBmD27dvo3HjxjA1NdVa3rRp0xIFRVSqWARNMqRUKqXkp2rVqoYOh6hQLC0tAQD37t1DtWrVSjQcVqxP/Pv37yMuLg7vvfeeNE8QBIiiCEEQoFQqix0QUaljETTJkKbmp2LFigaOhKhoNP9ns7KySj8Bev/999GsWTNs3ryZRdBU9rEImmSMn99U1ujq/2yxEqAbN25g165dqF+/vk6CIDIoFkETEclOsfr833jjDVy4cEHXsRAZBougicq969evQxAEREVFGTqUPAUHB8Pb29vQYZSIIAjYsWOHocMotGL1APXs2RMffvghLl26hCZNmuQqgu7Vq5dOgiMqFSyCJqJSJAgCtm/fjj59+kjzpk6digkTJhguqCIIDg7Gjh07jDaZLKxifeKPGTMGADBv3rxcy1gETWUOh8CIqIQyMzNhZmZW7PUrVaqESpUq6TAiepViDYGpVKp8X0x+qMyRiqB5FRhRWbBv3z60a9cOdnZ2qFq1Kt566y3ExcVptTl9+jSaNWsGCwsLtGzZEpGRkVrLHz16hICAADg4OMDS0hJubm5Yv369tPzSpUt44403YGlpiapVq2L06NFIS0uTlg8fPhx9+vTB559/DmdnZ+m+eK6urpg/fz6GDBkCKysr1KhRA6tXr5bWc3V1BQD07dsXgiBI0y8PgalUKsybNw81a9aEubk5vL29sW/fPmm5Zkjv119/RceOHVGxYkV4eXnhxIkTBf7sBEHAmjVr0K1bN1haWqJu3br4+eeftdp88skncHd3R8WKFVG3bl3Mnj1bumowNDQUc+fOxYULFyAIAgRBQGhoqLTugwcP0LdvX1SsWBFubm7YtWtXgfEYUpE+8YcOHYpffvkF6enp+oqHqPSxB4gIQPaN5jKfG+QlimKh40xPT8eUKVNw9uxZhIeHQ6FQoG/fvtKDudPS0vDWW2+hYcOGOHfuHIKDgzF16lStbcyePRtXr17F77//jujoaKxZswb29vbS9v39/VG5cmWcOXMG27Ztw8GDBxEYGKi1jfDwcMTExODAgQPYvXu3NH/x4sXw8vJCZGQkpk+fjkmTJuHAgQMAgDNnzgAA1q9fj8TERGn6ZStWrMCSJUvw5Zdf4uLFi/D390evXr0QGxur1W7mzJmYOnUqoqKi4O7ujiFDhuD58+cF/vxmz56N/v3748KFCwgICMDgwYMRHR0tLbe2tkZoaCiuXr2KFStW4LvvvsOyZcsAAIMGDcJHH32ERo0aITExEYmJiRg0aJC07ty5czFw4EBcvHgR3bt3R0BAAP77778C4zGUIg2B1a9fHwsWLMA777wDPz8/9OrVC7169UKNGjX0FR+R/rEImggA8DRLiYZz9htk31fn+aOiWeFOSf3799eaXrduHRwcHHD16lU0btwYmzZtgkqlwvfffw8LCws0atQIt27dwtixY6V1EhIS0KxZM7Rs2RLAi54ZANi0aROePXuGjRs3wsrKCgDw1VdfoWfPnli4cCEcHR0BAFZWVvjf//6Xa+irbdu2mD59OgDA3d0dx44dw7Jly9ClSxc4ODgAePE4h/x8+eWX+OSTTzB48GAAwMKFC3H48GEsX75cq0dp6tSp6NGjBwB18tGoUSNcu3YNDRo0yHfbAwYMwMiRIwEA8+fPx4EDB7Bq1Sp8/fXXAIBZs2ZJbV1dXTF16lSEhYVh2rRpsLS0RKVKlVChQoU84x8+fDiGDBkCAFiwYAFWrlyJ06dPo2vXrvnGYyhF6gGaM2cOzp07h9jYWPTs2RM7duxAvXr10KJFC8ybN6/MF0SRTLEImqhMiY2NxZAhQ1C3bl3Y2NhIyUtCQgIAIDo6Gk2bNoWFhYW0jq+vr9Y2xo4di7CwMHh7e2PatGk4fvy4tCw6OhpeXl5S8gOokxqVSoWYmBhpXpMmTfKs+3l5X76+vlo9LK+SkpKCO3fuoG3btlrz27Ztm2s7OZ+8oHk0hOZREfl5VXxbtmxB27Zt4eTkhEqVKmHWrFnSz/ZVcsZjZWUFGxubV8ZjKMX6xK9ZsybGjRuHcePGITU1Fb///jt27tyJN954A9bW1ujZsyfGjh2LRo0a6TpeIt3jEBgRAMDS1ARX5/kbbN+F1bNnT9SuXRvfffcdnJ2doVKp0LhxY2RmZhZ6G926dcONGzewd+9eHDhwAJ06dcL48ePx5ZdfFnobORMkQ8l5FbbmBoGaocDiOHHiBAICAjB37lz4+/vD1tYWYWFhWLJkSZHj0cRUknj0qcRVn9bW1hg4cCB++ukn3L9/H+vWrYOJickrC7GIjIbUA8QiaJI3QRBQ0ayCQV6Fvbvvw4cPERMTg1mzZqFTp07w9PTEo0ePtNp4enri4sWLePbsmTTv5MmTubbl4OCAYcOG4ccff8Ty5cvx7bffSutfuHBBq9712LFjUCgUhXoI+Mv7OnnyJDw9PaVpU1PTAi8YsrGxgbOzM44dO6Y1/9ixY2jYsOEr91+S+I4fP47atWtj5syZaNmyJdzc3HDjxg2t9mZmZuXigied9vmbmJigU6dO6NSpky43S6Rfmr9O2ANEZPQqV66MqlWr4ttvv0X16tWRkJAg1dtovP3225g5cyZGjRqFGTNm4Pr167l6dubMmYMWLVqgUaNGyMjIwO7du6UkICAgAEFBQRg2bBiCg4Nx//59TJgwAe+++65U/1OQY8eOYdGiRejTpw8OHDiAbdu2Yc+ePdJyV1dXhIeHo23btjA3N0flypVzbePjjz9GUFAQ6tWrB29vb6xfvx5RUVH46aefivNj07Jt2za0bNkS7dq1w08//YTTp0/j+++/BwC4ubkhISEBYWFhaNWqFfbs2YPt27drre/q6or4+HhERUWhZs2asLa2hrm5eYnjKm2FToCaNWtW6Az9/PnzxQ6IqNSxCJqozFAoFAgLC8PEiRPRuHFjeHh4YOXKlfDz85PaVKpUCb/99hvGjBmDZs2aoWHDhli4cKFW8bSZmZmUHFlaWqJ9+/YICwsDoH7Y5v79+zFp0iS0atUKFStWRP/+/bF06dJCxfjRRx/h7NmzmDt3LmxsbLB06VL4+78YWlyyZAmmTJmC7777DjVq1MD169dzbWPixIlITk7GRx99hHv37qFhw4bYtWsX3NzciveDy2Hu3LkICwvDuHHjUL16dWzevFnqWerVqxc+/PBDBAYGIiMjAz169MDs2bMRHBwsrd+/f3/p8vvHjx9j/fr1GD58eInjKm2CWMhrD+fOnVvojQYFBRU7IGOQkpICW1tbJCcnw8bGxtDhkL6tagE8vAa89ztQu42hoyEd2fbPNsw7MQ8dXTpi5RsrDR2O0Xn27Bni4+NRp04drWJhKhlXV1dMnjwZkydPNnQoecrrLtRlTUH/d4ty/i50D1BZT2qI8sUiaCIi2SlRDdC5c+ekS+caNWqEZs2a6SQoolIlFUEzASIikotiJUD37t3D4MGDERERATs7OwDA48eP0bFjR4SFhUk3eiIqE6QiaF4FRkQlk1c9jzEpyh23y7tifeJPmDABqampuHLlCv777z/8999/uHz5MlJSUjBx4kRdx0ikXyyCJiKSnWL1AO3btw8HDx7Uuq9Bw4YNsXr1arz55ps6C46oVPBO0EREslPsp8G/fLdHQH1zJ2O94yNRvlgETUQkO8VKgN544w1MmjQJd+7ckebdvn0bH374YZFugnj06FH07NkTzs7OEAQBO3bs0FouiiLmzJmD6tWrw9LSEp07d871JNy8rF69Gq6urrCwsICPjw9Onz5d6JhIhlgETUQkO8VKgL766iukpKTA1dUV9erVQ7169VCnTh2kpKRg1apVhd5Oeno6vLy8tJ5sm9OiRYuwcuVKrF27FqdOnYKVlRX8/f21bm/+si1btmDKlCkICgrC+fPn4eXlBX9/f6N9GBsZARZBExHJTrGKHlxcXHD+/HkcPHgQf//9NwD1s1M6d+5cpO1069YN3bp1y3OZKIpYvnw5Zs2ahd69ewMANm7cCEdHR+zYsQODBw/Oc72lS5di1KhReO+99wAAa9euxZ49e7Bu3bpct0vXyMjIQEZGhjSdkpJSpOOgMo5F0EREslPsP3kFQUCXLl0wYcIETJgwocjJz6vEx8cjKSlJa7u2trbw8fHJ90GrmZmZOHfunNY6CoUCnTt3LvDhrCEhIbC1tZVeLi4uujsQMn4sgiYq8/z8/Iz27suFMXz48DJ9d+br169DEARERUUZOpRCK/Yn/pkzZ3D48GHcu3cvV+FzYZ+XUpCkpCQAyPXgOUdHR2nZyx48eAClUpnnOpqeqrzMmDEDU6ZMkaZTUlKYBMkJi6CJqJRcv34dderUQWRkJLy9vaX5K1asKDP36Bk+fDgeP36cq263rClWArRgwQLMmjULHh4ecHR01HpIamEfmGpMzM3Ny+STbElHWARNRCWUmZkJMzOzYq9va2urw2ioMIo1BLZixQqsW7cO0dHRiIiIwOHDh6XXoUOHdBKYk5MTAODu3bta8+/evSste5m9vT1MTEyKtA7JXM7eS/YAEZUJ6enpGDp0KCpVqoTq1atjyZIludpkZGRg6tSpqFGjBqysrODj44OIiAhp+Y0bN9CzZ09UrlwZVlZWaNSoEfbu3SstP3LkCFq3bg1zc3NUr14d06dPx/Pnz6Xlfn5+CAwMxOTJk2Fvby897V0QBKxZswbdunWDpaUl6tati59//llar06dOgCAZs2aQRAE6Sn2Lw+BZWRkYOLEiahWrRosLCzQrl07nDlzRloeEREBQRAQHh6Oli1bomLFimjTpg1iYmLy/blphqnCwsLQpk0bWFhYoHHjxjhy5IjURqlUYsSIEahTpw4sLS3h4eGBFStWSMuDg4OxYcMG7Ny5E4IgQBAErZ/rv//+i44dO6JixYrw8vIqsPzE0IqVACkUCrRt21bXsWipU6cOnJycEB4eLs1LSUnBqVOn4Ovrm+c6ZmZmaNGihdY6KpUK4eHh+a5DMqd68YEGBa8CI5kTRSAz3TCvIgz/fPzxxzhy5Ah27tyJP/74AxERETh//rxWm8DAQJw4cQJhYWG4ePEiBgwYgK5du0q3Uhk/fjwyMjJw9OhRXLp0CQsXLkSlSpUAqG/r0r17d7Rq1QoXLlzAmjVr8P333+Ozzz7T2seGDRtgZmaGY8eOYe3atdL82bNno3///rhw4QICAgIwePBg6bmZmtuyHDx4EImJifj111/zPMZp06bhl19+wYYNG3D+/HnUr18f/v7++O+//7TazZw5E0uWLMHZs2dRoUIFvP/++4X6+X300UeIjIyEr68vevbsiYcPHwJQnzNr1qyJbdu24erVq5gzZw4+/fRTbN26FQAwdepUDBw4EF27dkViYiISExPRpk0brXimTp2KqKgouLu7Y8iQIVqJo1ERi2HhwoXipEmTirOqltTUVDEyMlKMjIwUAYhLly4VIyMjxRs3boiiKIpffPGFaGdnJ+7cuVO8ePGi2Lt3b7FOnTri06dPpW288cYb4qpVq6TpsLAw0dzcXAwNDRWvXr0qjh49WrSzsxOTkpIKHVdycrIIQExOTi7xMZKRy3wiikE26tezFENHQzq0NWar2Di0sTghfIKhQzFKT58+Fa9evar1eSpmpL34fSjtV0ZaoeJOTU0VzczMxK1bt0rzHj58KFpaWkrnpRs3bogmJibi7du3tdbt1KmTOGPGDFEURbFJkyZicHBwnvv49NNPRQ8PD1GlUknzVq9eLVaqVElUKpWiKIpihw4dxGbNmuVaF4A4ZswYrXk+Pj7i2LFjRVEUxfj4eBGAGBkZqdVm2LBhYu/evUVRFMW0tDTR1NRU/Omnn6TlmZmZorOzs7ho0SJRFEXx8OHDIgDx4MGDUps9e/aIALTf0xw0+/7iiy+keVlZWWLNmjXFhQsX5rmOKIri+PHjxf79++cZ68vb/t///ifNu3LlighAjI6OznfbxZHn/91sRTl/F6sGaOrUqejRowfq1auHhg0b5rordH4Z7cvOnj2Ljh07StOaQuRhw4YhNDQU06ZNQ3p6OkaPHo3Hjx+jXbt22LdvHywsLKR14uLi8ODBA2l60KBBuH//PubMmYOkpCR4e3tj3759uQqjiQC8KIAGOARGVAbExcUhMzMTPj4+0rwqVarAw8NDmr506RKUSiXc3d211s3IyEDVqlUBABMnTsTYsWPxxx9/oHPnzujfvz+aNm0KAIiOjoavr69WTWvbtm2RlpaGW7duoVatWgCAFi1a5BnjyyMOvr6+Rbo6Ki4uDllZWVojLaampmjdurXUk6ShiRkAqlevDkD9wHJNjK+Kr0KFCmjZsqXWdlevXo1169YhISEBT58+RWZmplbBdkHyi6dBgwaFWr80FSsBmjhxIg4fPoyOHTuiatWqxS589vPzK7DqXRAEzJs3D/Pmzcu3TV5P3g0MDERgYGCxYiKZEXMkQCyCJrkzrQh8eufV7fS1bx1JS0uDiYkJzp07BxMT7d9rzTDXyJEj4e/vjz179uCPP/5ASEgIlixZggkTJhR6P1ZWVjqLubhydkBozsUleSRVWFgYpk6diiVLlsDX1xfW1tZYvHgxTp06ZZB49KlYCdCGDRvwyy+/oEePHrqOh6h0sQeI6AVBAMwMf1IvSL169WBqaopTp05JvRyPHj3CP//8gw4dOgBQFxgrlUrcu3cP7du3z3dbLi4uGDNmDMaMGYMZM2bgu+++w4QJE+Dp6YlffvkFoihKJ/Fjx47B2toaNWvWfGWMJ0+exNChQ7WmmzVrBgDSlWJKpTLPdTXHqKktql27NgAgKysLZ86c0cm9jk6ePInXX38dAPD8+XOcO3dO6jQ4duwY2rRpg3Hjxknt4+LitNY3MzMrMP6yolgJUJUqVVCvXj1dx0JU+lTsASIqSypVqoQRI0bg448/RtWqVVGtWjXMnDkTihwXMbi7uyMgIABDhw7FkiVL0KxZM9y/fx/h4eFo2rQpevTogcmTJ6Nbt25wd3fHo0ePcPjwYXh6egIAxo0bh+XLl2PChAkIDAxETEwMgoKCMGXKFK395Gfbtm1o2bIl2rVrh59++gmnT5/G999/DwCoVq0aLC0tsW/fPtSsWRMWFha5LoG3srLC2LFj8fHHH6NKlSqoVasWFi1ahCdPnmDEiBEl/hmuXr0abm5u8PT0xLJly/Do0SOpeNrNzQ0bN27E/v37UadOHfzwww84c+aMdPUaALi6umL//v2IiYlB1apVy+wl/MW67CU4OBhBQUF48uSJruMhKl2aITBBof7rl4iM3uLFi9G+fXv07NkTnTt3Rrt27XLV46xfvx5Dhw7FRx99BA8PD/Tp0wdnzpyReo2USiXGjx8PT09PdO3aFe7u7vj6668BADVq1MDevXtx+vRpeHl5YcyYMRgxYgRmzZpVqPjmzp2LsLAwNG3aFBs3bsTmzZvRsGFDAOqam5UrV+Kbb76Bs7Oz9Kinl33xxRfo378/3n33XTRv3hzXrl3D/v37Ubly5eL+2LS2/cUXX8DLywt//fUXdu3aBXt7ewDABx98gH79+mHQoEHw8fHBw4cPtXqDAGDUqFHw8PBAy5Yt4eDggGPHjpU4JkMQxIKKcPLRrFkzxMXFQRRFuLq65iqCfvlyxLImJSUFtra2SE5Oho2NjaHDIX1Kvg0sawgoTIE5D17dnsqMbf9sw7wT89DRpSNWvrHS0OEYnWfPniE+Ph516tTRurCESkYQBGzfvt0oH2uR312oy5qC/u8W5fxdrCEwY3xjiYqFd4EmIpKlYiVAQUFBuo6DyDD4HDAiIlni469J3lTsASIi3SlGVUmpcXV1Ner4Shvv/U/yxiEwIiJZYgJE8sYhMCIiWWICRPLGHiAiIlliAkTyxh4gIiJZKlICdP78ecTHx0vTP/zwA9q2bQsXFxe0a9cOYWFhOg+QSK9YBE1EJEtFSoDee+896Zkg//vf//DBBx+gZcuWmDlzJlq1aoVRo0Zh3bp1egmUSC84BEZEJEtFSoBiY2Ph5uYGAPj666+xYsUKrFixAmPGjMGyZcvwzTffYMmSJXoJlEgvOARGRPkYPny41o1//fz8tB5G6urqiuXLl0vTgiBgx44dRd5PaGgo7Ozsih2nsXr552NsinQfoIoVK+LBgweoXbs2bt++jdatW2st9/Hx0RoiIzJ67AEionysWLGiwPvmnDlzBlZWViXez6BBg9C9e/cSb8dQQkNDMXnyZDx+/NjQoRRJkXqAunXrhjVr1gAAOnTogJ9//llr+datW1G/fn3dRUekb+wBIqJ82NraFtgz4+DggIoVK5ZoH1lZWbC0tES1atVKtB0quiIlQAsXLkR4eDg6dOgAFxcXLFmyBO3bt8fo0aPRoUMHBAcH44svvtBXrES6p3qu/soeIKIyQ6VSISQkBHXq1IGlpSW8vLxy/UG+d+9euLu7w9LSEh07dkRoaCgEQZB6KYKDg3M9EHT58uVwdXWVpl8eAntZXkM8iYmJ6NatGywtLVG3bl2tuK5fvw5BELBlyxZ06NABFhYW+Omnn3INgeW138mTJ8PPz0+a9vPzw4QJEzB58mRUrlwZjo6O+O6775Ceno733nsP1tbWqF+/Pn7//fd849ccw/z58zFkyBBYWVmhRo0aWL16tVabpUuXokmTJrCysoKLiwvGjRuHtLQ0AEBERATee+89JCcnQxAECIKA4OBgad0nT57g/fffh7W1NWrVqoVvv/22wHhKU5ESIGdnZ0RGRsLX1xf79u2DKIo4ffo0/vjjD9SsWRPHjh0r0914JEOiSv2VCRARRFHEk6wnBnkV5RENISEh2LhxI9auXYsrV67gww8/xDvvvIMjR44AAG7evIl+/fqhZ8+eiIqKwsiRIzF9+nR9/di0zJ49G/3798eFCxcQEBCAwYMHIzo6WqvN9OnTMWnSJERHR8Pf37/Y+9qwYQPs7e1x+vRpTJgwAWPHjsWAAQPQpk0bnD9/Hm+++SbeffddPHnypMDtLF68GF5eXoiMjJRiO3DggLRcoVBg5cqVuHLlCjZs2IBDhw5h2rRpAIA2bdpg+fLlsLGxQWJiIhITEzF16lRp3SVLlqBly5aIjIzEuHHjMHbsWMTExBT7mHWpyM8Cs7OzwxdffMGeHiofOARGJHn6/Cl8NvkYZN+n3j6FiqavHk7KyMjAggULcPDgQfj6+gIA6tati7/++gvffPMNOnTogDVr1qBevXrSRTkeHh64dOkSFi5cqNdjAIABAwZg5MiRAID58+fjwIEDWLVqFb7++mupzeTJk9GvX78S78vLywuzZs0CAMyYMQNffPEF7O3tMWrUKADAnDlzsGbNGly8eBGvvfZavttp27atlCC6u7vj2LFjWLZsGbp06SLFq+Hq6orPPvsMY8aMwddffw0zMzPY2tpCEAQ4OTnl2nb37t0xbtw4AMAnn3yCZcuW4fDhw/Dw8Cjx8ZdUiW+EuHnzZqSnp+siFqLSxyJoojLl2rVrePLkCbp06YJKlSpJr40bN0q3aYmOjoaPj3Yip0mW9O3l/fj6+ubqAWrZsqVO9tW0aVPpexMTE1StWhVNmjSR5jk6OgIA7t27V+B2XhXzwYMH0alTJ9SoUQPW1tZ499138fDhw1f2LL0coyZJelU8paXET4P/4IMP4OPjg7p16+oiHqLSxR4gIollBUucevuUwfZdGJrakz179qBGjRpay8zNzQu9P4VCkWvYLSsrq9Drl8SrrhwrbGympqZa04IgaM0TBAGAumaquK5fv4633noLY8eOxeeff44qVargr7/+wogRI5CZmfnKIvC8YixJPLpU4gSoKOO2REaHRdBEEkEQCjUMZUgNGzaEubk5EhIS0KFDhzzbeHp6YteuXVrzTp48qTXt4OCApKQkiKIoJQpRUVElju/kyZMYOnSo1nSzZs2KtA0HBwdcvnxZa15UVFSuZEJXXv7ZnDx5Ep6engCAc+fOQaVSYcmSJVAo1INGW7du1WpvZmYGpVKpl9j0ic8CI3ljETRRmWJtbY2pU6fiww8/xIYNGxAXF4fz589j1apV2LBhAwBgzJgxiI2Nxccff4yYmBhs2rQJoaGhWtvx8/PD/fv3sWjRIsTFxWH16tWvvGKqMLZt24Z169bhn3/+QVBQEE6fPo3AwMAibeONN97A2bNnsXHjRsTGxiIoKChXQqRLx44dw6JFi/DPP/9g9erV2LZtGyZNmgQAqF+/PrKysrBq1Sr8+++/+OGHH7B27Vqt9V1dXZGWlobw8HA8ePCgUENjxqDECdDvv/+eqxuSqMzgEBhRmTN//nzMnj0bISEh8PT0RNeuXbFnzx7UqVMHAFCrVi388ssv2LFjB7y8vLB27VosWLBAaxuenp74+uuvsXr1anh5eeH06dNaVy8V19y5cxEWFoamTZti48aN2Lx5Mxo2bFikbfj7+2P27NmYNm0aWrVqhdTUVK1eJV376KOPcPbsWTRr1gyfffYZli5dKl2d5uXlhaVLl2LhwoVo3LgxfvrpJ4SEhGit36ZNG4wZMwaDBg2Cg4MDFi1apLdYdUkQizmG9fz5c0RERCAuLg5vv/02rK2tcefOHdjY2KBSpUq6jrNUpaSkwNbWFsnJybCxsTF0OKRPUZuAHWOB+p2Bd34xdDSkQ9v+2YZ5J+aho0tHrHxjpaHDMTrPnj1DfHw86tSpAwsLC0OHo3cRERHo2LEjHj16VC4fO1Fcrq6umDx5staVXsauoP+7RTl/F6sG6MaNG+jatSsSEhKQkZGBLl26wNraGgsXLkRGRkau7jEio8UeICIiWSrWENikSZPQsmVLPHr0CJaWLyr3+/bti/DwcJ0FR6R3LIImIpKlYvUA/fnnnzh+/DjMzMy05ru6uuL27ds6CYyoVPA+QESy4Ofnx6uW83D9+nVDh2AwxeoBUqlUeV7yduvWLVhbW5c4KKJSo7kfBYfAiIhkpVgJ0Jtvvqn1ADhBEJCWloagoCA+C4zKFvYAERHJUrGGwJYsWQJ/f380bNgQz549w9tvv43Y2FjY29tj8+bNuo6RSH9YBE1EJEvFSoBq1qyJCxcuYMuWLbhw4QLS0tIwYsQIBAQEaBVFExk9FkETEclSsR+FUaFCBQQEBCAgIECX8RCVLg6BERHJkk4fhfHo0SNs3LhRl5sk0i8WQRMRyZJOE6CEhAS89957utwkkX6xB4ioXHJ1ddW6WEdOQkNDte52HRwcDG9vb2l6+PDh6NOnjzTt5+dXrDtBX79+HYIg6OQhsoZQpAQoJSWlwFdqaqrOA3R1dYUgCLle48ePz7N9aGhorrZyuM07FROLoImKLTg4GPPnz89z2fz58xEcHFy6AREAYNCgQfjnn3/yXb5ixYpcD4ctDhcXFyQmJqJx48Yl3pYhFKkGyM7ODoIg5LtcFMUClxfHmTNntO45dPnyZXTp0gUDBgzIdx0bGxvExMRI07qOicoRFkETFZuJiQnmzJkDAJg9e7Y0f/78+ZgzZw7mzZtnqNBkzdLSssALkmxtbUu8j8zMTJiZmcHJyanE2zKUIvUAWVtbIyQkBIcOHcrz9e233+o8QAcHBzg5OUmv3bt3o169eujQoUO+6wiCoLWOo6NjgfvIyMjI1ZtFMiENgRX7egAi2Zo9ezbmzZuHOXPmSD1BOZOfnEmRLvn5+SEwMBCBgYGwtbWFvb09Zs+enetOz0+ePMH7778Pa2tr1KpVK9c56pNPPoG7uzsqVqyIunXrYvbs2cjKypKWX7hwAR07doS1tTVsbGzQokULnD17Vlr+119/oX379rC0tISLiwsmTpyI9PT0AmPfuXMnmjdvDgsLC9StWxdz587F8+fPpeWxsbF4/fXXYWFhgYYNG+LAgQMQBAE7duwAoH6oqyAIePz4sbROVFQUBEGQ7ur88hDYy14eAgPUDzgv6Ofp6uqK+fPnY+jQobCxscHo0aNzDYHltd8dO3ZodUJohuPWrVuHWrVqoVKlShg3bhyUSiUWLVoEJycnVKtWDZ9//nmBP0ddKNKnfvPmzQEg3+TDzs5Or7caz8zMxI8//ogpU6YU2KuTlpaG2rVrQ6VSoXnz5liwYAEaNWqUb/uQkBDMnTtXHyGTsZOGwHRaDkckG5okZ86cOfjss8+QmZmp1+RHY8OGDRgxYgROnz6Ns2fPYvTo0ahVqxZGjRoltVmyZAnmz5+PTz/9FD///DPGjh2LDh06wMPDA4D6j/rQ0FA4Ozvj0qVLGDVqFKytrTFt2jQAQEBAAJo1a4Y1a9bAxMQEUVFRMDU1BQDExcWha9eu+Oyzz7Bu3Trcv39fSsrWr1+fZ8x//vknhg4dipUrV6J9+/aIi4vD6NGjAQBBQUFQqVTo168fHB0dcerUKSQnJ5faU9oL8/P88ssvMWfOHAQFBZVoX3Fxcfj999+xb98+xMXF4f/+7//w77//wt3dHUeOHMHx48fx/vvvo3PnzvDx8SnpoeVPLIJvv/1WXLFiRb7Lk5KSxODg4KJsski2bNkimpiYiLdv3863zfHjx8UNGzaIkZGRYkREhPjWW2+JNjY24s2bN/Nd59mzZ2JycrL0unnzpghATE5O1sdhkDH5fbooBtmI4oEgQ0dCOrY1ZqvYOLSxOCF8gqFDMUpPnz4Vr169Kj59+lQn2zMzMxMBiGZmZjrZXkE6dOggenp6iiqVSpr3ySefiJ6entJ07dq1xXfeeUeaVqlUYrVq1cQ1a9bku93FixeLLVq0kKatra3F0NDQPNuOGDFCHD16tNa8P//8U1QoFPn+TDt16iQuWLBAa94PP/wgVq9eXRRFUdy/f79YoUIFrXPc77//LgIQt2/fLoqiKB4+fFgEID569EhqExkZKQIQ4+PjRVEUxfXr14u2trbS8qCgINHLy0uaHjZsmNi7d29purA/zz59+mjFHh8fLwIQIyMj89yvKIri9u3bxZypRlBQkFixYkUxJSVFmufv7y+6urqKSqVSmufh4SGGhISIeSno/25ycnKhz99F6gHKmQnmxdHRscSZYUG+//57dOvWDc7Ozvm28fX1ha+vrzTdpk0beHp64ptvvsm3WM/c3Bzm5uY6j5fKABZBE5XY/PnzpZqQzMxMzJ8/X+89QK+99prWSICvry+WLFkCpVIJExP173PTpk2l5ZrSiHv37knztmzZgpUrVyIuLg5paWl4/vw5bGxspOVTpkzByJEj8cMPP6Bz584YMGAA6tWrB0A9PHbx4kX89NNPUntRFKFSqRAfHw9PT89cMV+4cAHHjh3TGt5RKpV49uwZnjx5gujoaLi4uGid43Kez/SpMD/Pli1b6mRfrq6uWs8NdXR0hImJCRQKhda8nO+VPpSZfv8bN27g4MGDGDlyZJHWMzU1RbNmzXDt2jU9RUZlGougiUokZ81PRkZGrpogQ9IMV2kIggBV9r2/Tpw4gYCAAHTv3h27d+9GZGQkZs6ciczMTKl9cHAwrly5gh49euDQoUNo2LAhtm/fDkBdavHBBx8gKipKel24cAGxsbFSkvSytLQ0zJ07V2udS5cuITY2ttBXK2uSBDFHuUnOuiV9srKyKnC5QqHIVQaTV2x5vS8FvVf6UmYqP9evX49q1aqhR48eRVpPqVTi0qVLfEgr5Y1F0ETFllfBc86aoJzTunbq1Cmt6ZMnT8LNzU3qrXiV48ePo3bt2pg5c6Y078aNG7naubu7w93dHR9++CGGDBmC9evXo2/fvmjevDmuXr2K+vXrFzrm5s2bIyYmJt91PD09cfPmTSQmJqJ69erSceXk4OAAAEhMTETlypUBQCf34Snpz1MTW2pqKtLT06VkyZjvEVQmeoBUKhXWr1+PYcOGoUIF7RPV0KFDMWPGDGl63rx5+OOPP/Dvv//i/PnzeOedd3Djxo0i9xyRTLAImqjYlEplngXPmqvDct7CRNcSEhIwZcoUxMTEYPPmzVi1ahUmTZpU6PXd3NyQkJCAsLAwxMXFYeXKlVLvDgA8ffoUgYGBiIiIwI0bN3Ds2DGcOXNGGtr65JNPcPz4cQQGBiIqKgqxsbHYuXMnAgMD893nnDlzsHHjRsydOxdXrlxBdHQ0wsLCMGvWLABA586d4e7ujmHDhuHChQv4888/tRI0AKhfvz5cXFwQHByM2NhY7NmzB0uWLCnKjy5PJf15AoCPjw8qVqyITz/9FHFxcdi0aZNO7jekL2Xiz96DBw8iISEB77//fq5lCQkJWuOGjx49wqhRo5CUlITKlSujRYsWOH78OBo2bFiaIVNZIWZ3sXIIjKjICrrRob5rgIYOHYqnT5+idevWMDExwaRJk6QrqgqjV69e+PDDDxEYGIiMjAz06NEDs2fPlo7JxMQEDx8+xNChQ3H37l3Y29ujX79+0hXDTZs2xZEjRzBz5ky0b98eoiiiXr16GDRoUL779Pf3x+7duzFv3jwsXLgQpqamaNCggfQHukKhwPbt2zFixAi0bt0arq6uWLlyJbp27Sptw9TUFJs3b8bYsWPRtGlTtGrVCp999lmB98YrjJL+PAGgSpUq+PHHH/Hxxx/ju+++Q6dOnRAcHFzk7ZQWQXx5wK4Ahw4dQocOHYrUJVYWpaSkwNbWFsnJyVoFcVQO/foBcDEM6DIfaDvR0NGQDm37ZxvmnZiHji4dsfKNlYYOx+g8e/YM8fHxqFOnTpm7W76fnx+8vb1l86gLQRCwffv2XPfukauC/u8W5fxdpH7/kSNHwsHBAW+//Ta2bNnCGwZS2cciaCIiWSpSAvTvv/8iIiICDRs2xJIlS+Do6IguXbpg1apVSEhI0FeMRPrDImgiIlkq8qd+06ZN0bRpU8yaNQt37tzBrl27sGvXLkybNg0eHh7o1asXevXqpbP7BRDpFYugicqciIgIQ4dQqopQqUJFUKJPfWdnZ4wZMwZ79+7FgwcPMHv2bFy/fh1du3bFggULdBUjkf6wCJqISJZ01u9vZWWF/v37o3///lAqlfjvv/90tWki/eGdoEnm2LtAZY2u/s/qpd/fxMREulkTkVFjETTJlObOu0+ePDFwJERFo/k/+/Ldo4uKlZ8kbyyCJpkyMTGBnZ2d9LylihUraj0LisjYiKKIJ0+e4N69e7CzsyvxLXn4qU/yxiEwkjEnJycA0PtDJ4l0yc7OTvq/WxJMgEjepCJoXgVG8iMIAqpXr45q1aqV2gM1iUrC1NRUZzdjZgJE8sYeICKYmJiU+zv8E72sSAmQQqF45RixIAh4/vx5iYIiKjUsgiYikqUiJUA5n5T7shMnTmDlypVQqVQlDoqo1LAImohIlor0qd+7d+9c82JiYjB9+nT89ttvCAgIwLx583QWHJHecQiMiEiWil35eefOHYwaNQpNmjTB8+fPERUVhQ0bNqB27dq6jI9Iv6QeIBZBExHJSZE/9ZOTk/HJJ5+gfv36uHLlCsLDw/Hbb7+hcePG+oiPSL80Q7bsASIikpUiDYEtWrQICxcuhJOTEzZv3pznkBhRmcIiaCIiWSpSAjR9+nRYWlqifv362LBhAzZs2JBnu19//VUnwRHpHYugiYhkqUif+kOHDuWt0ql8YRE0EZEsFSkBCg0N1VMYRAYi9QAxASIikhNe+kLyJhVB81eBiEhO+KlP8sYiaCIiWWICRPLGImgiIlliAkTyxiJoIiJZYgJE8sYiaCIiWWICRPLGImgiIlnipz7JG4ugiYhkiQkQyRuLoImIZIkJEMkbi6CJiGSJCRDJG4ugiYhkiQkQyZemABpgDxARkcwwASL50hRAA+wBIiKSGSZAJF+a4S+ACRARkcwwASL5UuVIgDgERkQkK0yASL7YA0REJFtMgEi+2ANERCRbRp0ABQcHQxAErVeDBg0KXGfbtm1o0KABLCws0KRJE+zdu7eUoqUyR8UeICIiuTLqBAgAGjVqhMTEROn1119/5dv2+PHjGDJkCEaMGIHIyEj06dMHffr0weXLl0sxYiozNENgggIQBMPGQkREpcroE6AKFSrAyclJetnb2+fbdsWKFejatSs+/vhjeHp6Yv78+WjevDm++uqrUoyYygzeBZqISLaMPgGKjY2Fs7Mz6tati4CAACQkJOTb9sSJE+jcubPWPH9/f5w4caLAfWRkZCAlJUXrRTLAu0ATEcmWUSdAPj4+CA0Nxb59+7BmzRrEx8ejffv2SE1NzbN9UlISHB0dteY5OjoiKSmpwP2EhITA1tZWerm4uOjsGMiIsQeIiEi2jDoB6tatGwYMGICmTZvC398fe/fuxePHj7F161ad7mfGjBlITk6WXjdv3tTp9slIqfgkeCIiuSpTn/x2dnZwd3fHtWvX8lzu5OSEu3fvas27e/cunJycCtyuubk5zM3NdRYnlRHSEJhR/x1ARER6UKY++dPS0hAXF4fq1avnudzX1xfh4eFa8w4cOABfX9/SCI/KGg6BERHJllEnQFOnTsWRI0dw/fp1HD9+HH379oWJiQmGDBkCABg6dChmzJghtZ80aRL27duHJUuW4O+//0ZwcDDOnj2LwMBAQx0CGTMWQRMRyZZRD4HdunULQ4YMwcOHD+Hg4IB27drh5MmTcHBwAAAkJCRAkWP4ok2bNti0aRNmzZqFTz/9FG5ubtixYwcaN25sqEMgY8YeICIi2TLqBCgsLKzA5REREbnmDRgwAAMGDNBTRFSusAiaiEi2jHoIjEivWARNRCRb/OQn+eIQGBGRbDEBIvliETQRkWwxASL5Yg8QEZFsMQEi+VI9V39lETQRkewwASL5ElXqryyCJiKSHX7yk3xxCIyISLaYAJF8sQiaiEi2mACRfGlqgNgDREQkO0yASL54J2giItliAkTyxSJoIiLZ4ic/yReLoImIZIsJEMkXi6CJiGSLCRDJF4ugiYhkiwkQyReLoImIZIsJEMmXNATGXwMiIrnhJz/Jlyr7KjAOgRERyQ4TIJIvFkETEckWEyCSLxZBExHJFhMgki8WQRMRyRYTIJIvFkETEckWP/lJvlgETUQkW0yASL5YBE1EJFtMgEi+WARNRCRbTIBIvlgETUQkW0yASL44BEZEJFtMgEi+ND1AAn8NiIjkhp/8JF9i9lVg7AEiIpIdJkAkXyyCJiKSLSZAJF8sgiYiki0mQCRfLIImIpItJkAkXyyCJiKSLX7yk3yxCJqISLaYAJF8sQiaiEi2mACRfLEImohItow6AQoJCUGrVq1gbW2NatWqoU+fPoiJiSlwndDQUAiCoPWysLAopYipTGERNBGRbBl1AnTkyBGMHz8eJ0+exIEDB5CVlYU333wT6enpBa5nY2ODxMRE6XXjxo1SipjKFBZBExHJllH3/e/bt09rOjQ0FNWqVcO5c+fw+uuv57ueIAhwcnLSd3hU1rEImohItsrUn77JyckAgCpVqhTYLi0tDbVr14aLiwt69+6NK1euFNg+IyMDKSkpWi+SARZBExHJVplJgFQqFSZPnoy2bduicePG+bbz8PDAunXrsHPnTvz4449QqVRo06YNbt26le86ISEhsLW1lV4uLi76OAQyNiyCJiKSrTKTAI0fPx6XL19GWFhYge18fX0xdOhQeHt7o0OHDvj111/h4OCAb775Jt91ZsyYgeTkZOl18+ZNXYdPxohF0EREslUm/vQNDAzE7t27cfToUdSsWbNI65qamqJZs2a4du1avm3Mzc1hbm5e0jCprJGKoJkAERHJjVH3AImiiMDAQGzfvh2HDh1CnTp1irwNpVKJS5cuoXr16nqIkMo0qQjaqH8NiIhID4y6B2j8+PHYtGkTdu7cCWtrayQlJQEAbG1tYWlpCQAYOnQoatSogZCQEADAvHnz8Nprr6F+/fp4/PgxFi9ejBs3bmDkyJEGOw4yUiyCJiKSLaNOgNasWQMA8PPz05q/fv16DB8+HACQkJAARY6/4B89eoRRo0YhKSkJlStXRosWLXD8+HE0bNiwtMKmsoJF0EREsmXUn/yiKL6yTUREhNb0smXLsGzZMj1FROUKi6CJiGSLxQ8kXyyCJiKSLSZAJF9SDxB/DYiI5Iaf/CRf7AEiIpItJkAkXyyCJiKSLSZAJF8sgiYiki0mQCRfHAIjIpItJkAkX+wBIiKSLSZAJF9SDxB/DYiI5Iaf/CRfLIImIpItJkAkXxwCIyKSLSZAJF8sgiYiki0mQCRf7AEiIpItJkAkXyyCJiKSLX7yk3yxCJqISLaYAJF8cQiMiEi2mACRfLEImohItpgAkTyJInuAiIhkjAkQyZOoevE9e4CIiGSHCRDJk2b4C2APEBGRDDEBInkSmQAREckZEyCSp5w9QBwCIyKSHSZAJE/sASIikjUmQCRP7AEiIpI1JkAkTyyCJiKSNSZAJE9ijueACYJhYyEiolLHBIjkiXeBJiKSNSZAJE+8CzQRkawxASJ5Uj1Xf2UPEBGRLDEBInlSZT8KQ1HBsHEQEZFBMAEieZKGwPgrQEQkR/z0J3liETQRkawxASJ5YhE0EZGsMQEieWIRNBGRrDEBInliETTp2bID/2BleGyey1aGx2LZgX9KOSJ54vtA+WECREZrxvo+mLm+X57LZq7vhxnr+xR/4+W4CPrdX+Zj+PbP81w2fPvnePeX+aUckTZ9xzdw+UAMXjE4z2WDVwzGwOUDS7T9wjJRCFiax8l3ZXgslh74ByYK3oG8NPB9oPyUv0//ck6vSYGRUUCBXYrYXMc7c30/7FLEQlGS/77luAjaRKHAuZSwXEnG8O2f41xKGEwMnPTpOz6FoMAVuytY88sarfmDVwzGFbsrUAilc/wTO7lhShd3rZOv5qQ7pYs7JnZyK5U45I7vA+VHEEVRNHQQr7J69WosXrwYSUlJ8PLywqpVq9C6det822/btg2zZ8/G9evX4ebmhoULF6J79+6F3l9KSgpsbW2RnJwMGxsbXRyCzmhO/r1Ubvj8vV9fOb+se/m4dHac1/8CQnsA9u5A4BndBaxnKpUKz1UqqEQVlCoRKqigVKkgiiKeq1RQikqoRBFT9q/ElSe/oKFlPyzoNBYzDq5B9LNf0cCiL2Z3eB8qEVCqlBBFEUqVCKWohAgRSpUKKlGESlR/VYrqbStFFVSqF/NU0kuESqWECurtqUR1TC/aKiEC6q8qUVpvd+yfeKA4DHtlR3Su54MDcSfx0CQCVZ53QIc6LSCKKmnfmnVEiDli00yr24iiCqoc02fO7ILKLR1p0Wlo3PwNPLr6AMl1/oVtfF38X7vFEEVkbxvZ24E0TwSgUmV/FcWC24rZbfJsq54Xm5SKf+6lQRDU69VzsEIde6vs7bxoq7W9HNuV2ryiLbL3p8oRW8645C75aRaSn2ZJ07aWprC1NDVgRPTOa7Uw+vV6Ot1mUc7fRp8AbdmyBUOHDsXatWvh4+OD5cuXY9u2bYiJiUG1atVytT9+/Dhef/11hISE4K233sKmTZuwcOFCnD9/Ho0bNy7UPvWVAN15kIB7DxOgUmafKFTP1ScGUQWVqISo0pzMlFCqRIiiMvvDXn3yUIrPIYoiDl/ZjIMVk9Ap3RFtPfrgWMx2hFvdwxvp1eBTr3v2h+DzFyeGHCcSMfvkJOY8gUAFUaUCkPPk8uLEov4gVWZ/IL+Yj+wTEtRbzT55iNK2Rc0yzXrZ8zT/kH2yBLI/3NUf7VrtABHPnz7BMds0mIoisgQBbZKtIFqYSW2zt4AXa4hac17Me9FWIT5HRTENTwVLxJp5vGglApAiUR8jcm5FFAEB0vFrLYPmV0ml9T0EaLXL8yUg7+WCZjsiBOn7wnmeXgcVrOIhqkwgKJTStLHQd3xp0Wmo5FkJqiwVFKYKJJ91gsJqss62T0QlM86vHqZ1baDTbZarBMjHxwetWrXCV199BUD9F7CLiwsmTJiA6dOn52o/aNAgpKenY/fu3dK81157Dd7e3li7dm2e+8jIyEBGRoY0nZKSAhcXF50nQHM2DMB2/K2TbTVPscR5m6dSUqCZLq80x6n5SoWjSS5ElQkgqKDOxgRA1PwMBWhGwgVReLEcwIsRcvU8QVpP8WI65zLpa/b2XmonCJo2CmneEyFOis8aDaT2mu0IgmZKkWP97H+CIseUpq32Ojee7YfCVAFVlgq9qmzOXgYoBAEKAeppITsqARAE9TJkf83ZFpp1crTVrJ+zrWa+ui1wNPY+Dv19HyYKAUqViM6e1dCloWP2MeRoq9l3ju1I+8aLeLX2/VJb7WN50RbZ+5KzrWdvIuz0TVRQCHiuEjG4tQsGtnQxdFiy5mhjgRp2ljrdZlESIKO+BCYzMxPnzp3DjBkzpHkKhQKdO3fGiRMn8lznxIkTmDJlitY8f39/7NixI9/9hISEYO7cuTqJuSAmQgWYK8Xsj3Z13qkQX5xypFeOeZpTkCI7TdWcWu5aPoGpCCkpeGDxBK6ZQvbS7Hai8NK2X0yrt6Vpnz0/u73m1IWXTmsvT784EWV/aIsvvhe0/gEQFDm2mXM9zelQkE5cALLrNNTTj9Ie4E/bVCn5aZ9iA0cb5+z41SdCBdSf9Aoosk9UiuxtK7JPaNrL1PszQaqdJ5RmttknMAVMBCH7xKFQtxOE7HmK7BOMuo1J9jakNgpNW/V6CghQKNTrmGTHYpJjOmd7IecyhUn2SU8BE4U6ZnVbwEQwUbeDup0gCKigUMdUQaFQb0sQUEEwgaAAxv62GOdTt0hJUAubwQjtO7P4/4F1TF3z848Un4dNE53GN3jFYCjsFFIPUPzNBQibFKaz7RfGyvBYHPr7vlRroqk9aVrTjrUnpWhleCzCTt/M9T4421ryfZAxo06AHjx4AKVSCUdHR635jo6O+PvvvHtSkpKS8myflJSU735mzJihlTRpeoB0LWjoZgTpaFsz1/fDLiFWSgq8K5Sv2h+Nmev74U/bVO0aIJtY9FI5lsvj1ZXh2z/H+dQtUtKjKTAevh1GkQRp4tFXfJqC50aPGyFsUpg0PXjF4FJLgvIqtNV8XZp96TVPvvrH94Hyw6vAAJibm8PGxkbrZcxyFgKfH34ZvVRueV4tVdblVfD8+Xu/ltvj1ZWXkwtAnVS0sBmc59VX5S2+l5MfAAibFIZGjxtJSVBpUKrEPK8y0lyVpFQZdfVBucH3gfJj1D1A9vb2MDExwd27d7Xm3717F05OTnmu4+TkVKT2ZU1+SQGy52N9v3LTM6KCKs+rvTTHqymgJm1KlSrP4S51T4t6uSHpOz6VqNJKfjQ0PUEqsXSO/8Mu7vkuY49D6eH7QPkpE0XQrVu3xqpVqwCoi6Br1aqFwMDAfIugnzx5gt9++02a16ZNGzRt2jTfIuiXGfNl8DPW94ECijyTnJnZSUHIeztKPzAiIiIDK1dXgW3ZsgXDhg3DN998g9atW2P58uXYunUr/v77bzg6OmLo0KGoUaMGQkJCAKgvg+/QoQO++OIL9OjRA2FhYViwYIFRXAZPRERE+lNurgID1D069+/fx5w5c5CUlARvb2/s27dPKnROSEiAIsedY9u0aYNNmzZh1qxZ+PTTT+Hm5oYdO3YUOvkhIiKi8s/oe4AMgT1AREREZU9Rzt+8CoyIiIhkhwkQERERyQ4TICIiIpIdJkBEREQkO0yAiIiISHaYABEREZHsMAEiIiIi2WECRERERLJj9HeCNgTNvSFTUlIMHAkREREVlua8XZh7PDMBykNqaioAwMXFxcCREBERUVGlpqbC1ta2wDZ8FEYeVCoV7ty5A2trawiCYOhwyqSUlBS4uLjg5s2bfJyIAfF9MA58H4wD3wfjoM/3QRRFpKamwtnZWes5oXlhD1AeFAoFatasaegwygUbGxt+0BgBvg/Gge+DceD7YBz09T68qudHg0XQREREJDtMgIiIiEh2mACRXpibmyMoKAjm5uaGDkXW+D4YB74PxoHvg3EwlveBRdBEREQkO+wBIiIiItlhAkRERESywwSIiIiIZIcJEBEREckOEyAqttWrV8PV1RUWFhbw8fHB6dOn820bGhoKQRC0XhYWFqUYbfl09OhR9OzZE87OzhAEATt27HjlOhEREWjevDnMzc1Rv359hIaG6j3O8q6o70NERESu3wdBEJCUlFQ6AZdTISEhaNWqFaytrVGtWjX06dMHMTExr1xv27ZtaNCgASwsLNCkSRPs3bu3FKItv4rzPhjiHMEEiIply5YtmDJlCoKCgnD+/Hl4eXnB398f9+7dy3cdGxsbJCYmSq8bN26UYsTlU3p6Ory8vLB69epCtY+Pj0ePHj3QsWNHREVFYfLkyRg5ciT279+v50jLt6K+DxoxMTFavxPVqlXTU4TycOTIEYwfPx4nT57EgQMHkJWVhTfffBPp6en5rnP8+HEMGTIEI0aMQGRkJPr06YM+ffrg8uXLpRh5+VKc9wEwwDlCJCqG1q1bi+PHj5emlUql6OzsLIaEhOTZfv369aKtrW0pRSdPAMTt27cX2GbatGlio0aNtOYNGjRI9Pf312Nk8lKY9+Hw4cMiAPHRo0elEpNc3bt3TwQgHjlyJN82AwcOFHv06KE1z8fHR/zggw/0HZ5sFOZ9MMQ5gj1AVGSZmZk4d+4cOnfuLM1TKBTo3LkzTpw4ke96aWlpqF27NlxcXNC7d29cuXKlNMKlHE6cOKH1vgGAv79/ge8b6Y+3tzeqV6+OLl264NixY4YOp9xJTk4GAFSpUiXfNvyd0L/CvA9A6Z8jmABRkT148ABKpRKOjo5a8x0dHfOtYfDw8MC6deuwc+dO/Pjjj1CpVGjTpg1u3bpVGiFTtqSkpDzft5SUFDx9+tRAUclP9erVsXbtWvzyyy/45Zdf4OLiAj8/P5w/f97QoZUbKpUKkydPRtu2bdG4ceN82+X3O8F6LN0o7PtgiHMEnwZPpcLX1xe+vr7SdJs2beDp6YlvvvkG8+fPN2BkRKXPw8MDHh4e0nSbNm0QFxeHZcuW4YcffjBgZOXH+PHjcfnyZfz111+GDkXWCvs+GOIcwR4gKjJ7e3uYmJjg7t27WvPv3r0LJyenQm3D1NQUzZo1w7Vr1/QRIuXDyckpz/fNxsYGlpaWBoqKAKB169b8fdCRwMBA7N69G4cPH0bNmjULbJvf70RhP8sof0V5H15WGucIJkBUZGZmZmjRogXCw8OleSqVCuHh4VoZfEGUSiUuXbqE6tWr6ytMyoOvr6/W+wYABw4cKPT7RvoTFRXF34cSEkURgYGB2L59Ow4dOoQ6deq8ch3+Tuhecd6Hl5XKOaJUS66p3AgLCxPNzc3F0NBQ8erVq+Lo0aNFOzs7MSkpSRRFUXz33XfF6dOnS+3nzp0r7t+/X4yLixPPnTsnDh48WLSwsBCvXLliqEMoF1JTU8XIyEgxMjJSBCAuXbpUjIyMFG/cuCGKoihOnz5dfPfdd6X2//77r1ixYkXx448/FqOjo8XVq1eLJiYm4r59+wx1COVCUd+HZcuWiTt27BBjY2PFS5cuiZMmTRIVCoV48OBBQx1CuTB27FjR1tZWjIiIEBMTE6XXkydPpDYvfzYdO3ZMrFChgvjll1+K0dHRYlBQkGhqaipeunTJEIdQLhTnfTDEOYIJEBXbqlWrxFq1aolmZmZi69atxZMnT0rLOnToIA4bNkyanjx5stTW0dFR7N69u3j+/HkDRF2+aC6nfvml+dkPGzZM7NChQ651vL29RTMzM7Fu3bri+vXrSz3u8qao78PChQvFevXqiRYWFmKVKlVEPz8/8dChQ4YJvhzJ6z0AoPV//OXPJlEUxa1bt4ru7u6imZmZ2KhRI3HPnj2lG3g5U5z3wRDnCCE7WCIiIiLZYA0QERERyQ4TICIiIpIdJkBEREQkO0yAiIiISHaYABEREZHsMAEiIiIi2WECRERERLLDBIiIiIhkhwkQEclOcHAwvL29DR0GERkQEyAiKpc2bNiAdu3aGToMIjJSTICIqFzauXMnevXqVar7zMrKKtX9EVHxMQEiIqPl5+eHwMBABAYGwtbWFvb29pg9ezZe9QjDZ8+e4Y8//nhlAvTNN9/AxcUFFStWxMCBA5GcnCwtO3PmDLp06QJ7e3vY2tqiQ4cOOH/+vNb6giBgzZo16NWrF6ysrPD5558X/2CJqFQxASIio7ZhwwZUqFABp0+fxooVK7B06VL873//K3Cd8PBw1KhRAw0aNMi3zbVr17B161b89ttv2LdvHyIjIzFu3DhpeWpqKoYNG4a//voLJ0+ehJubG7p3747U1FSt7QQHB6Nv3764dOkS3n///ZIdLBGVGj4NnoiMlp+fH+7du4crV65AEAQAwPTp07Fr1y5cvXo13/VGjx4NW1tbLF68OM/lwcHB+Oyzz3Djxg3UqFEDALBv3z706NEDt2/fhpOTU651VCoV7OzssGnTJrz11lsA1D1AkydPxrJly0p6qERUytgDRERG7bXXXpOSHwDw9fVFbGwslEplnu1FUcRvv/32yuGvWrVqScmPZrsqlQoxMTEAgLt372LUqFFwc3ODra0tbGxskJaWhoSEBK3ttGzZsriHRkQGVMHQARAR6dLp06fx/PlztGnTpkTbGTZsGB4+fIgVK1agdu3aMDc3h6+vLzIzM7XaWVlZlWg/RGQY7AEiIqN26tQprWlNPY6JiUme7Xfu3IkePXrku1wjISEBd+7c0dquQqGAh4cHAODYsWOYOHEiunfvjkaNGsHc3BwPHjwo4dEQkbFgAkRERi0hIQFTpkxBTEwMNm/ejFWrVmHSpEn5tt+1a1ehLn+3sLDAsGHDcOHCBfz555+YOHEiBg4cKNX/uLm54YcffkB0dDROnTqFgIAAWFpa6uy4iMiwmAARkVEbOnQonj59itatW2P8+PGYNGkSRo8enWfbuLg4XLt2Df7+/q/cbv369dGvXz90794db775Jpo2bYqvv/5aWv7999/j0aNHaN68Od59911MnDgR1apV09lxEZFh8SowIjJafn5+8Pb2xvLlywvVfunSpTh48CD27t2r38CIqMxjDxARlRs1a9bEjBkzDB0GEZUBvAqMiMqNgQMHGjoEIiojOARGREREssMhMCIiIpIdJkBEREQkO0yAiIiISHaYABEREZHsMAEiIiIi2WECRERERLLDBIiIiIhkhwkQERERyc7/A/ai55on9Lu5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -113,7 +110,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABOgAAAHACAYAAAAY+FcVAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmvRJREFUeJzs3Xd8U9X/x/H3TbootEX2kClbpoAsURQVcOKWrwoq6lcQFAG3LFERFEQRtwg4APX3xS2KLJW9tyyZshFaZkdyf3/cJh20tS1JbpK+nj5ibu69uffdlpIP5557jmGapikAAAAAAAAAtnDYHQAAAAAAAAAoymigAwAAAAAAAGxEAx0AAAAAAABgIxroAAAAAAAAABvRQAcAAAAAAADYiAY6AAAAAAAAwEY00AEAAAAAAAA2ooEOAAAAAAAAsFGE3QGCjdvt1t69exUXFyfDMOyOAwAAQoBpmjp+/LgqVaokh4Prn8GKOg8AABRUoOo8Guiy2bt3r6pUqWJ3DAAAEIJ2796t888/3+4YyAV1HgAAKCx/13k00GUTFxcnyfrGx8fH25wGAACEgqSkJFWpUsVbRyA4UecBAICCClSdRwNdNp7bHeLj4yncAABAgXDbZHCjzgMAAIXl7zqPQVIAAAAAAAAAG9FABwAAAAAAANiIBjoAAAAAAADARoxBBwCwhWmaSktLk8vlsjsK8K+cTqciIiIYYw4AgHygzkMoCZY6jwY6AEDApaSkaN++fTp16pTdUYB8i42NVcWKFRUVFWV3FAAAghZ1HkJRMNR5NNABAALK7XZr+/btcjqdqlSpkqKiomy/WgXkxTRNpaSk6NChQ9q+fbtq164th4NRQgAAyI46D6EmmOo8GugAAAGVkpIit9utKlWqKDY21u44QL4UK1ZMkZGR2rlzp1JSUhQTE2N3JAAAgg51HkJRsNR5XP4FANiCHkgINfyZBQAgf/jMRKgJhj+z9icAAAAAAAAAijAa6AAAAAAAAAAb0UAHAIAf7dixQ4ZhaNWqVXZHydHQoUPVtGlTu2OcE8Mw9PXXX9sdAwAAFDHUef5XlOo8GugAACgicipwBg4cqFmzZtkTqIDCocgEAADwB+q80McsrgAAhLCUlBRFRUUV+v0lSpRQiRIlfJgIAAAAvkCdV7TQgw7Iy+6l0ud3SEe22Z0ECGumaepUSpotD9M0851zxowZuuSSS1SyZEmVLl1a1113nbZty/r3w5IlS9SsWTPFxMSoRYsWWrlyZZbtR48e1V133aWyZcuqWLFiql27tj7++GPv9rVr1+qKK65QsWLFVLp0aT300EM6ceKEd/u9996rrl276qWXXlKlSpVUt25dSVL16tU1fPhwdevWTcWLF1flypU1fvx47/uqV68uSbrppptkGIb3dfarlW63Wy+88ILOP/98RUdHq2nTppoxY4Z3u+dWjv/973+6/PLLFRsbqyZNmmjhwoV5fu8Mw9A777yjLl26qFixYqpZs6a++uqrLPs89dRTqlOnjmJjY1WzZk0NGjRIqampkqSJEydq2LBhWr16tQzDkGEYmjhxove9hw8f1k033aTY2FjVrl1b3377bZ55AMBr50Lp8zulozvsTgKEJeo86jyJOi8/6EEH5GXlZGnzDCkiRrp9kt1pgLB1OtWlBoN/tuXcG17opNio/H0cnjx5Uv3791fjxo114sQJDR48WDfddJNWrVolh8OhEydO6LrrrtNVV12lTz/9VNu3b9djjz2W5RiDBg3Shg0b9NNPP6lMmTLaunWrTp8+7T1+p06d1KZNGy1dulQHDx7UAw88oD59+mQpUmbNmqX4+HjNnDkzy7FfffVVPfvssxo2bJh+/vlnPfbYY6pTp46uuuoqLV26VOXKldPHH3+szp07y+l05vg1vvHGGxo9erTee+89NWvWTBMmTNANN9yg9evXq3bt2t79nnvuOb322muqXbu2nnvuOXXr1k1bt25VRETu38tBgwbplVde0RtvvKFPPvlEd955p9auXav69etLkuLi4jRx4kRVqlRJa9eu1YMPPqi4uDg9+eSTuuOOO7Ru3TrNmDFDv/76qyQpISHBe+xhw4Zp1KhRevXVVzVu3Djddddd2rlzp0qVKpWPnyyAIm35RGnzT1Jsaanr+H/dHUDBUOdR50nUeflBAx2QF5fVoq8/v5dOHJRKlLM3DwBb3XLLLVleT5gwQWXLltWGDRvUsGFDff7553K73froo48UExOjCy+8UHv27FGvXr2879m1a5eaNWumFi1aSMq44ilJn3/+uc6cOaPJkyerePHikqS33npL119/vUaOHKny5ctLkooXL64PP/zwrFse2rVrp6efflqSVKdOHc2fP1+vv/66rrrqKpUtW1aSVLJkSVWoUCHXr/G1117TU089pTvvvFOSNHLkSM2ZM0djx47NcqV24MCBuvbaayVZRdOFF16orVu3ql69erke+7bbbtMDDzwgSRo+fLhmzpypcePG6e2335YkPf/88959q1evroEDB2rq1Kl68sknVaxYMZUoUUIRERE55r/33nvVrVs3SdLLL7+sN998U0uWLFHnzp1zzQMAkiRXivW84WvpmlelqFhb4wCwB3UedZ7daKAD8uJ2pT+nSas+ly7pZ2scIFwVi3RqwwudbDt3fm3ZskWDBw/W4sWLdfjwYbndbklWMdawYUNt3LhRjRs3VkxMjPc9bdq0yXKMXr166ZZbbtGKFSt09dVXq2vXrmrbtq0kaePGjWrSpIm3aJOsYsztdmvTpk3ewq1Ro0Y5jkeS/Vxt2rTR2LFj8/31JSUlae/evWrXrl2W9e3atdPq1auzrGvcuLF3uWLFipKkgwcP5lm45ZQv86xn06ZN05tvvqlt27bpxIkTSktLU3x8fL6yZ85TvHhxxcfH6+DBg/l6L4AizrT+LlfKCeuibOPb7c0DhBnqPOo8iTovPxiDDsiL6cpYXj5RSv9LGoBvGYah2KgIWx6GYeQ75/XXX69//vlHH3zwgRYvXqzFixdLsgbwza8uXbpo586devzxx7V371517NhRAwcOLND3K3NhZ5fIyEjvsud76D6HvyMXLlyou+66S9dcc42+//57rVy5Us8991y+v7eZ83gynUseAEVI5npv9RT7cgBhijqPOo86L39ooAPy4s5UsB3dLu34zb4sAGx15MgRbdq0Sc8//7w6duyo+vXr6+jRo1n2qV+/vtasWaMzZ8541y1atOisY5UtW1Y9evTQp59+qrFjx+r999/3vn/16tU6efKkd9/58+fL4XB4BwnOS/ZzLVq0yDvuh2QVNy6XK/vbvOLj41WpUiXNnz8/y/r58+erQYMG/3r+c8m3YMECVatWTc8995xatGih2rVra+fOnVn2j4qKyjM/ABRK5n/k/TVXStprWxQA9qDOo84LBjTQAXnxXFGNirOel32c+74Awtp5552n0qVL6/3339fWrVs1e/Zs9e/fP8s+//nPf2QYhh588EFt2LBBP/74o1577bUs+wwePFjffPONtm7dqvXr1+v777/3Fi933XWXYmJi1KNHD61bt05z5sxR3759dc8993hve8jL/PnzNWrUKG3evFnjx4/Xl19+mWXw4urVq2vWrFnav3//WUWnxxNPPKGRI0dq2rRp2rRpk55++mmtWrXqrEGQC+PLL7/UhAkTtHnzZg0ZMkRLlixRnz59JEm1a9fWrl27NHXqVG3btk1vvvmmpk+fnuX91atX1/bt27Vq1SodPnxYycnJ55wJALL0oDPd0pov7MsCwBbUedR5wYAGOiAvniuqTe6wnj2TRQAochwOh6ZOnarly5erYcOGevzxx/Xqq69m2adEiRL67rvvtHbtWjVr1kzPPfecRo4cmWWfqKgoPfPMM2rcuLEuvfRSOZ1OTZ06VZIUGxurn3/+Wf/8849atmypW2+9VR07dtRbb72Vr4wDBgzQsmXL1KxZM7344osaM2aMOnXKGPNl9OjRmjlzpqpUqaJmzZrleIxHH31U/fv314ABA9SoUSPNmDFD3377bZaZvQpr2LBhmjp1qho3bqzJkydrypQp3iu2N9xwgx5//HH16dNHTZs21YIFCzRo0KAs77/lllvUuXNnXX755SpbtqymTOFWNAA+4Lljokpr63n1FMk07csDIOCo86jzgoFhmnz6ZJaUlKSEhAQlJibme8BChLHP75A2z5BuGCctnyT9vUy6chiTRQDn4MyZM9q+fbtq1KiRZZBdnJvq1aurX79+6tevn91RcmQYhqZPn66uXbvaHaXQ8vqzS/0QGvg5IUef3CxtmyV1GSXNHCylnZEemitVyvkfuAByR53nH9R5/hcMdR496IC8eK6oGk6p+b3WMpNFAAAAhA/PLa4xJaV611rLq6faFgcAUDTRQAfkxVOwOZxSw5ul6HgmiwAAAAgn7kz1XpNu1vLaL6W0/M/cCADAuYqwOwAQ1DL3oIsqLjW+XVr6oTVZRM0OtkYDgMx27Nhhd4Q8MaIGgKBlpt8ZYTikmpdLJcpLJw5IW3+V6l1jbzYAEHVeUUEPOiAvnoLNkf6r4rnNlckiAAAAwkPmHnTOCKnRbdbr1Z/blwkAUOTQQAfkJXMPOkmq0Eiq3EJyp0mrKNoAAABCnrcHXXq91/Q/1vOmGdKpf+zJBAAocmigA/KSeQw6DyaLAAAACB+ees9I/6dR+Quti7LuVGnd/9mXCwBQpNBAB+Qlew86ickiAAAAwok7hwuyTdJ70TGbKwAgQGigA/LiTrOeHZnmU/FMFiFZk0UAAAAgdJk5XJBtdKv1+u9l0uEt9uQCABQpIdNAN2LECLVs2VJxcXEqV66cunbtqk2bNmXZp0OHDjIMI8vj4YcftikxwoL3FtdsvypMFgEgXYcOHdSvXz+7YxTavffeq65du9odo9B27NghwzC0atUqu6PgHFDnwVae2Qcz13slykm1rrSWV08JfCYAQYE6z15Frc4LmQa6efPm6ZFHHtGiRYs0c+ZMpaam6uqrr9bJkyez7Pfggw9q37593seoUaNsSoyw4M42aLAHk0UACDG5FThvvPGGJk6caEumggr1IhO5o86DrXIa0kSSmnaznldPY9xhAEGNOi88RPz7LsFhxowZWV5PnDhR5cqV0/Lly3XppZd618fGxqpChQqBjodwldMkER7N77Vue1g+UWr76Nm97AAgAFJSUhQVFVXo9yckJPgwDVA41HmwVfZJIjzqdJFiEqSkPdKO36WalwU+G4AijTqvaAnZFoXExERJUqlSpbKs/+yzz1SmTBk1bNhQzzzzjE6dOpXncZKTk5WUlJTlAXjldkVVYrIIoAg6efKkunfvrhIlSqhixYoaPXr0WfskJydr4MCBqly5sooXL65WrVpp7ty53u07d+7U9ddfr/POO0/FixfXhRdeqB9//NG7fd68ebr44osVHR2tihUr6umnn1ZaWpp3e4cOHdSnTx/169dPZcqUUadOnSRJhmHonXfeUZcuXVSsWDHVrFlTX331lfd9NWrUkCQ1a9ZMhmGoQ4cOks6+WpmcnKxHH31U5cqVU0xMjC655BItXbrUu33u3LkyDEOzZs1SixYtFBsbq7Zt2551O2Jmnqu6U6dOVdu2bRUTE6OGDRtq3rx53n1cLpd69uypGjVqqFixYqpbt67eeOMN7/ahQ4dq0qRJ+uabb7y3N2b+vv7111+6/PLLFRsbqyZNmmjhwoW55kHwo85DQOU0SYQkRcZIF95sLTNZBBD2qPOo82xnhiCXy2Vee+21Zrt27bKsf++998wZM2aYa9asMT/99FOzcuXK5k033ZTnsYYMGWJKOuuRmJjozy8BoeKNpqY5JN40dy7Mefv3/a3t07oHNhcQwk6fPm1u2LDBPH36dMZKt9s0k0/Y83C78529V69eZtWqVc1ff/3VXLNmjXndddeZcXFx5mOPPebd54EHHjDbtm1r/vbbb+bWrVvNV1991YyOjjY3b95smqZpXnvtteZVV11lrlmzxty2bZv53XffmfPmzTNN0zT37NljxsbGmr179zY3btxoTp8+3SxTpow5ZMgQ7/Evu+wys0SJEuYTTzxh/vnnn+aff/5pmqZpSjJLly5tfvDBB+amTZvM559/3nQ6neaGDRtM0zTNJUuWmJLMX3/91dy3b5955MgR0zRNs0ePHuaNN97oPf6jjz5qVqpUyfzxxx/N9evXmz169DDPO+887/5z5swxJZmtWrUy586da65fv95s37692bZt21y/b9u3bzclmeeff7751VdfmRs2bDAfeOABMy4uzjx8+LBpmqaZkpJiDh482Fy6dKn5119/mZ9++qkZGxtrTps2zTRN0zx+/Lh5++23m507dzb37dtn7tu3z0xOTvYeu169eub3339vbtq0ybz11lvNatWqmampqfn+2eZHjn920yUmJlI/+Ah1HgJubOP0em/R2dt2LrK2vVjRNM8cD3w2IMRQ51HnUecVXkg20D388MNmtWrVzN27d+e536xZs0xJ5tatW3Pd58yZM2ZiYqL3sXv3bgo3ZHi9kVWU7VqS8/Z9a6ztw0qZ5vEDgc0GhKgcP/yST1i/S3Y8kk/kK/fx48fNqKgo84svvvCuO3LkiFmsWDFv4bZz507T6XSaf//9d5b3duzY0XzmmWdM0zTNRo0amUOHDs3xHM8++6xZt25d052pmBw/frxZokQJ0+VymaZpFW7NmjU7672SzIcffjjLulatWpm9evUyTTOjeFq5cmWWfTIXbidOnDAjIyPNzz77zLs9JSXFrFSpkjlq1CjTNDMKt19//dW7zw8//GBKyrGgyXzuV155xbsuNTXVPP/8882RI0fm+B7TNM1HHnnEvOWWW3LMmv3YH374oXfd+vXrTUnmxo0bcz12YQRD4VYUUOch4F5vaH0e7F569ja3O+OC7aopgc8GhBjqPOo806TOK6yQu8W1T58++v777zVnzhydf/75ee7bqlUrSdLWrVtz3Sc6Olrx8fFZHoCXmT4gcG7jyzFZBFBkbNu2TSkpKd7PFsm6/a5u3bre12vXrpXL5VKdOnVUokQJ72PevHnatm2bJOnRRx/Viy++qHbt2mnIkCFas2aN9/0bN25UmzZtZBiGd127du104sQJ7dmzx7uuefPmOWZs06bNWa83btxYoK8xNTVV7dq1866LjIzUxRdffNZxGjdu7F2u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9NcMIExluWOiEP80apJ+MZbZXIFcUeedO+q8olHnFXDke6AI8fSgK8z4cx5lakvV20s7frfGorv8Wd9kA8LM6bTTavV5K1vOvfg/ixUb+e+3ESQnJ+vll1/Wr7/+qjZt2kiSatasqT/++EPvvfeeLrvsMr3zzju64IILNHr0aElS3bp1tXbtWo0cOdKvX4Mk3XbbbXrggQckScOHD9fMmTM1btw4vf322959+vXrp5tvvvmcz9WkSRM9//zzkqRnnnlGr7zyisqUKaMHH3xQkjR48GC98847WrNmjVq3bp3rcdq1a+ctbOvUqaP58+fr9ddf11VXXeXN61G9enW9+OKLevjhh/X2228rKipKCQkJMgxDFSpUOOvY11xzjXr37i1Jeuqpp/T6669rzpw5qlu37jl//QDCyLnWe41uk2YOkvaukA5ulMrV9102IExQ55076ryswrXOowcdkBtf9KCTMnrRrfhEcqXluSuA4LV161adOnVKV111lUqUKOF9TJ48Wdu2bZMkbdy4Ua1aZS1APUWev2U/T5s2bc66stqiRQufnKtx48beZafTqdKlS6tRo0bedeXLl5ckHTx4MM/j/FvmX3/9VR07dlTlypUVFxene+65R0eOHPnXK7bZM3qKu3/LA6AIOtd6r0RZqXZ6TxV60QEhizovA3WefehBB+TGFz3oJKn+9VJsaen4XutW13rXnHs2IMwUiyimxf9ZbNu588MzJsYPP/ygypUrZ9kWHR2d7/M5HI6zbrdITU3N9/vPRfHixfPcnt9skZGRWV4bhpFlnZE+bqfb7VZh7dixQ9ddd5169eqll156SaVKldIff/yhnj17KiUl5V8HT84p47nkARCmvPXeOfRbaNpN2vSDtGaa1HGI5OSfWEBm1HnUedlR5+WMTw8gN54xSQozHklmEdHWZBELxlmTRdBAB5zFMIx83X5gpwYNGig6Olq7du3SZZddluM+9evX17fffptl3aJFi7K8Llu2rPbv3y/TNL0FzqpVq84536JFi9S9e/csr5s1a1agY5QtW1br1q3Lsm7VqlVnFUG+kv17s2jRItWvb90etnz5crndbo0ePVqO9L+Hv/jiiyz7R0VFyeVyCQAKzfTBBdnanaRipaQTB6S/5ki1r/JNNiBMUOetOud81HlFA7e4ArnxVQ86SWp+n/W8ZaZ0bNe5Hw9A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zj1p0iRFRERoyZIleuONNzRmzBh9+GHWXrCjR49WixYttHLlSvXu3Vu9evXSpk2bvNvj4uI0ceJEbdiwQW+88YY++OADvf76697td911l84//3wtXbpUy5cv19NPP63IyEhJ0rZt29S5c2fdcsstWrNmjaZNm6Y//vhDffr0yTXz77//ru7du+uxxx7Thg0b9N5772nixIneIsXtduvmm29WVFSUFi9erHfffVdPPfWUL79tucrP9/O1115TkyZNtHLlynP62W7btk0//fSTZsyYoSlTpuijjz7Stddeqz179mjevHkaOXKknn/+eS1evPhcvywAocKfYw47nFLTbtbyik98f3wgTFHnUecVRljUeSaySExMNCWZiYmJdkeB3VZ+bppD4k1z8k3+Pc+uxdZ5hpczzZNH/HsuIAicPn3a3LBhg3n69OlzPtYLL7xgSjKjoqJMSeYLL7zgg4S5u+yyy8z69eubbrfbu+6pp54y69ev731drVo18+677/a+drvdZrly5cx33nkn1+O++uqrZvPmzb2v4+LizIkTJ+a4b8+ePc2HHnooy7rff//ddDgcuX5PO3bsaL788stZ1n3yySdmxYoVTdM0zZ9//tmMiIgw//77b+/2n376yZRkTp8+3TRN05wzZ44pyTx69Kh3n5UrV5qSzO3bt5umaZoff/yxmZCQ4N0+ZMgQs0mTJt7XPXr0MG+88Ubv6/x+P7t27Zol+/bt201J5sqVK3M8r2ma5vTp083MZc6QIUPM2NhYMykpybuuU6dOZvXq1U2Xy+VdV7duXXPEiBFmTvL6s0v9EBr4OeEs6/5n1WETuvjn+Ie3WscfkmCaR3f55xxAEKHOOxt1HnVeftGDDsiNdww6P/agk6TzW0oVGklpZ6RVn/n3XECYGTRokKKiopSSkqKoqCi/XlH1aN26dZYu9W3atNGWLVvkcrm86xo3buxdNgxDFSpU0MGDB73rpk2bpnbt2qlChQoqUaKEnn/+ee3atcu7vX///nrggQd05ZVX6pVXXtG2bdu821avXq2JEyeqRIkS3kenTp3kdru1ffv2HDOvXr1aL7zwQpb3PPjgg9q3b59OnTqljRs3qkqVKqpUqVKWrysQ8vP9bNGihU/OVb16dcXFxXlfly9fXg0aNJAj0+yN5cuXz/KzAhDm/D2kSekLpGqXSDKl1VP8cw4g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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABOgAAAHACAYAAAAY+FcVAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmvRJREFUeJzs3Xd8U9X/x/H3TbootEX2kClbpoAsURQVcOKWrwoq6lcQFAG3LFERFEQRtwg4APX3xS2KLJW9tyyZshFaZkdyf3/cJh20tS1JbpK+nj5ibu69uffdlpIP5557jmGapikAAAAAAAAAtnDYHQAAAAAAAAAoymigAwAAAAAAAGxEAx0AAAAAAABgIxroAAAAAAAAABvRQAcAAAAAAADYiAY6AAAAAAAAwEY00AEAAAAAAAA2ooEOAAAAAAAAsFGE3QGCjdvt1t69exUXFyfDMOyOAwAAQoBpmjp+/LgqVaokh4Prn8GKOg8AABRUoOo8Guiy2bt3r6pUqWJ3DAAAEIJ2796t888/3+4YyAV1HgAAKCx/13k00GUTFxcnyfrGx8fH25wGAACEgqSkJFWpUsVbRyA4UecBAICCClSdRwNdNp7bHeLj4yncAABAgXDbZHCjzgMAAIXl7zqPQVIAAAAAAAAAG9FABwAAAAAAANiIBjoAAAAAAADARoxBBwCwhWmaSktLk8vlsjsK8K+cTqciIiIYYw4AgHygzkMoCZY6jwY6AEDApaSkaN++fTp16pTdUYB8i42NVcWKFRUVFWV3FAAAghZ1HkJRMNR5NNABAALK7XZr+/btcjqdqlSpkqKiomy/WgXkxTRNpaSk6NChQ9q+fbtq164th4NRQgAAyI46D6EmmOo8GugAAAGVkpIit9utKlWqKDY21u44QL4UK1ZMkZGR2rlzp1JSUhQTE2N3JAAAgg51HkJRsNR5XP4FANiCHkgINfyZBQAgf/jMRKgJhj+z9icAAAAAAAAAijAa6AAAAAAAAAAb0UAHAIAf7dixQ4ZhaNWqVXZHydHQoUPVtGlTu2OcE8Mw9PXXX9sdAwAAFDHUef5XlOo8GugAACgicipwBg4cqFmzZtkTqIDCocgEAADwB+q80McsrgAAhLCUlBRFRUUV+v0lSpRQiRIlfJgIAAAAvkCdV7TQgw7Iy+6l0ud3SEe22Z0ECGumaepUSpotD9M0851zxowZuuSSS1SyZEmVLl1a1113nbZty/r3w5IlS9SsWTPFxMSoRYsWWrlyZZbtR48e1V133aWyZcuqWLFiql27tj7++GPv9rVr1+qKK65QsWLFVLp0aT300EM6ceKEd/u9996rrl276qWXXlKlSpVUt25dSVL16tU1fPhwdevWTcWLF1flypU1fvx47/uqV68uSbrppptkGIb3dfarlW63Wy+88ILOP/98RUdHq2nTppoxY4Z3u+dWjv/973+6/PLLFRsbqyZNmmjhwoV5fu8Mw9A777yjLl26qFixYqpZs6a++uqrLPs89dRTqlOnjmJjY1WzZk0NGjRIqampkqSJEydq2LBhWr16tQzDkGEYmjhxove9hw8f1k033aTY2FjVrl1b3377bZ55AMBr50Lp8zulozvsTgKEJeo86jyJOi8/6EEH5GXlZGnzDCkiRrp9kt1pgLB1OtWlBoN/tuXcG17opNio/H0cnjx5Uv3791fjxo114sQJDR48WDfddJNWrVolh8OhEydO6LrrrtNVV12lTz/9VNu3b9djjz2W5RiDBg3Shg0b9NNPP6lMmTLaunWrTp8+7T1+p06d1KZNGy1dulQHDx7UAw88oD59+mQpUmbNmqX4+HjNnDkzy7FfffVVPfvssxo2bJh+/vlnPfbYY6pTp46uuuoqLV26VOXKldPHH3+szp07y+l05vg1vvHGGxo9erTee+89NWvWTBMmTNANN9yg9evXq3bt2t79nnvuOb322muqXbu2nnvuOXXr1k1bt25VRETu38tBgwbplVde0RtvvKFPPvlEd955p9auXav69etLkuLi4jRx4kRVqlRJa9eu1YMPPqi4uDg9+eSTuuOOO7Ru3TrNmDFDv/76qyQpISHBe+xhw4Zp1KhRevXVVzVu3Djddddd2rlzp0qVKpWPnyyAIm35RGnzT1Jsaanr+H/dHUDBUOdR50nUeflBAx2QF5fVoq8/v5dOHJRKlLM3DwBb3XLLLVleT5gwQWXLltWGDRvUsGFDff7553K73froo48UExOjCy+8UHv27FGvXr2879m1a5eaNWumFi1aSMq44ilJn3/+uc6cOaPJkyerePHikqS33npL119/vUaOHKny5ctLkooXL64PP/zwrFse2rVrp6efflqSVKdOHc2fP1+vv/66rrrqKpUtW1aSVLJkSVWoUCHXr/G1117TU089pTvvvFOSNHLkSM2ZM0djx47NcqV24MCBuvbaayVZRdOFF16orVu3ql69erke+7bbbtMDDzwgSRo+fLhmzpypcePG6e2335YkPf/88959q1evroEDB2rq1Kl68sknVaxYMZUoUUIRERE55r/33nvVrVs3SdLLL7+sN998U0uWLFHnzp1zzQMAkiRXivW84WvpmlelqFhb4wCwB3UedZ7daKAD8uJ2pT+nSas+ly7pZ2scIFwVi3RqwwudbDt3fm3ZskWDBw/W4sWLdfjwYbndbklWMdawYUNt3LhRjRs3VkxMjPc9bdq0yXKMXr166ZZbbtGKFSt09dVXq2vXrmrbtq0kaePGjWrSpIm3aJOsYsztdmvTpk3ewq1Ro0Y5jkeS/Vxt2rTR2LFj8/31JSUlae/evWrXrl2W9e3atdPq1auzrGvcuLF3uWLFipKkgwcP5lm45ZQv86xn06ZN05tvvqlt27bpxIkTSktLU3x8fL6yZ85TvHhxxcfH6+DBg/l6L4AizrT+LlfKCeuibOPb7c0DhBnqPOo8iTovPxiDDsiL6cpYXj5RSv9LGoBvGYah2KgIWx6GYeQ75/XXX69//vlHH3zwgRYvXqzFixdLsgbwza8uXbpo586devzxx7V371517NhRAwcOLND3K3NhZ5fIyEjvsud76D6HvyMXLlyou+66S9dcc42+//57rVy5Us8991y+v7eZ83gynUseAEVI5npv9RT7cgBhijqPOo86L39ooAPy4s5UsB3dLu34zb4sAGx15MgRbdq0Sc8//7w6duyo+vXr6+jRo1n2qV+/vtasWaMzZ8541y1atOisY5UtW1Y9evTQp59+qrFjx+r999/3vn/16tU6efKkd9/58+fL4XB4BwnOS/ZzLVq0yDvuh2QVNy6XK/vbvOLj41WpUiXNnz8/y/r58+erQYMG/3r+c8m3YMECVatWTc8995xatGih2rVra+fOnVn2j4qKyjM/ABRK5n/k/TVXStprWxQA9qDOo84LBjTQAXnxXFGNirOel32c+74Awtp5552n0qVL6/3339fWrVs1e/Zs9e/fP8s+//nPf2QYhh588EFt2LBBP/74o1577bUs+wwePFjffPONtm7dqvXr1+v777/3Fi933XWXYmJi1KNHD61bt05z5sxR3759dc8993hve8jL/PnzNWrUKG3evFnjx4/Xl19+mWXw4urVq2vWrFnav3//WUWnxxNPPKGRI0dq2rRp2rRpk55++mmtWrXqrEGQC+PLL7/UhAkTtHnzZg0ZMkRLlixRnz59JEm1a9fWrl27NHXqVG3btk1vvvmmpk+fnuX91atX1/bt27Vq1SodPnxYycnJ55wJALL0oDPd0pov7MsCwBbUedR5wYAGOiAvniuqTe6wnj2TRQAochwOh6ZOnarly5erYcOGevzxx/Xqq69m2adEiRL67rvvtHbtWjVr1kzPPfecRo4cmWWfqKgoPfPMM2rcuLEuvfRSOZ1OTZ06VZIUGxurn3/+Wf/8849atmypW2+9VR07dtRbb72Vr4wDBgzQsmXL1KxZM7344osaM2aMOnXKGPNl9OjRmjlzpqpUqaJmzZrleIxHH31U/fv314ABA9SoUSPNmDFD3377bZaZvQpr2LBhmjp1qho3bqzJkydrypQp3iu2N9xwgx5//HH16dNHTZs21YIFCzRo0KAs77/lllvUuXNnXX755SpbtqymTOFWNAA+4Lljokpr63n1FMk07csDIOCo86jzgoFhmnz6ZJaUlKSEhAQlJibme8BChLHP75A2z5BuGCctnyT9vUy6chiTRQDn4MyZM9q+fbtq1KiRZZBdnJvq1aurX79+6tevn91RcmQYhqZPn66uXbvaHaXQ8vqzS/0QGvg5IUef3CxtmyV1GSXNHCylnZEemitVyvkfuAByR53nH9R5/hcMdR496IC8eK6oGk6p+b3WMpNFAAAAhA/PLa4xJaV611rLq6faFgcAUDTRQAfkxVOwOZxSw5ul6HgmiwAAAAgn7kz1XpNu1vLaL6W0/M/cCADAuYqwOwAQ1DL3oIsqLjW+XVr6oTVZRM0OtkYDgMx27Nhhd4Q8MaIGgKBlpt8ZYTikmpdLJcpLJw5IW3+V6l1jbzYAEHVeUUEPOiAvnoLNkf6r4rnNlckiAAAAwkPmHnTOCKnRbdbr1Z/blwkAUOTQQAfkJXMPOkmq0Eiq3EJyp0mrKNoAAABCnrcHXXq91/Q/1vOmGdKpf+zJBAAocmigA/KSeQw6DyaLAAAACB+ees9I/6dR+Quti7LuVGnd/9mXCwBQpNBAB+Qlew86ickiAAAAwok7hwuyTdJ70TGbKwAgQGigA/LiTrOeHZnmU/FMFiFZk0UAAAAgdJk5XJBtdKv1+u9l0uEt9uQCABQpIdNAN2LECLVs2VJxcXEqV66cunbtqk2bNmXZp0OHDjIMI8vj4YcftikxwoL3FtdsvypMFgEgXYcOHdSvXz+7YxTavffeq65du9odo9B27NghwzC0atUqu6PgHFDnwVae2Qcz13slykm1rrSWV08JfCYAQYE6z15Frc4LmQa6efPm6ZFHHtGiRYs0c+ZMpaam6uqrr9bJkyez7Pfggw9q37593seoUaNsSoyw4M42aLAHk0UACDG5FThvvPGGJk6caEumggr1IhO5o86DrXIa0kSSmnaznldPY9xhAEGNOi88RPz7LsFhxowZWV5PnDhR5cqV0/Lly3XppZd618fGxqpChQqBjodwldMkER7N77Vue1g+UWr76Nm97AAgAFJSUhQVFVXo9yckJPgwDVA41HmwVfZJIjzqdJFiEqSkPdKO36WalwU+G4AijTqvaAnZFoXExERJUqlSpbKs/+yzz1SmTBk1bNhQzzzzjE6dOpXncZKTk5WUlJTlAXjldkVVYrIIoAg6efKkunfvrhIlSqhixYoaPXr0WfskJydr4MCBqly5sooXL65WrVpp7ty53u07d+7U9ddfr/POO0/FixfXhRdeqB9//NG7fd68ebr44osVHR2tihUr6umnn1ZaWpp3e4cOHdSnTx/169dPZcqUUadOnSRJhmHonXfeUZcuXVSsWDHVrFlTX331lfd9NWrUkCQ1a9ZMhmGoQ4cOks6+WpmcnKxHH31U5cqVU0xMjC655BItXbrUu33u3LkyDEOzZs1SixYtFBsbq7Zt2551O2Jmnqu6U6dOVdu2bRUTE6OGDRtq3rx53n1cLpd69uypGjVqqFixYqpbt67eeOMN7/ahQ4dq0qRJ+uabb7y3N2b+vv7111+6/PLLFRsbqyZNmmjhwoW55kHwo85DQOU0SYQkRcZIF95sLTNZBBD2qPOo82xnhiCXy2Vee+21Zrt27bKsf++998wZM2aYa9asMT/99FOzcuXK5k033ZTnsYYMGWJKOuuRmJjozy8BoeKNpqY5JN40dy7Mefv3/a3t07oHNhcQwk6fPm1u2LDBPH36dMZKt9s0k0/Y83C78529V69eZtWqVc1ff/3VXLNmjXndddeZcXFx5mOPPebd54EHHjDbtm1r/vbbb+bWrVvNV1991YyOjjY3b95smqZpXnvtteZVV11lrlmzxty2bZv53XffmfPmzTNN0zT37NljxsbGmr179zY3btxoTp8+3SxTpow5ZMgQ7/Evu+wys0SJEuYTTzxh/vnnn+aff/5pmqZpSjJLly5tfvDBB+amTZvM559/3nQ6neaGDRtM0zTNJUuWmJLMX3/91dy3b5955MgR0zRNs0ePHuaNN97oPf6jjz5qVqpUyfzxxx/N9evXmz169DDPO+887/5z5swxJZmtWrUy586da65fv95s37692bZt21y/b9u3bzclmeeff7751VdfmRs2bDAfeOABMy4uzjx8+LBpmqaZkpJiDh482Fy6dKn5119/mZ9++qkZGxtrTps2zTRN0zx+/Lh5++23m507dzb37dtn7tu3z0xOTvYeu169eub3339vbtq0ybz11lvNatWqmampqfn+2eZHjn920yUmJlI/+Ah1HgJubOP0em/R2dt2LrK2vVjRNM8cD3w2IMRQ51HnUecVXkg20D388MNmtWrVzN27d+e536xZs0xJ5tatW3Pd58yZM2ZiYqL3sXv3bgo3ZHi9kVWU7VqS8/Z9a6ztw0qZ5vEDgc0GhKgcP/yST1i/S3Y8kk/kK/fx48fNqKgo84svvvCuO3LkiFmsWDFv4bZz507T6XSaf//9d5b3duzY0XzmmWdM0zTNRo0amUOHDs3xHM8++6xZt25d052pmBw/frxZokQJ0+VymaZpFW7NmjU7672SzIcffjjLulatWpm9evUyTTOjeFq5cmWWfTIXbidOnDAjIyPNzz77zLs9JSXFrFSpkjlq1CjTNDMKt19//dW7zw8//GBKyrGgyXzuV155xbsuNTXVPP/8882RI0fm+B7TNM1HHnnEvOWWW3LMmv3YH374oXfd+vXrTUnmxo0bcz12YQRD4VYUUOch4F5vaH0e7F569ja3O+OC7aopgc8GhBjqPOo806TOK6yQu8W1T58++v777zVnzhydf/75ee7bqlUrSdLWrVtz3Sc6Olrx8fFZHoCXmT4gcG7jyzFZBFBkbNu2TSkpKd7PFsm6/a5u3bre12vXrpXL5VKdOnVUokQJ72PevHnatm2bJOnRRx/Viy++qHbt2mnIkCFas2aN9/0bN25UmzZtZBiGd127du104sQJ7dmzx7uuefPmOWZs06bNWa83btxYoK8xNTVV7dq1866LjIzUxRdffNZxGjdu7F2uWLGiJOngwbxntc6cLyIiQi1atMhy3PHjx6t58+YqW7asSpQooffff1+7du3KV/bC5EHwoc6DLbyTguVQ7xmG1CR9sghqPSBsUedR5wWDkJkkwjRN9e3bV9OnT9fcuXO991jnxTODiecHCBRYXmPQeTBZBHDuImOlZ/fad24fOXHihJxOp5YvXy6nM+vfGyVKlJAkPfDAA+rUqZN++OEH/fLLLxoxYoRGjx6tvn375vs8xYsX91nmwoqMjPQuewpN9znMcjh16lQNHDhQo0ePVps2bRQXF6dXX31VixcvtiUPAos6D7bKbZIIj8Z3SHNekrb/JiXukRLybjwGkA11HnUedV6+hExLwiOPPKJPP/1Un3/+ueLi4rR//37t379fp0+flmS1Bg8fPlzLly/Xjh079O2336p79+669NJLs7S2AgWS1yyuHpkni9g+L/f9AOTOMKSo4vY8Ml3FzMsFF1ygyMjILIXE0aNHtXnzZu/rZs2ayeVy6eDBg6pVq1aWR+aZJ6tUqaKHH35Y//vf/zRgwAB98MEHkqT69etr4cKFMk3Tu+/8+fMVFxf3r72JJGnRokVnva5fv74keWcAc7lceX6NUVFRmj9/vnddamqqli5dqgYNGvzr+QuSLy0tTcuXL/fmmz9/vtq2bavevXurWbNmqlWrlvdqtEdUVFSe+RG6qPNgq9wmifA4r5pU7RJJprRmWsBiAWGDOk8SdR513r8LmQa6d955R4mJierQoYMqVqzofUybZn1IRkVF6ddff9XVV1+tevXqacCAAbrlllv03Xff2ZwcIS0/PeiiikuNb7eWl3/s/0wAbFGiRAn17NlTTzzxhGbPnq1169bp3nvvlSNTr9k6derorrvuUvfu3fW///1P27dv15IlSzRixAj98MMPkqR+/frp559/1vbt27VixQrNmTPHW7z07t1bu3fvVt++ffXnn3/qm2++0ZAhQ9S/f/8s58nNl19+qQkTJmjz5s0aMmSIlixZoj59+kiSypUrp2LFimnGjBk6cOCAd5bMzIoXL65evXrpiSee0IwZM7RhwwY9+OCDOnXqlHr27HnO38Px48dr+vTp+vPPP/XII4/o6NGjuv/++yVJtWvX1rJly/Tzzz9r8+bNGjRoUJZZxSSpevXqWrNmjTZt2qTDhw8rNTX1nDMhOFDnwVZmPuq9Jndaz6unSpn+cQ0gPFDnUecFg5C6xTUvVapUyTKNL+AT+elBJ0nN75OWfij9+YN0/IAUV97/2QAE3KuvvqoTJ07o+uuvV1xcnAYMGHBWAfTxxx/rxRdf1IABA/T333+rTJkyat26ta677jpJ1pXNRx55RHv27FF8fLw6d+6s119/XZJUuXJl/fjjj3riiSfUpEkTlSpVSj179tTzzz+fr3zDhg3T1KlT1bt3b1WsWFFTpkzxXhGNiIjQm2++qRdeeEGDBw9W+/bts0xf7/HKK6/I7Xbrnnvu0fHjx9WiRQv9/PPPOu+8887hO5dx7FdeeUWrVq1SrVq19O2336pMmTKSpP/+979auXKl7rjjDhmGoW7duql379766aefvO9/8MEHNXfuXLVo0UInTpzQnDlzVL169XPOBftR58FW3jGH86j3Gtwo/fiEdHiztHeFVDnnMaIAhC7qvHNDnXfuDPPfKqIiJikpSQkJCUpMTGQgYUgjqkrJiVKf5VKZWnnv++GV0p6lUsfBUvsBgckHhKAzZ85o+/btqlGjhmJiYuyOEzYMw9D06dPVtWtXu6OcZceOHapRo4ZWrlyppk2b2h2n0PL6s0v9EBr4OSFH+a33/u8Bae2XUssHpWtfC1w+IIRQ5/kHdZ7/BUOdFzK3uAK28Pagy8evSvP7rOflkzJmAwMAAEBw897i+i9jVXluc133lZSW4t9MAIAihwY6IC/5GYPO48KbpOgE6dhO6a85/s0FAAAA3/i3SSI8al4ulaggnT4qbfnZ/7kAAEVKyIxBB9giv2PQSVJUrHVldcl71mQRtTr6NxsAZBLMI1ZUr149qPMBKOLyM0mEZNWDjW+XFrxpTRZR/3r/ZwMAUecVFfSgA/JSkB50ktT8Xuv5zx+l4/v9EgkAAAA+lJ9JIjyadLOeN/8snTziv0wAgCKHBjogLwXpQSdJ5RtIVVpZ71v5if9yAQAAwDcKckG2fAOpYhPJnWqNRQcAgI/QQAfkJvNED/ntQSdlmixickbBBwAAgOBjmpLSb80y8vlPo6Z3Wc+rPvdLJABA0UQDHZAbM1PjWn5mcfW4sKsUU1JK3CVtm+3rVAAAAPCVzBdT83vHRMNbJUektG+VdGC9X2IBAIoeGuiA3GQu2ArSgy6yWMb4JMs+9m0mAAAA+E7mC7L57UFXvLRUp5O1TC86AICP0EAH5MYsxBVVjxbpt7luniEl7fVdJgAAAPiOmWlIk4LUe57bXNd8IbnSfJsJAFAk0UAH5MadqdhyRBTsvWXrSlXbWo18K5gsAkDB3Hvvveratav3dYcOHdSvXz/v6+rVq2vs2LHe14Zh6Ouvvy7weSZOnKiSJUsWOmewyv79AYBcFfaOidpXSbFlpJMHpW2zfJ8LQNiizjs34Vzn0UAH5KawBZuHpxfdCiaLAFAwb7zxhiZOnJjr9qVLl+qhhx465/Pccccd2rx58zkfxy7hWngCCKDC3jHhjJQa324tr/rMt5kAhDXqvPwpinUeDXRAbgp7y4NH/RukYqWkpD3Slpm+ywUg7CUkJORZkJQtW1axsbHndI7U1FQVK1ZM5cqVO6fjAEBIcxdiDDqPpv+xnjf9JJ36x3eZAIQ16jzkhgY6IDfegs2QDKPg74+MySjcljNZBBAO3G63RowYoRo1aqhYsWJq0qSJvvrqqyz7/Pjjj6pTp46KFSumyy+/XBMnTpRhGDp27JgkaejQoWratGmW94wdO1bVq1f3vs5+60N2OXXt37dvn7p06aJixYqpZs2aWXLt2LFDhmFo2rRpuuyyyxQTE6PPPvvsrCuTOZ23X79+6tChg/d1hw4d1LdvX/Xr10/nnXeeypcvrw8++EAnT57Ufffdp7i4ONWqVUs//fRTrvk9X8Pw4cPVrVs3FS9eXJUrV9b48eOz7DNmzBg1atRIxYsXV5UqVdS7d2+dOHFCkjR37lzdd999SkxMlGEYMgxDQ4cO9b731KlTuv/++xUXF6eqVavq/fffzzMPgCIq8wXZgt4xUaGR9XClSOv+z7e5AAQcdR51nt1ooANy47nloTC95zya32s9b/lFStxzzpGAcGWapk6lnrLlYZpmvnOOGDFCkydP1rvvvqv169fr8ccf191336158+ZJknbv3q2bb75Z119/vVatWqUHHnhATz/9tL++bVkMGjRIt9xyi1avXq277rpLd955pzZu3Jhln6efflqPPfaYNm7cqE6dOhX6XJMmTVKZMmW0ZMkS9e3bV7169dJtt92mtm3basWKFbr66qt1zz336NSpU3ke59VXX1WTJk20cuVKb7aZMzN6HDscDr355ptav369Jk2apNmzZ+vJJ5+UJLVt21Zjx45VfHy89u3bp3379mngwIHe944ePVotWrTQypUr1bt3b/Xq1UubNm0q9NcMIExluWOiEP80apJ+MZbZXIFcUeedO+q8olHnFXDke6AI8fSgK8z4cx5lakvV20s7frfGorv8Wd9kA8LM6bTTavV5K1vOvfg/ixUb+e+3ESQnJ+vll1/Wr7/+qjZt2kiSatasqT/++EPvvfeeLrvsMr3zzju64IILNHr0aElS3bp1tXbtWo0cOdKvX4Mk3XbbbXrggQckScOHD9fMmTM1btw4vf322959+vXrp5tvvvmcz9WkSRM9//zzkqRnnnlGr7zyisqUKaMHH3xQkjR48GC98847WrNmjVq3bp3rcdq1a+ctbOvUqaP58+fr9ddf11VXXeXN61G9enW9+OKLevjhh/X2228rKipKCQkJMgxDFSpUOOvY11xzjXr37i1Jeuqpp/T6669rzpw5qlu37jl//QDCyLnWe41uk2YOkvaukA5ulMrV9102IExQ55076ryswrXOowcdkBtf9KCTMnrRrfhEcqXluSuA4LV161adOnVKV111lUqUKOF9TJ48Wdu2bZMkbdy4Ua1aZS1APUWev2U/T5s2bc66stqiRQufnKtx48beZafTqdKlS6tRo0bedeXLl5ckHTx4MM/j/FvmX3/9VR07dlTlypUVFxene+65R0eOHPnXK7bZM3qKu3/LA6AIOtd6r0RZqXZ6TxV60QEhizovA3WefehBB+TGFz3oJKn+9VJsaen4XutW13rXnHs2IMwUiyimxf9ZbNu588MzJsYPP/ygypUrZ9kWHR2d7/M5HI6zbrdITU3N9/vPRfHixfPcnt9skZGRWV4bhpFlnZE+bqfb7VZh7dixQ9ddd5169eqll156SaVKldIff/yhnj17KiUl5V8HT84p47nkARCmvPXeOfRbaNpN2vSDtGaa1HGI5OSfWEBm1HnUedlR5+WMTw8gN54xSQozHklmEdHWZBELxlmTRdBAB5zFMIx83X5gpwYNGig6Olq7du3SZZddluM+9evX17fffptl3aJFi7K8Llu2rPbv3y/TNL0FzqpVq84536JFi9S9e/csr5s1a1agY5QtW1br1q3Lsm7VqlVnFUG+kv17s2jRItWvb90etnz5crndbo0ePVqO9L+Hv/jiiyz7R0VFyeVyCQAKzfTBBdnanaRipaQTB6S/5ki1r/JNNiBMUOetOud81HlFA7e4ArnxVQ86SWp+n/W8ZaZ0bNe5Hw9A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zj1p0iRFRERoyZIleuONNzRmzBh9+GHWXrCjR49WixYttHLlSvXu3Vu9evXSpk2bvNvj4uI0ceJEbdiwQW+88YY++OADvf76697td911l84//3wtXbpUy5cv19NPP63IyEhJ0rZt29S5c2fdcsstWrNmjaZNm6Y//vhDffr0yTXz77//ru7du+uxxx7Thg0b9N5772nixIneIsXtduvmm29WVFSUFi9erHfffVdPPfWUL79tucrP9/O1115TkyZNtHLlynP62W7btk0//fSTZsyYoSlTpuijjz7Stddeqz179mjevHkaOXKknn/+eS1evPhcvywAocKfYw47nFLTbtbyik98f3wgTFHnUecVRljUeSaySExMNCWZiYmJdkeB3VZ+bppD4k1z8k3+Pc+uxdZ5hpczzZNH/HsuIAicPn3a3LBhg3n69OlzPtYLL7xgSjKjoqJMSeYLL7zgg4S5u+yyy8z69eubbrfbu+6pp54y69ev731drVo18+677/a+drvdZrly5cx33nkn1+O++uqrZvPmzb2v4+LizIkTJ+a4b8+ePc2HHnooy7rff//ddDgcuX5PO3bsaL788stZ1n3yySdmxYoVTdM0zZ9//tmMiIgw//77b+/2n376yZRkTp8+3TRN05wzZ44pyTx69Kh3n5UrV5qSzO3bt5umaZoff/yxmZCQ4N0+ZMgQs0mTJt7XPXr0MG+88Ubv6/x+P7t27Zol+/bt201J5sqVK3M8r2ma5vTp083MZc6QIUPM2NhYMykpybuuU6dOZvXq1U2Xy+VdV7duXXPEiBFmTvL6s0v9EBr4OeEs6/5n1WETuvjn+Ie3WscfkmCaR3f55xxAEKHOOxt1HnVeftGDDsiNdww6P/agk6TzW0oVGklpZ6RVn/n3XECYGTRokKKiopSSkqKoqCi/XlH1aN26dZYu9W3atNGWLVvkcrm86xo3buxdNgxDFSpU0MGDB73rpk2bpnbt2qlChQoqUaKEnn/+ee3atcu7vX///nrggQd05ZVX6pVXXtG2bdu821avXq2JEyeqRIkS3kenTp3kdru1ffv2HDOvXr1aL7zwQpb3PPjgg9q3b59OnTqljRs3qkqVKqpUqVKWrysQ8vP9bNGihU/OVb16dcXFxXlfly9fXg0aNJAj0+yN5cuXz/KzAhDm/D2kSekLpGqXSDKl1VP8cw4g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", "text/plain": [ "
" ] @@ -132,10 +129,10 @@ "ax[0].set_ylabel('Ω / mN/m')\n", "ax[0].legend(['adsorption path', 'desorption path', 'equilibrium path', 'phase equilibrium']);\n", "\n", - "ax[1].plot(StateVec([p.bulk for p in isotherm1.profiles]).density/(si.KILO*si.MOL/si.METER**3), isotherm1.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER))\n", - "ax[1].plot(StateVec([p.bulk for p in isotherm2.profiles]).density/(si.KILO*si.MOL/si.METER**3), isotherm2.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER))\n", - "ax[1].plot(StateVec([p.bulk for p in isotherm3.profiles]).density/(si.KILO*si.MOL/si.METER**3), isotherm3.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER))\n", - "ax[1].plot(StateVec([p.bulk for p in equilibrium.profiles]).density/(si.KILO*si.MOL/si.METER**3), equilibrium.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER), 'xk')\n", + "ax[1].plot(feos.StateVec([p.bulk for p in isotherm1.profiles]).density/(si.KILO*si.MOL/si.METER**3), isotherm1.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER))\n", + "ax[1].plot(feos.StateVec([p.bulk for p in isotherm2.profiles]).density/(si.KILO*si.MOL/si.METER**3), isotherm2.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER))\n", + "ax[1].plot(feos.StateVec([p.bulk for p in isotherm3.profiles]).density/(si.KILO*si.MOL/si.METER**3), isotherm3.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER))\n", + "ax[1].plot(feos.StateVec([p.bulk for p in equilibrium.profiles]).density/(si.KILO*si.MOL/si.METER**3), equilibrium.grand_potential/(si.MILLI*si.NEWTON*si.ANGSTROM**2/si.METER), 'xk')\n", "ax[1].set_xlim(0,0.1)\n", "ax[1].set_xlabel('ρ / kmol/m³')\n", "ax[1].set_ylabel('U / mN/m')\n", @@ -156,7 +153,7 @@ "outputs": [ { "data": { - "image/png": "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0UsvvaTRo0ebqBMAAs6JkRk/FwIEOa9HZvbt26d27dpJOjY/xtl+fdlll2nVqlX1Wx0ABDBaswHf8DrMtGvXTtu2bZMkderUSa+99pqkYyM2zhtPAgBozQZ8xeswc/PNN+u///2vJOn+++/XnDlzFBkZqUmTJulPf/pTvRcIAIGK1mzAN7yeMzNp0iTX14MGDdI333yj3NxcdejQQd26davX4gAgkLnmzJBmAKO8DjM7duxQcnKya7tNmzZq06ZNvRYFAMHA5lxnhstMgFFeX2Y699xz1a9fPz399NPav3+/iZoAICicuNEkYQYwyesws27dOvXs2VPTp09XYmKiRowYoTfeeENlZWUm6gOAgOWcM8PADGCW12Hml7/8pR577DFt375dH374oVq0aKFx48YpPj7e7Y7ZAHC2o5sJ8A2vw4yTzWbTgAED9PTTT2v58uVq27atnnvuufqsDQACmp05M4BP1DrM7Ny5U3/729/UvXt39ezZU40bN9acOXPqszYACGh0MwG+4XU307x587Ro0SKtXr1anTp10ujRo/XOO+/Q0QQAJ2GdGcA3vB6Zefjhh9WrVy/l5ubqq6++UmZmZq2DTFZWlnr06KEmTZqoZcuWGjFihPLy8tyO6d+/v2w2m9vjjjvuqNX7AYAv2elmAnzC65GZ7du3u+4Eezp//OMfNX36dDVv3rzGY3JycpSRkaEePXro6NGj+r//+z8NHjxYmzdvVnR0tOu42267TdOnT3dtR0VFeVs2APgcc2YA3/A6zHgSZCTpxRdf1D333HPaMLN06VK37YULF6ply5bKzc1V3759XfujoqKUkJDgbakA4FchrstMhBnApFpPAD6T2twl9sCBA5Kkpk2buu1/6aWX1Lx5c3Xp0kWZmZk6dOhQjecoKytTcXGx2wMA/MHGnBnAJ7wemTGlsrJSEydO1KWXXqouXbq49o8aNUpt2rRRUlKSNm7cqPvuu095eXlavHhxtefJysrStGnTfFU2ANSIbibANxpMmMnIyNBXX32lTz75xG3/uHHjXF937dpViYmJGjhwoPLz89W+fftTzpOZmanJkye7touLi93uJQUAvsKcGcA3GkSYGT9+vN577z2tWrVKrVq1Ou2xvXr1kiRt3bq12jATERGhiIgII3UCgDdc3UyEGcAov4YZy7J055136q233lJ2drbatm17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QeHgwYPWl19+aX355ZeWJGvmzJnWl19+af3www+WZVnW/fffb/3+9793Hf/dd99ZUVFR1p/+9Cdry5Yt1pw5c6yQkBBr6dKl/voWgoK3n8OsWbOst99+2/r222+tTZs2WXfddZdlt9ut5cuX++tbCAp/+MMfrNjYWCs7O9vavXu363Ho0CHXMSf/bFq9erUVGhpq/f3vf7e2bNliPfjgg1ZYWJi1adMmf3wLQaE2n4M/fkcQZmBZlmU9+eSTVuvWra3w8HCrZ8+e1tq1a13P9evXz0pPT3dtT5w40XVsfHy8lZaWZq1fv94PVQcXZ4vvyQ/nn316errVr1+/U17TvXt3Kzw83GrXrp21YMECn9cdbLz9HB599FGrffv2VmRkpNW0aVOrf//+1scff+yf4oNIdZ+BJLe/4yf/bLIsy3rttdes8847zwoPD7c6d+5svf/++74tPMjU5nPwx+8I2/FiAQAAAhJzZgAAQEAjzAAAgIBGmAEAAAGNMAMAAAIaYQYAAAQ0wgwAAAhohBkAABDQCDMAACCgEWYABLSpU6eqe/fu/i4DgB8RZgA0eM8995wuu+wyf5cBoIEizABo8N555x1dddVVPn3PiooKn74fgNojzADwif79+2v8+PEaP368YmNj1bx5cz3wwAM60+3hjhw5ov/85z9nDDPz5s1TcnKyoqKidP311+vAgQOu57744gtdccUVat68uWJjY9WvXz+tX7/e7fU2m01z587VVVddpejoaD3yyCO1/2YB+BRhBoDPPPfccwoNDdXnn3+uxx9/XDNnztQzzzxz2tesWLFCv/jFL9SpU6caj9m6datee+01LVmyREuXLtWXX36pP/7xj67nDx48qPT0dH3yySdau3atOnbsqLS0NB08eNDtPFOnTtVvfvMbbdq0SWPHjq3bNwvAZ7hrNgCf6N+/vwoLC/X111/LZrNJku6//369++672rx5c42vGzdunGJjY/XYY49V+/zUqVP18MMP64cfftAvfvELSdLSpUs1bNgw/fjjj0pISDjlNZWVlYqLi9OiRYv061//WtKxkZmJEydq1qxZdf1WAfgYIzMAfKZ3796uICNJqamp+vbbb+VwOKo93rIsLVmy5IyXmFq3bu0KMs7zVlZWKi8vT5K0Z88e3XbbberYsaNiY2MVExOjkpISbd++3e08l1xySW2/NQB+FOrvAgCgJp9//rmOHj2qPn361Ok86enp+vnnn/X444+rTZs2ioiIUGpqqsrLy92Oi46OrtP7APAPRmYA+Mxnn33mtu2cvxISElLt8e+8846GDRtW4/NO27dv165du9zOa7fblZKSIklavXq1JkyYoLS0NHXu3FkRERHau3dvHb8bAA0FYQaAz2zfvl2TJ09WXl6eXn75ZT355JO66667ajz+3Xff9aglOzIyUunp6frvf/+r//f//p8mTJig66+/3jVfpmPHjnrhhRe0ZcsWffbZZxo9erQaNWpUb98XAP8izADwmZtuukmHDx9Wz549lZGRobvuukvjxo2r9tj8/Hxt3bpVQ4YMOeN5O3TooGuuuUZpaWkaPHiwunXrpqeeesr1/Pz587V//35ddNFF+v3vf68JEyaoZcuW9fZ9AfAvupkA+ET//v3VvXt3zZ4926PjZ86cqeXLl+uDDz4wWxiAgMfIDIAGqVWrVsrMzPR3GQACAN1MABqk66+/3t8lAAgQXGYCAAABjctMAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGiEGQAAEND+P8LqAShpoRdBAAAAAElFTkSuQmCC", + "image/png": "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0UsvvaTRo0ebqBMAAs6JkRk/FwIEOa9HZvbt26d27dpJOjY/xtl+fdlll2nVqlX1Wx0ABDBaswHf8DrMtGvXTtu2bZMkderUSa+99pqkYyM2zhtPAgBozQZ8xeswc/PNN+u///2vJOn+++/XnDlzFBkZqUmTJulPf/pTvRcIAIGK1mzAN7yeMzNp0iTX14MGDdI333yj3NxcdejQQd26davX4gAgkLnmzJBmAKO8DjM7duxQcnKya7tNmzZq06ZNvRYFAMHA5lxnhstMgFFeX2Y699xz1a9fPz399NPav3+/iZoAICicuNEkYQYwyesws27dOvXs2VPTp09XYmKiRowYoTfeeENlZWUm6gOAgOWcM8PADGCW12Hml7/8pR577DFt375dH374oVq0aKFx48YpPj7e7Y7ZAHC2o5sJ8A2vw4yTzWbTgAED9PTTT2v58uVq27atnnvuufqsDQACmp05M4BP1DrM7Ny5U3/729/UvXt39ezZU40bN9acOXPqszYACGh0MwG+4XU307x587Ro0SKtXr1anTp10ujRo/XOO+/Q0QQAJ2GdGcA3vB6Zefjhh9WrVy/l5ubqq6++UmZmZq2DTFZWlnr06KEmTZqoZcuWGjFihPLy8tyO6d+/v2w2m9vjjjvuqNX7AYAv2elmAnzC65GZ7du3u+4Eezp//OMfNX36dDVv3rzGY3JycpSRkaEePXro6NGj+r//+z8NHjxYmzdvVnR0tOu42267TdOnT3dtR0VFeVs2APgcc2YA3/A6zHgSZCTpxRdf1D333HPaMLN06VK37YULF6ply5bKzc1V3759XfujoqKUkJDgbakA4FchrstMhBnApFpPAD6T2twl9sCBA5Kkpk2buu1/6aWX1Lx5c3Xp0kWZmZk6dOhQjecoKytTcXGx2wMA/MHGnBnAJ7wemTGlsrJSEydO1KWXXqouXbq49o8aNUpt2rRRUlKSNm7cqPvuu095eXlavHhxtefJysrStGnTfFU2ANSIbibANxpMmMnIyNBXX32lTz75xG3/uHHjXF937dpViYmJGjhwoPLz89W+fftTzpOZmanJkye7touLi93uJQUAvsKcGcA3GkSYGT9+vN577z2tWrVKrVq1Ou2xvXr1kiRt3bq12jATERGhiIgII3UCgDdc3UyEGcAov4YZy7J055136q233lJ2drbatm17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QeHgwYPWl19+aX355ZeWJGvmzJnWl19+af3www+WZVnW/fffb/3+9793Hf/dd99ZUVFR1p/+9Cdry5Yt1pw5c6yQkBBr6dKl/voWgoK3n8OsWbOst99+2/r222+tTZs2WXfddZdlt9ut5cuX++tbCAp/+MMfrNjYWCs7O9vavXu363Ho0CHXMSf/bFq9erUVGhpq/f3vf7e2bNliPfjgg1ZYWJi1adMmf3wLQaE2n4M/fkcQZmBZlmU9+eSTVuvWra3w8HCrZ8+e1tq1a13P9evXz0pPT3dtT5w40XVsfHy8lZaWZq1fv94PVQcXZ4vvyQ/nn316errVr1+/U17TvXt3Kzw83GrXrp21YMECn9cdbLz9HB599FGrffv2VmRkpNW0aVOrf//+1scff+yf4oNIdZ+BJLe/4yf/bLIsy3rttdes8847zwoPD7c6d+5svf/++74tPMjU5nPwx+8I2/FiAQAAAhJzZgAAQEAjzAAAgIBGmAEAAAGNMAMAAAIaYQYAAAQ0wgwAAAhohBkAABDQCDMAACCgEWYABLSpU6eqe/fu/i4DgB8RZgA0eM8995wuu+wyf5cBoIEizABo8N555x1dddVVPn3PiooKn74fgNojzADwif79+2v8+PEaP368YmNj1bx5cz3wwAM60+3hjhw5ov/85z9nDDPz5s1TcnKyoqKidP311+vAgQOu57744gtdccUVat68uWJjY9WvXz+tX7/e7fU2m01z587VVVddpejoaD3yyCO1/2YB+BRhBoDPPPfccwoNDdXnn3+uxx9/XDNnztQzzzxz2tesWLFCv/jFL9SpU6caj9m6datee+01LVmyREuXLtWXX36pP/7xj67nDx48qPT0dH3yySdau3atOnbsqLS0NB08eNDtPFOnTtVvfvMbbdq0SWPHjq3bNwvAZ7hrNgCf6N+/vwoLC/X111/LZrNJku6//369++672rx5c42vGzdunGJjY/XYY49V+/zUqVP18MMP64cfftAvfvELSdLSpUs1bNgw/fjjj0pISDjlNZWVlYqLi9OiRYv061//WtKxkZmJEydq1qxZdf1WAfgYIzMAfKZ3796uICNJqamp+vbbb+VwOKo93rIsLVmy5IyXmFq3bu0KMs7zVlZWKi8vT5K0Z88e3XbbberYsaNiY2MVExOjkpISbd++3e08l1xySW2/NQB+FOrvAgCgJp9//rmOHj2qPn361Ok86enp+vnnn/X444+rTZs2ioiIUGpqqsrLy92Oi46OrtP7APAPRmYA+Mxnn33mtu2cvxISElLt8e+8846GDRtW4/NO27dv165du9zOa7fblZKSIklavXq1JkyYoLS0NHXu3FkRERHau3dvHb8bAA0FYQaAz2zfvl2TJ09WXl6eXn75ZT355JO66667ajz+3Xff9aglOzIyUunp6frvf/+r//f//p8mTJig66+/3jVfpmPHjnrhhRe0ZcsWffbZZxo9erQaNWpUb98XAP8izADwmZtuukmHDx9Wz549lZGRobvuukvjxo2r9tj8/Hxt3bpVQ4YMOeN5O3TooGuuuUZpaWkaPHiwunXrpqeeesr1/Pz587V//35ddNFF+v3vf68JEyaoZcuW9fZ9AfAvupkA+ET//v3VvXt3zZ4926PjZ86cqeXLl+uDDz4wWxiAgMfIDIAGqVWrVsrMzPR3GQACAN1MABqk66+/3t8lAAgQXGYCAAABjctMAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGiEGQAAEND+P8LqAShpoRdBAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -168,7 +165,7 @@ "source": [ "plt.plot(isotherm3.pressure/si.BAR, isotherm3.enthalpy_of_adsorption/(si.KILO*si.JOULE/si.MOL))\n", "\n", - "vle = PhaseEquilibrium.pure(func, 350*si.KELVIN)\n", + "vle = feos.PhaseEquilibrium.pure(func, 350*si.KELVIN)\n", "#h_vap = (vle.vapor.molar_enthalpy() - vle.liquid.molar_enthalpy())/(si.KILO*si.JOULE/si.MOL)\n", "#plt.plot([pmin/si.BAR, pmax/si.BAR],[h_vap,h_vap])\n", "plt.xlabel('p / bar')\n", @@ -192,20 +189,20 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 6.2 ms, sys: 19.9 ms, total: 26.1 ms\n", - "Wall time: 10.4 s\n" + "CPU times: user 9.87 s, sys: 28.7 ms, total: 9.9 s\n", + "Wall time: 9.86 s\n" ] } ], "source": [ "%%time\n", "def plt_iso(L):\n", - " isotherm = Adsorption1D.equilibrium_isotherm(func, 350*si.KELVIN, si.linspace(0.5*si.BAR, 1.6*si.BAR, 100), Pore1D(Geometry.Cartesian, L, potential), solver=DFTSolver().newton())\n", + " pore = feos.Pore1D(func, feos.Geometry.Cartesian, L, potential)\n", + " isotherm = feos.Adsorption.equilibrium_isotherm(func, 350*si.KELVIN, si.linspace(0.5*si.BAR, 1.6*si.BAR, 100), pore.grid, pore.external_potential, solver=feos.DFTSolver().newton())\n", " return isotherm.pressure, isotherm.total_adsorption\n", "\n", "L_vec = si.linspace(10*si.ANGSTROM,40*si.ANGSTROM,7)\n", - "with ProcessPoolExecutor(1) as ex:\n", - " isotherms = [i for i in ex.map(plt_iso, L_vec)]" + "isotherms = [plt_iso(L) for L in L_vec]" ] }, { @@ -215,9 +212,9 @@ "outputs": [ { "data": { - "image/png": "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fjeuvfbaOOGEEyr2nX766bFs2bK48MILd8RUAQAAADrjRXu+M0B03Vqq2F4dO7p+2stuQdVXIOk+vx9j7ZTfxZHNJFxtUX1VRlIEqb5ao0YY6bUt+SqOyPreDYBqYssItHnz5nj66adLz9euXRurVq2KPffcM2bOnBmbN2+OK6+8MlpaWmLq1KnxzDPPxBVXXBH7779/nHjiiYlj/vSnP43XXnstzjvvvF5XsLS0tERra6vYAgAAAOwQWx7fEK/96Kmd59ZV3VdyNPaOGLWiR+l7NRq7r8DoOr/7So/tho6E7W5RBbDTEltGoMceeyw++MEPlp5fdtllERHx0Y9+NG6++ebI5XKxevXquOWWW+L111+PadOmxQknnBBf+tKXYuzYsYljtra2xrx58xJvFdbS0hLXXHNNrF69OmbPnj08bwoAAACgy9ZnNvaElmwkXLVRFTe6by3V2HtfxTnd3+nR2Eckach23faqJ5S4kgOA7RFbRqBjjz228wvSahg/fnzcfffdAxrzzjvvrLnvfe97X5+vBwAAADAcmk7cN5o+OKPe0wCA7crWewIAAAAAkMjFJACMEGILAAAAAABACmILAAAAAABACmILAAAAAABACmILAAAAAABACmILAAAAAABACmILAAAAAABACjtNbLn66qsjk8nEJZdcUtrW1tYWCxYsiEmTJsWECROipaUlNmzYUL9JAgAAAAAAVNkpYsujjz4a3/72t2P27NkV2y+99NK4884749Zbb437778/1q1bF2eeeWadZgkAAAAAANBb3WPL5s2b40Mf+lD8y7/8S7ztbW8rbd+4cWO0trbG1772tZg7d24cfvjhsWTJknjwwQfj4YcfruOMAQAAAAAAetQ9tixYsCBOOeWUmDdvXsX2lStXRnt7e8X2gw46KGbOnBkPPfRQzfG2bt0amzZtqvgZba666qo44ogjYuLEibH33nvH6aefHmvWrKk4Js0t2JYtWxa5XC4WLFgwHNMHAAAAAIBRpa6xZfny5fH444/HVVdd1Wvf+vXrY8yYMbHHHntUbJ8yZUqsX7++5phXXXVVNDc3l35mzJgx1NOuu/vvvz8WLFgQDz/8cNx7773R3t4eJ5xwQmzZsqV0TJpbsLW2tsYVV1wRy5Yti7a2tuF6GwAAAAAAMCo01OuFn3vuufjkJz8Z9957b4wbN27Ixl24cGFcdtllpeebNm0adcHlrrvuqnh+8803x9577x0rV66M97///aVbsC1dujTmzp0bERFLliyJd77znfHwww/HUUcdVXPstWvXxoMPPhg//vGP4xe/+EXcdtttcc455wzr+wEAAAAAgJGsbrFl5cqV8eKLL8Z73/ve0rZ8Ph8PPPBAfPOb34y77747tm3bFq+//nrF1S0bNmyIqVOn1hx37NixMXbs2EHNqVgsxlsdbw3q3LTGN4yPTCYzqHM3btwYERF77rlnRGz/Fmx9xZYlS5bEKaecEs3NzXHuuedGa2ur2AIAAAAAAH2oW2w57rjj4te//nXFto9//ONx0EEHxac+9amYMWNGNDY2xn333RctLS0REbFmzZp49tlnY86cOcMyp7c63oojlx45LGNvzyPnPBK7Ne424PMKhUJccsklcfTRR8chhxwSEYO/BVuhUIibb745brjhhoiIOPvss+Pyyy+PtWvXxqxZswY8NwAAAAAA2BXULbZMnDixFAe67b777jFp0qTS9vPOOy8uu+yy2HPPPaOpqSkuvvjimDNnTp9XZuxqFixYEL/5zW/iv/7rv1KPde+998aWLVti/vz5ERExefLkOP7442Px4sXxpS99KfX4AAAAAAAwGtUttvTH17/+9chms9HS0hJbt26NE088MW688cZhe73xDePjkXMeGbbxt/faA3XRRRfFT3/603jggQdi+vTppe1Tp04d1C3YWltb49VXX43x43vmUigUYvXq1XHllVdGNpsd8BwBAAAAAGC026liy4oVKyqejxs3LhYtWhSLFi3aIa+fyWQGdSuvHa1YLMbFF18ct99+e6xYsaLXLb4OP/zwAd+C7ZVXXok77rgjli9fHu9617tK2/P5fBxzzDFxzz33xEknnTR8bwoAAAAAAEaonSq20D8LFiyIpUuXxh133BETJ04sfQ9Lc3NzjB8/Ppqbmwd8C7bvfe97MWnSpDjrrLMik8lU7Js/f360traKLQAAAAAAkEBsGYFuuummiIg49thjK7YvWbIkPvaxj0XEwG/Btnjx4jjjjDN6hZaIiJaWlvjwhz8cL7/8ckyePHnI3gcAAAAAAIwGmWKxWKz3JIbTpk2borm5OTZu3BhNTU0V+9ra2mLt2rUxa9asGDduXJ1mOLL5DAEAAICh9uqtv483V26IppP2jaZjZ9R7OgCMMn11g8HyjecAAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0AAAAAAAApiC0j0FVXXRVHHHFETJw4Mfbee+84/fTTY82aNRXHHHvssZHJZCp+Lrzwwn6Nv2zZssjlcrFgwYLhmD4AAAAAAIwqYssIdP/998eCBQvi4YcfjnvvvTfa29vjhBNOiC1btlQcd/7558cLL7xQ+rnmmmv6NX5ra2tcccUVsWzZsmhraxuOtwAAAAAAAKNGQ70nwMDdddddFc9vvvnm2HvvvWPlypXx/ve/v7R9t912i6lTpw5o7LVr18aDDz4YP/7xj+MXv/hF3HbbbXHOOecMybwBAAAAAGA0cmVLmWKxGIU336zLT7FYHPS8N27cGBERe+65Z8X273//+zF58uQ45JBDYuHChfHmm29ud6wlS5bEKaecEs3NzXHuuedGa2vroOcFAAAAAAC7Ale2lCm+9Vasee/hdXntAx9fGZnddhvweYVCIS655JI4+uij45BDDiltP+ecc+Ltb397TJs2LVavXh2f+tSnYs2aNXHbbbf1OdbNN98cN9xwQ0REnH322XH55ZfH2rVrY9asWQN/UwAAAAAAsAsQW0a4BQsWxG9+85v4r//6r4rtF1xwQenxu9/97thnn33iuOOOi2eeeSb222+/xLHuvffe2LJlS8yfPz8iIiZPnhzHH398LF68OL70pS8N35sAAAAAAIARTGwpkxk/Pg58fGXdXnugLrroovjpT38aDzzwQEyfPr3PY4888siIiHj66adrxpbW1tZ49dVXY3zZXAqFQqxevTquvPLKyGbddQ4AAAAAAKqJLWUymcygbuW1oxWLxbj44ovj9ttvjxUrVvTrFl+rVq2KiIh99tkncf8rr7wSd9xxRyxfvjze9a53lbbn8/k45phj4p577omTTjppSOYPAAAAAACjidgyAi1YsCCWLl0ad9xxR0ycODHWr18fERHNzc0xfvz4eOaZZ2Lp0qUxf/78mDRpUqxevTouvfTSeP/73x+zZ89OHPN73/teTJo0Kc4666zIZDIV++bPnx+tra1iCwAAAAAAJHBfqBHopptuio0bN8axxx4b++yzT+nnBz/4QUREjBkzJn7+85/HCSecEAcddFBcfvnl0dLSEnfeeWfNMRcvXhxnnHFGr9ASEdHS0hL/+q//Gi+//PKwvScAAAAAABipXNkyAhWLxT73z5gxI+6///4Bjbl69eqa+84666w466yzBjQeAAAAAADsKlzZAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYMgLddNNNMXv27GhqaoqmpqaYM2dO/OxnP6s4pq2tLRYsWBCTJk2KCRMmREtLS2zYsKFf4y9btixyuVwsWLBgOKYPAAAAAACjitgyAk2fPj2uvvrqWLlyZTz22GMxd+7cOO200+LJJ58sHXPppZfGnXfeGbfeemvcf//9sW7dujjzzDP7NX5ra2tcccUVsWzZsmhraxuutwEAAAAAAKOC2DICnXrqqTF//vw44IAD4h3veEd85StfiQkTJsTDDz8cEREbN26M1tbW+NrXvhZz586Nww8/PJYsWRIPPvhg6Zha1q5dGw8++GB8+tOfjne84x1x22237Yi3BAAAAAAAI5bYUqZYLEb71nxdforF4qDmnM/nY/ny5bFly5aYM2dORESsXLky2tvbY968eaXjDjrooJg5c2Y89NBDfY63ZMmSOOWUU6K5uTnOPffcaG1tHdS8AAAAAABgV9FQ7wnsTDq2FeKfP3l/XV77gm98IBrH5vp9/K9//euYM2dOtLW1xYQJE+L222+Pgw8+OCIi1q9fH2PGjIk99tij4pwpU6bE+vXra45ZKBTi5ptvjhtuuCEiIs4+++y4/PLLY+3atTFr1qyBvykAAAAAANgFuLJlhDrwwANj1apV8cgjj8Tf/u3fxkc/+tH47W9/m2rMe++9N7Zs2RLz58+PiIjJkyfH8ccfH4sXLx6KKQMAAAAAwKjkypYyDWOyccE3PlC31x6IMWPGxP777x8REYcffng8+uij8Y1vfCO+/e1vx9SpU2Pbtm3x+uuvV1zdsmHDhpg6dWrNMVtbW+PVV1+N8ePHl7YVCoVYvXp1XHnllZHNanMAAAAAAFBNbCmTyWQGdCuvnUmhUIitW7dGRGd8aWxsjPvuuy9aWloiImLNmjXx7LPPlr7Xpdorr7wSd9xxRyxfvjze9a53lbbn8/k45phj4p577omTTjpp+N8IAAAAAACMMGLLCLRw4cI4+eSTY+bMmfHGG2/E0qVLY8WKFXH33XdHRERzc3Ocd955cdlll8Wee+4ZTU1NcfHFF8ecOXPiqKOOShzze9/7XkyaNCnOOuusyGQyFfvmz58fra2tYgsAAAAAACQQW0agF198MT7ykY/ECy+8EM3NzTF79uy4++674/jjjy8d8/Wvfz2y2Wy0tLTE1q1b48QTT4wbb7yx5piLFy+OM844o1doiYhoaWmJD3/4w/Hyyy/H5MmTh+U9AQAAAADASJUpFovFek9iOG3atCmam5tj48aN0dTUVLGvra0t1q5dG7NmzYpx48bVaYYjm88QAAAAGGqv3vr7eHPlhmg6ad9oOnZGvacDwCjTVzcYLN94DgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYAgAAAAAAkILYMgLddNNNMXv27GhqaoqmpqaYM2dO/OxnP6s45thjj41MJlPxc+GFF/Zr/GXLlkUul4sFCxYMx/QBAAAAAGBUEVtGoOnTp8fVV18dK1eujMceeyzmzp0bp512Wjz55JMVx51//vnxwgsvlH6uueaafo3f2toaV1xxRSxbtiza2tqG4y0AAAAAAMCoIbaMQKeeemrMnz8/DjjggHjHO94RX/nKV2LChAnx8MMPVxy32267xdSpU0s/TU1N2x177dq18eCDD8anP/3peMc73hG33XbbcL0NAAAAAAAYFcSWMsViMdrb2uryUywWBzXnfD4fy5cvjy1btsScOXMq9n3/+9+PyZMnxyGHHBILFy6MN998c7vjLVmyJE455ZRobm6Oc889N1pbWwc1LwAAAAAA2FU01HsCO5OOrVvj+o/+f+ry2n93y4+icdy4fh//61//OubMmRNtbW0xYcKEuP322+Pggw8u7T/nnHPi7W9/e0ybNi1Wr14dn/rUp2LNmjV9XqlSKBTi5ptvjhtuuCEiIs4+++y4/PLLY+3atTFr1qzBvzkAAAAAABjFxJYR6sADD4xVq1bFxo0b40c/+lF89KMfjfvvv78UXC644ILSse9+97tjn332ieOOOy6eeeaZ2G+//RLHvPfee2PLli0xf/78iIiYPHlyHH/88bF48eL40pe+NPxvCgAAAAAA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jVi8eHF87GMfG+LpAAAAAAAAjCzZQZ2UzcbRRx891HMBAAAAAAAYcQYVWy699NJYtGjRUM8FAAAAAABgxBnUbcT+7//9v3HKKafEfvvtFwcffHA0NjZW7L/tttuGZHIAAAAAAAA7u0HFlr/7u7+LX/ziF/HBD34wJk2aFJlMZqjnBQAAAAAAMCIMKrbccsst8eMf/zhOOeWUoZ4PAAAAAADAiDKo72zZc889Y7/99hvquQAAAAAAAIw4g4ot//AP/xBf+MIX4s033xzq+QAAAAAAAIwog7qN2PXXXx/PPPNMTJkyJfbdd99obGys2P/4448PyeQAAAAAAAB2doOKLaeffvoQTwMAAAAAAGBkGlRs+cIXvjDU8wAAAAAAABiRBvWdLQAAAAAAAHQSWwAAAAAAAFIQWwAAAAAAAFIQWwAAAAAAAFIQWwAAAAAAAFIYUGx5/PHHY+3ataXn3/ve9+Loo4+OGTNmxDHHHBPLly8f8gkCAAAAAADszAYUWz7+8Y/HM888ExER3/nOd+Jv/uZv4i/+4i/i7//+7+OII46I888/PxYvXjwsEwUAAAAAANgZNQzk4KeeeioOOOCAiIi48cYb4xvf+Eacf/75pf1HHHFEfOUrX4lPfOITQztLAAAAAACAndSArmzZbbfd4uWXX46IiOeffz7e9773Vew/8sgjK24zBgAAAAAAMNoNKLacfPLJcdNNN0VExAc+8IH40Y9+VLH/hz/8Yey///5DNzsAAAAAAICd3IBiyz/+4z/GfffdFx/4wAdixowZce2118Zf/dVfxQUXXBAf+MAH4h/+4R/i6quv7vd4V111VRxxxBExceLE2HvvveP000+PNWvWVBzT1tYWCxYsiEmTJsWECROipaUlNmzYMJBpAwAAAAAADJsBxZZp06bF//t//y/mzJkTd911VxSLxfjVr34V99xzT0yfPj1++ctfxvz58/s93v333x8LFiyIhx9+OO69995ob2+PE044IbZs2VI65tJLL40777wzbr311rj//vtj3bp1ceaZZw5k2gAAAAAAAMOmYaAn7LHHHnH11VcP6AqWWu66666K5zfffHPsvffesXLlynj/+98fGzdujNbW1li6dGnMnTs3IiKWLFkS73znO+Phhx+Oo446KvUcAAAAAAAA0hjQlS1Jli1bVnElShobN26MiIg999wzIiJW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REaPHt3qdxmuu+66eO6552LFihVuLQrdRFNTU6RSqfjFL34RVVVVERGxfPny+NSnPhWrV6/OeZJGtyq2DBw4MOrr61stq6+vj8rKSrNaAKAbevDBB2POnDnx8MMPX3CrUaB7uPrqqyMi4n3ve1/U19fH0qVLFVugmzh16lT88Y9/jH379sXcuXMj4o0PW5IkiZ49e8aWLVviIx/5SImzBEph4sSJsWvXrlKnAXSSQYMGxeDBg1sKLRER7373uyNJkvjXv/4VI0eOzClOtyq21NTUxKZNm1ot+81vfhM1NTUlyggAKJX169fH7Nmz48EHH4zp06eXOh2gC2hqaorGxsZSpwF0ksrKynj66adbLVu9enVs27YtfvnLX7YUY4HuZ//+/TFo0KBSpwF0kuuvvz4efvjhOH36dLztbW+LiIi///3vUVZWFkOGDMk5zkVdbDl9+nQcOnSo5fHzzz8f+/fvj759+8awYcNi0aJF8cILL8TPf/7ziIj4/Oc/H/fcc0985StfidmzZ8e2bdvioYceiscff7xUmwB0gHzHgog3Tpya+x47diz2798fvXr1ive85z2dnT7QAfIdB9atWxd1dXWxatWquPbaa+Po0aMREVFRUdHqmyzAxSPfceDee++NYcOGxZgxYyIiYseOHXH33XfHvHnzSpI/0DHyGQvKysrive99b6v+/fv3j969e1+wHLh45HtOsHLlyrj66qtj7Nix8eqrr8aaNWti27ZtsWXLllJtAlCgfMeBWbNmxTe+8Y247bbbYtmyZXH8+PH48pe/HLNnz87vjljJRex3v/tdEhEX/Kmrq0uSJEnq6uqSSZMmXdCnuro66dWrV/LOd74zWbt2bafnDXSs9owF6doPHz6803MHOka+48CkSZOytgcuPvmOA9///veTsWPHJpdddllSWVmZvP/9709Wr16dnD17tjQbAHSI9lwbnGvJkiXJuHHjOiVXoDjyHQe+853vJO9617uS3r17J3379k1qa2uTbdu2lSZ5oEO053zgwIEDyZQpU5KKiopkyJAhyYIFC5L//ve/ea03lSRJkntpBgAAAAAAgHOVlToBAAAAAACAi5liCwAAAAAAQAEUWwAAAAAAAAqg2AIAAAAAAFAAxRYAAAAAAIACKLYAAAAAAAAUQLEFAAAAAACgAIotAABAt7F06dKorq4udRoAAMAlRrEFAAC4pNx///3x4Q9/uNRpAAAA3YhiCwAAcEnZsGFD3HTTTZ26zv/973+duj4AAKBrUWwBAAC6nNra2pg7d27MnTs3qqqqol+/fvH1r389kiTJ2u/VV1+NLVu2tFls+fGPfxxDhw6Nyy67LGbMmBEnT55see4Pf/hDTJ06Nfr16xdVVVUxadKk+NOf/tSqfyqVih/+8Idx0003RZ8+feJb3/pW+zcWAAC46Cm2AAAAXdL9998fPXv2jCeffDJWrVoVy5cvjzVr1mTts3Xr1hg8eHCMGTMmY5tDhw7FQw89FI899lhs3rw59u3bF3fccUfL86dOnYq6urrYtWtXPPHEEzFy5MiYNm1anDp1qlWcpUuXxic/+cl4+umnY/bs2YVtLAAAcFFLJW19NQwAAKCT1dbWxn/+85/461//GqlUKiIiFi5cGBs3boxnnnkmY7/bb789qqqq4nvf+17a55cuXRrf/OY34x//+EcMHjw4IiI2b94c06dPjxdeeCEGDhx4QZ+mpqa44oorYt26dfHxj388It6Y2TJ//vxYsWJFoZsKAABcAsxsAQAAuqQPfehDLYWWiIiampp49tln4+zZs2nbJ0kSjz32WJu3EBs2bFhLoaU5blNTUxw8eDAiIurr6+Nzn/tcjBw5MqqqqqKysjJOnz4dR44caRVnwoQJ7d00AADgEtOz1AkAAAB0hCeffDJef/31uO666wqKU1dXFydOnIhVq1bF8OHDo7y8PGpqauK1115r1a5Pnz4FrQcAALh0mNkCAAB0SXv37m31uPn3U3r06JG2/YYNG2L69OkZn2925MiR+Pe//90qbllZWYwePToiInbv3h3z5s2LadOmxdixY6O8vDyOHz9e4NYAAACXMsUWAACgSzpy5EgsWLAgDh48GOvXr48f/OAHceedd2Zsv3HjxjZvIRYR0bt376irq4s///nPsXPnzpg3b17MmDGj5fdaRo4cGQ888EAcOHAg9u7dG5/5zGeioqKiw7YLAAC49Ci2AAAAXdKtt94aZ86ciYkTJ8YXvvCFuPPOO+P2229P2/a5556LQ4cOxQ033NBm3BEjRsTNN98c06ZNi4997GNxzTXXxOrVq1uev+++++Kll16K8ePHx2c/+9mYN29e9O/fv8O2CwAAuPSkkiRJSp0EAADAuWpra6O6ujpWrlyZU/vly5fHb3/729i0aVNxEwMAAEjDzBYAAOCiN2TIkFi0aFGp0wAAALqpnqVOAAAAoFAzZswodQoAAEA35jZiAAAAAAAABXAbMQAAAAAAgAIotgAAAAAAABRAsQUAAAAAAKAAii0AAAAAAAAFUGwBAAAAAAAogGILAAAAAABAARRbAAAAAAAACqDYAgAAAAAAUADFFgAAAAAAgAL8f6JMi31nM01BAAAAAElFTkSuQmCC", + "image/png": "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4D0AifcBeA+gft4DhhnJawYCAAAAQDPS5FeoAAAAAKC+EKgAAAAAwCICFQAAAABYRKACAAAAAItiOlBt3LhREyZMUJcuXWQYht58881T7rN+/XpdeOGFSkhIUK9evbRkyZJ6rxP1K9z3wYEDBzR58mT16dNHNptNM2fObJA6UX/CfQ+sWLFCI0eOVMeOHZWUlKT09HS99957DVMs6kW474FPPvlEQ4YMUfv27ZWYmKh+/frpySefbJhiUS+szAm8/va3v8nhcOj888+vt/pQ/8J9D6xfv16GYVS75efnN0zBiDgr/w6UlZXpv//7v9W9e3clJCTorLPO0qJFi8I6bkwHqpKSEp133nmaP39+nfrn5eVp/PjxuuKKK7R7927NnDlTv/rVr5hIxbhw3wdlZWXq2LGj7r33Xp133nn1XB0aQrjvgY0bN2rkyJF65513tHPnTl1xxRWaMGGCPv3003quFPUl3PdAq1atNH36dG3cuFFfffWV7r33Xt177736y1/+Us+Vor6E+x7wOn78uG688UZdeeWV9VQZGorV90Bubq4OHDjgu3Xq1KmeKkR9s/IeyMzM1Lp16+R0OpWbm6vs7Gz17ds3rOM2mcumG4ahlStXauLEiTX2ufvuu/XXv/5Vf//7331tkyZN0vHjx7VmzZoGqBL1rS7vA3/Dhg3T+eefr3nz5tVrXWg44b4HvPr376/rrrtO999/f/0UhgZj9T1w7bXXqlWrVnr55ZfrpzA0mHDeA5MmTVLv3r1lt9v15ptvavfu3fVeH+pfXd4D69ev1xVXXKFjx46pbdu2DVYbGkZd3gNr1qzRpEmT9M0336hdu3aWjxXTK1Th2rx5s0aMGBHQNnr0aG3evDlKFQFoDDwej06cOHFa/5gitn366afatGmTLr/88miXgga0ePFiffPNN3rggQeiXQqi6Pzzz1fnzp01cuRI/e1vf4t2OWhAb731li666CI99thjOvPMM9WnTx/953/+p3766aewxnHUU32NUn5+vlJSUgLaUlJSVFRUpJ9++kmJiYlRqgxANP35z39WcXGxMjMzo10KGlhaWpoOHTokl8ulBx98UL/61a+iXRIayNdff6177rlHH3/8sRyOZjUdQqXOnTvrueee00UXXaSysjK98MILGjZsmLZu3aoLL7ww2uWhAXzzzTf65JNP1KJFC61cuVKHDx/Wb3/7Wx05ckSLFy+u8zj8CwKgWVu6dKnmzp2rVatW8bn5Zujjjz9WcXGxtmzZonvuuUe9evXSf/zHf0S7LNQzt9utyZMna+7cuerTp0+0y0GU9O3bN+C7Mj//+c+1d+9ePfnkk3z0t5nweDwyDEOvvPKKkpOTJUlPPPGE/v3f/10LFiyo82JLswpUqampKigoCGgrKChQUlISq1NAM7Rs2TL96le/0vLly6t9HBjNQ48ePSRJ5557rgoKCvTggw8SqJqBEydOaMeOHfr00081ffp0SRUTK9M05XA4tHbtWg0fPjzKVSIaLrnkEn3yySfRLgMNpHPnzjrzzDN9YUqSzj77bJmmqe+//169e/eu0zjNKlClp6frnXfeCWh7//33lZ6eHqWKAERLdna2br75Zi1btkzjx4+PdjloBDwej8rKyqJdBhpAUlKSPv/884C2BQsW6MMPP9Trr7/uC9pofnbv3q3OnTtHuww0kCFDhmj58uUqLi5W69atJUn//Oc/ZbPZlJaWVudxYjpQFRcXa8+ePb7neXl52r17t9q1a6du3bppzpw5+uGHH/TSSy9Jkm677TY9++yzuuuuu3TzzTfrww8/1Guvvaa//vWv0ToFREC47wNJvqs4FRcX69ChQ9q9e7fi4+N1zjnnNHT5iIBw3wNLly7V1KlT9dRTT2nw4MG+vzmSmJgY8FsqxI5w3wPz589Xt27d1K9fP0kVl9L/85//rNtvvz0q9eP0hfMesNlsGjBgQMD+nTp1UosWLaq1I3aE++/AvHnz1KNHD/Xv31+lpaV64YUX9OGHH2rt2rXROgWcpnDfA5MnT9bvf/973XTTTZo7d64OHz6s//qv/9LNN98c3qfXzBj20UcfmZKq3aZOnWqapmlOnTrVvPzyy6vtc/7555vx8fHmz372M3Px4sUNXjciy8r7IFT/7t27N3jtiIxw3wOXX355rf0Re8J9Dzz99NNm//79zZYtW5pJSUnmBRdcYC5YsMB0u93ROQGcNiv/X+DvgQceMM8777wGqRX1I9z3wJ/+9CezZ8+eZosWLcx27dqZw4YNMz/88MPoFI+IsPLvwFdffWWOGDHCTExMNNPS0szZs2ebP/74Y1jHbTJ/hwoAAAAAGlqz+jtUAAAAABBJBCoAAAAAsIhABQAAAAAWEagAAAAAwCICFQAAAABYRKACAAAAAIsIVAAAAABgEYEKANBsPPjggzr//POjXQYAoAkhUAEAmpQXX3xRQ4cOjXYZAIBmgkAFAGhSVq1apauuuqpBj1leXt6gxwMANB4EKgBAozNs2DBNnz5d06dPV3Jysjp06KD77rtPpmnWul9paanWrl17ykD1/PPPq2vXrmrZsqUyMzNVWFjo27Z9+3aNHDlSHTp0UHJysi6//HLt2rUrYH/DMLRw4UJdddVVatWqlR5++GHrJwsAiGkEKgBAo/Tiiy/K4XBo27Zteuqpp/TEE0/ohRdeqHWfdevW6cwzz1S/fv1q7LNnzx699tprWr16tdasWaNPP/1Uv/3tb33bT5w4oalTp+qTTz7Rli1b1Lt3b40bN04nTpwIGOfBBx/UNddco88//1w333zz6Z0sACBmGeapft0HAEADGzZsmA4ePKgvvvhChmFIku655x699dZb+vLLL2vc79Zbb1VycrL+53/+J+T2Bx98UH/4wx/07bff6swzz5QkrVmzRuPHj9cPP/yg1NTUavt4PB61bdtWS5cu1S9+8QtJFStUM2fO1JNPPnm6pwoAiHGsUAEAGqVLL73UF6YkKT09XV9//bXcbnfI/qZpavXq1af8uF+3bt18Yco7rsfjUW5uriSpoKBAt9xyi3r37q3k5GQlJSWpuLhY+/btCxjnoosusnpqAIAmxBHtAgAAiIRt27bJ5XLp5z//+WmNM3XqVB05ckRPPfWUunfvroSEBKWnp+vkyZMB/Vq1anVaxwEANA2sUAEAGqWtW7cGPPd+n8lut4fsv2rVKo0fP77G7V779u3T/v37A8a12Wzq27evJOlvf/ubbr/9do0bN079+/dXQkKCDh8+fJpnAwBoqghUAIBGad++fZo9e7Zyc3OVnZ2tZ555RnfccUeN/d966606XS69RYsWmjp1qj777DN9/PHHuv3225WZmen7/lTv3r318ssv66uvvtLWrVt1/fXXKzExMWLnBQBoWghUAIBG6cYbb9RPP/2kSy65RFlZWbrjjjt06623huy7d+9e7dmzR6NHjz7luL169dK1116rcePGadSoURo4cKAWLFjg2+50OnXs2DFdeOGFuuGGG3T77berU6dOETsvAEDTwlX+AACNzrBhw3T++edr3rx5der/xBNP6IMPPtA777xTv4UBABCEFSoAQMxLS0vTnDlzol0GAKAZ4ip/AICYl5mZGe0SAADNFB/5AwAAAACL+MgfAAAAAFhEoAIAAAAAiwhUAAAAAGARgQoAAAAALCJQAQAAAIBFBCoAAAAAsIhABQAAAAAWEagAAAAAwCICFQAAAABY9P8BuRWWF0heehIAAAAASUVORK5CYII=", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -225,7 +222,7 @@ } ], "source": [ - "f, ax = plt.subplots(figsize=(20,10))\n", + "f, ax = plt.subplots(figsize=(10,5))\n", "for p,a in isotherms:\n", " ax.plot(p/si.BAR, a/(si.MICRO*si.MOL*si.ANGSTROM**2/si.METER**2))\n", "plt.xlabel('p / bar')\n", @@ -250,21 +247,21 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 36.2 ms, sys: 271 ms, total: 307 ms\n", - "Wall time: 2 s\n" + "CPU times: user 12.6 s, sys: 24.4 ms, total: 12.6 s\n", + "Wall time: 12.5 s\n" ] } ], "source": [ "%%time\n", "def plt_iso(epsilon):\n", - " potential = ExternalPotential.LJ93(3.0, epsilon, 0.08)\n", - " isotherm = Adsorption1D.equilibrium_isotherm(func, 350*si.KELVIN, si.linspace(0.5*si.BAR, 1.6*si.BAR, 100), Pore1D(Geometry.Cartesian, 20*si.ANGSTROM, potential), solver=DFTSolver().newton())\n", + " potential = feos.ExternalPotential.LJ93(3.0, epsilon, 0.08)\n", + " pore = feos.Pore1D(func, feos.Geometry.Cartesian, 20*si.ANGSTROM, potential)\n", + " isotherm = feos.Adsorption.equilibrium_isotherm(func, 350*si.KELVIN, si.linspace(0.5*si.BAR, 1.6*si.BAR, 100), pore.grid, pore.external_potential, solver=feos.DFTSolver().newton())\n", " return isotherm.pressure, isotherm.total_adsorption\n", "\n", "eps_vec = np.linspace(70,150,9)\n", - "with ProcessPoolExecutor() as ex:\n", - " isotherms = [i for i in ex.map(plt_iso, eps_vec)]" + "isotherms = [plt_iso(eps) for eps in eps_vec]" ] }, { @@ -274,9 +271,9 @@ "outputs": [ { "data": { - "image/png": "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EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHIg0AAAAAAAAORBpAAAAAAAAciDSzCG33357nHzyydHb2xuFQiFuvPHG+r7BwcF473vfG4ccckjsvPPO0dvbG295y1visccey1zj6aefjlWrVsX8+fNj4cKFce6558aWLVum+TsBAAAAAIAdn0gzh2zdujUOO+ywuOqqq5r2Pfvss3H33XfHxRdfHHfffXfccMMNce+998brXve6zHGrVq2Ke+65J26++eb49re/Hbfffnucf/750/UtAAAAAADArFHO+waYPitXroyVK1e23LdgwYK4+eabM9s++9nPxite8Yp4+OGHY++9945f/OIXcdNNN8Wdd94ZRx11VEREXHnllXHiiSfGJz7xiejt7Z3y7wEAAAAAAGYLkWYSJEkSQ/390/51y11dUSgUpuz6mzZtikKhEAsXLoyIiNWrV8fChQvrgSYiYsWKFVEsFuOOO+6IU089dcruBQAAAAAAZhuRZhIM9ffHFWf+/rR/3bdf9w/R0d09Jdfu6+uL9773vXHGGWfE/PnzIyJi/fr1sccee2SOK5fLsWjRoli/fv2U3AcAAAAAAMxWnklDk8HBwfiDP/iDSJIkrr766rxvBwAAAAAAZiWTNJOg3NUVb7/uH3L5upOtFmgeeuihuPXWW+tTNBERPT098cQTT2SOHxoaiqeffjp6enom/V4AAAAAAGA2E2kmQaFQmLJlx6ZTLdDcd9998b3vfS923XXXzP5ly5bFxo0bY82aNXHkkUdGRMStt94a1Wo1li5dmsctAwAAAADADkukmUO2bNkS999/f/39unXrYu3atbFo0aLYc8894/d///fj7rvvjm9/+9tRqVTqz5lZtGhRdHZ2xkEHHRQnnHBCnHfeeXHNNdfE4OBgXHDBBXH66adHb29vXt8WAAAAAADskESaOeSuu+6KY489tv7+wgsvjIiIM888My677LL4p3/6p4iIOPzwwzPnfe9734tjjjkmIiK+/OUvxwUXXBDLly+PYrEYp512WlxxxRXTcv8AAAAAADCbiDRzyDHHHBNJkrTdP9a+mkWLFsX1118/mbcFAAAAAABzUjHvGwAAAAAAAJiLRBoAAAAAAIAciDQAAAAAAAA5EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHIg0c8jtt98eJ598cvT29kahUIgbb7wxs/+yyy6LAw88MHbeeed44QtfGCtWrIg77rgjc8zTTz8dq1ativnz58fChQvj3HPPjS1btkzjdwEAAAAAALODSDOHbN26NQ477LC46qqrWu5/6UtfGp/97GfjP//zP+OHP/xh7LPPPvHa1742nnzyyfoxq1atinvuuSduvvnm+Pa3vx233357nH/++dP1LQAAAAAAwKxRzvsGmD4rV66MlStXtt3/pje9KfP+U5/6VHz+85+P//iP/4jly5fHL37xi7jpppvizjvvjKOOOioiIq688so48cQT4xOf+ET09vZO6f0DAAAAAMBsItJMgiRJIhmsTvvXLXQUo1AoTMm1BwYG4nOf+1wsWLAgDjvssIiIWL16dSxcuLAeaCIiVqxYEcViMe6444449dRTp+ReAAAAAABgNhJpJkEyWI3HLvnRtH/d3st/NwqdpUm95re//e04/fTT49lnn40999wzbr755thtt90iImL9+vWxxx57ZI4vl8uxaNGiWL9+/aTeBwAAAAAAzHaeSUPGscceG2vXro0f/ehHccIJJ8Qf/MEfxBNPPJH3bQEAAAAAwKxjkmYSFDqK0Xv57+bydSfbzjvvHPvtt1/st99+8cpXvjL233//+PznPx8XXXRR9PT0NAWboaGhePrpp6Onp2fS7wUAAAAAAGYzkWYSFAqFSV92bKaoVqvR398fERHLli2LjRs3xpo1a+LII4+MiIhbb701qtVqLF26NM/bBAAAAACAHY5IM4ds2bIl7r///vr7devWxdq1a2PRokWx6667xoc+9KF43eteF3vuuWc89dRTcdVVV8Wjjz4ab3zjGyMi4qCDDooTTjghzjvvvLjmmmticHAwLrjggjj99NOjt7c3r28LAAAAAAB2SCLNHHLXXXfFscceW39/4YUXRkTEmWeeGddcc0388pe/jOuuuy6eeuqp2HXXXePlL395/OAHP4iDDz64fs6Xv/zluOCCC2L58uVRLBbjtNNOiyuuuGLavxcAAAAAANjRiTRzyDHHHBNJkrTdf8MNN2z3GosWLYrrr79+Mm8LAAAAAADmpMl/8jwAAAAAAADbJdIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHIg0AAAAAAAAORBpAAAAAAAAciDSAAAAAAAA5ECkmUNuv/32OPnkk6O3tzcKhULceOONbY/90z/90ygUCvHpT386s/3pp5+OVatWxfz582PhwoVx7rnnxpYtW6b2xgEAAAAAYBYSaeaQrVu3xmGHHRZXXXXVmMd985vfjB//+MfR29vbtG/VqlVxzz33xM033xzf/va34/bbb4/zzz9/qm4ZAAAAAABmrXLeN8D0WblyZaxcuXLMYx599NF429veFt/5znfipJNOyuz7xS9+ETfddFPceeedcdRRR0VExJVXXhknnnhifOITn2gZdQAAAAAAgNZEmkmQJEkMDg5O+9ft6OiIQqEwaderVqvx5je/Od797nfHwQcf3LR/9erVsXDhwnqgiYhYsWJFFIvFuOOOO+LUU0+dtHsBAAAAAIDZTqSZBIODg/HhD3942r/u+9///ujs7Jy0633sYx+Lcrkcb3/721vuX79+feyxxx6ZbeVyORYtWhTr16+ftPsAAAAAAIC5QKQhIiLWrFkTn/nMZ+Luu++e1OkcAAAAAACgNZFmEnR0dMT73//+XL7uZPnBD34QTzzxROy99971bZVKJf7H//gf8elPfzoefPDB6OnpiSeeeCJz3tDQUDz99NPR09MzafcCAAAAAABzgUgzCQqFwqQuO5aHN7/5zbFixYrMtuOPPz7e/OY3x9lnnx0REcuWLYuNGzfGmjVr4sgjj4yIiFtvvTWq1WosXbp02u8ZAAAAAAB2ZCLNHLJly5a4//776+/XrVsXa9eujUWLFsXee+8du+66a+b4jo6O6OnpiQMOOCAiIg466KA44YQT4rzzzotrrrkmBgcH44ILLojTTz89ent7p/V7AQAAAACAHV0x7xtg+tx1111xxBFHxBFHHBERERdeeGEcccQRcckll4z7Gl/+8pfjwAMPjOXLl8eJJ54YRx99dHzuc5+bqlsGAAAAAIBZyyTNHHLMMcdEkiTjPv7BBx9s2rZo0aK4/vrrJ/GuAAAAAABgbjJJAwAAAAAAkAORBgAAAAAAIAciDQAAAAAAQA5yjTS33357nHzyydHb2xuFQiFuvPHGzP6zzjorCoVC5uOEE07Y7nWvuuqq2GeffaK7uzuWLl0aP/nJT6boOwAAAAAAAHhuco00W7dujcMOOyyuuuqqtseccMIJ8fjjj9c/vvKVr4x5za997Wtx4YUXxqWXXhp33313HHbYYXH88cfHE088Mdm3DwAAAAAA8JyV8/ziK1eujJUrV455TFdXV/T09Iz7mp/61KfivPPOi7PPPjsiIq655pr453/+5/jCF74Q73vf+57X/QIAAAAAAEyWGf9Mmttuuy322GOPOOCAA+Ktb31r/PrXv2577MDAQKxZsyZWrFhR31YsFmPFihWxevXq6bhdAAAAAACAccl1kmZ7TjjhhHjDG94QS5YsiQceeCDe//73x8qVK2P16tVRKpWajn/qqaeiUqnE4sWLM9sXL14cv/zlL9t+nf7+/ujv76+/37x58+R9EwAAAAAAAC3M6Ehz+umn118fcsghceihh8a+++4bt912WyxfvnzSvs5HPvKR+Iu/+ItJux4AAAAAAMD2zPjlztJe8pKXxG677Rb3339/y/277bZblEql2LBhQ2b7hg0bxnyuzUUXXRSbNm2qf/zqV7+a1PsGAAAAAABotENFmkceeSR+/etfx5577tlyf2dnZxx55JFxyy231LdVq9W45ZZbYtmyZW2v29XVFfPnz898zEa33357nHzyydHb2xuFQiFuvPHGzP6zzjorCoVC5uOEE07IHPP000/HqlWrYv78+bFw4cI499xzY8uWLdP4XQAAAAAAwOyQa6TZsmVLrF27NtauXRsREevWrYu1a9fGww8/HFu2bIl3v/vd8eMf/zgefPDBuOWWW+L1r3997LfffnH88cfXr7F8+fL47Gc/W39/4YUXxt/+7d/GddddF7/4xS/irW99a2zdujXOPvvs6f72ZpytW7fGYYcdFldddVXbY0444YR4/PHH6x9f+cpXMvtXrVoV99xzT9x8883x7W9/O26//fY4//zzp/rWAQAAAABg1sn1mTR33XVXHHvssfX3F154YUREnHnmmXH11VfHf/zHf8R1110XGzdujN7e3njta18bf/mXfxldXV31cx544IF46qmn6u//8A//MJ588sm45JJLYv369XH44YfHTTfdFIsXL56+b2yGWrlyZaxcuXLMY7q6utouDfeLX/wibrrpprjzzjvjqKOOioiIK6+8Mk488cT4xCc+Eb29vZN+zwAAAAAAMFvlGmmOOeaYSJKk7f7vfOc7273Ggw8+2LTtggsuiAsuuOD53NqEJEkS1eq2aft6NcXivCgUCpN6zdtuuy322GOPeOELXxjHHXdcfPCDH4xdd901IiJWr14dCxcurAeaiIgVK1ZEsViMO+64I0499dRJvRcAAAAAAJjNco00s0W1ui1u+/4h0/51j3nNf0aptNOkXe+EE06IN7zhDbFkyZJ44IEH4v3vf3+sXLkyVq9eHaVSKdavXx977LFH5pxyuRyLFi2K9evXT9p9AAAAAADAXCDSUHf66afXXx9yyCFx6KGHxr777hu33XZbLF++PMc7AwAAAACA2UekmQTF4rw45jX/mcvXnUoveclLYrfddov7778/li9fHj09PfHEE09kjhkaGoqnn3667XNsAAAAAACA1kSaSVAoFCZ12bGZ4pFHHolf//rXseeee0ZExLJly2Ljxo2xZs2aOPLIIyMi4tZbb41qtRpLly7N81YBAAAAAGCHI9LMIVu2bIn777+//n7dunWxdu3aWLRoUSxatCj+4i/+Ik477bTo6emJBx54IN7znvfEfvvtF8cff3xERBx00EFxwgknxHnnnRfXXHNNDA4OxgUXXBCnn3569Pb25vVtAQAAAADADqmY9w0wfe6666444ogj4ogjjoiIiAsvvDCOOOKIuOSSS6JUKsV//Md/xOte97p46UtfGueee24ceeSR8YMf/CC6urrq1/jyl78cBx54YCxfvjxOPPHEOProo+Nzn/tcXt8SAAAAAADssEzSzCHHHHNMJEnSdv93vvOd7V5j0aJFcf3110/mbQEAAAAAwJxkkgYAAAAAACAHIg0AAAAAAEAORBoAAAAAAIAciDQAAAAAAAA5EGkAAAAAAAByINI8R9VqNe9b2CEkSZL3LQAAAAAAwIxUzvsGdjSdnZ1RLBbjsccei9133z06OzujUCjkfVszUpIk8eSTT0ahUIiOjo68bwcAAAAAAGYUkWaCisViLFmyJB5//PF47LHH8r6dGa9QKMSLXvSiKJVKed8KAAAAAADMKCLNc9DZ2Rl77713DA0NRaVSyft2ZrSOjg6BBgAAAAAAWhBpnqPaEl6W8QIAAAAAAJ6LYt43AAAAAAAAMBeJNAAAAAAAADkQaQAAAAAAAHIg0gAAAAAAAORApAEAAAAAAMiBSAMAAAAAAJADkQYAAAAAACAHIg0AAAAAAEAORBoAAAAAAIAciDQAAAAAAAA5EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHIg0AAAAAAAAORBpAAAAAAAAciDSAAAAAAAA5ECkAQAAAAAAyIFIAwAAAAAAkAORBgAAAAAAIAciDQAAAAAAQA5EGgAAAAAAgByINAAAAAAAADkQaQAAAAAAAHIg0gAAAAAAAORApAEAAAAAAMiBSAMAAAAAAJADkQYAAAAAACAHIg0AAAAAAEAORBoAAAAAAIAciDQAAAAAAAA5EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHIg0AAAAAAAAORBpAAAAAAAAciDSAAAAAAAA5ECkAQAAAAAAyIFIAwAAAAAAkAORBgAAAAAAIAciDQAAAAAAQA5EGgAAAAAAgByINAAAAAAAADkQaQAAAAAAAHIg0gAAAAAAAORApAEAAAAAAMiBSAMAAAAAAJADkQYAAAAAACAHIg0AAAAAAEAORBoAAAAAAIAciDQAAAAAAAA5EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHOQaaW6//fY4+eSTo7e3NwqFQtx44431fYODg/He9743DjnkkNh5552jt7c33vKWt8Rjjz025jUvu+yyKBQKmY8DDzxwir8TAAAAAACAick10mzdujUOO+ywuOqqq5r2Pfvss3H33XfHxRdfHHfffXfccMMNce+998brXve67V734IMPjscff7z+8cMf/nAqbh8AAAAAAOA5K+f5xVeuXBkrV65suW/BggVx8803Z7Z99rOfjVe84hXx8MMPx9577932uuVyOXp6eib1XgEAAAAAACbTDvVMmk2bNkWhUIiFCxeOedx9990Xvb298ZKXvCRWrVoVDz/88JjH9/f3x+bNmzMfAAAAAAAAU2mHiTR9fX3x3ve+N84444yYP39+2+OWLl0a1157bdx0001x9dVXx7p16+LVr351PPPMM23P+chHPhILFiyof+y1115T8S0AAAAAAADU7RCRZnBwMP7gD/4gkiSJq6++esxjV65cGW984xvj0EMPjeOPPz7+5V/+JTZu3Bhf//rX255z0UUXxaZNm+ofv/rVryb7WwAAAAAAAMjI9Zk041ELNA899FDceuutY07RtLJw4cJ46UtfGvfff3/bY7q6uqKrq+v53ioAAAAAAMC4zehJmlqgue++++K73/1u7LrrrhO+xpYtW+KBBx6IPffccwruEAAAAAAA4LnJNdJs2bIl1q5dG2vXro2IiHXr1sXatWvj4YcfjsHBwfj93//9uOuuu+LLX/5yVCqVWL9+faxfvz4GBgbq11i+fHl89rOfrb9/17veFd///vfjwQcfjB/96Edx6qmnRqlUijPOOGO6vz0AAAAAAIC2cl3u7K677opjjz22/v7CCy+MiIgzzzwzLrvssvinf/qniIg4/PDDM+d973vfi2OOOSYiIh544IF46qmn6vseeeSROOOMM+LXv/517L777nH00UfHj3/849h9992n9psBAAAAAACYgFwjzTHHHBNJkrTdP9a+mgcffDDz/qtf/erzvS0AAAAAAIApN6OfSQMAAAAAADBbiTQAAAAAAAA5EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHIg0AAAAAAAAORBpAAAAAAAAciDSAAAAAAAA5ECkAQAAAAAAyIFIAwAAAAAAkAORBgAAAAAAIAciDQAAAAAAQA5EGgAAAAAAgByINAAAAAAAADkQaQAAAAAAAHIg0gAAAAAAAORApAEAAAAAAMiBSAMAAAAAAJADkQYAAAAAACAHIg0AAAAAAEAORBoAAAAAAIAciDQAAAAAAAA5EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQA5EGAAAAAAAgByINAAAAAABADkQaAAAAAACAHIg0AAAAAAAAORBpAAAAAAAAciDSAAAAAAAA5ECkAQAAAAAAyIFIAwAAAAAAkAORBgAAAAAAIAciDQAAAAAAQA5EGgAAAAAAgByINAAAAAAAADkQaQAAAAAAAHIg0gAAAAAAAORApAEAAAAAAMiBSAMAAAAAAJADkQYAAAAAACAHIg0AAAAAAEAORBoAAAAAAIAciDQAAAAAAAA5EGkAAAAAAAByINIAAAAAAADkQKQBAAAAAADIgUgDAAAAAACQg3FHmuuuuy6WLVsWd955Z0REnHjiiVN2UwAAAAAAALPduCPNxz/+8fjEJz4RF110Ufz85z+P3/zmN1N5XwAAAAAAALNaebwHLl68OF71qlfF9ddfH29605ti69atU3lfAAAAAAAAs9q4J2m6urqiWq3GHnvsER/84Afjl7/85VTeFwAAAAAAwKw27kjzD//wD1EsDh/+yle+Mh599NEpuykAAAAAAIDZbtzLne28886Z97vvvnts2bIlqtVqZvv8+fMn584AAAAAAABmsXFP0tSsW7cuTjrppNh5551jwYIF8cIXvjBe+MIXxsKFC+OFL3zhVNwjAAAAAADArDPuSZqaP/qjP4okSeILX/hCLF68OAqFwlTcFwAAAAAAwKw24Ujz05/+NNasWRMHHHDAVNwPAAAAAADAnDDh5c5e/vKXx69+9aupuBcAAAAAAIA5Y8KTNP/7f//v+NM//dN49NFH47d/+7ejo6Mjs//QQw+dtJsDAAAAAACYrSYcaZ588sl44IEH4uyzz65vKxQKkSRJFAqFqFQqk3qDAAAAAAAAs9GEI80555wTRxxxRHzlK1+JxYsXR6FQmIr7AgAAAAAAmNUmHGkeeuih+Kd/+qfYb7/9puJ+AAAAAAAA5oTiRE847rjj4qc//elU3AsAAAAAAMCcMeFJmpNPPjne+c53xn/+53/GIYccEh0dHZn9r3vd6ybt5gAAAAAAAGarCUeaP/3TP42IiMsvv7xpX6FQiEql8vzvCgAAAAAAYJabcKSpVqtTcR8AAAAAAABzyrifSfOWt7wl/s//+T+xdevWqbwfAAAAAACAOWHckWa//faLD3/4w7HbbrvFypUr4+qrr45HH310Ku8NAAAAAABg1hp3pLnkkktizZo1cd9998XJJ58cN954Y+y7775x5JFHxuWXXx5r166dwtsEAAAAAACYXcYdaWpe9KIXxX//7/89vvOd78STTz4Z733ve+Pee++N4447Ll784hfHBRdcEPfcc89U3CsAAAAAAMCsMeFIk7bLLrvEH/zBH8SXv/zlePLJJ+MLX/hClEqlWL169WTdHwAAAAAAwKxUnqwLlUqlWL58eSxfvnyyLgkAAAAAADBrjSvSHHHEEVEoFMZ1wbvvvvt53RAAAAAAAMBcMK5Ic8opp0zxbQAAAAAAAMwt44o0l1566VTfBwAAAAAAwJzynJ9Js2bNmvjFL34REREHH3xwHHHEEZN2UwAAAAAAALNdcaInPPHEE3HcccfFy1/+8nj7298eb3/72+PII4+M5cuXx5NPPjmha91+++1x8sknR29vbxQKhbjxxhsz+5MkiUsuuST23HPPmDdvXqxYsSLuu+++7V73qquuin322Se6u7tj6dKl8ZOf/GRC9wUAAAAAADDVJhxp3va2t8UzzzwT99xzTzz99NPx9NNPx89+9rPYvHlzvP3tb5/QtbZu3RqHHXZYXHXVVS33f/zjH48rrrgirrnmmrjjjjti5513juOPPz76+vraXvNrX/taXHjhhXHppZfG3XffHYcddlgcf/zx8cQTT0zo3gAAAAAAAKbShCPNTTfdFH/zN38TBx10UH3by172srjqqqviX//1Xyd0rZUrV8YHP/jBOPXUU5v2JUkSn/70p+MDH/hAvP71r49DDz00/u7v/i4ee+yxpombtE996lNx3nnnxdlnnx0ve9nL4pprromddtopvvCFL0zo3gAAAAAAAKbShCNNtVqNjo6Opu0dHR1RrVYn5aYiItatWxfr16+PFStW1LctWLAgli5dGqtXr255zsDAQKxZsyZzTrFYjBUrVrQ9JyKiv78/Nm/enPkAAAAAAACYShOONMcdd1z8+Z//eTz22GP1bY8++mi8853vjOXLl0/aja1fvz4iIhYvXpzZvnjx4vq+Rk899VRUKpUJnRMR8ZGPfCQWLFhQ/9hrr72e590DAAAAAACMbcKR5rOf/Wxs3rw59tlnn9h3331j3333jSVLlsTmzZvjyiuvnIp7nHIXXXRRbNq0qf7xq1/9Ku9bAgAAAAAAZrnyRE/Ya6+94u67747vfve78ctf/jIiIg466KDMEmOToaenJyIiNmzYEHvuuWd9+4YNG+Lwww9vec5uu+0WpVIpNmzYkNm+YcOG+vVa6erqiq6urud/0wAAAAAAAOM04UmaiIhCoRC/93u/F29729vibW9726QHmoiIJUuWRE9PT9xyyy31bZs3b4477rgjli1b1vKczs7OOPLIIzPnVKvVuOWWW9qeAwAAAAAAkIcJT9JERNx5553xve99L5544omoVquZfZ/61KfGfZ0tW7bE/fffX3+/bt26WLt2bSxatCj23nvveMc73hEf/OAHY//9948lS5bExRdfHL29vXHKKafUz1m+fHmceuqpccEFF0RExIUXXhhnnnlmHHXUUfGKV7wiPv3pT8fWrVvj7LPPfi7fKgAAAAAAwJSYcKT58Ic/HB/4wAfigAMOiMWLF0ehUKjvS78ej7vuuiuOPfbY+vsLL7wwIiLOPPPMuPbaa+M973lPbN26Nc4///zYuHFjHH300XHTTTdFd3d3/ZwHHnggnnrqqfr7P/zDP4wnn3wyLrnkkli/fn0cfvjhcdNNN8XixYsn+q0CAAAAAABMmQlHms985jPxhS98Ic4666zn/cWPOeaYSJKk7f5CoRCXX355XH755W2PefDBB5u2XXDBBfXJGgAAAAAAgJlows+kKRaL8apXvWoq7gUAAAAAAGDOmHCkeec73xlXXXXVVNwLAAAAAADAnDHh5c7e9a53xUknnRT77rtvvOxlL4uOjo7M/htuuGHSbg4AAAAAAGC2mnCkefvb3x7f+9734thjj41dd901CoXCVNwXAAAAAADArDbhSHPdddfF//k//ydOOumkqbgfAAAAAACAOWHCz6RZtGhR7LvvvlNxLwAAAAAAAHPGhCPNZZddFpdeemk8++yzU3E/AAAAAAAAc8KElzu74oor4oEHHojFixfHPvvsEx0dHZn9d99996TdHAAAAAAAwGw14UhzyimnTMFtAAAAAAAAzC0TjjSXXnrpVNwHAAAAAADAnDLhZ9IAAAAAAADw/Ik0AAAAAAAAORBpAAAAAAAAciDSAAAAAAAA5ECkAQAAAAAAyMG4I83dd98d69atq7//+7//+3jVq14Ve+21Vxx99NHx1a9+dUpuEAAAAAAAYDYad6Q5++yz44EHHoiIiP/9v/93/Mmf/EkcddRR8T//5/+Ml7/85XHeeefFF77whSm7UQAAAAAAgNmkPN4D77vvvth///0jIuJv/uZv4jOf+Uycd9559f0vf/nL40Mf+lCcc845k3+XAAAAAAAAs8y4J2l22mmneOqppyIi4tFHH41XvOIVmf1Lly7NLIcGAAAAAABAe+OONCtXroyrr746IiJe85rXxD/8wz9k9n/961+P/fbbb3LvDgAAAAAAYJYa93JnH/vYx+JVr3pVvOY1r4mjjjoqPvnJT8Ztt90WBx10UNx7773x4x//OL75zW9O5b0CAAAAAADMGuOepOnt7Y1///d/j2XLlsVNN90USZLET37yk/i3f/u3eNGLXhT/9//+3zjxxBOn8l4BAAAAAABmjXFP0kRELFy4MD76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", + "image/png": "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HJzz6666YpXaeNo0qm27du00ZMgQ/epXv1KfPn1UWlqqZ555RitXrlSPHj1UUVEhSSotLU06rrS01KkDAAAAkBncmtiK/OEPf5Bt2zrqqKPk9Xr14IMPavz48TJNPgYAAABALjEilgFF7iKtumJVXq7bFMcff7zeeust1dTUqKqqSl26dNH3vvc9HXfccSorK5MkVVZWqkuXLs4xlZWV6t+/fya7DQAAALR6BLEMMAyj0bcINgdt27ZV27Zt9fXXX+v111/XPffco+7du6usrExLly51gldVVZVWrVqlH/3oR/ntMAAAANDCEMRakddff122batXr17auHGjbrrpJvXu3VtXX321DMPQjTfeqDvvvFM9e/ZU9+7dddttt6m8vFyXXHJJvrsOAAAAtCgEsVZk7969mj59urZt26aSkhKNGTNGv/71r+XxeCRJP//5z1VTU6MpU6Zoz549Ouuss7R48eI6My0CAAAAODQEsVZk7NixGjt2bL31hmFo1qxZmjVrVg57BQAAALQ+TJcHAAAAADlGEAMAAACAHCOIAQAAAECOEcQAAAAAIMcIYgAAAACQYwQxAAAAAMgxghgAAAAA5BhBDAAAAAByjCAGAAAAADlGEAMAAACAHCOItSIrVqzQhRdeqPLychmGoUWLFiXV27atGTNmqEuXLioqKtLw4cO1YcOGpDa7d+/WhAkTVFxcrA4dOmjSpEmqrq7O4asAAAAADn8EsVakpqZG/fr109y5c9PW33PPPXrwwQc1b948rVq1Sm3bttWIESPk8/mcNhMmTNAnn3yiJUuW6NVXX9WKFSs0ZcqUXL0EAAAAoEVw57sDyJ1Ro0Zp1KhRaets29acOXN066236uKLL5YkPfXUUyotLdWiRYs0btw4ffrpp1q8eLE++OADDRo0SJL00EMPafTo0br33ntVXl6es9cCAAAAHM4IYhlg27bs2tqcX9coKpJhGBk51+bNm1VRUaHhw4c7Ze3bt9fgwYO1cuVKjRs3TitXrlSHDh2cECZJw4cPl2maWrVqlS699NKM9AUAAABo6QhiGWDX1mr9Nwfm/Lq91q6R0aZNRs5VUVEhSSotLU0qLy0tdeoqKirUuXPnpHq3262SkhKnDQAAAIAD4xkxAAAAAMgxRsQywCgqUq+1a/Jy3UwpKyuTJFVWVqpLly5OeWVlpfr37++0+eKL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0CK4890B5M6oUaM0atSotHXt27fXkiVLksoefvhhnXbaadq6dau6deumTz/9VIsXL9YHH3ygQYMGSZIeeughjR49Wvfee6/Ky8uz/hoAAACAloAglgG2bSvk9+f8um6vV4ZhZO38e/fulWEY6tChgyRp5cqV6tChgxPCJGn48OEyTVOrVq3SpZdemrW+AAAAAC0JQSwDQn6/Hpz43Zxf9/oFf5ansDAr5/b5fLr55ps1fvx4FRcXS5IqKirUuXPnpHZut1slJSWqqKjISj8AAACAlohnxFBHMBjU2LFjZdu2Hn300Xx3BwAAAGhxGBHLALfXq+sX/Dkv1820WAj77LPPtGzZMmc0TJLKysr0xRdfJLUPhULavXu3ysrKMt4XAAAAoKUiiGWAYRhZu0Uwl2IhbMOGDXrzzTfVsWPHpPohQ4Zoz549WrNmjQYOHChJWrZsmSzL0uDBg/PRZQAAAOCwRBBrRaqrq7Vx40Znf/PmzVq3bp1KSkrUpUsXffe739XatWv16quvKhwOO899lZSUqKCgQH369NHIkSM1efJkzZs3T8FgUFOnTtW4ceOYMREAAABoAoJYK7J69Wqdc845zv60adMkSRMnTtTMmTP18ssvS5L69++fdNybb76poUOHSpKefvppTZ06VcOGDZNpmhozZowefPDBnPQfAAAAaCkIYq3I0KFDZdt2vfUN1cWUlJRo4cKFmewWAAAA0OowayIAAAAA5BhBDAAAAAByLK9BbMWKFbrwwgtVXl4uwzC0aNEipy4YDOrmm2/WySefrLZt26q8vFxXXnmlduzY0eA5Z86cKcMwkpbevXtn+ZUAAAAAQOPlNYjV1NSoX79+mjt3bp26/fv3a+3atbrtttu0du1avfDCC1q/fr0uuuiiA563b9++2rlzp7O888472eg+AAAAAByUvE7WMWrUKI0aNSptXfv27bVkyZKksocfflinnXaatm7dqm7dutV7XrfbzRcMAwAAAGi2DqtnxPbu3SvDMNShQ4cG223YsEHl5eU67rjjNGHCBG3dujU3HQQAAACARjhspq/3+Xy6+eabNX78eBUXF9fbbvDgwXryySfVq1cv7dy5U3fccYe+9a1v6eOPP1a7du3SHuP3++X3+539qqqqjPcfAAAAAGIOiyAWDAY1duxY2batRx99tMG2ibc6nnLKKRo8eLCOOeYY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0aJFWrduXdb7h+xrzGdg+fLlOuecc/T111+rQ4cOOesbcqcxn4PFixdr3Lhx+s9//qOSkpKDvlarHBFrqpUrV2r48OFJZSNGjNDKlSvz1CMA+WZZlvbt23dI/wDj8Pbhhx/q3Xff1dlnn53vriCH5s+fr//85z+6/fbb890V5FH//v3VpUsXnXfeefr73/+e7+4gx15++WUNGjRI99xzj4466iidcMIJ+tnPfqba2tomncedpf61KBUVFSotLU0qKy0tVVVVlWpra1VUVJSnngHIl3vvvVfV1dUaO3ZsvruCHDv66KP15ZdfKhQKaebMmbr22mvz3SXkyIYNG3TLLbfo7bffltvNr1CtUZcuXTRv3jwNGjRIfr9fv//97zV06FCtWrVK3/zmN/PdPeTIf/7zH73zzjsqLCzUiy++qF27dunHP/6xvvrqK82fP7/R5+FfEQBoooULF+qOO+7QSy+9xHMBrdDbb7+t6upqvffee7rlllvUo0cPjR8/Pt/dQpaFw2FdccUVuuOOO3TCCSfkuzvIk169eiU9B3TGGWdo06ZNuv/++7lFuRWxLEuGYejpp59W+/btJUn33Xefvvvd7+qRRx5p9CANQawRysrKVFlZmVRWWVmp4uJiRsOAVubZZ5/Vtddeq+eff77OLctoHbp37y5JOvnkk1VZWamZM2cSxFqBffv2afXq1frwww81depUSZFfxmzbltvt1t/+9jede+65ee4l8uG0007TO++8k+9uIIe6dOmio446yglhktSnTx/Ztq1t27apZ8+ejToPQawRhgwZotdeey2pbMmSJRoyZEieegQgH5555hldc801evbZZ3XBBRfkuztoBizLkt/vz3c3kAPFxcX66KOPksoeeeQRLVu2TH/+85+dgI7WZ926derSpUu+u4EcOvPMM/X888+rurpa3/jGNyRJ//d//yfTNHX00Uc3+jytMohVV1dr48aNzv7mzZu1bt06lZSUqFu3bpo+fbq2b9+up556SpL0wx/+UA8//LB+/vOf65prrtGyZcv03HPP6S9/+Uu+XgIOUVM/A5KcWbGqq6v15Zdfat26dSooKNCJJ56Y6+4jA5r6GVi4cKEmTpyoBx54QIMHD3a+M6aoqCjpL2I4fDT1MzB37lx169ZNvXv3lhT5SoN7771X119/fV76j0PXlM+AaZo66aSTko7v3LmzCgsL65Tj8NHUfwfmzJmj7t27q2/fvvL5fPr973+vZcuW6W9/+1u+XgIyoKmfgyuuuEK/+tWvdPXVV+uOO+7Qrl27dNNNN+maa65p2t1ydiv05ptv2pLqLBMnTrRt27YnTpxon3322XWO6d+/v11QUGAfd9xx9vz583Peb2TOwXwG0rU/5phjct53ZEZTPwNnn312g+1x+GnqZ+DBBx+0+/bta7dp08YuLi62BwwYYD/yyCN2OBzOzwvAITuY/xYkuv322+1+/frlpK/IjqZ+Bu6++277+OOPtwsLC+2SkhJ76NCh9rJly/LTeWTMwfxb8Omnn9rDhw+3i4qK7KOPPtqeNm2avX///iZdt9V/jxgAAAAA5BrfIwYAAAAAOUYQAwAAAIAcI4gBAAAAQI4RxAAAAAAgxwhiAAAAAJBjBDEAAAAAyDGCGAAAAADkGEEMAIAGzJw5U/379893NwAALQxBDADQ6i1YsEBnnXVWvrsBAGhFCGIAgFbvpZde0kUXXZTTawaDwZxeDwDQvBDEAAAtwtChQzV16lRNnTpV7du315FHHqnbbrtNtm03eJzP59Pf/va3Awax//7v/1bXrl3Vpk0bjR07Vnv37nXqPvjgA5133nk68sgj1b59e5199tlau3Zt0vGGYejRRx/VRRddpLZt2+rXv/71wb9YAMBhjyAGAGgxFixYILfbrffff18PPPCA7rvvPv3+979v8JilS5fqqKOOUu/evetts3HjRj333HN65ZVXtHjxYn344Yf68Y9/7NTv27dPEydO1DvvvKP33ntPPXv21OjRo7Vv376k88ycOVOXXnqpPvroI11zzTWH9mIBAIc1wz7QnwoBADgMDB06VF988YU++eQTGYYhSbrlllv08ssv61//+le9x02ZMkXt27fXb3/727T1M2fO1J133qnPPvtMRx11lCRp8eLFuuCCC7R9+3aVlZXVOcayLHXo0EELFy7Ud77zHUmREbEbb7xR999//6G+VABAC8CIGACgxTj99NOdECZJQ4YM0YYNGxQOh9O2t21br7zyygFvS+zWrZsTwmLntSxL69evlyRVVlZq8uTJ6tmzp9q3b6/i4mJVV1dr69atSecZNGjQwb40AEAL4853BwAAyJf3339foVBIZ5xxxiGdZ+LEifrqq6/0wAMP6JhjjpHX69WQIUMUCASS2rVt2/aQrgMAaDkYEQMAtBirVq1K2o89r+VyudK2f+mll3TBBRfUWx+zdetW7dixI+m8pmmqV69ekqS///3vuv766zV69Gj17dtXXq9Xu3btOsRXAwBoyQhiAIAWY+vWrZo2bZrWr1+vZ555Rg899JBuuOGGetu//PLLjZq2vrCwUBMnTtQ//vEPvf3227r++us1duxY5/mwnj176g9/+IM+/fRTrVq1ShMmTFBRUVHGXhcAoOUhiAEAWowrr7xStbW1Ou2003Tdddfphhtu0JQpU9K23bRpkzZu3KgRI0Yc8Lw9evTQZZddptGjR+v888/XKaecokceecSpf/zxx/X111/rm9/8pr7//e/r+uuvV+fOnTP2ugAALQ+zJgIAWoShQ4eqf//+mjNnTqPa33fffXrjjTf02muvZbdjAACkwYgYAKBVOvroozV9+vR8dwMA0EoxayIAoFUaO3ZsvrsAAGjFuDURAAAAAHKMWxMBAAAAIMcIYgAAAACQYwQxAAAAAMgxghgAAAAA5BhBDAAAAAByjCAGAAAAADlGEAMAAACAHCOIAQAAAECOEcQAAAAAIMf+P7og0YVUwDNiAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -284,7 +281,7 @@ } ], "source": [ - "f, ax = plt.subplots(figsize=(20,10))\n", + "f, ax = plt.subplots(figsize=(10,5))\n", "for p,a in isotherms:\n", " ax.plot(p/si.BAR, a/(si.MICRO*si.MOL*si.ANGSTROM**2/si.METER**2))\n", "plt.xlabel('p / bar')\n", @@ -309,24 +306,24 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 38.6 ms, sys: 303 ms, total: 341 ms\n", - "Wall time: 10.2 s\n" + "CPU times: user 36.7 s, sys: 68.4 ms, total: 36.8 s\n", + "Wall time: 36.7 s\n" ] } ], "source": [ "%%time\n", + "potential = feos.ExternalPotential.LJ93(3.0, 150., 0.08)\n", + "pore = feos.Pore1D(func, feos.Geometry.Cartesian, 20*si.ANGSTROM, potential)\n", "def plt_iso(T):\n", - " potential = ExternalPotential.LJ93(3.0, 150., 0.08)\n", - " psat = PhaseEquilibrium.pure(func, T).liquid.pressure()\n", + " psat = feos.PhaseEquilibrium.pure(func, T).liquid.pressure()\n", " pmin = psat / 100\n", " pmax = psat * 2\n", - " isotherm = Adsorption1D.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 200), Pore1D(Geometry.Cartesian, 20*si.ANGSTROM, potential), solver=DFTSolver().newton())\n", + " isotherm = feos.Adsorption.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 200), pore.grid, pore.external_potential, solver=feos.DFTSolver().newton())\n", " return isotherm.pressure, isotherm.total_adsorption\n", "\n", - "T_vec = si.linspace(290*si.KELVIN,430*si.KELVIN,15)\n", - "with ProcessPoolExecutor() as ex:\n", - " isotherms = [i for i in ex.map(plt_iso, T_vec)]" + "T_vec = si.linspace(300*si.KELVIN,440*si.KELVIN,8)\n", + "isotherms = [plt_iso(T) for T in T_vec]" ] }, { @@ -336,9 +333,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABmoAAANFCAYAAAB7hqOqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xl8FdX9//HXvTf7TiAhhBB2AmEXEYMWUPYdRa0UIS7f2vJTq1gt0rpCwaW2itUi/X6tUpVqQXFBlEUhyCoiyL7vJCFAyL7d3JnfH5dcEkggAcKE5P18lObOmTMzn7mAJPO+5xybaZomIiIiIiIiIiIiIiIictXZrS5ARERERERERERERESkrlJQIyIiIiIiIiIiIiIiYhEFNSIiIiIiIiIiIiIiIhZRUCMiIiIiIiIiIiIiImIRBTUiIiIiIiIiIiIiIiIWUVAjIiIiIiIiIiIiIiJiEQU1IiIiIiIiIiIiIiIiFvGyuoCayDAMkpOTCQ4OxmazWV2OiIiIiIiIiIiIiIhYyDRNsrOziY6Oxm6/smNgFNSUIzk5mSZNmlhdhoiIiIiIiIiIiIiI1CBHjhwhJibmip5TQU05goODAfcbHhISYnE1IiIiIiIiIiIiIiJipaysLJo0aeLJD64kBTXlKJnuLCQkREGNiIiIiIiIiIiIiIgAVMtyKVd2IjURERERERERERERERGpNAU1IiIiIiIiIiIiIiIiFlFQIyIiIiIiIiIiIiIiYhGtUSMiIiIiIiIiIiIico1wuVw4nU6ry6h1vL29cTgcllxbQY2IiIiIiIiIiIiISA1nmiapqalkZGRYXUqtFRYWRlRUFDab7apeV0GNiIiIiIiIiIiIiEgNVxLSREZGEhAQcNXDhNrMNE3y8vJIS0sDoFGjRlf1+gpqRERERERERERERERqMJfL5Qlp6tevb3U5tZK/vz8AaWlpREZGXtVp0OxX7UoiIiIiIiIiIiIiIlJlJWvSBAQEWFxJ7Vby/l7tNYAU1IiIiIiIiIiIiIiIXAM03Vn1sur9VVAjIiIiIiIiIiIiIiJiEQU1IiIiIiIiIiIiIiIiFlFQIyIiIiIiIiIiIiIi1eLFF1+ke/fuBAcHExkZyahRo9i1a1eZPvv27eO2224jIiKCkJAQ7rrrLo4fP16mT3p6OmPHjiUkJISwsDAeeOABcnJyLnjtZs2a8frrr3u2TdPkiSeeICQkhOXLl1+pW7xsCmpERERERERERERERKRaJCUl8dBDD7F27VqWLFmC0+lkwIAB5ObmApCbm8uAAQOw2Wx89913rFq1iqKiIoYPH45hGJ7zjB07lm3btrFkyRIWLFjAihUrePDBBytdh8vl4oEHHuDf//43y5Yto0+fPlf6Vi+Zl9UFiIiIiIiIiIiIiIhI7fTNN9+U2X7vvfeIjIxkw4YN9OrVi1WrVnHw4EE2btxISEgIALNnz6ZevXp899139OvXjx07dvDNN9+wfv16rr/+egD+/ve/M2TIEF599VWio6MvWENhYSFjxozhxx9/5PvvvycuLq56bvYSKagREREREREREREREbnGmKZJvtNlybX9vR3YbLZLOjYzMxOA8PBwwB2i2Gw2fH19PX38/Pyw2+2sXLmSfv36sWbNGsLCwjwhDUC/fv2w2+2sW7eO2267rcLr5eTkMHToUI4ePcqqVato0qTJJdVdnRTUiIiIiIiIiIiIiIhcY/KdLuKfXWTJtbdPGUiAT9XjBcMweOyxx7jpppvo0KEDADfeeCOBgYFMmjSJ6dOnY5omTz31FC6Xi5SUFABSU1OJjIwscy4vLy/Cw8NJTU294DWnTp1KcHAwO3bsICIioso1Xw1ao0ZERERERERERERERKrdQw89xNatW/noo488bREREcydO5cvv/ySoKAgQkNDycjI4LrrrsNuv/wIo2Q9nOnTp1/2uaqLRtSIiIiIiIiIiIiIiFxj/L0dbJ8y0LJrV9XDDz/MggULWLFiBTExMWX2DRgwgH379nHy5Em8vLwICwsjKiqKFi1aABAVFUVaWlqZY4qLi0lPTycqKuqC1+3bty+PPPIII0eOxDAMZsyYUeXaq5uCGhERERERERERERGRa4zNZruk6ceuNtM0eeSRR5g/fz7Lly+nefPmFfZt0KABAN999x1paWmMGDECgISEBDIyMtiwYQPdunXz9DEMgx49ely0hgEDBvDll18yYsQITNPkjTfeuAJ3duXU/N9FERERERERERERERG5Jj300EPMmTOHzz//nODgYM+aMqGhofj7+wPw7rvv0q5dOyIiIlizZg2PPvooEydOJC4uDoB27doxaNAgfv3rX/P222/jdDp5+OGHufvuu4mOjq5UHf369WPBggUMHz4cwzB48803q+eGL4GCGhERERERERERERERqRYzZ84EoE+fPmXa3333Xe69914Adu3axeTJk0lPT6dZs2b86U9/YuLEiWX6f/jhhzz88MP07dsXu93O6NGjqzwy5tZbb+Wrr75i2LBhmKbJm2++ic1mu+R7u1JspmmaVhdR02RlZREaGkpmZiYhISFWlyMiIiIiIiIiIiIidVhBQQEHDhygefPm+Pn5WV1OrXWh97k6cwP7FT2biIiIiIiIiIiIiIiIVJqCGhEREREREREREREREYsoqBEREREREREREREREbGIghoRERERERERERERERGLKKgRERERERERERERERGxiIIaERERERERERERERERiyioERERERERERERERERsYiCGhEREREREREREREREYsoqBEREREREREREREREbGIl9UFiFzrDp/KY+HWFL7emsqx03lWl3PJTNPqCi7dNVw6AJMGxfHL7rFWlyEiIiIiIiIiIiIWUFAjcgkOncrlqy0pLNySwtZjWVaXI9e4wmLD6hJERERERERERESqxcyZM5k5cyYHDx4EoH379jz77LMMHjzY06egoIDf//73fPTRRxQWFjJw4ED+8Y9/0LBhQ0+fw4cPM2HCBJYtW0ZQUBCJiYm8+OKLeHlVHHPYbDbmz5/PqFGjAHA6nYwfP54VK1awaNEiOnToUC33XFUKakQq6Uh6Hgs2p7BgczLbks+GM3Yb3NiiPkM6NuK62Ho47DYLq7w8tmu3dACu1fIjgn2tLkFERERERERERKRaxMTE8NJLL9G6dWtM02T27NmMHDmSjRs30r59ewAmTpzIV199xdy5cwkNDeXhhx/m9ttvZ9WqVQC4XC6GDh1KVFQUq1evJiUlhfHjx+Pt7c306dMrVUdeXh6jR49mz549rFy5kubNm1fbPVeVzTSv5QmPqkdWVhahoaFkZmYSEhJidTlioZTMfL7anMKCzSlsOpLhaXfYbSScCWcGtm9I/SA9aBcREREREREREZHqUVBQwIEDB2jevDl+fn5Wl3PZwsPD+ctf/sIDDzxAZmYmERERzJkzhzvuuAOAnTt30q5dO9asWcONN97I119/zbBhw0hOTvaMsnn77beZNGkSJ06cwMfHp9zrlIyo6dOnD0OHDiUnJ4dFixYRFRVVbv8Lvc/VmRtoRI3IOU5kF/L11hQW/JzCDwfTPe12G/RoXp/hnaMVzoiIiIiIiIiIiIi1TBOcFq2Z7R1wSdPzuFwu5s6dS25uLgkJCQBs2LABp9NJv379PP3atm1LbGysJ6hZs2YNHTt2LDMV2sCBA5kwYQLbtm2ja9euFV4zNTWV3r17ExQURFJSEmFhYVWuu7opqBEBTucW8c22VBZsTmbNvlMYpcaZdW9Wj2GdohncMYrI4Gs/rRYREREREREREZFawJkH06OtufYfk8EnsNLdt2zZQkJCAgUFBQQFBTF//nzi4+MBd5Di4+NzXoDSsGFDUlNTPX1KhzQl+0v2Xcijjz5KixYtWLJkCQEBAZWu+WpSUCN1VlaBk8XbjrNgczIr95ykuFQ607lJGMM7NWJIx0ZEh/lbWKWIiIiIiIiIiIjItS0uLo5NmzaRmZnJvHnzSExMJCkpyRPWVKdhw4bx2WefMWvWLCZOnFjt17sUCmqkTsktLGbpjuMs2JxC0q4TFLkMz774RiEM69yIYR2jia1fM5NVEREREREREREREcA9/dgfk627dhX4+PjQqlUrALp168b69euZMWMGs2bNIioqiqKiIjIyMsqMqjl+/LhnLZmoqCh++OGHMuc8fvy4Z9+FjBs3jhEjRnD//fdjmiaPP/54lWq/GhTUSK1XVGyQtPsEn206xrc7jlPgPBvOtI4MYlinaIZ1bkTLiCALqxRLOAtg7xI4uAqM4mq8kHnxLpd86mo8t/sC1Xz6a7j+kMbQ+w/Vd34RERERERERkQux2ao0/VhNYhgGhYWFgDu48fb25ttvv2X06NEA7Nq1i8OHD3vWsUlISGDatGmkpaURGRkJwJIlSwgJCanUqJzExETsdjv33XcfhmHwxBNPVNOdXRoFNVIrGYbJj4dO89mmYyzckkJGntOzr1n9AIZ3jmZYp2jiooItrFIsYbjg4ErY8l/Y/iUUZlpdkVyrGnZUUCMiIiIiIiIichGTJ09m8ODBxMbGkp2dzZw5c1i+fDmLFi0CIDQ0lAceeIDHH3+c8PBwQkJCeOSRR0hISODGG28EYMCAAcTHxzNu3DheeeUVUlNTefrpp3nooYfw9fWtVB3jxo3DbreTmJiIaZo8+eST1XbPVaWgRmqVXanZfLbpGF9sSuZYRr6nPTLYl+GdoxnVpTEdGodgs9ksrFKuOtOE5I2wZR5s/QRySi0wFhwN7YaBfz0LCrvKfw6v+p97C/6eXc17DIy4etcSEREREREREblGpaWlMX78eFJSUggNDaVTp04sWrSI/v37e/q89tpr2O12Ro8eTWFhIQMHDuQf//iHZ7/D4WDBggVMmDCBhIQEAgMDSUxMZMqUKVWqZezYsdjtdsaNG4dhGEyaNOmK3eflsJlmtc87c83JysoiNDSUzMxMQkJCrC5HLiIlM58vNiUzf+MxdqZme9qDfL0Y1CGKUV0ak9CyPg67wpk65+Re2DLX/St939l2vzBoPwo63gmxPcFut6pCERERERERERGRiyooKODAgQM0b94cPz8/q8uptS70PldnbqARNXJNysx38vWWFD7bdIx1B9I9y1x4O2z0iYtkVJfG9G0XiZ+3w9pC5erLOeEeNbP5I/comhJe/tB2iDucadkXvHysq1FERERERERERETkDEuDmhdffJFPP/2UnTt34u/vT8+ePXn55ZeJi4vz9CkoKOD3v/89H330UZkhTw0bNqzwvKZp8txzz/G///u/ZGRkcNNNNzFz5kxat259NW5LqkmB08WynWl8tukYy3aeoMhlePbd0CycUV0bM6RjFGEBegBf5zjzYddC+Plj2LsUTJe73eaAVn3d4UzcEPANsrZOERERERERERERkXNYGtQkJSXx0EMP0b17d4qLi/njH//IgAED2L59O4GBgQBMnDiRr776irlz5xIaGsrDDz/M7bffzqpVqyo87yuvvMIbb7zB7Nmzad68Oc888wwDBw5k+/btGhZ2jTFNkw2HTvPJT0dZsDmF7IJiz764hsGM7BrNiM7RxNQLsLBKsYRhwKFV7pEz27+Awqyz+6Kvg853Q4fRENjAuhpFRERERERERERELqJGrVFz4sQJIiMjSUpKolevXmRmZhIREcGcOXO44447ANi5cyft2rVjzZo13HjjjeedwzRNoqOj+f3vf88TTzwBQGZmJg0bNuS9997j7rvvvmgdWqPGekfS85i/8Rif/nSUg6fyPO2NQv0Y0SWaUV0a066Rfm/qpBO73eHM5v9C5pGz7aGx0Oku6PRLiGhjXX0iIiIiIiIiIiJXmNaouTq0Rg3uQAUgPDwcgA0bNuB0OunXr5+nT9u2bYmNja0wqDlw4ACpqalljgkNDaVHjx6sWbOm3KCmsLCQwsJCz3ZWVtZ5faT65RYWs3BLCp/8dJS1+9M97QE+DgZ3aMTobo25sXl97Hab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G9YF/U1sbPH3ISx95tR2QL+EPWqMzM03vFZ9efdvm/W7dJBm4qEj9cmLjiBIAwCOu/POOzV16tRw73369On6/e9/n3WfVatW6cwzz9SYMWNUX1+vz3zmMz32+Tdv3qx58+apvr5ew4cP13nnnafm5uY+//akSZN06623ht/7vq/LL79c9fX1Wrp0aaGmuMecOtuvXbtWH3zwgfbaa69ef15ZWamjjz5ajz32WHib53l67LHHNH369FINEwAAAIAZwea9Uy+dMABBTC4+pc/szdO3VqowTH4yMp9+WJvOpEl1eNr38FE69UtTVV5ZFvWwAAB7aJ999tFNN92kFStW6KWXXtIJJ5ygM844Q6+99pokaceOHZo9e7YSiYQef/xxPfvss2pvb9dpp50mz/PCx5k3b55ee+01LVmyRA899JCeeuopfeELX+j3OFKplM477zz98Ic/1BNPPKEZM2YUeqoDFulbEpqbm7OyY95++229/PLLGjlypEaOHKn/83/+j8466yw1NDRo1apV+rd/+zcdeOCBOumkk8LfmTlzps4880xddNFFkqTLLrtM8+fP1zHHHKMPf/jDuvXWW7Vjxw4tWLCg5PMDAAAA4Dbf8KY2svlxWeogS8NKMKMbz/d2fyeXBBtTSXtr1Zu1b2wJM2n2PWyUTvnC4SqrIEgOAH3xfV87O3rv515sNRVl/S43etppp2V9/41vfEN33nmnnn/+eR166KF69tlntXr1av3pT38Kq13dd999GjFihB5//HHNmjVLr7/+uh555BEtX75cxxxzjCTpO9/5jk499VTdfPPNGj9+fJ9jaGtr09y5c/XSSy/p6aef1uTJkwcw6+KJNFDz0ksv6ROf+ET4fdAnZv78+brzzjv1l7/8Rffdd5+2bt2q8ePHa/bs2bruuutUVVUV/s6qVau0adOm8Pt//ud/1vvvv6+vf/3ramxs1JFHHqlHHnlE48aNK93EAAAAANhguJ8HsgVBOfMZNWFEyt4GeGYNjcwtHXiy0nOnL++9sUW/W/TndLmzUTr5i4cRpAGAftjZkdKUr/8hkr/912tP0pDK/MMLqVRKP//5z7Vjx46wClZbW5sSiUTWvn91dbWSyaSeeeYZzZo1S8uWLdPw4cPDII0kzZo1S8lkUi+88ILOPPPMnH+zublZc+bM0dq1a/Xss88Oyv70kQZqZsyY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Y8bojDPO0N/+9res+6xZs0Zz5szRkCFDNHbsWF1xxRXq7Ozs8+8lEgktXrw4/L6jo0Nz587V3nvvrVdffbVQ09pjkZY+66+Ojg595jOfke/7uvPOO/u8b/dSalOnTtWxxx6rfffdVz/72c903nnn9fo7VVVVqqqqKuiYAQAAAFhA6bO4sZCN0acg+GgwoyZgYg2796hxLeDhx6XfEwAgX8uXL9fdd9+tqVOn9vjZ0UcfrXnz5mnixInavHmzrrnmGs2ePVtvv/22ysrKlEqlNGfOHDU0NOi5557T+vXrdc4556iiokI33HBDv/5+S0uLzjrrLL355pt65plntN9++xV6igM26AM1QZDmnXfe0eOPP95nNk1vhg8frg996EN66623ijRCAAAAAHbZzT5Atkx/k4gHUmy+3eBjkFFDj5po+fy3CQAl4/u+Otu93d+xCMork3m9maC5uVnz5s3T9773PV1//fU9fv6FL3wh/HrSpEm6/vrrdcQRR2j16tU64IAD9Mc//lF//etf9eijj2rcuHE68sgjdd1112nhwoW65pprVFlZ2eff37p1q+bMmaPm5mY988wzefW4L4VBHagJgjRvvvmmnnjiCY0aNSrvx2hubtaqVat09tlnF2GEAAAAACwLey0Y3NRGNi8uDdDDjBp787T0fLXRo8b9dQCAwa6z3dN3L34ykr/9hduOV0VVWb/vf+GFF2rOnDmaNWtWr4Ga7nbs2KEf/OAH2m+//cJ+8suWLdPhhx+ucePGhfc76aSTdMEFF+i1117TtGnTcj5eY2Ojjj/+eA0dOlRPPvmkhg8f3u9xl0qkZ/vm5ma9/PLLevnllyVJb7/9tl5++WWtWbNGHR0d+l//63/ppZde0o9//GOlUik1NjaqsbFR7e3t4WPMnDlTixYtCr+//PLL9eSTT2r16tV67rnndOaZZ6qsrExz584t9fQAAAAAOM/upjayBY3ozWfUhFlibm3+94cnQz1qupU+c+7/H7tJWwCAAXrggQe0cuVK3XjjjX3e77/+6780dOhQDR06VL///e+1ZMmSMFOmsbExK0gjKfy+sbGxz8e9+OKL1d7eriVLlgzKII0UcUbNSy+9pE984hPh95dddpkkaf78+brmmmv0m9/8RpJ05JFHZv3eE088oRkzZkiSVq1apU2bNoU/W7t2rebOnasPPvhAY8aM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07HHHqtly5bps5/9bI/faW9v14oVK3TllVeGtyWTSc2aNUvLli3L+bfa2trU1tYWft/U1FSgWQAAAABwV7BRSukz67rFaZQ0vcMc7KLbO6aDjJqklbk526Mm/YXp5xEAAIXX7zP++PHj9ac//UnTp0/XI488It/39eKLL+qPf/yj9tlnHz377LM69dRTCzawxsZGSdK4ceOybh83blz4s11t2rRJqVQqr9+RpBtvvFHDhg0LPyZMmLCHowcAAADgOl/+7u8EE7zuGTWW95ctlz4zllHjbo+aIMAd8UAAAHBMvzNqJGn48OG66aabdNNNNxVrPJG48sorddlll4XfNzU1EawBAAAA4o4eNbHRPSRnZaO/V45mafSHl56bc6XCcnG0R42zJdsAAIjYHl2d/eQnP9GOHTsKNZYsDQ0NkqQNGzZk3b5hw4bwZ7saPXq0ysrK8vodSaqqqlJ9fX3WBwAAAABIxjfuISm79JnBGEY3bmZp9IcvYwECZzNquj47NmwAACK3R5egX/ziF3sERQplv/32U0NDgx577LHwtqamJr3wwguaPn16r79TWVmpo48+Out3PM/TY489lvN3AAAAAKA3vuF+HsiWVfoswnEUneEssaDkVnLPtjkGjzBDyK350KMGAICByav02a58f89qNjc3N+utt94Kv3/77bf18ssva+TIkZo4caIuueQSXX/99TrooIO033776Wtf+5rGjx+vT33qU+HvzJw5U2eeeaYuuugiSdJll12m+fPn65hjjtGHP/xh3XrrrdqxY4cWLFiwR2MFAAAAEDOG+3kgNzMZGb3x7QYfrWXU0KMGAIB42aNAzZ566aWX9IlPfCL8PugTM3/+fN177736t3/7N+3YsUNf+MIXtHXrVn3sYx/TI488ourq6vB3Vq1apU2bNoXf//M//7Pef/99ff3rX1djY6OOPPJIPfLIIxo3blzpJgYAAADAgPQ72gnUmNf9PYiutQTJj5ub//0R9qix8nx1tkdN1yeDhxgAAEW1R4Ga3//+99p7770H/PszZszoMysnkUjo2muv1bXXXpvzPqtXr+5x20UXXRRm2AAAAADAQGRKn0U7DhRfdukzwwselD4jo2bw89KBp6Rba+VqJhAAAFEb0Bm/s7NTjz76qF577TW1t7dLktatW6fm5uaCDg4AAAAAIhNu3ru1UYr8dX/7oOn95XCi9iYZltwyMzdHAx6ODhsAgKjlnVHzzjvv6OSTT9aaNWvU1tamE088UXV1dfrmN7+ptrY23XXXXcUYJwAAAACUmLWNX+TSvdKD6Q3mMKMm2mEUQ5BRkzSSLeR7bmY/ZRJqDB5kAAAUUd5n/IsvvljHHHOMtmzZopqamvD2M888U4899lhBBwcAAAAAUfF5a3hseN1SamwH5oJj2q3N//7oq6y6k4LpOPb/T5jZ5NawAQCIXN4ZNU8//bSee+45VVZWZt0+adIkvffeewUbGAAAAABEKtz4ZcfRvG57/K71bs+L4WPaU1cGipWMmkyPGsfWyli8DACAUsn7CsbzPKVSqR63r127VnV1dQUZFAAAAABEj9JnceFllT4zvN6+m+W0+iVIFrLyfPXdzOgLM2pcCzABABCxvK/OZs+erVtvvTX8PpFIqLm5WVdffbVOPfXUQo4NAAAAACLjK9jUZsPRuu5JALZX283N//4IMmqsBNp8R4NqjsaXAACIXN6lz7797W/rpJNO0pQpU9Ta2qrPfe5zevPNNzV69Gj95Cc/KcYYAQAAAKD0wt17dhyt87MyaiIcSLEFm/8Gj+kwk8PK3BztUcP/mwAADEzegZp99tlHf/7zn/XTn/5Uf/7zn9Xc3KzzzjtP8+bNU01NTTHGCAAAAAARsNvPA9m8bik1VjIyehWmO7iVpdEfnk+PmsEgU/os4oEAAOCYvAM1klReXq558+Zp3rx5hR4PAAAAAAwKftCjhh1H8zJrHfFAis5+XSozgTZHa4hlhu3WuAEAiFrBXnFs2bJFP/zhDwv1cAAAAAAQLcNlorCL9OZy0vrmsqN9T/ojyKixUvrM3R41/u7vBAAAeijYGX/NmjVasGBBoR4OAAAAACLGhmNcBKXPbGzx98G3W84vkxVlZG6O96hxLL4EAEDk+l36rKmpqc+fb9++fY8HAwAAAACDRbjxa3BTG9liU/oszNKwN9GwN4qV52u6R41c61FDby8AAAak34Ga4cOH9/nOFN/37bxzBQAAAAAMN15Htvj01XCz70l/BAGCpJXnq+9mhpDhWCAAAEXV70BNXV2d/uM//kPHHntsrz9/88039cUvfrFgAwMAAACAaBl7hz5y8sJsDOPCan72Zmoto8bVHjVhgMmxTCAAAKLW70DNUUcdJUk6/vjje/358OHDaRoHAAAAwAxK+MSHbzfRJJurm//94Klrbq5loOTkaI8a/tcEAGBg+n119rnPfU7V1dU5f97Q0KCrr766IIMCAAAAgMjFZvcegaT5tbZ7TFvLqHG2R0162BaPMQAAiqnfGTXnn39+nz8fN24cgRoAAAAAhhjb+EVO8Sl9Fu6iRzqMYqBHzWARlD6LeBgAADiGUycAAAAA9MIXXbHjIkieMp9RE2aJ2dsKsFaK3dUeNeEhFu0wAABwjltnfAAAAAAoFcON15HNi83ust3SZ146sGEto8a1tfI9N8cNAEDUjFzBAAAAAECh0RY7LmKz0o5mafRHUPrMvVJhOXhhmle04xggK8sAAECp2Ls6AwAAAICCCDZ+edlkXVj6zNFN8X7z7YakgtJnSSvbHI72qMkkArk1bgAAotbvK5jHH39cqVSqmGMBAAAAgEHDN9x4HdmCTX7zK+3b7bvky1j5umCtkm4FnoLSZwYPMQAAiqrfZ/x//dd/1ZgxY/S5z31OP/3pT9XU1FTMcQEAAABAxGw1J0duYZ6J+d3lIJjh1uZ/fwQ9ahJGIjW+69lPjg4bAICo9Pvq7O9//7uWLl2qKVOm6Nvf/rbGjRunE088Ud/5zne0Zs2aYo4RAAAAAEou7HnBjqN5vtvtQPrP9c3/fkhaCUI52qPGd7RkGwAAUcvrCmbq1Km66qqr9OKLL2rVqlU666yz9Pvf/16TJ0/WkUceqa9//et66aWXijVWAAAAACg9Kxu/yMmLQQBDUixKn5kJrDoa8Mj0qIl2HAAAuGbArzjGjx+vL33pS3r44Ye1adMmfe1rX9Pq1at18skn64YbbijkGAEAAACg9OhRExux21w2ONGw9JmVuXlu9qjpVkcw0mEAAOCa8kI8SG1trc466yydddZZSqVS2rx5cyEeFgAAAAAiY+4d+sgpWGvHqkzlz3DwMSy5ZWRuvtzM8sqUPot4IAAAOKbgb80oKyvTmDFjCv2wAAAAAFBicUuziK8wo8axTfG8hRN1LEujHzLBNiNzc7ZHTfoLt4YNAEDkjFzBAAAAAECBseMYG/EpfWZ3otYyaoLSZwnHSp/5jvbWAQAgam6d8QEAAACgRHylN0qtbPwip0w2hvG1DkqfWck66caTsR41rkYPHR02AABRs3d1BgAAAACFxI6jeUGVKfMMZ4lZy6jxHS1T57saYAIAIGJunfEBAAAAoFTCjV9eNlkXmwboYUaNvYkGa2imR02mcZJTiNMAADAw5f29YzKZ3G0KcSKRUGdn5x4PCgAAAACiZzf7ANmClTZf+kxuZmn0R1C+zkzpM0d71GRKnxlZBwAASqTfgZoHH3ww58+WLVum22+/XV76QgIAAAAAXBf0qCFOY198MmrsBh99Gatf52hqiu9oJhAAAFHrd6DmjDPO6HHbG2+8oa9+9av67W9/q3nz5unaa68t6OAAAAAAIDKGN7WRLVhq8xk1Yekzx7I0+sFLz81K6TN3e9R0fSajBgCA/AzojL9u3Tqdf/75Ovzww9XZ2amXX35Z9913n/bdd99Cjw8AAAAAIkKPmrjwYpME4GaWRj4SVlbR0YyaTG8vAACQj7xecWzbtk0LFy7UgQceqNdee02PPfaYfvvb3+qwww4r1vgAAAAAIBK+qxulyFtsyjX5dsuVW8uoyfSoceug5L9NAAAGpt+lz771rW/pm9/8phoaGvSTn/yk11JoAAAAAGAHpc/iIlhp+6XP3Cyn1R9hsM0KRyMefqaOYLQDAQDAMf0O1Hz1q19VTU2NDjzwQN1333267777er3fr371q4INDgAAAACiE5TwYcPROi9u5Zoc2/zvD0+2Mmp8V/sJxSQ5DQCAQut3oOacc86hGRwAAACA2PBj0M8DaXFZalc3//sjDBAYWcQwoc+t+WQSgdwaNwAAUet3oObee+8t4jAAAAAAYJAJ+3mw4Whd7EqfGTymrWXUuNqjJnw2GVkGAABKhVMnAAAAAPQis6Xt2kYp8uVZ62+SS5hRY++YpkfN4BAeYtEOAwAA5xCoAQAAAIBeublRivzFp1xTMFF7WwHWMmrCHjVJt+YTBMzsP5cAACgst874AAAAAFAq4Tv0edlkXab0WaTDKD7Dpc9kLdgWJgi5NZ/wCOO/TQAA8sKpEwAAAAB64affoU/pM/u8MAsg4oEUW1iXyt5WgJ8OEZh5vrraoyZo7WVlHQAAKBF7V2cAAAAAUBDBW/SjHQVKIFxq64ttt5yflw5C2cmocXOt/LgEPQEAKDACNQAAAADQG8tlopAlyMZwLXkhb0FGjcFj2lpGjbM9aoIvbCwDAAAl49YZHwAAAABKJtj45WWTdV4YvzC+uxxmadg7poNMjqSVubka8fCCjBrHxg0AQMSMXMEAAAAAQGH5hstEIVt8cqfslvOzllETRg8dS/NytGIbAACRI1ADAAAAAL2h9FlsZLIxIh5IsQXltKxknXRjtUeNa/PJJAK5NW4AAKJm7+oMAAAAAArC2Dv0kZMXZgEYX2tXy2n1Q9jE3sjcnO1REwaYIh4IAACOceuMDwAAAAAlQumzOIlbRo29ifoy2qPGtbWKS9ATAIACM3IFAwAAAAAF5ocd5iMdBoovzKgxv9bBRO1tBVjLqAl71DgW8PB9u32QAAAoJntXZwAAAABQQGY2fpFTbNoRGZ6oJ3rUDAY+iYgAAAwIgRoAAAAA6IUvu5vayObHrvSZwa0Aa1lRnps9alwNMAEAEDXHzvgAAAAAUCp2y0QhW/xKn9mbZxBssxIgCMLErv3/YzhpCwCAonLrjA8AAAAAJeKnsw/Yb7Qv7G9ifbEN913y0nNLOhbYyCnsURPtMPLlk1EDAMCAGLmCAQAAAIBC463hcZO0vrns280Sy5QqNCIdqEk4V/qs65P1pxIAAIXm2BkfAAAAAEqFHce48OKSUWP4mA4yOcxk1PhurlVm2G6NGwCAqBm5ggEAAACAAgv7lvCyyTrfWDJGTkHpMyvBjG7CHjVGMuCCwJOcy6gJ/+MEAAB5cOyMDwAAAACl4ctuPw9kC/fErWcBGI5IBT1qzGRy+G6WXnQ0EQgAgMgRqAEAAACAXrHjGBexKX0WZtTYm6i1jJpMjxq35uOHzyW3xg0AQNQI1AAAAABAbxx9RzvyF7uVtlj6jB41g4PdpC0AAIrKyBUMAAAAABSWuXfoI7fYlT6zN88wk8PI3FztURPGlxzLBAIAIGpunfEBAAAAoFQMl4lCtviVPrO3FeCJHjWDgR+X5xIAAAVm7+oMAAAAAArIyjv0kVumWpP1tXa0nFY/WMuocbdHTdQjAADATQRqAAAAAKAXfrh9z8sm68IqU27tiecvyKixEszohbmMGtfmEwTMzD+ZAAAoLF5xAAAAAEBvKH0WG/EpfRY2EIl2HEXgpZ+vSQNz87unpbjWoyb92fxzCQCAAnPrjA8AAAAAJROUUoJ1Ye6U+d1lR7M0+sGXodJn3QM1jq1VmLRlYR0AACghAjUAAAAA0ItM6TM2HK2LTQP0MEvM3lZAkFFjovSZF0Y73JtPWPos4nEAAOAYTp0AAAAA0Cu7ZaKQLawIZj0o59sPPppYQ5czatKf3Ro1AADR4xUHAAAAAPTGN1RKCX2KX0aNvYnSo2Zw8D275fUAACgmt874AAAAAFAilD6Lj8zesvW1truJTo+awcEnEREAgAHh1AkAAAAAvbK7qY1ssQnJGS59Ro+awcJQwAwAgBIiUAMAAAAAvaH0WWwEpaaS1pfacrqDpT5DLmfUBDEmt4YNAEDkBv3V2aRJk5RIJHp8XHjhhb3e/9577+1x3+rq6hKPGgAAAIDrfLHjGBc+pc+c58lQjxrP3R41AfvPJQAACqs86gHszvLly5VKpcLvX331VZ144on69Kc/nfN36uvr9cYbb4Tfc4EAAAAAYMB4PWFepr+JcYbTHfzuWSjOczijJshEdGvYAABEbtAHasaMGZP1/U033aQDDjhAxx9/fM7fSSQSamho6PffaGtrU1tbW/h9U1NT/gMFAAAAYIvhfh7IFpuMGsOlz8Jgm4U1dLhHTRALdG3cAABEzamrs/b2dv3oRz/Sueee2+dJv7m5Wfvuu68mTJigM844Q6+99lqfj3vjjTdq2LBh4ceECRMKPXQAAAAAjslkWTj1sgkD4NmtCLYLuxMN+wxZeL463KOmW7MgAACQB6euYBYvXqytW7fq85//fM77TJ48Wffcc49+/etf60c/+pE8z9NHPvIRrV27NufvXHnlldq2bVv48e677xZh9AAAAADcEr41PNphoOhiV/qMjJpBze+WUeNajxrfbiwQAICiGvSlz7r7/ve/r1NOOUXjx4/PeZ/p06dr+vTp4fcf+chHdMghh+juu+/Wdddd1+vvVFVVqaqqquDjBQAAAOAwUz0v0JdgqZPWd5cNl/Pz0kEoC4GaLI7Nx/fsBMwAACglZwI177zzjh599FH96le/yuv3KioqNG3aNL311ltFGhkAAAAAizJZFmw4WhebBui+3SwxU8/X7hk1rq6Vo8MGACAqzuTQ/uAHP9DYsWM1Z86cvH4vlUrplVde0V577VWkkQEAAAAwzWCZKGSLT7mmYKL2jumwR42FuXU7IF3LTMkM3a1xAwAQNSeuYDzP0w9+8APNnz9f5eXZSUDnnHOOrrzyyvD7a6+9Vn/84x/197//XStXrtS//Mu/6J133tG//uu/lnrYAAAAAFwWlFLireHmeXHZXDZc+sxSRk3Yo8bB4zE22WkAABSYE6XPHn30Ua1Zs0bnnntuj5+tWbNGyW7N9bZs2aLzzz9fjY2NGjFihI4++mg999xzmjJlSimHDAAAAMBxwcavxU1tZMts8htnuPSZqR41wX89SSfeW5vFcCwQAICiciJQM3v27PBdGbtaunRp1ve33HKLbrnllhKMCgAAAIBt7DjGRfByM2lhk79P9mu8WciocTqgFmbUODh2AAAi5N7bMwAAAACgJNhwjIvYlGsynO4QZNSY6FHjuZsdFJ9+TwAAFJaBKxgAAAAAKDw/eFe7wU1tZLMbvthFuItubysgDLZZWEWHox2ZWKB7YwcAIEr2rs4AAAAAoKDYcLQusy9ufa3dDQDsjm8oAy4s/e5gjxrFJTsNAIACc/CsDwAAAAAl4PC72pEfLy6by2HvE3tbAWTUDA4ODx0AgEjZuzoDAAAAgIIINn552WRdpvSZ8d1lwz1qLGXUuN2jhkgNAAADwSsOAAAAAOiFL2/3d4IJYaUp63vLhjNqvPTckhbm5nKwIzZlBAEAKCwDVzAAAAAAUAQub5YiL35cSp/FoEeNBb7nbo+a+DyXAAAoLPfO+gAAAABQAmEpJYNlopAtLAhmfXfZaOmzsNyWjGTUOBxQM3qIAQBQdBauYAAAAACgeExs/KIvsckCMFr6rHs2jYnAqsM9aih9BgDAwNi6OgMAAACAQgk2tS1s/KJPQaUpE5v8fXI3U6Mvnp/pJ2Uio8bhsouxCXoCAFBgBq5gAAAAAKDwKH0WHw7vi+cnBhk1Frjdo6brMxk1AADkx72zPgAAAACUBM0W4iLY6E9aX2rfVkAj0L1HjY0AgcORQ6PHGAAAxUagBgAAAAB64zvcJwJ58WNT+izN2DHdPaMmaWGbw+EeNeFzycAyAABQSpw6AQAAAKAX3duTw7bY9NWwWvrMWkaNw7X4Ms8l98YOAECUbF2dAQAAAEDBUPosLry49NXwbR7TXhCAko2sKJd71AAAgIHhrA8AAAAAvXL3Xe3IT1A6y/xKG82o6c5EsM3ljJrgEHNw7AAARMnu1RkAAAAA7AE/6FHDyybzgn3xpPnNZXcDAH3pnlGTtBCEcrg/Vhj0NLAMAACUEqdOAAAAAOiVv/u7wATPZvyiJ6Olz/ysjlIG5uZwRg3/bQIAMDAEagAAAACgVw5vliJPlD5zWVaPGgPPV99Lz8fBHjVBfx0L6wAAQCm5d9YHAAAAgFII4jS8bDIvLH2WtL65bD/4aCOjJv3ZwXUKE2rcGzoAAJHiFQcAAAAA9MJX8C59dhyt8/yY1GuKQUYNPWqilana5t7YAQCIkoErGAAAAAAoBvvZB+jickuQvNCjxg0uH5Bh6bOIxwEAgGMI1AAAAABAb/ygbwk7jtYF2/xJ87vLDgcA+uB3y4iykMnhdI+a4Av3lwEAgJJy76wPAAAAACWQeZc+O47WeWFQzriw9JmtmQbPVTNB1UzkMNJhDEQQNLMQMAMAoJQI1AAAAABAr2xmH6AXcVlqo+kO5oIDDveoET1qAAAYEAI1AAAAANALn9JnsRGb0mdhRo2trQAvPa+klS2OsEeNe/Nxub0OAABRcu+sDwAAAAAlQemzuPC69TixzeYuelim0Mi0wh41Dq5T2C/IvaEDABApAjUAAAAA0Ct339WO/PhxKdfk2ww+BsEBOxk16c9JB+cTl+cSAAAF5uBZHwAAAACKzw/6RBjb1EZPDvduz4/R0mdBRo2Z4EC4TtEOI19+t8w0K0sBAECp2Lo6AwAAAICCiUs5LHhhPyLrbJY+C3vUWAlApUufJRybT/cKgmaCZgAAlIhbZ30AAAAAKBmbm9roRVzKNRnPqLEi0+fFseMxK1IT3TAAAHCRraszAAAAACiUsCc2L5usCzJq7Jc+M96jxkoAykuvk2M9arIzaqIbBwAALnLrrA8AAAAAJeIrnX1gbFMbPWXiF9bX2tFMjd0Ie9SYea6GUWK3UPoMAIABI1ADAAAAAL2yuamNnoKNfvsZNUZLn/nGAjXO9qih9BkAAAPl1lkfAAAAAErF2uYvcvLCBAbja2209JmnILBhY16u9qjxyagBAGDACNQAAAAAQC8yDcrZcLTO0X3x/IUTNbYVEK6fkQV0tkdNJlJjZSkAACgVt876AAAAAFAycdm9h+JS+szV3ie74aVLuiWtbHH4jq5Tt4wa58YOAEDEjFzFAAAAAECBUfosNih95rYg+81MRo3vfo8aM2sBAECJuHXWBwAAAIASofRZfPiuZjDkKx0AsFb6LMioMRNoc7QWn09GDQAAA2br6gwAAAAACsZoPw/0EOwvJx3bGM+fmwGA/rKSxeE72qOme+kzK2sBAECpOHbWBwAAAIDS8K29Sx85eTFJqLGeUUOPmmj56l76LMKBAADgICNXMQAAAABQaP7u7wITgtJn5jeXjfeoMTMtV3vUeJmvyagBACA/bp31AQAAAKDk2HCMC0qfuSkItCUdC2zk5GyPGmMBMwAASsjIVQwAAAAAFFqQZcHLJuu82GTU2Cx9FmTUWClT6GyPmjSyaQAAyJ+bZ30AAAAAKDI/rOPDpqN1flyq3FktfebbCtQ426MmiANGOwwAAJxEoAYAAAAAemVzUxs9Bfvi5kufGc2o8RT0dDGyfq72qAmfSNGOAwAAF3H6BAAAAIBeBeWwjGz+IqfYlD4z3qPGXkaNm/Mxsw4AAJQQgRoAAAAA6IVvtEwUesqstPG1Dku82Zpn0KMm6VgGSi6+l858cqxHTdBbx9H4EgAAkXLrrA8AAAAAJUOgJi6CoFzS+lKHpc9sTTTMqLEyr/C/HkfnY/6JBABA4RGoAQAAAIBeGdv8RU6OV5rKg82JekFPFytB1WA+jgU8MiXoAABAvgjUAAAAAEAvKH0WH5kEBuNrHWbU2NoK8K0FVR39v8dowhYAACVh6+oMAAAAAAomvevIyybzvLhkAjgaANidsHSdkeeqqz1qAq5lAgEAMBi4edYHAAAAgKIz9i595JQpfWZ9rW2WPrOXUZP+7FjAI5OFCAAA8kWgBgAAAAB6wZ5jfDi6L54/o6XPwh41VgI1npvzyZQ+c2vcAAAMBrauzgAAAACgYILsA142WRc2Qbe+v2y19FmQUWNmXm7+3+OH4452HAAAuMitsz4AAAAAlEz6Xe3sOpoXlj6zvtZGM2pkbP3CHjWuRQ5tVtYDAKAkjF2dAQAAAEBh+EazD9BTpsdJxAMpOps76V46qJq0EoDy0uvkWC2++PR6AgCg8IxcxQAAAABAoRGoiQsvLr01jAYfzTWxD0vxubVOvk/pMwAABopADQAAAAD0ys3NUuTPZviiN272PtmdICPKTEaNqyXqyKgBAGDAHDvrAwAAAEDxZb9Dn01H64L1TlreYO5+TBubZ7B+ZnrU+G6WqAvXwa1hAwAwKBCoAQAAAIAeCNTEiaP74vkJsjQk9zI1dsPz6VEzGBitrAcAQEkYuYoBAAAAgELKBGoo42NfUDrL9Epb6+PSjS9jvVEcjRz6jvbWAQBgMCBQAwAAAAC7yC59xssm67xY9NawX/osaeW5ms4QSriWIeRmfAkAgEHBsbM+AAAAAJRCtzJRZt6mj1xi0VvDcOmzMCPKyAK626Mm/YVj4wYAYDCwdXUGAAAAAAVB6bM4iUVrDd9u36WgR03Cyryc7VETg4AnAABFQqAGAAAAAHZhuJ0HehGsd9KxjfG8kFHjDkczahSLEoIAABSHraszAAAAACgIetTESZgJEPE4istwj5ogUGNlBR3tUUNGDQAAA+fWWR8AAAAASiKTfcC7w+3LtNYwvNaGS58FAYKkY4GNXFztUSN61AAAMGA2rmIAAAAAoIB8w5va6MmLQyaA5dJnvrGMmrBHjVvrREYNAAAD59ZZHwAAAABKgkBNnIQJDNEOo8jslj7zFJQKMzIvRw9IVxOBAAAYDAjUAAAAAEAPmU1tM5u/yCnYYE5aXmsyatzhaI8aSp8BADBwjp31AQAAAKD4KH0WL7Eo2WT4mPZlq0eNq6kpsXgeAQBQJEauYgAAAACgkOxuaqOnMBEgLmttbCfdd7RUWC6+sz1quj6ThQgAQP7cOusDAAAAQEkQqIkTRxMY8mO49JmXnlvSyhaHo4Gn7ExEAACQj0F9FXPNNdcokUhkfRx88MF9/s7Pf/5zHXzwwaqurtbhhx+uhx9+uESjBQAAAGBH9x41g/plEwrAi0PJpu6b6EYnaiaTw0v3qHEso0ZxCHgCAFAkg/6sf+ihh2r9+vXhxzPPPJPzvs8995zmzp2r8847T3/605/0qU99Sp/61Kf06quvlnDEAAAAAFznd88+cO1t7chbLEqfhce0vTmay6jpdkS6JBx10q1xAwAwGAz6q5jy8nI1NDSEH6NHj85539tuu00nn3yyrrjiCh1yyCG67rrrdNRRR2nRokUlHDEAAAAA93XPqGHT0TrfzZYgebKb7uDLzVJhuTjbo8aj9BkAAAM16M/6b775psaPH6/9999f8+bN05o1a3Led9myZZo1a1bWbSeddJKWLVvW599oa2tTU1NT1gcAAACA+GK7MV6C3hq2M2rczNLojyBQY2b9HO1Rk4kFujZwAACiN6gDNccee6zuvfdePfLII7rzzjv19ttv6x//8R+1ffv2Xu/f2NiocePGZd02btw4NTY29vl3brzxRg0bNiz8mDBhQsHmAAAAAMBBYZmoQf2SCQUShjAs7y8Hx7TBnktBoC1pZW6O9qgJA2ZuDRsAgEFhUJ8+TznlFH3605/W1KlTddJJJ+nhhx/W1q1b9bOf/aygf+fKK6/Utm3bwo933323oI8PAAAAwDVBc3nLO/cIeOFGf8QDKSrDpc/MZUQFazWot2x6yGrtBQAA8lIe9QDyMXz4cH3oQx/SW2+91evPGxoatGHDhqzbNmzYoIaGhj4ft6qqSlVVVQUbJwAAAAC3+Y4288bAhFXBLK+34YwaT+kMFCNBKN8L1sqt+YQBM8fGDQDAYODUFVpzc7NWrVqlvfbaq9efT58+XY899ljWbUuWLNH06dNLMTwAAAAAVhju54GeMhvMEQ+kmAwf0+YyaoKlcjTFy/TzCACAIhnUgZrLL79cTz75pFavXq3nnntOZ555psrKyjR37lxJ0jnnnKMrr7wyvP/FF1+sRx55RN/+9rf1t7/9Tddcc41eeuklXXTRRVFNAQAAAICTeGd4nAQxjKTp9TZc+kxGe9Q4tlZBwMziMQYAQLEN6tJna9eu1dy5c/XBBx9ozJgx+tjHPqbnn39eY8aMkSStWbNGyW7N9T7ykY/o/vvv11VXXaV///d/10EHHaTFixfrsMMOi2oKAAAAABzkG84+QE+xWG3Dpc/MZdQ42qPGcCwQAICiG9SBmgceeKDPny9durTHbZ/+9Kf16U9/ukgjAgAAABAPsdi6R1qw0W86o8Zw8NHz3cxAycXdHjVdnx0bNgAAg4Jjb88AAAAAgFKwu6mNnrw4bDD7jmZp9INvrVShF9bii3Ycecr0enJr3AAADAb2rtAAAAAAYA/54Tv0eckUB34YmLMsCNREO4piCDOirGxxuBrwCOPbjo0bAIBBwMhVDAAAAAAUEhk1cRIkmyQdy2DIi+HSZ+YyahztJ5TJqIl4IAAAOMitsz4AAAAAlEQcMiwQ8O0mm2Q4uvnfH9YyonxHm704OmwAAAYFe1doAAAAAFAgZt6hjz5lMjIiHkhR2d1F99JBqKSVIJSjPWoofQYAwMAZuYoBAAAAgMIJetTwkikewtJnljeYDWfUBBJWcqIc7VFD6TMAAAbO7hUaAAAAAAyY3X4e6MkLNpgjHkdRGe5RYy6jxtGgWqb0mb1jDACAYnPrrA8AAAAAJWCuOTn6FHY4Mb3cdkufhT1djHC1R008mj0BAFAcBGoAAAAAYFeGsw/QE6XP3ObJWEaNoz1qXI0vAQAwGBi5igEAAACAQiJQExfdszFMr7bl4GOYyGFkbo5GPCh9BgDAwBGoAQAAAIBdUPosPrpXzTK93jHIqDGzfum1SiTdWiuf0mcAAAyYW2d9AAAAACgFy9kHyOJ1i9Q4VmkqT25mafRHECCwklHju/r/Dxk1AAAMGIEaAAAAAOgh2PjlJZN13dvQW9no71U4UXtz9Hx61AwG3csIAgCA/Bi5igEAAACAwvEVlIlya6MU+fOzIzV2+faPaTOZHK73qGGnCQCAvHH6BAAAAIBd8c7w2KD0mfvCnlJWIm2emz1qKH0GAMDAOXbWBwAAAIBScLRHBPaI6Q3mMKPG3jZAUPrMyvr5jv7/k+kVBAAA8mXvCg0AAAAACiRhcFMb2bonT5nOqHG1QX0/2MuoCXrUuPX/T9ijxvQTCQCA4nDrrA8AAAAAJeAH2QdWNn6RU/fSZ2Y2+ntluPRZeg2TVgKrYbOXaIcxUAYPMQAAis7IVQwAAAAAFJLd7ANk696NyPQGs+HSZ5mSW0YW0NEeNeEhFu0wAABwkltnfQAAAAAoCWMbv8jJ755RY3m5DZc+82SrR42r2U+UPgMAYOAI1AAAAADALnxHN0qRP69bSo3pwBwZNc7wg4PS0bWysQoAAJSWm2d9AAAAACgmw9kH2EX3QI3p5bYbfAwCq9Z61CQcy0wJAkx2MpsAACgdI1cxAAAAAFA4wcYvG472+d0iNUnL6204+Ni9fJ0JXpD95NZahUeYW8MGAGBQIFADAAAAALsyvKmNbNmlzwyzXPrMaEaNc2tFpAYAgAFz7KwPAAAAAKWQ3tTmJZN53bMxbO8vB5v/0Y6iGLx0EMpKBlx4TDo2n0zps4gHAgCAg3jVAQAAAAC7oPRZfHQvmmV6vV3N0shDwkoUKlgr13rUpD+bfh4BAFAkdq/QAAAAAGCgrPW8QE6eH5MsAMPl/Kxl1AQ9apybj283awsAgGIjUAMAAAAAPdjd1MYuYrO37GY5rf4IM+CsrGKYUePWlk3YBsnIMgAAUEpunfUBAAAAoAQypc94yWSdF1aZMr67HO6i2zumg54uSSNz8x3NfqL0GQAAA2fjKgYAAAAACsnRjVLkLxOUi3ggxWb4mDaXUZMufeZcjxpKnwEAMGAEagAAAACgB7ub2siW2Vs2vtaGM2rM9agJ+yY5Np+wup5j4wYAYBCwd4UGAAAAAHvM2Dv0kZPnxySjxnKPGt/W89UPgmqu9aghowYAgAFz66wPAAAAACXg0xU7Nny78YtsMSh9ZqVHTZjQ59haxea5BABAERi5igEAAACAYmDHMS6S1neXDZc+s5ZR42qPGkqfAQAwcPau0AAAAABgjxnb+EVOYemziMdRfHbTHYKMGjMBAkd71FD6DACAgSNQAwAAAAC78A1vaiObH5csAMMZNV56bmYCq872qOn6bP65BABAEbh11gcAAACAUgg2SnnJZF7YucX63nLYo8Yeaxk1vqv9hMJMoIjHAQCAg3jVAQAAAAA9xKUcFuJT+izN4C56ENhIWskW8tKBGsd61PgkIgIAMGBGrmIAAAAAoHAofRYfsSnXZLj0Wfh8tcL5HjVujRsAgMHA3hUaAAAAAOypcN+XDUf7gmyMiIdRbK6W0+qHoEeNnYwaN3vUEN8GAGDgHDvrAwAAAEDx+Qqak/OSyTqPjBozEkaCUK5m9PmOZgIBADAY2L1CAwAAAIABc3OjFPkLqzVFO4wSsHtM28uocXSt7CZtAQBQdEauYgAAAACggAyXiUI2Ly5ZAIaP6bA3ihWOHpOZoKdb4wYAYDAgUAMAAAAAPaQ3StlwNC82/c8Nlz7zZC2jxs0eNWHpM7eGDQDAoMDpEwAAAAB24Yeb2tZ37+GHQTnrDEekjGVyuNujpuuza5lAAAAMBgRqAAAAACAnNhytCzaXk9Y3lw1n1ASBDTsZNUHEw7H5WCtBBwBACTl21gcAAACAUqD0WVzEp/SZ3R41XhCEsiLT7MUpvqPxJQAABgNOnwAAAACwi0zpIV4yWUfpM/eFa2hlbukeNQnnetQEXxlZBwAASsitsz4AAAAAlIK1d+gjJy8ufTUM910KmthbKX3mao+aIFLj2rABABgMbFzFAAAAAEBBUfosLvy4bC4bLn3mW3u+OtqjJjzCkkbWAQCAEnLrrA8AAAAAJeDsO9qRt2BzOWl9rQ03EAl61JjJigqCh44FPHzP3/2dAABAr+xdoQEAAADAngr3G3nJZF1sMmoMBx/tZdS4WabOt3uIAQBQdLzqAAAAAIAe0u/Qt7Lxi5zCzeVoh1F8lkufGetRE65V0s35uJYJBADAYODmWR8AAAAAiojSZ/ERn9JnQZaGvW0Aaxk1vqNBtcy4AQBAvuxdoQEAAADAnnJ0oxT587zYpNR0fTIYkKJHzeAQxgKtrAMAACVEoAYAAAAAerD1Dn3kFpuQnOWMGt/Y89XRHjXh/5uuDRsAgEHA3hUaAAAAAOwhSp/FR9gOxPpaxyBLjB410fL5bxMAgAFz66wPAAAAAKUQg01tdAmzMcwvtd1d9LD0mZHnq+9qxMPVcQMAMAgQqAEAAACAHgjUxEVmpY2vteXSZzLWZ8hzs+cOcRoAAAbO3hUaAAAAAOwhX8FGKS+ZrPPiklFjOEssyEBJWtnicDTikclOc2vcAAAMBkauYgAAAACggMJNbViX2RM3vrnsu9qgfvd82QoQ+I72qCEREQCAgXPsrA8AAAAApcCOY1zEZ6XdzNLoj6BHTdJKBpyzGTVdn60EzAAAKCUjVzEAAAAAUDjhO/RjsH0fd0HpM9eSF/IWJonZO6Z9GcuA89zMfvLjUkYQAIAisH4pCgAAAAD5C98azksm88I+9MZ3l8PSZ/aO6bBHjZW5udrrhYwaAAAGzMhVDAAAAAAUEhk1cZHpbxLxQIrOzXJa/WEuA87RHjVhbx0jywAAQCm5ddYHAAAAgBLwY9S5JO4yVaaMr7XhjJqgR42FNQyDHZJzQTVHW+sAADAo2LtCAwAAAIA9xjvD4yI2ITnf7kxNZdQEkUPJuYhH5hBza9wAAAwGBGoAAAAAYFfBO/R5yWRefBqg2013MNWjpltGjXMZQrF5LgEAUHgGrmIAAAAAoLC6bZVGOAqUghe0A7G+u2y49FkYbLPwfO2eUeNcj5quz84FmAAAGATcOusDAAAAQCnQbCFGgk1+4+JQ+szA89Xv/o1j8wn767g1bAAABgUCNQAAAADQg91NbWTzyahxnheWKjSwhlk9atxaK+LbAAAMnFtnfQAAAAAoAV+GNn7RJy82MTn7u+gWMmqye9REOI6BoPQZAAADRqAGAAAAAHbFW8Njw49d6TN7goyapGMZKL1yukcNpc8AABgot876AAAAAFASsUmziD1Kn7kvE2xzfw2z4mmOHpNk1AAAkD97V2gAAAAAsIcyYRo2HK3z/KARfcQDKRWDEw171FiYm+9wRo0Xk+w0AACKYFCf9W+88Ub9wz/8g+rq6jR27Fh96lOf0htvvNHn79x7771KJBJZH9XV1SUaMQAAAAATDGcfoHcW9vj7FINj2kRgtXuPmgiHMRBh5TO7hxgAAEUzqE+fTz75pC688EI9//zzWrJkiTo6OjR79mzt2LGjz9+rr6/X+vXrw4933nmnRCMGAAAAYAOlz+IiyKixX/rM7jFNj5pBxvpzCQCAIiiPegB9eeSRR7K+v/feezV27FitWLFCH//4x3P+XiKRUENDQ7GHBwAAAMAoSz0v0LesniCmBekO9o5pS89Xv/sB6VightJnAAAMnFNn/W3btkmSRo4c2ef9mpubte+++2rChAk644wz9Nprr/V5/7a2NjU1NWV9AAAAAIizYFM72lGg+MJyTQYDGFkMlz7zwz5DBtawe6DGsfmE65B0a9wAAAwGzlyheZ6nSy65RB/96Ed12GGH5bzf5MmTdc899+jXv/61fvSjH8nzPH3kIx/R2rVrc/7OjTfeqGHDhoUfEyZMKMYUAAAAALgibOjtzEsmDFCm9FnEAyk2w6XPwgCBhbl171HjWKAm5OiwAQCIkjOvOi688EK9+uqreuCBB/q83/Tp03XOOefoyCOP1PHHH69f/epXGjNmjO6+++6cv3PllVdq27Zt4ce7775b6OEDAAAAcEhmS5sdR+vshi92YTmjRoYyaoIeNQ7OJTzE7D+bAAAouEHdoyZw0UUX6aGHHtJTTz2lffbZJ6/fraio0LRp0/TWW2/lvE9VVZWqqqr2dJgAAAAAzLDbzwO7iEvpM8PHtJeOEFgIEIQ9ahzrTyN1C5i5N3QAACI3qE+fvu/roosu0oMPPqjHH39c++23X96PkUql9Morr2ivvfYqwggBAAAAmBSWUhrUL5lQAJQ+c5+pjBrf4YCav/u7AACA3g3qjJoLL7xQ999/v37961+rrq5OjY2NkqRhw4appqZGknTOOedo77331o033ihJuvbaa3XcccfpwAMP1NatW/V//+//1TvvvKN//dd/jWweAAAAANziy9v9nWBCt44gEY6iBCyXPguCbRYCq767QSffc3fsAABEbVAHau68805J0owZM7Ju/8EPfqDPf/7zkqQ1a9Yo2S0leMuWLTr//PPV2NioESNG6Oijj9Zzzz2nKVOmlGrYAAAAAJzn8LvakReXExjyE0w02lEUg6mMGpd71KQ/G4wFAgBQdIM6UBPWZu3D0qVLs76/5ZZbdMsttxRpRAAAAABiwXCZKGSLT+kzuxk1YY8aB4MbPbjcoybcwjGwDgAAlJh7Z34AAAAAKBF61NiXCckZ31w2vIkeZtQYmJvvcopXWLYt4nEAAOAgXnUAAAAAwC7CHjXsONoXZNSYf3XscABgN8IeNRayhTx3s4MyMSb3xg4AQNQMXMUAAAAAQIFR+iw2vLB1i/G1Nlz6zFJGjctNkzLZQNGOAwAAF9m7QgMAAACAPZTZ+IV1sdlcNhx89MOSW+7PzU9n1DiZ4uVujAkAgMg5eOYHAAAAgGKzm32AbEH4Iml9d5mMGjeE8TT35kLpMwAABs7eFRoAAAAA7CnDjdeRzYtJQo3ldAdLGTVBQM3FucQmOw0AgCIgUAMAAAAAuzD1Dn30KbPJH/FAis1w6TMvHdxIWtjicLhHjcioAQBgwAxcxQAAAABAodnd1Ea2YF+c0mfuCgOrBtbQ5R41sQl6AgBQBO6d+QEAAACg2AxvaiNbJnvKOoczNXYjDBBYWEUDPWosLAMAAKXGqw4AAAAA2EV8Nu8Rm81lw8FHSxk14TolHZwLpc8AABgwe1doAAAAALDH4rJ7Dy82pc/83d/HUWGPGgtBKIezgyh9BgDAwBm4igEAAACAAnO5oTfyEp/sKbvHtC87QSi3e9R0fSajBgCA/Ll35gcAAACAIsts3vOSybrYxOTCido6pv1umUI2MmrSn108IMNjLNphAADgIgNXMQAAAABQaJQ+i4tgoz8+pc9szbN7No2L5cJ6cLhHDRk1AAAMHIEaAAAAANhVbNIsEJulDgIAFrJOurGXUeNmj5ru62D+uQQAQBEYuIoBAAAAgEKLS98SdM/HsM1mRMqTF/UQCsvVHjXd2wTZOsQAACgJx878AAAAAFB8vmxmH6AnLyx9FvFAis1o6bPuAQILJbd8R1O8sjNq3Bo7AACDAa86AAAAAGBX4Z4jG47WObovnj+jpc+6Z9QkLWxxBAekY5HDrIQat4YOAMCgYOAqBgAAAAAKzc0+EchfsMGcNL+7bDMiZS6TI+hR41pArXsFOgvrAABAiTl25gcAAACA4vNltEwUevD9mPQjsppR42ciBCYCq0GPGseCHdkBswgHAgCAo2xdoQEAAABAIfhubpYif5nSZ8bX2mqPmm4srGEY8Ei6tV2TXfrM/XUAAKDU3DrzAwAAAEAJ+JQ+iw0vLDUV8UCKzmbps+4ZNUkL2UJesE7RDiNfvtctVOPY2AEAGAwMXMUAAAAAQKHZzz5Al8xKG19ro6XP/G65HDbW0NEeNd0YiwUCAFAS7p75AQAAAKDY2HE0z7eZaNKT7+/+Pg7KCtRYWERne9RkvrYRMAMAoLQI1AAAAADALvx09kGCl0zmBT1Bktb3lsOIlK1jOquJvYEAgbM9arqXPnNr6AAADAqcPgEAAACgB0qfxUW40o5lMOTPZupQ90CNrR417q6T/ecSAACFZ+AqBgAAAAAKzf3NUvRPsNFvfqV9m8FHT174tYWMmkyPGrfmkp3ZBAAA8kWgBgAAAAB2ZbSfB3rKJDAY3172g94ntrYBsgIEFtbQ1R41Xrdv3Bo6AACDgq0rNAAAAAAogKBBOT1q7PNjkzxlc6KZ56qNebnaoyaUMBIwAwCgxBw98wMAAABAMdnc1EZPmY1+44xn1JgJDjjaoyY2JQQBACgSW1doAAAAAFAIvq136SO3MIHBsY3xvFntUZMOQCWtbG+k5+Nc4CkuJQQBACgSI1cyAAAAAFA4QZYFL5nsy2RkRDyQonMzU2N3wueqlWk5WosvLNnm1rABABg0eNUBAAAAAD0EZaKiHQWKz2aeSS+Mlz6zklHje+l1cqxHjU9GDQAAe8StMz8AAAAAlAKlz2LDs9bjJBejpc/CHkNW1i9cJrfmE5/MNAAAioNADQAAAADswo9PnkXsOVppKn9WM2rSz9WklXk53qOG/zIBABgYI1cyAAAAAFBA4e49L5msC7sRubYxnjebPUS8IABlhaORQz8umWkAABQJrzoAAAAAoAdKn8VFuMEc8TiKLohIWZtpel5WMmrc71ET7TgAAHCVW2d+AAAAACgBSp/FR2w2mI2WPvOULhVm5bnqaI8aZ8cNAMAgYesKDQAAAAAKwt/9XWCCF5uSTTYjUpmMKCPzCnrUJN2aT6b0WcQDAQDAUQRqAAAAAGAXftjQm5dM1pFR47Ywo8bKAvpuZvM5OmwAAAYNW1doAAAAAFBQ7Dpal9lfNr7WVnfSw0CbjXm526MmLplpAAAUh1tnfgAAAAAoibikWSAofeZYpakBsHlMe+lMoaSV7Q1Xe73YPLwAACgZI1cyAAAAAFBAVrMP0FNcNpiNlj7zZSyTI8yocWs+vqsBJgAABglbV2gAAAAAUAB+0PeCl0zmUfrMbUFGjZ31SweeHJtPpvRZxAMBAMBRvOoAAAAAgB6CNItoR4Hi8+KywWw0oyZgJaPG1R411noFAQBQao6d+QEAAACgBHw339WO/Pmx2WC2WeMtKH1mp0dNep0cC9SQUQMAwJ4pj3oAAAAAADDY+OFX7DpaZ7MgWC+Mlz4zMy3PnWy+jraU3ntji95+ZZNW/2WTpDgEPAEAKA4CNQAAAADQg+0yUcgISp851rs9f2HqkK1jOsyoMTOvIDNl8M3H931tWd+iNX/9QGte+0Dr3tymVKcX/ryiqkyHzdg7whECAOAuAjUAAAAAsCtKn8VH7EqfRTuKQvONPVfDHjWD5HjcsbVN7725Re+9sVVr/vqBmje3Zf28bmS19j1slPY7YrT2/tAIlVUMvgATAAAuIFADAAAAALvw41MQK/Z8xaS3hm8zS8xaoCbqHjVhYOZ/tmrd/2zV1g0tWT8vK09q/IeGa99DR2nioSM1fNyQGAQ5AQAoPgI1AAAAANCDv/u7wIRMAoPxzWarPWrSZQrNrF8Je9T4vq/mLW1av2przsCMEtKYCXUa/6Hh2mfyCO09eYQqKsuKPzgAAGKGQA0AAAAA7MofvH0iUFhhRk3E4yi+sMZbtMMoMKsZNcX4v6e9tVPvv7NdjW9v04a3m7Th7Sa1NLVn3SeRkEanAzN7f2iExh84TFVDKgo+FgAAkI1ADQAAAADsgtJn8RFWmjIWwOjBaumz9HM16fC8fM9T+6pV2vmXV7T90Ue7btzD49HzfG1p3BEGZDa8vU2b1+3IJFalJZMJjZ4wVOMP6grM7EVgBgCASBCoAQAAAIAeCNTEhWcz0aQno6XPwowahxawY+NGtf7lL9r5l1e08y9/Uesrr8jbsSPrPhV7NfT/8dpT+uC9Zm16t1mb1jZr07vb9cHaZnV2eD3uO3RklcZNGqaG/es1blK9xkysUzmlzAAAiByBGgAAAADoIS6791BcSp8Zzajx0vMajKXPfN9Xx3vvqfX119X2+t/U+re/qfX119W5fn2P+yaGDFHNoYeq5oipqj7iCNXNmNHrY7Y0teuDtc16f+32rsDMu9u1dUNLj0wZSSqvKtO4fes0br9hGrdfvcbtV6/aYVUFniUAACgEAjUAAAAAsAt/EG/+orC8uJQ+Mxp8DHsMRTwvr61N7atWqTUdkGl7/XW1vvGGvO3be945kVDVgQeq+oipqpk6VTVHHKGqAw5Qorxri8b3fe3c3qHNf9+iLet3aPO6Hdq8vuujtbmj179fU1ehMRPqNHpCnUZPGKoxE+pUP6ZGyaSt9QYAwCoCNQAAAADQg80yUegpKJ1lfqmNlj4LJFWaTCGvrU3tf/+72t5apba33lLbqrfU/uZban/3XcnrWWosUVGhyoMOVBt/eFAAAClMSURBVPXBh6j64INVfcjBqjpkisqG1sr3fDVvbdP7G1u05elGbV6/IwzMtO7oPSCjhDRsdI1GT6jTmIlDNXqfrsAMmTIAALiNQA0AAAAA5GIs+wA92Q5fdGO99FkBn6u+7yu1ZYvaV7+j9tWr1b56tdpWrVLbW2+q4921vQZkJCk5bFhXMObgg1V1yMGqPuQQVU6apJ2t0raNO9W4sUXb1rZo68q/a+uGFm17f6dSvfSR6ZqQVD+6RiP3qk1/DNHI8UM1vGGIKugpAwCAOQRqAAAAAGAXYYNy+9v3sUfpMzekvJQaWxq1ettqrW5arXea3tE7Te/ora1vDfwxt2/vCsa8kw7IdPvsNTXl/L3ksGGqOvDAro8DDlDFAQeofdREtfg12v5Bm9Zv2qmmTTu19ZdN2rrxeXW0pnI/VjKh+jE1Gj5uiEaOrw0DMwRkAACIFwI1AAAAANBD8C53W9kH6CkMyrkZv+i/sMTb4D2mPd/TxpaNeq/5Pa1pWpMVkFnTtEbtXnvO350+fnrPx2trU8d773V9rF2r9rVr1fHeOnWsXauOtWuV2rq1z/GUj99Llfvuq4qJ+8qb8CG1j9lXrUPGqKm9Qk0ftGr7pp1q+lurmp9vk+/9T+4HSkj1o6o1bOwQDR9To2Hjhmj42CEaNrZG9aOqlSwbvGsCAABKg0ANAAAAAPTgdvYB8md+qcMeNVEOwdeWti16b/t7eq+558e65nXq8HL0ZpFUkazQxLqJ2rd+X00aNkn71eyjfVuHalxTQkPeadbGZ29Vx9quoEzHe++p8/33dzum5OjRSu57kDr3OUgdYyaqfehYtVYO106vWs3bOtS8pVXNH7TJ2+BLapO0ttfHKStPqm5UtepHV6t+VI3qR9do+LgaDRs7RMNG16isgmAMAADIjUANAAAAAOyC0mfx4aXXmtJne6491a4NLRu0YccGbWjZoMYdjdrQskHrm9drbfNavdf8nnZ27uzzMcoSZWqobdD+lXvrYG+M9m0dqvEtVRq53VfN5halNmxUx4Z31dn4klKbN0uStqU/duUroY5hY+XtfYA6x05S54i91F47Sq3l9drpVWtHa0LN2zrU2Zba5UG2pz8yEglp6IiuQEzd6K5MmPpun4fUVyqRtH4MAQCAYiFQAwAAAAA9RJ99gNIYBIkmhef7Uus2aXujtH2dtO09qbOt62cDLH22s3OnNrVsUmNLYyYIs0tAZnPr5t0+TnlK2t8bpQO80ZrYUae92mo0pjmp4U0p1WxuUXLTFnVu2Chv2ztZv9ee/pAkL5FUR8VQtQ+doPba0eocO0EdI8arvXa02ivr1ZqoUWtHuXa2eNnruyX9IakrOyajurZCQ0dWaeiIag0dUaWhI6pUN7I6/L52RJXKKFEGAACKhEANAAAAAOwq7FvCxqx1YesWVzJq2prTAZj1fX/OlblSOTT80vd9bW3bqk07N+n9ne/rg50f6P2d7+v9lszXm3Zu0qadm9Tc0ZxzSAnf19Cd0oQd0piWCk3sqNP49iEas7NCI3ckVLc9peqmVpVvaZa2NUnakP5Ij0NSqqxaTZV1aq+oU0flJLWPr1P7kJFKDRurjiEj1VFVr7Zkjdq9SrV15nhe7kx/SAr6TCUSUk19pWqHVal2WKWGDKtKB2KqNXRklepGVKt2RJUqKsv6uwIAAAAFR6AGAAAAAHbhhxk1jmzeY8Aypc8iHET7DmnH+9KOTenP72d/v70x89G+vc+Hak0ktCWZ1ObKCm2pqdeWISO0uaZemyuHaMvQkdry/P/JBGZaP1Cn19njMRKer7qdUt1Oqb5FOrSl6/uRO8s0rmOIRrVVaPjOpIa2eKre3qaKrTuUSHnp307JV5s6y4eoo2KIOipq1Vpeq+0Vo9VRX6f2UXVqr6pXR+1IdVQNU3v5ULUnquVpN0HRXYbZIwAzvEq19ZWqHV6l2mFVGjKs6+uaukolKUkGAAAGOQI1AAAAANADgZq4yKx0gdba97sCLzu3SDs3Sy0fSDs+SAdeNvYSkNkkdbT0+lAdkraVJbUtmdS2ZJm2lSe1rbJWWytrtLm6Tlsqq7WlvEKbkwltVqe2pNrU4rVnPUZ5Z5tqt7+voa1Sbes7GrrT18hWad+dUn2Lr/oWaWRbhUa0lqm+Rard0anKlk4l/EymS0dFbddHeVfgpbNiqNrKh6i5olYdY2rVOb62KyhTVafOiqHqSFQNqBdORXWZauoqNaSuQjV1lemPrq+H1Ge+H1JXqaraCgIwAADADAI1AAAAANBD8Ruvo/DaOz1t29mhbTvbtbWlQ9t2dmhrS4e27uzQtpZ2bWnp0OaWdm3Z0a7N6Y9NzV29Snpd6s72dLBlc7fAS29fb8m+PZUdLGlNJNLBlqS2lSXV1O3rbUMrtC05QtvKK9RUUaVtZeXalkxoqzztDMp3eb6GtElDW6WhO6Xa7b6GtnaotrVDI1uliTt91bYqHYzxVdeaUF1rQrU7fZV3lqmzvCb3R1nX55bqGjUNrUkHZGrTAZkh8hMDLwlWUV2m6iEVqh5aoera8q5AS32lhnQLwHQPxlB+DAAAxBWBGgAAAADYhe+nN8jJqCm5zpSn7a2d2t7aqabWDm1v7cwKvmxNB1/C78OATLt2tKeyHqtCnapTi+oTO1SvFtUnWlSnFk1ItOhQ7ej6vqxFo8p3asaKKmn5Dql1m9TaJLVuldqb1SGpOZlUczKp7clE+nMyfVui29dJNdck1Fw7LHNbWbmafSnZLg1p6/qoaZeGtPka0pq+Lf39pDapps3TkLb2rp+3SVXt5arqrFJFqkpeWXaAJVVeo47yGqXK0p/La9RRXaOdQ2u0vdv9vGTFHq9JWUVS1bVdwZauzxWqCj9nbqve5baycno8AQAA9AeBGgAAAADowX7pM9/31eJ52tHpaXsqpeaUp+bOlLZ3empKpfTmjta8H689HWRpTgdatrd2qCn9eXu327a3dmp7Wy+3tXZqZ0enqtWuOu1UbWKnatWqoWrV0ERL19eJVg3VTjUkdmqoWlWrneFt9ZU7VKedGppsUXmyRalEp1qSCbUkklmfd3T7+v1kUm8nk3qipSvw0pxMqrU6qc7yeqU6hynRmVR1u1TT7qu6XarukGrauj5Xp28b0i6NbJeGtJerqqOq6yNVpYpUtZKJaqXKqtRZVqVUWdfXqbIqdZYHX1enf1alVG21dtZXq7msUqmyavnJwr1kr6wuU2VNuaqGlHd9rsn+HPysqlsGTBB4KSfTBQAAoKgI1AAAAABALoOs9FmH56sllVKL56kl5ak55Wl7Z0o70p97+745lVJzZ9fn7Z2edqRSXYGZjpS8lC91+l2N4Dt9JVK+1OlJKV+JTl9lKU/Lt0g3vLZZO9o6uz7aU2pp71RzW0qtrW1KtbXIa9+hRPsOVfqtqlGbhiTaNETdv24Lv94nHWyp1U4NUYuqkq0qT7SqLNmm8qo2Jarb1FqWUEsioZZkUi2JhHYkg0BL+utEQh8oqY7OhDpSSXV6CaU6k/JSkt+ZUKKzVlWdtarqkKo61BVgafdV3ZFQdXu5qjoqVdVZqZGdFRqXqlSFV6XyVKXKvQol/Sr5yUqlyirkJSvTwZRuXycruj6XV3cFWSqqlKquUmtZtXYmixPQKCtPpAMpFaqsLusZbBnSLdjS/bbqrs8V1eX0cwEAABjECNQAAAAAiC3f9+R5rUqldiqVapXn7VQqtVNeuiF7QvmVbvJ8Xzs9T60pX22eFwZUdqS6PocfXvB1qpfbPO3oTGlHR0o72lPa2ZFSS3tKre0pdaa8rmBK+iOR8iWv29epdJAl5aki1aHqVJtq0h/VqTbVe20a67WpOtWuIX6rqtWhqkS7qtX1UaN21STaVK1WVatN5WWZIEoi2a5Eol1KdkjJDvmJTqWSnlqrEmqtTmhnMqFWJdTuJdXhJ9SRSqgzlVDKT6gpldDWVFKpVEJKJaROKdGZUFlnQpXtUlVnuao6q1XVUa7KVIUqOiu6PqcqVJ4q1xC/QnWpCpX5lSrzK5T0K+Undw2gVMorq8j+OlmlVFmlvGRF1+fKKqlWalfXx/bCH1KSpLIyqaIqqcqqMlVUl6tySIUqqruCLBXVZaqoKlNldXn6c9f3FdXlmZ9VdX0d/CxZRgkxAAAAywjUAAAAABgUfN+X73fI89qU8trkpdrkea3yvK7PXbe1yvPaw9tT6Z9l7tuuVPCzzla1eh3a2dmpnV6nWlMp7fRSak15avX9rmCKn1CHKtSuyqyPDp2sdlXqodWdak+8rZYOTzvTQZPWzpR2dnhq6/DU1plSW6enjs6U2jt9pdKBkq7giacKr1OVnR2q8tpVlWpXdapNlV7X95WpdlX77V3f++2q8jo0zGvXGK9DlX6bKtSu8mS7ypNtqki0qyzRprJ0sCSZ6FAy0aFEskOJRKf8RKf8ZEpSSvJTkuep05c6/XS2SfrDTyXkeQl5nQklPMlPJeR3JpXsrFDCq1B7qlydneVq9ipU7pWrIlWu8tQwlXvlKvfKVeaVq8wrU5lfrqRfqaRfrkpVqEoVGuFXSIkKeckKeclyeclKeclypZLBbRXyyjI/7367ypNdr06ru46FjvRHMSWTvsrLpPKKhMorkqqoTKq8qlwVVeWqqKlQeU2FKirLVF5ZpvKqsq6fp7+vqCrLBFm6B1zSX5O9AgAAgHwQqAEAAAAckkqlwo/Ozs4eX/d2W877pjqV6mxXKtWmDRveU0Vli5LJLWppeTsdDGmX57fL9zq6fd8hv9vXntcm3+tQKtWuNr9D7amU2lIptfqe2lIpdXgptfme2lOe2ryU2j1PbemPdt9Xuye1+1JbSmrzEmr3KtTmV6nDq1S7V64Or1IdXrk6/Ap1eBXq8MrVmf5IeWXq9Ookr/7/b+/uY+yq6n+Pf9bae2YKlQ5KL62Wqd7EihcaOrFPlBApptifBRsxWhINHTGBPwRaUv9piQgmeglpwCKtIsHfz8akivWGQgk2SK+NSCuFVg0+VWrUktYZLHA7bX/Qztlr3T/W2vucM3Omj6ez5+H9Sk7301prf/fe58zuWd+zzpHJvBLnlGQuTF2mxDm1uj61uIpaXJ/aXJ9aXJ9afEWtrqLUHVeL+pT4Y0rUp1THdZ7v1Xj1yagiq+Oy5hVZ9SkxfTI2k9FxWZ8p8RWZOJV3si6TfIjBOy/jnJQnQlwqn6WSS+VdImWp5BMpa5HxieRSGRfWGZfIuFTGJ0pcKusTJW6crMbLulRGqawPU6NQTibMSy2SSWOSJJWL875YTuRsS1iuKSdTM1ojiY/a51x8HBui53hinKwNo1LSVEoSo6TFKmmxIXHSlsbRJy1qOb9V6bgWtbTFBEpNMiVtzcvXzMf1aSvJFAAAAAwfJGoAAAAwIvj49U7ehRELPvPVdZmTXFinYr0ryvT962hdW845OeeUZdkpTwdbl2V9cq5PWXYsTo/HaZ+8j8u+IpeFZIf3FTnXJ+8rylyfMl9RxWXKfKaKD9NMThXvlMkr816ZnJyRMnk5Y+StUWasMmOUyarPJMqUyJlEFYVHpkQVWWU+UaZUFZmwzqXKvJG8JBdGVcgZyUjmA5folUPHtGHDZhnnZZ2T9ZJ1TsZJia/EdRVZX5HxLiQslCnxfSFxoT4Z9YUyqsi6ihLfp8RVYr1M1mcyLlPiMrX6TONcvixZb2W8l3VGxsf4fCJTLFsZbyVvQ1LD25D8kJVcEsp6G6dJKOfTah0lxbyUyPokrFOr5CfIKCY+fCKZPGsR1nljQyLEJPI2kTeJnEnlbTj33iRycb2PiZE8CZKnBIrUgFHDd2M+PqSQHCmDVSZrvKz1SqyUWMkmMWGSWNk0jEBJWqzSlpAISVrDSJSkLVU6rlUt57UoaWtR2hKSIklqlbbGOunAdcV8YmVIoAAAAGCMIVEDAABwlnzs9PfxUcx7N8i2rG6d9z5uy8I0y+QzJ1eJ0yyTy5x8lql772tqs+er1bepcuhY+Hol5+W9JB+/bsnHpIbzsV7eRkhoOOfkK05ZVhNXJUyzWD7LsricKXMV+SIhkSlzmbyryPlMzvXFaRaSES587ZLzmSouU0VOmSrKFJMOyuJ8psyEdU5emcmUSXLGxWWnPhN+76NiTEhWGKPw8xZGTlJmTfykv5GP00xhm49d3cZ7eflQ4n9Jxnn5/wqnKu8SD2XCdbA+fP2W8V7yLrTjvYx3Ms7FxET4WimbhXnjvIwLyQfrFJIRmZO8lHhfJDms8zHpEaZSmDdSWPaS8ZLxRnKSZGS9lPowVsL4kKiQNwq9/KaavPBGkpW8kfU2lrFxmw3li0RF3J7P58tKZFSzPtarlrEyJpQL308VEh0hmRHLmEQ+TiUrb2xMWiRxPi7HeVfMJ/WjOhq9zlRNYISLqwEjP0YE74tnqjVexjhZeRnrZY1kreJoEiNrQ2IkSW2cmjDfEpIcSWsS5ltDoiRtTZW0tShpC9O0rUVpayqbmiIZEh6mZj488jLWmnidAQAAAAyVEZGoWbdunVavXq3u7m7NmDFDjzzyiObMmTNo+Y0bN+qee+7RP/7xD02bNk0PPPCAFi1aNIQRAwCGmvehMzV0VDvJx27aOJ8/6sp5r+zwkZO0GTsGfd4RHjuAiyZit2Es513NcqwTOuHz5fDp/tApr9hhr9ihH9dnPnbY+9iZ7+WzTK6oF7bnIwtc5uRi/byzXVmoq5gYUE1bcgqJgHhusiyTvIp95nHIObnY+e98Fr7Cx7l4iivxHLt4sCEGeRfPiZPkis7vdw6/qwvOz/Sn//sX7d2ZSvLKfOxO9y4vGeJQ7KjPz5d80ZnvjJFXOAdZPNGZV9hqQrxOkjdOilF4H+YzE9a42KnvFa+ppCyWz+IWF58DTtX1vma9lMXjzJ8XrujM997IKH71kfcyPkbiTeyED89R4yQZIxPr5h31iufcKNbN6/jQFS4vmQ+O0/87vk9//t+3Fm0ap3Bk3hT7NcrnY9JCCuXicRupGpdU1Amd+nkCID/mPBkQEwnFcl6mOu/z+Zq28u3VciZeQRvjNEpN47LhYatT36/9huv616vfnu+3rqwJyQZfO29C/TCSwsrLyhtTt766rX55KHjbL3mh8kZhnDM+C4kyVR+Kr2RjfFhnFOaNwiMmPcKlMLJxmlgjmxjZxMomMfmRJEpbEiVpojQNiQ+bWtk4nz9sS6qkNZ/GR1tLWG5JlKS1bYdEiM1HoCRGNo3bGC0CAAAAoB/jix6m4emJJ57Q0qVL9eijj2ru3Llas2aNNm7cqD179ujiiy8eUH779u36+Mc/rvvvv1833HCDNmzYoAceeEC7d+/W9OnTT2mfvb29am9v1//5r3Uaf/55oWPLG+Vvg13eSSep6FGJfVL5JzadVH3X7L28yTsMw6q8+8jknXgy6su/giJ2LlYvTeicanSlqp2IXrG/o65cTQj1b+Jj51heKP+sqWrKh6mTjInHH7zWc1iSdNn7L1BLmhQdlsX+avaVd2nl/ZZGmVLfV/eRSF/3r6k7gPxTrLXHky+ZorvM1MRspJpuNPm4qvjUbPXaVVs1RVteGnCefW19U51U9xkqHDN9ysKVqrZt8q7AvI4pjqmmVHFceUda/SdGfV6rJvLq9XDxyg24DqaukbA9Ox4W0nHyNikOttp6tcK4o8dks/zCxU8ihx3WRV37iWUZU8RiQl9htYPP1+8jvE7yzr3+T+6aZ2PdtVNN96qKa2GUvw5C50yxPzdexrcqfKK4iLTYv2TkfXFVYoddaNcbU3OdTRFT/dlXzRMk7+jz/bb1u/ZS0TlZc7j9W43yDtGaZk39a+RE9QY+EfLjqGm3eM1Vy5n+bdbFF066qTu2mpoD/k6Z2mqDxOr7nZOBZ7r6fBjYiimu5mAxD2hlwD5MvObFusGOo2aPvujwVf31qYuhf/3+MZxoP4ovIsXz16Cub1Sv9jr3P5aBbRT/nqDcwGdH7XH2v17VEr6oa6vbjKl5sZp+9WqWjZHvv67oTK8u+351intC/30W62vr23gI9e17U7/P2mVfE3dRb4g65DHKxP+L5QmIkJwLyc7wV61mnRpNJcnJxJuEMfHeVpusiPMy4WlqjKmZhqSBMZJJkmLZWiuTGFlri2RGvt6miZIkJDSSJCYw0kRJS6okTWXjqA/TksYRGolsSxKmrWlcDkkNkybVBEaSxxNGkJiaZEo4jsZ3EAAAAAAYSnne4NChQ5owYUJT2x72iZq5c+dq9uzZWrt2raTwfeIdHR268847tXLlygHlb7rpJh09elTPPPNMse7KK69UZ2enHn300Yb7OHbsmI4dq/40Zm9vrzo6OvQ/Nr8gO/49TT6ixsx/V9T2Qs+Q7KtM/2F36tHWNWWHcU7cPfEibb5gfNlhNM0D/1nR/xzhT8k/frRLPZMHH30HAMOOz7Ph+SiY4pMT1YS5qmXkqwns4hEz2dX1qtneb75o19W3UVe/8SP0nde3a4qhOr6aGsvL5cmDfHvNcpFMMJKxplhXJBasjaMjwlcy2ZhoyJMLsiGxYPJHnlhIkpCESBLZJC2WkyQJbSahjE0SJUkaR1iExEKS5nWsbBrbTBKZmIAwNpFNjUwa6puWJO7TVOO0phjRYWwed/U4AAAAAAAjx7lM1Azrrz47fvy4du3apVWrVhXrrLVasGCBduzY0bDOjh07tGLFirp1Cxcu1KZNmwbdz/33369vfOMbTYkZw4+r+QR+bVaybgSRTl6m/yfd+5fL4qiN/iVP9Jn5unINUqan+xn8gSMKVNOxN7DcwM/AV+ddIr3bUr+fAQNBBlnu/yH/QZdPs926daewj0ryjtK+3ga1ake91Edj+l3ZgRHXDluq324GlB1sX432UT8fRiE0emY2aM+cStuDbTt5LKdbrhh9URtT8aSribn2XNYuD1buDGKpnzd163xNrHXXvWGsoXy1yMD26vZlauYbba8do2JqTkFRv9+T3tTWMTV/MEzNtvDp+aJu3Yu7us6o+poKneR5T3lewBTljKmpZGLHspGMsXXbTL4t1jemOjU2n49f9xP3aeK8zduKHfGytujETmzeRvi9jPxT/so7wBMbYrFGVuHXrq21oTM8/hh1YpOi094YG0cO5G0k8RP7YbhBkrdnTNFhH9qPHfombE9qEgA2/qCEyePOl+MIBWNDEqHYLhXnsTh3qs4DAAAAAICxZ1gnag4ePKgsyzRp0qS69ZMmTdJf/vKXhnW6u7sblu/u7h50P6tWrapL7uQjanbO/FBdZszWfRWKTtixUu3EqlnXoIvdxo4s57z++5rLijLG2KJvrLZ+bZvG5DHVt29qtodp446furb6xTYw9v51zUm2D1Le/Yfk7m5c05jG60+0rf8JaWCovpDmgfgYNb5cdgAAAAAAAAAAMPoN60TNUGlra1NbW9uA9e8bP0ETxjd3CNOJnN86ZLsqj03CAwAAAAAAAAAADNlggzMyceJEJUminp76H8ro6enR5MmTG9aZPHnyaZUHAAAAAAAAAAAoy7BO1LS2tmrmzJnaunVrsc45p61bt2revHkN68ybN6+uvCT94he/GLQ8AAAAAAAAAABAWYb9V5+tWLFCXV1dmjVrlubMmaM1a9bo6NGjuuWWWyRJS5cu1ZQpU3T//fdLkpYvX65rrrlGDz74oK6//nr95Cc/0SuvvKLHHnuszMMAAAAAAAAAAAAYYNgnam666Sb9+9//1te//nV1d3ers7NTW7Zs0aRJkyRJ+/btk7XVgUFXXXWVNmzYoK997Wu6++67NW3aNG3atEnTp08v6xAAAAAAAAAAAAAaMt57X3YQw01vb6/a29t16NAhTZgwoexwAAAAAAAAAABAic5l3mBY/0YNAAAAAAAAAADAaEaiBgAAAAAAAAAAoCQkagAAAAAAAAAAAEpCogYAAAAAAAAAAKAkJGoAAAAAAAAAAABKQqIGAAAAAAAAAACgJCRqAAAAAAAAAAAASkKiBgAAAAAAAAAAoCQkagAAAAAAAAAAAEpCogYAAAAAAAAAAKAkJGoAAAAAAAAAAABKQqIGAAAAAAAAAACgJCRqAAAAAAAAAAAASkKiBgAAAAAAAAAAoCQkagAAAAAAAAAAAEpCogYAAAAAAAAAAKAkJGoAAAAAAAAAAABKQqIGAAAAAAAAAACgJCRqAAAAAAAAAAAASkKiBgAAAAAAAAAAoCQkagAAAAAAAAAAAEpCogYAAAAAAAAAAKAkJGoAAAAAAAAAAABKQqIGAAAAAAAAAACgJCRqAAAAAAAAAAAASkKiBgAAAAAAAAAAoCRp2QEMR957SVJvb2/JkQAAAAAAAAAAgLLl+YI8f9BMJGoaOHz4sCSpo6Oj5EgAAAAAAAAAAMBw8eabb6q9vb2pbRp/LtI/I5xzTh/5yEe0a9cuGWPKDqcwe/Zsvfzyy2Ni/+d6X81uv7e3Vx0dHXr99dc1YcKEprWL0a/s1/VoMZbO40g91uEYd5kxcU89Me6rOBPD8e/MSDWWzuVIPNbhGHPZMXFfHRz3VJypsl/Xo8lYOZcj9TiHY9xj5b3qUOyv2e0fOnRIU6dO1dtvv60LL7ywae1KjKhpyFqr1tbWpmfFzlaSJKX+x2oo93+u93Wu2p8wYQL/+cVpKft1PVqMpfM4Uo91OMZdZkzcU08N91WcjuH4d2akGkvnciQe63CMueyYuK+eHPdUnK6yX9ejyVg5lyP1OIdj3GPlvepQ7O9ctW+tbX6bTW9xlLj99tvLDmGAsmMayv2f632VfS6BHM/F5hhL53GkHutwjLvMmLinAs3Hc7F5xtK5HInHOhxjLjsm7qtA8/FcbJ6xci5H6nEOx7jHynvVodjfcLy+g+Grz4Am6O3tVXt7uw4dOjTssvAAAIw03FcBAGgO7qkAADTPubyvMqIGaIK2tjbde++9amtrKzsUAABGPO6rAAA0B/dUAACa51zeVxlRAwAAAAAAAAAAUBJG1AAAAAAAAAAAAJSERA0AAAAAAAAAAEBJSNQAAAAAAAAAAACUhEQNAAAAAAAAAABASUjUAAAAAAAAAAAAlIREDVCCG2+8Ue9973v1uc99ruxQAAAYUZ555hldeumlmjZtmh5//PGywwEAYETjvSkAAM3x+uuva/78+brssst0xRVXaOPGjadV33jv/TmKDcAgtm3bpsOHD2v9+vX62c9+VnY4AACMCJVKRZdddpl++ctfqr29XTNnztT27dt10UUXlR0aAAAjEu9NAQBojn/961/q6elRZ2enuru7NXPmTP31r3/V+PHjT6k+I2qAEsyfP18XXHBB2WEAADCi7Ny5U5dffrmmTJmi97znPfrUpz6l5557ruywAAAYsXhvCgBAc7z//e9XZ2enJGny5MmaOHGi3nrrrVOuT6IG6OdXv/qVPv3pT+sDH/iAjDHatGnTgDLr1q3Thz70IY0bN05z587Vzp07hz5QAABGmLO9xx44cEBTpkwplqdMmaL9+/cPRegAAAw7vHcFAKB5mnlf3bVrl7IsU0dHxynvn0QN0M/Ro0c1Y8YMrVu3ruH2J554QitWrNC9996r3bt3a8aMGVq4cKHeeOONokxnZ6emT58+4HHgwIGhOgwAAIadZtxjAQBAwH0VAIDmadZ99a233tLSpUv12GOPndb++Y0a4ASMMXryySf1mc98plg3d+5czZ49W2vXrpUkOefU0dGhO++8UytXrjzltrdt26a1a9fyPcAAgDHpTO6x27dv1+rVq/Xkk09Kku666y7NmTNHX/jCF8o4BAAAho2zee/Ke1MAAOqd6X312LFjuu6663Trrbfq5ptvPq19MqIGOA3Hjx/Xrl27tGDBgmKdtVYLFizQjh07SowMAICR7VTusXPmzNEf/vAH7d+/X0eOHNHPf/5zLVy4sKyQAQAYtnjvCgBA85zKfdV7ry996Uv6xCc+cdpJGolEDXBaDh48qCzLNGnSpLr1kyZNUnd39ym3s2DBAn3+85/Xs88+q0suuYT/KAMAxrxTucemaaoHH3xQ1157rTo7O/XVr35VF110URnhAgAwrJ3qe1femwIAcHKncl998cUX9cQTT2jTpk3q7OxUZ2enXn311VPeR9rUiAGckueff77sEAAAGJEWL16sxYsXlx0GAACjAu9NAQBojquvvlrOuTOuz4ga4DRMnDhRSZKop6enbn1PT48mT55cUlQAAIx83GMBAGge7qsAADTPUNxXSdQAp6G1tVUzZ87U1q1bi3XOOW3dulXz5s0rMTIAAEY27rEAADQP91UAAJpnKO6rfPUZ0M+RI0e0d+/eYvnvf/+7fve73+l973ufpk6dqhUrVqirq0uzZs3SnDlztGbNGh09elS33HJLiVEDADD8cY8FAKB5uK8CANA8Zd9XjffeN6UlYJTYtm2brr322gHru7q69MMf/lCStHbtWq1evVrd3d3q7OzUd77zHc2dO3eIIwUAYGThHgsAQPNwXwUAoHnKvq+SqAEAAAAAAAAAACgJv1EDAAAAAAAAAABQEhI1AAAAAAAAAAAAJSFRAwAAAAAAAAAAUBISNQAAAAAAAAAAACUhUQMAAAAAAAAAAFASEjUAAAAAAAAAAAAlIVEDAAAAAAAAAABQEhI1AAAAAAAAAAAAJSFRAwAAAAAAAAAAUBISNQAAAABwAvfdd586OzvLDgMAAADAKEWiBgAAAMCYt379el199dVlhwEAAABgDCJRAwAAAGDMe+qpp7R48eIh3WdfX9+Q7g8AAADA8ESiBgAAAMCoMH/+fN1xxx2644471N7erokTJ+qee+6R9/6E9d59910999xzJ03UfP/731dHR4fOP/98LVmyRIcOHSq2vfzyy7ruuus0ceJEtbe365prrtHu3bvr6htj9L3vfU+LFy/W+PHj9a1vfevMDxYAAADAqEGiBgAAAMCosX79eqVpqp07d+rhhx/WQw89pMcff/yEdbZu3aopU6boox/96KBl9u7dq5/+9KfavHmztmzZot/+9rf6yle+Umw/fPiwurq69Otf/1q/+c1vNG3aNC1atEiHDx+ua+e+++7TjTfeqFdffVVf/vKXz+5gAQAAAIwKxp/s42UAAAAAMALMnz9fb7zxhv74xz/KGCNJWrlypZ5++mn96U9/GrTebbfdpvb2dq1evbrh9vvuu0/f/OY39c9//lNTpkyRJG3ZskXXX3+99u/fr8mTJw+o45zThRdeqA0bNuiGG26QFEbU3HXXXfr2t799tocKAAAAYBRhRA0AAACAUePKK68skjSSNG/ePL322mvKsqxhee+9Nm/efNKvPZs6dWqRpMnbdc5pz549kqSenh7deuutmjZtmtrb2zVhwgQdOXJE+/btq2tn1qxZZ3poAAAAAEaptOwAAAAAAKAsO3fuVKVS0VVXXXVW7XR1denNN9/Uww8/rA9+8INqa2vTvHnzdPz48bpy48ePP6v9AAAAABh9GFEDAAAAYNR46aWX6pbz34tJkqRh+aeeekrXX3/9oNtz+/bt04EDB+ratdbq0ksvlSS9+OKLWrZsmRYtWqTLL79cbW1tOnjw4FkeDQAAAICxgEQNAAAAgFFj3759WrFihfbs2aMf//jHeuSRR7R8+fJByz/99NMn/dozSRo3bpy6urr0+9//Xi+88IKWLVumJUuWFL9PM23aNP3oRz/Sn//8Z7300kv64he/qPPOO69pxwUAAABg9CJRAwAAAGDUWLp0qd555x3NmTNHt99+u5YvX67bbrutYdm//e1v2rt3rxYuXHjSdj/84Q/rs5/9rBYtWqRPfvKTuuKKK/Td73632P6DH/xAb7/9tj72sY/p5ptv1rJly3TxxRc37bgAAAAAjF7Ge+/LDgIAAAAAztb8+fPV2dmpNWvWnFL5hx56SM8//7yeffbZcxsYAAAAAJwAI2oAAAAAjEmXXHKJVq1aVXYYAAAAAMa4tOwAAAAAAKAMS5YsKTsEAAAAAOCrzwAAAAAAAAAAAMrCV58BAAAAAAAAAACUhEQNAAAAAAAAAABASUjUAAAAAAAAAAAAlIREDQAAAAAAAAAAQElI1AAAAAAAAAAAAJSERA0AAAAAAAAAAEBJSNQAAAAAAAAAAACUhEQNAAAAAAAAAABASf4/cWnowQa+xNAAAAAASUVORK5CYII=", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -346,7 +343,7 @@ } ], "source": [ - "f, ax = plt.subplots(figsize=(20,10))\n", + "f, ax = plt.subplots(figsize=(10,5))\n", "for p,a in isotherms:\n", " ax.semilogx(p/si.BAR, a/(si.MICRO*si.MOL*si.ANGSTROM**2/si.METER**2))\n", "plt.xlabel('p / bar')\n", @@ -368,9 +365,9 @@ "metadata": {}, "outputs": [], "source": [ - "mix = HelmholtzEnergyFunctional.pcsaft(Parameters.from_json([\"methanol\", \"ethanol\"], \"../../parameters/pcsaft/rehner2020.json\"))\n", - "methanol = HelmholtzEnergyFunctional.pcsaft(Parameters.from_json([\"methanol\"], \"../../parameters/pcsaft/rehner2020.json\"))\n", - "ethanol = HelmholtzEnergyFunctional.pcsaft(Parameters.from_json([\"ethanol\"], \"../../parameters/pcsaft/rehner2020.json\"))" + "mix = feos.HelmholtzEnergyFunctional.pcsaft(feos.Parameters.from_json([\"methanol\", \"ethanol\"], \"../../parameters/pcsaft/rehner2020.json\"))\n", + "methanol = feos.HelmholtzEnergyFunctional.pcsaft(feos.Parameters.from_json([\"methanol\"], \"../../parameters/pcsaft/rehner2020.json\"))\n", + "ethanol = feos.HelmholtzEnergyFunctional.pcsaft(feos.Parameters.from_json([\"ethanol\"], \"../../parameters/pcsaft/rehner2020.json\"))" ] }, { @@ -379,14 +376,17 @@ "metadata": {}, "outputs": [], "source": [ - "potential = ExternalPotential.LJ93(3.0, 100.0, 0.08)\n", + "potential = feos.ExternalPotential.LJ93(3.0, 100.0, 0.08)\n", "pmin = 0.2*si.BAR\n", "pmax = 1.8*si.BAR\n", - "solver = DFTSolver().newton(tol=1e-10)\n", + "solver = feos.DFTSolver().newton(tol=1e-10)\n", "\n", - "isotherm_ethanol = Adsorption1D.equilibrium_isotherm(ethanol, 350*si.KELVIN, si.linspace(pmin, pmax, 51), Pore1D(Geometry.Cartesian, 15*si.ANGSTROM, potential), solver=solver)\n", - "isotherm_methanol = Adsorption1D.equilibrium_isotherm(methanol, 350*si.KELVIN, si.linspace(pmin, pmax, 51), Pore1D(Geometry.Cartesian, 15*si.ANGSTROM, potential), solver=solver)\n", - "isotherm_mix = Adsorption1D.equilibrium_isotherm(mix, 350*si.KELVIN, si.linspace(pmin, pmax, 51), Pore1D(Geometry.Cartesian, 15*si.ANGSTROM, potential), np.array([0.5, 0.5]), solver=solver)" + "pore = feos.Pore1D(ethanol, feos.Geometry.Cartesian, 15*si.ANGSTROM, potential)\n", + "isotherm_ethanol = feos.Adsorption.equilibrium_isotherm(ethanol, 350*si.KELVIN, si.linspace(pmin, pmax, 51), pore.grid, pore.external_potential, solver=solver)\n", + "pore = feos.Pore1D(methanol, feos.Geometry.Cartesian, 15*si.ANGSTROM, potential)\n", + "isotherm_methanol = feos.Adsorption.equilibrium_isotherm(methanol, 350*si.KELVIN, si.linspace(pmin, pmax, 51), pore.grid, pore.external_potential, solver=solver)\n", + "pore = feos.Pore1D(mix, feos.Geometry.Cartesian, 15*si.ANGSTROM, potential)\n", + "isotherm_mix = feos.Adsorption.equilibrium_isotherm(mix, 350*si.KELVIN, si.linspace(pmin, pmax, 51), pore.grid, pore.external_potential, np.array([0.5, 0.5]), solver=solver)" ] }, { @@ -396,7 +396,7 @@ "outputs": [ { "data": { - "image/png": "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Y8aM0TvvvKM777xTTz75pCIiIrRz50599NFH+uc//ymbzabk5GStXbtW2dnZat26db1/3+/UqZM+++wzjRgxQhaLRc8880yDZ2jdddddmjx5skaNGqUpU6YoNzdXf/rTn3T33Xc32aWKEiFXkzh69Kiuv/563XzzzZowYYIkKTU1VcOGDdOkSZO0aNEipaen13kN7f79+91mU4WGhtaaMrhgwQINHDhQ0dHRWrNmjbp16+a2fevWrbWCsfNx++23Kzc3V88++6wOHTqkvn37atGiRW5fuHl5edq1a1eD9wNw4SitsGvn4SJlHipUZk6hMg4VKvNQgXIKyupsb7VIyW2C1CnGGWJ1immtzjHOMMvPh6n+AAC4OXFcOpYlHd0tHc2qel61FB44+/4+/lJoWykkoWqJl0JrPA9JcF4qSHjVcJc8IK36u5S9Ujr4kxTX++z74IIXHx+vVatWafz48bruuutUVlamdu3a6frrr5fV6rzdxhNPPKFRo0ape/fuOnHihLKysup17BkzZujee+/VpZdeqsjISI0fP14FBQ271DgwMFBff/21Hn30UV1yySUKDAzUb37zG82YMaPBfT0fFsM43e1367ZixQr95S9/UVpamg4ePKiFCxe6Lj+rqKjQ008/rS+//FK7d+9WaGiohgwZopdeeqnWZW+nU1BQoNDQUOXn5yskJMRtW2lpqbKyspSSkiJ/f/+GlN3sTZs2TXa7Xc8884zb+lWrVmnmzJmuyxpXr16te++9V6tXr1ZYWJjWr1+v3/3ud/riiy/UsWNHTZs2TRaLxXV5YnFxsRISEnT8+PGm7tJ5a8mfb+BCYhiGDheWaevBAm07WKBtBwu17WCBducWyXGan0AJYQHqEhvsXGKCXWGW/zncCxEXjjONIdA88DkCPKy8xHkj8yM7pLyqx+pQ68TRM+/bKkgKS5LCEqsek6TQRCmsnfN5UCQBVmP6eLS05TOp7++kW970djWmxe+MLcuZPp/1HUM0eCZXcXGx+vTpo3vvvVe33nqr27aSkhJt3LhRzzzzjPr06aNjx47p0Ucf1U033eR2+RxqS09P18qVK/Xpp59KksLDw7V06VL17NlTu3fvVq9evTR//nwNHDhQjz32mK644grXuxl89tln6tixo+s4Ne+zlZGRoe7du3ulTwAuPBV2h3YeLtLWA1WB1iFnqHX0NDeBDwtspS4xweoaG6wusSHqEuucnRXsz1tqAwBQy7510s8fS3k7nOFW/r4zt28dI4WnSBEpUkT7k8/Dk503byfE8p5fPewMuX5eIA2Z4rw/GYDz1uCZXG47WyxuM7nqsn79eg0YMEB79uxxe5e+07lQZ3KhNj7fQPN2otyubYcKtOWXfG05UKAtB5z30SqvrH39vtUitY9qrW5xIeoWF6xucSHqHhei6GA/17u7AOeLWULNH58j4DzN7OW8b1ZNARFSZGcpsqPUppPUpoMzzApPlvxae6VM1NM7V0u/pElXPSVd+aS3qzElfmdsWbwyk6uh8vPzZbFYFBYWVuf2srIylZWdvP9KQ6/7BAA0vsLSCqX/UqD0X/KVfsAZap3ucsNgPx91i3eGWNWBVueYYC41BADgfJUVOR+vmSy1GyRFdpICG/5GUmgmfvWw9Ol90vp/SoMek3x492fgfDVqyFVaWqrx48frzjvvPG3SNn36dD333HONWQYAoAGKyiq15Zd8/Vy97M/X7rziOttGBfupR3xI1RKqnvGhSowIYHYWAACNqetwKaqLt6vA+ep+s/TN01LhQWnLQqnP7d6uCDC9Rgu5KioqNHLkSBmGoVmzZp223cSJEzVu3DjX64KCAiUmJjZWWQCAGkor7Np6sECb9x7Xz7/k66f9x7U7r1h1XcieEBagXgmh6pngDLR6xIcoOoRp4cCF5pdfftH48eP11VdfqaSkRB07dtScOXPUv39/b5cGAOZiayVdcr/03QvSmn9IvUdynzTgPDVKyFUdcO3Zs0fffffdGa+X9PPzk5+fX2OUAQCoweEwtDuvWJv3HdeP+45r877j2nawQJV1XHMYF+qvXgmh6t02VD0TQtUrIVRtWvO9GrjQHTt2TIMGDdJVV12lr776SlFRUdqxY4fCw8O9XRoAmNPFo6UVf5EObpb2rZWSfuXtigBT83jIVR1w7dixQ0uXLlWbNm08fQoAQD0cKSrTpr3HtWnfMf24L18/7j+uwtLKWu3aBPmqb2KYercNc4VaUcEEWgBqe/nll5WYmKg5c+a41qWkpHixIgAwuaA2zhlcG+c5Z3MRcgHnpcEhV1FRkXbu3Ol6nZWVpc2bNysiIkJxcXG67bbbtHHjRv33v/+V3W7XoUOHJEkRERHy9eVGegDQFL7dmqOH/p0m+ymztPxbWdUrIVR92oapT2KY+iaGqW0499ACUD+ff/65hg4dqv/5n//R8uXLlZCQoIcfflgPPPBAne15gyEAqIfUh5wh17b/53z3zLAkb1cEmFaDQ64NGzboqquucr2uvp/WqFGjNGXKFH3++eeSpL59+7rtt3TpUg0ePPjcKwUA1NumvcdkdxiKCvbT4M5R6pvkDLQ6xwSrlc3q7fIAmNTu3bs1a9YsjRs3TpMmTdL69ev1yCOPyNfXV6NGjarVnjcYAoB6iOkhpVwpZS2X1r0jXfeCtytCMzV48GD17dtXM2fO9God2dnZSklJ0aZNm2plP97W4JBr8ODBMuq6I3GVM20DADStEb3j9eyI7t4uA0AL4XA41L9/f02bNk2SdNFFFyk9PV2zZ8+uM+TiDYYAoJ5+9UdnyLXxPWnwBMk3yNsVwYuWLVumq666SseOHVNYWJi3yzEV/pwPAACAeomLi1P37u7Bebdu3bR379462/v5+SkkJMRtAQDUodNQKTxFKs2XfvzQ29UApkXIBQAAgHoZNGiQMjMz3dZt375d7dq181JFANBCWK3Oe3NJ0tq3JIfDu/Wg0TkcDk2fPl0pKSkKCAhQnz599Mknnyg7O9t1i6jw8HBZLBbdc889bvs9+eSTioiIUGxsrKZMmeJ23BkzZqhXr14KCgpSYmKiHn74YRUVFbm2z507V2FhYfr666/VrVs3tW7dWtdff70OHjzodo7nn39ebdu2lZ+fn/r27atFixY16sfDUwi5cE7efPNNJScny9/fX6mpqVq3bt1Z95kyZYosFovb0rVr1yaoFgAAeMLjjz+uNWvWaNq0adq5c6c++OADvf322xozZoy3SwMA87voLskvRMrbLu36ztvVmJNhSOXF3lkaeOum6dOna968eZo9e7a2bNmixx9/XL/73e+0Z88effrpp5KkzMxMHTx4UK+99pprv/fee09BQUFau3atXnnlFT3//PP69ttvXdutVqv+/ve/a8uWLXrvvff03Xff6cknn3Q7d0lJiV599VX93//7f7VixQrt3btXTzzxhGv7a6+9pr/+9a969dVX9dNPP2no0KG66aabtGPHjnP5rDSpBt+TC5g/f77GjRun2bNnKzU1VTNnztTQoUOVmZmp6OjoM+7bo0cPLV682PXax4cvQQAAzOKSSy7RwoULNXHiRD3//PNKSUnRzJkzddddd3m7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TI+QCwAAAAAAAKZ3wYVcfn5+mjx5svz8/LxdSpOgvy3fhdZn+tuy0d+W7ULrL5rehfg1dqH1mf62bPS3ZaO/LVtz6W+zu/E8AAAAAAAA0FAX3EwuAAAAAAAAtDyEXAAAAAAAADA9Qi4AAAAAAACYHiEXAAAAAAAATI+QCwAAAAAAAKbXIkOuN998U8nJyfL391dqaqrWrVt32rbvvPOOLr/8coWHhys8PFxDhgw5Y/vmqCH9remjjz6SxWLRLbfc0rgFelhD+3v8+HGNGTNGcXFx8vPzU+fOnfXll182UbXnr6H9nTlzprp06aKAgAAlJibq8ccfV2lpaRNVe35WrFihESNGKD4+XhaLRf/5z3/Ous+yZcvUr18/+fn5qWPHjpo7d26j1+kpDe3vZ599pmuvvVZRUVEKCQnRwIED9fXXXzdNsR5wLp/faqtWrZKPj4/69u3baPV52rn0t6ysTE899ZTatWsnPz8/JScn61//+lfjF+sB59Lf999/X3369FFgYKDi4uJ077336siRI41fLEyNcR7jvJoY5zHOa64Y5/2n3vsyzmv+zDTOa3Eh1/z58zVu3DhNnjxZGzduVJ8+fTR06FAdPny4zvbLli3TnXfeqaVLl2r16tVKTEzUddddp19++aWJKz83De1vtezsbD3xxBO6/PLLm6hSz2hof8vLy3XttdcqOztbn3zyiTIzM/XOO+8oISGhiSs/Nw3t7wcffKAJEyZo8uTJ2rZtm959913Nnz9fkyZNauLKz01xcbH69OmjN998s17ts7KyNHz4cF111VXavHmzHnvsMd1///2mGRA0tL8rVqzQtddeqy+//FJpaWm66qqrNGLECG3atKmRK/WMhva32vHjx/X73/9e11xzTSNV1jjOpb8jR47UkiVL9O677yozM1MffvihunTp0ohVek5D+7tq1Sr9/ve/13333actW7bo448/1rp16/TAAw80cqUwM8Z5jPNqYpzHOK85Y5xXP4zzGOd5nNHCDBgwwBgzZozrtd1uN+Lj443p06fXa//KykojODjYeO+99xqrRI86l/5WVlYal156qfHPf/7TGDVqlHHzzTc3QaWe0dD+zpo1y2jfvr1RXl7eVCV6VEP7O2bMGOPqq692Wzdu3Dhj0KBBjVpnY5BkLFy48IxtnnzySaNHjx5u626//XZj6NChjVhZ46hPf+vSvXt347nnnvN8QY2sIf29/fbbjaefftqYPHmy0adPn0atq7HUp79fffWVERoaahw5cqRpimpE9envX/7yF6N9+/Zu6/7+978bCQkJjVgZzI5xHuO8mhjnMc4zC8Z5p8c4z3ya+zivRc3kKi8vV1pamoYMGeJaZ7VaNWTIEK1evbpexygpKVFFRYUiIiIaq0yPOdf+Pv/884qOjtZ9993XFGV6zLn09/PPP9fAgQM1ZswYxcTEqGfPnpo2bZrsdntTlX3OzqW/l156qdLS0lxT3Xfv3q0vv/xSN9xwQ5PU3NRWr17t9vGRpKFDh9b737vZORwOFRYWmuL71bmaM2eOdu/ercmTJ3u7lEb3+eefq3///nrllVeUkJCgzp0764knntCJEye8XVqjGDhwoPbt26cvv/xShmEoJydHn3zySYv9foXzxziPcd6pGOcxzmvJGOe1LIzzmm6c59PoZ2hCeXl5stvtiomJcVsfExOjjIyMeh1j/Pjxio+Pr/UNtTk6l/5+//33evfdd7V58+YmqNCzzqW/u3fv1nfffae77rpLX375pXbu3KmHH35YFRUVzf6b6bn097e//a3y8vJ02WWXyTAMVVZW6qGHHjLNNPaGOnToUJ0fn4KCAp04cUIBAQFeqqxpvPrqqyoqKtLIkSO9XUqj2LFjhyZMmKCVK1fKx6dF/biq0+7du/X999/L399fCxcuVF5enh5++GEdOXJEc+bM8XZ5Hjdo0CC9//77uv3221VaWqrKykqNGDGiwZc54MLBOM+Jcd5JjPMY57VkjPNaFsZ5TTfOa1Ezuc7XSy+9pI8++kgLFy6Uv7+/t8vxuMLCQt1999165513FBkZ6e1ymoTD4VB0dLTefvttXXzxxbr99tv11FNPafbs2d4urVEsW7ZM06ZN0z/+8Q9t3LhRn332mb744gu98MIL3i4NHvbBBx/oueee04IFCxQdHe3tcjzObrfrt7/9rZ577jl17tzZ2+U0CYfDIYvFovfff18DBgzQDTfcoBkzZui9995rkX/l27p1qx599FE9++yzSktL06JFi5Sdna2HHnrI26WhhWKc1/IwzmOc11Ixzmt5GOc13TivRUWmkZGRstlsysnJcVufk5Oj2NjYM+776quv6qWXXtLixYvVu3fvxizTYxra3127dik7O1sjRoxwrXM4HJIkHx8fZWZmqkOHDo1b9Hk4l89vXFycWrVqJZvN5lrXrVs3HTp0SOXl5fL19W3Ums/HufT3mWee0d133637779fktSrVy8VFxfrwQcf1FNPPSWrtWXl2rGxsXV+fEJCQlr0X/c++ugj3X///fr4449NMRvhXBQWFmrDhg3atGmTxo4dK8n5/cowDPn4+Oibb77R1Vdf7eUqPSsuLk4JCQkKDQ11revWrZsMw9D+/fvVqVMnL1bnedOnT9egQYP05z//WZLUu3dvBQUF6fLLL9fUqVMVFxfn5QrR3DDOc2KcdxLjPMZ5LRHjPMZ5LYE3x3kt6juhr6+vLr74Yi1ZssS1zuFwaMmSJRo4cOBp93vllVf0wgsvaNGiRerfv39TlOoRDe1v165d9fPPP2vz5s2u5aabbnK9Y0liYmJTlt9g5/L5HTRokHbu3Oka5EnS9u3bFRcX16wHPtK59bekpKTWAKd64GcYRuMV6yUDBw50+/hI0rfffnvGf+9m9+GHH2r06NH68MMPNXz4cG+X02hCQkJqfb966KGH1KVLF23evFmpqaneLtHjBg0apAMHDqioqMi1bvv27bJarWrbtq0XK2scF9r3K5w/xnmM807FOK9lf99knMc4ryVhnNeE368a/db2Teyjjz4y/Pz8jLlz5xpbt241HnzwQSMsLMw4dOiQYRiGcffddxsTJkxwtX/ppZcMX19f45NPPjEOHjzoWgoLC73VhQZpaH9PZbZ33Wlof/fu3WsEBwcbY8eONTIzM43//ve/RnR0tDF16lRvdaFBGtrfyZMnG8HBwcaHH35o7N692/jmm2+MDh06GCNHjvRWFxqksLDQ2LRpk7Fp0yZDkjFjxgxj06ZNxp49ewzDMIwJEyYYd999t6v97t27jcDAQOPPf/6zsW3bNuPNN980bDabsWjRIm91oUEa2t/333/f8PHxMd58802371fHjx/3VhcapKH9PZXZ3nWnof0tLCw02rZta9x2223Gli1bjOXLlxudOnUy7r//fm91oUEa2t85c+YYPj4+xj/+8Q9j165dxvfff2/079/fGDBggLe6ABNgnMc4j3Ee4zzGec0T4zzGec1lnNfiQi7DMIzXX3/dSEpKMnx9fY0BAwYYa9ascW278sorjVGjRrlet2vXzpBUa5k8eXLTF36OGtLfU5lt8GMYDe/vDz/8YKSmphp+fn5G+/btjRdffNGorKxs4qrPXUP6W1FRYUyZMsXo0KGD4e/vbyQmJhoPP/ywcezYsaYv/BwsXbq0zn+P1X0cNWqUceWVV9bap2/fvoavr6/Rvn17Y86cOU1e97lqaH+vvPLKM7Zv7s7l81uT2QY/59Lfbdu2GUOGDDECAgKMtm3bGuPGjTNKSkqavvhzcC79/fvf/250797dCAgIMOLi4oy77rrL2L9/f9MXD1NhnMc4rybGeYzzmivGeYzzGOd5Z5xnMYwWOLcVAAAAAAAAF5QWdU8uAAAAAAAAXJgIuQAAAAAAAGB6hFwAAAAAAAAwPUIuAAAAAAAAmB4hFwAAAAAAAEyPkAsAAAAAAACmR8gFAAAAAAAA0yPkAgAAAAAAgOkRcgEAAAAAAMD0CLkAAAAAAABgeoRcAAAAAAAAML3/D11Rr8GzrSZZAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLkAAAGsCAYAAAAxGHVCAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZrBJREFUeJzt3Xl8VOXd///3zISsZCV7SEjYdxCRFHFBRRERtdYbtdYibrVCXfhaWVxARVBrKVYtqLUgd13Ahd7+qqKCbCJrADVAwpawCISEJSvZZs7vj0mGDAmQwCSTE15PPY+ZOec653yuJCRX3rnOGYthGIYAAAAAAAAAE7N6uwAAAAAAAADgfBFyAQAAAAAAwPQIuQAAAAAAAGB6hFwAAAAAAAAwPUIuAAAAAAAAmB4hFwAAAAAAAEyPkAsAAAAAAACm5+PtAk7lcDh04MABBQcHy2KxeLscAABgEoZhqLCwUPHx8bJa+Ttec8Q4DwAAnIv6jvOaXch14MABJSYmersMAABgUvv27VPbtm29XQbqwDgPAACcj7ON85pdyBUcHCzJWXhISIiXqwEAAGZRUFCgxMRE11gCzQ/jPAAAcC7qO85rdiFX9dT1kJAQBj8AAKDBuAyu+WKcBwAAzsfZxnncsAIAAAAAAACmR8gFAAAAAAAA0yPkAgAAAAAAgOk1u3ty1ZfdbldFRYW3y0AjadWqlWw2m7fLAAAAAACYABmBuXkqAzBdyGUYhg4dOqTjx497uxQ0srCwMMXGxnIDYQAAAABAncgIWg5PZACmC7mqv3ijo6MVGBhIANICGYahkpISHT58WJIUFxfn5YoAAAAAAM0RGYH5eTIDMFXIZbfbXV+8bdq08XY5aEQBAQGSpMOHDys6OppLFwEAAAAAbsgIWg5PZQCmuvF89fW1gYGBXq4ETaH688x11QAAAACAU5ERtCyeyABMFXJVY/rhhYHPMwAAAADgbPjdsWXwxOfRlCEXAAAAAAAAUBMhFwAAAAAAAEyPkAsAAAAAAKAFWrZsmSwWi44fP+7tUnTPPffolltuadRzEHLhnLz55ptKTk6Wv7+/UlNTtW7dukbdDwAAAAAAnN7gwYP12GOPebsMr/LxdgEwn/nz52vcuHGaPXu2UlNTNXPmTA0dOlSZmZmKjo72+H4AYBYOh6GSCruKyypVXFapknK7SsrtMgzjrPuevYVUj8NUHaseDet9rHq2q2fDYH8f9UkMq+dRAQBopgxDqjghlRVWLQVSRYkU2UVqHeXt6oALFiFXE/rwww917733avfu3YqLi5MkjR49WmlpaVq5cqVCQ0O9XGH9zJgxQw888IBGjx4tSZo9e7a++OIL/etf/9KECRM8vh8AeFt5pUP7jpUoO69YWXnF2p1XrOy8Yh0tLq8KsipVXGbXiQq7t0tt9i5KCtPChwd5uwwAwIXMMJyB1InjUmm+cykrkEoLpNLjJ5+XFVRtL6gRZlUFWmWFknGan/txfaSOQ6QO10iJAyRbq6bs3QXNMAyvjccCWtka9O6AgwcPVq9evWSz2fTee+/J19dXU6dO1W9/+1uNHTtWn3zyiWJiYvT6669r2LBhkqT09HT9+c9/1sqVKxUUFKTrrrtOf/vb3xQZGal77rlHy5cv1/Lly/Xaa69JkrKyslznS0tL0/jx47V161b17dtXc+bMUZcuXSRJu3bt0rhx47RmzRoVFxerW7dumj59uoYMGeLaPzk5WQ8++KB27typjz/+WOHh4Xr66af14IMPutr8/PPPevTRR7V69WoFBgbqN7/5jWbMmKHWrVuf18e2IUwfcpnpi/iOO+7QSy+9pGnTpun111/X5MmTtXjxYq1Zs8YrAde0adM0bdq0M7bZunWrkpKSXK/Ly8uVlpamiRMnutZZrVYNGTJEq1evPu1xznU/AGgqhmEop6BMu3OLtCuvWFm5xcrKK1JWXrH2HTshu6O+c5okq0UK8vNRkK+PAnxtstbzR0V9fqbU96eOJ99J21LPs9bnnO0iAs+zGgAAqjgcUlm+VHJUOnHMuZQclU7UeH3iuDO4OvXRXu6hIiySX4jkFyzZfKRj2dLBH53Lyr9KvsFS+yulDldLHa+RwpM9dF7U5USFXd2f/dor5976/FAF+jYsYnnvvff05JNPat26dZo/f77++Mc/auHChfr1r3+tSZMm6W9/+5vuvvtu7d27V+Xl5br66qt1//33629/+5tOnDih8ePHa+TIkfruu+/02muvafv27erZs6eef/55SVJUVJSys7MlSU899ZT++te/KioqSg899JDuvfderVq1SpJUVFSkG264QS+++KL8/Pw0b948jRgxQpmZmW55wF//+le98MILmjRpkj755BP98Y9/1JVXXqkuXbqouLhYQ4cO1cCBA7V+/XodPnxY999/v8aOHau5c+d65GNcH6YPucz0RWyxWPTiiy/qtttuU2xsrF5//XWtXLlSCQkJkpwznWbMmKHIyEhX+xUrVig3N1fp6em66aabXMeaN2+eXnvtNVVWVio4OFhvvPGG+vbt6zrO0aNHNXXqVElSZWWl2rRpoyNHjsjH52S9Dz30kEaOHHnGmuPj491e5+XlyW63KyYmxm19TEyMMjIyTnucc90PADyttMKu3bnF2p1XpN25xdqV63zcnVuk4vLT/9EkoJVNKZFBSokKUkqbICVHBikmxE+Bvj4K8rMpyNdHgb42Bfn5yM/H2qA/ggAAAEnlJVJJnlScJ5UccS7FeTXWHXU+LznifF56XDIc534+i03yD62xhDgDK/8w53P/0KrXISeDLNdj1eIb5P5XnsIcadd30q4lzseSI1LGf52LJLXpKPX4tXTleGZ4QX369NHTTz8tSZo4caJeeuklRUZG6oEHHpAkPfvss5o1a5Z++uknLV68WBdddJHbRJV//etfSkxM1Pbt29W5c2f5+voqMDBQsbGxtc714osv6sorr5QkTZgwQcOHD1dpaan8/f3Vp08f9enTx9X2hRde0MKFC/X5559r7NixrvU33HCDHn74YUnS+PHj9be//U1Lly5Vly5d9MEHH6i0tFTz5s1TUFCQJOmNN97QiBEj9PLLL9fKAhqL6UMus7nxxhvVvXt3Pf/88/rmm2/Uo0cP17b09HS99tpr+s1vfuO2z7x581RYWOgKud5++20tWLBAixcvVnh4uJYtW6Zbb71VGRkZ8vX1VXp6um644QbX/tu2bVNycrJbwCVJERERioiIaMTeAoD3HCsu187cIu08fHLZlVukX46fOO39o2xWi9pFBColMkjto4KUEtnaGWxVBVoEVwAANFB5sVR4SCo6LBUfrnrMPeXxsFSUK1UUn9s5WgVJgRFSQPjJx4DqxzBnaFXXo29rz059lqTgGKnvnc7F4ZAObpZ2LnGGXvvWSUd2Siv+4qxt4BjPnhsKaGXT1ueHeu3cDdW7d2/Xc5vNpjZt2qhXr16uddXB0OHDh/Xjjz9q6dKldV76t2vXLnXu3Lne56q+fdLhw4eVlJSkoqIiTZkyRV988YUOHjyoyspKnThxQnv37j3tMSwWi2JjY3X48GFJztyhT58+roBLkgYNGiSHw6HMzExCrvoy2xfxokWLlJGRUeespvT0dD311FNu65YvX65nnnlGbdq00fz587Vs2TJNnTpVaWlpCg8Pl+S8ljckJERbtmzRRRddpPT0dLfLAjdv3uz2D6XauVyuGBkZKZvNppycHLd2OTk5dabF57sfAJxJ9SWGOw4XakdOkSvU2nW4SEeKT38ZQlhgK3WIaq32kUFqH9VaHaKcj0kRgfL14Y2HAQA4q8oyqeCAcyk8KBXlOB8Lc2q8PuS8f1VD2PykoEhnWBUYWfW8jfN5YMTJ1wERJwMtH7/G6eP5slqlhH7O5co/O+/v9cMb0opXpLVvSakPSdaG/06J07NYLA2+ZNCbWrVyn81nsVjc1lX/gdXhcKioqMg1K+pU1aFVfc9V87iS9MQTT+jbb7/Vq6++qo4dOyogIEC33XabysvLT3uM6uNUH6O5MM9n/zTM9EW8ceNGjRw5Uu+++67mzp2rZ555Rh9//LEk5y9qmZmZbrO4pk2bphtuuEG9e/fW3LlzlZycrLfeektXXHGFoqLc37HDz89PBQUFMgxDGRkZuvbaa13bjh075hZ6VTuXyxV9fX118cUXa8mSJbrlllskOf9hLFmyxG0a46nOdT8AkJzfI3MLy7Q9p0jbcwq143ChtucUaUdOoQpKK0+7X0JYgDpGt3ZbOkS1VkSQbxNWDwCAyVSWSwW/OJf8X04+Lzhwcl1JXv2P1ypQah0tBUU7H13Po06uC4pyLn7Bnp9d1Vz4h0qXPS6tf0c6vkfK/ErqdqO3q4JJ9OvXT59++mmdV2lV8/X1ld3e8HuWr1q1Svfcc49+/etfS3Leo6v6Xl711a1bN82dO1fFxcWu2VyrVq2S1Wp13eC+KZgjHWoBsrOzNXz4cE2aNEl33nmn2rdvr4EDB2rjxo3q16+fsrKy1LVrV61du7bWvnv37lVycrIk52yvnj17um0vKyvT9u3b1a1bN2VlZalz587asGGDa/uwYcPqnMl1rpcrjhs3TqNGjVL//v01YMAAzZw5U8XFxa53TZSc194uXLhQS5YsadB+AJBfUqGMQwXKzClU5qFCbc9xBlr5JyrqbG+zWtSuTaA61QiyOkUHq31UkGn+CAIAQJOqKJXy90v5e6Xj1cs+52P+PmeYpXq84YpPgBQSJwXHOy/TC46TWsdIwbHOpXXVY0sOrhrKN1C6+B7p+79Ja2cTcqHexowZo3feeUd33nmnnnzySUVERGjnzp366KOP9M9//lM2m03Jyclau3atsrOz1bp163r/vt+pUyd99tlnGjFihCwWi5555pkGz9C66667NHnyZI0aNUpTpkxRbm6u/vSnP+nuu+9usksVJUKuJnH06FFdf/31uvnmmzVhwgRJUmpqqoYNG6ZJkyZp0aJFSk9Pr/Ma2v3797vNpgoNDa01ZXDBggUaOHCgoqOjtWbNGnXr1s1t+9atW2sFY+fj9ttvV25urp599lkdOnRIffv21aJFi9y+cPPy8rRr164G7wfgwlFaYdfOw0XKPFSozJxCZRwqVOahAuUUlNXZ3mqRktsEqVOMM8TqFNNanWOcYZafD1P9AQBwc+K4dCxLOrpbOppV9bxqKTxw9v19/KXQtlJIQtUSL4XWeB6S4LxUkPCq4S55QFr1dyl7pXTwJymu99n3wQUvPj5eq1at0vjx43XdddeprKxM7dq10/XXXy+r1Xm7jSeeeEKjRo1S9+7ddeLECWVlZdXr2DNmzNC9996rSy+9VJGRkRo/frwKChp2qXFgYKC+/vprPfroo7rkkksUGBio3/zmN5oxY0aD+3o+LIZxutvv1m3FihX6y1/+orS0NB08eFALFy50XX5WUVGhp59+Wl9++aV2796t0NBQDRkyRC+99FKty95Op6CgQKGhocrPz1dISIjbttLSUmVlZSklJUX+/v4NKbvZmzZtmux2u5555hm39atWrdLMmTNdlzWuXr1a9957r1avXq2wsDCtX79ev/vd7/TFF1+oY8eOmjZtmiwWi+vyxOLiYiUkJOj48eNN3aXz1pI/38CFxDAMHS4s09aDBdp2sEDbDhZq28EC7c4tkuM0P4ESwgLUJTbYucQEu8Is/3O4FyIuHGcaQ6B54HMEeFh5ifNG5kd2SHlVj9Wh1omjZ963VZAUliSFJVY9JkmhiVJYO+fzoEgCrMb08Whpy2dS399Jt7zp7WpMi98ZW5YzfT7rO4Zo8Eyu4uJi9enTR/fee69uvfVWt20lJSXauHGjnnnmGfXp00fHjh3To48+qptuusnt8jnUlp6erpUrV+rTTz+VJIWHh2vp0qXq2bOndu/erV69emn+/PkaOHCgHnvsMV1xxRWudzP47LPP1LFjR9dxat5nKyMjQ927d/dKnwBceCrsDu08XKStB6oCrUPOUOvoaW4CHxbYSl1igtU1NlhdYkPUJdY5OyvYn7fUBgCgln3rpJ8/lvJ2OMOt/H1nbt86RgpPkSJSpIj2J5+HJztv3k6I5T2/etgZcv28QBoyxXl/MgDnrcEzudx2tljcZnLVZf369RowYID27Nnj9i59p3OhzuRCbXy+gebtRLld2w4VaMsv+dpyoEBbDjjvo1VeWfv6fatFah/VWt3iQtQtLljd4kLUPS5E0cF+rnd3Ac4Xs4SaPz5HwHma2ct536yaAiKkyM5SZEepTSepTQdnmBWeLPm19kqZqKd3rpZ+SZOuekq68klvV2NK/M7YsnhlJldD5efny2KxKCwsrM7tZWVlKis7ef+Vhl73CQBofIWlFUr/pUDpv+Qr/YAz1Drd5YbBfj7qFu8MsaoDrc4xwVxqCADA+Sorcj5eM1lqN0iK7CQFNvyNpNBM/Oph6dP7pPX/lAY9Jvnw7s/A+WrUkKu0tFTjx4/XnXfeedqkbfr06XruuecaswwAQAMUlVVqyy/5+rl62Z+v3XnFdbaNCvZTj/iQqiVUPeNDlRgRwOwsAAAaU9fhUlQXb1eB89X9Zumbp6XCg9KWhVKf271dEWB6jRZyVVRUaOTIkTIMQ7NmzTptu4kTJ2rcuHGu1wUFBUpMTGyssgAANZRW2LX1YIE27z2un3/J10/7j2t3XrHqupA9ISxAvRJC1TPBGWj1iA9RdAjTwoELzS+//KLx48frq6++UklJiTp27Kg5c+aof//+3i4NAMzF1kq65H7puxekNf+Qeo/kPmnAeWqUkKs64NqzZ4++++67M14v6efnJz8/v8YoAwBQg8NhaHdesTbvO64f9x3X5n3Hte1ggSrruOYwLtRfvRJC1bttqHomhKpXQqjatOZ7NXChO3bsmAYNGqSrrrpKX331laKiorRjxw6Fh4d7uzQAMKeLR0sr/iId3CztWysl/crbFQGm5vGQqzrg2rFjh5YuXao2bdp4+hQAgHo4UlSmTXuPa9O+Y/pxX75+3H9chaWVtdq1CfJV38Qw9W4b5gq1ooIJtADU9vLLLysxMVFz5sxxrUtJSfFiRQBgckFtnDO4Ns5zzuYi5ALOS4NDrqKiIu3cudP1OisrS5s3b1ZERITi4uJ02223aePGjfrvf/8ru92uQ4cOSZIiIiLk68uN9ACgKXy7NUcP/TtN9lNmafm3sqpXQqj6tA1Tn8Qw9U0MU9tw7qEFoH4+//xzDR06VP/zP/+j5cuXKyEhQQ8//LAeeOCBOtvzBkMAUA+pDzlDrm3/n/PdM8OSvF0RYFoNDrk2bNigq666yvW6+n5ao0aN0pQpU/T5559Lkvr27eu239KlSzV48OBzrxQAUG+b9h6T3WEoKthPgztHqW+SM9DqHBOsVjart8sDYFK7d+/WrFmzNG7cOE2aNEnr16/XI488Il9fX40aNapWe95gCADqIaaHlHKllLVcWveOdN0L3q4IzdTgwYPVt29fzZw506t1ZGdnKyUlRZs2baqV/Xhbg0OuwYMHy6jrjsRVzrQNANC0RvSO17Mjunu7DAAthMPhUP/+/TVt2jRJ0kUXXaT09HTNnj27zpCLNxgCgHr61R+dIdfG96TBEyTfIG9XBC9atmyZrrrqKh07dkxhYWHeLsdU+HM+AAAA6iUuLk7du7sH5926ddPevXvrbO/n56eQkBC3BQBQh05DpfAUqTRf+vFDb1cDmBYhFwAAAOpl0KBByszMdFu3fft2tWvXzksVAUALYbU6780lSWvfkhwO79aDRudwODR9+nSlpKQoICBAffr00SeffKLs7GzXLaLCw8NlsVh0zz33uO335JNPKiIiQrGxsZoyZYrbcWfMmKFevXopKChIiYmJevjhh1VUVOTaPnfuXIWFhenrr79Wt27d1Lp1a11//fU6ePCg2zmef/55tW3bVn5+furbt68WLVrUqB8PTyHkwjl58803lZycLH9/f6WmpmrdunVn3WfKlCmyWCxuS9euXZugWgAA4AmPP/641qxZo2nTpmnnzp364IMP9Pbbb2vMmDHeLg0AzO+iuyS/EClvu7TrO29XY06GIZUXe2dp4K2bpk+frnnz5mn27NnasmWLHn/8cf3ud7/Tnj179Omnn0qSMjMzdfDgQb322muu/d577z0FBQVp7dq1euWVV/T888/r22+/dW23Wq36+9//ri1btui9997Td999pyeffNLt3CUlJXr11Vf1v//7v1qxYoX27t2rJ554wrX9tdde01//+le9+uqr+umnnzR06FDddNNN2rFjx7l8VppUg+/JBcyfP1/jxo3T7NmzlZqaqpkzZ2ro0KHKzMxUdHT0Gfft0aOHFi9e7Hrt48OXIAAAZnHJJZdo4cKFmjhxop5//nmlpKRo5syZuuuuu7xd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37p0797deO655zxfUCNrSH9vv/124+mnnzYmT55s9OnTp1Hraiz16e9XX31lhIaGGkeOHGmaohpRffr7l7/8xWjfvr3bur///e9GQkJCI1YGs2OcxzivJsZ5jPPMgnHe6THOM5/mPs5rUTO5ysvLlZaWpiFDhrjWWa1WDRkyRKtXr67XMUpKSlRRUaGIiIjGKtNjzrW/zz//vKKjo3Xfffc1RZkecy79/fzzzzVw4ECNGTNGMTEx6tmzp6ZNmya73d5UZZ+zc+nvpZdeqrS0NNdU9927d+vLL7/UDTfc0CQ1N7XVq1e7fXwkaejQofX+9252DodDhYWFpvh+da7mzJmj3bt3a/Lkyd4updF9/vnn6t+/v1555RUlJCSoc+fOeuKJJ3TixAlvl9YoBg4cqH379unLL7+UYRjKycnRJ5980mK/X+H8Mc5jnHcqxnmM81oyxnktC+O8phvn+TT6GZpQXl6e7Ha7YmJi3NbHxMQoIyOjXscYP3684uPja31DbY7Opb/ff/+93n33XW3evLkJKvSsc+nv7t279d133+muu+7Sl19+qZ07d+rhhx9WRUVFs/9mei79/e1vf6u8vDxddtllMgxDlZWVeuihh0wzjb2hDh06VOfHp6CgQCdOnFBAQICXKmsar776qoqKijRy5Ehvl9IoduzYoQkTJmjlypXy8WlRP67qtHv3bn3//ffy9/fXwoULlZeXp4cfflhHjhzRnDlzvF2exw0aNEjvv/++br/9dpWWlqqyslIjRoxo8GUOuHAwznNinHcS4zzGeS0Z47yWhXFe043zWtRMrvP10ksv6aOPPtLChQvl7+/v7XI8rrCwUHfffbfeeecdRUZGerucJuFwOBQdHa23335bF198sW6//XY99dRTmj17trdLaxTLli3TtGnT9I9//EMbN27UZ599pi+++EIvvPCCt0uDh33wwQd67rnntGDBAkVHR3u7HI+z2+367W9/q+eee06dO3f2djlNwuFwyGKx6P3339eAAQN0ww03aMaMGXrvvfda5F/5tm7dqkcffVTPPvus0tLStGjRImVnZ+uhhx7ydmlooRjntTyM8xjntVSM81oexnlNN85rUZFpZGSkbDabcnJy3Nbn5OQoNjb2jPu++uqreumll7R48WL17t27Mcv0mIb2d9euXcrOztaIESNc6xwOhyTJx8dHmZmZ6tChQ+MWfR7O5fMbFxenVq1ayWazudZ169ZNhw4dUnl5uXx9fRu15vNxLv195plndPfdd+v++++XJPXq1UvFxcV68MEH9dRTT8lqbVm5dmxsbJ0fn5CQkBb9172PPvpI999/vz7++GNTzEY4F4WFhdqwYYM2bdqksWPHSnJ+vzIMQz4+Pvrmm2909dVXe7lKz4qLi1NCQoJCQ0Nd67p16ybDMLR//3516tTJi9V53vTp0zVo0CD9+c9/liT17t1bQUFBuvzyyzV16lTFxcV5uUI0N4zznBjnncQ4j3FeS8Q4j3FeS+DNcV6L+k7o6+uriy++WEuWLHGtczgcWrJkiQYOHHja/V555RW98MILWrRokfr3798UpXpEQ/vbtWtX/fzzz9q8ebNruemmm1zvWJKYmNiU5TfYuXx+Bw0apJ07d7oGeZK0fft2xcXFNeuBj3Ru/S0pKak1wKke+BmG0XjFesnAgQPdPj6S9O23357x37vZffjhhxo9erQ+/PBDDR8+3NvlNJqQkJBa368eeughdenSRZs3b1Zqaqq3S/S4QYMG6cCBAyoqKnKt2759u6xWq9q2bevFyhrHhfb9CuePcR7jvFMxzmvZ3zcZ5zHOa0kY5zXh96tGv7V9E/voo48MPz8/Y+7cucbWrVuNBx980AgLCzMOHTpkGIZh3H333caECRNc7V966SXD19fX+OSTT4yDBw+6lsLCQm91oUEa2t9Tme1ddxra37179xrBwcHG2LFjjczMTOO///2vER0dbUydOtVbXWiQhvZ38uTJRnBwsPHhhx8au3fvNr755hujQ4cOxsiRI73VhQYpLCw0Nm3aZGzatMmQZMyYMcPYtGmTsWfPHsMwDGPChAnG3Xff7Wq/e/duIzAw0Pjzn/9sbNu2zXjzzTcNm81mLFq0yFtdaJCG9vf99983fHx8jDfffNPt+9Xx48e91YUGaWh/T2W2d91paH8LCwuNtm3bGrfddpuxZcsWY/ny5UanTp2M+++/31tdaJCG9nfOnDmGj4+P8Y9//MPYtWuX8f333xv9+/c3BgwY4K0uwAQY5zHOY5zHOI9xXvPEOI9xXnMZ57W4kMswDOP11183kpKSDF9fX2PAgAHGmjVrXNuuvPJKY9SoUa7X7dq1MyTVWiZPntz0hZ+jhvT3VGYb/BhGw/v7ww8/GKmpqYafn5/Rvn1748UXXzQqKyubuOpz15D+VlRUGFOmTDE6dOhg+Pv7G4mJicbDDz9sHDt2rOkLPwdLly6t899jdR9HjRplXHnllbX26du3r+Hr62u0b9/emDNnTpPXfa4a2t8rr7zyjO2bu3P5/NZktsHPufR327ZtxpAhQ4yAgACjbdu2xrhx44ySkpKmL/4cnEt///73vxvdu3c3AgICjLi4OOOuu+4y9u/f3/TFw1QY5zHOq4lxHuO85opxHuM8xnneGedZDKMFzm0FAAAAAADABaVF3ZMLAAAAAAAAFyZCLgAAAAAAAJgeIRcAAAAAAABMj5ALAAAAAAAApkfIBQAAAAAAANMj5AIAAAAAAIDpEXIBAAAAAADA9Ai5AAAAAAAAYHqEXAAAAAAAADA9Qi4AAAAAAACYHiEXAAAAAAAATO//B+tMr79Of36nAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -422,7 +422,8 @@ "metadata": {}, "outputs": [], "source": [ - "equilibrium = Adsorption1D.phase_equilibrium(mix, 350*si.KELVIN, pmin, pmax, Pore1D(Geometry.Cartesian, 15*si.ANGSTROM, potential), np.array([0.5, 0.5]), solver=solver)" + "pore = feos.Pore1D(mix, feos.Geometry.Cartesian, 15*si.ANGSTROM, potential)\n", + "equilibrium = feos.Adsorption.phase_equilibrium(mix, 350*si.KELVIN, pmin, pmax, pore.grid, pore.external_potential, np.array([0.5, 0.5]), solver=solver)" ] }, { @@ -442,7 +443,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAToFJREFUeJzt3Xd4VHX+9vH3zCSZ9AkJkAIJCU16E3EVVFAUEFnbrmVFEV23iKuIFf1hWUvsD2tZsaziutZdFRVXXEQBQZRmsNAhEARCqJkUMklmzvPHSQYiNTDJmXK/rutcM3Nmcs4HosnNt9oMwzAQERERCSJ2qwsQERER+SUFFBEREQk6CigiIiISdBRQREREJOgooIiIiEjQUUARERGRoKOAIiIiIkFHAUVERESCTpTVBfySz+djy5YtJCUlYbPZrC5HREREjoJhGJSVlZGVlYXdfvztH0EXULZs2UJ2drbVZYiIiMgx2LRpE23btj3u6wRdQElKSgLMP2BycrLF1YiIiMjRcLvdZGdn+3+PH6+gCyj13TrJyckKKCIiIiEmUMMzNEhWREREgo4CioiIiAQdBRQREREJOkE3BkVERMKXYRjU1tbi9XqtLkWOgcPhICoqqlmWAVFAERGRZlFdXc3WrVuprKy0uhQ5DvHx8WRmZhITE9Ok91FAERGRJufz+SgsLMThcJCVlUVMTIwW4wwxhmFQXV3N9u3bKSwspFOnTgFZkO1QFFBERKTJVVdX4/P5yM7OJj4+3upy5BjFxcURHR3Nxo0bqa6uJjY2tsnupUGyIiLSbJryX9zSPJrre6j/UkRERCToKKCIiIhI0FFAERERsdjgwYMZP3681WWwYcMGbDYbBQUFVpeigCIiInI4V199NTabjT/96U8HvDdu3DhsNhtXX331UV1r9uzZ2Gw29uzZE9giw5ACioiIyBFkZ2fz9ttvs3fvXv+5qqoq3nzzTXJyciysLHwpoIiIiCUMw6CyurbZD8MwGl1rv379yM7O5v333/efe//998nJyaFv377+cz6fj/z8fPLy8oiLi6N379785z//AczukyFDhgDQokWLA1pefD4ft99+O6mpqWRkZHDfffc1qOGpp56iZ8+eJCQkkJ2dzfXXX095ebn//alTp5KSksJnn31G165dSUxMZPjw4WzdurXBPf7617/Stm1bnE4nffr0YcaMGY3++2gOjV4HZe7cuTz++OMsWbKErVu38sEHH3DBBRc0+MyKFSu44447mDNnDrW1tXTr1o333ntPKVNERPz21njpds9nzX7f5X8dRnxM45cBu+aaa3j11Ve54oorAHjllVcYO3Yss2fP9n8mPz+ff/3rX0yZMoVOnToxd+5cRo8eTatWrRg0aBDvvfceF198MatWrSI5OZm4uDj/17722mtMmDCBb7/9lgULFnD11VczcOBAzj77bMCc3vv000+Tl5fH+vXruf7667n99tv5+9//7r9GZWUlTzzxBK+//jp2u53Ro0dz66238sYbbwDwt7/9jSeffJIXXniBvn378sorr/DrX/+an376iU6dOh3LX2eTaXQLSkVFBb179+a555476Pvr1q1j0KBBdOnShdmzZ/P9998zadKkJl3MRUREpKmNHj2aefPmsXHjRjZu3Mj8+fMZPXq0/32Px8PDDz/MK6+8wrBhw2jfvj1XX301o0eP5oUXXsDhcJCamgpA69atycjIwOVy+b++V69e3HvvvXTq1ImrrrqK/v37M2vWLP/748ePZ8iQIeTm5nLmmWfy4IMP8u677zaosaamhilTptC/f3/69evHDTfc0OAaTzzxBHfccQeXXXYZJ5xwAo8++ih9+vRh8uTJTfS3duwaHSFHjBjBiBEjDvn+3Xffzbnnnstjjz3mP9ehQ4djq05ERMJWXLSD5X8dZsl9j0WrVq0YOXIkU6dOxTAMRo4cScuWLf3vr127lsrKSn+LR73q6uoG3UCH0qtXrwavMzMzKSkp8b/+/PPPyc/PZ+XKlbjdbmpra6mqqqKystK/Om98fHyD37n7X8PtdrNlyxYGDhzY4D4DBw5k2bJlR/m30HwCutS9z+fjk08+4fbbb2fYsGF899135OXlMXHixAO6gep5PB48Ho//tdvtDmRJIiISpGw22zF1tVjpmmuu4YYbbgA4oCehfjzIJ598Qps2bRq853Q6j3jt6OjoBq9tNhs+nw8wx6+cd955/PnPf+ahhx4iNTWVefPmce2111JdXe0PKAe7xrGMuQkGAR0kW1JSQnl5OY888gjDhw/nf//7HxdeeCEXXXQRc+bMOejX5Ofn43K5/Ed2dnYgSxIREQmY4cOHU11dTU1NDcOGNWz96datG06nk6KiIjp27NjgqP/dVr8DsNfrbdR9lyxZgs/n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", + "image/png": "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I0eSmpqKxWLhk08+qfO6YRg8+OCDpKSkEBUVxZAhQ1i/fn29r+NXAeW9994jKyuLhx56iOXLl9OrVy+GDh1KYWGhr0sLKXPmzGHcuHEsXLiQWbNmUVVVxfnnn09ZWZmvSwtpS5Ys4dVXX6Vnz56+LiVk7du3j4EDBxIeHs5XX33F6tWree6552jatKmvSws5Tz31FK+88govvfQSa9as4amnnuLpp5/mxRdf9HVpQa+srIxevXrx8ssvH/b1p59+mhdeeIHJkyezaNEiYmJiGDp0KBUVFfW7kOFH+vXrZ4wbN87z2OVyGampqUZ2drYPq5LCwkIDMObMmePrUkJWSUmJ0aFDB2PWrFnGWWedZdx+++2+Likk3XvvvcagQYN8XYYYhjFixAjjxhtvrPPcZZddZlx33XU+qig0AcbHH3/seex2u43k5GTjmWee8TxXVFRk2O1245133qnXuf2mBaWyspJly5YxZMgQz3NWq5UhQ4awYMECH1YmxcXFAF7bAErqb9y4cYwYMaLO/x/S+D777DP69u3LFVdcQYsWLejTpw+vvfaar8sKSQMGDGD27Nn89ttvAKxYsYJ58+YxfPhwH1cW2nJzcykoKKjzsyo+Pp7+/fvX+3e5z3czrrV7925cLtchq822bNmStWvX+qgqcbvdjB8/noEDB9K9e3dflxOS3n33XZYvX86SJUt8XUrI27RpE6+88gpZWVncf//9LFmyhNtuu42IiAhGjx7t6/JCyn333YfD4aBz587YbDZcLhePP/441113na9LC2kFBQUAh/1dXvva8fKbgCL+ady4caxatYp58+b5upSQlJ+fz+23386sWbOIjIz0dTkhz+1207dvX5544gkA+vTpw6pVq5g8ebICSiN7//33efvtt5k+fTrdunUjJyeH8ePHk5qaqu9FkPCbLp5mzZphs9nYuXNnned37txJcnKyj6oKbbfeeiszZszg+++/p3Xr1r4uJyQtW7aMwsJCTjnlFMLCwggLC2POnDm88MILhIWF4XK5fF1iSElJSaFr1651nuvSpQt5eXk+qih03X333dx3331cffXV9OjRg+uvv5477riD7OxsX5cW0mp/X3vjd7nfBJSIiAhOPfVUZs+e7XnO7XYze/ZsTj/9dB9WFnoMw+DWW2/l448/5rvvviMzM9PXJYWsc889l5UrV5KTk+M5+vbty3XXXUdOTg42m83XJYaUgQMHHjLl/rfffqNNmzY+qih0lZeXY7XW/RVms9lwu90+qkgAMjMzSU5OrvO73OFwsGjRonr/LverLp6srCxGjx5N37596devH5MmTaKsrIyxY8f6urSQMm7cOKZPn86nn35KbGysp98wPj6eqKgoH1cXWmJjYw8Z+xMTE0NSUpLGBPnAHXfcwYABA3jiiSe48sorWbx4MVOmTGHKlCm+Li3kjBw5kscff5z09HS6devGzz//zPPPP8+NN97o69KCXmlpKRs2bPA8zs3NJScnh8TERNLT0xk/fjyPPfYYHTp0IDMzk4kTJ5Kamsoll1xSvwt5aaaR17z44otGenq6ERERYfTr189YuHChr0sKOcBhj6lTp/q6NDEMTTP2sc8//9zo3r27Ybfbjc6dOxtTpkzxdUkhyeFwGLfffruRnp5uREZGGm3btjUeeOABw+l0+rq0oPf9998f9nfE6NGjDcMwpxpPnDjRaNmypWG3241zzz3XWLduXb2vYzEMLbsnIiIi/sVvxqCIiIiI1FJAEREREb+jgCIiIiJ+RwFFRERE/I4CioiIiPgdBRQRERHxOwooIiIi4ncUUERERMTvKKCIiIiI31FAEREREb+jgCIiIiJ+RwFFRERE/M7/B3bNvO2VEUv1AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -452,7 +453,7 @@ } ], "source": [ - "plt.plot(equilibrium.profiles[1].r/si.ANGSTROM, (equilibrium.profiles[1].density/(si.KILO*si.MOL/si.METER**3)).T)\n", + "plt.plot(equilibrium.profiles[1].grid/si.ANGSTROM, (equilibrium.profiles[1].density/(si.KILO*si.MOL/si.METER**3)).T)\n", "plt.legend([\"Methanol\", \"Ethanol\"])\n", "plt.xlim(0,10)\n", "plt.ylim(0,17)" @@ -479,9 +480,9 @@ "outputs": [], "source": [ "rho = 3.0e4\n", - "potential = ExternalPotential.LJ93(3.0, 90, 0.08)\n", - "s = State(func, 350*si.KELVIN, density=rho*si.MOL/si.METER**3)\n", - "profile = Pore1D(Geometry.Cartesian, 20*si.ANGSTROM, potential).initialize(s).solve(solver=solver)" + "potential = feos.ExternalPotential.LJ93(3.0, 90, 0.08)\n", + "s = feos.State(func, 350*si.KELVIN, density=rho*si.MOL/si.METER**3)\n", + "profile = feos.Pore1D(func, feos.Geometry.Cartesian, 20*si.ANGSTROM, potential).initialize(s).solve(solver=solver)" ] }, { @@ -492,7 +493,7 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, "execution_count": 19, @@ -501,7 +502,7 @@ }, { "data": { - "image/png": "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FkuWLNGqVatUUFDQTZXF15nOc8eOHbr44otVXFys5cuX68MPP9TcuXOVkpLSvg8yeoBJkyYZpaWlseeRSMQoKCgw5s2bZ2FVXa+qqsqQZKxYscLqUrpEbW2tMWTIEOONN94wLr30UuOee+6xuqS4uu+++4yLL77Y6jK6xbXXXmt885vfbLVt+vTpxi233GJRRfEnyViyZEnseTQaNfLz842f/exnsW3V1dWGz+czfv/731tQYfx89lzb8v777xuSjN27d3dPUV3gVOe5d+9eo1+/fsamTZuMAQMGGI8//ni31xZPbZ3nTTfdZHzta1/r9LEd3xLS2NiodevWacqUKbFtbrdbU6ZM0cqVKy2srOvV1NRIkrKzsy2upGuUlpbq2muvbfVv6yR/+tOfNGHCBH3pS19Sbm6uxo0bp1//+tdWl9UlLrzwQi1btkxbt26VJH3wwQd65513dM0111hcWdfZtWuXKioqWv3/GwgENHnyZMd/N0nm95PL5VJWVpbVpcRVNBrVrbfeqnvvvVcjR460upwuEY1G9ec//1lDhw7V1KlTlZubq8mTJ5+2a+pUHB9CDh48qEgkory8vFbb8/LyVFFRYVFVXS8ajWrmzJm66KKLNGrUKKvLibvnn39e69ev17x586wupcvs3LlTCxYs0JAhQ/T666/rzjvv1He+8x399re/tbq0uPvBD36gr3zlKyouLlZycrLGjRunmTNn6pZbbrG6tC7T8v3T076bJKmhoUH33Xefbr75Zsfd7O2RRx5RUlKSvvOd71hdSpepqqpSXV2dHn74YX3+85/X3/72N91www2aPn26VqxY0a5jJdxddBEfpaWl2rRpk9555x2rS4m7srIy3XPPPXrjjTfa3/9oI9FoVBMmTNBPf/pTSdK4ceO0adMmLVy4ULfddpvF1cXXiy++qOeee06LFy/WyJEjtWHDBs2cOVMFBQWOO9eeLhwO68tf/rIMw9CCBQusLieu1q1bp5///Odav369XC6X1eV0mWg0Kkm6/vrrNWvWLEnSeeedp/fee08LFy7UpZdeetbHcnxLSO/eveXxeFRZWdlqe2VlpfLz8y2qqmvdddddevXVV/XWW2+pf//+VpcTd+vWrVNVVZXOP/98JSUlKSkpSStWrNCTTz6ppKQkRSIRq0uMi759+2rEiBGttg0fPrzdo8/t4N577421howePVq33nqrZs2a5eiWrpbvn5703dQSQHbv3q033njDca0g//jHP1RVVaWioqLYd9Pu3bv13e9+VwMHDrS6vLjp3bu3kpKS4vL95PgQ4vV6NX78eC1btiy2LRqNatmyZSopKbGwsvgzDEN33XWXlixZojfffFODBg2yuqQuceWVV2rjxo3asGFDbJkwYYJuueUWbdiwQR6Px+oS4+Kiiy466RLrrVu3asCAARZV1HWOHj0qt7v115HH44n9xeVEgwYNUn5+fqvvpmAwqNWrVzvuu0k6HkC2bdumv//978rJybG6pLi79dZb9eGHH7b6biooKNC9996r119/3ery4sbr9WrixIlx+X7qEd0xs2fP1m233aYJEyZo0qRJeuKJJ1RfX6/bb7/d6tLiqrS0VIsXL9Yrr7yizMzMWL9yIBBQamqqxdXFT2Zm5knjXNLT05WTk+Oo8S+zZs3ShRdeqJ/+9Kf68pe/rPfff19PP/20nn76aatLi7vrrrtODz30kIqKijRy5Ej985//1GOPPaZvfvObVpfWKXV1ddq+fXvs+a5du7RhwwZlZ2erqKhIM2fO1E9+8hMNGTJEgwYN0ty5c1VQUKBp06ZZV3QHne5c+/btqxtvvFHr16/Xq6++qkgkEvt+ys7OltfrtarsdjvTv+lnw1VycrLy8/M1bNiw7i61U850nvfee69uuukmXXLJJbr88sv12muvaenSpVq+fHn7PqjT19fYxC9+8QujqKjI8Hq9xqRJk4xVq1ZZXVLcSWpzWbRokdWldTknXqJrGIaxdOlSY9SoUYbP5zOKi4uNp59+2uqSukQwGDTuueceo6ioyEhJSTEGDx5s/PCHPzRCoZDVpXXKW2+91ebP5G233WYYhnmZ7ty5c428vDzD5/MZV155pbFlyxZri+6g053rrl27Tvn99NZbb1lderuc6d/0s+x6ie7ZnOczzzxjnHvuuUZKSooxduxY4+WXX27357gMw+ZTEgIAAFty/JgQAACQmAghAADAEoQQAABgCUIIAACwBCEEAABYghACAAAsQQgBAACWIIQAAABLEEIAAIAlCCEAAMAShBAAAGAJQggAALDE/wfdURpU/jK2EwAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -511,8 +512,8 @@ } ], "source": [ - "plt.plot(profile.r / si.ANGSTROM, (profile.density / (si.MOL / si.METER**3))[0] / 5000)\n", - "plt.plot(profile.r / si.ANGSTROM, profile.external_potential[0])" + "plt.plot(profile.grid / si.ANGSTROM, (profile.density / (si.MOL / si.METER**3))[0] / 5000)\n", + "plt.plot(profile.grid / si.ANGSTROM, (profile.external_potential / (350*si.KELVIN*si.KB))[0])" ] }, { @@ -528,9 +529,9 @@ "metadata": {}, "outputs": [], "source": [ - "potential = ExternalPotential.DoubleWell(3.0, 25, 150, 0.08)\n", - "s = State(func, 350*si.KELVIN, density=rho*si.MOL/si.METER**3)\n", - "profile = Pore1D(Geometry.Cartesian, 40*si.ANGSTROM, potential).initialize(s).solve(solver=solver)" + "potential = feos.ExternalPotential.DoubleWell(3.0, 25, 150, 0.08)\n", + "s = feos.State(func, 350*si.KELVIN, density=rho*si.MOL/si.METER**3)\n", + "profile = feos.Pore1D(func, feos.Geometry.Cartesian, 40*si.ANGSTROM, potential).initialize(s).solve(solver=solver)" ] }, { @@ -541,7 +542,7 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, "execution_count": 21, @@ -550,7 +551,7 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -560,8 +561,8 @@ } ], "source": [ - "plt.plot(profile.r / si.ANGSTROM, (profile.density / (si.MOL / si.METER**3))[0] / 5000)\n", - "plt.plot(profile.r / si.ANGSTROM, profile.external_potential[0])" + "plt.plot(profile.grid / si.ANGSTROM, (profile.density / (si.MOL / si.METER**3))[0] / 5000)\n", + "plt.plot(profile.grid / si.ANGSTROM, (profile.external_potential / (350*si.KELVIN*si.KB))[0])" ] }, { @@ -596,14 +597,14 @@ ], "source": [ "# create a list of solvers that are called consecutively\n", - "solver = DFTSolver().newton()\n", + "solver = feos.DFTSolver().newton()\n", "solver" ] } ], "metadata": { "kernelspec": { - "display_name": "feos", + "display_name": "feos_devel", "language": "python", "name": "python3" }, @@ -617,7 +618,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.14.0" } }, "nbformat": 4, diff --git a/examples/pcsaft/pore_geometry.ipynb b/examples/pcsaft/pore_geometry.ipynb index 86a9bbe5f..2d9af973e 100644 --- a/examples/pcsaft/pore_geometry.ipynb +++ b/examples/pcsaft/pore_geometry.ipynb @@ -6,9 +6,7 @@ "metadata": {}, "outputs": [], "source": [ - "from feos.dft import *\n", - "from feos.pcsaft import PcSaftParameters\n", - "\n", + "import feos\n", "import si_units as si\n", "import matplotlib.pyplot as plt\n", "import numpy as np" @@ -20,11 +18,11 @@ "metadata": {}, "outputs": [], "source": [ - "params = PcSaftParameters.from_json([\"methanol\"], \"../../parameters/pcsaft/rehner2020.json\")\n", - "func = HelmholtzEnergyFunctional.pcsaft(params)\n", + "params = feos.Parameters.from_json([\"methanol\"], \"../../parameters/pcsaft/rehner2020.json\")\n", + "func = feos.HelmholtzEnergyFunctional.pcsaft(params)\n", "T = 350*si.KELVIN\n", - "state = State(func, T, pressure=si.BAR)\n", - "potential = ExternalPotential.LJ93(3.0, 100.0, 0.08)\n", + "state = feos.State(func, T, pressure=si.BAR)\n", + "potential = feos.ExternalPotential.LJ93(3.0, 100.0, 0.08)\n", "#potential = ExternalPotential.Steele(3.0, 100.0, 0.08)" ] }, @@ -35,14 +33,12 @@ "outputs": [ { "data": { - "image/png": "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eNmlIzz/ogFuumyUXf1dm/tlRc6DCjkRERERaWmOY9jRl2RHX5Ib9q0/yXeh4jObqzCbLTObq5Ap1ShUfPKNpVDxV6dXMDQKvESM/lSMvq4Yoz0J9g6nuWgoRSquP6ElevqvUERERETaXjrhsS/hse885tYTaQUaRkdERERERKTFqJATERERERFpMSrkREREREREWowKORERERERkRazoULOGPODxpiHjDGBMebwM869xxjzuDHmUWPMqzcWpoiISGtRjhQRka200VErHwTeCPyvtQeNMVcAbwEOAbuALxpjLrXWrj+Bh4iISPtRjhQRkS2zoRY5a+3D1tpH1zl1G3CntbZirX0KeBy4YSOfJSIi0kqUI0VEZCtt1TNy48DxNfuTjWMiIiKdTjlSREQ27JxdK40xXwR2rHPqvdbauzYagDHmduB2gD179mz07URERLaNcqSIiETlnIWctfaVz+F9p4Dda/YnGsfWe/87gDsADh8+bJ/DZ4mIiERCOVJERKKyVV0rPwW8xRiTMMbsAy4BvrVFnyUiItJKlCNFRGTDNjr9wBuMMZPAi4BPG2M+B2CtfQj4BHAE+CzwLo3GJSIinUQ5UkREttKGph+w1n4S+ORZzr0feP9G3l9ERKRVKUeKiMhW2qqulSIiIiIiIrJFVMiJiIiIiIi0GBVyIiIiIiIiLUaFnIiIiIiISItRISciIiIiItJiVMiJiIiIiIi0GBVyIiIiIiIiLUaFnIiIiIiISItRISciIiIiItJiVMiJiIiIiIi0GBVyIiIiIiIiLUaFnIiIiIiISItRISciIiIiItJiVMiJiIiIiIi0GBVyIiIiIiIiLUaFnIiIiIiISItRISciIiIiItJiVMiJiIiIiIi0GBVyIiIiIiIiLUaFnIiIiIiISItRISciIiIiItJiVMiJiIiIiIi0GBVyIiIiIiIiLUaFnIiIiIiISItRISciIiIiItJiVMiJiIiIiIi0GBVyIiIiIiIiLWZDhZwx5reMMY8YY+43xnzSGNO/5tx7jDGPG2MeNca8esORioiItBDlSBER2UobbZH7AnCltfYq4HvAewCMMVcAbwEOAa8B/qcxxt3gZ4mIiLQS5UgREdkyGyrkrLWft9b6jd1vABON7duAO621FWvtU8DjwA0b+SwREZFWohwpIiJbaTOfkXsHcHdjexw4vubcZOOYiIhIJ1KOFBGRTeWd6wJjzBeBHeuceq+19q7GNe8FfOBPLjQAY8ztwO2N3Yox5sELfY82MgzMRx1ERPTdO1cnf/9O/u4Al0UdwEYpR26bTv9/pZO/v7575+rk739e+fGchZy19pXPdt4Y86PAa4FXWGtt4/AUsHvNZRONY+u9/x3AHY33usdae/jcYbenTv7++u6d+d2hs79/J393CL9/1DFslHLk9ujk7w6d/f313Tvzu0Nnf//zzY8bHbXyNcDPA6+z1hbXnPoU8BZjTMIYsw+4BPjWRj5LRESklShHiojIVjpni9w5fBhIAF8wxgB8w1r749bah4wxnwCOEHYneZe1tr7BzxIREWklypEiIrJlNlTIWWsPPMu59wPvv8C3vGMj8bSBTv7++u6dq5O/fyd/d2jz768cuak6+btDZ39/fffO1cnf/7y+uznVZV9ERERERERawWZOPyAiIiIiIiLboCkLOWPMvzXGPGKMecgY85tRx7NdjDHvM8ZMGWPubSy3Rh1TFIwxP2uMscaY4ahj2S7GmF81xtzf+Hf/vDFmV9QxbSdjzG81/p+/3xjzSWNMf9QxbRdjzA82ftcFxpiOGJ3LGPMaY8yjxpjHjTHvjjqeVtKp+RGUI6Ez8yN0do7s5PwIypHnypFNV8gZY24CbgOuttYeAv5rxCFtt9+21l7TWD4TdTDbzRizG3gVcCzqWLbZb1lrr7LWXgP8P+CXIo5nu30BuNJaexXwPeA9EceznR4E3gh8LepAtoMxxgV+F7gFuAL4IWPMFdFG1RqUH4EOzpEdnB+hs3NkJ+dHUI581hzZdIUc8BPAB6y1FQBr7WzE8cj2+m3C4bo76uFNa212zW6azvv+n7fW+o3dbxDOq9URrLUPW2sfjTqObXQD8Li19klrbRW4k7A4kXNTfuxsHZkfobNzZCfnR1CO5Bw5shkLuUuBlxpjvmmM+aox5vqoA9pmP9VoPv+IMWYg6mC2kzHmNmDKWntf1LFEwRjzfmPMceBtdNbdxmd6B3B31EHIlhkHjq/Zn2wck3Pr9PwIHZojOz0/gnJkg/Jj+7ugHLnReeSeE2PMF4Ed65x6L2FMg8ALgeuBTxhj9ts2GV7zHN/994BfJbzT9KvABwn/p20b5/j+v0jYbaQtPdt3t9beZa19L/BeY8x7gJ8CfnlbA9xi5/r+jWveSziv1p9sZ2xb7Xy+uwh0dn6Ezs6RnZwfobNzZCfnR1CO3IhICjlr7SvPds4Y8xPAXzUS07eMMQEwDMxtV3xb6dm++1rGmD8g7AfeVs72/Y0xzwP2Afc1Js6dAL5rjLnBWju9jSFumfP9tyf8Jf0Z2ihJwbm/vzHmR4HXAq9opz9M4YL+7TvBFLB7zf5E45jQ2fkROjtHdnJ+hM7OkZ2cH0E58hkuKEc2Y9fKvwZuAjDGXArEgfkoA9ouxpida3bfQPiAZ0ew1j5grR211u611u4lbEq+rp2S1LMxxlyyZvc24JGoYomCMeY1hM9+vM5aW4w6HtlS3wYuMcbsM8bEgbcAn4o4plbx13RofoTOzZGdnh+hs3Ok8mPHuaAcGUmL3Dl8BPiIMeZBoAq8vR3vPpzFbxpjriHsNvI08GORRiPb6QPGmMuAADgK/HjE8Wy3DwMJ4AuNO87fsNZ2xM/AGPMG4H8AI8CnjTH3WmtfHXFYW8Za6xtjfgr4HOACH7HWPhRxWK2ik/MjKEd2sk7OkR2bH0E5knPkSNNZOUBERERERKT1NWPXShEREREREXkWKuRERERERERajAo5ERERERGRFqNCTkREREREpMWokBMREREREWkxKuRERERERERajAo5ERERERGRFqNCTkREREREpMX8//llH1O2EsgXAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABMkAAAGsCAYAAADHUfDaAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAgyVJREFUeJzs3XmcZHV97//3WWrtrqreu2cf9mGRQVmGwSWgKBJjRIkx0RggXEy8A7/oJNeEuBBNFNRE9CYjmkThZvGKXqNGEzFKFKMC6iAq6CD7LD29d+17nfP741RVd8/GTHdXn+ru1/PxOI+zVVV/pgboD5/z/X6+huu6rgAAAAAAAIBVzPQ7AAAAAAAAAMBvFMkAAAAAAACw6lEkAwAAAAAAwKpHkQwAAAAAAACrHkUyAAAAAAAArHoUyQAAAAAAALDqUSQDAAAAAADAqmf7HcBCOY6j4eFhxWIxGYbhdzgAAGAZcF1XmUxGa9eulWnyzLBdkecBAIATtZA8b9kXyYaHh7Vhwwa/wwAAAMvQvn37tH79er/DwFGQ5wEAgPmaT5637ItksVhMkveHj8fjPkcDAACWg3Q6rQ0bNjTzCLQn8jwAAHCiFpLnLfsiWWPofTweJ3kCAAAnhCl87Y08DwAAzNd88jyacAAAAAAAAGDVo0gGAAAAAACAVY8iGQAAAAAAAFa9Zd+T7HjVajVVKhW/w/BVIBCQZVl+hwEAALCoyPPI8wAAWAwrvkjmuq5GRkaUTCb9DqUtdHV1aWhoiEbFAABg2SPPm4s8DwCAhVnxRbJG4jQwMKBoNLpqkwbXdZXP5zU2NiZJWrNmjc8RAQAALAx5noc8DwCAxbGii2S1Wq2ZOPX29vodju8ikYgkaWxsTAMDAwzJBwAAyxZ53lzkeQAALNyKbtzf6E0RjUZ9jqR9NL6L1d63AwAALG/keYcjzwMAYGFWdJGsYbUOvT8SvgsAALCSkNvM4LsAAGBhVkWRDAAAAAAAADgWimQAAAAAAABY9SiSAQAAAAAAYNWjSNam/vzP/1yGYczZtmzZ4ndYAAAAWCDyPAAA2pPtdwA4urPPPlvf/OY3m+e2zV8XAADASkCeBwBA+1lVv41d11WhUvPlZ0cC1gmvOGTbtoaGhloUEQAAwMriV65HngcAwMqwqopkhUpNZ73n67787J+/7wpFgyf2dT/++ONau3atwuGwtm/frltvvVUbN25sUYQAAADLm1+5HnkeAAArAz3J2tS2bdt011136Z577tEdd9yhp59+Wi9+8YuVyWT8Dg0AAAALQJ4HAEB7WlUjySIBSz9/3xW+/ewTceWVVzaPzz33XG3btk2bNm3S5z73OV1//fWLHR4AAMCy51euR54HAMDKsKqKZIZhnPBQ+HbR1dWl008/XU888YTfoQAAALSl5ZrrkecBANAeWjrd8rmWty4Wi9qxY4d6e3vV2dmpq6++WqOjo60MadnKZrN68skntWbNGr9DAQAAIM9bROR5AAC0h5b3JDv77LN18ODB5vbd7363ee/tb3+7vvKVr+jzn/+87rvvPg0PD+t1r3tdq0NaFv74j/9Y9913n5555hl9//vf12tf+1pZlqXf/u3f9js0AAAASeR580WeBwBAe2r5ePSjLW+dSqX0qU99Sp/5zGf00pe+VJJ055136swzz9QDDzygiy++uNWhtbX9+/frt3/7tzU5Oan+/n696EUv0gMPPKD+/n6/QwOAtjGZLanmuHKHH5cqFe+iK6UqaTly/A0ObcuQIat8Yj2kcGTkefNDngcARzaRLclxXMl1ZebHNV2aVi2VkqpVv0PDMpLN5ub93pYXyY62vPXu3btVqVR0+eWXN1+7ZcsWbdy4Uffff/9Rk6dSqaRSqdQ8T6fTrf4j+OKzn/2s3yEAQFv7wH/8Qn/3naf093s+qPV7xv0OB8uIKyldq/kdxopAnjc/5HkAcLj3feXn+vT3npYk/XXgDj3V/zONPd6p3/sGDz5xYtwF5HktLZI1lrc+44wzdPDgQb33ve/Vi1/8Yj3yyCMaGRlRMBhUV1fXnPcMDg5qZGTkqJ9566236r3vfW8rwwYALAPf2jMmGRUZKa9A5khyDX9jwjJiuH5HsOyR5wEAFtOXHj7QPH6R+TPdHQ7rV/d6v6/J83Aiagv4Z6WlRbJjLW8diUTm9Zk333yzdu7c2TxPp9PasGHDgmMFACwfrutq71ReVuTZ5uj7O67p0dBlV+rF616sC4cuVDQQ9TdItLV0Oi0lEn6HsayR5wEAFovjuJrKlSVJP3rnS9X3kYyyZkSR+uDi9R/+kBKvfrWPEWI5WUiet6RrZM9e3vrlL3+5yuWyksnknKeMo6OjR+xt0RAKhRQKhZYgWgBAuxrPlFSqOopFU4rWk6cPXf7Xil64uvscAX4izwMAzFeuPNNzrLOWltyasqapaMkbSWZ2dPoVGlaZlq9uOdvs5a3PP/98BQIB3Xvvvc37jz32mPbu3avt27cvZVgAgGVm71RekrSuI90sklm9gz5GBIA8DwAwX9mSVySzTUOhotdKwyuSefetGEUyLI2WjiT74z/+Y7361a/Wpk2bNDw8rFtuuaW5vHUikdD111+vnTt3qqenR/F4XDfddJO2b9++6lc8AgAcW6NI1h/KNIfhkzwBS4s8DwCwWHL1IllHyJaRG1fJkCqG0czzzFjMx+iwmrS0SPZcy1vffvvtMk1TV199tUqlkq644gp9/OMfb2VIAIAVoFEk61GqOSTa7KRIBiwl8jwAwGLJlrzVCDtDtlRKK2t4GV5jJBl5HpZKS4tkz7W8dTgc1q5du7Rr165WhgEAWGFGUkVJUkc5LUlyTMkIh/0MCVh1yPMAAIulMZLMK5JllTVNWTVXoXqrMosiGZbIkvYkAwBgMWTqiZRVykqSamFLhsG64AAAAMtRptiYbmlJpYyy5sxUS4mRZFg6FMkAAMtOtp5ImcWCJMmNBP0MBwAAAAswuyeZypk5TfuNSESG3dJJcEATRbI29Z3vfEevfvWrtXbtWhmGoS996UuHvWbXrl3avHmzwuGwtm3bph/84AdLHygA+KCRSKnkZU9uNORjNABwYsjzAGCuXNnL7WJhuz6SzFSk7N1jqiWWEkWyNpXL5bR169aj9vG4++67tXPnTt1yyy166KGHtHXrVl1xxRUaGxtb4kgBYOk1lgk3GiPKSJ4ALCPkeQAwVyO36wjO9CSjaT/8QJGsTV155ZX6y7/8S732ta894v2PfOQjuuGGG3TdddfprLPO0ic+8QlFo1F9+tOfXuJIAWDpZYpVGXJklF1JkhlP+BwRABw/8jwAmCtbnDXdst6TLFqq53mxmJ+hYZVZXRN7XVeq5P352YGotEhNpcvlsnbv3q2bb765ec00TV1++eW6//77F+VnAEA7y5Wr6lFGRn0Yvt3V529AANqDX7keeR4ALEijlUYsbEvZuT3JmG6JpbS6imSVvPSBtf787D8bloIdi/JRExMTqtVqGhwcnHN9cHBQe/bsWZSfAQDtynVdZYtVnWZMySobklwF411+hwWgHfiV65HnAcCCZEs1SY3G/VnlDKZbwh9MtwQALCulqqOq46rfnFC4PpIslOjxNygAAADMW7ZUkdSYbplWxjRmimQximRYOqtrJFkg6j3p8+tnL5K+vj5ZlqXR0dE510dHRzU0NLRoPwcA2lGjsWuPNa5IPXkKxbt9jAhA2/Ar1yPPA4AFydVHksVCXuP+nGWqu96TzOqkJxmWzuoqkhnGog2F91MwGNT555+ve++9V1dddZUkyXEc3Xvvvbrxxhv9DQ4AWqzR2LUvmJzpVcETRgDSisj1yPMArEbN1S3rjfsznabWMd0SPlhdRbJlJJvN6oknnmieP/3003r44YfV09OjjRs3aufOnbrmmmt0wQUX6KKLLtJHP/pR5XI5XXfddT5GDQCt10iiEva0IvXpliZPGAEsI+R5ADDXTJHM8nqSmZ3NGQNMt8RSokjWpn70ox/psssua57v3LlTknTNNdforrvu0hve8AaNj4/rPe95j0ZGRnTeeefpnnvuOazJKwCsNI0kKmKlFS3WlwbvXN4jRwCsLuR5ADBXY6ZAPGhIlbwyZpzVLeELimRt6tJLL5Xrusd8zY033siwewCrTiOJCpiZWdMtGUkGYPkgzwOAuTJFr3F/3PSSu6xpKlpqPAwlz8PSYXVLAMCykit7RTIZeUUb0y0pkgEAACxLNcdVrlxv3G8UJEk505xpq8F0SywhimQAgGUlUx9JVjEqM0uDd5A8AQAALEeNVhqS1KG8HElZw2C6JXxBkQwAsKxkS1XZqqrgOgrWcypWtwQAAFieGkWyoG0qWMmqYBhyZxXJmDGApUSRDACwrGSKFcWUV7E68yuMpcEBAACWp0Y/sljIlkoZZUxTct2ZIhl5HpYQRTIAwLKSKVYVMwoq14tktXBAhmX5HBUAAADmo7EoUyxsS6W0cqahUEUy6+ubMN0SS4kiGQBgWckUq4opr2rZ+xXmRMM+RwQAAID5avSb7QzbUjGljGk2R5HJsmREIv4Fh1WHIhkAYFnJFCuKG3lVG9MtO6P+BgQAAIB5y9R7ksVCgfpIMnNO037DMHyMDqsNRTIAwLLSGEnmlL2Eyejo8DkiAAAAzFejJ5k3kiw9ZyQZ/ciw1CiSAQCWFa9IVpAq3q8wkicAAIDl67CeZIahSMlrSMbKllhqFMkAAMtKplRRzMjLqHgjyexY3OeIAAAAMF+NnmSxkDeSLDtnJBkzBrC0KJK1qVtvvVUXXnihYrGYBgYGdNVVV+mxxx6b85pdu3Zp8+bNCofD2rZtm37wgx/4FC0ALJ1MsapO5WSVvfNgPOFvQABwgsjzAGBGttGTLOz1JMvO6UnGSDIsLYpkbeq+++7Tjh079MADD+gb3/iGKpWKXvGKVyiXy0mS7r77bu3cuVO33HKLHnroIW3dulVXXHGFxsbGfI4cAFrHdV1lilWFrZwijSJZotvfoADgBJHnAcCM9OyeZKWMsqbRzPOYbomlRpGsTd1zzz269tprdfbZZ2vr1q266667tHfvXu3evVuS9JGPfEQ33HCDrrvuOp111ln6xCc+oWg0qk9/+tM+Rw4ArVOo1FRzXAXNbPMJYzDGSDIAywt5HgDMyMzuSdaYblms9yRjuiWWmO13AEvJdV0VqgVffnbEjixo6dpUKiVJ6unpUblc1u7du3XzzTc375umqcsvv1z333//gmMFgHbVaOxq2XlFGsPwecIIoM6vXI88DwDmr5HfdYZsqZRSNmhqXX0kGdMtsdRWVZGsUC1o22e2+fKzH3zjg4oGovN6r+M4etvb3qYXvvCFOuecczQ8PKxarabBwcE5rxscHNSePXsWI1wAaEvpehIVsIqymg1dSZ4AePzK9cjzAGD+MiVvumU8HPBGkoUDM437eRiKJbaqimTL1Y4dO/TII4/ou9/9rt+hAICvMvWeFaZVVLSxNHhnp58hAcCCkOcBWO1mRpJZ9Z5kfaxuCd+sqiJZxI7owTc+6NvPno8bb7xRX/3qV/Wd73xH69evlyT19fXJsiyNjo7Oee3o6KiGhoYWHCsAtKtGzwrHLM+abkmRDIDHr1yPPA8A5q+R38XtsuTWlDVM2mrAN6uqSGYYxryHwi8113V100036Ytf/KK+/e1v66STTmreCwaDOv/883XvvffqqquukuQN1b/33nt14403+hQxALReI4mqmmVFS96vMEaSAWhYLrkeeR4AzMiU6o37lZckr3F/Y8ZAB3keltaqKpItJzt27NBnPvMZffnLX1YsFtPIyIgkKZFIKBKJaOfOnbrmmmt0wQUX6KKLLtJHP/pR5XI5XXfddT5HDgCt05huWTYrs4pkPGEEsLyQ5wGAp1StqVx1JEkxeQuv5ExT0VJNEjMGsPQokrWpO+64Q5J06aWXzrl+55136tprr9Ub3vAGjY+P6z3veY9GRkZ03nnn6Z577jmsySsArCSZYlW2qirIYbolgGWLPA8API1+ZJIUdfOqSCqYRjPPo3E/lhpFsjbluu5zvubGG29k2D2AVSVTqiqmvIo1U2b9GtMtASw35HkA4Gm00ugIWrLKaWVNL8ObadxPnoelZT73SwAAaA+ZYkUxo6BS1fv15VimjHDY56gAAAAwH9l6P7LOsC0V08qYhqyaq1B9gJlFkQxLjCIZAGDZyBS9kWTVcr1I1hmRYRg+RwUAAID5SNf7zcbCAamUVs401VGcuc90Syw1imQAgGUjU6wobuTl1ItkbqzD54gAAAAwX42eZJ2hxkiymSKZGYvJsCwfo8NqRJEMALBsNEaSuWVv9JhB034AAIBlq9GTLBa2vZFkhtEsklmMIoMPKJIBAJYNr0hWkFEfSWbF4z5HBAAAgPlq9CSLhWePJPMWNzETCT9DwypFkQwAsGx4jfvzskreSDI70eVvQAAAAJi3TKMnWcjrSZY2TXU2RpLxMBQ+oEgGAFg2sqWqOpRToL4seDDR7W9AAAAAmLfGdMvOsC2VMspYMz3JKJLBD0tWJLvttttkGIbe9ra3Na8Vi0Xt2LFDvb296uzs1NVXX63R0dGlCgkAsMyki1WFrGzzCWO4u9ffgAA0kesBAE5Uul4ki4cDUjGltGmqo/4w1IzTkwxLb0mKZD/84Q/1yU9+Uueee+6c629/+9v1la98RZ///Od13333aXh4WK973euWIiQAwDJTqtZUrjoKmDlF68lTgOmWQFsg1wMAzEe64E23jEfs5nTLRk8yK05PMiy9lhfJstms3vSmN+nv//7v1d09My0mlUrpU5/6lD7ykY/opS99qc4//3zdeeed+v73v68HHnjgqJ9XKpWUTqfnbACAla8xHN+y8s2RZCbD8AHfLWauR54HAKtLut6TLBEJzGrc792zEuR5WHotL5Lt2LFDr3rVq3T55ZfPub57925VKpU517ds2aKNGzfq/vvvP+rn3XrrrUokEs1tw4YNLYsdANA+GkWygF3kCSPQRhYz1yPPA4DVpTmSLByQisk5jft5GAo/tLRI9tnPflYPPfSQbr311sPujYyMKBgMqqura871wcFBjYyMHPUzb775ZqVSqea2b9++xQ4bANCGUvUkyrRKPGEE2sRi53rkeQCwuqSaRTJLKqaUMU1Fm437eRiKpWe36oP37dunP/zDP9Q3vvENhcPhRfvcUCikUCi0aJ8HAFgeGkmUM7tIxhNGwDetyPXI8wBgdWk07u+2SpLrHNKTjMb9WHotK5Lt3r1bY2NjesELXtC8VqvV9J3vfEd/+7d/q69//esql8tKJpNznjCOjo5qaGioJTG5riu3UGjJZz8XIxKRYRi+/GwAWAkaRbKqWVFH0ZLEMHzAT+R6M8jzAODEua7bnG6ZMLKSpLRlqrPoSOJhKPzRsiLZy172Mv3sZz+bc+26667Tli1b9Cd/8ifasGGDAoGA7r33Xl199dWSpMcee0x79+7V9u3bWxKTWyjosRec35LPfi5nPLRbRjR6Qu9597vfrc997nO66KKLtGvXLn3rW9/Su9/9bnV1delv/uZvtHXr1hZFCwDtp5FEVZyKQlWvSEbyBPiHXG8GeR4AnLh8uaaq440ai7k51SRlTVMd9SKZyXRL+KBlRbJYLKZzzjlnzrWOjg719vY2r19//fXauXOnenp6FI/HddNNN2n79u26+OKLWxXWsnHPPfdoenpaP/rRj/Sxj31MV199taampvSv//qvchxH//N//k9985vf9DtMAFgyqUJFtqqqVbzEyTUks7PT56iA1Ytcb/7I8wBgZmVL2zQUrmWUNk0ZjquOknef3rPwQ8uKZMfj9ttvl2mauvrqq1UqlXTFFVfo4x//eMt+nhGJ6IyHdrfs85/rZ5+IH//4x7rmmmsUi8X0rne9S1/84hf1jne8Q6eeeqokqbe3V+VyWcFgsBXhAkDbSRcqSiinctkbRVaNhmSYLV+kGcACrJZcjzwPAE5cuuD1I4tHAjKKKaVNQ9HSzH0rRk8yLL0lLZJ9+9vfnnMeDoe1a9cu7dq1a0l+vmEYJzwU3i9nnHGG7rnnHl144YX6xje+IcMwdNttt+llL3uZbNvW6OgoiROAVSVVqKjLyKpa9vr+OJ0n9j+lAFqPXO/4kOcBwMxIsnjYlorJetN+754Ricjgv4Pwga8jyXB0r33ta/W1r31NGzdu1Nq1a/XlL39Z//7v/66tW7cqEom09CksALSjdNEbSeaUvdFjbmeHzxEBwPyQ5wGAlMrXm/ZHAlIhqcysIhl9Z+EXimRtyjAM/f3f//2ca295y1t0ww03sHoSgFUpVagoYeTk1otkRpx+ZACWJ/I8AJg1kiwSaI4k68x7jfwpksEvNHNZZkicAKxWqXpPMqM+3ZLkCcBKQ54HYDVprFweD3sjydKW2exJZpLnwScUyQAAy0KjJ5lV8v4n0k50+RsQAAAA5i01q3G/iillTFOdTLeEzyiSAQCWhXShqoRysutPGIOJbn8DAgAAwLzNTLc8vHE/RTL4hSIZAKDtOY6rdLGimJFRuD7dMtTd63NUAAAAmK9Dp1t6jfu9nmRmgiIZ/EGRDADQ9jKlqlxXClqZ5hPGSFefv0EBAABg3lKFWatbHjqSLEaRDP5YFUUy13X9DqFt8F0AWI4aTxrDVq75hDHQ1eVjRADaBbnNDL4LAMvJnNUtC4cUyRhJBp+s6CJZIBCQJOXzeZ8jaR+N76Lx3QDActB40hgIFJrJkxlP+BgRAL+R5x2OPA/AcpJuNO4PWVKxMd3Su8fqlvCL7XcArWRZlrq6ujQ2NiZJikajq3Zpbdd1lc/nNTY2pq6uLlmW5XdIAHDcGiPJLKswa9WjmI8RAfAbed4M8jwAy1HjIWh3oCI5VaVNU531GQMWD0PhkxVdJJOkoaEhSWomUKtdV1dX8zsBgOWikUQ5RknRojdCglWPAJDnzUWeB2A5aUy3TJjeKNi0NdO4n4eh8MuKL5IZhqE1a9ZoYGBAlUrF73B8FQgEeLIIYFnykihXNbeoaNkrkpkJnjACqx153gzyPADLieO4ypbq0y3dnFyp3pOsJonplvDPii+SNViWReIAAMtUqlBRRCWVqjNTqawYTxgBeMjzAGB5aaxcLkmdblZFw1BVmtW4n4eh8MeKbtwPAFgZUoWKupRTqez92qqEbRn2qnnOAwAAsKI0Vy4PmApW0kqZpsJlyaoXzmirAb9QJAMAtL1UoaKEkVO54v3aqnaEfI4IAAAA89XoNxsPB6RCUilrZmVLBQIywmH/gsOqRpEMAND20oWquoysqvUimdMZ9TkiAAAAzFdjJFk8EpCKSSVNUx0l754Vj6/a1YrhP4pkAIC2lypUlFBOTn26pUuRDAAAYNlqjCTrjgakYsorkjX6kTHVEj6iSAYAaHvedMus3LL3VNFgWXAAAIBlazrvFckSkWB9uqWlzqLXkIwiGfxEkQwA0PYaI8mMepHMokgGAACwbCULZUlSVzQgFaaUmjWSzKRIBh9RJAMAtL3pfFldRlZ2oV4k6+7xOSIAAADMV6o+kqwrEpDyU0papmJ5757d0+1jZFjtKJIBANpazXGbI8kCRa9IFu4d8DkqAAAAzNd03htJ1t0RlApTSpqm4oX6dMsuimTwD0UyAEBbSxcqcl2p08gqUi+SdfQN+RwVAAAA5ivZ7EnmjSRLWVZzJJnVTZEM/qFIBgBoa40njcFATp31J4yd/Wv9DAkAAAALkKyvbun1JJtWyjQVK3j3rK4u/wLDqkeRDADQ1hpJlGnnFa8/YQz00JMMAABguUrWH4L2hA2plFbSNBVrTLdkJBl8RJEMANDWGklUzS7MesJI8gQAALBcNaZbdhs5SVJqVuN+q7vLp6gAimQAgDY3nfOSqJJK6ih510ieAAAAlifXdZszBbqNjBxpznRLm5Fk8BFFMgBAW5vOl2XKUalclSQ5hmTF4z5HBQAAgPkoVGoqVx1JUkJZZUzDW6SpMWOAIhl8RJEMANDWkvmKYsorX/Z+ZVU6QjIsy+eoAAAAMB+NqZYBy1C4klTatNRZnClOWImEf8Fh1aNIBgBoa8lCWd1GRsWyLUmqxqM+RwQAAID5ahTJEpGgjMJ0vWm/d8+Mx2UEAj5Gh9WOIhkAoK1N5yvqUUbVkuFdSMT8DQgAAADzlix4izJ1RQNSfkpJmvajjVAkAwC0tWS+rB4jI6fk/coyuhiCDwAAsFw1V7aMBqTClJKmqXjBlSTZrGAOn1EkAwC0telcRd1GRqoXyQLdPT5HBAAAgPmaPd1S+SmlLGvWSDKKZPAXRTIAQFtLFbzplmbRm24Z7u33OSIAAADM15zploVppWb1JKNIBr9RJAMAtLXpfFkJI6lwvUgW7RvyOSIAAADM15zplvWeZPG8N92SIhn8RpEMANC2StWa8uWawlaq+YSxo58iGQAAwHKVzDdGkgWlwtTckWRdXf4FBogiGQCgjTWeNNqBrGL1J4w2PckAAACWrZmeZKxuifZDkQwA0Lam608abTuneP0Jo80wfAAAgGWrOd0y0ljd0lKssboleR58RpEMANC2GkmUYxdo6AoAALACNBr39wZKklPVtGUqzuqWaBMUyQAAbavRs6LilBTxDulVAQAAsIw1R5IZWbmSpk2Lh6FoGxTJAABtazpfUUBVlSs1SZJjGjJjMZ+jAgAAwHy4rtssknUZGeUNQ1VX6ih59ymSwW8tLZLdcccdOvfccxWPxxWPx7V9+3Z97Wtfa94vFovasWOHent71dnZqauvvlqjo6OtDAkAsIxM58vqUkaFsvfrqtoZlmHyfAdoB+R5AIATlSvXVK45kqSEspqyTHUW6zcNQ1Y87l9wgFpcJFu/fr1uu+027d69Wz/60Y/00pe+VK95zWv06KOPSpLe/va36ytf+Yo+//nP67777tPw8LBe97rXtTIkAMAyMpUtq8fIqFy2JElOotPniAA0kOcBAE7UVNbrnxEOmAqXk5q2rJmVLRMJGZblY3SAZLfyw1/96lfPOX//+9+vO+64Qw888IDWr1+vT33qU/rMZz6jl770pZKkO++8U2eeeaYeeOABXXzxxa0MDQCwDEzmvCJZrVh/ptPF00WgXZDnAQBO1FS932xPNCjlxjVtmvQjQ1tZsjkrtVpNn/3sZ5XL5bR9+3bt3r1blUpFl19+efM1W7Zs0caNG3X//fcf9XNKpZLS6fScDQCwMk3myupRRm7J+3XFsuBAeyLPAwAcj6mc13yspzMo5SY0ZVmK511JFMnQHlpeJPvZz36mzs5OhUIh/cEf/IG++MUv6qyzztLIyIiCwaC6DlmlbHBwUCMjI0f9vFtvvVWJRKK5bdiwocV/AgCAX6ZyJXUbGRn1kWTBnj6fIwIwG3keAOBETOW8pv09HSEpN64pi5FkaC8tL5KdccYZevjhh/Xggw/qrW99q6655hr9/Oc/n/fn3XzzzUqlUs1t3759ixgtAKCdTGXL6lJKoXpD10jvgL8BAZiDPA8AcCKaI8miASk/ObcnWXeXf4EBdS3tSSZJwWBQp556qiTp/PPP1w9/+EN97GMf0xve8AaVy2Ulk8k5TxlHR0c1NDR01M8LhUIKhUKtDhsA4DPXdTWZKytsJxWqP2GM9h399wOApUeeBwA4EXNGko1OaNo01V3wplvSVgPtYMl6kjU4jqNSqaTzzz9fgUBA9957b/PeY489pr1792r79u1LHRYAoM3kyzWVqo4Cdrr5hJHkCWhv5HkAgGNpjiTrCNSnW84aSXbIFH3ADy0dSXbzzTfryiuv1MaNG5XJZPSZz3xG3/72t/X1r39diURC119/vXbu3Kmenh7F43HddNNN2r59OyseAQA0lfNWP7ICOcXqTxhJnoD2QZ4HADhRc0aS5Sc1HYnM9CQjz0MbaGmRbGxsTL/7u7+rgwcPKpFI6Nxzz9XXv/51vfzlL5ck3X777TJNU1dffbVKpZKuuOIKffzjH29lSACAZWKyXiQz7by6ct41u5fG/UC7IM8DAJyoxkiy3rCkUlpTVqcSufrD0N5eHyMDPC0tkn3qU5865v1wOKxdu3Zp165drQwDALAMNZKosllUPG9Jkux+imRAuyDPAwCcqMZMgQErI0maNk115RxJkt3X71tcQMOS9yQDAOB4TGTLklzVymXZXu4ku6fH15gAAAAwf40iWa+RUd4wVDIMJRozBngYijZAkQwA0JamcmV1qKhy0ZAkVTpDMoJBn6MCAADAfFRqjtLFqiSp201q2jLVWZAsb7YlD0PRFiiSAQDa0lSurG4jo0rJm2pZ6477HBEAAADmazpf7zdrSB3VpKZNq9l31urqkhEI+Bgd4KFIBgBoS5PZsnqVlluo/6rq6fI1HgAAAMxfY6plVzQoMz+hKctUV7betL+Ppv1oDxTJAABtaSpXUr+RklEvkpE8AQAALF+NIllPR1DKT2jKsmb6kdG0H22CIhkAoC1N5crqM1KyC15PsnD/kM8RAQAAYL7mFMlyE5q2zOZ0S7uPpv1oDxTJAABtaTJXVq+mFM17RbLI4BqfIwIAAMB8NYtkUa9INmVa6sp50y3tXmYMoD1QJAMAtKWpXFkd9nRzGH7n0Hp/AwIAAMC8NYtknd50ywl71nTLfkaSoT1QJAMAtJ1CuaZ8uaagnWw+YQzQqwIAAGDZmjuSbFwTlqmurHfP6qVIhvZAkQwA0HYmcyVJUtDO0KsCAABgBZjbk2xSE5alRL4+3ZI8D22CIhkAoO2MZ7wimWHlFc9710ieAAAAlq/JrFck64+4UjmjSctqjiRjuiXaBUUyAEDbmagnUUa5KNOVXEOyurt9jgoAAADzNZH1HoKusdKqSEoZ5szDUBr3o01QJAMAtJ3xTEkRFVUueUPwS7GQDNv2OSoAAADMV6NI1m8kNWVZiuXrBQnTlNXT42tsQANFMgBA2xnPlNRnpFQuer+mql2dPkcEAACA+arUHE3nK5Kkbmdak5bZ7DtrdXfLsCwfowNmUCQDALSdiWxJ/UqpVvQSJrc74XNEAAAAmK9G037LNNRZmdKEZTVXMKfvLNoJRTIAQNsZz5TUb6SkgiFJMvvoUwEAALBcNRZl6ukIysyNzW3aT5EMbYQiGQCg7YxnS+o3krIL3q+pAMkTAADAsjVe70fW1xmSsiP1kWTePZuHoWgjFMkAAG1nIuv1JAvmvZFkkYE1PkcEAACA+ZrINIpkQSk7pgnLUqI+3dLiYSjaCEUyAEDbGc+U1KOkOupFss6h9T5HBAAAgPmayHo9yfo7Q1J2VBOzGvfbvRTJ0D4okgEA2kquVFW+XFPUnmo+YYwNbfQ5KgAAAMzXRGO6ZSzkjSSzLSUaRbJ+imRoHxTJAABtpZFEBQOZ5hPGQH+/jxEBAABgIZpFso6AlB31GvezuiXaEEUyAEBbaax+ZJk5xQveNZInAACA5atRJFsbLkm1ste4v766pdVL4360D4pkAIC24hXJXKlUlCQ5pmR1dfkaEwAAAOZvIuP1JBuy0sobhoquoZiX6slmxgDaCEUyAEBbGc+W1KmCyiVHklSIhWSY/LoCAABYrhojyfqV1OSspv2ybVmJhH+BAYfg/zoAAG1lIlNSn5FSvmBLkko9nT5HBAAAgPmq1hxN5b2RZN3OtCYtSz0Z75490M/DULQV/mkEALSV8WxJ/UqpXLC8C/09/gYEAACAeZvKl+W6kmlInZVJjVqWejJe0/7A4JDP0QFzUSQDALSV8UxJg8a03LxXJLOHBn2OCAAAAPPV6EfW0xGUmRvTmG2rN+3dI89Du6FIBgBoK2OZkoaMKQVy3q+o6NoNPkcEAACA+Wr0I+vrDEnZMY1ZlnoZSYY2RZEMANBWRtNFDRiTitSXBU+sP9nfgAAAADBvc4tkIxq1Z/UkYyQZ2gxFMgBA26g5rsYzJXXYk83kqXvjqf4GBQAAgHkbzzSKZEEpfVCj9qyRZEOMJEN7oUgGAGgbE9mSHFey7Wn11otkoTXr/A0KAAAA8zaa9opkg4mwlDmosdmrWw4ykgzthSIZAKBtjKaLkiTTzSpY9a7ZAwM+RgQAAICFGM14+d26iCO3lNa4OVMkYyQZ2g1FMgBA2xhJFWXIUa3oPXEsdAZkhkI+RwUAAID5Gqs/BN0QSCplmgoXDNmOJNOU3dfnb3DAISiSAQDaxmimpB5lVCh4v57KvXGfIwIAAMBCNKZbrjGnNWpZzZYadl+fjEDAx8iAw1EkAwC0jdFUUUPGlEpFy7sw0OtvQAAAAJg313U1Vp9u2V+b0JhtqafetN9mqiXaEEUyAEDbGE17RTLlvF9PAZq5AgAALFvpYlXFiiNJilcnNDZrJFlgkL6zaD8UyQAAbWM0U9KQMS077/16iq7d4HNEAAAAmK9GP7JEJKBAbmTuSLJBRpKh/VAkAwC0jdFUUX3mhDozhiSpa8MpPkcEAACA+Wr0IxuMh6TMQY1atnrT3r3AEDMG0H4okgEA2sZopqiIPa7e+hPG2LrN/gYEAACAeRutjyQbjIel9HB9JJl3j5FkaEcUyQAAbaFYqSmZr8gKJJvJU2Bojb9BAQAAYN5G6037B2L1IpllNR+GMpIM7ailRbJbb71VF154oWKxmAYGBnTVVVfpsccem/OaYrGoHTt2qLe3V52dnbr66qs1OjrayrAAAG1orD4c33DTipa9azR0BdoXeR4A4Lk08rvBmCXlxjRmmc3G/axuiXbU0iLZfffdpx07duiBBx7QN77xDVUqFb3iFa9QLpdrvubtb3+7vvKVr+jzn/+87rvvPg0PD+t1r3tdK8MCALShkfpwfJW8ZKocsWV2dPgYEYBjIc8DADyXsfpIss3BrIpyVSlbCla9e/YAD0PRfuxWfvg999wz5/yuu+7SwMCAdu/erZe85CVKpVL61Kc+pc985jN66UtfKkm68847deaZZ+qBBx7QxRdf3MrwAABtZDRdVFRFVeq1snJv3N+AABwTeR4A4Lk0Gvevt5M6aFvNUWRWT4/MUMjHyIAjW9KeZKlUSpLU09MjSdq9e7cqlYouv/zy5mu2bNmijRs36v777z/iZ5RKJaXT6TkbAGD5O5gqaMiYUjlf/9U02OdvQABOCHkeAOBQzcb9mtZBy1ZPvR+ZTT8ytKklK5I5jqO3ve1teuELX6hzzjlHkjQyMqJgMKiurq45rx0cHNTIyMgRP+fWW29VIpFobhs2bGh16ACAJTCcLGrImJKRtyRJQfpUAMsGeR4A4FCu6zZ7kvU643NGkgVY2RJtasmKZDt27NAjjzyiz372swv6nJtvvlmpVKq57du3b5EiBAD4aThZ0JAmFcwYkqSOdZt8jgjA8SLPAwAcKpmvqFxzJEmdpVEdtG31pxhJhvbW0p5kDTfeeKO++tWv6jvf+Y7Wr1/fvD40NKRyuaxkMjnnKePo6KiGjjKCIBQKKcTcZQBYcYZTBb3QGlVv2pDkKrH5dL9DAnAcyPMAAEfSWJSppyMoO71fB21LJyW9e8H1jBRGe2rpSDLXdXXjjTfqi1/8ov7rv/5LJ5100pz7559/vgKBgO69997mtccee0x79+7V9u3bWxkaAKDNHEwW1REY0UDSe8LYsemk53gHAD+R5wEAjuVgqiBJWpMIS6l9c0aSBWY9VAHaSUtHku3YsUOf+cxn9OUvf1mxWKzZfyKRSCgSiSiRSOj666/Xzp071dPTo3g8rptuuknbt29nxSMAWEWKlZomc2UFY1PqrffpJnkC2ht5HgDgWIaT3kiyNYmINL5fw122BpLevcD6df4FBhxDS4tkd9xxhyTp0ksvnXP9zjvv1LXXXitJuv3222Wapq6++mqVSiVdccUV+vjHP97KsAAAbWY46T1pDJYzslxDVduQ3d/vc1QAjoU8DwBwLI2RZBvjhmpPjyoZX6+uvNejLMjDULSplhbJXNd9zteEw2Ht2rVLu3btamUoAIA2djBVlClHZr4sKaRib4cMc8nWlgEwD+R5AIBjOVgfSXZqKK0Jy1JXfXEmMxaTlUj4GRpwVPwfCADAdweSBQ1oWpWc92upuoZRZAAAAMvZcH0k2abApA7aVrPvLC010M4okgEAfDecLGi9MS4ja0mSrHVrfI4IAAAAC3EwVe9J5k7ooD3TjyxIPzK0MYpkAADfHUwWtd6YUCjj/VqKbNjsb0AAAACYN9d1m0Wy3uqYN5KssbLlOkaSoX1RJAMA+G44VdAaY1zx+sqWXZtP9zcgAAAAzNtkrqxy1ZFhSLHSQQ3bs1e2pEiG9kWRDADguwPJgroCI+pPeuc9J2/xNR4AAADMX6Npf39nSGZqnzfdsjGSjOmWaGMUyQAAvnJdVweTRYWNcXXnvGuhDRv9DQoAAADz1mjav6YrIqX2a9+cnmSMJEP7okgGAPDVVK6sQqWmcNGba1kKmbK6uvwNCgAAAPN2MOkVydbFg3LSBzRdtdRR8u4F1jGSDO2LIhkAwFf7pgsy5MguesPyc31RGYbhc1QAAACYr0bT/lM7ChpXTd1pL7ezentlRiJ+hgYcE0UyAICv9k3l1aeUKlnvV1JlqNfniAAAALAQw40iWWBC+21bA0mvHxlTLdHuKJIBAHy1dyqvDca43KwlSTLXrfE5IgAAACxEY7rlRmNc+wK2BlLedVa2RLujSAYA8NX+6bzWGxMKZrxfSeENm3yOCAAAAAvRmG45UBueM5KMIhnaHUUyAICv9k0VtN4YU2e9V0V886k+RwQAAID5qtQcHayvbtldGtb+gK3+pHcvsJ6m/WhvFMkAAL7aN53XeuOAeuvD8PtPOcffgAAAADBvB5NFOa4Usk2FM3u1z7Y1SE8yLBMUyQAAvqk5roaTBUXdUXWUJEdS18lb/A4LAAAA87RvOi9JWt8dkTH9jIZNS4NJ715w82bf4gKOB0UyAIBvRtJFVWqu7II3jCzVE5AVDvscFQAAAOZrf71IdnLCVD43qkDGku1IRjgse3DQ5+iAY6NIBgDwzb6pvDpUUDVbkyQV1nT7HBEAAAAWYt+U14/seR3T2mfbWjtVn2p50kkyTEoQaG/8EwoA8M2+qbw2G6MqZ2xJkrF5g88RAQAAYCEaI8lOC05qf8DW2inveuikzf4FBRwnimQAAN/smy5okzGiQMqSJHWecobPEQEAAGAh9k97I8k2GqPaG7C1drI+kmzzSX6GBRwXimQAAN/sm8pro3FQiWlDktR/xlafIwIAAMBCNBr3D1RH9EwgoDWzplsC7Y4iGQDAN09P5NRt7ddA0jtfc9YFvsYDAACA+StVaxpNlyRJicJ+PROwtXbSu0eRDMuB7XcAAIDV65nJnDrKo7JcqRQ0FBpa43dIAAAAmKcD9amW0aClQGavRk1bXd7AMgU3b/YvMOA4MZIMAOCLZL6sZL4iO5+TJGUGojIMw+eoAAAAMF/NfmRdQWWmn1Ek6fWdtQb6ZXV2+BkacFwokgEAfPHMZF4dKsjJOpKk2oYhnyMCAADAQjT6kW2NZfSMLa2t9yMLnXSyn2EBx40iGQDAF89M5LTJGJVRX9kydMqpPkcEAACAhWiMJHteaFTPBuxmkSx40mYfowKOH0UyAIAvnp7IaZNxUB1J71dR9+nn+BwRAAAAFmLvpDeS7FRrRE8HAlpXb9ofomk/lgmKZAAAXzwzmdOQvU+DU975ujMv9DcgAAAALMgzk16v2fXOsJ4JBLRmsjGSjCIZlgeKZAAAXzwzkVO3sVdxb1S+Ok5muiUAAMBy5bqunpnwimQ9xWf1rGVraNq7R5EMy4XtdwAAgNXHdV09PZFTZ35ckpSN2zI7WPEIAABguZrIlpUr12QYUij9tPKmpWDNlYIBBdau9Ts84LgwkgwAsOSm8xVlimUFMkVJUnFdj88RAQAAYCGerU+1PCUujRTGNDhpSJKCmzfLsCw/QwOOG0UyAMCSe3oip3XGhMyklzAZZ5zmc0QAAABYiKfrUy23Jab0ZCCgjWPe9fCWLT5GBZwYimQAgCX35FhWpxkHFJv0fg0lzt7qc0QAAABYiGfrK1ueGx7X48GANo17TfvDZ5zhZ1jACaFIBgBYck+MZ7XJfFprvJZkWrv1En8DAgAAwII0VrY81RzRE8GgNo55RbLQ6RTJsHxQJAMALLknxrIarD2tzqJUM6TuLc/zOyQAAAAsQKNItra2T88qoLVT3vXQGaf7GBVwYiiSAQCW3BNjWSVy3jCy6f6gzGDQ54gAAAAwX67r6tkJb7plIveEymlLpiupKyG7v9/f4IATQJEMALCkipWa9k3nFE55K1sWNvX5HBEAAAAWYipXVqZUVdCoaiz7rNZMeCtbRrdskWEYPkcHHD+KZACAJfXkeFZr3ElZ017CZDEEHwAAYFlrTLW8sHNKT9qmNo3RtB/Lk+13AACA1eWJsaxOMw8o3lzZ8jx/AwIAAMCCPDXuFcku6hzTE25AG8e86zTtx3LDSDIAwJJ6ciyrU9xn1D/ljSRbd94LfY4IAAAAC/HEeFaStDU0rCfsQHMkWYiRZFhmKJIBAJbUE+NZbSo+LsuVsmFpcNNZfocEAACABXhyzBtJdpKzTyOVgOIFyTUNhU49xefIgBNDkQwAsKQeH82qO+uNwZ8cCss0+VUEAACwnD1ZH0kWLzwpTXtdneyNG2SGw36GBZww/s8EALBkStWa9k2kFEyVJEmFzQM+RwQAAICFKFVrenYyp5DK2lse0YZx73p0C7MFsPy0tEj2ne98R69+9au1du1aGYahL33pS3Puu66r97znPVqzZo0ikYguv/xyPf74460MCQDgoyfGsjrF3afAlCVJCmw50+eIAMwXeR4AQJKenczLcaVzQmN6LGjr5JH6ypZbtvgcGXDiWloky+Vy2rp1q3bt2nXE+x/60If0v//3/9YnPvEJPfjgg+ro6NAVV1yhYrHYyrAAAD7ZczCjs42n1TPq/frpv5Cm/cByRZ4HAJC8h6CS9KL4qH4RDOjUg16RLLL1XD/DAubFbuWHX3nllbryyiuPeM91XX30ox/Vu971Lr3mNa+RJP3jP/6jBgcH9aUvfUm/9Vu/dcT3lUollUql5nk6nV78wAEALbFnJK0z879QuCIVA9KZL3i53yEBmCfyPACA5K1cLkkvCOzTP9aCGkx618PnnONfUMA8+daT7Omnn9bIyIguv/zy5rVEIqFt27bp/vvvP+r7br31ViUSiea2YcOGpQgXALAI9oxk1JXZL0kaXhdUPNLlb0AAWoI8DwBWjyfqTfs3O0/InQhIkozNG2TFYn6GBcyLb0WykZERSdLg4OCc64ODg817R3LzzTcrlUo1t3379rU0TgDA4tkznFJ4uiBJKp261udoALQKeR4ArB7eypaucqWntLnejyy29fn+BgXMU0unW7ZCKBRSKBTyOwwAwAkaz5QUze9TZNx7PhN7wTafIwLQbsjzAGB5cRxXT47ltN4Y1xNWRacOe9cj59KPDMuTbyPJhoaGJEmjo6Nzro+OjjbvAQBWjsdGMjrHeUJ9E4YkafMlV/gcEYBWIc8DgNVh/3RBhUpN51l79YtAQKcO15v2n7vV58iA+fGtSHbSSSdpaGhI9957b/NaOp3Wgw8+qO3bt/sVFgCgRX5xMK0t+Z/IcqVkh3Ty6Rf5HRKAFiHPA4DV4Rcj3gIrL+w8oH3FkGJFybUthc843efIgPlp6XTLbDarJ554onn+9NNP6+GHH1ZPT482btyot73tbfrLv/xLnXbaaTrppJP07ne/W2vXrtVVV13VyrAAAD742YGUXpg+IEma3BCVZVo+RwRgIcjzAAB7DmYkSWfZz+p7o7YkV9aW02QEg/4GBsxTS4tkP/rRj3TZZZc1z3fu3ClJuuaaa3TXXXfpHe94h3K5nN7ylrcomUzqRS96ke655x6Fw+FWhgUA8MGj+6d1xVRRkiltOcnvcAAsEHkeAGBPfSRZSU9p80FvZcvEeef7GRKwIC0tkl166aVyXfeo9w3D0Pve9z69733va2UYAACfZYoVaeoJJca8fmS9F7/M54gALBR5HgDgsZGM+pXU42Zepx6MS5IiW+lHhuXLt55kAIDV49HhtC6sPqTelCFH0hmX/JrfIQEAAGABCuWanp7M6TzzCT1qhXTSiHc98rzn+RsYsAAUyQAALffIgZTOSD4iSTo4aKlnYIPPEQEAAGAhfjmaketK20NPKzMZVLAmOb0JBTZt8js0YN4okgEAWu5nB1Lqm5ySJKVP7/M5GgAAACxUox/ZmeEn1T/slRY6LtomwzD8DAtYEIpkAICWe2LfQXUfdCRJkW3bfI4GAAAAC/WLgxmZcpQzn9VZe70elYmLX+hzVMDCUCQDALRUuljR0MEH1Tvt9SPbfPlv+B0SAAAAFuixkYxOMYb1iGnotAPetehFF/obFLBAFMkAAC318N6kLkr+UJK0b9DQaRuf73NEAAAAWAjXdfWLkbTOM5/Q2HRIwZpU7YkpuHmz36EBC0KRDADQUg/tndb6Ke/x4vjJnbJN2+eIAAAAsBD7pwtK5it6nvW4oge93C5y4YX0I8OyR5EMANBSP3l2Ur2jJUmSed5ZPkcDAACAhXrkQEqSFOt8Slv2ef3Iei/5FT9DAhYFRTIAQMs4jivrl/+tRL0f2dqXvtbvkAAAALBAPz2QUkJZDZtJ+pFhRaFIBgBomacmsrpk5HuSpGcHpeedyopHAAAAy93P9qd0gfmYRqfDCtakCv3IsEJQJAMAtMxDe5PaPP60JOnpk0Pqi/T5HBEAAAAWwnVd/XR/Ui+wfq74Pq8fWWgb/ciwMlAkAwC0zMNPjqp7uCxJMred63M0AAAAWKi9U3mli1UlOvZo65NeP7Khl7/K56iAxUGRDADQMsEHv6Jw0VAuJJ19xbV+hwMAAIAF+un+lKIqKlVJaf2k5JiGOl/0Ir/DAhYFRTIAQEuMpova8ux3JEmPnGxo20b6kQEAACx3PzuQ0gvMx5UbDkqSymefLCse9zkqYHFQJAMAtMQDT01q/ciYJCl79oBCVsjniAAAALBQP92f1PMCP9GGZyxJUv/lV/ocEbB4KJIBAFpiz+6fqnfSkSNp4+Wv9jscAAAALFDNcfXIgbRioUd19l6vH1n/5a/0OSpg8VAkAwC0RPf3/0WS9Pg66ZKLrvE5GgAAACzUnpG07NK0nMm8AjUp39+p4Mkn+x0WsGgokgEAFt1YpqhNex+RJA2fFlFftM/niAAAALBQu5+d1sXmzxTYG5AkBV98iQzD8DkqYPFQJAMALLr7f/yU1h0oSZISL97mczQAAABYDD96Zlqbwj/QCx73zjf/2hv8DQhYZBTJAACLLvulu2Q50rP90oWv+J9+hwMAAIBFsPuZKXUl96mzKOXjAXVu42EoVhaKZACAReW6rgYf/pYk6adn2Tqt7xyfIwIAAMBCHUwVFEg/pdjT3vRK57KLZViWz1EBi4siGQBgUe35+TNaczArSQpsO4M+FQAAACvAj56Z1kX2fTr7Ce/81Ndf729AQAtQJAMALKpnP/NPMl3pl2ulbS9mVUsAAICVYPez0zpl+qcKV6RUt62u8y/yOyRg0VEkAwAsqs7v/rsk6Ydnmrrw5Ff6HA0AAAAWw56nn1bPM2VJUu1XLmC2AFYkimQAgEUzuedJ9Y6m5RhS5QWbFLACfocEAACABUrmy+ob+5LOqPcjO+vNb/M3IKBFKJIBABbN45/4uCTp4ZMMvWjbb/kcDQAAABbDA09N6bwDP1KgJk2sCar77K1+hwS0BEUyAMCicEolRb79n5Kk+55v6LLTX+dzRAAAAFgMP9jzjE7bU5Ik2b/2Ep+jAVqHIhkAYFFM/8fXFCxWNRGXep63RZ3BTr9DAgAAwCIIfv9vNJCU8kHpvBve53c4QMtQJAMALIp9n/qkJOmb55m67kV/7HM0AAAAWAyj6aK27PmJJOnA8xOKxLt9jghoHYpkAIAFKz72mEJPPKOqKe07O6Qz1m/3OyQAAAAsgu9+9zs69emaJOmU37nO52iA1qJIBgBYsLF/+HtJ0g9PN/TCU17lczQAAABYLOXPflCWKz29XjrrZTf4HQ7QUhTJAAALUt6/X9l//w9J0n0XSG982Z/4HBEAAAAWQ2VqSlt+PCxJSr/oZBkmJQSsbPwTDgBYkMl/+AcZjqufbDY0OLhZkQgN+wEAAFaC7334nQpXpGcHpJf+j7/wOxyg5SiSAQDmrTI6qun/9wVJ0pcuMfTKc//Q54gAAACwGGrZnOJfu0+S9OT5IQ2sf4HPEQGtR5EMADBvU5++U0a1ql+sl4J9YV164Sv8DgkAAACL4Kk7dylSdHWgR1q//Wq/wwGWBEUyAMC8lPfv19T//Ywk6V9faOqcntfKNA2fowIAAMBCVaenlfv0P0mSHjnf0faX7fA5ImBpUCQDAMzL2F/9tVSu6KebDY2vM/SGl73N75AAAACwCJ796IcVKlT1zIBkbzxDA709focELAmKZACAE5b/0Y+UueceOYb0jy8zdWZlmzb107AfAABguSs9+aSKn/+SJOnBF9fUefqN/gYELCHb7wAAAMuL6zga/cCtkqR7txqKxh297MJ3+RwVAAAAFsp1Xe39wF/IdFz98DRD6zp6dMEF2/wOC1gyjCQDAJyQ6X/+ZxV//nPlg9LdLzG1bvrFuuLcTX6HBQAAgAVK/8d/qPq9B1U1pYcvqegJ8/U6e23c77CAJdMWRbJdu3Zp8+bNCofD2rZtm37wgx/4HRIA4AhKTz+tsY/cLkn6l8tMne842nTe/6eg3Ra/TgC0IfI8AFgequPjOvDeP5ckffESQ5c7AfWf96syDBZmwurh+//V3H333dq5c6duueUWPfTQQ9q6dauuuOIKjY2N+R0aAGAWt1bTwZv/TG6xqJ9uNvTdra7cicv1W9tP9js0AG2KPA8AlgfXdXXwlltkpLN6alDKn1vU13Ov0au2rvM7NGBJ+V4k+8hHPqIbbrhB1113nc466yx94hOfUDQa1ac//Wm/QwMAzDL59/+gwsMPqxiU7vhVU7+WshQ9+1qtSUT8Dg1AmyLPA4DlIfWFLyj7X99S1ZT+/lWGXpu09Wj35doyFPM7NGBJ+VokK5fL2r17ty6//PLmNdM0dfnll+v+++8/4ntKpZLS6fScDQDQWtn//m+Nf+xjkqRPv9xUoKOmn078jt5y6ek+RwagXZHnAcDyUPjpT3Xwve+T5PWbfVUgo/9Xeo2u3LqeqZZYdXxd3XJiYkK1Wk2Dg4Nzrg8ODmrPnj1HfM+tt96q9773vYddf+TVr1RnKCiZprdZlmQYMixLMs3mXpYpwzRlmJZkWTJMS4ZledesxrHVPDZNS4Zle8eWd2yalsz6Ne/zrObnyrRkWLP2Rv1nzonDkmEac1478/76a+o/y7AtGbYt1Y9leedGfS/bnnl949i2vWPT94GCAFaA8rPP6sAf/bHkuvqvrYa+fa6p14/06eCZl+uU/k6/wwPQphYzz3vqdVcrFgp5uU09b5vJ62blY6Y59zXWIfnYoa+15uZuMo25rzne187O84yjvHb2a2blec0czrbn5nONPHB2btc4bnwW//MKYIGq4+Paf9P/J1Uq+sHphn7+gqretL9Tt9VerG88n6mWWH18LZLNx80336ydO3c2z9PptDZs2KDA8IQCljWvz3Tr20rjGoZkmXKtetHQMqVGAtZM0CzJridqAbuesNkybVumFZBp2zICwXqSZs99vW3LCAS89wUCUiDgndv1/ZzNnntuz5xr9nuCR3mNZZEIAj6oTk9r3//cISed1lPrLf3DK6RfyZX01enr9Q9vOsXv8ACsMEfL8yrPPqvyPPO8FS0QaD7YbRTPDi+qzc7hTuC6bc3J3dTMy4KH5WnN/M22j/Ce4NHzwfp7ZNvkeYAPnFxO+2+8SdXRUe3vle54laFPTE7pr6s36bxNfTqZh6FYhXwtkvX19cmyLI2Ojs65Pjo6qqGhoSO+JxQKKRQKHXb9/11VUzAkyVGz4uW6hncuSY4hud4twzHqe8l1JaNeJTNcY6ZiVr9uuIZMRzJcV6Yrb3N01GPjCNeN2efOrGvNc3fu59SvW/Xt0GP7kGu2c9jXIcmLWdWajGpNUuWYfxdtXyg0DMm2Zgpx9cKaGQzIDIVkBEMyQiEZwaCMUFDmc5033jP7PBTyErnZ58GgjGBIZig4c06SjlWilslo3/X/Q+Unn1Q6YeuDV7na6FRlD/+anrflTJ27vsvvEAG0scXM8z7wm5ZCIfOEcq3DcrXZ7z00J3OeO8977nzuaD/DPfLnzsrlmpsrWY5Rv+d6eV7tGF9ypSK3UmnvHO44zXl4OnsLBmbyuFDIO5+T+x2eC87kbceR+wWD9ffUz8nzsEo4pZL27bhRhZ/8RLmwoQ9fbep3CmkZ1dP0TecFuu389X6HCPjC1yJZMBjU+eefr3vvvVdXXXWVJMlxHN1777268cYbT+iz3nnGVsXDhuTUJKcquY63d6r1azXJrR3jWm3We2de50qqyau11QxDNUk1Q6rJkGNIVRmqGZIj717jmlN/TaVxz1D9vcacfXXWeVVSuf6+2qzPrslQ1ZAqhuHFUT+v1t/j7Q3vj+wacup71/F+tuNKrmM0r7muIbd+zdtLqhcUG/cOTdqOmMg5klVzZdcTOLumOcfW7Os1ya65h12zjvLewwp/ritVqlKlKleFZjJ4rLyxVYxAQEYkIjMclhEJyww3jmddi0Tn3o+EZTT3YZmN1x56LRKRGY16SSLgo1o2p32//wcq/vznKsVCes8bqqp0uPrNfQN6d+2l+vqVW/wOEUCbW8w8b2dfVOGOgBzDUs20VDUtOaapmmGqalhyDFPV+rljmF5+ZRhyzPqxjPp1qWaYR8zJaoZUVj1fk1vfN47r565Tv+ao5tavu87Mvnlca55XnaqqbtXb17eae2IZjFF/oDqTf3kFtaM9VJ17zT1qTnekh6+mO5OfHSnPs2YdB2qGAo6hgGMqMOt8dn5n1dw5m1l1ZNUOL+u59YKf7wIBmeHw4bldI9+LRubmdieY71kdHTKCQb//lFjlnHJZB972duUfeEClkKn3/6ahgY6yfn8ko6uKb1IkYOtV567xO0zAF75Pt9y5c6euueYaXXDBBbrooov00Y9+VLlcTtddd92JfdBv3iXF44sen+E4sucUzo6n4Ha0Ilz1yK+rVSSnUt9XZ51XZ10/9Lx6fO874mvK3muM+nWjIhlqLuPgSrOKb15xrmp4Bb+KZh0bRv28fmwYKtffV6m/plwv4BVmnTe2io5wrfE6Gaq6hpyaoZprqNYs/HlFQMsxZNekQE2yq66CVS8RC1a9a4FqfatJwarbPG5cb7w+UJWCNSlQdY94P1g/Nmflco0kzmlhM2EjGJQZjcrs6PC2Ez3umH3cIZNkDCegMjamfb//Byr94heqdYT1rtdXNNxr6LbRvP48/xa94aJNOm2QlY4APLfFyvO2jj2ueGiZTsczA5IVlKzGPijHslWzgqpYQVUtW1XLVsUKqGp6x1WzvlmWKvWiYNWwVTW9YmDVsFQ1DVUMU1XDVMWYeWhaNeoPUzWTz1Wk+jXXu+Y6qshVxa2p4lRVdsqq1Coq18qqOBWVnbJ3XPOOK87MvSNzD9kfjSHJklz3sAels4tvXnGtnrvV3Dl5XSNPa5xHHFthx1S4ZinkmArVTIVqhoI1Q8GqUX+Pq0DVlV1xvYe2FUdmpVbfqjJqs57OVipyKhU5mczC/t6PJRCQdbz5XPQIud0hrzdCIaar4rjV0mnt33Gj8j/8oaoBU7deLU2uMbTrwITu7/kNPXpgs173vCHFwjy0x+rke5HsDW94g8bHx/We97xHIyMjOu+883TPPfcc1uTVN6YpmSu8wOC69SKeVzQznKoCtbICtbJULUu1slQr1Y9LR77WfO3R7lekaumQ++WZa7WKVGl8TtG7Xil4BcVDw5WX9JUaxTXTUClkqFgvspUam2k0X1Ocfd0wlDYMFer3Z98rGoaKpqGSYapgmioZpnfuuDJnFc2CFSlUkUJVKVhxveOKd695XHEVrtRfW21cO/Z7GiPo3HJZtXJZtWRyUf6KjWBQZiwmKxaTGY/L6uz09rGYzHj9eiwmKx6X2dnp7Ruvj8VldkRJvlaJ0uOPa9/v/4Eqw8NyuuP686sKenbQ0B8k0/qn5I3KBfv09stP8ztMAMvEouV5v/VZqSM46+FidWY79Lx5rZ7bzDmvzrpWPcr5MT67eV478ufUyofH7tQfWM6qL5n1rS3+F9QMSHZYsoP1fcjbW43zDm8fDMq1QqrYQZWtoCqWrbIVUNm0vWPTK+iVTUtl01DFtL1zw6zna2bzYWrZkMpuTaVaWaVaSaVaScVaUaVqfV+/VqqWlDvCPcedPeXAqW/V+X4BMh1jzoPSufmZq04nqJgTVEctoA7HVkfVUqRqKlI1Fa4aClWNZq4XqLgKlB3Z5ZqsclVmqSKjVJaKZakxUq5SUS2VUi2VWtBfXVMgICs2O5+r52+xTlmxePPcinV6+3hsTl5oRqMs+LVKlPcf0P63/oFKjz+hajigD7y2pl9usvR3B0c0GBnUq0avlCS9adsmnyMF/GO4rrus2xik02klEgmlUinFWzCSDD6rVaVqQaoUZ+3rW6Uw6/gY9ysFr+g2+3MaRbjG/XLO22qlo4ZSkVQ0DBVMU4V6Ma1g1Lf6tYJpqGDMHOcNU3nTUL7+mrxpKm/ZypuW8oahvCHlDbf53NWquQqXpUhZs/Yz1xrXw2X3kNdIkfrrwmUpWjbqBbpF+tfbNJvJlJVIyOrqOvbW7e3Njg6Ka8uE67pK/eu/auQv/lJusajKun6949dTOtDl6NJcXpvGr9TfFq7U/7riDO247FS/wwUWjPxheVh2f0+NB4+Nh4G1yrGPmyP/j/P1x/Xa6hEecJZmHkJWi/VeG34zpECkvkVnju0jXAtEpUC4ea1ih1SyAipatkpmQCU7oJJlq2TaKpqmSqapoiGVnEqz2FasFZWv5FWoFlSoFpSvzhwXqoU59xrbYmvkeYlaSN1ORN1OWAknqEQ1qM6qrVjFUrRqKlo2m/ldqOwoWKzJLlVlFcoyCkUpX5STz8stLFKMhnFInnccuV5Xl8xYjDxvGUn/53/q4LveLSedVrknpj97bV57Bwy9d3xSr8vm9OXn/a3+8Ic9Ond9Ql/e8UL+brGsLSR/8H0kGXBMli1ZMSm0RFO7alWpkve2cq6+z0vlrAKVvALlvGKVnHet4l2fOZ71+kpupvBWykqltI42BcGRV3zL1YtqOdNQzjSVM0zlAoZyIVNZ01C2fi1rGpowTWXtoDKWraxpKmtKGbk6tHWv6XjJWLQkdRS9fbTkKlqUOprX3Dn3Y2VTnSVDkaKrSLHeN8Rx5KRSclIpVfbvP/7v07aPUFRLyO7ultXTK7u3R1Zvn7fv6ZXd000/Nh9UJyY0+oEPKP0fX5Mkpc87WTt/Za/SUemlubyuLp2v3y28UluGYnrLS072OVoAaGOGUc9dbElRv6M5ulp1pmhWO6SAVi3N2o72mvLc89oh57MfXlby3gPJSsE7bk7ZdGdyLk2eUPiB+vac6+7ZESnYIYU6pWCndxzsqB/Xz0O9UmfHrPvePScQUdEOqRAIqmAFVDAtFZyyV1yrzC2m5at55So55So5ZStZ5cr1fWVmn6vkVFJJuYiUU1nDKkua/0iyjkCHEnav+txO9blR9VbD6q4ElagEmrlctCSFC47ChaqCxaqsXElGNi8nk1Etk5GTTnt94FxXTjotJ51W5cCB4w/CsubmeY3j7u6Z3K6vV1ZPj+xeb08LkKVXS6c19tcfUfLuuyVJmdPW6B2vGNNk3NAfZsp6XTan2sU79IGH1kgq6boXbqZAhlWNIhkwm2VLVlwKL/LTasfxksBSZtaWlkoZmaWMoqWMouXMIffnvq65HWkqR13JkDKGqaxpKm3V96apjGkoHTCVDplKm5bSgaCSdlB7LUtp01BKrrKqHVJiMyTXVLA6U2TrKEqdBVexgtRZlGL140TRUlfRUrxoqLPgKpyryK44UrWq2uSkapPHn/xaiYSs3l7ZPT3evrdXVm89uaqf2z09svr6ZXV2zPuvBJJbrWr6c5/T+O0f9XqvWJYef/2FetfmH8o1DL0+ndFbQs/XC/f+jkzD0AevPlcBi+kYALDsWbZkdXrFo6XWnCVQmFVAa+yLR7iWnzX6/9B7hfoDy8bDyaz3cLLRrqNa8Lb8xAmHacorc84pdQaiUqieJx5xn5BCm6XYke4nVAlElHPKRyygzS6uZStZZcoZZcoZpctpbyt5+8YIt8b7hg8NOlTfjvJ82TZtdYe61RUeUE9oi3qtmPqqUfXVIuqqBNRVshUrSB0FR+FsRcFsUW46o1oyqVoyVd8nvVFstZpqU1OqTU0d//caj8/keD09svp6Zfc0cr1ZD077+2R2dlKsWQDXcZT+6lc1+qEPqzbh/Tvw1Ku36p1nPqKaZej3a1FdP7FXGnye/qP/Bo2mf66+zpB+9Xk07MfqRpEMWAqm6SWioU5JC/zFUylKxZRUTEqF5Jx9qJBUqJhU3yHXVUhK+aRUOXoT2pqkjGkqZZpKWaaSzb3lHUciSsZDStoBHTQNJQ1XU25F1SOuNWoqUDEUK8grqNWLaY2tvxxSbzGg7oKpWM5RR6aiYKYow3GbPTrKTz31nF+FEY3K7u9ToH9A9kC/7P5+2QMD3n7WMdMB5nKrVaX//d81/vGPq/LsXklS4Kwt+sJr+vXPul+SoR3TSV0bO1eX7v891WTqf7zwJG3d0OVr3ACAFaDVswRc1xvRVs5J5czhBbTG8ZGKa83zTP08KxXTXqFNmhn5lh2ZV2gBSV3BTnVFuqVIlxTpPvIW23T4tUDEC6FWUaaSaRbNGgW0OQW1WUW1dDmtVCmlZCmpQrWgqlPVeGFc44XxowdqaKZCOCBF7Ih6wj3qjfSqN7xefZE+9VsJDVSi6i0H1V2yFS9I0YIrK5NXbXpa1alJ1SanVJ2aUm1iQtXpaala9ab6pdPSM8885/dlhMOH5XTecX/zODAwIDORIM+bxXUcZb75TU3s+rhKjz0mSbJP2qwvXtWvfwr/WJKhPwxu0P947HtSuEvOb9ylXf+yT5L05os3KWRbPkYP+I8iGbDcBMLeFpvH4hbV8iHFs2kpPyXlJ2TlJ9WVn1RXfkrKTUj5SW/LTsubKnr4lABXUtYwNG1ZmrZMTVmWpk1TU3ZAU+FOTXaENZUIaNKQHldN005Jjlx5Hd7mrpBluKY6C1I8L3XlXMVzUl8xoKFyRP3FgLrzpuI5V5FsWcFUQWahJDefV+XZvc1Cz9EYodBRC2izky2rq2tFJ1nViQkl/98XNP25u1UdPihJsrq7NfJbv6J3939XU5UnZLqu3jMxpdeuebHelHqrRgo5nbMurj++4gyfowcA4DgYxkyu1NG7OJ9ZLddH9Ke8olkpffj+SNdm7ys577MaBbrUvhOLwQ5LkW4FIt3qqW/q6JM6+qVoX/34VGmg3zuO9norqs5SqBaUKqU0XZz2ttK0kqWkpouH7Eve/WQxqapbVaFa0IHsAR3IPvdUzGhnVL39veqL9Kk33KveyGb1RnrVF+rRYC2m/lJAXTlD0WzFG4U2OaXq5KRqU5OqTk6pNjmp6uSknGzW65G6b58q+479XRnBoOy+vrn53UC/7NkPUfv7ZXV3r+gFCmqplFJf+pKm/+9nVa4XIc3OTlXe+Gq9Y/39eqbwYwXMgN7bdb5evftzkmlLv/mP+s/RTu0ZyagzZOvaSzb7+mcA2gFFMjynW7/2C+05mJFhSKZhyJBkGEb9XDJkyDS9vWF497zrM68zVL/W+Iz66yzDkGUask1DluXtbdOcc241zk1DAWvu+cx1s3luW6aCtqmAZShkmwpaloK2ObNZ3r2VXAw5KjsodQ542/FyavWRaLMKZ/XNyE0olh1TLDemjdkxKTtaL6pJUvKwj6pJSpqmJixLk7bl7QNhjUdimgiGNRmzNRZ39KxTVtYp19+RPWJYobKl7qzUnZXWlzu0odihwUJQPTlDiYyjaKqowHRWRjYvt1RSZf/+5+ynZgQCsvr7ZopnR9t6e2VYy+MpW3n/AeW+9z1lvn6Pcg/+QKp5I/6sri5Zb3qdPrJ5j74z9VWpIp1aLuuWiSmdd9YbdKv5Ft3/s32KhWzteuMLFA4sjz8vAACLzg5Kdu/Cim61qlcwK0x7eVVh+vg3t+ZNN80c9LbjFU7MKaJFor2KdPRrqKNvprDWe7LUOeiNVjskN3ZdV9lKVsliUpPFSW8reNtEYUIThQlNFr3jycKktzhCNa98Jq99mWMXtgJmQAPRAQ2cNqCBrQMaiG7QYPQC71p0QP1mXD05U+ZkUtXxcVXHxlUdH6vvZ45rqZTcclmV4WFVhoeP+TNl2zPFtKNtA/U8z14e/5tcGR1T7vvfV+brX1f2e99rrqBqdnQo9qbf1r9fZGrXU/9HtUJNazrW6EPx83Te9z/pvflXPyz3pJfob/7mu5Kkay/ZrESU3sDA8vi3H756eG9SDz59/L0GlougNbdwdthxfR+yTYWDliKB+ha0FD7StTn3LUWC5mHXTHMZFuZMy0sKjzcxrJal3Hi9YDYm5caax1Z2VL3ZcfU27hUyknLS9OE9ywqGoQnL0phlady2NRrt0nikU2OBoEYtU2N2VWOhvEZ6avqF8pLyRwwnUPGKaZsqcW0ux7W2GNFAIaDurKvOdEWhZF7mZEpuymteWx0+2BxldfTvxJTV2+NN8zxk2P/szerrW9IGtbVsTuUnn1Dxl79U4ccPK//gg4c14A1vPVeVX3+ZPrd+n760726VpkoKuq7eOp3SNemcAq+8Tf9Ue7k++W8/lyR98DfO1aZeer8BALAgli1Fe7ztRLiuN4ptTuFsqj4TYNLLuRozABrHhSlvBdNiytsmnziO+EJesaxzQIoNSZ2DMmJDinUOKhYb0obOQan7bGldX31hikPDdJWv5o9aQJsoTGgsP6bR/KimilOqOJXjGp3WFerSQHRAg2sHNXjaoAajmzUY3abBjkENRYe01u5SMFnwimbNYlp9GxtrHtempqRqVdWREVVHnmO6rGF4iw0crYjWXx+l1t8nMxR67u92kTiFgkpPPqXS44+r8LCX55UPmbYa2rJFXb/1Bv14a6c+/PO/1YEnve/3ys2v1LucbsXv+6D3wsvfK13we7r356N6dDitaNDS9S86acn+LEA7M1zXPfKSe8vEslsafBm675fjGs+U5LquXFdy5cpx66ucu65cqXnPmbWXZp9773Nd77VO/TWOK9UcR1XHVa3mquq4qjqOao6ras319k5j7zTPq7W557NfX6k5KlUdlWuOylVHlfq+6vj/j3rINtURstURstQRtNUZstURauytWceN63Nf17jfGbbVEbSW/2i4cr2vR/qglB6WMsP14wPek9J0/YmpWzvi2115I9PGbEujdkAjHT0aicY1Ggxr1DI04lY0Us2q5FSfM5SIY+s0p08nVbu1vhTVYCGk3pypeLamSLIoezqj2sSEahOT3j/8x8mIRr2l1BP1VZ8aW1eXrERcRiQiMxyRGQnLCIdlRiIygiFvKOasH+NWK3JyOTm5fH2fU21qUpWRUVVHR1U5cODIT1AtS5FzzlHHSy/TL7Z26x/T/6kHDz7YvL2tUNR7Jqa0Mb5Jet3f6ZvpDXrLP/1Ijiv90ctP100vO+24/6zAckL+sDzw9wTMg1Pzimm5CW8mQG7CK6DlJ+ceN2YBFJPH/9mG6Y1Ciw1KsTVSfJ23JdZJ8bUz58Gjr+5aqVU0XhhvFs3G8mOHHY/lx1SqlY4rpM5ApwajgxrsGJy7n3UcU1i1qamZAtqhBbXGNjnZHHV/XF9HJHKE/C5Rz/0Sh+R59X0ofFiep1pVtXp+18j3alNTqo6NqjIyqsrBg96000NzUMNQ+Mwz1XnZZeq44hX67+DT+tTPPqVfTP1CkjQYHdQfv+DtuuLn35Sx+9Peey57p/Qr71C15uiVH/tvPTGW1VsvPUV/8sotx/3nBtrdQvIHimRYNeYU0I5QRDv0undcU6niqFipqVDfe8c1Fcrefu65o1LjvH6tVHVa8uexTEPxsK14JKBEJKB4uL6P2IqHA4pHArPu2fV7M68N2sukJ4NT85K59IGZolnjOH1ASu339kdZ9bNRSBuxLY1EEjrY2aORcKdGAgEdNBwdrBU0XsnUe6UdW3eoW2vDg9rsdGtjOaahYlj9eUvxjKOOdEnB6ZxqE5NekjUx0RzyvpTs/n6FTjtN4bPOVO35Z+mhwby+O71b3x/+vqaK3ohQU9LLcgW9KZXWC8pVGdt+X3rpu/Stp3L6/X/erXLV0Rsu2KDbrn7e8i/EAkdB/rA88PcELIFKsT7qf1TKjBx+nBmZmR3gHmdeG+6SEuvnFs6ahbT69WMU0lzXVbqcbhbORnOjzULaSH5Eo7lRjeZHlSkffVGq2SJ25LDC2aGFte5Qt+Q43sIDh4xEO1JhzfUhz7O6uxU6/XSFt2xRdNtFil5wgUbNrP7tyX/Tl5/4svZn9zf/vG8+6826/uSrFP23P5SevFeSIb3yVunit0qS/vmBZ/WuLz2i7mhA973jMsXDTLXEykGRjOQJbcxxXBWrXsEsX64pV64qV6oqW6rV99757GvN6+UjXCtVtRiD4qJBS93RoHo6guruCKonGqjvvfPuaFDdHQH11K91RYPtW1hzHC9xS+7zGuGm9nnFs9nnxcMXHmioSBq3LR0MRjQc69NINK7hYFgjpjcabbiaUf44n2b2hHu8XhqhPq1XlwZrHeqrRNRdtpUomuooSuFcWVa2KCeVklsoyikVvX2xKLdYkFM6vOBnWJbMjo45m93TLXtgUPbgoDJdQe3rcfVL96CeSD6hx6Ye056pPXJnFf8SsnR1clq/lc5oTa0mnXyZdMX7pcGz9Z+PjmjHZx5SpebqFWcNatebXqCA1aZ/38AiIH9YHvh7AtqIU/NGomXrRbP0cH3b7+1TB7wHl+Uj95M9TKRH6to4a9s063jDca2Amq/kNZr3CmaNwllzXz+eLk0/5+dIUtAMelM7DxmRNhQdah73hHtkmZY3MyaT8VZlT6bq+6RqqaRqqZSc+nWnUJib5xUKckqH55SGac7N86JRWV1dCqwZkj3o5XqhU06R3durSq2iPVN79N3h7+q/9/+3fjbxs+bnxINxvfHMN+qNW96o7oOPSP96g/eA2Q5Lr/t76axflyRlihVd+uFvazJX1nt//WxdQ8N+rDAUyUiesIq4rqtCpaZ0oap0saJUoaJ0oeId5ytKF6tzrxUqShfq14oVZYrPPfXwaGIh2yugdQTV1xFUfyykvs6Q+mOhw47bbjpoMe0VzhpFs+S+mfPkvnoj3CP/59CVlDYNjVi2Rjt7dbCjWwfDHRoJBDRquBpxihotp1Vxj/+7NQ1TiWBCiVBCnYFOdQQ6FA1E1RHoUMgKyTZtbzNsmaapSq2icq2sslNWqVZSupTWZHFSU4UpTRWnVD3Kz95iduiF6Sm9MJPUecWSApJ0ysukl/wvadN2ua6ru77/jP7iqz+X40qvOneNPvqG8yiQYcUjf1ge+HsClqFiam7RrLGlDtSLasdZSIt0H6WAVt+Oo4gmScVqUeP5cW8EWn5UI7mRwwppk8XD++MeiW3Y6o/2H3VE2lDHkHrDvQpYCx+V5biOxvJj2pveq72ZvXoy+aR+OvFT7Znco7Iz80DVkKGL1lyk15zyGr1s48sUrZakb9wiPfR/vBf0nS69/i5p8Ozme977lUd15/ee0cl9Hfr6219C3ocVhyIZyRNw3GqOq2yxqmShrKlcWdP5sqZyFU3nyprKl71983pZ0/mKkvnyCY9eCwdMr2DWeXghbSAW0lAirKFEWH0dofZY0KBa9gplqUOKZ6n9M+eVIy8OIHmFtGnT1Hi4Q6Oxfo2H4xoLhTVhBzRpShNuVZNOUVOVnPK14qKHb8nUxkBcp9akU7PTOiUzoReUSuqv1adFdA5Jz/sN6fxrpT6vz1ixUtN7v/Jz/d8f7JUk/eYF6/WB1z5PNokSVgHyh+WBvydgBXJdr5CW2i8l987anp05Pp4+aYcW0bo3zyqobZCCx7/wUKVW0Vhh7Kij0UbyI5ooTMg5zummQTOozmCnYsGYOgIdigViCtvh5kNQy7Bkm3bzZzcegharRSVLSU0Vp5QqpVQ7Sl/eRCihCwYv0EvWv0QvWvciDUQHpEpB+tGnpf/+a6/nnCS94BpviuWs7+LhfUm99uPfk+tK//h7F+klp/cf9/cELBcUyUiegJaqOa7ShYqm817xbDJb1mSurPFMSeOZkiay3n48W9JEpqRc+fgbntqmocF4WIPxkNYkIhqMhzWUCGkoEdFQPKw1ibAG4iGFbKuFf8Lj4LpeE9zDpnLOKqJlR4/ro8qSUpapZDCiZDihXKhDuWBEOctS3jRVMkzVTEtV01JVrmquo6DrKui6CtSqClYKipeL6i1m1VNIqrfmqLdW05xnloYpDZwlnXKZdPorpY3bvZVK634+nNbb7v6xfjmalWFIf3blmfofLz6pvUb/AS1E/rA88PcErFLFdP2B5VGKaIXjmELZ0T93FFr3pvpxvYhmn9jKlFWnqonCxDGndo7lx446un8+bMPWutg6bYht0Kb4Jp3de7bO7T9XG2MbZ3K2/JT08L9I9++qz4yQ1HeG9Gu3S5tfOOfzKjVHr/6b72rPSEavff463f6G8xYtVqCdLCR/OHz9XgA4hGUazWmWxyNXqmoiO6t4lilpPDtTVBvLFDWSKmo8W1LVcXUgWdCBZEFS8qif2dMRbBbN1nZFtK474u27IlrfHVF/Z4tHpBnGzNLta7Ye+TXV0sx0gjlNb8dm+ndkRhQsJtVfc9RfyEmF3MJjC3dJA5u9J6hrtkrrL5DWPv+I0xAK5Zp2fesJ/d13nlK55qivM6i/ev1WXXrGwMLjAAAAWAzhuBQ+e84UwTmK6SMX0Kaf9Y5LaW/hp9y4dGD3kT8jtuaQAtqsglpivXTIlEnbtDXUMaShjiHpKIOvHNdRppxRrpJTppxRtpJtHpdqJVWd6szmVuW6rkJWSEErqKAVVNgKKxFKqCfco+5wt3rCPc0RZ3NUS9JT35Ye+Vfp0S9Kjd65iQ3Sr7xD2vrbh8UvSR/75uPaM5JRdzSgd73qzKN8+cDqRpEMwKLrCNnqCNna1HvsYe6VmqPxTEkj6aJGU0UdTBU1mvb2I+mZ43LV0VR9GujPD6aP+FkBy9CahFc0axTR1s86XpMIKxxo8Wg0OyT1nOxtx+I4UjkjFZLek9Bi0kv2amWpWvQSn8ax60hmQDJtbwt2SJEub4pBuMtbHSrS9ZyhVWqOvvjjA/rYNx+vFySly88c0G1Xn6u+zhN7kgoAWBl+6+/u1y8OZmQakmEY8p41GfVzyTQMGfLuNc/nXJ95nyFDpmnINg3ZVn1vmjPHltncB0xD1pxrhgKWKcs06vdMhQKmQrapoG0qZFuzjuvnAVNBy1Q4cOh9S0Hb+yysYOG4NHSOtx3Kdb3cavrZIxTQ6ueVvDfqKnNQ2vfA4Z9hmN4qnEcqoHVv8gps5uF5pWmYSoS8nrOLyqlJYz+Xnvme9Oz3vAJZaVZOPHSudOH/kLb+1lFHyH3/yQnt+vYTkqS/uOoc9ZL/AUdEkQyAbwKWqbX1QtbRuK6rZL7SLKANpwoaThZ0YLqg4WRRB5IFjaSLqtRc7Z3Ka+/U0fuG9XWGZhXPwnMKauu6IkpEAksz3dA0pXDC27o3tfRHpQoV/etD+3XX95/Rs5Ped7OuK6J3/9pZuuLsQaZXAsAq1ljYZyUKWIZCtqVwwFQkaCkasL19fYsEbUUD1uHXGscBSx0h7z0dQVudYVuxsK2OoE0Brt0ZhvcwMdItrT3v8Puu6/Xsaow6O6yIttcbmZXa623PfvcIP8PypnN29ksdA1Ln4KzjAe9BZig2dwt2eO8zLS/GRiyVQn3LeQ9NMyPeDIT0sDTxS2l8jzTxuPfwdLbOIenMV3uFsXXnz3zmEUxkS3r73Q/LdaU3XLBBv3bu2nl/vcBKR5EMQFszjJmpnmetPfJ88mrN0WimVC+ceVM39886PjBdUKFSa04B/cm+5BE/pyNoNYt2a+vTONd2hbU24RXSBuPhZbH6T6la0/efnNR//PSgvvLTYRUrXpPZ3o6gfv9XTtabL96sSNDnHm8AAN998s3nq1R1JLlyXO//1x3XleO6cuvnbvOeW1/Ex9s7jitX3uvlSo4r1VxXNcdRpeaq5riq1BzVHFfVmquK49Svzbym2jh2Zl5frbmqOo7KVVelak2lqqNy1WkelyqOyrX6eeO44p3PXmSoUnNVqVWVLS3+99YZsr2tXjjrDNmKhwPqDNXPZ1+rvyYRCagrElQiGlAsZLfHokWrlWFIHX3etv78w+87jpQbm1U0e2ZuES21T3Kq9VYaI/MNwiuWOSfQvyzYKW3YJm26RDrpV7zCmPnceWmpWtNb/3m3RtMlndzfoVt+/ax5xgysDhTJACx7tmVqXb0/2ZE0RqMdmFU0O5D0imiNQtpEtqxcuabHx7J6fOzIy5KbhjQYDzd7oXn7cLM/2pp4RPGIveSjs6o1R78czeoHT0/qB89M6b9/OaFMaSbpOmMwpjddvFG/cf56RYP8Zx8A4NnQE/U7hEXjuq6qjlsvqM0U0QqVmvLlmgrlmvLlavPcu1addVxTvlJTvlS/Vpl7P1OsqFLzqnDZUlXZUlU6cgeI52Qa8opm0WB9H1DXoefRmaJaVySg3s6Q4uGlzzFWJdOUYkPetnHb4fedWr337JjX8yw75p03jnNj3oiwUmZmqxYO+RD38AKZHfYKYY2f3Tkk9Z4s9Z8p9Z/h9Z49whTPY3FdV+/64iP64TPTioVt/d2bLyAXBJ4D/4YAWPFmj0Y7Z92Re0QUKzUdTBWbo9H2H1JEO5gsqlxzdLDeO233s0deVSlomerrDKovFlJfZ8g77gypPxZSb2dIsbCtWGjmKXMsFFA0ZMk2jcMSX9d1Vao6zcQ9mS9rLF3SaNrr2fbMRE6PjWb15FhW5drcJcn7YyFdcfagXnPeOl2wqZukGgCwohmGoUC9t1lHi1otFSs1r0BWrCpTrCpTqihT9M6zpaoyxYoys+43rxWr9VXCKypUvBFv03nv/EQELEO9HSH1dATVW88vejuC6ukMqq8jpN7OoHrr13o7gxRDWsW0vJ6w8ROYslireH3QnJrXb9apSW7N6zsbiHjbCRbAnovruvrQ1x/T53fvl2lIf/Pbz9epA52L+jOAlYj/cgKApHDA0kl9HTqp78iLDTiOq4lcqdkLrTmVc1YhLZmvqFxzNJwqajhVPOLnHItpeCuJmoa3HTp15Fg6gpbO39yjizZ3a/spfXr+hi6mcgAAsIjCAUvhgLWgBW+KlZrShYqShYqS+YqS+bKShYpS+YqShbJ37ZDz6Zw32r1SczVSf1B2PCIBS72dQQ3EQhqMhzUYD6u/eeztB2KhpevJuppZAcla5Gb+z2HXt57QHd9+UpL0vtecw0rmwHGiSAYAx8E0DQ3EwhqIhfX8jUd+TbHZ96ysiYzX/2y8vp/IljWZKzWfQHtPl6v1XjAex5Wcmivp8MpY0DIVC9sajIc1lPCS2/XdUZ0xGNMZQzGt64pQFAMAoM01Cm0D8fAJva9YqWkyV9ZUtqyJXEmT2bImsyVN5crNHGMy660EPp4tqVz1pprun/b6tB5L0DY1GA9pIBZu7gfiIQ3NajExGA8raLd/X1Z4I8hu/8Yv9b//y1vJ8p2/eqZ+5+LWLhQFrCQUyQBgkYQDltZ3R7W++/h7vJSrjvLlqqqOK8dx602PvYbJoYCpSMBbYcteBgsGAACA1ggHrGP2X53NdV3lyjVN1hcsGkuXNJbx2jWMpksayxS99g2ZojcKvupo31RB+6aOXkwzDKm/M6Q19X6saxOR5vGahNebtbcjyAM7n1Vrjt75xUd094/2SZL++BWn64aXnOxzVMDyQpEMAHwUtE0F7aDfYQAAgBXCMIzmCpybeo/cRqKhWKlpPDOrcJYuarRZUCtqOFnUgWRB5aqjsYxXbPvJviN/VtAytaZeQFvfHdGGnqg29ES0sSeqDd1R9cdCTOtsobFMUTd95sd68OkpmYb0l1c9T2/cdpTpDwCOiiIZAAAAAKxC4YBVL2YdfRS867qaypW9nqwprxfrwVSx2Zf1YLKo0Yy3wNGzk3k9O5k/ys8ytb47qg3d9cJZjzf6fmO9mBYLB1r1x1zxvvPLcf3R53+i8UxJHUFLt7/hPL3i7CG/wwKWJYpkAAAAAIAjMgzDWzWzM6TnrT9y8/lKzWmOPBtOFrRvKq9903ntncpr31RBB1MFFSuOnhjL6omx7BE/ozsaaBbsNta3TfXzNYkwrSeOIJkv6y+++gt94aH9kqQzBmP6+O+8QKf0s4olMF8UyQAAAAAA8xawzGP2Za3UnHrxrOAVzuoFtP1Tee2bLmgqV9Z0vqLpfEo/3Z867P22aWhdfQRas4DWO1NQW22j0IqVmv7p/me169tPKJmvyDCka7Zv1jteeYaiQf4XH1gI/g0CAAAAALRMwDK1qbfjqD3SsqWq9k01Rp55+8a2f6rwnFM5ezqCzYLZpp5oczrnxt6ohuJhWStkQYFUoaK7f7hXd37vGR1MFSVJpw926tbXnavzN3X7HB2wMlAkAwAAAAD4pjNk68w1cZ25Jn7YPcdxNZIuzhTOJmcKaPum8prMlTVV336yL3nY+4OW2VxIYFPvTAFtU6+3oEBHqL3/l7jmuHrwqUn920+G9W8/GVa+XJMkDcXD2vny0/W6F6xjKiqwiNr7vwgAAAAAgFXLNA2t7YpobVdEF5/ce9j9TLHSnMa5dypX3xe0dzKn/dPeKLSnJnJ6aiJ3xM/v6/RGoc0egbapt0Mbe6IaiIVk+jAKbTRd1P1PTur7T07oW4+NazxTat47YzCm6164WVc9f53CAWvJYwNWOopkAAAAAIBlKRYO6Ky1AZ219vBRaDXH1cFU4bARaI0tma9oIlvWRLasH+9NHvb+kG02p3EOxsPq6wyqrzOk3s6gejtC6o8F1dMRUmfIVtA+sdFcxUpNB1NFHUwWNJwq6qnxrPaMZPSLg+nmVMqGRCSgK88Z0mvOW6eLT+6RYayM6aNAO6JIBgAAAABYcSzTaC4ocMkph99PFSqH9UBrFNMOJAsqVY+9IudsActQNGirM2QrGrTmTIE0JDmuq1y5qlyppmypqnLVOepnGYZ0ztqELjmlV5ec2qftJ/eecBEOwPxQJAMAAAAArDqJSECJdQmdsy5x2L1qzdHBVFHP1otm45mSJrIlTeZK9dFnJU1my0oVKpKkSs1VqlBpnh+PSMDSmq6w1ia8nmlnronpzDVxnTEUU3yVrdgJtAuKZAAAAAAAzGJb3lTLDT3RY76uWnOUK9eUr48Sy5WqypWqqrmuXFdy668zDTVHmnWELMXCAcXDNlMngTZDkQwAAAAAgHmwLVOJiKlEhJFfwErAxGYAAAAAAACsehTJAAAAAAAAsOpRJAMAAAAAAMCqR5EMAAAAAAAAqx5FMgAAAAAAAKx6FMkAAAAAAACw6lEkAwAAAAAAwKrXsiLZ+9//fl1yySWKRqPq6uo64mv27t2rV73qVYpGoxoYGND/+l//S9VqtVUhAQAAYJGQ6wEAgJXGbtUHl8tlvf71r9f27dv1qU996rD7tVpNr3rVqzQ0NKTvf//7OnjwoH73d39XgUBAH/jAB1oVFgAAABYBuR4AAFhpDNd13Vb+gLvuuktve9vblEwm51z/2te+pl/7tV/T8PCwBgcHJUmf+MQn9Cd/8icaHx9XMBg8rs9Pp9NKJBJKpVKKx+OLHT4AAFiByB8WTytzPf6eAADAiVpI/uBbT7L7779fz3ve85pJkyRdccUVSqfTevTRR4/6vlKppHQ6PWcDAABAe5lPrkeeBwAA/ORbkWxkZGRO0iSpeT4yMnLU9916661KJBLNbcOGDS2NEwAAACduPrkeeR4AAPDTCRXJ/vRP/1SGYRxz27NnT6tilSTdfPPNSqVSzW3fvn0t/XkAAACrhd+5HnkeAADw0wk17v+jP/ojXXvttcd8zcknn3xcnzU0NKQf/OAHc66Njo427x1NKBRSKBQ6rp8BAACA4+d3rkeeBwAA/HRCRbL+/n719/cvyg/evn273v/+92tsbEwDAwOSpG984xuKx+M666yzFuVnAAAA4PiR6wEAgNXshIpkJ2Lv3r2amprS3r17VavV9PDDD0uSTj31VHV2duoVr3iFzjrrLL35zW/Whz70IY2MjOhd73qXduzYwRNEAACANkeuBwAAVhrDdV23FR987bXX6v/8n/9z2PVvfetbuvTSSyVJzz77rN761rfq29/+tjo6OnTNNdfotttuk20ff+2OpcEBAMCJIn9YuKXI9fh7AgAAJ2oh+UPLimRLheQJAACcKPKH5YG/JwAAcKIWkj+c0OqWAAAAAAAAwEpEkQwAAAAAAACrHkUyAAAAAAAArHoUyQAAAAAAALDqUSQDAAAAAADAqkeRDAAAAAAAAKseRTIAAAAAAACsehTJAAAAAAAAsOpRJAMAAAAAAMCqR5EMAAAAAAAAqx5FMgAAAAAAAKx6FMkAAAAAAACw6lEkAwAAAAAAwKpHkQwAAAAAAACrHkUyAAAAAAAArHoUyQAAAAAAALDqUSQDAAAAAADAqkeRDAAAAAAAAKseRTIAAAAAAACsehTJAAAAAAAAsOpRJAMAAAAAAMCqR5EMAAAAAAAAqx5FMgAAAAAAAKx6FMkAAAAAAACw6lEkAwAAAAAAwKpHkQwAAAAAAACrHkUyAAAAAAAArHoUyQAAAAAAALDqUSQDAAAAAADAqkeRDAAAAAAAAKseRTIAAAAAAACsehTJAAAAAAAAsOpRJAMAAAAAAMCqR5EMAAAAAAAAqx5FMgAAAAAAAKx6FMkAAAAAAACw6lEkAwAAAAAAwKpHkQwAAAAAAACrHkUyAAAAAAAArHoUyQAAAAAAALDqUSQDAAAAAADAqteyItkzzzyj66+/XieddJIikYhOOeUU3XLLLSqXy3Ne99Of/lQvfvGLFQ6HtWHDBn3oQx9qVUgAAABYBOR5AABgJbJb9cF79uyR4zj65Cc/qVNPPVWPPPKIbrjhBuVyOf3VX/2VJCmdTusVr3iFLr/8cn3iE5/Qz372M/3e7/2eurq69Ja3vKVVoQEAAGAByPMAAMBKZLiu6y7VD/vwhz+sO+64Q0899ZQk6Y477tA73/lOjYyMKBgMSpL+9E//VF/60pe0Z8+eI35GqVRSqVRqnqdSKW3cuFH79u1TPB5v/R8CAAAse+l0Whs2bFAymVQikfA7nBWBPA8AALSDheR5LRtJdiSpVEo9PT3N8/vvv18veclLmomTJF1xxRX64Ac/qOnpaXV3dx/2Gbfeeqve+973HnZ9w4YNrQkaAACsWJOTkxTJFgl5HgAAaCfzyfOWrEj2xBNP6G/+5m+aQ/AlaWRkRCeddNKc1w0ODjbvHSl5uvnmm7Vz587meTKZ1KZNm7R3716S3BZoVGB5gtsafL+txffbWny/rcX321qNEUqzizqYP/K85Yn/zrQW329r8f22Ft9va/H9ttZC8rwTLpL96Z/+qT74wQ8e8zW/+MUvtGXLlub5gQMH9MpXvlKvf/3rdcMNN5xwkLOFQiGFQqHDricSCf7haqF4PM7320J8v63F99tafL+txffbWqbJQt+zkeetTvx3prX4fluL77e1+H5bi++3teaT551wkeyP/uiPdO211x7zNSeffHLzeHh4WJdddpkuueQS/d3f/d2c1w0NDWl0dHTOtcb50NDQiYYGAACABSDPAwAAq9kJF8n6+/vV399/XK89cOCALrvsMp1//vm68847D6vibd++Xe985ztVqVQUCAQkSd/4xjd0xhlnHHEIPgAAAFqHPA8AAKxmLZtjcODAAV166aXauHGj/uqv/krj4+MaGRnRyMhI8zVvfOMbFQwGdf311+vRRx/V3XffrY997GNzelE8l1AopFtuueWIQ/OxcHy/rcX321p8v63F99tafL+txfe7MOR5KwPfb2vx/bYW329r8f22Ft9vay3k+zVc13VbEJPuuusuXXfddUe8N/tH/vSnP9WOHTv0wx/+UH19fbrpppv0J3/yJ60ICQAAAIuAPA8AAKxELSuSAQAAAAAAAMsFSzoBAAAAAABg1aNIBgAAAAAAgFWPIhkAAAAAAABWPYpkAAAAAAAAWPVWXJHs3//937Vt2zZFIhF1d3frqquu8jukFWPz5s0yDGPOdtttt/kd1opTKpV03nnnyTAMPfzww36Hs2L8+q//ujZu3KhwOKw1a9bozW9+s4aHh/0Oa8V45plndP311+ukk05SJBLRKaecoltuuUXlctnv0FaM97///brkkksUjUbV1dXldzjL3q5du7R582aFw2Ft27ZNP/jBD/wOCceBPK91yPOWBnle65DrtQ55XuuR5y2uheR5K6pI9oUvfEFvfvObdd111+knP/mJvve97+mNb3yj32GtKO973/t08ODB5nbTTTf5HdKK8453vENr1671O4wV57LLLtPnPvc5PfbYY/rCF76gJ598Ur/xG7/hd1grxp49e+Q4jj75yU/q0Ucf1e23365PfOIT+rM/+zO/Q1sxyuWyXv/61+utb32r36Ese3fffbd27typW265RQ899JC2bt2qK664QmNjY36HhmMgz2s98rzWI89rHXK91iHPaz3yvMWz4DzPXSEqlYq7bt069x/+4R/8DmXF2rRpk3v77bf7HcaK9h//8R/uli1b3EcffdSV5P74xz/2O6QV68tf/rJrGIZbLpf9DmXF+tCHPuSedNJJfoex4tx5551uIpHwO4xl7aKLLnJ37NjRPK/Vau7atWvdW2+91ceocCzkea1Hntd65HlLi1yvtcjzWoM8b+EWmuetmJFkDz30kA4cOCDTNPX85z9fa9as0ZVXXqlHHnnE79BWlNtuu029vb16/vOfrw9/+MOqVqt+h7RijI6O6oYbbtA//dM/KRqN+h3OijY1NaV/+Zd/0SWXXKJAIOB3OCtWKpVST0+P32EAc5TLZe3+/9u7m9cmtjiM40/SSypqlShtXdhGrCCCuElpFLpIJKB7qRvF6EKahYi2+IYtdaHdqCDmD2jdKboRXQmlC9FYpFhEQcE3QlOEaimIoJV47spAr702tXNyksn3A1lkksUzhyE8/GYmMz6uZDJZ3BYMBpVMJpXNZh0mw5/Q88qDnmcPPa+86Hr20fNQibzoeb4Zkr17906SdOHCBfX19en+/fsKh8OKx+OamZlxnM4fjh8/rps3b2p0dFTd3d0aHBzU6dOnXcfyBWOMDh8+rHQ6rfb2dtdxfOvMmTNatWqV1q9fr1wup7t377qO5Ftv3rxRJpNRd3e36yjAPJ8+fVKhUFBzc/O87c3Nzfr48aOjVFgMPc8+ep499LzyoeuVBz0PlcqLnlfxQ7KzZ8/+9iei/339ukdaks6fP699+/YpGo1qaGhIgUBAt2/fdrwXlavU9ZWknp4exeNx7dixQ+l0WlevXlUmk9H3798d70XlKnV9M5mMvnz5onPnzrmOXFWWcvxK0qlTp/Ts2TM9ePBAdXV1OnTokIwxDveg8i11jSUpn89r79696urq0tGjRx0lrw5/s76An9Dz7KLn2UXPs4+uZxc9zy56XnUKmAr/1Zientbnz5//+J3Nmzfr0aNH2r17tx4+fKjOzs7iZ7FYTMlkUpcuXbIdtSqVur6hUOi37S9fvtT27dv16tUrbd261VbEqlbq+u7fv1/37t1TIBAobi8UCqqrq9OBAwd048YN21Gr0nKO38nJSbW0tOjx48fatWuXrYhVb6lrPDU1pXg8rp07d2p4eFjBYMWfi3Hqb47h4eFhnThxQrOzs5bT+dPc3JxWrlypO3fuzHsyYiqV0uzsLFcdlBk9zy56nl30PPvoenbR8+yi55WfFz3vH4v5PNHY2KjGxsZFvxeNRlVfX6/Xr18Xy9OPHz/04cMHRSIR2zGrVqnru5CJiQkFg0E1NTV5nMo/Sl3f69ev6+LFi8X3U1NT2rNnj27duqVYLGYzYlVbzvH766oEzpD/2VLWOJ/PK5FIFK/woDgtbjnHMP5OKBRSNBrVyMhIsTz9/PlTIyMjOnbsmNtwNYieZxc9zy56nn10PbvoeXbR88rPi55X8UOyUq1Zs0bpdFoDAwNqaWlRJBLR5cuXJUldXV2O01W/bDarsbExJRIJNTQ0KJvN6uTJkzp48KDC4bDreFWvtbV13vvVq1dLktra2rRx40YXkXxlbGxMT58+VWdnp8LhsN6+fav+/n61tbVxZtEj+Xxe8XhckUhEV65c0fT0dPGzDRs2OEzmH7lcTjMzM8rlcioUCpqYmJAkbdmypfibgdL09PQolUqpvb1dHR0dunbtmr5+/aojR464job/Qc+zi55nFz3PPrqeXfQ8++h53ll2z/P+gZvuzM3Nmd7eXtPU1GQaGhpMMpk0L168cB3LF8bHx00sFjNr1641K1asMNu2bTODg4Pm27dvrqP50vv373k0uIeeP39uEomEWbdunamvrzebNm0y6XTaTE5Ouo7mG0NDQ0bSgi94I5VKLbi+o6OjrqNVpUwmY1pbW00oFDIdHR3myZMnriNhEfQ8e+h55UXP8x5dzy56nn30PG8tp+dV/H+SAQAAAAAAALZxIzEAAAAAAABqHkMyAAAAAAAA1DyGZAAAAAAAAKh5DMkAAAAAAABQ8xiSAQAAAAAAoOYxJAMAAAAAAEDNY0gGAAAAAACAmseQDAAAAAAAADWPIRkAAAAAAABqHkMyAAAAAAAA1DyGZAAAAAAAAKh5/wL/ejsPGytxYwAAAABJRU5ErkJggg==", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -50,15 +46,15 @@ "f, ax = plt.subplots(1,2,figsize=(15,5))\n", "\n", "pore_sizes = [5,10,20]\n", - "slit_pore = Pore1D(Geometry.Cartesian, 100*si.ANGSTROM, potential, 4096).initialize(state)\n", - "cylindrical_pores = [Pore1D(Geometry.Cylindrical, r*si.ANGSTROM, potential).initialize(state) for r in pore_sizes]\n", - "spherical_pores = [Pore1D(Geometry.Spherical, r*si.ANGSTROM, potential).initialize(state) for r in pore_sizes]\n", + "slit_pore = feos.Pore1D(func, feos.Geometry.Cartesian, 100*si.ANGSTROM, potential, 4096).initialize(state)\n", + "cylindrical_pores = [feos.Pore1D(func, feos.Geometry.Cylindrical, r*si.ANGSTROM, potential).initialize(state) for r in pore_sizes]\n", + "spherical_pores = [feos.Pore1D(func, feos.Geometry.Spherical, r*si.ANGSTROM, potential).initialize(state) for r in pore_sizes]\n", "\n", "for cpore, spore, size in zip(cylindrical_pores, spherical_pores, pore_sizes):\n", - " ax[0].plot(cpore.r/si.ANGSTROM - size, cpore.external_potential.T, label=f'${size}$')\n", - " ax[1].plot(spore.r/si.ANGSTROM - size, spore.external_potential.T, label=f'${size}$')\n", + " ax[0].plot(cpore.grid/si.ANGSTROM - size, (cpore.external_potential/(T*si.KB)).T, label=f'${size}$')\n", + " ax[1].plot(spore.grid/si.ANGSTROM - size, (spore.external_potential/(T*si.KB)).T, label=f'${size}$')\n", "for a in ax:\n", - " a.plot(slit_pore.z/si.ANGSTROM-50, slit_pore.external_potential.T, label='$\\infty$')\n", + " a.plot(slit_pore.grid/si.ANGSTROM-50, (slit_pore.external_potential/(T*si.KB)).T, label='$\\\\infty$')\n", " a.axis([-6,0,-20,55])\n", " a.legend()" ] @@ -71,12 +67,15 @@ "source": [ "pmin = 0.2*si.BAR\n", "pmax = 2.5*si.BAR\n", - "cyl10 = Adsorption1D.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 151), Pore1D(Geometry.Cylindrical, 10*si.ANGSTROM, potential))\n", - "cyl20 = Adsorption1D.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 151), Pore1D(Geometry.Cylindrical, 20*si.ANGSTROM, potential))\n", - "#sph10 = Adsorption1D.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 151), Pore1D(Geometry.Spherical, 10*si.ANGSTROM, potential))\n", - "sph20 = Adsorption1D.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 151), Pore1D(Geometry.Spherical, 20*si.ANGSTROM, potential))\n", - "car10 = Adsorption1D.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 151), Pore1D(Geometry.Cartesian, 20*si.ANGSTROM, potential))\n", - "car20 = Adsorption1D.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 151), Pore1D(Geometry.Cartesian, 40*si.ANGSTROM, potential))" + "def isotherm(geometry, pore_size):\n", + " pore = feos.Pore1D(func, geometry, pore_size, potential)\n", + " return feos.Adsorption.equilibrium_isotherm(func, T, si.linspace(pmin, pmax, 151), pore.grid, pore.external_potential)\n", + "cyl10 = isotherm(feos.Geometry.Cylindrical, 10*si.ANGSTROM)\n", + "cyl20 = isotherm(feos.Geometry.Cylindrical, 20*si.ANGSTROM)\n", + "#sph10 = isotherm(feos.Geometry.Spherical, 10*si.ANGSTROM)\n", + "sph20 = isotherm(feos.Geometry.Spherical, 20*si.ANGSTROM)\n", + "car10 = isotherm(feos.Geometry.Cartesian, 20*si.ANGSTROM)\n", + "car20 = isotherm(feos.Geometry.Cartesian, 40*si.ANGSTROM)" ] }, { @@ -87,7 +86,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -96,14 +95,12 @@ }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], @@ -124,26 +121,24 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3IAAAEzCAYAAAB0TDEBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAAsTAAALEwEAmpwYAABS5ElEQVR4nO3deXxU1f3/8deZLZNM9pWQsCMiKIsi7lVxqVtV6oa7rUtrq13st9Vf7WKt/X5bW21rW62KreJute67Yl0LCAoioAICkhAIZN9nO78/ZhIDBEggyZ1J3s/HY5yZe+/c+85lnDOfOefea6y1iIiIiIiISPJwOR1AREREREREekaFnIiIiIiISJJRISciIiIiIpJkVMiJiIiIiIgkGRVyIiIiIiIiSUaFnIiIiIiISJLxdGchY8xaoAGIAGFr7TRjTC7wKDASWAucba2t6ZuYIiIiiUltpIiIOKEnPXJHW2unWGunxZ9fB7xurd0LeD3+XEREZDBSGykiIv1qT4ZWngbcF398H3D6HqcREREZGNRGiohIn+puIWeBV4wxi4wxV8SnFVlrK+KPNwJFvZ5OREQk8amNFBGRftetY+SAw6215caYQuBVY8wnnWdaa60xxnb1wnijdgVAIBA4YPz48XsUWEREEt+iRYu2WGsLnM7RT3arjVT7KCIyOPVWG9mtQs5aWx6/rzTGPAlMBzYZY4qttRXGmGKgcgevvQu4C2DatGl24cKFe5pZREQSnDFmndMZ+svutpFqH0VEBqfeaiN3ObTSGBMwxmS0PwaOBz4GngEuji92MfB0bwQSERFJFmojRUTEKd3pkSsCnjTGtC//kLX2JWPM+8BjxphLgXXA2X0XU0REJCGpjRQREUfsspCz1n4OTO5iehVwTF+EEhERSQZqI0VExCndPdmJiIjsQCgUoqysjNbWVqej9Du/309paSler9fpKCIikiAGc7vYWV+3kSrkRET2UFlZGRkZGYwcOZL4ELtBwVpLVVUVZWVljBo1yuk4IiKSIAZru9hZf7SRe3JBcBERAVpbW8nLyxt0jZUxhry8vEH/i6uIiGxtsLaLnfVHG6lCTkSkFwzWxmqw/t0iIrJzah/6fh+okBMRGUQuueQSHn/8cQD++te/MnbsWIwxbNmypWMZay3f+973GDt2LJMmTeKDDz5wKq6IiEif69w2nn/++ey9997su+++fPOb3yQUCgGJ2TaqkBMRGaQOO+wwXnvtNUaMGLHV9BdffJGVK1eycuVK7rrrLq688kqHEoqIiPSv888/n08++YSlS5fS0tLC7NmzgcRsG1XIiYgMAHPmzGHSpElMnjyZmTNnMmrUqI5fEevr67d63m7q1KmMHDlyu3U9/fTTXHTRRRhjOPjgg6mtraWioqI//gwREZFesztt40knnYQxBmMM06dPp6ysDEjMtlGFnIhIklu2bBk33XQTc+fOZcmSJdxzzz0cddRRPP/88wA88sgjfP3rX+/26Y/Ly8sZNmxYx/PS0lLKy8v7JLuIiEhf2NO2MRQKcf/993PCCScAidk26vIDIiK96FfPLmP5hvpeXeeEoZn88msTdzh/7ty5nHXWWeTn5wOQm5vLZZddxs0338zpp5/OP//5T+6+++5ezSQiItIdTrSLsOdt43e+8x2+8pWvcMQRR/Rq9t6kQk5EZAA67LDDWLt2Lf/5z3+IRCLsu+++3X5tSUkJ69ev73heVlZGSUlJX8QUERHpN91tG3/1q1+xefNm7rzzzo5pidg2qpATEelFu/qFsC/MmDGDmTNncs0115CXl0d1dTW5ublcdNFFnHfeefz85z/v0fpOPfVU/vrXvzJr1izmz59PVlYWxcXFfZReREQGMifaRdj9tnH27Nm8/PLLvP7667hcXx6Flohto46RExFJchMnTuT666/nyCOPZPLkyVxzzTVA7MxbNTU1nHvuuV2+7rbbbqO0tJSysjImTZrEZZddBsQO9B49ejRjx47l8ssv5/bbb++3v0VERKQ37G7b+O1vf5tNmzZxyCGHMGXKFG688UYgMdtGY63tt41NmzbNLly4sN+2JyLSH1asWME+++zjdIztPP744zz99NPcf//9fbqdrv5+Y8wia+20Pt3wAKL2UUQGkkRtF6H/2sZ2fdlGamiliMgAdPXVV/Piiy/ywgsvOB1FREQkIQy0tlGFnIjIAPSXv/zF6QgiIiIJZaC1jTpGTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkRkEKuqquLoo48mPT2dq666aqt5ixYtYr/99mPs2LF873vfoz8vVyMiItJfLrnkEh5//PHtpi9evJhDDjmEiRMnMmnSJB599NGOeWvWrOGggw5i7NixnHPOOQSDwf6MDKiQExEZtMLhMH6/n1//+tf84Q9/2G7+lVdeyd13383KlStZuXIlL730kgMpRUREnJGWlsacOXNYtmwZL730Ej/4wQ+ora0F4Nprr+WHP/whq1atIicnh3vuuaff86mQExEZAObMmcOkSZOYPHkyF154Ic8++ywHHXQQU6dO5dhjj2XTpk0A3HDDDVx44YUcdthhXHjhhQQCAQ4//HD8fv9W66uoqKC+vp6DDz4YYwwXXXQRTz31lAN/mYiISM81NTVx8sknM3nyZPbdd18effRRRo4cyU9+8hP2228/pk+fzqpVqzqWf+uttzj00EMZPXp0R+/cuHHj2GuvvQAYOnQohYWFbN68GWstc+fO5cwzzwTg4osvdqSN1HXkRESS3LJly7jpppt47733yM/Pp7q6GmMM8+bNwxjD7Nmzufnmm7nlllsAWL58Oe+88w6pqak7XGd5eTmlpaUdz0tLSykvL+/zv0VERKQ3vPTSSwwdOpTnn38egLq6Oq699lqysrJYunQpc+bM4Qc/+AHPPfccEPsB85133uGTTz7h1FNP7SjS2i1YsIBgMMiYMWOoqqoiOzsbjydWSjnVRqqQExHpTS9eBxuX9u46h+wHJ/52h7Pnzp3LWWedRX5+PgC5ubksXbqUc845h4qKCoLBIKNGjepY/tRTT91pESciItJrHGgXAfbbbz9+9KMfce2113LKKadwxBFHAHDuued23P/whz/sWP7000/H5XIxYcKEjlEs7SoqKrjwwgu57777cLkSZ0Bj4iQREZFec/XVV3PVVVexdOlS7rzzTlpbWzvmBQKBXb6+pKSEsrKyjudlZWWUlJT0SVYREZHeNm7cOD744AP2228/fvazn3HjjTcCYIzpWKbz45SUlI7HnU/uVV9fz8knn8xvfvMbDj74YADy8vKora0lHA4DzrWR6pETEelNu/iFsC/MmDGDmTNncs0115CXl0d1dTV1dXUdjcp9993X43UWFxeTmZnJvHnzOOigg5gzZw5XX311b0cXEZGBzoF2EWDDhg3k5uZywQUXkJ2dzezZswF49NFHue6663j00Uc55JBDdrqOYDDIzJkzueiii7YaammM4eijj+bxxx9n1qxZ3HfffZx22ml9+vd0RYWciEiSmzhxItdffz1HHnkkbrebqVOncsMNN3DWWWeRk5PDjBkzWLNmzQ5fP3LkSOrr6wkGgzz11FO88sorTJgwgdtvv51LLrmElpYWTjzxRE488cR+/KtERER239KlS/nxj3+My+XC6/Vyxx13cOaZZ1JTU8OkSZNISUnh4Ycf3uk6HnvsMd566y2qqqq49957Abj33nuZMmUKv/vd75g1axY/+9nPmDp1Kpdeemk//FVbM/15XaBp06bZhQsX9tv2RET6w4oVK9hnn32cjuGYrv5+Y8wia+00hyIlHbWPIjKQJGq7OHLkSBYuXNhxTHl/6Ms2UsfIiYiIiIiIJBkNrRQRERERkQFv7dq1TkfoVeqRExERERERSTIq5EREekF/Hm+cSAbr3y0iIuI0FXIiInvI7/dTVVU16Ioaay1VVVX4/X6no4iIiAw6OkZORGQPlZaWUlZWxubNm52O0u/8fj+lpaVOxxARERl0VMiJiOwhr9fLqFGjnI4hIiIiveDVV1/luuuuIxgM4vP5+P3vf8+MGTMAWLRoUcc1Vk866ST+/Oc/Y4xxJKeGVoqIiIiIiADhcJj8/HyeffZZli5dyn333ceFF17YMf/KK6/k7rvvZuXKlaxcuZKXXnrJsazqkRMRERERkQFnzpw5/OEPf8AYw6RJkzj77LO56aabCAaD5OXl8eCDD1JUVMQNN9zA6tWr+fzzzxk+fDgPP/xwxzomTpxIS0sLbW1tVFdXU19fz8EHHwzARRddxFNPPcWJJ57oyN+nQk5ERERERAaUZcuWcdNNN/Hee++Rn59PdXU1xhjmzZuHMYbZs2dz8803c8sttwCwfPly3nnnHVJTU7dazxNPPMH+++9PSkoK5eXlWx0XXlpaSnl5eb/+XZ2pkBMRERERkT7xuwW/45PqT3p1neNzx3Pt9Gt3uszcuXM566yzyM/PByA3N5elS5dyzjnnUFFRQTAY3Or49lNPPXW7Im7ZsmVce+21vPLKK72av7foGDkRERERERnwrr76aq666iqWLl3KnXfeSWtra8e8QCCw1bJlZWXMnDmTOXPmMGbMGABKSkooKyvbapmSkpL+Cd8F9ciJiIiIiEif2FXPWV+ZMWMGM2fO5JprriEvL4/q6mrq6uo6Cq/77rtvh6+tra3l5JNP5re//S2HHXZYx/Ti4mIyMzOZN28eBx10EHPmzOHqq6/u879lR9QjJyIiIiIiA8rEiRO5/vrrOfLII5k8eTLXXHMNN9xwA2eddRYHHHBAx5DLrvz1r39l1apV3HjjjUyZMoUpU6ZQWVkJwO23385ll13G2LFjGTNmjGMnOgEw1tp+29i0adPswoUL+217IiLiDGPMImvtNKdzJAu1jyIykKxYsYJ99tnH6RgJoat90VttpHrkREREREREkowKORERERERkSSjQk5ERERERCTJdLuQM8a4jTEfGmOeiz8fZYyZb4xZZYx51Bjj67uYIiIiiUnto4jI9vrzPByJqq/3QU965L4PrOj0/HfAH621Y4Ea4NLeDCYiIpIk1D6KiHTi9/upqqoa1MWctZaqqir8fn+fbaNb15EzxpQCJwO/Aa4xxhhgBnBefJH7gBuAO/ogo4iISEJS+ygisr3S0lLKysrYvHmz01Ec5ff7KS0t7bP1d/eC4H8CfgJkxJ/nAbXW2nD8eRnQ5WXNjTFXAFcADB8+fLeDioiIJKA/ofZRRGQrXq+XUaNGOR1jwNvl0EpjzClApbV20e5swFp7l7V2mrV2WkFBwe6sQkREJOGofRQRESd1p0fuMOBUY8xJgB/IBP4MZBtjPPFfHUuB8r6LKSIiknDUPoqIiGN22SNnrf1/1tpSa+1IYBYw11p7PvAGcGZ8sYuBp/sspYiISIJR+ygiIk7ak+vIXUvswO5VxI4JuKd3IomIiCQ1tY8iItLnunuyEwCstf8B/hN//DkwvfcjiYiIJBe1jyIi0t/2pEdOREREREREHKBCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkREREREJMmokBMREREREUkyKuRERERERESSjAo5ERERERGRJKNCTkRE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D6y1m7adkcj7vpPufC4k7L+DMeYS4BTg/PiX8e10433mCGvtJmttxFobBe6m61yJvO89wNeBR3e0TKLs+x18TvbJe78/Crn3gb2MMaPivyTNAp7ph+0mpfj433uAFdbaW53Ok+istf/PWltqrR1J7L0111qr3pKdsNZuBNYbY/aOTzoGWO5gpET3BXCwMSYt/v/nMcTGvMvOPQO0n3HrYuBpB7Mkiu60h53325nEPtMSoteiO+2TMWZI+zF9xpjpxL5nOF6IGmMCxpiM9sfETlzx8TaLPQNcZGIOJjaMuoLEssMeiUTd99vozufCy8Dxxpic+IiI4+PTHGWMOYHYYRynWmubd7BMd95njtjmeM+ZdJ0rkb+zHwt8Yq0t62pmouz7nXxO9s17v7fO0rKzG7EzQX1G7Ew41/fHNpP1BhxOrLv1I2Bx/HaS07mS4UaCnbErkW/EhlYsjL/PnqKfzwiWbDfgV8AnxBqF+4EUpzMl0o3YF8sKIESsx/dSYsd1vQ6sBF4Dcp3OmQi3rtpD4EZiXw4B/MSGza0CFgCjnc7cKXuX7RPwbeDb8WWuApYRO9vdPOBQp3PHc42OZ1oSz9e+7ztnN8Df4v82S4FpTufe5m8IECvMsjpNS9h935PPBWAaMLvTa78Z/39gFfCNBMm+itjxS+3v/fazyw4FXtjZ+yxB8t8ff19/RKyoKN42f/y5o9/Zu8oen35v+3u907KJuO939DnZJ+99E3+RiIiIiIiIJAmd7ERERERERCTJqJATERERERFJMirkREREREREkowKORERERERkSSjQk5ERERERCTJqJATERERERFJMirkREREREREkowKORERERERkSTz/wE04T3T593LlQAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABMkAAAGyCAYAAAD+jZMxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAiMdJREFUeJzs3Xl8XHW9//HXmclM9qVJ26R7Sym07FCwhFZEKJRFrkhxQVRQwCu34AWugvxkFXDBBUVAFAVURBCVVUWwCgiUsll2CoWWLmm6pdm32X5/TJI2dG+TTtK8no/HPObknDPnfCaB5pv3fJcglUqlkCRJkiRJkgawUKYLkCRJkiRJkjLNkEySJEmSJEkDniGZJEmSJEmSBjxDMkmSJEmSJA14hmSSJEmSJEka8AzJJEmSJEmSNOAZkkmSJEmSJGnAMySTJEmSJEnSgGdIJkmSJEmSpAHPkEySJEmSJEkD3jaFZFdeeSVBEHR7TJw4set4a2srs2bNoqysjIKCAmbOnMmKFSt6vGhJkiT1LNt5kiRpoNvmnmR77703y5cv73o89dRTXccuuOACHnroIe69916eeOIJqqqqOPnkk3u0YEmSJPUO23mSJGkgy9rmF2RlUVFRscH+uro6fvWrX3HXXXdx5JFHAnD77bczadIknn32WQ499NAdr1aSJEm9xnaeJEkayLY5JHvnnXcYPnw4OTk5VFZW8p3vfIfRo0fz4osvEovFmD59ete5EydOZPTo0cyZM2eTjae2tjba2tq6vk4mk9TU1FBWVkYQBNvxliRJ0kCUSqVoaGhg+PDhhEJOu7o9bOdJkqS+aGe187YpJJsyZQp33HEHe+65J8uXL+eqq67iwx/+MK+99hrV1dVEo1FKSkq6vaa8vJzq6upNXvM73/kOV1111XYVL0mS9EFLlixh5MiRmS6j37GdJ0mS+rrebudtU0h23HHHdW3vt99+TJkyhTFjxvCHP/yB3Nzc7Srgkksu4cILL+z6uq6ujtGjR7NkyRKKioq265qSJGngqa+vZ9SoURQWFma6lH7Jdp4kSeqrdlY7b5uHW66vpKSEPfbYgwULFnD00UfT3t5ObW1tt08ZV6xYsdG5LTplZ2eTnZ29wf6ioiIbT5IkaZs5jK9n2M6TJEl9TW+383ZoIGdjYyPvvvsuw4YNY/LkyUQiEWbPnt11fP78+SxevJjKysodLlSSJEk7j+08SZI00GxTT7Kvfe1rnHjiiYwZM4aqqiquuOIKwuEwp556KsXFxZx55plceOGFlJaWUlRUxHnnnUdlZaUrHkmSJPVxtvMkSdJAt00h2dKlSzn11FNZs2YNQ4YMYdq0aTz77LMMGTIEgOuvv55QKMTMmTNpa2tjxowZ3Hzzzb1SuCRJknqO7TxJkjTQBalUKpXpItZXX19PcXExdXV1zlUhSeqXEokEsVgs02XsciKRCOFweJPHbUP0ff6MJEn9UTKZpL29PdNl7NL6SjtvhybulyRJ66RSKaqrq6mtrc10KbuskpISKioqnJxfkiTtFO3t7SxcuJBkMpnpUnZ5faGdZ0gmSVIP6QzIhg4dSl5enkFOD0qlUjQ3N7Ny5UoAhg0bluGKJEnSri6VSrF8+XLC4TCjRo0iFNqhtQ+1CX2pnWdIJklSD0gkEl0BWVlZWabL2SXl5uYCsHLlSoYOHbrZLvmSJEk7Kh6P09zczPDhw8nLy8t0Obu0vtLOMwaVJKkHdM5BZgOqd3V+f53zTZIk9bZEIgFANBrNcCUDQ19o5xmSSZLUgxxi2bv8/kqSpJ3N9sfO0Re+z4ZkkiRJkiRJGvAMySRJ0nYbO3YsP/7xjzNdhiRJknrIQG7fGZJJkqQe84tf/IIjjjiCoqIigiCgtrZ2g3Nqamo47bTTKCoqoqSkhDPPPJPGxsadX6wkSZI2q6amhvPOO48999yT3NxcRo8ezVe/+lXq6uq6nbd48WJOOOEE8vLyGDp0KF//+teJx+MZqnr7GZJJkqQe09zczLHHHsv/+3//b5PnnHbaabz++us89thjPPzwwzz55JN8+ctf3olVSpIkaWtUVVVRVVXFD37wA1577TXuuOMOHnnkEc4888yucxKJBCeccALt7e0888wz/PrXv+aOO+7g8ssvz2Dl28eQTJKkAS6ZTHLdddex++67k52dzejRo7n22ms58sgjOffcc7udu2rVKqLRKLNnz97otc4//3y+8Y1vcOihh270+JtvvskjjzzCL3/5S6ZMmcK0adP46U9/yt13301VVVWPvzdJkqSBqKfad/vssw9/+tOfOPHEExk/fjxHHnkk1157LQ899FBXT7FHH32UN954gzvvvJMDDjiA4447jquvvpqbbrqJ9vb2nfJ+e0pWpguQJGlXlUqlaIklMnLv3Eh4q1cIuuSSS7j11lu5/vrrmTZtGsuXL+ett97irLPO4txzz+WHP/wh2dnZANx5552MGDGCI488crvqmjNnDiUlJRx88MFd+6ZPn04oFGLu3Ll84hOf2K7rSpIk9bb+0raD3m3f1dXVUVRURFZWOlKaM2cO++67L+Xl5V3nzJgxg3POOYfXX3+dAw88cBveaWYZkkmS1EtaYgn2uvzvGbn3G9+aQV50y7/mGxoa+MlPfsKNN97I6aefDsD48eOZNm0ara2tnHvuuTzwwAN86lOfAuCOO+7gjDPO2O4luqurqxk6dGi3fVlZWZSWllJdXb1d15QkSdoZ+kPbDnq3fbd69WquvvrqblNlVFdXdwvIgK6v+1v7zuGWkiQNYG+++SZtbW0cddRRGxzLycnh85//PLfddhsAL730Eq+99hpnnHHGTq5SkiRJW6u32nf19fWccMIJ7LXXXlx55ZU9XHXfYE8ySZJ6SW4kzBvfmpGxe2/Vebm5mz1+1llnccABB7B06VJuv/12jjzySMaMGbPddVVUVLBy5cpu++LxODU1NVRUVGz3dSVJknpbf2jbQe+07xoaGjj22GMpLCzkvvvuIxKJdB2rqKjgueee63b+ihUruo71J4ZkkiT1kiAItrpbfKZMmDCB3NxcZs+ezVlnnbXB8X333ZeDDz6YW2+9lbvuuosbb7xxh+5XWVlJbW0tL774IpMnTwbgn//8J8lkkilTpuzQtSVJknpTf2jbQc+37+rr65kxYwbZ2dk8+OCD5OTkdDteWVnJtddey8qVK7um1XjssccoKipir7326rk3thP0/Z+uJEnqNTk5OVx88cVcdNFFRKNRpk6dyqpVq3j99de7lvbunOA1Pz9/ixPrV1dXU11dzYIFCwB49dVXKSwsZPTo0ZSWljJp0iSOPfZYzj77bG655RZisRjnnnsun/nMZxg+fHivv19JkqRdXU+27+rr6znmmGNobm7mzjvvpL6+nvr6egCGDBlCOBzmmGOOYa+99uLzn/881113HdXV1Vx66aXMmjWra3GA/sI5ySRJGuAuu+wy/u///o/LL7+cSZMm8elPf7rbkMhTTz2VrKwsTj311A0+OfygW265hQMPPJCzzz4bgMMPP5wDDzyQBx98sOuc3/3ud0ycOJGjjjqK448/nmnTpvGLX/yid96cJEnSANRT7buXXnqJuXPn8uqrr7L77rszbNiwrseSJUsACIfDPPzww4TDYSorK/nc5z7HF77wBb71rW/1+vvsaUEqlUpluoj11dfXU1xc3LWkqCRJ/UFraysLFy5k3LhxWwyS+ptFixYxfvx4nn/+eQ466KCM1rK577NtiL7Pn5EkqT+xfbdz9YV2nsMtJUnSRsViMdasWcOll17KoYce2mcaUJIkSdo+tu82z+GWkiRpo55++mmGDRvG888/zy233JLpciRJkrSDbN9tnj3JJEnSRh1xxBH0sVkZJEmStANs322ePckkSZIkSZI04BmSSZIkSZIkacAzJJMkSZIkSdKAZ0gmSZIkSZKkAc+QTJIkSZIkSQOeIZkkSZIkSZIGPEMySZIkSZIkAXDEEUdw/vnnZ7qMjDAkkyRJPe7JJ5/kxBNPZPjw4QRBwP3337/BOalUissvv5xhw4aRm5vL9OnTeeedd3Z+sZIkSdpqNTU1nHfeeey5557k5uYyevRovvrVr1JXV9ftvMWLF3PCCSeQl5fH0KFD+frXv048Hs9Q1VvHkEySJPWY9vZ2AJqamth///256aabNnnuddddxw033MAtt9zC3Llzyc/PZ8aMGbS2tu6sciVJkrSNqqqqqKqq4gc/+AGvvfYad9xxB4888ghnnnlm1zmJRIITTjiB9vZ2nnnmGX79619zxx13cPnll2ew8i0zJJMkaYBLJpNcd9117L777mRnZzN69GiuvfZaAC6++GL22GMP8vLy2G233bjsssuIxWJdr73yyis54IAD+OUvf8m4cePIyckB4LjjjuOaa67hE5/4xEbvmUql+PGPf8yll17Kxz/+cfbbbz9+85vfUFVVtdFeZ5IkSdp6f/zjH9l3333Jzc2lrKyM6dOn09TUxBlnnMFJJ53EVVddxZAhQygqKuIrX/lK1wednZLJJBdddBGlpaVUVFRw5ZVXdh3bZ599+NOf/sSJJ57I+PHjOfLII7n22mt56KGHunqKPfroo7zxxhvceeedHHDAARx33HFcffXV3HTTTRvcqy/JynQBkiTtslIpiDVn5t6RPAiCrTr1kksu4dZbb+X6669n2rRpLF++nLfeeguAwsJC7rjjDoYPH86rr77K2WefTWFhIRdddFHX6xcsWMCf/vQn/vznPxMOh7fqngsXLqS6uprp06d37SsuLmbKlCnMmTOHz3zmM9vw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nTt3yo0bN+SNN94QFxcXKSoqUjo0+tuSJUvE2dlZ0tLSpLCwUPOorKxUOjRqA+9uaXwuXbok1tbW8vHHH0teXp7s2bNHHB0dZffu3UqHRo1ERUVJnz595Pjx45Kfny+HDh0SV1dX+eCDD5QOzaJVVFRIdna2ZGdnCwDZuHGjZGdna+4EtnbtWnFxcZGjR4/Kr7/+KhEREeLr6ytPnz5VOHLz114tN2/ePFm+fLmm/fnz58Xa2lo+/fRTuXnzpiQkJIiNjY1cvXpVqV3QiY7US03HYvXq1XLq1Cm5c+eOZGZmypw5c8Te3l6uX7+uxC7oxLvvvitpaWmSn58v58+fl9DQUHF1dZWSkhIRsZx8EKm/6563t7fEx8c3+5m55oIuztUTJkyQzZs3a56b4vvFtsahpqZGpk6dKn379pWcnByt80V1dbWmj6bj0N6xZYzaGoeKigp57733JCMjQ/Lz8+X06dMyevRoGTRokFRVVWn6MPd8aFBWViaOjo6SlJTUYh/mkA8duU6+9dZb4u3tLWfOnJErV65ISEiIhISEaPUzZMgQOXTokOa5LmpAo1okExHZvHmzeHt7i62trYwZM0YuXLigdEjUCIAWHzt27FA6NGoDF8mM07Fjx2TEiBFiZ2cnfn5+8uWXXyodEjVRXl4uMTEx4u3tLfb29jJgwAD58MMPtQpXMryzZ8+2eC2KiooSkfpbgK9cuVLc3d3Fzs5OJk6cKLm5ucoGbUHaquXGjx+vmacGBw4ckMGDB4utra0MHz5cTpw4YeCIda8j9VLTsYiNjdWMm7u7u7z00kuSlZVl+OB1aPbs2eLp6Sm2trbSp08fmT17tty+fVvzc0vJBxGRU6dOCYAWz0Xmmgu6OFf7+PhIQkKC1jZTe7/Y1jjk5+e3er44e/aspo+m49DesWWM2hqHyspKmTRpkjz77LNiY2MjPj4+snjx4maLXeaeDw22bdsmDg4OUlpa2mIf5pAPHblOPn36VN5++23p2bOnODo6yiuvvCKFhYXN+mn8Gl3UgKq/OyYiIiIiIiIiIrJYRvOdZERERERERERERErhIhkREREREREREVk8LpIREREREREREZHF4yIZERERERERERFZPC6SERERERERERGRxeMiGRERERERERERWTwukhERERERERERkcXjIhkREREREREREVk8LpIREREREREREZHF4yIZERERERERERFZPC6SERERERERERGRxeMiGRERERERERERWbz/B1p32PT9abtkAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ "f, ax = plt.subplots(1,2,figsize=(15,5))\n", "\n", - "ax[0].plot(cyl10.profiles[-1].r/si.ANGSTROM, (cyl10.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='cyl10')\n", - "ax[1].plot(cyl20.profiles[-1].r/si.ANGSTROM, (cyl20.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='cyl20')\n", - "#ax[0].plot(sph10.profiles[-1].r/si.ANGSTROM, (sph10.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='sph10')\n", - "ax[1].plot(sph20.profiles[-1].r/si.ANGSTROM, (sph20.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='sph20')\n", - "ax[0].plot(car10.profiles[-1].r/si.ANGSTROM, (car10.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='car10')\n", - "ax[1].plot(car20.profiles[-1].r/si.ANGSTROM, (car20.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='car20')\n", + "ax[0].plot(cyl10.profiles[-1].grid/si.ANGSTROM, (cyl10.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='cyl10')\n", + "ax[1].plot(cyl20.profiles[-1].grid/si.ANGSTROM, (cyl20.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='cyl20')\n", + "#ax[0].plot(sph10.profiles[-1].grid/si.ANGSTROM, (sph10.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='sph10')\n", + "ax[1].plot(sph20.profiles[-1].grid/si.ANGSTROM, (sph20.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='sph20')\n", + "ax[0].plot(car10.profiles[-1].grid/si.ANGSTROM, (car10.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='car10')\n", + "ax[1].plot(car20.profiles[-1].grid/si.ANGSTROM, (car20.profiles[-1].density/(si.KILO*si.MOL/si.METER**3)).T, label='car20')\n", "\n", "ax[0].set_xlim(0,10)\n", "ax[1].set_xlim(0,20)\n", @@ -155,7 +150,7 @@ ], "metadata": { "kernelspec": { - "display_name": "feos", + "display_name": "feos_devel", "language": "python", "name": "python3" }, @@ -169,7 +164,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.10" + "version": "3.14.0" } }, "nbformat": 4, diff --git a/examples/pcsaft_surface_tension.ipynb b/examples/pcsaft_surface_tension.ipynb index cadc0901b..bb5a6c23a 100644 --- a/examples/pcsaft_surface_tension.ipynb +++ b/examples/pcsaft_surface_tension.ipynb @@ -177,8 +177,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 379 μs, sys: 10 μs, total: 389 μs\n", - "Wall time: 372 μs\n" + "CPU times: user 0 ns, sys: 426 μs, total: 426 μs\n", + "Wall time: 419 μs\n" ] } ], @@ -240,8 +240,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 9.24 ms, sys: 3.81 ms, total: 13 ms\n", - "Wall time: 12.9 ms\n" + "CPU times: user 6.9 ms, sys: 4.01 ms, total: 10.9 ms\n", + "Wall time: 10.9 ms\n" ] } ], @@ -268,7 +268,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5YAAAI+CAYAAADHM5VJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtVRJREFUeJzs3Xd4VNXWx/HvzGTSSUJICL1DgABSpCodBbsUAQuiiCKK+tquchUb9gIqiIWrgI0mVVQQiIBK7xh6Cz0kpPfJzLx/hAzEJBBgMkOS3+e5eZx99jrnrCFckjV7n70NdrvdjoiIiIiIiMhlMro7ARERERERESndVFiKiIiIiIjIFVFhKSIiIiIiIldEhaWIiIiIiIhcERWWIiIiIiIickVUWIqIiIiIiMgVUWEpIiIiIiIiV0SFpYiIiIiIiFwRFZYiIiIiIiJyRVRYioiIiIiIyBXxcHcCJWHlypXMnj2brVu3kpiYSGBgIDVr1qR9+/Y88cQTeHjkf9sWi4Vp06axcOFCjhw5gtlspnHjxgwZMoQbb7zRTe9CRERERESkdDDY7Xa7u5NwlpycHEaPHs3ChQsBqFq1KiEhISQmJnLq1CksFgubN2/Gz8/PcU5WVhYPPvggmzZtwmQy0aBBAzIyMjhy5AgADz/8MM8995xb3o+IiIiIiEhpUKZGLF977TUWLlxI8+bNeeONN2jatKmjLyMjg9WrV+Pp6ZnvnA8++IBNmzZRo0YNJk+eTL169QBYvnw5//d//8fkyZNp3bo1PXr0cOl7ERERERERKS3KzIjl2rVrGTp0KNWrV2fhwoX4+/tf9Jy4uDi6devmmArboUOHfP2ffPIJkyZNIiIigrlz55ZU6iIiIiIiIqVamVm8Z8qUKQAMGzasWEUlQGRkJBaLhTp16hQoKgEGDx4MQFRUlGNqrIiIiIiIiORXJqbCZmVl8ffffwPQsWNH9u/fz8yZMzlw4ACenp40adKEAQMGUL169Xznbd26FYA2bdoUet2wsDBq1KjBsWPH2Lp1K7Vq1SrR9yEiIiIiIlIalYnCcvfu3VgsFgA2bdrEG2+84WgD/PHHH/zvf//jnXfe4dZbb3UcP3z4MMAFC8ZatWpx7NgxDh06dMEcZsyYwaxZs4qV77Fjx/D19aVNmzZ89NFHxTpHRERERETkalUmCsvY2FjH67xFe15++WUaN27MyZMnGT9+PL/99hsvvvgi9erVcyzqk5SUBEBgYGCR187rS05OvmgOUVFRxc45KSnposWqiIiIiIhIaVAmCsu0tDTHa29vbyZPnuwoCGvXrs24ceM4fPgwu3bt4osvvuDTTz8FcqfQApjN5iKvnbeKbGZm5gVzCA0NJSIiolj5Hjhw4KLXExERERERKS3KRGHp5eXleN23b98CI5BGo5EHHniAF154gb/++gubzYbRaHScd/602X/Lzs4GcgvWCxk8eLBjsZ+L6dev3yWNboqIiIiIiFzNysSqsOcXkvXr1y80Jm9/yrS0NBITEwEICAgAzk2JLUxeX16siIiIiIiI5FcmCsu8ohGKntZ6/qimzWYDoE6dOgBER0cXee28bUbyYkVERERERCS/MlFYhoWFObYSOXr0aKExece9vLwICgoCoGXLlgBs3ry50HNiYmI4duxYvlgRERERERHJr0wUlgA33XQTAD///DM5OTkF+n/66ScA2rZti4dH7qOlPXv2xGw2c/jwYdauXVvgnBkzZgDQtGlTateuXVKpi4iIiIiIlGplprB86KGHqFChAseOHeONN95wrPhqt9v59ttv+eOPPzAYDDzyyCOOc0JCQhg0aBAAL730EgcPHnT0RUZG8r///Q+Axx9/3IXvREREREREpHQpE6vCAgQHB/Ppp58ycuRIZs6cya+//kqdOnU4deoUsbGxGAwGnn/+edq3b5/vvOeff56oqCi2bNnCrbfeSsOGDUlPT3c8Wzls2DB69erljrckIiIiIiJSKhjsdrvd3Uk40+HDh/nyyy9ZvXo1Z86cwd/fn1atWvHggw/Srl27Qs/Jzs5m6tSp/Pzzzxw5cgSz2UyTJk2477776N27t9NzzNtuJCIigrlz5zr9+iIiIiIiIq5U5grL0kCFpYiIiIiIlCVl5hlLERERERERcQ8VliIiIiIiInJFVFiKiIiIiIjIFVFhKSIiIiIiIldEhaWIiIiIiIhcERWWIiIiIiIickVUWIqIiIiIiMgVUWEpIiIiIiIiV0SFpYiIiIiIiFwRFZYiIiIiIiJyRVRYioiIiIiIyBVRYSkiIiJSzvXo0YPw8HCOHTvmtGuGh4cTHh5+VeTz4osvEh4ezty5c51yvTwl8efmKlfy/REpjIe7ExARERGR8mPu3LkcP36cXr160aRJE3enI/+i749c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j+hCBWFoaGix/5IeOHBAxaWIlDoeAZUJu38iFXuNInbWC6RtXZTbYbeRuGwiJ//+Ht/a12Gr3IRX1v3MweQ4Xmt3Kx7GgkvTi8jV5bXXXiMtLY0lS5YwZMgQQkJCqFatGjk5OZw4ccLx/Nw777yT77xXXnmFPXv2cPDgQW655RbHtNr9+/dTrVo1Bg8eXOholtFo5MUXX+Spp57iu+++Y8GCBdSqVYuYmBhiY2MZNWoU8+bNu+hiQs4yatQoJk2axPXXX0/9+vVJSEhw3Pumm25y+n6ctWvX5r777uO7777jmWee4b333iM0NJRDhw5hsVh4+eWXefXVV516zysRGhrKu+++y1NPPcWsWbP49ddfqVu3LqdPnyYmJob777+f5cuXF/r96tu3L7GxsYwfP56XXnqJt956i7p162I0GomLi+PkyZOOOGfYtm0bM2fOxGQyUbNmTQIDA0lKSiI6OtqxPU5xnyW++eab+eGHH/jll1/YunUrVatWxWg00rdvX/r165cvtm3bttStW9cxw7G87F15vjJVWF7IsGHD+Pbbbzl9+jSRkZGO/Xa8vHI3+L7QPjd5UzQK298oz+DBgxk8eHCxcunXrx9RUVHFTV1E5KriWa0x1f9vAWn/LOX0d09gicmd+uqTkcjLu3/hllM7+KRBL6buWsPRlAS+6H4vPh6uG3kQkUvn5eXlGJGcO3cu27ZtY9euXZhMJqpUqUL37t3p1atXgYVIgoODmTVrFp999hlLlizh0KFDhISEMGjQIJ566im+//77Iu/Zu3dvvvzyS7788kt27drFwYMHCQ8P56WXXuKmm25yjC65QqtWrZgxYwafffYZGzduJD09nUaNGjFo0CDuuecep45W5nnppZeoUaMGs2fPJjo6mqysLNq3b8+oUaMuOJPOXXr16uVYbXXz5s3s37+fevXqMWrUKAYOHMjy5cuLPPeRRx6hS5cufP/996xbt479+/djs9kICQmhe/fu9OzZk549ezolz9GjR/PHH3+wceNGYmJiOHbsGF5eXjRv3pwbbriBIUOGFLli7r+1adOGcePG8e2337J3715OnDiB3W6nXbt2hcb379+fDz/8kICAAHr37u2U91OaGOyXstZwKTdq1CiWLl3Kfffdx5gxYwC4++672bx5M08//TSPPvpooec9+OCDrF69mscee4ynnnrqivPI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CksRESkXzEYTL117bqXXv07uJ/LYngJx3rVbEXzz84524rIJZOxb7ZIcRURESisVliIiUm70qBFO52oNHO03N/xKjs1aIC749jF4Vm2c27DbifnmYWzZma5KU0REpNRRYSkiIuWGwWBgTNubMWAAYF/SaWbs3VggzujpTdiwyWDIjcs+uZv4hW+6NFcREZHSRIWliIiUK02DqzGwYWtH+8MtS0kpZDTSp2Engno94WjH//o+mdEFV5MVERERFZYiIlIOPdfqRnw8zADEZaby+Y6VhcaFDHgTc2jd3IbNSszXw7HnWFyVpoiISKmhwlJERMqdqn6BjGjWxdH+MupPTqQmFogzevkR9uCXjnbWka3E//qBK1IUEREpVVRYiohIuTSyWRcq+1QAIMuaw/ubfy80zrdpTwK7Dne04xeOJfv0AZfkKCIiUlqosBQRkXLJz+zFc61vcLRXnzpAqiWr0NiQQe9jCqoGgD0nm9gZzxcaJyIiUl6psBQRkXJrUINraRNai+db3cDKfs/ib/YqNM7kG0jooPcc7bTNC0jfudxVaYqIiFz1VFiKiEi5ZTIamX/LSJ5q2RMfD88LxlbocDfeDTo52qd/fAa7NaekUxQRESkVynRhuXLlSsLDwwkPD6dHjx5FxqWlpTF+/Hj69OlDixYt6NChAyNGjGDdunUuzFZERNzBcHavyuLEVb53vKOdfewfklZMLqm0RERESpUyW1impaXx2muvXTQuPj6e/v3788UXX3D8+HHq16+Pl5cXK1asYOjQofzwww8ln6yIiFxV7HZ7oce9615LQOcHHO24ua9gTY13UVYiIiJXrzJbWI4fP54TJ07Qs2fPC8a99NJLHDp0iIiICJYtW8a8efNYsWIFb7zxBna7nbfeeotdu3a5KGsREXGndEs2n+9YSZ+Fn5JZxH6VIf3fwuDtD4AtLZ4zC95wZYoiIiJXpTJZWG7dupUffviBnj170qtXryLjdu7cSWRkJEajkfHjxxMWFgbkTncaNGgQd9xxB1arlUmTJrkqdRERcZNsaw495o/jrY2/ERV/kh/2ri80ziOoCpVue8nRTlw+iazjO12VpoiIyFWpzBWWFouFMWPG4O3tzSuvvHLB2CVLlgDQoUMHateuXaB/0KBBQO6zmunp6c5PVkRErhqeJg9uqNnU0f5s+woycrILjQ268SnMlevn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jBjBunXrXPguREREXOe2Os2p4hsAgMVmZdquNYXG5VvEZ+NcrKlnXJKfiIiUHmWmsFy7di133303kydPZvPmzVSoUIHw8HDsdjt///03zz//PI8++ijZ2dkFzo2Pj6d///588cUXHD9+nPr16+Pl5cWKFSsYOnQoP/zwgxvekYiISMnyNHnwYJNOjva3e9aRkVPw56R/y9swBYQBYM/JJvnv712Wo4iIlA5lprC02+3UqFGDl156idWrV7Ns2TLmzp3LunXreO+99/D09GTFihV88sknBc596aWXOHToEBERESxbtox58+axYsUK3njjDex2O2+99Ra7du1yw7sSEREpWfeGt8PXwxOAxKx0Zu/fXCDG4GEmoPMDjnbSyslaxEdERPK57MJyzZo12Gw2Z+ZyRVq0aMHixYu5//77qVSpUr6+O++8k8cffxyAn376KV/eO3fuJDIyEqPRyPjx4wkLy/1E1mAwMGjQIO644w6sViuTJk1y3ZsRERFxkSAvXwY1vNbRnhz1FzZ7wZ/vgV0fcrzOPrGLzP2rXZKfiIiUDpddWD744IN07NiR//znPyxevJj09HRn5nXJ/P39MZvNRfZ36dIFgMTEROLj4x3HlyxZAkCHDh2oXbt2gfMGDRoEwMqVK93+HkVERErC8IjrMJC78uuh5DiWH91dIMazcn18m/Z0tJNWaBEfERE557ILy/DwcJKSkli4cCFPP/20Y7GbmTNnEhsb68wcnSIzM9Px2tvb2/F669atAFx77bX/PgXIHQn19PQkKytL02FFRKRMql2hEn1qN3W0vyxq65HzRi1TNvyENS2xpFMTEZFS4rILywULFhAZGclLL71Eu3btsNlsrFy5ktdee42uXbsycOBAvvrqKw4cOODMfC/bL7/8AkDjxo3x9/d3HD98+DAAtWrVKvQ8s9lM1apVATh06FDJJikiIuImIyK6OF6vPXWI7XHHCsT4tb4To3/u4yb27AxS1vzosvxEROTq5nElJ1erVo0hQ4YwZMgQkpOTWbFiBcuWLeOvv/5i+/bt7Nixg/Hjx1OrVi169uxJjx49aNOmDYazGy27yj///MOMGTMAeOSRR/L1JSUlARAYGFjk+Xl9yckF9/fKM2PGDGbNmlWsfK6WYltERCRPm8q1aBVak9TsLB5udj0Ng8IKxBjNXgReP5SExeMASFw5mcCe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ANR4Vdf09HQcPnwYADB48OC7GhsREREREZEn8PrEEgBefvllCIKAzZs3Y82aNdKJzdevX8e0adNgNpsxaNAgtG/f3s2REhERERER1T+CaP3loRq05cuXY968eRBFEZGRkWjUqBEuXLgAvV6PVq1a4bvvvkNoaKhTnsty8Z5OnTphw4YNTmmTiIiIiIjIXXjJrFsmTJiAdu3a4euvv8apU6dw48YNREVFYfDgwUhISIC/v623fCUiIiIiIvIOTCwr6Nu3L/r27evuMIiIiIiIiDwKz7EkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIocwsSQiIiIiIiKHMLEkIiIiIiIihzCxJCIiIiIiIoco3B2AN2rVqlWlRyIiIiIiIk8miKIoujsIIiIiIiIi8lycCktEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOUbg7ALLe9OnTcenSJXeHQURERERE9USrVq0wf/58d4fBxNKTHDt2DNnZ2e4Og4iIiIiI6on8/Hx3hwCAiaVH0Wq1AAC1Wo02bdq4ORrvlJaWhrKyMvaBG7EP3I994H7sA/djH7gX97/7sQ/cz9IHlhzB3ZhYepDo6GgUFRWhTZs22LBhg7vD8UpPPvkkkpOT2QduxD5wP/aB+7EP3I994F7c/+7HPnA/Sx9ER0e7OxQAvHgPEREREREROYiJJRERERERETmEiSURERERERE5hIklEREREREROYSJJRERERERETmEiSURERERERE5hIklEREREREROYSJJRERERERETmEiSURERERERE5hIklEREREREROUTh7gDIeqNGjUJubi4aN27s7lC8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iIiooUlOTsbEiRNRWFiIMWPG4P3334cgCHa1dfLkSYwaNQrNmzfH7t27bd7+wIEDSEhIsLr+3LlzMXLkSJufh4iIvBePWBIRETnZyZMnMWHCBBQWFuLZZ5/F7Nmz7U4qAedMg7UFp8MSEZGteLsRIiIiJ/r999+RkJAAjUaDSZMm4W9/+5vDbe7ZsweAfYllfn6+NI120aJF6NevX61109LS8NRTTyEpKQkXL15E69at7QuYiIi8Do9YEhEROcnhw4fxwgsvQKPRYPLkyU5JKtPT05GWloZGjRpJ9560xebNm2EwGBAYGIi4uDj4+/vX+tO5c2cpmeRRSyIisgUTSyIiIif45Zdf8OKLL0Kr1eLVV1/Fa6+95pR2LdNg4+Li7LrwjyVBjI+Pt+oWJ4MHDwZQnpAajUabn4+IiLwTp8ISERE5wWeffYaysjIIgoBvv/0W3377ba11P/nkE/Tt29eqdh05v/LEiRO4cOECgNsJ450MHjwYS5YsQV5eHvbv32/XVWiJiMj7MLEkIiJykMlkwvnz5wGU3xokLy+vzvrNmze3qt38/HwkJSVBrVbjgQcesDkuy9HKwMBAq7dv164d2rRpg7S0NKxbt46JJRERWYW3GyEiIqqn1q1bh1mzZiEuLg5ffvmlu8MhIiKqFc+xJCIiqqcs02B51JCIiOo7ToUlIiKqp7p164aOHTvaff9KIiKiu4VTYYmIiIiIiMghnApLREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDmFiSURERERERA5hYklEREREREQOYWJJREREREREDvl/Bmc20OoiamoAAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5YAAAI+CAYAAADHM5VJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtQdJREFUeJzs3Xd4VNXWx/HvzGTSGyGhl1ADBJAiTXpRwE4REEUsKHJFvYq+ioq9F1BBLKiAjSZVVLhABFR6x9ADhBIICSG9TWbm/SNkNCaBAJMMSX6f5+Zh9tnrnLNOkutkzT5nb4PdbrcjIiIiIiIicpmMrk5AREREREREyjYVliIiIiIiInJFVFiKiIiIiIjIFVFhKSIiIiIiIldEhaWIiIiIiIhcERWWIiIiIiIickVUWIqIiIiIiMgVUWEpIiIiIiIiV0SFpYiIiIiIiFwRFZYiIiIiIiJyRdxcnUBJWLNmDfPmzWPHjh0kJiYSEBBA7dq16dChA48++ihubvkv22KxMHPmTJYsWcKxY8cwm800adKEESNGcMMNN7joKkRERERERMoGg91ut7s6CWfJyclh/PjxLFmyBIDq1asTHBxMYmIip0+fxmKxsG3bNnx8fBz7ZGVlcd9997F161ZMJhMNGzYkIyODY8eOAfDggw/y1FNPueR6REREREREyoJyNWL58ssvs2TJElq0aMGrr75Ks2bNHH0ZGRmsW7cOd3f3fPu89957bN26lVq1ajFt2jTq168PwKpVq/jvf//LtGnTaNOmDb169SrVaxERERERESkrys2I5YYNGxg5ciQ1a9ZkyZIl+Pr6XnSf+Ph4evTo4bgVtmPHjvn6P/roI6ZOnUp4eDgLFiwoqdRFRERERETKtHIzec/06dMBuP/++4tVVAJERERgsVgIDQ0tUFQCDBs2DIDIyEjHrbEiIiIiIiKSX7m4FTYrK4s///wTgE6dOnHo0CHmzJlDVFQU7u7uNG3alMGDB1OzZs18++3YsQOAtm3bFnrcqlWrUqtWLU6cOMGOHTuoU6dOiV6HiIiIiIhIWVQuCst9+/ZhsVgA2Lp1K6+++qqjDfDbb7/x5Zdf8tZbb3HzzTc7th89ehTgggVjnTp1OHHiBEeOHLlgDrNnz2bu3LnFyvfEiRN4e3vTtm1bPvjgg2LtIyIiIiIicrUqF4VlXFyc43XepD0vvPACTZo04dSpU0yaNIlff/2VZ599lvr16zsm9UlKSgIgICCgyGPn9SUnJ180h8jIyGLnnJSUdNFiVUREREREpCwoF4VlWlqa47WnpyfTpk1zFIR169Zl4sSJHD16lL179/LZZ5/x8ccfA7m30AKYzeYij503i2xmZuYFcwgJCSE8PLxY+UZFRV30eCIiIiIiImVFuSgsPTw8HK8HDBhQYATSaDRy77338swzz/DHH39gs9kwGo2O/f552+y/ZWdnA7kF64UMGzbMMdnPxQwcOPCSRjdFRERERESuZuViVth/FpINGjQoNCZvfcq0tDQSExMB8Pf3B/6+JbYweX15sSIiIiIiIpJfuSgs84pGKPq21n+OatpsNgBCQ0MBiI6OLvLYecuM5MWKiIiIiIhIfuWisKxatapjKZHjx48XGpO33cPDg8DAQABatWoFwLZt2wrdJzY2lhMnTuSLFRERERERkfzKRWEJ0L9/fwB++ukncnJyCvT/+OOPALRr1w43t9xHS3v37o3ZbObo0aNs2LChwD6zZ88GoFmzZtStW7ekUhcRERERESnTyk1h+cADD+Dn58eJEyd49dVXHTO+2u12vvnmG3777TcMBgMPPfSQY5/g4GCGDh0KwPPPP8/hw4cdfREREXz55ZcAPPLII6V4JSIiIiIiImVLuZgVFiAoKIiPP/6YMWPGMGfOHH755RdCQ0M5ffo0cXFxGAwGnn76aTp06JBvv6effprIyEi2b9/OzTffTKNGjUhPT3c8W3n//ffTp08fV1ySiIiIiIhImWCw2+12VyfhTEePHuXzzz9n3bp1nD17Fl9fX1q3bs19991H+/btC90nOzubGTNm8NNPP3Hs2DHMZjNNmzbl7rvvpm/fvk7PMW+5kfDwcBYsWOD044uIiIiIiJSmcldYlgUqLEVEREREpDwpN89YioiIiIiIiGuosBQREREREZErosJSRERERERErogKSxEREREREbkiKixFRERERETkiqiwFBERERERkSuiwlJERERERESuiApLERERERERuSIqLEVEREREROSKqLAUERERERGRK6LCUkRERERERK6ICksRERGRCq5Xr16EhYVx4sQJpx0zLCyMsLCwqyKfZ599lrCwMBYsWOCU4+Upie9babmSn49IYdxcnYCIiIiIVBwLFizg5MmT9OnTh6ZNm7o6HfkX/Xzk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zjjQvffey8aNGxk/fjz33HPPBWO/+eYb3nzzTTp27MiMGTOccfoyJW8dy/DwcBYsWODqdERE5Cp338qZRCbEMCKsI8PD2lHZs+CHpHnOLZtE3OynADAFVKP+B0cxuJlLK1UREamgnPaM5b59+zCZTAwZMuSisUOGDMHNzY29e/c66/QiIiLl1vtdBrFu8P/x6DU9L1hUAvh3HoHBzR0Aa9JpUncuLY0URUSkgnNaYZmWloaPjw+enp4XjfX09MTHx8fpE/iIiIiUR5U9fXEzmooVa/ILxrftAEdbk/iIiEhpcFphWalSJVJSUjh79uxFY8+ePUtycjKBgYHOOr2IiIic9881LdN3L8cSX3A5LREREWdyWmHZqlUr7HY7kydPvmjsxx9/jN1up02bNs46vYiISIWRZc3hWEpCkf1eTXpgrtowt2G3k/T79FLKTEREKiqnFZZ33XWXY+3Hp59+mujogp+ORkdH89RTTzFnzhwMBgN33XWXs04vIiJS7sWmJ/PWlmW0m/MWY9fMLjLOYDQS0O0BRzt57dfYrTmlkaKIiFRQTltupEOHDowcOZKZM2eydOlSli5dSvXq1alSpQoAsbGxnD592hF/77330r59e2edXkREpNw7k57iWNMyIS6N3fEnaRFcs9BY/y4jiV8wAaw55Jw7SdruZfi2urn0khURkQrFaSOWAOPHj+eFF17A398fu91OTEwMO3bsYMeOHZw6dQq73U5AQAATJkzgmWeeceapRUREyr0WwTVpE1LH0Z6xb32RsW4BVfFtfaujnbTmqxLNTUREKjanjVjmufvuu7njjjv4888/+euvvxyT+VSuXJnmzZvTuXNnPDw8nH1aERGRCmFk005sizsGwKLDO5jQ7kYCPbwLjQ3oPorULbnrJaft/JmcxFO4BVYvtVxFRKTicHphCeDh4UGvXr3o1atXSRxeRESkwro5tAWvbFxKQlYaWdYc5h7cykPNuxYa6x3eB7eg2uQkHAebleQ/vyXopv8r5YxFRKQicOqtsCIiIlKyPExu3Nm4naM9c98GbHZbobEGown/rvc52klrv8Zut5d4jiIiUvGosBQRESljRjTpgNFgACA65SxrTh4sMjag671wPtYSe5CMA7+XRooiIlLBlMitsFarlaNHj5KcnExOzoWnN2/Xrt0F+0VERCS/Wr6V6FOrCf87vheA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/vzzT55++mkefvhhsrOzC+ybkJDAoEGD+Oyzzzh58iQNGjTAw8OD1atXM3LkSL7/XpMViIhI+eNucuO+ptc52t/s30hGTsH3Sd+2AzH6BAFgz04nZcMPpZajiIiUDeWmsLTb7dSqVYvnn3+edevWsXLlShYsWMDGjRt55513cHd3Z/Xq1Xz00UcF9n3++ec5cuQI4eHhrFy5koULF7J69WpeffVV7HY7b7zxBnv37nXBVYmIiJSsu8La4+3mDkBiVjrzDm0rEGN098S/8whHO2nNV6WWn4iIlA2XXViuX78em83mzFyuSMuWLVm2bBn33HMPlStXztd3++2388gjjwDw448/5st7z549REREYDQamTRpElWrVgVynz0ZOnQot912G1arlalTp5bexYiIiJSSQA9vhja61tGeFvkHNnvB9/eA7qMcr7Oit5N5dGup5CciImXDZReW9913H506deL//u//WLZsGenp6c7M65L5+vpiNpuL7O/WrRsAiYmJJCT8vcDz8uXLAejYsSN169YtsN/QoUMBWLNmjcuvUUREpCSMCu+MAQMAR5LjWXV8X4EYj5rN8Gz4922zSas1iY+IiPztsgvLsLAwkpKSWLJkCU888YRjsps5c+YQFxfnzBydIjMz0/Ha09PT8XrHjh0AXHvttf/eBcgdCXV3dycrK0u3w4qISLlU168y/eo2c7Q/L2rpkR5/j1omb/gBW2ZqiecmIiJlw2UXlosXLyYiIoLnn3+e9u3bY7PZWLNmDS+//DLdu3dnyJAhfPHFF0RFRTkz38v2888/A9CkSRN8fX0d248ePQpAnTp1Ct3PbDZTvXp1AI4cOVKySYqIiLjI6PBujtcbTh9hV/yJAjF+7e7A6BUAgD0zlZSNc0otPxERubq5XcnONWrUYMSIEYwYMYLk5GRWr17NypUr+eOPP9i1axe7d+9m0qRJ1KlTh969e9OrVy/atm2LwWBwVv7F8tdffzF79mwAHnrooXx9SUm5U6YHBAQUuX9eX3JywfW98syePZu5c+cWK5+rpdgWERHJ07ZKHVqH1CY1O4sHm3ehUWDVAjFGD2/8Og0nKeJTIHcSn38uRSIiIhXXFRWW/+Tv78+tt97KrbfeSnZ2Nhs2bGDlypX89ttvREdH8/XXXzN9+nQqVapEz5496dWrF126dMHDw8NZKRQqPj6eRx99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pCTMmTMHubm58PPzQ0xMDIYPH17r+dWmv9e6/g7DwsIQFRWFjIwMnD17Fi1btrQoBk/uB4B1bXA7jng/8MS+YGsbbNiwAV9++SUqKioQGhqKXr164eGHH7b4A3pVzupf7sARfUAURWzfvh0AMGrUKLs+vziyXRsyjUYjXZCrf//+uHLlCjZu3Ijk5GSoVCp06tQJY8aMqXFBPHd8L2Bi6STJyclYtWoVunTpgokTJ952+7S0NACo849CqVQiIiICV69eRWpqqkWNrNVqpatu1VVvREQElEoldDodUlJSGlViaW0b1CcnJwcnTpwAUHdHtMS6devMljdu3IhOnTphxYoVaNGihV0xNkT2tMGWLVvMlrdt24bly5djxYoV6NKli1V1OaN/uQNH9YF9+/ZBrVbDx8cHw4YNsysmR7arO0lMTERiYqK0HB8fj88++wxPP/00XnnlFbPp97f7ezWty8jIsGrEzFP7gYk1bVCf8vJy/PzzzwDq/sBnCU/sC7a2we7du82Wd+3ahWXLlmHx4sW49957rYrBWf3LHTiiDzjytAhHtmtDlpSUBJ1OBwA4deoU3n77bWkZAA4ePIgvvvgC7733HkaMGCGVu+N7ARNLJxBFEW+88Qb0ej0WLFhgUUctKioCgFqnq5qY1hUXF1sUR2lpKYxGY731CoKAwMBA3Lx50+J63YEtbVCfhQsXQqfToX379oiNjbVqX4VCgUceeQTDhw9H+/bt0axZMxQUFODw4cP4+OOPkZiYiClTpmDr1q2N6ls6W9sgLi4OI0eORMeOHREeHo6ysjL8+uuvWLp0KdLT0zF58mRs377dqquSOqN/NXSO7ANbt24FADz44IM2/406o13dQbNmzfD888/jvvvuQ1RUFPz9/ZGamor169djw4YNWLt2LRQKBf79739L+zjr79UT+wFgWxvUZ+nSpbh58yZCQkIwZswYq+PxxL5gaxv06dMH/fr1wz333IPIyEjodDqcOnUKy5cvx6VLlzBz5kx89913ViXintgPHNkHTO8HPXv2tHk01xnt2pDl5uZKv7/99tvo3Lkz3njjDXTs2BFZWVlYunQp9uzZg1dffRVt27aVzr90x/eCxjv/zoXWr1+P06dPY/z48bjnnnss2sc0rabqSbvVmabHVFRUWFVn1X0dUa87sKUN6vL5559j//79UCqVeP/9963+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oEF45pln0KdPnxr7uNt7gSB6yo2SiIiIiIiIyCl4jiURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJRERkZsZOXIkYmJicOzYMZv2LyoqQteuXRETE4OYmBikpaU5NkAiIvI4TCyJiIjcSGZmJpKSkhAYGIg+ffrYVMfOnTuh0Wik5S1btjgqPCIi8lBMLImIiNzIzz//DAAYOHAgFAqFTXVs3rwZADBx4kQAwLZt22AwGBwTIBEReSQmlkRERG7ElFjGxcXZtH9CQgISExMRGBiIuXPnIioqCrm5uTh8+LAjwyQiIg9j21edREREVKvExESMGjXKom1feuklPPvssxbXXVRUhN9//x1KpRIDBw60KT7TaOWwYcPg5eWFUaNG4ZNPPsGWLVswaNAgm+okIiLiiCUREZEDpaWlITQ0tM4fPz8/advOnTtbVfehQ4eg1+vRr18/+Pv7Wx2bRqPBrl27AEBKfkeNGgVBEHDo0CHk5eVZXScRERHAEUsiIiKHGjZsGIYNG1bruszMTPzzn/9EWVkZHnjgAfTr18+quu2dBrtv3z4UFxejVatW6NGjBwCgRYsW6NmzJ37//Xds374dU6dOtaluIiLybByxJCIiugPS09MxceJEpKenY/DgwVixYgVUKpXF+2u1Whw5cgSCINg8ZdU0DXbkyJFm5abRS14dloiIbMXEkoiIyMlSU1Mxfvx4ZGZmYtiwYVi2bJlVSSUA/Prrr1Cr1bj77rsRFhZmdQzp6ek4ceIEBEGokVgOGzYM3t7eSElJwenTp62um4iIiIklERGRE125cgUTJ05ETk4OHnnkESxevNim24TYOw12y5YtEEURvXr1QlRUlNk6f39/DB48GMBfo5pERETWYGJJRETkJElJSZg4cSJyc3MxevRofPDBB5DL5VbXI4oi4uPjAUBKAK1hNBqxbds2ADWnwZqYpsPu2bMHZWVlVj8HERF5NkEURdHVQRARETU2CQkJmDx5MgoLC/HEE0/grbfegiAINtV17tw5jB07Fi1btsT+/fut3v/w4cOYPn26xdsvWrQIY8aMsfp5iIjIc3HEkoiIyMHOnTuHSZMmobCwEE8//TQWLFhgc1IJOGYarDU4HZaIiKzF240QERE50O+//47p06ejrKwMU6ZMwb///W+76zxw4AAA2xLL/Px8aRrt8uXLMWDAgDq3TU5OxuOPP44zZ84gJSUFbdu2tS1gIiLyOByxJCIicpDjx49j2rRpKCsrw8yZMx2SVKalpSE5ORlNmjSR7j1pjR9++AE6nQ4BAQGIjY2Fn59fnT9du3aVkkmOWhIRkTWYWBIRETnA0aNHMWPGDKjVarzwwgt48cUXHVKvaRpsbGysTRf+MSWIcXFxFt3iZOjQoQAqE1K9Xm/18xERkWfiVFgiIiIH+Pjjj1FRUQFBEPDtt9/i22+/rXPbjz76CP3797eoXnvOrzx79iyuXLkC4K+E8XaGDh2KlStXIi8vD4cOHbLpKrREROR5mFgSERHZyWAw4PLlywAqbw2Sl5dX7/YtW7a0qN78/HycOXMG3t7euPfee62OyzRaGRAQYPH+MTExaNeuHZKTk7F582YmlkREZBHeboSIiKiB2rx5M+bNm4fY2Fh89tlnrg6HiIioTjzHkoiIqIEyTYPlqCERETV0nApLRETUQPXo0QOdO3e2+f6VREREdwqnwhIREREREZFdOBWWiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7PL/AdZTGkXeXq+iAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -279,8 +279,8 @@ ], "source": [ "plt.figure(figsize=(10, 6))\n", - "plt.plot(interface.z / si.ANGSTROM, initial_density[0], linestyle=\"dashed\", label=\"initial density\")\n", - "plt.plot(interface.z / si.ANGSTROM, (interface.density / (si.KILO * si.MOL / si.METER**3))[0], label=\"equilibrium density\")\n", + "plt.plot(interface.grid / si.ANGSTROM, initial_density[0], linestyle=\"dashed\", label=\"initial density\")\n", + "plt.plot(interface.grid / si.ANGSTROM, (interface.density / (si.KILO * si.MOL / si.METER**3))[0], label=\"equilibrium density\")\n", "\n", "plt.xlim(40, 60)\n", "plt.ylim(-5, 60)\n", @@ -559,8 +559,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 514 ms, sys: 11.9 ms, total: 526 ms\n", - "Wall time: 525 ms\n" + "CPU times: user 449 ms, sys: 0 ns, total: 449 ms\n", + "Wall time: 448 ms\n" ] } ], @@ -612,7 +612,7 @@ "outputs": [ { "data": { - "image/png": "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rqRTp07cvHkz12NRq9UMGjSI+fPno9FocHV1JTY2lm3btvHhhx/q3nfw9DXRrs5wc3PTe42e9eVYfiN7UIUQL8zI3Ioi3b5Lz/b750gSrv7/N59pap7snEvs6XU4fTgPm9rdnyvb76TabfmgvCeTTm3hdHj6N+BJaWpmX9jDv3cuMqNeZxo6l8/r2xJC5IImOZ64S9482fkjyfcv68rNy9TAod1YbGp2xMjc+vUN8AVpM726urrqyrRLPuvUqfNSHrNp06asXLmS+/fvM3DgQPr160fdunWzTDiUnfv37+sSCGmXorZq1YrvvvuOiIgITpw4kWPyoNft6tWrpKSkULRoUYoWLZrr9g8ePNC9drn5EiEqKgpfX19dkPT+++9ToUKFLK9VqVRUrVqVEydOcO7cuTzbh7pgwQK2bduGtbU1P/zwA23bttUliNIuWc5qT214eDibN29m8eLFtGrVCkifATQxyf5j//r161m8eDFLliyhSZMmzJ49O1djvXHjBmPGjCElJYUePXrw9ddf6wXFZ86cITxc/5zz3r17M378eCpVqqRX7uvry5gxY1i5ciXvv/8+np6euRpLTi5fvoypqSnLli3Tve+jo6MZO3YsR44cYcyYMezYsUNvKfn333+Pj48PJUqU4Oeff8bDwwNI338+evRozp07x8iRI/H29s60vD8ne/bsoWTJkmzbtk23Xzs0NJRBgwbh7+/PH3/8wejRo4H03wVNmzalefPmhISEvPC+7jedzKAKIfKMWbHylByzA+cRmzAp/HSfVerjYMJ+7kXI/9qQEpb7bxkB3OyLsbHNEBY26UURi6cfzu5ER9Jrz3KGH9nAg4SYF74HIUTuaZLjidwwlvBfP9YLTgGS718m/NePifx7HJrk+NczwBeQmprKb7/9xpEjRwD0jjh58OABAKVLl34pj12vXj3d8sqzZ88ydOhQateuTevWrfn666/ZtGkTcXE5r1DRLv2rUaOGLri2trbWZWl91jLfkJAQvaWEGX8WL178gnf4bNoljc8TnAL88MMPqNVqypcvT7NmzbK9bsmSJXr3pl1qGhYWxldffcVPP/2U4+Nox6fNlPyiIiMjWb16NZCebKd9+/Z62YttbGzo3bt3lsFwWloaI0eO1AWnkJ6NOacjkl7UwoULSUlJoWXLlkyfPj3TjG3dunV1M/dabdq0yRSc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8uRJjEYjderUYfHixdmSyYYNry0NPWXKFPr3z76k9QcffMD8+fMB8PHxwdnZmRMnTpCenk7r1q2ZO3dujisDnz59mscee4xLly5ZVtaNiori0qVL2Nvb8+mnn9KjR49CGAUREREREZHSqUwlqHDt0ds5c+YQFBREYmIi3t7eBAYGMnz4cFxcsn8rcbMEFWDt2rUsXryYo0ePkpqaio+PD71792bIkCE33Cf14sWLfPnll/zxxx9cuHABNzc32rRpw3PPPUeTJk2sc8EiIiIiIiJlRJlLUEVERERERKR0KjPvoIqIiIiIiEjppgRVRERERERESgQlqCIiIiIiIlIilO9dYAWAV199ldOnTxd3N0REREREpISoU6cOH3/8cZGfVwmqsG/fPs6dO1fc3RARERERkRLi8uXLxXJeJahCYmIiAE5OTtSrV6+Ye1N2hISEkJycrHG1Mo1r4dC4Fg6Na+HR2BYOjWvh0LgWDo1r4cgY14wcoagpQRVq1apFbGws9erVY/ny5cXdnTKjf//+BAcHa1ytTONaODSuhUPjWng0toVD41o4NK6FQ+NaODLGtVatWsVyfi2SJCIiIiIiIiWCElQREREREREpEZSgioiIiIiISImgBFVERERERERKBCWoIiIiIiIiUiIoQRUREREREZESQQmqiIiIiIiIlAhKUEVERERERKREUIIqIiIiIiIiJYISVBERERERESkR7Iq7A1L8BgwYQHR0NFWrVi3urpQpGtfCoXEtHBrXwqFxLTwa28KhcS0cGtfCoXEtHMU9rgaz2WwuljOLiIiIiIiIZKJHfEVERERERKREUIIqIiIiIiIiJYISVBERERERESkRlKCKiIiIiIhIiaBVfEsps9nM/v372bx5M/v27ePUqVNcvXqVihUr0qRJE/r27UuvXr0wGAzZ6jZs2PCGbVepUoXt27fnevzIkSN888037N27l7i4OKpVq0aXLl0YOXIknp6et3xtxW3t2rXs2LGD4OBgLly4QExMDPb29vj5+XHXXXfx5JNP4uHhkWPdhIQEvvnmG9avX09kZCTOzs60aNGCp556ivbt29/wvLt27WLu3LkcPHiQxMREvL29CQwMZPjw4Tg7OxfGpRapgo6r5mv+/fnnnwwfPhyAmjVrsnnz5hzLab7mT17GVfP15mbMmMHMmTNvWOb999/nkUceyRZP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6tWrc/r0aRITE6lSpQqLFy/O9u1KabJx40bLX8CqVatSrVo1bG1tOXfunGXfLi8vL77++utsd/ouX77MI488QmhoKA4ODtSvX58rV65w7tw5DAYDY8aM4YknnsjxvPPmzWPq1KmYzWZq1KiBh4cHJ0+exGg0UqdOHRYvXoynp2fhXnwhKui4ar4W3PLly3n77bepWbNmjqt2ar4WzI3GVfP15o4ePUrfvn2Ba/vjeXt7Y2trS3h4uGURjjZt2vDll19mWYwDrm1vMGTIEPbv34+trS0NGjQgMTHR8m7UU089xZtvvpnjecv62BZ0XCdPnsyCBQswGAzUrFkTT09PkpOTOXXqFGlpadjY2PDKK6/wzDPP5Hjeffv28fTTT5OYmIi7uzu1atUiIiKC2NhYnJ2dmTt3bql+FDXDjh07GDFiBMnJyVSsWBE/Pz+ioqKIjo7GYDDw+uuvM2zYsCx1NF9vLr/jqvmad7t372bw4MEYDAY2bNhw05tYJW2+KkEtpTI+JOXFggULLLf2t27dyoYNGzh8+DAXLlwgJiYGe3t7atWqRceOHXn88cdz3CMps+DgYL7++mv+/vtv4uLiqFatGl26dGHkyJFUrlz5lq+tOF26dInVq1eze/duTp48yaVLlzAajbi5uVG/fn26du3KQw89lOuL5levXmX27NmsW7eOyMhInJ2dad68OcOGDaNDhw43PPfOnTuZM2cOQUFBJCYm4u3tTWBgIMOHD8/ymGVpVNBx1XwtuJslqKD5WhA3GlfN15uLi4vj+++/58CBA4SEhHD58mWMRiPu7u40adKEBx54gAceeCDXd8CMRiPz5s1j9erVhIeHY29vT+PGjXn88cctj5rlpiyPbUHH9cCBA/z6668EBQURGRlJTEwMtra2eHl50a5dOx599NGbvnYRHh7OrFmz2L59O1euXMHDw4NOnToxcuTIPD3ZVVqEhoby9ddfs2PHDi5duoSrqyutWrVi6NChlkX+/kvz9ebyM66ar3n31ltvsWLFCtq1a8fChQvzVKckzVclqCIiIiIiIlIi6B1UERERERERKRGUoIqIiIiIiEiJoARVRERERERESgQlqCIiIiIiIlIiKEEVERERERGREkEJqoiIiIiIiJQISlBFRERERESkRFCCKul85mQAAATnSURBVCIiIiIiIiWCElQREREREREpEZSgioiIiIiISImgBFVERERERERKBLvi7oCIiIjk7u2332b58uUFqtu8eXN+/PHHfNXp06cPx44dY+7cudx+++03LT9jxgxmzpwJwPHjx3Mt9/PPPzNu3DjS09Np06YNX331FRUrVsxX30REpOxTgioiIlKCRUREUKVKlWzxxMREEhMTAXI8DtCuXbt8nevs2bMcO3YMNze3fNe9kXnz5jF16lTMZjNdunRh+vTpODk5Wa19EREpO5SgioiIlGALFy7MMT5u3DiWLVtGjRo12LJli1XOtWnTJgA6d+6MnZ11PiJMnz6dL7/8EoBevXoxdepUq7UtIiJlj35CiIiIlELBwcEANGnSxGptZiSo3bp1u+W2zGYzEydO5Pvvvwfg8ccfZ+zYsRgMhltuW0REyi4lqCIiIqVMWloaJ06cAKyXoMbGxvL3339jb29P586db6mttLQ03nrrLVavXg3AqFGjeOGFF6zRTRERKeOUoIqIiJQyJ0+exGg0AtZLULds2UJaWhp33nknrq6uBW4nJSWFF198kT/++AODwcA777zD4MGDrdJHEREp+5SgioiIlDIZj/cCBAQEWKVNazzee/XqVUaMGMGePXuws7Nj8uTJ9O3b1yr9ExGR8kEJqoiISClz9OhRACpXroyXl9ctt2c0Gtm6dSsGg4GuXbsWuJ3BgwcTHByMo6Mj06dPv6W2RESkfLIp7g6IiIhI/mTcQW3cuLFV2tu5cyeJiYk0bdr0lhLejH499NBDSk5FRKRAlKCKiIiUIiaTiWPHjgEl6/FegFatWgHw/fffs2DBglvul4iIlD9KUEVEREqR06dPk5iYCFhngSSz2czmzZsB6N69+y219e2333LbbbcBMHnyZObNm3er3RMRkXJGCaqIiEgpkvH+KVjnDmpQUBDR0dH4+PjQoEGDW2rL1dWVb7/9ltatWwMwZcoU5s6de8t9FBGR8kMJqoiISCmS8Z5nxYoVqVWr1i23Z63HezO4uLjw7bff0rZtWwCmTp3Kd999Z5W2RUSk7FOCKiIiUoocOXIEuLZAksFguOX2Nm7cCFgvQQVwdnbmm2++oV27dgB8+OGHzJ4922rti4hI2aUEVUREpBSx5gJJoaGhhISE4OHhYXl31FoyktT27dsD8NFHH/HNN99Y9RwiIlL2KEEVEREpJSIiIoiJiQGss8VMxuO9Xbp0wdbW9pbb+68KFSrwzTff0LFjRwA+/vhjvvrqK6ufR0REyg4lqCIiIqVExuO9YJ07qNZ+/zQnTk5OfPXVV9xxxx0AfPrpp8yaNavQziciIqWbElQREZFSIiNBrVChAnXr1r2lti5fvsz+/ftxcnKyJI+FxcnJiS+//JJOnToB8NlnnzFz5sxCPaeIiJROBrPZbC7uToiIiEjR+umnnxgzZgxdunTRY7ciIlJi6A6qiIhIOZTxeG/37t2LuSciIiLX2RV3B0RERKTo3XbbbTRp0qRQ3z8VERHJLz3iKyIiIiIiIiWCHvEVERERERGREkEJqoiIiIiIiJQISlBFRERERESkRFCCKiIiIiIiIiWCElQREREREREpEZSgioiIiIiISImgBFVERERERERKBCWoIiIiIiIiUiIoQRUREREREZESQQmqiIiIiIiIlAj/B6ACB+xLFMBXAAAAAElFTkSuQmCC", + "image/png": "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zZo18fT0JCwsDKPRSN26dVm8eDFeXl5Fe/FFqLDjqvlaeCtWrODll1+mVq1aua7aqflaONcaV83X6zt8+DD9+vUDLu+P5+Pjg62tLSdPnrQswtGmTRs+++yzbItxwOXtDYYNG8a+ffuwtbWlQYMGJCcnW96NeuSRR/jf//6X63nL+9gWdlwnT57MggULMBgM1KpVCy8vL1JTUzl+/DgZGRnY2NgwduxYHn/88VzPu3fvXh577DGSk5Px8PCgdu3aREZGEh8fj4uLC3Pnzi3Tj6Jm2b59OyNHjiQ1NZVKlSrh7+9PdHQ0MTExGAwGXnzxRR599NFsdTRfr6+g46r5mn+7du1i6NChGAwGNm3adN2bWKVtvipBLaOyPiTlx4IFCyy39n/99Vc2bdrEwYMHOXfuHHFxcdjb21O7dm06duzIQw89lOseSVcLDQ3liy++4I8//iAhIYHq1avTpUsXRo0aRZUqVW742krShQsXWLNmDbt27SIsLIwLFy5gNBpxd3fnpptuIigoiHvvvTfPF80vXbrErFmz2LBhA1FRUbi4uNC8eXMeffRROnTocM1z79ixgzlz5hASEkJycjI+Pj4EBwczYsSIbI9ZlkWFHVfN18K7XoIKmq+Fca1x1Xy9voSEBL7++mv279/PsWPHiI2NxWg04uHhQePGjbn77ru5++6783wHzGg0Mm/ePNasWcPJkyext7enUaNGPPTQQ5ZHzfJSnse2sOO6f/9+fvjhB0JCQoiKiiIuLg5bW1u8vb1p164dDzzwwHVfuzh58iQzZ87k999/5+LFi3h6etKpUydGjRqVrye7yorw8HC++OILtm/fzoULF3Bzc6NVq1YMHz7cssjff2m+Xl9BxlXzNf/GjRvHypUradeuHQsXLsxXndI0X5WgioiIiIiISKmgd1BFRERERESkVFCCKiIiIiIiIqWCElQREREREREpFZSgioiIiIiISKmgBFVERERERERKBSWoIiIiIiIiUiooQRUREREREZFSQQmqiIiIiIiIlApKUEVERERERKRUUIIqIiIiIiIipYISVBERERERESkV7Eq6AyIiIpK3l19+mRUrVhSqbvPmzfn2228LVKdv374cOXKEuXPncsstt1y3/PTp05kxYwYAf//9d57lli9fzuiUPAUAAAR/SURBVIQJE8jMzKRNmzZ8/vnnVKpUqUB9ExGR8k8JqoiISCkWGRlJ1apVc8STk5NJTk4GyPU4QLt27Qp0rtOnT3PkyBHc3d0LXPda5s2bx9SpUzGbzXTp0oVp06bh5ORktfZFRKT8UIIqIiJSii1cuDDX+IQJE1i2bBk1a9Zk27ZtVjnXli1bAOjcuTN2dtb5iDBt2jQ+++wzAHr37s3UqVOt1raIiJQ/+gkhIiJSBoWGhgLQuHFjq7WZlaB27dr1htsym81MnDiRr7/+GoCHHnqI8ePHYzAYbrhtEREpv5SgioiIlDEZGRkcPXoUsF6CGh8fzx9//IG9vT2dO3e+obYyMjIYN24ca9asAeCpp57i6aeftkY3RUSknFOCKiIiUsaEhYVhNBoB6yWo27ZtIyMjg9tuuw03N7dCt5OWlsYzzzzDTz/9hMFg4JVXXmHo0KFW6aOIiJR/SlBFRETKmKzHewGaNGlilTat8XjvpUuXGDlyJLt378bOzo7JkyfTr18/q/RPREQqBiWoIiIiZczhw4cBqFKlCt7e3jfcntFo5Ndff8VgMBAUFFTodoYOHUpoaCiOjo5MmzbthtoSEZGKyaakOyAiIiIFk3UHtVGjRlZpb8eOHSQnJ9O0adMbSniz+nXvvfcqORURkUJRgioiIlKGmEwmjhw5ApSux3sBWrVqBcDXX3/NggULbrhfIiJS8ShBFRERKUNOnDhBcnIyYJ0FksxmM1u3bgWgW7duN9TW7NmzufnmmwGYPHky8+bNu9HuiYhIBaMEVUREpAzJev8UrHMHNSQkhJiYGHx9fWnQoMENteXm5sbs2bNp3bo1AFOmTGHu3Lk33EcREak4lKCKiIiUIVnveVaqVInatWvfcHvWerw3i6urK7Nnz6Zt27YATJ06la+++soqbYuISPmnBFVERKQMOXToEHB5gSSDwXDD7W3evBmwXoIK4OLiwpdffkm7du0AePfdd5k1a5bV2hcRkfJLCaqIiEgZYs0FksLDwzl27Bienp6Wd0etJStJbd++PQDvv/8+X375pVXPISIi5Y8SVBERkTIiMjKSuLg4wDpbzGQ93tulSxdsbW1vuL3/cnZ25ssvv6Rjx44AfPDBB3z++edWP4+IiJQfSlBFRETKiKzHe8E6d1Ct/f5pbpycnPj888+59dZbAfjoo4+YOXNmkZ1PRETKNiWoIiIiZURWgurs7Ey9evVuqK3Y2Fj27duHk5OTJXksKk5OTnz22Wd06tQJgI8//pgZM2YU6TlFRKRsMpjNZnNJd0JERESK13fffcerr75Kly5d9NitiIiUGrqDKiIiUgFlPd7brVu3Eu6JiIjIFXYl3QEREREpfjfffDONGzcu0vdPRURECkqP+IqIiIiIiEipoEd8RUREREREpFRQgioiIiIiIiKlghJUERERERERKRWUoIqIiIiIiEipoARVRERERERESgUlqCIiIiIiIlIqKEEVERERERGRUkEJqoiIiIiIiJQKSlBFRERERESkVFCCKiIiIiIiIqXC/wFDqA6ppJ/AhwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -649,7 +649,7 @@ ], "metadata": { "kernelspec": { - "display_name": "feos", + "display_name": "feos_devel", "language": "python", "name": "python3" }, @@ -663,7 +663,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.14.0" } }, "nbformat": 4, From bf94dcaf8ef0095d8e02385aba12faee05e957c0 Mon Sep 17 00:00:00 2001 From: Philipp Rehner Date: Fri, 18 Sep 2026 15:03:11 +0200 Subject: [PATCH 11/13] Revive curved interfaces --- CHANGELOG.md | 4 + crates/feos-dft/src/adsorption/mod.rs | 9 +- crates/feos-dft/src/adsorption/pore.rs | 60 +++-- crates/feos-dft/src/functional.rs | 8 + crates/feos-dft/src/geometry.rs | 18 ++ crates/feos-dft/src/interface/mod.rs | 212 ++++++++-------- .../src/interface/surface_tension_diagram.rs | 15 +- crates/feos-dft/src/lib.rs | 2 +- crates/feos-dft/src/profile/mod.rs | 229 +++++++++++------- crates/feos-dft/src/profile/properties.rs | 108 ++++----- .../src/solvation/pair_correlation.rs | 14 +- .../src/solvation/solvation_profile.rs | 8 +- crates/feos-dft/src/solver.rs | 37 +-- crates/feos/tests/gc_pcsaft/dft.rs | 8 +- crates/feos/tests/pcsaft/dft.rs | 24 +- docs/api/dft.md | 2 +- py-feos/src/dft/adsorption/pore.rs | 5 + py-feos/src/dft/interface/mod.rs | 138 ++++++----- .../dft/interface/surface_tension_diagram.rs | 16 +- py-feos/src/dft/mod.rs | 2 +- py-feos/src/dft/profile.rs | 27 +-- py-feos/src/dft/solvation.rs | 10 + py-feos/src/lib.rs | 2 +- 23 files changed, 540 insertions(+), 418 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01eef84d2..7987487ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added `PoreSpecification` enum to specify the state of the fluid in the pore (currently chemical potential or moles). [#371](https://github.com/feos-org/feos/pull/371) - Added the `Grid` and `PoreProfile` classes as an entry points to DFT in various coordinate systems in Python. [#376](https://github.com/feos-org/feos/pull/376) - `PoreProfile.solver_log` now stores a timing profile of the different solver steps. [#385](https://github.com/feos-org/feos/pull/385) +- Added `Interface::curved` to calculate cylindrical and spherical interfaces from a planar interface. [#387](https://github.com/feos-org/feos/pull/387) ### Changed - Changed data type of initial temperatures or pressure for phase equilibrium calculations (`TemperatureOrPressure::Other`) from `D` to `f64`. [#369](https://github.com/feos-org/feos/pull/369) @@ -16,6 +17,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - External potentials are passed and returned as quantities (energies) instead of reduced units. [#372](https://github.com/feos-org/feos/pull/372) - Merged the `Adsorption1D` and `Adsorption3D` classes in Python into `Adsorption` using dynamically dimensioned arrays. [#376](https://github.com/feos-org/feos/pull/376) - If the `rayon` feature is activated (default for the released Python wheels), the evaluation of the helmholtz energy density and its derivatives will now be run in parallel. The number of CPUs can be set via the global rayon threadpool (see changelog for `0.9.5`) [#385](https://github.com/feos-org/feos/pull/385) +- Renamed `PlanarInterface` to `Interface` and its constructors `from_tanh` and `from_pdgt` to `planar_from_tanh` and `planar_from_pdgt`. [#387](https://github.com/feos-org/feos/pull/387) +- Replaced `PlanarInterface.from_density_profile` in Python with the `Interface(grid, vle, density)` constructor in analogy to `PoreProfile`. [#387](https://github.com/feos-org/feos/pull/387) +- `drho_dp`, `dn_dp`, `drho_dt`, and `dn_dt` of DFT profiles now take the bulk state as an argument (methods instead of properties in Python). [#387](https://github.com/feos-org/feos/pull/387) ### Removed - Removed the `DFTSpecification` trait in favor of only using the `DFTSpecification` enum (renamed from `DFTSpecifications`). [#371](https://github.com/feos-org/feos/pull/371) diff --git a/crates/feos-dft/src/adsorption/mod.rs b/crates/feos-dft/src/adsorption/mod.rs index fde4814fe..e16c6a4b6 100644 --- a/crates/feos-dft/src/adsorption/mod.rs +++ b/crates/feos-dft/src/adsorption/mod.rs @@ -353,17 +353,16 @@ where pub fn pressure(&self) -> Pressure> { Pressure::from_shape_fn(self.profiles.len(), |i| match &self.profiles[i] { Ok(p) => { - if p.profile.bulk.eos.components() > 1 - && !p.profile.bulk.is_stable(SolverOptions::default()).unwrap() + if p.profile.functional.components() > 1 + && !p.bulk.is_stable(SolverOptions::default()).unwrap() { - p.profile - .bulk + p.bulk .tp_flash(None, SolverOptions::default(), None) .unwrap() .vapor() .pressure(Contributions::Total) } else { - p.profile.bulk.pressure(Contributions::Total) + p.bulk.pressure(Contributions::Total) } } Err(_) => Pressure::from_reduced(f64::NAN), diff --git a/crates/feos-dft/src/adsorption/pore.rs b/crates/feos-dft/src/adsorption/pore.rs index 7e58d4698..cdb75fcd4 100644 --- a/crates/feos-dft/src/adsorption/pore.rs +++ b/crates/feos-dft/src/adsorption/pore.rs @@ -3,7 +3,7 @@ use crate::convolver::ConvolverFFT; use crate::functional::{HelmholtzEnergyFunctional, HelmholtzEnergyFunctionalDyn, MoleculeShape}; use crate::functional_contribution::FunctionalContribution; use crate::geometry::{Axis, Geometry, Grid}; -use crate::profile::DFTProfile; +use crate::profile::{DFTProfile, InitialDensity}; use crate::solver::DFTSolver; use crate::{DFTSpecification, WeightFunctionInfo}; use feos_core::{Contributions, FeosResult, ReferenceSystem, ResidualDyn, State, StateHD}; @@ -106,6 +106,7 @@ pub enum PoreSpecification { #[derive(Clone)] pub struct PoreProfile { pub profile: DFTProfile, + pub bulk: State, pub grand_potential: Option, pub interfacial_tension: Option, } @@ -123,7 +124,18 @@ where density: Option<&Density>>, specification: PoreSpecification, ) -> Self { - let mut profile = DFTProfile::new(grid, bulk, Some(external_potential), density); + let density = match density { + Some(density) => InitialDensity::Density(density.clone()), + None => InitialDensity::Bulk(bulk.partial_density()), + }; + let mut profile = DFTProfile::new( + grid, + &bulk.eos, + bulk.temperature, + Some(external_potential), + density, + DFTSpecification::from_state(bulk), + ); // fix the number of particles match specification { @@ -136,6 +148,7 @@ where Self { profile, + bulk: bulk.clone(), grand_potential: None, interfacial_tension: None, } @@ -143,7 +156,7 @@ where pub fn solve_inplace(&mut self, solver: Option<&DFTSolver>, debug: bool) -> FeosResult<()> { // Solve the profile - self.profile.solve(solver, debug)?; + self.profile.solve([&mut self.bulk], solver, debug)?; // calculate grand potential density let omega = self.profile.grand_potential()?; @@ -151,7 +164,7 @@ where // calculate interfacial tension self.interfacial_tension = - Some(omega + self.profile.bulk.pressure(Contributions::Total) * self.profile.volume()); + Some(omega + self.bulk.pressure(Contributions::Total) * self.profile.volume()); Ok(()) } @@ -163,7 +176,7 @@ where pub fn update_bulk(mut self, bulk: &State) -> Self { self.profile.specification = DFTSpecification::from_state(bulk); - self.profile.bulk = bulk.clone(); + self.bulk = bulk.clone(); self.grand_potential = None; self.interfacial_tension = None; self @@ -174,7 +187,7 @@ where ) -> FeosResult>> { let a = self.profile.dn_dmu()?; let a_unit = a.get2(0, 0); - let b = -self.profile.bulk.temperature * self.profile.dn_dt()?; + let b = -self.profile.temperature * self.profile.dn_dt(&self.bulk)?; let b_unit = b.get(0); let h_ads = LU::new((a / a_unit).into_value())?.solve(&(b / b_unit).into_value()); @@ -184,67 +197,68 @@ where pub fn enthalpy_of_adsorption(&mut self) -> FeosResult { Ok(self .partial_molar_enthalpy_of_adsorption()? - .dot(&Dimensionless::new(self.profile.bulk.molefracs.clone()))) + .dot(&Dimensionless::new(self.bulk.molefracs.clone()))) } fn _henry_coefficients + Copy + DctNum>( &self, temperature: N, ) -> DVector { - if self.profile.bulk.eos.m().iter().any(|&m| m != 1.0) { + if self.profile.functional.m().iter().any(|&m| m != 1.0) { panic!( "Henry coefficients can only be calculated for spherical and heterosegmented molecules!" ) }; let pot = (self.profile.external_potential.mapv(N::from) - * self.profile.bulk.temperature.to_reduced()) + * self.profile.temperature.to_reduced()) .mapv(|v| v / temperature); let exp_pot = pot.mapv(|v| (-v).exp()); - let functional_contributions = self.profile.bulk.eos.contributions(); + let functional_contributions = self.profile.functional.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(temperature)) .collect(); let convolver = ConvolverFFT::<_, D>::plan(&self.profile.grid, &weight_functions); - let bonds = self - .profile - .bulk - .eos - .bond_integrals(temperature, &exp_pot, convolver.as_ref()); + let bonds = + self.profile + .functional + .bond_integrals(temperature, &exp_pot, convolver.as_ref()); self.profile.integrate_reduced_segments(&(exp_pot * bonds)) } pub fn henry_coefficients(&self) -> HenryCoefficient> { - let t = self.profile.bulk.temperature.to_reduced(); - Volume::from_reduced(self._henry_coefficients(t)) / (RGAS * self.profile.bulk.temperature) + let t = self.profile.temperature.to_reduced(); + Volume::from_reduced(self._henry_coefficients(t)) / (RGAS * self.profile.temperature) } pub fn ideal_gas_enthalpy_of_adsorption(&self) -> MolarEnergy> { - let t = Dual64::from(self.profile.bulk.temperature.to_reduced()).derivative(); + let t = Dual64::from(self.profile.temperature.to_reduced()).derivative(); let h_dual = self._henry_coefficients(t); let h = h_dual.map(|h| h.re); let dh = h_dual.map(|h| h.eps); - let t = self.profile.bulk.temperature.to_reduced(); - RGAS * self.profile.bulk.temperature + let t = self.profile.temperature.to_reduced(); + RGAS * self.profile.temperature * Dimensionless::from_reduced((&h - t * dh).component_div(&h)) } pub fn into_dyn(self) -> PoreProfile { // initialize convolver - let t = self.profile.bulk.temperature.to_reduced(); - let weight_functions = self.profile.bulk.eos.weight_functions(t); + let t = self.profile.temperature.to_reduced(); + let weight_functions = self.profile.functional.weight_functions(t); let convolver = ConvolverFFT::plan(&self.profile.grid, &weight_functions); PoreProfile { profile: DFTProfile { grid: self.profile.grid, convolver, + functional: self.profile.functional, + temperature: self.profile.temperature, density: self.profile.density.into_dyn(), specification: self.profile.specification, external_potential: self.profile.external_potential.into_dyn(), - bulk: self.profile.bulk, solver_log: self.profile.solver_log, }, + bulk: self.bulk, grand_potential: self.grand_potential, interfacial_tension: self.interfacial_tension, } diff --git a/crates/feos-dft/src/functional.rs b/crates/feos-dft/src/functional.rs index 975af4451..e7b6c30a8 100644 --- a/crates/feos-dft/src/functional.rs +++ b/crates/feos-dft/src/functional.rs @@ -106,6 +106,14 @@ pub trait HelmholtzEnergyFunctional: Residual { } } + /// Return the densities of all segments given the partial densities of the components. + fn segment_densities(&self, partial_density: &DVector) -> Array1 { + self.component_index() + .iter() + .map(|&c| partial_density[c]) + .collect() + } + fn ideal_chain_contribution(&self) -> IdealChainContribution { IdealChainContribution::new(&self.component_index(), &self.m()) } diff --git a/crates/feos-dft/src/geometry.rs b/crates/feos-dft/src/geometry.rs index cbdc88b36..bb48ff166 100644 --- a/crates/feos-dft/src/geometry.rs +++ b/crates/feos-dft/src/geometry.rs @@ -179,6 +179,15 @@ pub struct Axis { } impl Axis { + /// Create a new axis for the given geometry. + pub fn new(points: usize, length: Length, geometry: Geometry) -> Self { + match geometry { + Geometry::Cartesian => Self::new_cartesian(points, length, None), + Geometry::Cylindrical => Self::new_polar(points, length), + Geometry::Spherical => Self::new_spherical(points, length), + } + } + /// Create a new (equidistant) cartesian axis. /// /// The potential_offset is required to make sure that particles @@ -260,6 +269,15 @@ impl Axis { } } + pub fn shift(&mut self, x0: Length) { + if !matches!(self.geometry, Geometry::Cartesian) { + panic!("Cannot shift cylindrical or spherical axes!"); + } + let x0 = x0.into_reduced(); + self.grid -= x0; + self.edges -= x0; + } + /// Returns the total length of the axis. /// /// This includes the `potential_offset` and used e.g. diff --git a/crates/feos-dft/src/interface/mod.rs b/crates/feos-dft/src/interface/mod.rs index c68349caa..f1c477c5b 100644 --- a/crates/feos-dft/src/interface/mod.rs +++ b/crates/feos-dft/src/interface/mod.rs @@ -1,12 +1,14 @@ //! Density profiles at planar interfaces and interfacial tensions. +use crate::DFTSpecification; use crate::functional::HelmholtzEnergyFunctional; -use crate::geometry::{Axis, Grid}; +use crate::geometry::{Axis, Geometry, Grid}; use crate::pdgt::PdgtFunctionalProperties; -use crate::profile::DFTProfile; +use crate::profile::{DFTProfile, InitialDensity}; use crate::solver::DFTSolver; -use feos_core::{Contributions, FeosError, FeosResult, PhaseEquilibrium, ReferenceSystem}; +use feos_core::{Contributions, FeosError, FeosResult, PhaseEquilibrium, ReferenceSystem, State}; use ndarray::{Array1, Array2, Axis as Axis_nd, Ix1, s}; use quantity::{Area, Density, Length, Moles, SurfaceTension, Temperature}; +use std::f64::consts::{FRAC_PI_3, PI}; mod surface_tension_diagram; pub use surface_tension_diagram::SurfaceTensionDiagram; @@ -16,32 +18,43 @@ const MIN_WIDTH: f64 = 100.0; /// Density profile and properties of a planar interface. #[derive(Clone)] -pub struct PlanarInterface { +pub struct Interface { + pub geometry: Geometry, pub profile: DFTProfile, pub vle: PhaseEquilibrium, pub surface_tension: Option, - pub equimolar_radius: Option, + pub surface_of_tension: Option, } -impl PlanarInterface { +impl Interface { pub fn solve_inplace(&mut self, solver: Option<&DFTSolver>, debug: bool) -> FeosResult<()> { // Solve the profile - self.profile.solve(solver, debug)?; + self.profile + .solve(self.vle.states.each_mut(), solver, debug)?; // postprocess - self.surface_tension = Some( - (self.profile.integrate( - &(self.profile.grand_potential_density()? - + self.vle.vapor().pressure(Contributions::Total)), - )) / Area::from_reduced(1.0), - ); - let delta_rho = self.vle.liquid().density - self.vle.vapor().density; - self.equimolar_radius = Some( - self.profile - .integrate(&(self.profile.density.sum_axis(Axis_nd(0)) - self.vle.vapor().density)) - / delta_rho - / Area::from_reduced(1.0), + let delta_p = self.vle.liquid().pressure(Contributions::Total) + - self.vle.vapor().pressure(Contributions::Total); + let delta_omega = self.profile.integrate( + &(self.profile.grand_potential_density()? + + self.vle.vapor().pressure(Contributions::Total)), ); + match self.geometry { + Geometry::Cartesian => { + self.surface_tension = Some(delta_omega / Area::from_reduced(1.0)); + } + Geometry::Cylindrical => { + self.surface_tension = + Some((delta_omega * delta_p / (PI * Length::from_reduced(1.0))).sqrt()); + self.surface_of_tension = + Some((delta_omega / (PI * Length::from_reduced(1.0) * delta_p)).sqrt()); + } + Geometry::Spherical => { + self.surface_tension = + Some((delta_omega * delta_p * delta_p / (16.0 * FRAC_PI_3)).cbrt()); + self.surface_of_tension = Some((delta_omega / (2.0 * FRAC_PI_3 * delta_p)).cbrt()); + } + }; Ok(()) } @@ -52,59 +65,70 @@ impl PlanarInterface { } } -impl PlanarInterface { - pub fn new(vle: &PhaseEquilibrium, n_grid: usize, l_grid: Length) -> Self { +impl Interface { + pub fn new(vle: &PhaseEquilibrium, axis: Axis, density: Density>) -> Self { // generate grid - let grid = Grid::Cartesian1(Axis::new_cartesian(n_grid, l_grid, None)); + let geometry = axis.geometry; + let grid = Grid::new_1d(axis); + + // initialize profile + let mut profile = DFTProfile::new( + grid, + &vle.vapor().eos, + vle.vapor().temperature, + None, + InitialDensity::Density(density), + DFTSpecification::from_state(vle.vapor()), + ); + profile.fix_total_moles(vle.vapor()); + + // shift the profile so that the equimolar surface is at x=0 + if matches!(geometry, Geometry::Cartesian) { + let rho_v = segment_densities(vle.vapor()); + let excess = Density::from_shape_fn(profile.density.raw_dim(), |(i, z)| { + profile.density.get((i, z)) - rho_v.get(i) + }); + let delta_rho = vle.liquid().density - vle.vapor().density; + let ze = + (profile.integrate_segments(&excess).sum() / delta_rho) / Area::from_reduced(1.0); + profile.grid.axes_mut()[0].shift(ze); + } Self { - profile: DFTProfile::new(grid, vle.vapor(), None, None), + geometry, + profile, vle: vle.clone(), surface_tension: None, - equimolar_radius: None, + surface_of_tension: None, } } - pub fn from_tanh( + pub fn planar_from_tanh( vle: &PhaseEquilibrium, n_grid: usize, l_grid: Length, critical_temperature: Temperature, - fix_equimolar_surface: bool, ) -> Self { - let mut profile = Self::new(vle, n_grid, l_grid); - - // calculate segment indices - let indices = &profile.profile.bulk.eos.component_index(); + // calculate segment densities + let rho_v = segment_densities(vle.vapor()); + let rho_l = segment_densities(vle.liquid()); + let ax = Axis::new_cartesian(n_grid, l_grid, None); // calculate density profile let z0 = 0.5 * l_grid.to_reduced(); let (z0, sign) = (z0.abs(), -z0.signum()); let reduced_temperature = (vle.vapor().temperature / critical_temperature).into_value(); - profile.profile.density = - Density::from_shape_fn(profile.profile.density.raw_dim(), |(i, z)| { - let rho_v = profile.vle.vapor().partial_density().get(indices[i]); - let rho_l = profile.vle.liquid().partial_density().get(indices[i]); - 0.5 * (rho_l - rho_v) - * (sign * (profile.profile.grid.grids()[0][z] - z0) / 3.0 - * (2.4728 - 2.3625 * reduced_temperature)) - .tanh() - + 0.5 * (rho_l + rho_v) - }); - - // specify specification - if fix_equimolar_surface { - profile.profile.fix_total_moles(); - } + let density = Density::from_shape_fn((rho_v.len(), ax.grid.len()), |(i, z)| { + let (rho_v, rho_l) = (rho_v.get(i), rho_l.get(i)); + 0.5 * (rho_l - rho_v) + * (sign * (ax.grid[z] - z0) / 3.0 * (2.4728 - 2.3625 * reduced_temperature)).tanh() + + 0.5 * (rho_l + rho_v) + }); - profile + Self::new(vle, ax, density) } - pub fn from_pdgt( - vle: &PhaseEquilibrium, - n_grid: usize, - fix_equimolar_surface: bool, - ) -> FeosResult { + pub fn planar_from_pdgt(vle: &PhaseEquilibrium, n_grid: usize) -> FeosResult { let dft = &vle.vapor().eos; if dft.component_index().len() != 1 { @@ -127,49 +151,38 @@ impl PlanarInterface { // create PlanarInterface let l_grid = Length::from_reduced(MIN_WIDTH).max(w_pdgt * RELATIVE_WIDTH); - let mut profile = Self::new(vle, n_grid, l_grid); // interpolate density profile from pDGT to DFT + let ax = Axis::new_cartesian(n_grid, l_grid, None); let r = l_grid * 0.5; - profile.profile.density = interp_symmetric( - vle, - z_pdgt, - rho_pdgt, - &profile.vle, - profile.profile.grid.grids()[0], - r, - )?; - - // specify specification - if fix_equimolar_surface { - profile.profile.fix_total_moles(); - } + let density = interp_symmetric(vle, z_pdgt, rho_pdgt, vle, &ax.grid, r)?; - Ok(profile) + Ok(Self::new(vle, ax, density)) } -} -impl PlanarInterface { - pub fn shift_equimolar_inplace(&mut self) { - let s = self.profile.density.shape(); - let m = &self.profile.bulk.eos.m(); - let mut rho_l = Density::from_reduced(0.0); - let mut rho_v = Density::from_reduced(0.0); - let mut rho = Density::zeros(s[1]); - for i in 0..s[0] { - rho_l += self.profile.density.get((i, 0)) * m[i]; - rho_v += self.profile.density.get((i, s[1] - 1)) * m[i]; - rho += &(&self.profile.density.index_axis(Axis_nd(0), i) * m[i]); + pub fn curved( + planar_interface: &Interface, + n_grid: usize, + l_grid: Length, + radius: Length, + geometry: Geometry, + ) -> FeosResult { + let ax = Axis::new(n_grid, l_grid, geometry); + let density = interp_symmetric( + &planar_interface.vle, + planar_interface.profile.axes()[0].clone(), + planar_interface.profile.density.clone(), + &planar_interface.vle, + &ax.grid, + radius, + )?; + let mut vle = planar_interface.vle.clone(); + if radius.is_sign_negative() { + let [vapor, liquid] = vle.states; + vle = PhaseEquilibrium::two_phase(liquid, vapor); } - let x = (rho - rho_v) / (rho_l - rho_v); - let ze = self.profile.grid.axes()[0].edges[0] + self.profile.integrate(&x).to_reduced(); - self.profile.grid.axes_mut()[0].grid -= ze; - } - - pub fn shift_equimolar(mut self) -> Self { - self.shift_equimolar_inplace(); - self + Ok(Self::new(&vle, ax, density)) } /// Relative adsorption of component `i' with respect to `j': \Gamma_i^(j) @@ -337,14 +350,12 @@ fn interp_symmetric( z: &Array1, radius: Length, ) -> FeosResult>> { + let rho_v = segment_densities(vle_pdgt.vapor()); + let rho_l = segment_densities(vle_pdgt.liquid()); let reduced_density = Array2::from_shape_fn(rho_pdgt.raw_dim(), |(i, j)| { - ((rho_pdgt.get((i, j)) - vle_pdgt.vapor().partial_density().get(i)) - / (vle_pdgt.liquid().partial_density().get(i) - - vle_pdgt.vapor().partial_density().get(i))) - .into_value() - - 0.5 + ((rho_pdgt.get((i, j)) - rho_v.get(i)) / (rho_l.get(i) - rho_v.get(i))).into_value() - 0.5 }); - let segments = vle_pdgt.vapor().eos.component_index().len(); + let segments = rho_v.len(); let mut reduced_density = interp( &z_pdgt.to_reduced(), &reduced_density, @@ -363,16 +374,23 @@ fn interp_symmetric( if radius.is_sign_negative() { reduced_density += 1.0; } + let rho_v = segment_densities(vle.vapor()); + let rho_l = segment_densities(vle.liquid()); Ok(Density::from_shape_fn( reduced_density.raw_dim(), - |(i, j)| { - reduced_density[(i, j)] - * (vle.liquid().partial_density().get(i) - vle.vapor().partial_density().get(i)) - + vle.vapor().partial_density().get(i) - }, + |(i, j)| reduced_density[(i, j)] * (rho_l.get(i) - rho_v.get(i)) + rho_v.get(i), )) } +/// Densities of all segments in the given bulk state. +fn segment_densities(state: &State) -> Density> { + Density::from_reduced( + state + .eos + .segment_densities(&state.partial_density().into_reduced()), + ) +} + fn interp( x_old: &Array1, y_old: &Array2, diff --git a/crates/feos-dft/src/interface/surface_tension_diagram.rs b/crates/feos-dft/src/interface/surface_tension_diagram.rs index cb32bf107..95d01dfe2 100644 --- a/crates/feos-dft/src/interface/surface_tension_diagram.rs +++ b/crates/feos-dft/src/interface/surface_tension_diagram.rs @@ -1,4 +1,4 @@ -use super::PlanarInterface; +use super::Interface; use crate::functional::HelmholtzEnergyFunctional; use crate::solver::DFTSolver; use feos_core::{PhaseEquilibrium, ReferenceSystem, StateVec}; @@ -9,7 +9,7 @@ const DEFAULT_GRID_POINTS: usize = 2048; /// Container structure for the efficient calculation of surface tension diagrams. pub struct SurfaceTensionDiagram { - pub profiles: Vec>, + pub profiles: Vec>, } // #[expect(clippy::ptr_arg)] @@ -20,32 +20,29 @@ impl SurfaceTensionDiagram { n_grid: Option, l_grid: Option, critical_temperature: Option, - fix_equimolar_surface: Option, solver: Option<&DFTSolver>, ) -> Self { let n_grid = n_grid.unwrap_or(DEFAULT_GRID_POINTS); - let mut profiles: Vec> = Vec::with_capacity(dia.len()); + let mut profiles: Vec> = Vec::with_capacity(dia.len()); for vle in dia.iter() { // check for a critical point let profile = if PhaseEquilibrium::is_trivial_solution(vle.vapor(), vle.liquid()) { - Ok(PlanarInterface::from_tanh( + Ok(Interface::planar_from_tanh( vle, 10, Length::from_reduced(100.0), Temperature::from_reduced(500.0), - fix_equimolar_surface.unwrap_or(false), )) } else { // initialize with pDGT for single segments and tanh for mixtures and segment DFT if vle.vapor().eos.component_index().len() == 1 { - PlanarInterface::from_pdgt(vle, n_grid, false) + Interface::planar_from_pdgt(vle, n_grid) } else { - Ok(PlanarInterface::from_tanh( + Ok(Interface::planar_from_tanh( vle, n_grid, l_grid.unwrap_or(Length::from_reduced(100.0)), critical_temperature.unwrap_or(Temperature::from_reduced(500.0)), - fix_equimolar_surface.unwrap_or(false), )) } .map(|mut profile| { diff --git a/crates/feos-dft/src/lib.rs b/crates/feos-dft/src/lib.rs index d9e93f99a..fc16b7105 100644 --- a/crates/feos-dft/src/lib.rs +++ b/crates/feos-dft/src/lib.rs @@ -19,6 +19,6 @@ pub use functional::{HelmholtzEnergyFunctional, HelmholtzEnergyFunctionalDyn, Mo pub use functional_contribution::FunctionalContribution; pub use geometry::{Axis, Geometry, Grid}; pub use pdgt::PdgtFunctionalProperties; -pub use profile::{DFTProfile, DFTSpecification}; +pub use profile::{DFTProfile, DFTSpecification, InitialDensity}; pub use solver::{DFTSolver, DFTSolverLog}; pub use weight_functions::{WeightFunction, WeightFunctionInfo, WeightFunctionShape}; diff --git a/crates/feos-dft/src/profile/mod.rs b/crates/feos-dft/src/profile/mod.rs index 33726a661..3460fa2ba 100644 --- a/crates/feos-dft/src/profile/mod.rs +++ b/crates/feos-dft/src/profile/mod.rs @@ -6,7 +6,7 @@ use feos_core::{FeosError, FeosResult, ReferenceSystem, State}; use nalgebra::{DVector, Dyn, U1}; use ndarray::{Array, Array1, ArrayBase, Axis as Axis_nd, Data, Dimension, Ix0, arr1}; use num_dual::DualNum; -use quantity::{_Volume, Density, Energy, Entropy, Length, Moles, Quantity, Volume}; +use quantity::{_Volume, Density, Energy, Entropy, Length, Moles, Quantity, Temperature, Volume}; use std::ops::{Add, MulAssign}; use std::sync::Arc; @@ -55,14 +55,11 @@ impl DFTSpecification { } pub fn from_state(state: &State) -> Self { - let component_index = state.eos.component_index().into_owned(); let m = arr1(&state.eos.m()); - let partial_density = state.partial_density().into_reduced(); let temperature = state.temperature.into_reduced(); - let bulk_density = component_index - .iter() - .map(|&i| partial_density[i]) - .collect(); + let bulk_density = state + .eos + .segment_densities(&state.partial_density().into_reduced()); let bulk_convolver = PeriodicConvolver::<_, Ix0>::new_0d(&state.eos.weight_functions(temperature)); let mut solver_log = DFTSolverLog::new(); @@ -84,19 +81,44 @@ impl DFTSpecification { } } +/// Initial condition for the density profile of a [DFTProfile]. +pub enum InitialDensity { + /// Use the provided density profile. + Density(Density>), + /// Initialize the density profile from the given bulk partial densities, + /// accounting for the external potential and bond integrals. + Bulk(Density>), +} + +/// Intermediate results of the evaluation of the Euler-Lagrange equation. +pub(crate) struct Projection { + /// $e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}+V_\alpha^\mathrm{ext}\right)}$ + pub exp_dfdrho: Array, + /// Product of the bond integrals $\prod_{\alpha'}I_{\alpha\alpha'}$ + pub bonds: Array, + /// Configurational integrals $z_\alpha$ + pub z: Array1, + /// Fugacities $f_\alpha$ determined from the specification + pub fugacity: Array1, + /// Projected density profile $f_\alpha e^{\ldots}\prod_{\alpha'}I_{\alpha\alpha'}$ + pub density: Array, +} + #[derive(Clone)] /// A one-, two-, or three-dimensional density profile. pub struct DFTProfile { pub grid: Grid, pub convolver: Arc>, + pub functional: F, + pub temperature: Temperature, pub density: Density>, pub specification: DFTSpecification, pub external_potential: Array, - pub bulk: State, pub solver_log: DFTSolverLog, } impl DFTProfile { + /// Return the grid points of every axis. pub fn axes(&self) -> Vec>> { self.grid .grids() @@ -106,6 +128,7 @@ impl DFTProfile { .collect() } + /// Return the cell edges of every axis. pub fn edges(&self) -> Vec>> { self.grid .axes() @@ -122,25 +145,24 @@ where { /// 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. + /// If no external potential is specified, it is set to 0. pub fn new( grid: Grid, - bulk: &State, + functional: &F, + temperature: Temperature, external_potential: Option<&Energy>>, - density: Option<&Density>>, + density: InitialDensity, + specification: DFTSpecification, ) -> Self { // initialize convolver - let t = bulk.temperature.to_reduced(); - let weight_functions = bulk.eos.weight_functions(t); + let t = temperature.to_reduced(); + let weight_functions = functional.weight_functions(t); let convolver = ConvolverFFT::plan(&grid, &weight_functions); // initialize external potential let external_potential = external_potential.map_or_else( || { - let mut n_grid = vec![bulk.eos.component_index().len()]; + let mut n_grid = vec![functional.component_index().len()]; grid.axes() .iter() .for_each(|&ax| n_grid.push(ax.grid.len())); @@ -158,34 +180,55 @@ where ); // initialize density - let density = density.map_or_else( - || { + let density = match density { + InitialDensity::Density(density) => density, + InitialDensity::Bulk(partial_density) => { let exp_dfdrho = (-&external_potential).mapv(f64::exp); - let mut bonds = bulk.eos.bond_integrals(t, &exp_dfdrho, convolver.as_ref()); + let mut bonds = functional.bond_integrals(t, &exp_dfdrho, convolver.as_ref()); bonds *= &exp_dfdrho; let mut density = Array::zeros(external_potential.raw_dim()); - let bulk_density = bulk.partial_density().into_reduced(); - for (s, &c) in bulk.eos.component_index().iter().enumerate() { - density.index_axis_mut(Axis_nd(0), s).assign( - &(bonds.index_axis(Axis_nd(0), s).map(|is| is.min(1.0)) * bulk_density[c]), - ); + let bulk_density = functional.segment_densities(&partial_density.into_reduced()); + for (s, &rho) in bulk_density.iter().enumerate() { + density + .index_axis_mut(Axis_nd(0), s) + .assign(&(bonds.index_axis(Axis_nd(0), s).map(|is| is.min(1.0)) * rho)); } Density::from_reduced(density) - }, - Clone::clone, - ); + } + }; Self { grid, convolver, + functional: functional.clone(), + temperature, density, - specification: DFTSpecification::from_state(bulk), + specification, external_potential, - bulk: bulk.clone(), solver_log: DFTSolverLog::new(), } } + /// Create a new density profile in equilibrium with a bulk state. + /// + /// 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. + pub fn from_bulk( + grid: Grid, + bulk: &State, + external_potential: Option<&Energy>>, + ) -> Self { + Self::new( + grid, + &bulk.eos, + bulk.temperature, + external_potential, + InitialDensity::Bulk(bulk.partial_density()), + DFTSpecification::from_state(bulk), + ) + } + /// Set a constraint to fix the number of particles of every component based on /// the current density profile. pub fn fix_moles(&mut self) { @@ -195,11 +238,12 @@ where /// Set a constraint to fix the total number of particles based on /// the current density profile. - pub fn fix_total_moles(&mut self) { + /// + /// The ratios of the fugacities are fixed to those of the bulk state. + pub fn fix_total_moles(&mut self, bulk: &State) { let rho = self.density.to_reduced(); let moles = self.grid.integrate_reduced_comp(&rho).sum(); - let DFTSpecification::ChemicalPotential(fugacity) = - DFTSpecification::from_state(&self.bulk) + let DFTSpecification::ChemicalPotential(fugacity) = DFTSpecification::from_state(bulk) else { unreachable!() }; @@ -208,7 +252,7 @@ where /// Return the external potential in SI units. pub fn external_potential(&self) -> Energy> { - Entropy::from_reduced(self.external_potential.clone()) * self.bulk.temperature + Entropy::from_reduced(self.external_potential.clone()) * self.temperature } } @@ -224,8 +268,8 @@ where profile: &ArrayBase, ) -> DVector { let integral = self.grid.integrate_reduced_comp(profile); - let mut integral_comp = DVector::zeros(self.bulk.eos.components()); - for (i, &j) in self.bulk.eos.component_index().iter().enumerate() { + let mut integral_comp = DVector::zeros(self.functional.components()); + for (i, &j) in self.functional.component_index().iter().enumerate() { integral_comp[j] = integral[i]; } integral_comp @@ -257,7 +301,7 @@ where Volume::from_reduced(functional_determinant) * value.sum() } - /// Integrate each component individually. + /// Integrate each segment individually. pub fn integrate_comp, U>( &self, profile: &Quantity, U>, @@ -270,7 +314,11 @@ where }) } - /// Integrate each segment individually and aggregate to components. + /// Integrate each segment individually and assign the result to the + /// corresponding component. + /// + /// Only valid for profiles for which all segments of a molecule have the + /// same integral (e.g., density profiles). pub fn integrate_segments, U>( &self, profile: &Quantity, U>, @@ -279,8 +327,8 @@ where _Volume: Add, { let integral = self.integrate_comp(profile); - let mut integral_comp = Quantity::new(DVector::zeros(self.bulk.eos.components())); - for (i, &j) in self.bulk.eos.component_index().iter().enumerate() { + let mut integral_comp = Quantity::new(DVector::zeros(self.functional.components())); + for (i, &j) in self.functional.component_index().iter().enumerate() { integral_comp.set(j, integral.get(i)); } integral_comp @@ -303,33 +351,26 @@ where ::Larger: Dimension, F: HelmholtzEnergyFunctional, { + /// Calculate the (reduced) weighted densities of every functional contribution. pub fn weighted_densities(&self) -> FeosResult>> { Ok(self .convolver .weighted_densities(&self.density.to_reduced())) } + /// Calculate the residual of the Euler-Lagrange equation and its norm. pub fn residual(&mut self, log: bool) -> FeosResult<(Array, f64)> { let density = self.density.to_reduced(); - let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&density, log)?; + let (res, res_norm, _) = self.euler_lagrange_equation(&density, log)?; Ok((res, res_norm)) } - #[expect(clippy::type_complexity)] - pub(crate) fn fugacity( - &mut self, - density: &Array, - ) -> FeosResult<( - Array, - Array1, - Array, - Array1, - )> { + pub(crate) fn project(&mut self, density: &Array) -> FeosResult> { // calculate reduced temperature - let temperature = self.bulk.temperature.to_reduced(); + let temperature = self.temperature.to_reduced(); // calculate intrinsic functional derivative - let (_, mut dfdrho) = self.bulk.eos.functional_derivative( + let (_, mut dfdrho) = self.functional.functional_derivative( temperature, density, self.convolver.as_ref(), @@ -341,16 +382,15 @@ where dfdrho .outer_iter_mut() - .zip(self.bulk.eos.m().iter()) + .zip(self.functional.m().iter()) .for_each(|(mut df, &m)| df /= m); // calculate bond integrals let exp_dfdrho = dfdrho.mapv(|x| (-x).exp()); - let bonds = self - .bulk - .eos - .bond_integrals(temperature, &exp_dfdrho, self.convolver.as_ref()); - let mut rho_projected = &exp_dfdrho * bonds; + let bonds = + self.functional + .bond_integrals(temperature, &exp_dfdrho, self.convolver.as_ref()); + let mut rho_projected = &exp_dfdrho * &bonds; let z = self.grid.integrate_reduced_comp(&rho_projected); // calculate fugacity based on the given specification @@ -364,7 +404,13 @@ where x *= f; }); - Ok((exp_dfdrho, z, rho_projected, fugacity)) + Ok(Projection { + exp_dfdrho, + bonds, + z, + fugacity, + density: rho_projected, + }) } #[expect(clippy::type_complexity)] @@ -372,21 +418,16 @@ where &mut self, density: &Array, log: bool, - ) -> FeosResult<( - Array, - f64, - Array, - Array1, - Array, - )> { + ) -> FeosResult<(Array, f64, Projection)> { // calculate functional derivatives and fugacity - let (exp_dfdrho, z, rho_projected, _) = self.fugacity(density)?; + let projection = self.project(density)?; + let rho_projected = &projection.density; // calculate residual let mut res = if log { rho_projected.mapv(f64::ln) - density.mapv(f64::ln) } else { - &rho_projected - density + rho_projected - density }; // set residual to 0 where external potentials are overwhelming @@ -397,16 +438,26 @@ where // calculate the norm of the residual let res_norm = - (density - &rho_projected).mapv(|x| x * x).sum().sqrt() / (res.len() as f64).sqrt(); + (density - rho_projected).mapv(|x| x * x).sum().sqrt() / (res.len() as f64).sqrt(); if res_norm.is_finite() { - Ok((res, res_norm, exp_dfdrho, z, rho_projected)) + Ok((res, res_norm, projection)) } else { Err(FeosError::IterationFailed("Euler-Lagrange equation".into())) } } - pub fn solve(&mut self, solver: Option<&DFTSolver>, debug: bool) -> FeosResult<()> { + /// Solve the Euler-Lagrange equation. + /// + /// For specifications other than `ChemicalPotential`, the provided bulk + /// states are updated to be in equilibrium with the converged profile. + /// If `debug` is true, no error is returned if the solver does not converge. + pub fn solve( + &mut self, + bulk_states: [&mut State; B], + solver: Option<&DFTSolver>, + debug: bool, + ) -> FeosResult<()> { // unwrap solver let solver = solver.cloned().unwrap_or_default(); @@ -418,22 +469,24 @@ where // Update bulk state if !matches!(self.specification, DFTSpecification::ChemicalPotential(_)) { - // solve a bulk profile with the Newton solver - let mut bulk_profile = DFTProfile::::new(Grid::Bulk, &self.bulk, None, None); - let (_, _, _, fugacity) = self.fugacity(&density)?; - bulk_profile.specification = DFTSpecification::ChemicalPotential(fugacity); - let solver = DFTSolver::new(None).newton(None, None, None, None); - bulk_profile.solve(Some(&solver), false)?; - - // create the state based on the results from the bulk profile - let component_index = self.bulk.eos.component_index(); - let mut partial_density = self.bulk.partial_density(); - bulk_profile - .density - .into_iter() - .enumerate() - .for_each(|(i, r)| partial_density.set(component_index[i], r)); - self.bulk = State::new_density(&self.bulk.eos, self.bulk.temperature, partial_density)?; + let fugacity = self.project(&density)?.fugacity; + for bulk in bulk_states { + // solve a bulk profile with the Newton solver + let mut bulk_profile = DFTProfile::::from_bulk(Grid::Bulk, bulk, None); + bulk_profile.specification = DFTSpecification::ChemicalPotential(fugacity.clone()); + let solver = DFTSolver::new(None).newton(None, None, None, None); + bulk_profile.solve([], Some(&solver), false)?; + + // create the state based on the results from the bulk profile + let component_index = self.functional.component_index(); + let mut partial_density = bulk.partial_density(); + bulk_profile + .density + .into_iter() + .enumerate() + .for_each(|(i, r)| partial_density.set(component_index[i], r)); + *bulk = State::new_density(&self.functional, self.temperature, partial_density)?; + } } // Update profile diff --git a/crates/feos-dft/src/profile/properties.rs b/crates/feos-dft/src/profile/properties.rs index fcdb18f9b..a0a136b8a 100644 --- a/crates/feos-dft/src/profile/properties.rs +++ b/crates/feos-dft/src/profile/properties.rs @@ -4,7 +4,7 @@ use crate::convolver::{Convolver, PeriodicConvolver}; use crate::functional_contribution::FunctionalContribution; use crate::solver::DFTSolverLog; use crate::{ConvolverFFT, HelmholtzEnergyFunctional, WeightFunctionInfo}; -use feos_core::{Contributions, FeosResult, ReferenceSystem, Total}; +use feos_core::{Contributions, FeosResult, ReferenceSystem, State, Total}; use nalgebra::{DMatrix, DVector}; use ndarray::{Array, Array1, Axis, Dimension, Ix0, RemoveAxis}; use num_dual::{Dual64, DualNum}; @@ -29,10 +29,10 @@ where /// Calculate the grand potential density $\omega$. pub fn grand_potential_density(&self) -> FeosResult>> { // Calculate residual Helmholtz energy density and functional derivative - let t = self.bulk.temperature.to_reduced(); + let t = self.temperature.to_reduced(); let rho = self.density.to_reduced(); let mut solver_log = DFTSolverLog::new(); - let (mut f, dfdrho) = self.bulk.eos.functional_derivative( + let (mut f, dfdrho) = self.functional.functional_derivative( t, &rho, self.convolver.as_ref(), @@ -43,12 +43,12 @@ where for ((rho, dfdrho), &m) in rho .outer_iter() .zip(dfdrho.outer_iter()) - .zip(self.bulk.eos.m().iter()) + .zip(self.functional.m().iter()) { f -= &((&dfdrho + m) * &rho); } - let bond_lengths = self.bulk.eos.bond_lengths(t); + let bond_lengths = self.functional.bond_lengths(t); for segment in bond_lengths.node_indices() { let n = bond_lengths.neighbors(segment).count(); f += &(&rho.index_axis(Axis(0), segment.index()) * (0.5 * n as f64)); @@ -62,12 +62,13 @@ where Ok(self.integrate(&self.grand_potential_density()?)) } - /// Calculate the (residual) intrinsic functional derivative $\frac{\delta\mathcal{F}}{\delta\rho_i(\mathbf{r})}$. + /// Calculate the reduced residual Helmholtz energy density $\beta\hat f^\mathrm{res}$ and + /// functional derivative $\beta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})$. #[expect(clippy::type_complexity)] pub fn functional_derivative(&self) -> FeosResult<(Array, Array)> { let mut solver_log = DFTSolverLog::new(); - self.bulk.eos.functional_derivative( - self.bulk.temperature.to_reduced(), + self.functional.functional_derivative( + self.temperature.to_reduced(), &self.density.to_reduced(), self.convolver.as_ref(), &mut solver_log, @@ -92,10 +93,9 @@ where { let density_dual = density.mapv(N::from); let weighted_densities = convolver.weighted_densities(&density_dual); - let functional_contributions = self.bulk.eos.contributions(); + let functional_contributions = self.functional.contributions(); let mut helmholtz_energy_density: Array = self - .bulk - .eos + .functional .ideal_chain_contribution() .helmholtz_energy_density(&density.mapv(N::from))?; for (c, wd) in functional_contributions.into_iter().zip(weighted_densities) { @@ -118,9 +118,9 @@ where /// Untested with heterosegmented functionals. pub fn residual_entropy_density(&self) -> FeosResult>> { // initialize convolver - let temperature = self.bulk.temperature.to_reduced(); + let temperature = self.temperature.to_reduced(); let temperature_dual = Dual64::from(temperature).derivative(); - let functional_contributions = self.bulk.eos.contributions(); + let functional_contributions = self.functional.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(temperature_dual)) @@ -151,11 +151,10 @@ where let density_dual = density.mapv(Dual64::from); let temperature_dual = Dual64::from(temperature).derivative(); let weighted_densities = convolver.weighted_densities(&density_dual); - let functional_contributions = self.bulk.eos.contributions(); + let functional_contributions = self.functional.contributions(); let mut helmholtz_energy_density: Vec> = Vec::new(); helmholtz_energy_density.push( - self.bulk - .eos + self.functional .ideal_chain_contribution() .helmholtz_energy_density(&density.mapv(Dual64::from))?, ); @@ -190,7 +189,7 @@ where temperature: Dual64, density: &Array, ) -> Array { - let lambda = self.bulk.eos.lift_total().ln_lambda3(temperature); + let lambda = self.functional.lift_total().ln_lambda3(temperature); let mut phi = Array::zeros(density.raw_dim().remove_axis(Axis(0))); for (i, rhoi) in density.outer_iter().enumerate() { phi += &rhoi.mapv(|rhoi| (lambda[i] + rhoi.ln() - 1.0) * rhoi); @@ -206,9 +205,9 @@ where contributions: Contributions, ) -> FeosResult>> { // initialize convolver - let temperature = self.bulk.temperature.to_reduced(); + let temperature = self.temperature.to_reduced(); let temperature_dual = Dual64::from(temperature).derivative(); - let functional_contributions = self.bulk.eos.contributions(); + let functional_contributions = self.functional.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(temperature_dual)) @@ -256,9 +255,9 @@ where D::Larger: Dimension, { // initialize convolver - let temperature = self.bulk.temperature.to_reduced(); + let temperature = self.temperature.to_reduced(); let temperature_dual = Dual64::from(temperature).derivative(); - let functional_contributions = self.bulk.eos.contributions(); + let functional_contributions = self.functional.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(temperature_dual)) @@ -306,13 +305,12 @@ where &mut self, lhs: &Array, ) -> FeosResult> { - let t = self.bulk.temperature.into_reduced(); + let t = self.temperature.into_reduced(); let rho = self.density.to_reduced(); let second_partial_derivatives = - self.bulk - .eos + self.functional .second_partial_derivatives(t, &rho, self.convolver.as_ref())?; - let (_, _, exp_dfdrho, _, _) = self.euler_lagrange_equation(&rho, false)?; + let exp_dfdrho = self.project(&rho)?.exp_dfdrho; let rhs = |x: &_| { let delta_functional_derivative = Self::delta_functional_derivative( @@ -322,9 +320,9 @@ where ); let mut xm = x.clone(); xm.outer_iter_mut() - .zip(self.bulk.eos.m().iter()) + .zip(self.functional.m().iter()) .for_each(|(mut x, &m)| x *= m); - let delta_i = self.bulk.eos.delta_bond_integrals( + let delta_i = self.functional.delta_bond_integrals( t, &exp_dfdrho, &delta_functional_derivative, @@ -338,12 +336,12 @@ where /// 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$ pub fn drho_dmu(&mut self) -> FeosResult> { - let shape: Vec<_> = std::iter::once(&self.bulk.eos.components()) + let shape: Vec<_> = std::iter::once(&self.functional.components()) .chain(self.density.shape()) .copied() .collect(); let mut drho_dmu = Array::zeros(shape).into_dimensionality().unwrap(); - let component_index = self.bulk.eos.component_index().into_owned(); + let component_index = self.functional.component_index().into_owned(); for (k, mut d) in drho_dmu.outer_iter_mut().enumerate() { let mut lhs = self.density.to_reduced(); for (i, mut l) in lhs.outer_iter_mut().enumerate() { @@ -354,7 +352,7 @@ where d.assign(&self.density_derivative(&lhs)?); } Ok(Quantity::from_reduced( - drho_dmu / self.bulk.temperature.to_reduced(), + drho_dmu / self.temperature.to_reduced(), )) } @@ -371,42 +369,42 @@ where } /// 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}}$ - pub fn drho_dp(&mut self) -> FeosResult> { + pub fn drho_dp(&mut self, bulk: &State) -> FeosResult> { let mut lhs = self.density.to_reduced(); - let v = self.bulk.partial_molar_volume().to_reduced(); + let v = bulk.partial_molar_volume().to_reduced(); for (mut l, &c) in lhs .outer_iter_mut() - .zip(self.bulk.eos.component_index().iter()) + .zip(self.functional.component_index().iter()) { l *= v[c]; } Ok(Quantity::from_reduced( - self.density_derivative(&lhs)? / self.bulk.temperature.to_reduced(), + self.density_derivative(&lhs)? / self.temperature.to_reduced(), )) } /// 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}}$ - pub fn dn_dp(&mut self) -> FeosResult { - let drho_dp = self.drho_dp()?; + pub fn dn_dp(&mut self, bulk: &State) -> FeosResult { + let drho_dp = self.drho_dp(bulk)?; Ok(self.integrate_segments(&drho_dp)) } /// 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}}$ - pub fn drho_dt(&mut self) -> FeosResult> { + pub fn drho_dt(&mut self, bulk: &State) -> FeosResult> { let rho = self.density.to_reduced(); - let t = self.bulk.temperature.to_reduced(); + let t = self.temperature.to_reduced(); let rho_dual = rho.mapv(Dual64::from); let t_dual = Dual64::from(t).derivative(); let mut solver_log = DFTSolverLog::new(); // calculate intrinsic functional derivative - let functional_contributions = self.bulk.eos.contributions(); + let functional_contributions = self.functional.contributions(); let weight_functions: Vec> = functional_contributions .into_iter() .map(|c| c.weight_functions(t_dual)) .collect(); let convolver: Arc> = ConvolverFFT::plan(&self.grid, &weight_functions); - let (_, mut dfdrho) = self.bulk.eos.functional_derivative( + let (_, mut dfdrho) = self.functional.functional_derivative( t_dual, &rho_dual, convolver.as_ref(), @@ -417,17 +415,12 @@ where dfdrho += &(&self.external_potential * t).mapv(|v| Dual64::from(v) / t_dual); // calculate bulk functional derivative - let partial_density = self.bulk.partial_density().into_reduced(); - let rho_bulk: Array1<_> = self - .bulk - .eos - .component_index() - .iter() - .map(|&i| partial_density[i]) - .collect(); + let rho_bulk = self + .functional + .segment_densities(&bulk.partial_density().into_reduced()); let rho_bulk_dual = rho_bulk.mapv(Dual64::from); let bulk_convolver = PeriodicConvolver::<_, Ix0>::new_0d(&weight_functions); - let (_, dfdrho_bulk) = self.bulk.eos.functional_derivative( + let (_, dfdrho_bulk) = self.functional.functional_derivative( t_dual, &rho_bulk_dual, bulk_convolver.as_ref(), @@ -436,7 +429,7 @@ where dfdrho .outer_iter_mut() .zip(dfdrho_bulk) - .zip(self.bulk.eos.m().iter()) + .zip(self.functional.m().iter()) .for_each(|((mut df, df_b), &m)| { df.map_inplace(|df| *df = (*df - df_b) / Dual64::from(m)); }); @@ -444,17 +437,14 @@ where // calculate bond integrals let exp_dfdrho = dfdrho.mapv(|x| (-x).exp()); let bonds = self - .bulk - .eos + .functional .bond_integrals(t_dual, &exp_dfdrho, convolver.as_ref()); // solve for drho_dt let mut lhs = (exp_dfdrho * bonds).mapv(|x| (-x.ln() * t_dual).eps); - let x = - (self.bulk.partial_molar_volume() * self.bulk.dp_dt(Contributions::Total)).to_reduced(); + let x = (bulk.partial_molar_volume() * bulk.dp_dt(Contributions::Total)).to_reduced(); let x: Array1<_> = self - .bulk - .eos + .functional .component_index() .iter() .map(|&i| x[i]) @@ -462,7 +452,7 @@ where lhs.outer_iter_mut() .zip(rho.outer_iter()) .zip(rho_bulk) - .zip(self.bulk.eos.m().iter()) + .zip(self.functional.m().iter()) .zip(x) .for_each(|((((mut lhs, rho), rho_b), &m), x)| { lhs += &(&rho / rho_b).mapv(f64::ln); @@ -480,8 +470,8 @@ where } /// 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}}$ - pub fn dn_dt(&mut self) -> FeosResult { - let drho_dt = self.drho_dt()?; + pub fn dn_dt(&mut self, bulk: &State) -> FeosResult { + let drho_dt = self.drho_dt(bulk)?; Ok(self.integrate_segments(&drho_dt)) } } diff --git a/crates/feos-dft/src/solvation/pair_correlation.rs b/crates/feos-dft/src/solvation/pair_correlation.rs index 20eeab73b..6aba6309c 100644 --- a/crates/feos-dft/src/solvation/pair_correlation.rs +++ b/crates/feos-dft/src/solvation/pair_correlation.rs @@ -23,6 +23,7 @@ impl, T: PairPotential> PairPotential for C { /// Density profile and properties of a test particle system. pub struct PairCorrelation { pub profile: DFTProfile, + pub bulk: State, pub pair_correlation_function: Option>, pub self_solvation_free_energy: Option, pub structure_factor: Option, @@ -41,7 +42,8 @@ impl PairCorrelation { let grid = Grid::Spherical(axis); Self { - profile: DFTProfile::new(grid, bulk, Some(&external_potential), None), + profile: DFTProfile::from_bulk(grid, bulk, Some(&external_potential)), + bulk: bulk.clone(), pair_correlation_function: None, self_solvation_free_energy: None, structure_factor: None, @@ -50,10 +52,10 @@ impl PairCorrelation { pub fn solve_inplace(&mut self, solver: Option<&DFTSolver>, debug: bool) -> FeosResult<()> { // Solve the profile - self.profile.solve(solver, debug)?; + self.profile.solve([&mut self.bulk], solver, debug)?; // calculate pair correlation function - let partial_density = self.profile.bulk.partial_density(); + let partial_density = self.bulk.partial_density(); self.pair_correlation_function = Some(Array::from_shape_fn( self.profile.density.raw_dim(), |(i, j)| (self.profile.density.get((i, j)) / partial_density.get(i)).into_value(), @@ -61,14 +63,12 @@ impl PairCorrelation { // calculate self solvation free energy self.self_solvation_free_energy = Some(self.profile.integrate( - &(self.profile.grand_potential_density()? - + self.profile.bulk.pressure(Contributions::Total)), + &(self.profile.grand_potential_density()? + self.bulk.pressure(Contributions::Total)), )); // calculate structure factor self.structure_factor = Some( - (self.profile.total_moles() - self.profile.bulk.density * self.profile.volume()) - .to_reduced() + (self.profile.total_moles() - self.bulk.density * self.profile.volume()).to_reduced() + 1.0, ); diff --git a/crates/feos-dft/src/solvation/solvation_profile.rs b/crates/feos-dft/src/solvation/solvation_profile.rs index 08893ad24..268751287 100644 --- a/crates/feos-dft/src/solvation/solvation_profile.rs +++ b/crates/feos-dft/src/solvation/solvation_profile.rs @@ -13,6 +13,7 @@ const CUTOFF_RADIUS: f64 = 14.0; /// Density profile and properties of a solute in a inhomogeneous bulk fluid. pub struct SolvationProfile { pub profile: DFTProfile, + pub bulk: State, pub grand_potential: Option, pub solvation_free_energy: Option, } @@ -20,7 +21,7 @@ pub struct SolvationProfile { impl SolvationProfile { pub fn solve_inplace(&mut self, solver: Option<&DFTSolver>, debug: bool) -> FeosResult<()> { // Solve the profile - self.profile.solve(solver, debug)?; + self.profile.solve([&mut self.bulk], solver, debug)?; // calculate grand potential density let omega = self.profile.grand_potential()?; @@ -28,7 +29,7 @@ impl SolvationProfile { // calculate solvation free energy self.solvation_free_energy = Some( - (omega + self.profile.bulk.pressure(Contributions::Total) * self.profile.volume()) + (omega + self.bulk.pressure(Contributions::Total) * self.profile.volume()) / Moles::from_reduced(1.0), ); @@ -90,7 +91,8 @@ impl SolvationProfile { let grid = Grid::Cartesian3(x, y, z); Ok(Self { - profile: DFTProfile::new(grid, bulk, Some(&external_potential), None), + profile: DFTProfile::from_bulk(grid, bulk, Some(&external_potential)), + bulk: bulk.clone(), grand_potential: None, solvation_free_energy: None, }) diff --git a/crates/feos-dft/src/solver.rs b/crates/feos-dft/src/solver.rs index 9348b90e6..067d78f95 100644 --- a/crates/feos-dft/src/solver.rs +++ b/crates/feos-dft/src/solver.rs @@ -312,7 +312,7 @@ where for k in 0..picard.max_iter { // calculate residual - let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&*rho, picard.log)?; + let (res, res_norm, _) = self.euler_lagrange_equation(&*rho, picard.log)?; self.solver_log.add_residual(solver, k, res_norm, verbosity); // check for convergence @@ -354,7 +354,7 @@ where } else { rho + alpha * delta_rho }; - let Ok((_, res2, _, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { + let Ok((_, res2, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { continue; }; if res2 > res0 { @@ -367,7 +367,7 @@ where } else { rho + 0.5 * alpha * delta_rho }; - let Ok((_, res1, _, _, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { + let Ok((_, res1, _)) = self.euler_lagrange_equation(&rho_new, logarithm) else { continue; }; @@ -417,7 +417,7 @@ where let m = resm.len() + 1; // calculate residual - let (res, res_norm, _, _, _) = self.euler_lagrange_equation(&*rho, anderson.log)?; + let (res, res_norm, _) = self.euler_lagrange_equation(&*rho, anderson.log)?; self.solver_log.add_residual(solver, k, res_norm, verbosity); // check for convergence @@ -477,8 +477,7 @@ where let solver = if newton.log { "Newton (log)" } else { "Newton" }; for k in 0..newton.max_iter { // calculate initial residual - let (res, res_norm, exp_dfdrho, z, rho_p) = - self.euler_lagrange_equation(rho, newton.log)?; + let (res, res_norm, projection) = self.euler_lagrange_equation(rho, newton.log)?; self.solver_log.add_residual(solver, k, res_norm, verbosity); // check convergence @@ -490,8 +489,8 @@ where let second_partial_derivatives = self.solver_log .time_function("second partial derivatives", || { - self.bulk.eos.second_partial_derivatives( - self.bulk.temperature.into_reduced(), + self.functional.second_partial_derivatives( + self.temperature.into_reduced(), rho, self.convolver.as_ref(), ) @@ -506,20 +505,20 @@ where ); delta_functional_derivative .outer_iter_mut() - .zip(self.bulk.eos.m().iter()) + .zip(self.functional.m().iter()) .for_each(|(mut q, &m)| q /= m); - let delta_i = self.bulk.eos.delta_bond_integrals( - self.bulk.temperature.into_reduced(), - &exp_dfdrho, + let delta_i = self.functional.delta_bond_integrals( + self.temperature.into_reduced(), + &projection.exp_dfdrho, &delta_functional_derivative, self.convolver.as_ref(), ); let mut delta_exp_dfdrho = delta_functional_derivative - delta_i; - let delta_z = -self - .grid - .integrate_reduced_comp(&(&delta_exp_dfdrho * &exp_dfdrho)); + let delta_z = -self.grid.integrate_reduced_comp( + &(&delta_exp_dfdrho * &projection.exp_dfdrho * &projection.bonds), + ); - let delta_fugacity = self.specification.delta_fugacity(&z, &delta_z); + let delta_fugacity = self.specification.delta_fugacity(&projection.z, &delta_z); delta_exp_dfdrho .outer_iter_mut() .zip(delta_fugacity.iter()) @@ -527,7 +526,11 @@ where z -= f; }); - let rho = if newton.log { &*rho } else { &rho_p }; + let rho = if newton.log { + &*rho + } else { + &projection.density + }; delta_rho + delta_exp_dfdrho * rho }; diff --git a/crates/feos/tests/gc_pcsaft/dft.rs b/crates/feos/tests/gc_pcsaft/dft.rs index 6046ab4c3..82bca14fb 100644 --- a/crates/feos/tests/gc_pcsaft/dft.rs +++ b/crates/feos/tests/gc_pcsaft/dft.rs @@ -5,7 +5,7 @@ use feos::gc_pcsaft::{GcPcSaft, GcPcSaftFunctional, GcPcSaftParameters}; use feos_core::parameter::{ChemicalRecord, Identifier, IdentifierOption, SegmentRecord}; use feos_core::{PhaseEquilibrium, State, Verbosity}; use feos_dft::adsorption::{ExternalPotential, Pore1D, PoreSpecification}; -use feos_dft::interface::PlanarInterface; +use feos_dft::interface::Interface; use feos_dft::{DFTSolver, Geometry}; use nalgebra::dvector; use quantity::*; @@ -160,7 +160,7 @@ fn test_dft() -> Result<(), Box> { let points = 2048; let tc = State::critical_point(&&func, (), None, None, Default::default())?.temperature; let vle = PhaseEquilibrium::pure(&&func, t, None, Default::default())?; - let profile = PlanarInterface::from_tanh(&vle, points, w, tc, false).solve(None)?; + let profile = Interface::planar_from_tanh(&vle, points, w, tc).solve(None)?; println!( "hetero {} {} {}", profile.surface_tension.unwrap(), @@ -205,7 +205,7 @@ fn test_dft_assoc() -> Result<(), Box> { let w = 100.0 * ANGSTROM; let points = 4096; let vle = PhaseEquilibrium::pure(&func, t, None, Default::default())?; - let profile = PlanarInterface::from_tanh(&vle, points, w, 600.0 * KELVIN, false).solve(None)?; + let profile = Interface::planar_from_tanh(&vle, points, w, 600.0 * KELVIN).solve(None)?; println!( "hetero {} {} {}", profile.surface_tension.unwrap(), @@ -254,6 +254,6 @@ fn test_dft_newton() -> Result<(), Box> { let solver = DFTSolver::new(Some(Verbosity::Iter)) .picard_iteration(None, Some(10), None, None) .newton(None, None, None, None); - PlanarInterface::from_tanh(&vle, points, w, tc, false).solve(Some(&solver))?; + Interface::planar_from_tanh(&vle, points, w, tc).solve(Some(&solver))?; Ok(()) } diff --git a/crates/feos/tests/pcsaft/dft.rs b/crates/feos/tests/pcsaft/dft.rs index b04a40aa1..59bea1705 100644 --- a/crates/feos/tests/pcsaft/dft.rs +++ b/crates/feos/tests/pcsaft/dft.rs @@ -6,7 +6,7 @@ use feos::ideal_gas::{Joback, JobackParameters}; use feos::pcsaft::{PcSaft, PcSaftFunctional, PcSaftParameters}; use feos_core::parameter::IdentifierOption; use feos_core::{Contributions, EquationOfState, FeosResult, PhaseEquilibrium, State, Verbosity}; -use feos_dft::interface::PlanarInterface; +use feos_dft::interface::Interface; use feos_dft::{DFTSolver, PdgtFunctionalProperties}; use nalgebra::dvector; use ndarray::Axis; @@ -107,10 +107,9 @@ fn test_dft_propane() -> Result<(), Box> { let vle_pure = PhaseEquilibrium::pure(&&func_pure, t, None, Default::default())?; let vle_full = PhaseEquilibrium::pure(&&func_full, t, None, Default::default())?; let vle_full_vec = PhaseEquilibrium::pure(&&func_full_vec, t, None, Default::default())?; - let profile_pure = PlanarInterface::from_tanh(&vle_pure, points, w, tc, false).solve(None)?; - let profile_full = PlanarInterface::from_tanh(&vle_full, points, w, tc, false).solve(None)?; - let profile_full_vec = - PlanarInterface::from_tanh(&vle_full_vec, points, w, tc, false).solve(None)?; + let profile_pure = Interface::planar_from_tanh(&vle_pure, points, w, tc).solve(None)?; + let profile_full = Interface::planar_from_tanh(&vle_full, points, w, tc).solve(None)?; + let profile_full_vec = Interface::planar_from_tanh(&vle_full_vec, points, w, tc).solve(None)?; let _ = (&func_pure).solve_pdgt(&vle_pure, 198, 0, None)?; println!( "pure {} {} {} {}", @@ -216,9 +215,9 @@ fn test_dft_propane_newton() -> Result<(), Box> { let tc = State::critical_point(&&func, (), None, None, Default::default())?.temperature; let vle = PhaseEquilibrium::pure(&&func, t, None, Default::default())?; let solver = DFTSolver::new(Some(Verbosity::Iter)).newton(None, None, None, None); - PlanarInterface::from_tanh(&vle, points, w, tc, false).solve(Some(&solver))?; + Interface::planar_from_tanh(&vle, points, w, tc).solve(Some(&solver))?; let solver = DFTSolver::new(Some(Verbosity::Iter)).newton(Some(true), None, None, None); - PlanarInterface::from_tanh(&vle, points, w, tc, false).solve(Some(&solver))?; + Interface::planar_from_tanh(&vle, points, w, tc).solve(Some(&solver))?; Ok(()) } @@ -237,9 +236,8 @@ fn test_dft_water() -> Result<(), Box> { let tc = State::critical_point(&&func_pure, (), None, None, Default::default())?.temperature; let vle_pure = PhaseEquilibrium::pure(&&func_pure, t, None, Default::default())?; let vle_full_vec = PhaseEquilibrium::pure(&&func_full_vec, t, None, Default::default())?; - let profile_pure = PlanarInterface::from_tanh(&vle_pure, points, w, tc, false).solve(None)?; - let profile_full_vec = - PlanarInterface::from_tanh(&vle_full_vec, points, w, tc, false).solve(None)?; + let profile_pure = Interface::planar_from_tanh(&vle_pure, points, w, tc).solve(None)?; + let profile_full_vec = Interface::planar_from_tanh(&vle_full_vec, points, w, tc).solve(None)?; println!( "pure {} {} {}", profile_pure.surface_tension.unwrap(), @@ -319,7 +317,7 @@ fn test_entropy_bulk_values() -> Result<(), Box> { )?); let func = EquationOfState::new(joback, PcSaftFunctional::new(params)); let vle = PhaseEquilibrium::pure(&&func, 350.0 * KELVIN, None, Default::default())?; - let profile = PlanarInterface::from_pdgt(&vle, 2048, false)?.solve(None)?; + let profile = Interface::planar_from_pdgt(&vle, 2048)?.solve(None)?; let s_res = profile.profile.entropy_density(Contributions::Residual)?; let s_tot = profile.profile.entropy_density(Contributions::Total)?; println!( @@ -356,7 +354,7 @@ fn test_entropy_bulk_values() -> Result<(), Box> { s_res.get(2047), profile.vle.vapor().molar_entropy(Contributions::Residual) / profile.vle.vapor().molar_volume, - max_relative = 1e-8, + max_relative = 1e-6, ); assert_relative_eq!( s_tot.get(0), @@ -367,7 +365,7 @@ fn test_entropy_bulk_values() -> Result<(), Box> { assert_relative_eq!( s_tot.get(2047), profile.vle.vapor().molar_entropy(Contributions::Total) / profile.vle.vapor().molar_volume, - max_relative = 1e-8, + max_relative = 1e-6, ); Ok(()) } diff --git a/docs/api/dft.md b/docs/api/dft.md index 4505caa29..62faeec6c 100644 --- a/docs/api/dft.md +++ b/docs/api/dft.md @@ -31,7 +31,7 @@ Implementations of Helmholtz energy functionals for DFT. .. autosummary:: :toctree: generated/ - PlanarInterface + Interface SurfaceTensionDiagram ``` diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs index 15eaa4120..2205f8ca4 100644 --- a/py-feos/src/dft/adsorption/pore.rs +++ b/py-feos/src/dft/adsorption/pore.rs @@ -164,6 +164,11 @@ impl PyPoreProfile { )) } + #[getter] + fn get_bulk(&self) -> PyState { + PyState(self.0.bulk.clone()) + } + #[getter] fn get_grand_potential(&self) -> Option { self.0.grand_potential diff --git a/py-feos/src/dft/interface/mod.rs b/py-feos/src/dft/interface/mod.rs index dd628605f..dc7ef8010 100644 --- a/py-feos/src/dft/interface/mod.rs +++ b/py-feos/src/dft/interface/mod.rs @@ -1,3 +1,5 @@ +use super::PyGeometry; +use super::adsorption::PyGrid; use super::profile::impl_profile; use super::{PyDFTSolver, PyDFTSolverLog}; use crate::error::PyFeosError; @@ -5,8 +7,9 @@ use crate::ideal_gas::IdealGasModel; use crate::phase_equilibria::PyPhaseEquilibrium; use crate::residual::ResidualModel; use crate::state::{PyContributions, PyState}; -use feos_core::EquationOfState; -use feos_dft::interface::PlanarInterface; +use feos_core::{EquationOfState, FeosError}; +use feos_dft::Grid; +use feos_dft::interface::Interface; use nalgebra::{DMatrix, DVector}; use ndarray::*; use numpy::*; @@ -17,16 +20,30 @@ use std::sync::Arc; mod surface_tension_diagram; pub use surface_tension_diagram::PySurfaceTensionDiagram; -/// A one-dimensional density profile of a vapor-liquid or liquid-liquid interface. -#[pyclass(name = "PlanarInterface")] -pub struct PyPlanarInterface( - PlanarInterface, ResidualModel>>>, -); +/// A one-dimensional density profile of a planar, cylindrical or spherical +/// vapor-liquid or liquid-liquid interface. +/// +/// Parameters +/// ---------- +/// grid : Grid +/// The grid on which the density is calculated +/// (`Grid.cartesian_1d`, `Grid.polar`, or `Grid.spherical`). +/// vle : PhaseEquilibrium +/// The bulk phase equilibrium. +/// density : SIArray2 +/// The initial density profile. +/// +/// Returns +/// ------- +/// Interface +/// +#[pyclass(name = "Interface")] +pub struct PyInterface(Interface, ResidualModel>>>); -impl_profile!(PyPlanarInterface); +impl_profile!(PyInterface); #[pymethods] -impl PyPlanarInterface { +impl PyInterface { /// Initialize a planar interface with a hyperbolic tangent. /// /// Parameters @@ -40,35 +57,22 @@ impl PyPlanarInterface { /// critical_temperature: SINumber /// An estimate for the critical temperature of the system. /// Used to guess the width of the interface. - /// fix_equimolar_surface: bool, optional - /// If True use additional constraints to fix the - /// equimolar surface of the system. - /// Defaults to False. /// /// Returns /// ------- - /// PlanarInterface + /// Interface /// #[staticmethod] - #[pyo3( - text_signature = "(vle, n_grid, l_grid, critical_temperature, fix_equimolar_surface=None)" - )] - #[pyo3(signature = (vle, n_grid, l_grid, critical_temperature, fix_equimolar_surface=None))] - fn from_tanh( + #[pyo3(text_signature = "(vle, n_grid, l_grid, critical_temperature)")] + #[pyo3(signature = (vle, n_grid, l_grid, critical_temperature))] + fn planar_from_tanh( vle: &PyPhaseEquilibrium, n_grid: usize, l_grid: Length, critical_temperature: Temperature, - fix_equimolar_surface: Option, ) -> Self { - let profile = PlanarInterface::from_tanh( - &vle.0, - n_grid, - l_grid, - critical_temperature, - fix_equimolar_surface.unwrap_or(false), - ); - PyPlanarInterface(profile) + let profile = Interface::planar_from_tanh(&vle.0, n_grid, l_grid, critical_temperature); + PyInterface(profile) } /// Initialize a planar interface with a pDGT calculation. @@ -79,69 +83,83 @@ impl PyPlanarInterface { /// The bulk phase equilibrium. /// n_grid : int /// The number of grid points. - /// fix_equimolar_surface: bool, optional - /// If True use additional constraints to fix the - /// equimolar surface of the system. - /// Defaults to False. /// /// Returns /// ------- - /// PlanarInterface + /// Interface /// #[staticmethod] - #[pyo3(text_signature = "(vle, n_grid, fix_equimolar_surface=None)")] - #[pyo3(signature = (vle, n_grid, fix_equimolar_surface=None))] - fn from_pdgt( - vle: &PyPhaseEquilibrium, - n_grid: usize, - fix_equimolar_surface: Option, - ) -> PyResult { - let profile = - PlanarInterface::from_pdgt(&vle.0, n_grid, fix_equimolar_surface.unwrap_or(false)) - .map_err(PyFeosError::from)?; - Ok(PyPlanarInterface(profile)) + #[pyo3(text_signature = "(vle, n_grid)")] + #[pyo3(signature = (vle, n_grid))] + fn planar_from_pdgt(vle: &PyPhaseEquilibrium, n_grid: usize) -> PyResult { + let profile = Interface::planar_from_pdgt(&vle.0, n_grid).map_err(PyFeosError::from)?; + Ok(Self(profile)) } - /// Initialize a planar interface with a provided density profile. + /// Initialize a curved interface from a converged planar interface. + /// + /// The planar density profile is interpolated onto the new grid so that + /// its equimolar surface is located at the specified radius. /// /// Parameters /// ---------- - /// vle : PhaseEquilibrium - /// The bulk phase equilibrium. + /// planar_interface : Interface + /// A (converged) planar interface. /// n_grid : int /// The number of grid points. /// l_grid: SINumber /// The width of the calculation domain. - /// density_profile: SIArray2 - /// Initial condition for the density profile iterations + /// radius: SINumber + /// The initial radius of the equimolar surface. A positive radius + /// corresponds to a droplet, a negative radius to a bubble. + /// geometry: Geometry + /// The geometry of the interface (cylindrical or spherical). /// /// Returns /// ------- - /// PlanarInterface + /// Interface /// #[staticmethod] - fn from_density_profile( - vle: &PyPhaseEquilibrium, + #[pyo3(text_signature = "(planar_interface, n_grid, l_grid, radius, geometry)")] + fn curved( + planar_interface: &PyInterface, n_grid: usize, l_grid: Length, - density_profile: Density>, - ) -> Self { - let mut profile = PlanarInterface::new(&vle.0, n_grid, l_grid); - profile.profile.density = density_profile; - PyPlanarInterface(profile) + radius: Length, + geometry: PyGeometry, + ) -> PyResult { + let profile = + Interface::curved(&planar_interface.0, n_grid, l_grid, radius, geometry.into()) + .map_err(PyFeosError::from)?; + Ok(Self(profile)) + } + + #[new] + fn new( + grid: PyGrid, + vle: &PyPhaseEquilibrium, + density: Density>, + ) -> PyResult { + let (Grid::Cartesian1(axis) | Grid::Polar(axis) | Grid::Spherical(axis)) = grid.0 else { + return Err(PyFeosError::from(FeosError::Error( + "An interface requires a 1D cartesian, polar, or spherical grid.".into(), + )) + .into()); + }; + Ok(Self(Interface::new(&vle.0, axis, density))) } } #[pymethods] -impl PyPlanarInterface { +impl PyInterface { #[getter] fn get_surface_tension(&mut self) -> Option { self.0.surface_tension } #[getter] - fn get_equimolar_radius(&mut self) -> Option { - self.0.equimolar_radius + fn get_surface_of_tension(&mut self) -> Option { + self.0.surface_of_tension } #[getter] diff --git a/py-feos/src/dft/interface/surface_tension_diagram.rs b/py-feos/src/dft/interface/surface_tension_diagram.rs index e8a12461e..64c68c4ce 100644 --- a/py-feos/src/dft/interface/surface_tension_diagram.rs +++ b/py-feos/src/dft/interface/surface_tension_diagram.rs @@ -1,4 +1,4 @@ -use super::PyPlanarInterface; +use super::PyInterface; use crate::dft::PyDFTSolver; use crate::phase_equilibria::PyPhaseEquilibrium; use crate::state::PyStateVec; @@ -29,10 +29,6 @@ use std::sync::Arc; /// critical_temperature: SINumber, optional /// An estimate for the critical temperature, used to initialize /// density profile (default: 500 K) -/// fix_equimolar_surface: bool, optional -/// If True use additional constraints to fix the -/// equimolar surface of the system. -/// Defaults to False. /// solver: DFTSolver, optional /// Custom solver options /// @@ -48,16 +44,15 @@ pub struct PySurfaceTensionDiagram( impl PySurfaceTensionDiagram { #[new] #[pyo3( - text_signature = "(dia, init_densities=None, n_grid=None, l_grid=None, critical_temperature=None, fix_equimolar_surface=None, solver=None)" + text_signature = "(dia, init_densities=None, n_grid=None, l_grid=None, critical_temperature=None, solver=None)" )] - #[pyo3(signature = (dia, init_densities=None, n_grid=None, l_grid=None, critical_temperature=None, fix_equimolar_surface=None, solver=None))] + #[pyo3(signature = (dia, init_densities=None, n_grid=None, l_grid=None, critical_temperature=None, solver=None))] pub fn isotherm( dia: Vec, init_densities: Option, n_grid: Option, l_grid: Option, critical_temperature: Option, - fix_equimolar_surface: Option, solver: Option, ) -> PyResult { let x: Vec<_> = dia.into_iter().map(|vle| vle.0).collect(); @@ -67,17 +62,16 @@ impl PySurfaceTensionDiagram { n_grid, l_grid, critical_temperature, - fix_equimolar_surface, solver.map(|s| s.0).as_ref(), ))) } #[getter] - fn get_profiles(&self) -> Vec { + fn get_profiles(&self) -> Vec { self.0 .profiles .iter() - .map(|p| PyPlanarInterface(p.clone())) + .map(|p| PyInterface(p.clone())) .collect() } diff --git a/py-feos/src/dft/mod.rs b/py-feos/src/dft/mod.rs index 07d1a6839..138f26b17 100644 --- a/py-feos/src/dft/mod.rs +++ b/py-feos/src/dft/mod.rs @@ -18,7 +18,7 @@ mod solver; pub(crate) use adsorption::{ PyAdsorption, PyExternalPotential, PyGrid, PyPore1D, PyPoreProfile, PyPoreSpecification, }; -pub(crate) use interface::{PyPlanarInterface, PySurfaceTensionDiagram}; +pub(crate) use interface::{PyInterface, PySurfaceTensionDiagram}; pub(crate) use solvation::PyPairCorrelation; #[cfg(feature = "rayon")] pub(crate) use solvation::PySolvationProfile; diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs index 5de657f24..252d80dc6 100644 --- a/py-feos/src/dft/profile.rs +++ b/py-feos/src/dft/profile.rs @@ -67,7 +67,7 @@ macro_rules! impl_profile { #[getter] fn get_temperature(&self) -> Temperature { - self.0.profile.bulk.temperature + self.0.profile.temperature } #[getter] @@ -90,11 +90,6 @@ macro_rules! impl_profile { self.0.profile.external_potential().clone().into_dyn() } - #[getter] - fn get_bulk(&self) -> PyState { - PyState(self.0.profile.bulk.clone()) - } - #[getter] fn get_solver_log(&self) -> PyDFTSolverLog { PyDFTSolverLog(self.0.profile.solver_log.clone()) @@ -189,24 +184,20 @@ macro_rules! impl_profile { Ok(self.0.profile.dn_dmu().map_err(PyFeosError::from)?) } - #[getter] - fn get_drho_dp(&mut self) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.drho_dp().map_err(PyFeosError::from)?.into_dyn()) + fn drho_dp(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.drho_dp(&bulk.0).map_err(PyFeosError::from)?.into_dyn()) } - #[getter] - fn get_dn_dp(&mut self) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.dn_dp().map_err(PyFeosError::from)?) + fn dn_dp(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.dn_dp(&bulk.0).map_err(PyFeosError::from)?) } - #[getter] - fn get_drho_dt(&mut self) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.drho_dt().map_err(PyFeosError::from)?.into_dyn()) + fn drho_dt(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.drho_dt(&bulk.0).map_err(PyFeosError::from)?.into_dyn()) } - #[getter] - fn get_dn_dt(&mut self) -> PyResult<> as std::ops::Div>::Output> { - Ok(self.0.profile.dn_dt().map_err(PyFeosError::from)?) + fn dn_dt(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { + Ok(self.0.profile.dn_dt(&bulk.0).map_err(PyFeosError::from)?) } } }; diff --git a/py-feos/src/dft/solvation.rs b/py-feos/src/dft/solvation.rs index 5da6ac9f8..0a5d3bb5c 100644 --- a/py-feos/src/dft/solvation.rs +++ b/py-feos/src/dft/solvation.rs @@ -79,6 +79,11 @@ impl PySolvationProfile { )) } + #[getter] + fn get_bulk(&self) -> PyState { + PyState(self.0.bulk.clone()) + } + #[getter] fn get_grand_potential(&self) -> Option { self.0.grand_potential @@ -121,6 +126,11 @@ impl PyPairCorrelation { Self(PairCorrelation::new(&bulk.0, test_particle, n_grid, width)) } + #[getter] + fn get_bulk(&self) -> PyState { + PyState(self.0.bulk.clone()) + } + #[getter] fn get_pair_correlation_function<'py>( &self, diff --git a/py-feos/src/lib.rs b/py-feos/src/lib.rs index ee84f1fbb..dd8047f83 100644 --- a/py-feos/src/lib.rs +++ b/py-feos/src/lib.rs @@ -210,7 +210,7 @@ fn feos(m: &Bound<'_, PyModule>) -> PyResult<()> { // Interface m.add_class::()?; - m.add_class::()?; + m.add_class::()?; m.add_class::()?; #[cfg(feature = "rayon")] From 9f8196d7a6f6ea9ce40686b024d09608cee2eac4 Mon Sep 17 00:00:00 2001 From: Philipp Rehner <69816385+prehner@users.noreply.github.com> Date: Mon, 28 Sep 2026 13:15:12 +0200 Subject: [PATCH 12/13] Updates to the DFT theory guide (#388) * Updates to the DFT theory guide * Add section on constrained DFT * More cleanups * Adapt Newton solver description to match EL equation and particle constraint DFT --- docs/theory/dft/derivatives.md | 38 +++--- docs/theory/dft/enthalpy_of_adsorption.md | 44 +++++-- docs/theory/dft/euler_lagrange_equation.md | 84 +++++++------ docs/theory/dft/functional_derivatives.md | 34 ++--- docs/theory/dft/ideal_gas.md | 4 +- docs/theory/dft/index.md | 1 + docs/theory/dft/particle_constraint.md | 55 +++++++++ docs/theory/dft/pdgt.md | 10 +- docs/theory/dft/solver.md | 137 +++++++++++++-------- 9 files changed, 270 insertions(+), 137 deletions(-) create mode 100644 docs/theory/dft/particle_constraint.md diff --git a/docs/theory/dft/derivatives.md b/docs/theory/dft/derivatives.md index 7c6771f02..9d0fd047d 100644 --- a/docs/theory/dft/derivatives.md +++ b/docs/theory/dft/derivatives.md @@ -3,15 +3,19 @@ For converged density profiles equilibrium properties can be calculated as parti The density profiles are calculated implicitly from the Euler-Lagrange equation, which can be written simplified as -$$\Omega_{\rho_i}(T,\lbrace\mu_k\rbrace,[\lbrace\rho_k(\mathbf{r})\rbrace])=F_{\rho_i}(T,[\lbrace\rho_k(\mathbf{r})\rbrace])-\mu_i+V_i^\mathrm{ext}(\mathbf{r})=0$$ (eqn:euler_lagrange) +$$ +\Omega_{\rho_i}(T,\lbrace\mu_k\rbrace,[\lbrace\rho_k(\mathbf{r})\rbrace])=F_{\rho_i}(T,[\lbrace\rho_k(\mathbf{r})\rbrace])-\mu_i+V_i^\mathrm{ext}(\mathbf{r})=0 +$$ (eqn:euler_lagrange) Incorporating bond integrals can be done similar to the section on the [Newton solver](solver.md) but will not be discussed in this section. The derivatives of the density profiles can then be calculated from the total differential of eq. {eq}`eqn:euler_lagrange`, leading to -$$\mathrm{d}\Omega_{\rho_i}(\mathbf{r})=\left(\frac{\partial\Omega_{\rho_i}(\mathbf{r})}{\partial T}\right)_{\mu_k,\rho_k}\mathrm{d}T+\sum_j\left(\frac{\partial\Omega_{\rho_i}(\mathbf{r})}{\partial\mu_j}\right)_{T,\mu_k,\rho_k}\mathrm{d}\mu_j+\int\sum_j\left(\frac{\delta\Omega_{\rho_i}(\mathbf{r})}{\delta\rho_j(\mathbf{r}')}\right)_{T,\mu_k,\rho_k}\delta\rho_j(\mathbf{r}')\mathrm{d}\mathbf{r}'=0$$ +$$\mathrm{d}\Omega_{\rho_i}(\mathbf{r})=\left(\frac{\partial\Omega_{\rho_i}(\mathbf{r})}{\partial T}\right)_{\mu_k,\rho_k}\mathrm{d}T+\sum_j\left(\frac{\partial\Omega_{\rho_i}(\mathbf{r})}{\partial\mu_j}\right)_{T,\mu_{k\neq j},\rho_k}\mathrm{d}\mu_j+\int\sum_j\left(\frac{\delta\Omega_{\rho_i}(\mathbf{r})}{\delta\rho_j(\mathbf{r}')}\right)_{T,\mu_k,\rho_{k\neq j}}\delta\rho_j(\mathbf{r}')\mathrm{d}\mathbf{r}'=0$$ Using eq. {eq}`eqn:euler_lagrange` and the shortened notation for derivatives of functionals in their natural variables, e.g., $F_T=\left(\frac{\partial F}{\partial T}\right)_{\rho_k}$, the expression can be simplified to -$$F_{T\rho_i}(\mathbf{r})\mathrm{d}T-\mathrm{d}\mu_i+\int\sum_j F_{\rho_i\rho_j}(\mathbf{r},\mathbf{r}')\delta\rho_j(\mathbf{r}')\mathrm{d}\mathbf{r}'=0$$ (eqn:gibbs_duhem) +$$ +F_{T\rho_i}(\mathbf{r})\mathrm{d}T-\mathrm{d}\mu_i+\int\sum_j F_{\rho_i\rho_j}(\mathbf{r},\mathbf{r}')\delta\rho_j(\mathbf{r}')\mathrm{d}\mathbf{r}'=0 +$$ (eqn:gibbs_duhem) Similar to the Gibbs-Duhem relation for bulk phases, eq. {eq}`eqn:gibbs_duhem` shows how temperature, chemical potentials and the density profiles in an inhomogeneous system cannot be varied independently. The derivatives of the density profiles with respect to the intensive variables can be directly identified as @@ -19,19 +23,21 @@ $$\int\sum_j F_{\rho_i\rho_j}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j( and -$$\int\sum_j F_{\rho_i\rho_j}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\mu_k}\right)_{T}\mathrm{d}\mathbf{r}'=\delta_{ik}$$ (eqn:drho_dmu) +$$ +\int\sum_j F_{\rho_i\rho_j}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\mu_k}\right)_{T}\mathrm{d}\mathbf{r}'=\delta_{ik} +$$ (eqn:drho_dmu) Both of these expressions are implicit (linear) equations for the derivatives. They can be solved rapidly analogously to the implicit expression appearing in the [Newton solver](solver.md). In practice, it is useful to explicitly cancel out the (often unknown) thermal de Broglie wavelength $\Lambda_i$ from the expression where it has no influence. This is done by splitting the intrinsic Helmholtz energy into an ideal gas and a residual part. -$$F=k_\mathrm{B}T\int\sum_im_i\rho_i(\mathbf{r})\left(\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)-1\right)\mathrm{d}\mathbf{r}+\mathcal{\hat F}^\mathrm{res}$$ +$$F=k_\mathrm{B}T\int\sum_im_i\rho_i(\mathbf{r})\left(\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)-1\right)\mathrm{d}\mathbf{r}+\hat F^\mathrm{res}$$ -Then $F_{\rho_i\rho_j}(\mathbf{r},\mathbf{r}')=m_i\frac{k_\mathrm{B}T}{\rho_i(\mathbf{r})}\delta_{ij}\delta(\mathbf{r}-\mathbf{r}')+\mathcal{\hat F}_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')$ and eq. {eq}`eqn:drho_dmu` can be rewritten as +Then $F_{\rho_i\rho_j}(\mathbf{r},\mathbf{r}')=m_i\frac{k_\mathrm{B}T}{\rho_i(\mathbf{r})}\delta_{ij}\delta(\mathbf{r}-\mathbf{r}')+\hat F_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')$ and eq. {eq}`eqn:drho_dmu` can be rewritten as -$$m_i\frac{k_\mathrm{B}T}{\rho_i(\mathbf{r})}\left(\frac{\partial\rho_i(\mathbf{r})}{\partial\mu_k}\right)_T+\int\sum_j\mathcal{\hat F}_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\mu_k}\right)_{T}\mathrm{d}\mathbf{r}'=\delta_{ik}$$ +$$m_i\frac{k_\mathrm{B}T}{\rho_i(\mathbf{r})}\left(\frac{\partial\rho_i(\mathbf{r})}{\partial\mu_k}\right)_T+\int\sum_j\hat F_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\mu_k}\right)_{T}\mathrm{d}\mathbf{r}'=\delta_{ik}$$ In practice, the division by the density should be avoided for numerical reasons and the energetic properties are reduced with the factor $\beta=\frac{1}{k_\mathrm{B}T}$. The final expression is -$$m_i\left(\frac{\partial\rho_i(\mathbf{r})}{\partial\beta\mu_k}\right)_T+\rho_i(\mathbf{r})\int\sum_j\beta\mathcal{\hat F}_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\beta\mu_k}\right)_{T}\mathrm{d}\mathbf{r}'=\rho_i(\mathbf{r})\delta_{ik}$$ +$$m_i\left(\frac{\partial\rho_i(\mathbf{r})}{\partial\beta\mu_k}\right)_T+\rho_i(\mathbf{r})\int\sum_j\beta\hat F_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\beta\mu_k}\right)_{T}\mathrm{d}\mathbf{r}'=\rho_i(\mathbf{r})\delta_{ik}$$ For the temperature derivative, it is more convenient to express eq. {eq}`eqn:gibbs_duhem` in terms of the pressure of a bulk phase that is in equilibrium with the inhomogeneous system. In the following, only paths along **constant bulk composition** are considered. With this constraint, the total differential of the chemical potential simplifies to @@ -47,25 +53,25 @@ $$s_i=v_i\left(\frac{\partial p}{\partial T}\right)_{V,N_k}-F_{T\rho_i}^\mathrm{ Then, the intrinsic Helmholtz energy can be split into an ideal gas and a residual part again, and the de Broglie wavelength cancels. -$$\begin{align*} +$$\begin{aligned} &\left(m_ik_\mathrm{B}\ln\left(\frac{\rho_i(\mathbf{r})}{\rho_i^\mathrm{b}}\right)+F_{T\rho_i}^\mathrm{res}(\mathbf{r})-F_{T\rho_i}^\mathrm{b,res}+v_i\left(\frac{\partial p}{\partial T}\right)_{V,N_k}\right)\mathrm{d}T\\ -&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+m_i\frac{k_\mathrm{B}T}{\rho_i(\mathbf{r})}\delta\rho_i(\mathbf{r})+\int\sum_j\mathcal{\hat F}_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\delta\rho_j(\mathbf{r}')\mathrm{d}\mathbf{r}'=v_i\mathrm{d}p -\end{align*}$$ +&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+m_i\frac{k_\mathrm{B}T}{\rho_i(\mathbf{r})}\delta\rho_i(\mathbf{r})+\int\sum_j\hat F_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\delta\rho_j(\mathbf{r}')\mathrm{d}\mathbf{r}'=v_i\mathrm{d}p +\end{aligned}$$ Finally the expressions for the derivatives with respect to pressure -$$m_i\left(\frac{\partial\rho_i(\mathbf{r})}{\partial\beta p}\right)_{T,x_k}+\rho_i(\mathbf{r})\int\sum_j\beta\mathcal{\hat F}_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\beta p}\right)_{T,x_k}\mathrm{d}\mathbf{r}'=v_i\rho_i(\mathbf{r})$$ +$$m_i\left(\frac{\partial\rho_i(\mathbf{r})}{\partial\beta p}\right)_{T,x_k}+\rho_i(\mathbf{r})\int\sum_j\beta\hat F_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial\beta p}\right)_{T,x_k}\mathrm{d}\mathbf{r}'=v_i\rho_i(\mathbf{r})$$ and temperature -$$\begin{align*} -&m_i\left(\frac{\partial\rho_i(\mathbf{r})}{\partial T}\right)_{p,x_k}+\rho_i(\mathbf{r})\int\sum_j\beta\mathcal{\hat F}_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial T}\right)_{p,x_k}\mathrm{d}\mathbf{r}'\\ +$$\begin{aligned} +&m_i\left(\frac{\partial\rho_i(\mathbf{r})}{\partial T}\right)_{p,x_k}+\rho_i(\mathbf{r})\int\sum_j\beta\hat F_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')\left(\frac{\partial\rho_j(\mathbf{r}')}{\partial T}\right)_{p,x_k}\mathrm{d}\mathbf{r}'\\ &~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=-\frac{\rho_i(\mathbf{r})}{k_\mathrm{B}T}\left(m_ik_\mathrm{B}\ln\left(\frac{\rho_i(\mathbf{r})}{\rho_i^\mathrm{b}}\right)+F_{T\rho_i}^\mathrm{res}(\mathbf{r})-F_{T\rho_i}^\mathrm{b,res}+v_i\left(\frac{\partial p}{\partial T}\right)_{V,N_k}\right) -\end{align*}$$ +\end{aligned}$$ follow. All derivatives $x_i$ shown here can be calculated from the same linear equation -$$m_ix_i+\rho_i(\mathbf{r})\int\sum_j\beta\mathcal{\hat F}_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')x_i\mathrm{d}\mathbf{r}'=y_i$$ +$$m_ix_i(\mathbf{r})+\rho_i(\mathbf{r})\int\sum_j\beta\hat F_{\rho_i\rho_j}^\mathrm{res}(\mathbf{r},\mathbf{r}')x_j(\mathbf{r}')\mathrm{d}\mathbf{r}'=y_i(\mathbf{r})$$ by just replacing the right hand side $y_i$. diff --git a/docs/theory/dft/enthalpy_of_adsorption.md b/docs/theory/dft/enthalpy_of_adsorption.md index fbef6329c..75885f88e 100644 --- a/docs/theory/dft/enthalpy_of_adsorption.md +++ b/docs/theory/dft/enthalpy_of_adsorption.md @@ -3,15 +3,21 @@ ## Enthalpy of adsorption The energy balance in differential form for a simple adsorption process can be written as -$$\mathrm{d}U=h^\mathrm{in}\delta n^\mathrm{in}-h^\mathrm{b}\delta n^\mathrm{out}+\delta Q$$ (eqn:energy_balance) +$$ +\mathrm{d}U=h^\mathrm{in}\delta n^\mathrm{in}-h^\mathrm{b}\delta n^\mathrm{out}+\delta Q +$$ (eqn:energy_balance) Here the balance is chosen to only include the fluid in the porous medium. The molar enthalpy $h^\mathrm{b}$ of the (bulk) fluid that leaves the adsorber is at a state that is in equilibrium with the porous medium. In contrast, the incoming stream can be at any condition. Analogously, the component balance is -$$\mathrm{d}N_i=x_i^\mathrm{in}\delta n^\mathrm{in}-x_i\delta n^\mathrm{out}$$ (eqn:mass_balance) +$$ +\mathrm{d}N_i=x_i^\mathrm{in}\delta n^\mathrm{in}-x_i\delta n^\mathrm{out} +$$ (eqn:mass_balance) The differential of the internal energy can be replaced with the total differential in its variables temperature $T$ and number of particles $N_i$. The volume of the adsorber is fixed and thus not considered as a variable. -$$\mathrm{d}U=\left(\frac{\partial U}{\partial T}\right)_{N_k}\mathrm{d}T+\sum_i\left(\frac{\partial U}{\partial N_i}\right)_{T,N_j}\mathrm{d}N_i$$ (eqn:U_differential) +$$ +\mathrm{d}U=\left(\frac{\partial U}{\partial T}\right)_{N_k}\mathrm{d}T+\sum_i\left(\frac{\partial U}{\partial N_i}\right)_{T,N_j}\mathrm{d}N_i +$$ (eqn:U_differential) Eqs. {eq}`eqn:energy_balance`, {eq}`eqn:mass_balance` and {eq}`eqn:U_differential` can be combined into an expression for the heat of adsorption $\delta Q$ @@ -40,7 +46,9 @@ $$\delta Q=C_v\mathrm{d}T-\left(h^\mathrm{in}-h^\mathrm{b}\right)\delta n^\mathr ## Clausius-Clapeyron relation for porous media The Clausius-Clapeyron relation relates the $p-T$ slope of a pure component phase transition line to the corresponding enthalpy of phase change. For a vapor-liquid phase transition, the exact relation is -$$\frac{\mathrm{d}p^\mathrm{sat}}{\mathrm{d}T}=\frac{s^\mathrm{V}-s^\mathrm{L}}{v^\mathrm{V}-v^\mathrm{L}}=\frac{h^\mathrm{V}-h^\mathrm{L}}{T\left(v^\mathrm{V}-v^\mathrm{L}\right)}$$ (eqn:temp_dep_press) +$$ +\frac{\mathrm{d}p^\mathrm{sat}}{\mathrm{d}T}=\frac{s^\mathrm{V}-s^\mathrm{L}}{v^\mathrm{V}-v^\mathrm{L}}=\frac{h^\mathrm{V}-h^\mathrm{L}}{T\left(v^\mathrm{V}-v^\mathrm{L}\right)} +$$ (eqn:temp_dep_press) In this expression, the enthalpy of vaporization $\Delta h^\mathrm{vap}=h^\mathrm{V}-h^\mathrm{L}$ can be identified. The molar volumes $v$ of the two phases can be replaced by the compressibility factor $Z=\frac{pv}{RT}$. Then, eq. {eq}`eqn:temp_dep_press` simplifies to @@ -48,11 +56,15 @@ $$\frac{\mathrm{d}p^\mathrm{sat}}{\mathrm{d}T}=\frac{p}{R T^2}\frac{\Delta h^\ma which can be compactly written as -$$\frac{\mathrm{d}\ln p^\mathrm{sat}}{\mathrm{d}\frac{1}{RT}}=-\frac{\Delta h^\mathrm{vap}}{Z^\mathrm{V}-Z^\mathrm{L}}$$ (eqn:Clausius_Clapeyron_exact) +$$ +\frac{\mathrm{d}\ln p^\mathrm{sat}}{\mathrm{d}\frac{1}{RT}}=-\frac{\Delta h^\mathrm{vap}}{Z^\mathrm{V}-Z^\mathrm{L}} +$$ (eqn:Clausius_Clapeyron_exact) Eq. {eq}`eqn:Clausius_Clapeyron_exact` is still an exact expression. In practice, the volume (and hence the compressibility factor) of the liquid phase can often be neglected compared to the volume of the gas phase. Additionally assuming an ideal gas phase ($Z^\mathrm{V}\approx1$), leads to the expression commonly referred to as Clausius-Clapeyron relation: -$$\frac{\mathrm{d}\ln p^\mathrm{sat}}{\mathrm{d}\frac{1}{RT}}=-\Delta h^\mathrm{vap}$$ (eqn:Clausius_Clapeyron) +$$ +\frac{\mathrm{d}\ln p^\mathrm{sat}}{\mathrm{d}\frac{1}{RT}}=-\Delta h^\mathrm{vap} +$$ (eqn:Clausius_Clapeyron) A similar relation can be derived for fluids adsorbed in a porous medium that is in equilibrium with a bulk phase. At this point it is important to clarify which variables describe the system @@ -66,7 +78,9 @@ $$\frac{\mathrm{d}\ln p}{\mathrm{d}\frac{1}{RT}}=-\frac{RT^2}{p}\frac{\mathrm{d} First, the pressure can be replaced using the Gibbs-Duhem relation for the bulk phase (index $\mathrm{b}$) -$$\frac{\mathrm{d}\ln p}{\mathrm{d}\frac{1}{RT}}=-\frac{RT^2}{pv^\mathrm{b}}\left(s^\mathrm{b}+\sum_ix_i\left(\frac{\partial\mu_i}{\partial T}\right)_{N_k}\right)$$ (eqn:clausius_clapeyron_intermediate) +$$ +\frac{\mathrm{d}\ln p}{\mathrm{d}\frac{1}{RT}}=-\frac{RT^2}{pv^\mathrm{b}}\left(s^\mathrm{b}+\sum_ix_i\left(\frac{\partial\mu_i}{\partial T}\right)_{N_k}\right) +$$ (eqn:clausius_clapeyron_intermediate) Here the directional derivative $\frac{\mathrm{d}\mu_i}{\mathrm{d}T}$ could be replaced with a partial derivative amongst the variables describing the adsorbed fluid. The partial derivative can then be replaced using a Maxwell relation based on the Helmholtz energy $F$ as follows @@ -78,7 +92,9 @@ $$\frac{\mathrm{d}\ln p}{\mathrm{d}\frac{1}{RT}}=-\frac{T}{Z^\mathrm{b}}\left(s^ Finally, using $h^\mathrm{b}=Ts^\mathrm{b}+\sum_ix_i\mu_i$ and $\mathrm{d}U=T\mathrm{d}S+\sum_i\mu_i\mathrm{d}N_i$ leads to -$$\frac{\mathrm{d}\ln p}{\mathrm{d}\frac{1}{RT}}=-\frac{1}{Z^\mathrm{b}}\left(h^\mathrm{b}-\sum_ix_i\left(\frac{\partial U}{\partial N_i}\right)_{T,N_j}\right)=-\frac{\Delta h^\mathrm{ads}}{Z^\mathrm{b}}$$ (eqn:deriv_relation_hads) +$$ +\frac{\mathrm{d}\ln p}{\mathrm{d}\frac{1}{RT}}=-\frac{1}{Z^\mathrm{b}}\left(h^\mathrm{b}-\sum_ix_i\left(\frac{\partial U}{\partial N_i}\right)_{T,N_j}\right)=-\frac{\Delta h^\mathrm{ads}}{Z^\mathrm{b}} +$$ (eqn:deriv_relation_hads) The relation is exact and valid for an arbitrary number of components in the fluid phase. @@ -90,15 +106,21 @@ $$\Delta h_i^\mathrm{ads}=T\left(s_i^\mathrm{b}+\left(\frac{\partial\mu_i}{\part The derivative at constant number of particles is problematic and has to be replaced. This is done starting from the total differential of the number of particles -$$\mathrm{d}N_i=\sum_j\left(\frac{\partial N_i}{\partial\mu_j}\right)_T\mathrm{d}\mu_j+\left(\frac{\partial N_i}{\partial T}\right)_{\mu_k}\mathrm{d}T$$ (eqn:dn) +$$ +\mathrm{d}N_i=\sum_j\left(\frac{\partial N_i}{\partial\mu_j}\right)_T\mathrm{d}\mu_j+\left(\frac{\partial N_i}{\partial T}\right)_{\mu_k}\mathrm{d}T +$$ (eqn:dn) Calculating the derivative with respect to $T$ at constant $N_i$ leads to -$$0=\sum_j\left(\frac{\partial N_i}{\partial\mu_j}\right)_T\left(\frac{\partial\mu_j}{\partial T}\right)_{N_k}+\left(\frac{\partial N_i}{\partial T}\right)_{\mu_k}$$ (eqn:dndt_1) +$$ +0=\sum_j\left(\frac{\partial N_i}{\partial\mu_j}\right)_T\left(\frac{\partial\mu_j}{\partial T}\right)_{N_k}+\left(\frac{\partial N_i}{\partial T}\right)_{\mu_k} +$$ (eqn:dndt_1) from which the unknown derivative $\left(\frac{\partial\mu_i}{\partial T}\right)_{N_k}$ can be calculated. In practice the expression has the disadvantage that $\left(\frac{\partial N_i}{\partial T}\right)_{\mu_k}$ depends on the (sometimes unknown) thermal de Broglie wavelength which cancels later with $s_i^\mathrm{b}$. This can be remedied by first calculating the derivative of eq. {eq}`eqn:dn` with respect to $T$ at constant (bulk) pressure and composition. -$$\left(\frac{\partial N_i}{\partial T}\right)_{p,x_k}=\sum_j\left(\frac{\partial N_i}{\partial\mu_j}\right)_T\left(\frac{\partial\mu_j}{\partial T}\right)_{p,x_k}+\left(\frac{\partial N_i}{\partial T}\right)_{\mu_k}$$ (eqn:dndt_2) +$$ +\left(\frac{\partial N_i}{\partial T}\right)_{p,x_k}=\sum_j\left(\frac{\partial N_i}{\partial\mu_j}\right)_T\left(\frac{\partial\mu_j}{\partial T}\right)_{p,x_k}+\left(\frac{\partial N_i}{\partial T}\right)_{\mu_k} +$$ (eqn:dndt_2) From classical bulk thermodynamics we know $\left(\frac{\partial\mu_j}{\partial T}\right)_{p,x_k}=-s_j^\mathrm{b}$ and therefore, eq. {eq}`eqn:dndt_2` can be used in eq. {eq}`eqn:dndt_1` to give diff --git a/docs/theory/dft/euler_lagrange_equation.md b/docs/theory/dft/euler_lagrange_equation.md index 02902551c..5e166faec 100644 --- a/docs/theory/dft/euler_lagrange_equation.md +++ b/docs/theory/dft/euler_lagrange_equation.md @@ -1,19 +1,23 @@ # Euler-Lagrange equation The fundamental expression in classical density functional theory is the relation between the grand potential functional $\Omega$ and the intrinsic Helmholtz energy functional $F$. -$$\Omega(T,\mu,[\rho(r)])=F(T,[\rho(r)])-\sum_i\int\rho_i(r)\left(\mu_i-V_i^\mathrm{ext}(r)\right)\mathrm{d}r$$ +$$\Omega(T,\mu,[\rho(\mathbf{r})])=F(T,[\rho(\mathbf{r})])-\sum_i\int\rho_i(\mathbf{r})\left(\mu_i-V_i^\mathrm{ext}(\mathbf{r})\right)\mathrm{d}\mathbf{r}$$ -What makes this expression so appealing is that the intrinsic Helmholtz energy functional only depends on the temperature $T$ and the density profiles $\rho_i(r)$ of the system and not on the external potentials $V_i^\mathrm{ext}(r)$. +What makes this expression so appealing is that the intrinsic Helmholtz energy functional only depends on the temperature $T$ and the density profiles $\rho_i(\mathbf{r})$ of the system and not on the external potentials $V_i^\mathrm{ext}(\mathbf{r})$. -For a given temperature $T$, chemical potentials $\mu_i$ and external potentials $V_i^\mathrm{ext}(r)$ the grand potential reaches a minimum at equilibrium. Mathematically this condition can be written as +For a given temperature $T$, chemical potentials $\mu_i$ and external potentials $V_i^\mathrm{ext}(\mathbf{r})$ the grand potential reaches a minimum at equilibrium. Mathematically this condition can be written as -$$\left.\frac{\delta\Omega}{\delta\rho_i(r)}\right|_{T,\mu}=F_{\rho_i}(r)-\mu_i+V_i^{\mathrm{ext}}(r)=0$$ (eqn:euler_lagrange_mu) +$$ +\left.\frac{\delta\Omega}{\delta\rho_i(\mathbf{r})}\right|_{T,\mu}=F_{\rho_i}(\mathbf{r})-\mu_i+V_i^{\mathrm{ext}}(\mathbf{r})=0 +$$ (eqn:euler_lagrange_mu) -where $F_{\rho_i}(r)=\left.\frac{\delta F}{\delta\rho_i(r)}\right|_T$ is short for the functional derivative of the intrinsic Helmholtz energy. In this context, eq. (1) is commonly referred to as the Euler-Lagrange equation, an implicit nonlinear integral equation which needs to be solved for the equilibrium density profiles of the system. +where $F_{\rho_i}(\mathbf{r})=\left.\frac{\delta F}{\delta\rho_i(\mathbf{r})}\right|_T$ is short for the functional derivative of the intrinsic Helmholtz energy. In this context, eq. {eq}`eqn:euler_lagrange_mu` is commonly referred to as the Euler-Lagrange equation, an implicit nonlinear integral equation which needs to be solved for the equilibrium density profiles of the system. For a homogeneous (bulk) system, $V_i^\mathrm{ext}=0$ and we get -$$F_{\rho_i}^\mathrm{b}-\mu_i=0$$ (eqn:euler_lagrange_bulk) +$$ +F_{\rho_i}^\mathrm{b}-\mu_i=0 +$$ (eqn:euler_lagrange_bulk) The functional derivative of the Helmholtz energy of a bulk system $F_{\rho_i}^\mathrm{b}$ is a function of the temperature $T$ and bulk densities $\rho^\mathrm{b}$. At this point, it can be advantageous to relate the grand potential of an inhomogeneous system to the densities of a bulk system that is in equilibrium with the inhomogeneous system. This approach has several advantages: - The thermal de Broglie wavelength $\Lambda$ cancels out. @@ -22,89 +26,95 @@ The functional derivative of the Helmholtz energy of a bulk system $F_{\rho_i}^\ Using eq. {eq}`eqn:euler_lagrange_bulk` in eq. {eq}`eqn:euler_lagrange_mu` leads to the Euler-Lagrange equation -$$\left.\frac{\delta\Omega}{\delta\rho_i(r)}\right|_{T,\rho^\mathrm{b}}=F_{\rho_i}(r)-F_{\rho_i}^\mathrm{b}+V_i^{\mathrm{ext}}(r)=0$$ (eqn:euler_lagrange_rho) +$$ +\left.\frac{\delta\Omega}{\delta\rho_i(\mathbf{r})}\right|_{T,\rho^\mathrm{b}}=F_{\rho_i}(\mathbf{r})-F_{\rho_i}^\mathrm{b}+V_i^{\mathrm{ext}}(\mathbf{r})=0 +$$ (eqn:euler_lagrange_rho) ## Spherical molecules In the simplest case, the molecules under consideration can be described as spherical. Then the Helmholtz energy can be split into an ideal and a residual part: -$$\beta F=\sum_i\int\rho_i(r)\left(\ln\left(\rho_i(r)\Lambda_i^3\right)-1\right)\mathrm{d}r+\beta F^\mathrm{res}$$ +$$\beta F=\sum_i\int\rho_i(\mathbf{r})\left(\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)-1\right)\mathrm{d}\mathbf{r}+\beta F^\mathrm{res}$$ with the thermal de Broglie wavelength $\Lambda_i$. The functional derivatives for an inhomogeneous and a bulk system follow as -$$\beta F_{\rho_i}(r)=\ln\left(\rho_i(r)\Lambda_i^3\right)+\beta F_{\rho_i}^\mathrm{res}$$ +$$\beta F_{\rho_i}(\mathbf{r})=\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)+\beta F_{\rho_i}^\mathrm{res}(\mathbf{r})$$ $$\beta F_{\rho_i}^\mathrm{b}=\ln\left(\rho_i^\mathrm{b}\Lambda_i^3\right)+\beta F_{\rho_i}^\mathrm{b,res}$$ Using these expressions in eq. {eq}`eqn:euler_lagrange_rho` results in -$$\left.\frac{\delta\beta\Omega}{\delta\rho_i(r)}\right|_{T,\rho^\mathrm{b}}=\ln\left(\frac{\rho_i(r)}{\rho_i^\mathrm{b}}\right)+\beta\left(F_{\rho_i}^\mathrm{res}(r)-F_{\rho_i}^\mathrm{b,res}+V_i^{\mathrm{ext}}(r)\right)=0$$ +$$\left.\frac{\delta\beta\Omega}{\delta\rho_i(\mathbf{r})}\right|_{T,\rho^\mathrm{b}}=\ln\left(\frac{\rho_i(\mathbf{r})}{\rho_i^\mathrm{b}}\right)+\beta\left(F_{\rho_i}^\mathrm{res}(\mathbf{r})-F_{\rho_i}^\mathrm{b,res}+V_i^{\mathrm{ext}}(\mathbf{r})\right)=0$$ The Euler-Lagrange equation can be recast as -$$\rho_i(r)=\rho_i^\mathrm{b}e^{\beta\left(F_{\rho_i}^\mathrm{b,res}-F_{\rho_i}^\mathrm{res}(r)-V_i^\mathrm{ext}(r)\right)}$$ +$$\rho_i(\mathbf{r})=\rho_i^\mathrm{b}e^{\beta\left(F_{\rho_i}^\mathrm{b,res}-F_{\rho_i}^\mathrm{res}(\mathbf{r})-V_i^\mathrm{ext}(\mathbf{r})\right)}$$ -which is convenient because it leads directly to a recurrence relation known as Picard iteration. +which is convenient because it leads directly to a recurrence relation known as Picard iteration. The expression can be further simplified by defining the fugacity $f_i=\rho_i^\mathrm{b}e^{\beta F_{\rho_i}^\mathrm{b,res}}$ which leads to + +$$\rho_i(\mathbf{r})=f_ie^{-\beta\left(F_{\rho_i}^\mathrm{res}(\mathbf{r})+V_i^\mathrm{ext}(\mathbf{r})\right)}$$ ## Homosegmented chains For chain molecules that do not resolve individual segments (essentially the PC-SAFT Helmholtz energy functional) a chain contribution is introduced as -$$\beta F^\mathrm{chain}=-\sum_i\int\rho_i(r)\left(m_i-1\right)\ln\left(\frac{y_{ii}\lambda_i(r)}{\rho_i(r)}\right)\mathrm{d}r$$ +$$\beta F^\mathrm{chain}=-\sum_i\int\rho_i(\mathbf{r})\left(m_i-1\right)\ln\left(\frac{y_{ii}\lambda_i(\mathbf{r})}{\rho_i(\mathbf{r})}\right)\mathrm{d}\mathbf{r}$$ -Where $m_i$ is the number of segments (i.e., the PC-SAFT chain length parameter), $y_{ii}$ is the cavity correlation function at contact in the reference fluid, and $\lambda_i$ is a weighted density. -The presence of $\rho_i(r)$ in the logarithm poses numerical problems. Therefore, it is convenient to rearrange the expression as +where $m_i$ is the number of segments (i.e., the PC-SAFT chain length parameter), $y_{ii}$ is the cavity correlation function at contact in the reference fluid, and $\lambda_i$ is a weighted density. +The presence of $\rho_i(\mathbf{r})$ in the logarithm poses numerical problems. Therefore, it is convenient to rearrange the expression as -$$\begin{align} -\beta F^\mathrm{chain}=&\sum_i\int\rho_i(r)\left(m_i-1\right)\left(\ln\left(\rho_i(r)\Lambda_i^3\right)-1\right)\mathrm{d}r\\ -&\underbrace{-\sum_i\int\rho_i(r)\left(m_i-1\right)\left(\ln\left(y_{ii}\lambda_i(r)\Lambda_i^3\right)-1\right)\mathrm{d}r}_{\beta\hat{F}^\mathrm{chain}} -\end{align}$$ +$$\begin{aligned} +\beta F^\mathrm{chain}=&\sum_i\int\rho_i(\mathbf{r})\left(m_i-1\right)\left(\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)-1\right)\mathrm{d}\mathbf{r}\\ +&\underbrace{-\sum_i\int\rho_i(\mathbf{r})\left(m_i-1\right)\left(\ln\left(y_{ii}\lambda_i(\mathbf{r})\Lambda_i^3\right)-1\right)\mathrm{d}\mathbf{r}}_{\beta\hat{F}^\mathrm{chain}} +\end{aligned}$$ Then the total Helmholtz energy -$$\beta F=\sum_i\int\rho_i(r)\left(\ln\left(\rho_i(r)\Lambda_i^3\right)-1\right)\mathrm{d}r+\beta F^\mathrm{chain}+\beta F^\mathrm{res}$$ +$$\beta F=\sum_i\int\rho_i(\mathbf{r})\left(\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)-1\right)\mathrm{d}\mathbf{r}+\beta F^\mathrm{chain}+\beta F^\mathrm{res}$$ can be rearranged to -$$\beta F=\sum_i\int\rho_i(r)m_i\left(\ln\left(\rho_i(r)\Lambda_i^3\right)-1\right)\mathrm{d}r+\underbrace{\beta\hat{F}^\mathrm{chain}+\beta F^\mathrm{res}}_{\beta\hat{F}^\mathrm{res}}$$ +$$\beta F=\sum_i\int\rho_i(\mathbf{r})m_i\left(\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)-1\right)\mathrm{d}\mathbf{r}+\underbrace{\beta\hat{F}^\mathrm{chain}+\beta F^\mathrm{res}}_{\beta\hat{F}^\mathrm{res}}$$ The functional derivatives are then similar to the spherical case -$$\beta F_{\rho_i}(r)=m_i\ln\left(\rho_i(r)\Lambda_i^3\right)+\beta\hat{F}_{\rho_i}^\mathrm{res}(r)$$ +$$\beta F_{\rho_i}(\mathbf{r})=m_i\ln\left(\rho_i(\mathbf{r})\Lambda_i^3\right)+\beta\hat{F}_{\rho_i}^\mathrm{res}(\mathbf{r})$$ $$\beta F_{\rho_i}^\mathrm{b}=m_i\ln\left(\rho_i^\mathrm{b}\Lambda_i^3\right)+\beta\hat{F}_{\rho_i}^\mathrm{b,res}$$ and lead to a slightly modified Euler-Lagrange equation -$$\rho_i(r)=\rho_i^\mathrm{b}e^{\frac{\beta}{m_i}\left(\hat F_{\rho_i}^\mathrm{b,res}-\hat F_{\rho_i}^\mathrm{res}(r)-V_i^\mathrm{ext}(r)\right)}$$ +$$\rho_i(\mathbf{r})=\rho_i^\mathrm{b}e^{\frac{\beta}{m_i}\left(\hat F_{\rho_i}^\mathrm{b,res}-\hat F_{\rho_i}^\mathrm{res}(\mathbf{r})-V_i^\mathrm{ext}(\mathbf{r})\right)}$$ + +or with the modified fugacity $\hat f_i=\rho_i^\mathrm{b}e^{\frac{\beta}{m_i}\hat F_{\rho_i}^\mathrm{b,res}}$ + +$$\rho_i(\mathbf{r})=\hat f_ie^{-\frac{\beta}{m_i}\left(\hat F_{\rho_i}^\mathrm{res}(\mathbf{r})+V_i^\mathrm{ext}(\mathbf{r})\right)}$$ ## Heterosegmented chains The expressions are more complex for models in which density profiles of individual segments are considered. A derivation is given in the appendix of [Rehner et al. (2022)](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.105.034110). The resulting Euler-Lagrange equation is given as -$$\rho_\alpha(r)=\Lambda_i^{-3}e^{\beta\left(\mu_i-\hat F_{\rho_\alpha}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r)$$ +$$\rho_\alpha(\mathbf{r})=f_\alpha e^{-\beta\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})$$ -with the bond integrals $I_{\alpha\alpha'}(r)$ that are calculated recursively from +with the bond integrals $I_{\alpha\alpha'}(\mathbf{r})$ that are calculated recursively from -$$I_{\alpha\alpha'}(r)=\int e^{-\beta\left(\hat{F}_{\rho_{\alpha'}}(r')+V_{\alpha'}^\mathrm{ext}(r')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(r)\right)\omega_\mathrm{chain}^{\alpha\alpha'}(r-r')\mathrm{d}r$$ +$$I_{\alpha\alpha'}(\mathbf{r})=\int e^{-\beta\left(\hat{F}_{\rho_{\alpha'}}^\mathrm{res}(\mathbf{r}')+V_{\alpha'}^\mathrm{ext}(\mathbf{r}')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(\mathbf{r}')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}'$$ -The index $\alpha$ is used for every segment on component $i$, $\alpha'$ refers to all segments bonded to segment $\alpha$ and $\alpha''$ to all segments bonded to $\alpha'$. +Here, $\alpha'$ refers to all segments bonded to segment $\alpha$ and $\alpha''$ to all *other* segments bonded to $\alpha'$ (excluding $\alpha$). For bulk systems the expressions simplify to -$$\rho_\alpha^\mathrm{b}=\Lambda_i^{-3}e^{\beta\left(\mu_i-\sum_\gamma\hat F_{\rho_\gamma}^\mathrm{b,res}\right)}$$ +$$\rho_\alpha^\mathrm{b}=f_\alpha e^{-\beta\sum_\gamma\hat F_{\rho_\gamma}^\mathrm{b,res}}$$ -which shows that, by construction, the density of every segment in a molecule is identical in a bulk system. The index $\gamma$ refers to all segments on moecule $i$. The expressions can be combined in a similar way as for the molecular DFT: +with $\gamma$ referring to all segments on the same molecule as $\alpha$. Solving for the fugacity leads to -$$\rho_\alpha(r)=\rho_\alpha^\mathrm{b}e^{\beta\left(\sum_\gamma\hat F_{\rho_\gamma}^\mathrm{b,res}-\hat F_{\rho_\alpha}^\mathrm{res}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r)$$ +$$f_\alpha=\rho_\alpha^\mathrm{b}e^{\beta\sum_\gamma\hat F_{\rho_\gamma}^\mathrm{b,res}}$$ -At this point it can be numerically useful to redistribute the bulk contributions back into the bond integrals - -$$\rho_\alpha(r)=\rho_\alpha^\mathrm{b}e^{\beta\left(\hat F_{\rho_\alpha}^\mathrm{b,res}-\hat F_{\rho_\alpha}^\mathrm{res}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r)$$ - -$$I_{\alpha\alpha'}(r)=\int e^{\beta\left(\hat F_{\rho_{\alpha'}}^\mathrm{b,res}-\hat F_{\rho_{\alpha'}}^\mathrm{res}(r')-V_{\alpha'}^\mathrm{ext}(r')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(r)\right)\omega_\mathrm{chain}^{\alpha\alpha'}(r-r')\mathrm{d}r$$ +which is by construction equal for every segment $\alpha$ on the same molecule. ## Combined expression To avoid having multiple implementations of the central part of the DFT code, the different descriptions of molecules can be combined in a single version of the Euler-Lagrange equation: -$$\rho_\alpha(r)=\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{b,res}-\hat F_{\rho_\alpha}^\mathrm{res}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r)$$ +$$\rho_\alpha(\mathbf{r})=f_\alpha e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})$$ + +$$I_{\alpha\alpha'}(\mathbf{r})=\int e^{-\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{res}(\mathbf{r}')+V_{\alpha'}^\mathrm{ext}(\mathbf{r}')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(\mathbf{r}')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}'$$ -$$I_{\alpha\alpha'}(r)=\int e^{\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{b,res}-\hat F_{\rho_{\alpha'}}^\mathrm{res}(r')-V_{\alpha'}^\mathrm{ext}(r')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(r')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(r-r')\mathrm{d}r'$$ +$$f_\alpha=\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\sum_\gamma\hat F_{\rho_\gamma}^\mathrm{b,res}}$$ If molecules consist of single (possibly non-spherical) segments, the Euler-Lagrange equation simplifies to that of the homosegmented chains shown above. For heterosegmented chains, the correct expression is obtained by setting $m_\alpha=1$. diff --git a/docs/theory/dft/functional_derivatives.md b/docs/theory/dft/functional_derivatives.md index 79817e4ab..d5620c871 100644 --- a/docs/theory/dft/functional_derivatives.md +++ b/docs/theory/dft/functional_derivatives.md @@ -1,41 +1,43 @@ # Functional derivatives -In the last section the functional derivative +In the section on the [Euler-Lagrange equation](euler_lagrange_equation.md) the functional derivative -$$\hat F_{\rho_\alpha}^\mathrm{res}(r)=\left(\frac{\delta\hat F^\mathrm{res}}{\delta\rho_\alpha(r)}\right)_{T,\rho_{\alpha'\neq\alpha}}$$ +$$\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})=\left(\frac{\delta\hat F^\mathrm{res}}{\delta\rho_\alpha(\mathbf{r})}\right)_{T,\rho_{\alpha'\neq\alpha}}$$ was introduced as part of the Euler-Lagrange equation. The implementation of these functional derivatives can be a major difficulty during the development of a new Helmholtz energy model. In $\text{FeO}_\text{s}$ it is fully automated. The core assumption is that the residual Helmholtz energy functional $\hat F^\mathrm{res}$ can be written as a sum of contributions that each can be written in the following way: -$$F=\int f[\rho(r)]\mathrm{d}r=\int f(\lbrace n_\gamma\rbrace)\mathrm{d}r$$ +$$F=\int f[\rho(\mathbf{r})]\mathrm{d}\mathbf{r}=\int f(\lbrace n_\gamma\rbrace)\mathrm{d}\mathbf{r}$$ The Helmholtz energy density $f$ which would in general be a functional of the density itself can be expressed as a *function* of weighted densities $n_\gamma$ which are obtained by convolving the density profiles with weight functions $\omega_\gamma^\alpha$ -$$n_\gamma(r)=\sum_\alpha\int\rho_\alpha(r')\omega_\gamma^\alpha(r-r')\mathrm{d}r'\tag{1}$$ +$$ +n_\gamma(\mathbf{r})=\sum_\alpha\int\rho_\alpha(\mathbf{r}')\omega_\gamma^\alpha(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}' +$$ (eqn:weighted_densities) In practice the weight functions tend to have simple shapes like step functions (i.e. the weighted density is an average over a sphere) or Dirac distributions (i.e. the weighted density is an average over the surface of a sphere). For Helmholtz energy functionals that can be written in this form, the calculation of the functional derivative can be automated. In general the functional derivative can be written as -$$F_{\rho_\alpha}(r)=\int\frac{\delta f(r')}{\delta\rho_\alpha(r)}\mathrm{d}r'=\int\sum_\gamma f_{n_\gamma}(r')\frac{\delta n_\gamma(r')}{\delta\rho_\alpha(r)}\mathrm{d}r'$$ +$$F_{\rho_\alpha}(\mathbf{r})=\int\frac{\delta f(\mathbf{r}')}{\delta\rho_\alpha(\mathbf{r})}\mathrm{d}\mathbf{r}'=\int\sum_\gamma f_{n_\gamma}(\mathbf{r}')\frac{\delta n_\gamma(\mathbf{r}')}{\delta\rho_\alpha(\mathbf{r})}\mathrm{d}\mathbf{r}'$$ -with $f_{n_\gamma}$ as abbreviation for the *partial* derivative $\frac{\partial f}{\partial n_\gamma}$. Using the definition of the weighted densities (1), the expression can be rewritten as +with $f_{n_\gamma}$ as abbreviation for the *partial* derivative $\frac{\partial f}{\partial n_\gamma}$. Using the definition of the weighted densities in eq. {eq}`eqn:weighted_densities`, the expression can be rewritten as -$$\begin{align} -F_{\rho_\alpha}(r)&=\int\sum_\gamma f_{n_\gamma}(r')\frac{\delta n_\gamma(r')}{\delta\rho_\alpha(r)}\mathrm{d}r'=\int\sum_\gamma f_{n_\gamma}(r')\sum_{\alpha'}\int\underbrace{\frac{\delta\rho_{\alpha'}(r'')}{\delta\rho_\alpha(r)}}_{\delta(r-r'')\delta_{\alpha\alpha'}}\omega_\gamma^{\alpha'}(r'-r'')\mathrm{d}r''\mathrm{d}r'\\ -&=\sum_\gamma\int f_{n_\gamma}(r')\omega_\gamma^\alpha(r'-r)\mathrm{d}r -\end{align}$$ +$$\begin{aligned} +F_{\rho_\alpha}(\mathbf{r})&=\int\sum_\gamma f_{n_\gamma}(\mathbf{r}')\frac{\delta n_\gamma(\mathbf{r}')}{\delta\rho_\alpha(\mathbf{r})}\mathrm{d}\mathbf{r}'=\int\sum_\gamma f_{n_\gamma}(\mathbf{r}')\sum_{\alpha'}\int\underbrace{\frac{\delta\rho_{\alpha'}(\mathbf{r}'')}{\delta\rho_\alpha(\mathbf{r})}}_{\delta(\mathbf{r}-\mathbf{r}'')\delta_{\alpha\alpha'}}\omega_\gamma^{\alpha'}(\mathbf{r}'-\mathbf{r}'')\mathrm{d}\mathbf{r}''\mathrm{d}\mathbf{r}'\\ +&=\sum_\gamma\int f_{n_\gamma}(\mathbf{r}')\omega_\gamma^\alpha(\mathbf{r}'-\mathbf{r})\mathrm{d}\mathbf{r}' +\end{aligned}$$ -At this point the parity of the weight functions has to be taken into account. By construction scalar and spherically symmetric weight functions (the standard case) are even functions, i.e., $\omega(-r)=\omega(r)$. In contrast, vector valued weight functions, as they appear in fundamental measure theory, are odd functions, i.e., $\omega(-r)=-\omega(r)$. Therefore, the sum over the weight functions needs to be split into two contributions, as +At this point the parity of the weight functions has to be taken into account. By construction scalar and spherically symmetric weight functions (the standard case) are even functions, i.e., $\omega(-\mathbf{r})=\omega(\mathbf{r})$. In contrast, vector valued weight functions, as they appear in fundamental measure theory, are odd functions, i.e., $\omega(-\mathbf{r})=-\omega(\mathbf{r})$. Therefore, the sum over the weight functions needs to be split into two contributions, as -$$F_{\rho_\alpha}(r)=\sum_\gamma^\mathrm{scal}\int f_{n_\gamma}(r')\omega_\gamma^\alpha(r-r')\mathrm{d}r-\sum_\gamma^\mathrm{vec}\int f_{n_\gamma}(r')\omega_\gamma^\alpha(r-r')\mathrm{d}r\tag{2}$$ +$$ +F_{\rho_\alpha}(\mathbf{r})=\sum_\gamma^\mathrm{scal}\int f_{n_\gamma}(\mathbf{r}')\omega_\gamma^\alpha(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}'-\sum_\gamma^\mathrm{vec}\int f_{n_\gamma}(\mathbf{r}')\omega_\gamma^\alpha(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}' +$$ (eqn:functional_derivative) With this distinction, the calculation of the functional derivative is split into three steps -1. Calculate the weighted densities $n_\gamma$ from eq. (1) +1. Calculate the weighted densities $n_\gamma$ from eq. {eq}`eqn:weighted_densities` 2. Evaluate the partial derivatives $f_{n_\gamma}$ -3. Use eq. (2) to obtain the functional derivative $F_{\rho_\alpha}$ - -A fast method to calculate the convolution integrals required in steps 1 and 3 is shown in the next section. +3. Use eq. {eq}`eqn:functional_derivative` to obtain the functional derivative $F_{\rho_\alpha}$ The implementation of partial derivatives by hand can be cumbersome and error prone. $\text{FeO}_\text{s}$ uses automatic differentiation with dual numbers to facilitate this step. For details about dual numbers and their generalization, we refer to [our publication](https://www.frontiersin.org/articles/10.3389/fceng.2021.758090/full). The essential relation is that the Helmholtz energy density evaluated with a dual number as input for one of the weighted densities evaluates to a dual number with the function value as real part and the partial derivative as dual part. diff --git a/docs/theory/dft/ideal_gas.md b/docs/theory/dft/ideal_gas.md index ebed3634d..4fd215ca9 100644 --- a/docs/theory/dft/ideal_gas.md +++ b/docs/theory/dft/ideal_gas.md @@ -1,7 +1,9 @@ # Ideal gas properties Classical DFT can be used to rapidly determine the ideal gas limit of fluids in porous media. In an ideal gas, there are no interactions between the fluid molecules and therefore the residual Helmholtz energy $F^\mathrm{res}$ and its derivatives vanish. Note that this is only the case for spherical or heterosegmented molecules ($m_\alpha=1$), as the chain contribution in the homosegmented model contains intramolecular interactions. The ideal gas density profile can then be obtained directly from the [Euler-Lagrange equation](euler_lagrange_equation.md): -$$\rho_\alpha^\mathrm{ig}(\mathbf{r})=\rho_\alpha^\mathrm{b}e^{-\beta V_\alpha^\mathrm{ext}(\mathbf{r})}\prod_{\alpha'}I^\mathrm{ig}_{\alpha\alpha'}(\mathbf{r})$$ (eqn:rho_ideal_gas) +$$ +\rho_\alpha^\mathrm{ig}(\mathbf{r})=\rho_\alpha^\mathrm{b}e^{-\beta V_\alpha^\mathrm{ext}(\mathbf{r})}\prod_{\alpha'}I^\mathrm{ig}_{\alpha\alpha'}(\mathbf{r}) +$$ (eqn:rho_ideal_gas) $$I^\mathrm{ig}_{\alpha\alpha'}(\mathbf{r})=\int e^{-\beta V_{\alpha'}^\mathrm{ext}(\mathbf{r'})}\left(\prod_{\alpha''\neq\alpha}I^\mathrm{ig}_{\alpha'\alpha''}(\mathbf{r'})\right)\omega_\mathrm{chain}^{\alpha\alpha'}(\mathbf{r}-\mathbf{r'})\mathrm{d}\mathbf{r'}$$ diff --git a/docs/theory/dft/index.md b/docs/theory/dft/index.md index efd0331a0..f315c8728 100644 --- a/docs/theory/dft/index.md +++ b/docs/theory/dft/index.md @@ -6,6 +6,7 @@ This section explains the implementation of the core expressions from classical :maxdepth: 1 euler_lagrange_equation + particle_constraint functional_derivatives solver derivatives diff --git a/docs/theory/dft/particle_constraint.md b/docs/theory/dft/particle_constraint.md new file mode 100644 index 000000000..74aa639fc --- /dev/null +++ b/docs/theory/dft/particle_constraint.md @@ -0,0 +1,55 @@ +# DFT with constrained number of particles + +In a grand-canonical DFT calculation, the chemical potentials are specified and the equilibrium density profiles determine the number of particles in the system. In some applications (e.g., transition states), it is desirable to specify the particle number in the system instead. This can be handled by solving a constrained optimization using Lagrange multipliers or equivalently a Michelsen $Q$ function, i.e., + +$$ +Q=\Omega+\sum_i\mu_iN_i^\mathrm{spec} +$$ + +Using the definition of the grand potential from the previous section on the [Euler-Lagrange equation](euler_lagrange_equation.md) (spherical particles for now) leads to + +$$ +Q=F+\sum_i\int\rho_i(\mathbf{r})V_i^\mathrm{ext}(\mathbf{r})\mathrm{d}\mathbf{r}+\sum_i\mu_i\left(N_i^\mathrm{spec}-\int\rho_i(\mathbf{r})\mathrm{d}\mathbf{r}\right) +$$ + +which makes clear that the unconstrained optimization of $Q$ with the density profiles and chemical potentials as degrees of freedom is equivalent to a constrained optimization of the total Helmholtz energy (including the external potential contribution) with the chemical potentials as Lagrange multipliers. The stationary points of $Q$ fulfill + +$$ +\frac{\delta Q}{\delta\rho_i(\mathbf{r})}=F_{\rho_i}(\mathbf{r})+V_i^\mathrm{ext}(\mathbf{r})-\mu_i=0 +$$ + +$$ +\frac{\delta Q}{\delta\mu_i}=N_i^\mathrm{spec}-\int\rho_i(\mathbf{r})\mathrm{d}\mathbf{r}=0 +$$ + +which can be identified as the Euler-Lagrange equation and the particle number constraint. The two equations can be solved together by inserting the Euler-Lagrange equation (now using the [combined expression](euler_lagrange_equation.md)) into the particle number constraint + +$$ +N_\alpha^\mathrm{spec}=f_\alpha\int e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})\mathrm{d}\mathbf{r}\equiv f_\alpha z_\alpha +$$ + +which introduces $z_\alpha$ as the full configurational integral which is by construction identical for every segment on the same molecule. The fugacity is thus determined from + +$$ +f_\alpha=\frac{N_\alpha^\mathrm{spec}}{z_\alpha} +$$ + +In some cases, it can be of interest to specify the total number of particles $N^\mathrm{spec}$ and keep the ratio of fugacities fixed. This is mostly relevant for numerical stability, because it can avoid saddle points in the energy surface of systems that are translationally invariant in one dimension (e.g., a planar interface). The corresponding expression for the fugacity is + +$$ +f_\alpha=\frac{N^\mathrm{spec}f_\alpha^0}{\sum_\beta f_\beta^0z_\beta} +$$ + +where $f_\alpha^0$ is the initial fugacity from which the constant ratios of fugacities follows. + +In summary, we can extend the Euler-Lagrange equation to other specifications by adding different expressions for the fugacity $f_\alpha$. The full set of equations becomes + +$$\rho_\alpha(\mathbf{r})=f_\alpha e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})$$ + +$$I_{\alpha\alpha'}(\mathbf{r})=\int e^{-\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{res}(\mathbf{r}')+V_{\alpha'}^\mathrm{ext}(\mathbf{r}')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(\mathbf{r}')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}'$$ + +|specification|$f_\alpha$| +|:-:|:-:| +|fixed bulk densities $\rho_\alpha^\mathrm{b}$|$\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\sum_\gamma\hat F_{\rho_\gamma}^\mathrm{b,res}}$| +|fixed particle numbers $N_\alpha^\mathrm{spec}$|$\frac{N_\alpha^\mathrm{spec}}{z_\alpha}$| +|fixed total particle number $N^\mathrm{spec}$|$\frac{N^\mathrm{spec}f_\alpha^0}{\sum_\beta f_\beta^0z_\beta}$| \ No newline at end of file diff --git a/docs/theory/dft/pdgt.md b/docs/theory/dft/pdgt.md index 0113234e9..b6bc02816 100755 --- a/docs/theory/dft/pdgt.md +++ b/docs/theory/dft/pdgt.md @@ -1,6 +1,6 @@ # Predictive density gradient theory -Predictive density gradient theory (pDGT) is an efficient approach for the prediction of surface tensions, which is derived from non-local DFT, see [Rehner et al. (2018)](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.98.063312). A gradient expansion is applied to the weighted densities of the Helmholtz energy functional to second order as well as to the Helmholtz energy density to first order. +Predictive density gradient theory (pDGT) is an efficient approach for the prediction of surface tensions, which is derived from non-local DFT, see [Rehner et al. (2018)](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.98.063312). A gradient expansion is applied to the weighted densities of the Helmholtz energy functional to second order as well as to the Helmholtz energy density to first order. Weighted densities (in non-local DFT) are determined from @@ -8,7 +8,7 @@ $$ n_\alpha(\mathbf{r})=\sum_in_\alpha^i(\mathbf{r})=\sum_i\int\rho_i(\mathbf{r} These convolutions are time-consuming calculations. Therefore, these equations are simplified by using a Taylor expansion around $\mathbf{r}$ for the density of each component $\rho_i$ as -$$\rho_i(\mathbf{r}-\mathbf{r}')=\rho_i(\mathbf{r})-\nabla\rho_i(\mathbf{r})\cdot \mathbf{r}'+\frac{1}{2}\nabla\nabla\rho(\mathbf{r}):\mathbf{r}'\mathbf{r}'+\ldots$$ +$$\rho_i(\mathbf{r}-\mathbf{r}')=\rho_i(\mathbf{r})-\nabla\rho_i(\mathbf{r})\cdot \mathbf{r}'+\frac{1}{2}\nabla\nabla\rho_i(\mathbf{r}):\mathbf{r}'\mathbf{r}'+\ldots$$ In the convolution integrals, the integration over angles can now be performed analytically for the spherically symmetric weight functions $\omega_\alpha^i(\mathbf{r})=\omega_\alpha^i(r)$ which provides @@ -36,7 +36,7 @@ $$ F[\mathbf{\rho}(\mathbf{r})]=\int\left(f(\mathbf{\rho})+\sum_{ij}\frac{c_{ij} with the density dependent influence parameter -$$ \beta c_{ij}(\mathbf{\rho})=-\sum_{\alpha\beta}\frac{\partial^2\Phi}{\partial n_\alpha\partial n_\beta}\left(\omega_\alpha^{i2}\omega_\beta^{j0}+ \omega_\alpha^{i0}\omega_\beta^{j2}\right).$$ +$$ \beta c_{ij}(\mathbf{\rho})=-\sum_{\alpha\beta}\frac{\partial^2\Phi}{\partial n_\alpha\partial n_\beta}\left(\omega_\alpha^{i2}\omega_\beta^{j0}+ \omega_\alpha^{i0}\omega_\beta^{j2}\right)$$ and the local Helmholtz energy density $f(\mathbf{\rho})$. @@ -44,10 +44,10 @@ and the local Helmholtz energy density $f(\mathbf{\rho})$. For pure components, as derived in the original publication, the surface tension can be calculated from the surface excess grand potential per area according to -$$ \gamma=\frac{F-\mu N+pV}{A}=\int_{\rho^\mathrm{V}}^{\rho^\mathrm{L}} \sqrt{2c \left(f(\rho)-\rho\mu+p\right) } d\rho $$ +$$ \gamma=\frac{F-\mu N+pV}{A}=\int_{\rho^\mathrm{V}}^{\rho^\mathrm{L}} \sqrt{2c \left(f(\rho)-\rho\mu+p\right) } \mathrm{d}\rho $$ Thus, no iterative solver is necessary to calculate the surface tension of pure components, which is a major advantage of pDGT. Finally, the density profile can be calculated from -$$ z(\rho)=\int_{\rho^\mathrm{V}}^{\rho} \sqrt{\frac{c/2}{ f(\rho)-\rho\mu+p} } d\rho $$ +$$ z(\rho)=\int_{\rho^\mathrm{V}}^{\rho} \sqrt{\frac{c/2}{ f(\rho)-\rho\mu+p} } \mathrm{d}\rho $$ diff --git a/docs/theory/dft/solver.md b/docs/theory/dft/solver.md index 45ee55ab9..5570963de 100644 --- a/docs/theory/dft/solver.md +++ b/docs/theory/dft/solver.md @@ -4,108 +4,143 @@ Different solvers can be used to calculate the density profiles from the Euler-L ## Picard iteration The form of the Euler-Lagrange equation -$$\rho_\alpha(r)=\underbrace{\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{b,res}-\hat F_{\rho_\alpha}^\mathrm{res}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r)}_{\equiv \mathcal{P}_\alpha(r;[\rho(r)])}$$ +$$\rho_\alpha(\mathbf{r})=\underbrace{f_\alpha e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})}_{\equiv \mathcal{P}_\alpha(\mathbf{r};[\rho(\mathbf{r})])}$$ suggests using a simple fixed point iteration -$$\rho_\alpha^{(k+1)}(r)=\mathcal{P}_\alpha\left(r;\left[\rho^{(k)}(r)\right]\right)$$ +$$\rho_\alpha^{(k+1)}(\mathbf{r})=\mathcal{P}_\alpha\left(\mathbf{r};\left[\rho^{(k)}(\mathbf{r})\right]\right)$$ Except for some systems – typically at low densities – this iteration is unstable. Instead the new solution is obtained as combination of the old solution and the projected solution $\mathcal{P}$ -$$\rho_\alpha^{(k+1)}(r)=(1-\nu)\rho_\alpha^{(k)}(r)+\nu\mathcal{P}_\alpha\left(r;\left[\rho^{(k)}(r)\right]\right)$$ +$$\rho_\alpha^{(k+1)}(\mathbf{r})=(1-\nu)\rho_\alpha^{(k)}(\mathbf{r})+\nu\mathcal{P}_\alpha\left(\mathbf{r};\left[\rho^{(k)}(\mathbf{r})\right]\right)$$ The weighting between the old and projected solution is specified by the damping coefficient $\nu$. The expression can be rewritten as -$$\rho_\alpha^{(k+1)}(r)=\rho_\alpha^{(k)}(r)+\nu\Delta\rho_\alpha^{(k)}(r)$$ +$$\rho_\alpha^{(k+1)}(\mathbf{r})=\rho_\alpha^{(k)}(\mathbf{r})+\nu\Delta\rho_\alpha^{(k)}(\mathbf{r})$$ -with the search direction $\Delta\rho_\alpha(r)$ which is identical to the residual $\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)$ +with the search direction $\Delta\rho_\alpha(\mathbf{r})$ which is identical to the residual $\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)$ -$$\Delta\rho_\alpha(r)=\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)\equiv\mathcal{P}_\alpha\left(r;\left[\rho(r)\right]\right)-\rho_\alpha(r)$$ +$$\Delta\rho_\alpha(\mathbf{r})=\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)\equiv\mathcal{P}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)-\rho_\alpha(\mathbf{r})$$ The Euler-Lagrange equation can be reformulated as the "logarithmic" version -$$\ln\rho_\alpha(r)=\ln\mathcal{P}_\alpha\left(r;\left[\rho(r)\right]\right)$$ +$$\ln\rho_\alpha(\mathbf{r})=\ln\mathcal{P}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)$$ Then repeating the same steps as above leads to the "logarithmic" Picard iteration -$$\ln\rho_\alpha^{(k+1)}(r)=\ln\rho_\alpha^{(k)}(r)+\nu\Delta\ln\rho_\alpha^{(k)}(r)$$ +$$\ln\rho_\alpha^{(k+1)}(\mathbf{r})=\ln\rho_\alpha^{(k)}(\mathbf{r})+\nu\Delta\ln\rho_\alpha^{(k)}(\mathbf{r})$$ or -$$\rho_\alpha^{(k+1)}(r)=\rho_\alpha^{(k)}(r)e^{\nu\Delta\ln\rho_\alpha^{(k)}(r)}$$ +$$\rho_\alpha^{(k+1)}(\mathbf{r})=\rho_\alpha^{(k)}(\mathbf{r})e^{\nu\Delta\ln\rho_\alpha^{(k)}(\mathbf{r})}$$ with -$$\Delta\ln\rho_\alpha(r)=\mathcal{\hat F}_\alpha\left(r;\left[\rho(r)\right]\right)\equiv\ln\mathcal{P}_\alpha\left(r;\left[\rho(r)\right]\right)-\ln\rho_\alpha(r)$$ +$$\Delta\ln\rho_\alpha(\mathbf{r})=\hat{\mathcal{R}}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)\equiv\ln\mathcal{P}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)-\ln\rho_\alpha(\mathbf{r})$$ ## Newton algorithm -A Newton iteration is a more refined approach to calculate the roots of the residual $\mathcal{F}$. From a Taylor expansion of the residual +A Newton iteration is a more refined approach to calculate the roots of the residual $\mathcal{R}$. From a Taylor expansion of the residual -$$\mathcal{F}_\alpha\left(r;\left[\rho(r)+\Delta\rho(r)\right]\right)=\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)+\int\sum_\beta\frac{\delta\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)}{\delta\rho_\beta(r')}\Delta\rho_\beta(r')\mathrm{d}r'+\ldots$$ +$$\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})+\Delta\rho(\mathbf{r})\right]\right)=\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)+\int\sum_\beta\frac{\delta\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)}{\delta\rho_\beta(\mathbf{r}')}\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}'+\ldots$$ -the Newton step is derived by setting the updated residual $\mathcal{F}_\alpha[\rho(r)+\Delta\rho(r)]$ to 0 and neglecting higher order terms. +the Newton step is derived by setting the updated residual $\mathcal{R}_\alpha[\rho(\mathbf{r})+\Delta\rho(\mathbf{r})]$ to 0 and neglecting higher order terms. -$$\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)=-\int\sum_\beta\frac{\delta\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)}{\delta\rho_\beta(r')}\Delta\rho_\beta(r')\mathrm{d}r'$$ (eqn:newton) +$$ +\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)=-\int\sum_\beta\frac{\delta\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)}{\delta\rho_\beta(\mathbf{r}')}\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}' +$$ (eqn:newton) -The linear integral equation has to be solved for the step $\Delta\rho(r)$. Explicitly evaluating the functional derivatives of the residuals is not feasible due to their high dimensionality. Instead, a matrix-free linear solver like GMRES can be used. For GMRES only the action of the linear system on the variable is required (an evaluation of the right-hand side in the equation above for a given $\Delta\rho$). This action can be approximated numerically via +The linear integral equation has to be solved for the step $\Delta\rho(\mathbf{r})$. Explicitly evaluating the functional derivatives of the residuals is not feasible due to their high dimensionality. Instead, a matrix-free linear solver like GMRES can be used. For GMRES only the action of the linear system on the variable is required (an evaluation of the right-hand side in the equation above for a given $\Delta\rho$). This action can be approximated numerically via -$$\int\sum_\beta\frac{\delta\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)}{\delta\rho_\beta(r')}\Delta\rho_\beta(r')\mathrm{d}r'\approx\frac{\mathcal{F}_\alpha\left(r;\left[\rho(r)+s\Delta\rho(r)\right]\right)-\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)}{s}$$ +$$\int\sum_\beta\frac{\delta\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)}{\delta\rho_\beta(\mathbf{r}')}\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}'\approx\frac{\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})+s\Delta\rho(\mathbf{r})\right]\right)-\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)}{s}$$ -However this approach requires the choice of an appropriate step size $s$ (something that we want to avoid in $\text{FeO}_\text{s}$) and also an evaluation of the full residual in every step of the linear solver. The solver can be sped up by doing parts of the functional derivative analytically beforehand. Using the definition of the residual in the rhs of eq. {eq}`eqn:newton` leads to +However this approach requires the choice of an appropriate step size $s$ (something that we want to avoid in $\text{FeO}_\text{s}$) and also an evaluation of the full residual in every step of the linear solver. The solver can be sped up by doing parts of the functional derivative analytically beforehand. Using the definition of the residual in the rhs of eq. {eq}`eqn:newton` and, for now, assuming a constant fugacity $f_\alpha$ (i.e., fixed bulk densities) leads to -$$\begin{align*} -q_\alpha(r)&\equiv-\int\sum_\beta\frac{\delta\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)}{\delta\rho_\beta(r')}\Delta\rho_\beta(r')\mathrm{d}r'\\ -&=\int\sum_\beta\frac{\delta}{\delta\rho_\beta(r')}\left(\rho_\alpha(r)-\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{b,res}-\hat F_{\rho_\alpha}^\mathrm{res}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r)\right)\Delta\rho_\beta(r')\mathrm{d}r' -\end{align*}$$ +$$ +\begin{aligned} +q_\alpha(\mathbf{r})&\equiv-\int\sum_\beta\frac{\delta\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)}{\delta\rho_\beta(\mathbf{r}')}\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}'\\ +&=\int\sum_\beta\frac{\delta}{\delta\rho_\beta(\mathbf{r}')}\left(\rho_\alpha(\mathbf{r})-f_\alpha e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})\right)\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}' +\end{aligned} +$$ -The functional derivative can be simplified using $\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(r,r')=\frac{\delta \hat F_{\rho_\alpha}^\mathrm{b,res}(r)}{\delta\rho_\beta(r')}=\frac{\delta^2\hat F^\mathrm{b,res}}{\delta\rho_\alpha(r)\delta\rho_\beta(r')}$ +The functional derivative can be simplified using $\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(\mathbf{r},\mathbf{r}')=\frac{\delta \hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})}{\delta\rho_\beta(\mathbf{r}')}=\frac{\delta^2\hat F^\mathrm{res}}{\delta\rho_\alpha(\mathbf{r})\delta\rho_\beta(\mathbf{r}')}$ -$$\begin{align*} -q_\alpha(r)&=\int\sum_\beta\left(\delta_{\alpha\beta}\delta(r-r')+\left(\frac{\beta}{m_\alpha}\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(r,r')-\sum_{\alpha'}\frac{1}{I_{\alpha\alpha'}(r)}\frac{\delta I_{\alpha\alpha'}(r)}{\delta\rho_\beta(r')}\right)\right.\\ -&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\left.\times\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{b,res}-\hat F_{\rho_\alpha}^\mathrm{res}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r)\right)\Delta\rho_\beta(r')\mathrm{d}r'\\ -&=\Delta\rho_\alpha(r)+\left(\frac{\beta}{m_\alpha}\underbrace{\int\sum_\beta\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(r,r')\Delta\rho_\beta(r')\mathrm{d}r'}_{\Delta\hat F_{\rho_\alpha}^\mathrm{res}(r)}-\sum_{\alpha'}\frac{1}{I_{\alpha\alpha'}(r)}\underbrace{\int\sum_\beta\frac{\delta I_{\alpha\alpha'}(r)}{\delta\rho_\beta(r')}\Delta\rho_\beta(r')\mathrm{d}r'}_{\Delta I_{\alpha\alpha'}(r)}\right)\\ -&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\times\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{b,res}-\hat F_{\rho_\alpha}^\mathrm{res}(r)-V_\alpha^\mathrm{ext}(r)\right)}\prod_{\alpha'}I_{\alpha\alpha'}(r) -\end{align*}$$ +$$ +\begin{aligned} +q_\alpha(\mathbf{r})&=\int\sum_\beta\left(\delta_{\alpha\beta}\delta(\mathbf{r}-\mathbf{r}')+\left(\frac{\beta}{m_\alpha}\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(\mathbf{r},\mathbf{r}')-\sum_{\alpha'}\frac{1}{I_{\alpha\alpha'}(\mathbf{r})}\frac{\delta I_{\alpha\alpha'}(\mathbf{r})}{\delta\rho_\beta(\mathbf{r}')}\right)\right.\\ +&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\left.\times f_\alpha e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})\right)\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}'\\ +&=\Delta\rho_\alpha(\mathbf{r})+\left(\frac{\beta}{m_\alpha}\underbrace{\int\sum_\beta\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(\mathbf{r},\mathbf{r}')\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}'}_{\Delta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})}-\sum_{\alpha'}\frac{1}{I_{\alpha\alpha'}(\mathbf{r})}\underbrace{\int\sum_\beta\frac{\delta I_{\alpha\alpha'}(\mathbf{r})}{\delta\rho_\beta(\mathbf{r}')}\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}'}_{\Delta I_{\alpha\alpha'}(\mathbf{r})}\right)\\ +&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\times f_\alpha e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r}) +\end{aligned} +$$ and finally -$$q_\alpha(r)=\Delta\rho_\alpha(r)+\left(\frac{\beta}{m_\alpha}\Delta\hat F_{\rho_\alpha}^\mathrm{res}(r)-\sum_{\alpha'}\frac{\Delta I_{\alpha\alpha'}(r)}{I_{\alpha\alpha'}(r)}\right)\mathcal{P}_\alpha\left(r;\left[\rho(r)\right]\right)$$ (eqn:newton_rhs) +$$ +q_\alpha(\mathbf{r})=\Delta\rho_\alpha(\mathbf{r})+\left(\frac{\beta}{m_\alpha}\Delta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})-\sum_{\alpha'}\frac{\Delta I_{\alpha\alpha'}(\mathbf{r})}{I_{\alpha\alpha'}(\mathbf{r})}\right)\mathcal{P}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right) +$$ (eqn:newton_rhs) -Neglecting the second term in eq. {eq}`eqn:newton_rhs` leads to $\Delta_\alpha(r)=\mathcal{F}_\alpha\left(r;\left[\rho(r)\right]\right)$ which is the search direction of the Picard iteration. This observation implies that the Picard iteration is an approximation of the Newton solver that neglects the residual contribution to the Jacobian. Only using the ideal gas contribution to the Jacobian is a reasonable approximation for low densities and therefore, the Picard iteration converges quickly (with a large damping coefficient $\nu$) for low densities. +Neglecting the second term in eq. {eq}`eqn:newton_rhs` leads to $\Delta\rho_\alpha(\mathbf{r})=\mathcal{R}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right)$ which is the search direction of the Picard iteration. This observation implies that the Picard iteration is an approximation of the Newton solver that neglects the residual contribution to the Jacobian. Only using the ideal gas contribution to the Jacobian is a reasonable approximation for low densities and therefore, the Picard iteration converges quickly (with a large damping coefficient $\nu$) for low densities. The second functional derivative of the residual Helmholtz energy can be rewritten in terms of the weight functions. -$$\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(r,r')=\int\frac{\delta\hat f^\mathrm{res}(r'')}{\delta\rho_\alpha(r)\delta\rho_\beta(r')}\mathrm{d}r''=\int\sum_{\alpha\beta}\hat f^\mathrm{res}_{\alpha\beta}(r'')\frac{\delta n_\alpha(r'')}{\delta\rho_\alpha(r)}\frac{\delta n_\beta(r'')}{\delta\rho_\beta(r')}\mathrm{d}r''$$ +$$\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(\mathbf{r},\mathbf{r}')=\int\frac{\delta\hat f^\mathrm{res}(\mathbf{r}'')}{\delta\rho_\alpha(\mathbf{r})\delta\rho_\beta(\mathbf{r}')}\mathrm{d}\mathbf{r}''=\int\sum_{\alpha\beta}\hat f^\mathrm{res}_{\alpha\beta}(\mathbf{r}'')\frac{\delta n_\alpha(\mathbf{r}'')}{\delta\rho_\alpha(\mathbf{r})}\frac{\delta n_\beta(\mathbf{r}'')}{\delta\rho_\beta(\mathbf{r}')}\mathrm{d}\mathbf{r}''$$ -Here $\hat f^\mathrm{res}_{\alpha\beta}=\frac{\partial^2\hat f^\mathrm{res}}{\partial n_\alpha\partial n_\beta}$ is the second partial derivative of the reduced Helmholtz energy density with respect to the weighted densities $n_\alpha$ and $n_\beta$. The definition of the weighted densities $n_\alpha(r)=\sum_\alpha\int\rho_\alpha(r')\omega_\alpha^i(r-r')\mathrm{d}r'$ is used to simplify the expression further. +Here $\hat f^\mathrm{res}_{\alpha\beta}=\frac{\partial^2\hat f^\mathrm{res}}{\partial n_\alpha\partial n_\beta}$ is the second partial derivative of the reduced Helmholtz energy density with respect to the weighted densities $n_\alpha$ and $n_\beta$. The definition of the weighted densities $n_\alpha(\mathbf{r})=\sum_i\int\rho_i(\mathbf{r}')\omega_\alpha^i(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}'$ is used to simplify the expression further. -$$\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(r,r')=\int\sum_{\alpha\beta}\hat f^\mathrm{res}_{\alpha\beta}(r'')\omega_\alpha^i(r''-r)\omega_\beta^j(r''-r')\mathrm{d}r''$$ +$$\hat F_{\rho_\alpha\rho_\beta}^\mathrm{res}(\mathbf{r},\mathbf{r}')=\int\sum_{\alpha\beta}\hat f^\mathrm{res}_{\alpha\beta}(\mathbf{r}'')\omega_\alpha^i(\mathbf{r}''-\mathbf{r})\omega_\beta^j(\mathbf{r}''-\mathbf{r}')\mathrm{d}\mathbf{r}''$$ -With that, $\Delta\hat F_{\rho_\alpha}^\mathrm{res}(r)$ can be rewritten as +With the weighted-density variation $\Delta n_\beta(\mathbf{r}'')=\sum_j\int\Delta\rho_j(\mathbf{r}')\omega_\beta^j(\mathbf{r}''-\mathbf{r}')\mathrm{d}\mathbf{r}'$, $\Delta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})$ can be rewritten as -$$\begin{align*} -\Delta\hat F_{\rho_\alpha}^\mathrm{res}(r)&=\int\sum_{\alpha\beta}\hat f^\mathrm{res}_{\alpha\beta}(r'')\omega_\alpha^i(r''-r)\underbrace{\sum_\beta\int\omega_\beta^j(r''-r')\Delta\rho_\beta(r')\mathrm{d}r'}_{\Delta n_\beta(r'')}\mathrm{d}r''\\ -&=\int\sum_\alpha\sum_\beta \hat f^\mathrm{res}_{\alpha\beta}(r'')\Delta n_\beta(r'')\omega_\alpha^i(r''-r)\mathrm{d}r'' -\end{align*}$$ (eqn:newton_F) +$$ +\begin{aligned} +\Delta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})&=\int\sum_{\alpha,\beta}\hat f^\mathrm{res}_{\alpha\beta}(\mathbf{r}'')\omega_\alpha^i(\mathbf{r}''-\mathbf{r})\Delta n_\beta(\mathbf{r}'')\mathrm{d}\mathbf{r}''\\ +&=\int\sum_\alpha\sum_\beta \hat f^\mathrm{res}_{\alpha\beta}(\mathbf{r}'')\Delta n_\beta(\mathbf{r}'')\omega_\alpha^i(\mathbf{r}''-\mathbf{r})\mathrm{d}\mathbf{r}''\\ +&=\int\sum_\alpha \Delta\hat f^\mathrm{res}_\alpha(\mathbf{r}'')\omega_\alpha^i(\mathbf{r}''-\mathbf{r})\mathrm{d}\mathbf{r}'' +\end{aligned} +$$ (eqn:newton_F) -To simplify the expression for $\Delta I_{\alpha\alpha'}(r)$, the recursive definition of the bond integrals is used. +To simplify the expression for $\Delta I_{\alpha\alpha'}(\mathbf{r})$, the recursive definition of the bond integrals is used. -$$\begin{align*} -\Delta I_{\alpha\alpha'}(r)&=\iint\sum_\beta\frac{\delta}{\delta\rho_\beta(r'')}\left(e^{\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{b,res}-\hat F_{\rho_{\alpha'}}^\mathrm{res}(r')-V_{\alpha'}^\mathrm{ext}(r')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(r')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(r-r')\right)\\ -&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\times\Delta\rho_\beta(r'')\mathrm{d}r'\mathrm{d}r''\\ -&=\iint\sum_\beta\left(-\frac{\beta}{m_{\alpha'}}\hat F_{\rho_{\alpha'}\rho_\beta}^\mathrm{res}(r',r'')+\sum_{\alpha''\neq\alpha}\frac{1}{I_{\alpha'\alpha''}(r')}\frac{\delta I_{\alpha'\alpha''}(r')}{\delta\rho_\beta(r'')}\right)e^{\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{b,res}-\hat F_{\rho_{\alpha'}}^\mathrm{res}(r')-V_{\alpha'}^\mathrm{ext}(r')\right)}\\ -&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\times\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(r')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(r-r')\Delta\rho_\beta(r'')\mathrm{d}r'\mathrm{d}r'' -\end{align*}$$ +$$ +\begin{aligned} +\Delta I_{\alpha\alpha'}(\mathbf{r})&=\iint\sum_\beta\frac{\delta}{\delta\rho_\beta(\mathbf{r}'')}\left(e^{-\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{res}(\mathbf{r}')+V_{\alpha'}^\mathrm{ext}(\mathbf{r}')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(\mathbf{r}')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(\mathbf{r}-\mathbf{r}')\right)\\ +&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\times\Delta\rho_\beta(\mathbf{r}'')\mathrm{d}\mathbf{r}'\mathrm{d}\mathbf{r}''\\ +&=\iint\sum_\beta\left(-\frac{\beta}{m_{\alpha'}}\hat F_{\rho_{\alpha'}\rho_\beta}^\mathrm{res}(\mathbf{r}',\mathbf{r}'')+\sum_{\alpha''\neq\alpha}\frac{1}{I_{\alpha'\alpha''}(\mathbf{r}')}\frac{\delta I_{\alpha'\alpha''}(\mathbf{r}')}{\delta\rho_\beta(\mathbf{r}'')}\right)e^{-\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{res}(\mathbf{r}')+V_{\alpha'}^\mathrm{ext}(\mathbf{r}')\right)}\\ +&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\times\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(\mathbf{r}')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(\mathbf{r}-\mathbf{r}')\Delta\rho_\beta(\mathbf{r}'')\mathrm{d}\mathbf{r}'\mathrm{d}\mathbf{r}'' +\end{aligned} +$$ -Here, the definition of $\Delta\hat F_{\rho_\alpha}^\mathrm{res}(r)$ and $\Delta I_{\alpha\alpha'}(r)$ can be inserted leading to a recursive calculation of $\Delta I_{\alpha\alpha'}(r)$ similar to the original bond integrals. +Here, the definition of $\Delta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})$ and $\Delta I_{\alpha\alpha'}(\mathbf{r})$ can be inserted leading to a recursive calculation of $\Delta I_{\alpha\alpha'}(\mathbf{r})$ similar to the original bond integrals. -$$\begin{align*} -\Delta I_{\alpha\alpha'}(r)&=\int\left(-\frac{\beta}{m_{\alpha'}}\Delta\hat F_{\rho_{\alpha'}}^\mathrm{res}(r')+\sum_{\alpha''\neq\alpha}\frac{\Delta I_{\alpha'\alpha''}(r')}{I_{\alpha'\alpha''}(r')}\right)\\ -&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\times e^{\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{b,res}-\hat F_{\rho_{\alpha'}}^\mathrm{res}(r')-V_{\alpha'}^\mathrm{ext}(r')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(r')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(r-r')\mathrm{d}r' -\end{align*}$$ (eqn:newton_I) +$$ +\begin{aligned} +\Delta I_{\alpha\alpha'}(\mathbf{r})&=\int\left(-\frac{\beta}{m_{\alpha'}}\Delta\hat F_{\rho_{\alpha'}}^\mathrm{res}(\mathbf{r}')+\sum_{\alpha''\neq\alpha}\frac{\Delta I_{\alpha'\alpha''}(\mathbf{r}')}{I_{\alpha'\alpha''}(\mathbf{r}')}\right)\\ +&\qquad\times e^{-\frac{\beta}{m_{\alpha'}}\left(\hat F_{\rho_{\alpha'}}^\mathrm{res}(\mathbf{r}')+V_{\alpha'}^\mathrm{ext}(\mathbf{r}')\right)}\left(\prod_{\alpha''\neq\alpha}I_{\alpha'\alpha''}(\mathbf{r}')\right)\omega_\mathrm{chain}^{\alpha\alpha'}(\mathbf{r}-\mathbf{r}')\mathrm{d}\mathbf{r}' +\end{aligned} +$$ (eqn:newton_I) -In every iteration of GMRES, $q(r)$ needs to be evaluated from eqs. {eq}`eqn:newton_rhs`, {eq}`eqn:newton_F` and {eq}`eqn:newton_I`. The operations required for that are analogous to the calculation of weighted densities and the functional derivative in the Euler-Lagrange equation itself. Details of GMRES, including the pseudocode that the implementation in $\text{FeO}_\text{s}$ is based on, are given on [Wikipedia](https://de.wikipedia.org/wiki/GMRES-Verfahren) (German). +If the number of particles is specified instead of the bulk densities (see the section on [constrained DFT](particle_constraint.md)), the fugacities depend on the density profiles through the configurational integrals $z_\alpha$. Then, the functional derivative of the fugacity has to be included in eq. {eq}`eqn:newton_rhs`, leading to + +$$ +q_\alpha(\mathbf{r})=\Delta\rho_\alpha(\mathbf{r})+\left(\frac{\beta}{m_\alpha}\Delta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})-\sum_{\alpha'}\frac{\Delta I_{\alpha\alpha'}(\mathbf{r})}{I_{\alpha\alpha'}(\mathbf{r})}-\frac{\Delta f_\alpha}{f_\alpha}\right)\mathcal{P}_\alpha\left(\mathbf{r};\left[\rho(\mathbf{r})\right]\right) +$$ (eqn:newton_rhs_f) + +with $\Delta f_\alpha=\int\sum_\beta\frac{\delta f_\alpha}{\delta\rho_\beta(\mathbf{r}')}\Delta\rho_\beta(\mathbf{r}')\mathrm{d}\mathbf{r}'$. The expression for $\Delta f_\alpha$ follows from the variation of the configurational integrals + +$$ +\Delta z_\alpha=-\int\left(\frac{\beta}{m_\alpha}\Delta\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})-\sum_{\alpha'}\frac{\Delta I_{\alpha\alpha'}(\mathbf{r})}{I_{\alpha\alpha'}(\mathbf{r})}\right)e^{-\frac{\beta}{m_\alpha}\left(\hat F_{\rho_\alpha}^\mathrm{res}(\mathbf{r})+V_\alpha^\mathrm{ext}(\mathbf{r})\right)}\prod_{\alpha'}I_{\alpha\alpha'}(\mathbf{r})\mathrm{d}\mathbf{r} +$$ (eqn:newton_z) + +and depends on the specification. + +|specification|$f_\alpha$|$\frac{\Delta f_\alpha}{f_\alpha}$| +|:-:|:-:|:-:| +|fixed bulk densities $\rho_\alpha^\mathrm{b}$|$\rho_\alpha^\mathrm{b}e^{\frac{\beta}{m_\alpha}\sum_\gamma\hat F_{\rho_\gamma}^\mathrm{b,res}}$|$0$| +|fixed particle numbers $N_\alpha^\mathrm{spec}$|$\frac{N_\alpha^\mathrm{spec}}{z_\alpha}$|$-\frac{\Delta z_\alpha}{z_\alpha}$| +|fixed total particle number $N^\mathrm{spec}$|$\frac{N^\mathrm{spec}f_\alpha^0}{\sum_\beta f_\beta^0z_\beta}$|$-\frac{\sum_\beta f_\beta^0\Delta z_\beta}{\sum_\beta f_\beta^0z_\beta}$| + +In every iteration of GMRES, $q(\mathbf{r})$ needs to be evaluated from eqs. {eq}`eqn:newton_rhs_f`, {eq}`eqn:newton_F`, {eq}`eqn:newton_I` and {eq}`eqn:newton_z`. The operations required for that are analogous to the calculation of weighted densities and the functional derivative in the Euler-Lagrange equation itself. Details of GMRES, including the pseudocode that the implementation in $\text{FeO}_\text{s}$ is based on, are given on [Wikipedia](https://de.wikipedia.org/wiki/GMRES-Verfahren) (German). The Newton solver converges exceptionally fast compared to a simple Picard iteration. The faster convergence comes at the cost of requiring multiple steps for solving the linear subsystem. With the algorithm outlined here, the evaluation of the second partial derivatives of the Helmholtz energy density is only required once for every Newton step. The GMRES algorithm only uses the very efficient convolution integrals and no additional evaluation of the model. From e9d0278fa99ed3f7ca28274d60e032e47420e90f Mon Sep 17 00:00:00 2001 From: Philipp Rehner <69816385+prehner@users.noreply.github.com> Date: Thu, 15 Oct 2026 10:12:11 +0200 Subject: [PATCH 13/13] Clean documentation for release (#395) --- README.md | 2 +- docs/api/dft.md | 18 ++---- docs/api/eos.md | 1 + docs/conf.py | 20 +++++++ docs/index.md | 2 +- docs/installation.md | 31 +++++----- docs/recipes/recipes_contact_angle.ipynb | 12 ++-- .../recipes_surface_tension_pure.ipynb | 20 +++---- .../dft/pcsaft_surface_tension.ipynb | 58 +++++++++---------- docs/tutorials/index.md | 2 +- .../tutorials/utility/core_dual_numbers.ipynb | 38 +----------- examples/README.md | 13 +++++ examples/core_dual_numbers.ipynb | 3 +- examples/core_user_defined_eos.ipynb | 1 + examples/core_working_with_units.ipynb | 1 + examples/gc_pcsaft_functional.ipynb | 1 + examples/lj_models.ipynb | 1 + examples/managing_threads.ipynb | 1 + examples/pc_saft_phase_diagram_to_dict.ipynb | 1 + examples/pcsaft/Entropy Scaling.ipynb | 1 + examples/pcsaft/PhaseDiagramBinary.ipynb | 1 + examples/pcsaft/adsorption_isotherms.ipynb | 1 + examples/pcsaft/fea_adsorption.ipynb | 1 + .../parameter_adjustment/adjust_kij.ipynb | 1 + .../adjust_non_polar_non_asssociating.ipynb | 1 + .../adjust_viscosity_correlation.ipynb | 1 + examples/pcsaft/pore_geometry.ipynb | 1 + examples/pcsaft_entropy_scaling.ipynb | 1 + examples/pcsaft_phase_diagram.ipynb | 1 + examples/pcsaft_surface_tension.ipynb | 9 +-- examples/pcsaft_working_with_parameters.ipynb | 1 + examples/pets_eos_binary_caseI.ipynb | 1 + examples/saftvrmie/validate_lafitte.ipynb | 1 + .../saftvrqmie/deuterium_helium_binary.ipynb | 1 + .../hydrogen_deuterium_binary.ipynb | 1 + examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb | 1 + .../saftvrqmie/hydrogen_helium_binary.ipynb | 1 + .../saftvrqmie/hydrogen_neon_binary.ipynb | 1 + examples/saftvrqmie/quantum_fluid_dft.ipynb | 1 + .../radial_distribution_function.ipynb | 1 + py-feos/src/ad/mod.rs | 8 ++- py-feos/src/dft/adsorption/pore.rs | 10 ++-- py-feos/src/dft/profile.rs | 44 ++++++++++++++ 43 files changed, 194 insertions(+), 123 deletions(-) create mode 100644 examples/README.md diff --git a/README.md b/README.md index 2b38bc13f..7a4a5f036 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ maturin build --profile="release-lto" ``` which will use the `wheel` feature collection specified in the `pyproject.toml` file. -The `emscripten_wheel` collection provides the same models and AD support for Pyodide while omitting incompatible features (such as Rayon, SQLite, and the Rayon-dependent 3D DFT classes). +The `emscripten_wheel` collection provides the same models and AD support for Pyodide while omitting incompatible features (such as Rayon and SQLite). Use the following command to build a wheel with specific features: ``` diff --git a/docs/api/dft.md b/docs/api/dft.md index 62faeec6c..a0de0af92 100644 --- a/docs/api/dft.md +++ b/docs/api/dft.md @@ -8,15 +8,6 @@ Implementations of Helmholtz energy functionals for DFT. ```{eval-rst} .. currentmodule:: feos -.. autosummary:: - :toctree: generated/ - - HelmholtzEnergyFunctional -``` - -```{eval-rst} -.. currentmodule:: feos - .. autosummary:: HelmholtzEnergyFunctional.pcsaft HelmholtzEnergyFunctional.gc_pcsaft @@ -43,11 +34,11 @@ Implementations of Helmholtz energy functionals for DFT. ExternalPotential Geometry + Grid Pore1D - Pore2D - Pore3D - Adsorption1D - Adsorption3D + PoreProfile + PoreSpecification + Adsorption ``` ## Solvation @@ -68,4 +59,5 @@ Implementations of Helmholtz energy functionals for DFT. FMTVersion DFTSolver + DFTSolverLog ``` \ No newline at end of file diff --git a/docs/api/eos.md b/docs/api/eos.md index b2e26343a..3683890bc 100644 --- a/docs/api/eos.md +++ b/docs/api/eos.md @@ -90,4 +90,5 @@ eos = feos.EquationOfState.pcsaft(pc_saft_parameters).joback(joback_parameters) StateVec PhaseEquilibrium PhaseDiagram + PhaseDiagramHetero ``` diff --git a/docs/conf.py b/docs/conf.py index 5fb6772d5..c4c1b9466 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,6 +1,7 @@ import os import sys import feos +import sphinx.ext.autosummary sys.path.append(os.path.abspath(os.path.join(__file__, "../.."))) sys.path.insert(0, os.path.abspath('.')) @@ -38,6 +39,25 @@ autodoc_typehints = "both" autosummary_generate = True templates_path = ['_templates'] + + +def hide_missing_constructor(app, what, name, obj, options, signature, return_annotation): + # classes without a constructor (no `#[new]`) would otherwise be shown as `Class()` + if what == "class" and getattr(obj, "__text_signature__", None) is None: + return "", None + + +# autosummary turns empty signatures into `()`, keep them empty instead +_mangle_signature = sphinx.ext.autosummary.mangle_signature +sphinx.ext.autosummary.mangle_signature = lambda sig, max_chars=30: ( + _mangle_signature(sig, max_chars) if sig else "" +) + + +def setup(app): + app.connect("autodoc-process-signature", hide_missing_constructor) + + exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', '**.ipynb_checkpoints'] # -- Options for HTML output ------------------------------------------------- diff --git a/docs/index.md b/docs/index.md index 3eb17fd12..45f5cf496 100644 --- a/docs/index.md +++ b/docs/index.md @@ -48,7 +48,7 @@ let parameters = Parameters::from_json( let eos = &PcSaft::new(parameters); // Define thermodynamic conditions -let critical_point = State::critical_point(&eos, None, None, None, Default::default())?; +let critical_point = State::critical_point(&eos, (), None, None, Default::default())?; // Compute properties let p = critical_point.pressure(Contributions::Total); diff --git a/docs/installation.md b/docs/installation.md index ce4574e50..426c3b19c 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -16,28 +16,27 @@ pip install git+https://github.com/feos-org/feos ```` ````{tab-item} Rust -In Rust, the `feos-dft` crate and each equation of state or DFT functional is a separate, optional module behind a feature flag. -To use {math}`\text{FeO}_\text{s}` with all models (including Python bindings), use the `all_models` feature: +In Rust, DFT and each equation of state or Helmholtz energy functional is a separate, optional module behind a feature flag. +To use {math}`\text{FeO}_\text{s}` with all models, use the `all_models` feature: -```toml -[dependencies] -feos-core = "0.4" -feos = { version="0.4", features = ["all_models"] } -quantity = "0.6" +``` +cargo add feos --features all_models +``` + +In the following example we use only the PC-SAFT equation of state and Helmholtz energy functionals: + +``` +cargo add feos --features "dft pcsaft" ``` -To access the generic implementations for properties and phase equilibria, the `feos-core` crate is also included as dependency. Finally, {math}`\text{FeO}_\text{s}` makes extensive use of SI units provided by the `quantity` crate. +The generic implementations for properties and phase equilibria (`feos-core`) and for DFT (`feos-dft`) are re-exported as `feos::core` and `feos::dft`, so no additional dependencies are required. -In the following example we use only the PC-SAFT equation of state and Helmholtz energy functionals (without Python bindings): +{math}`\text{FeO}_\text{s}` makes extensive use of SI units provided by the `quantity` crate, which has to be added separately: -```toml -[dependencies] -feos-core = "0.4" -feos-dft = "0.4" -feos = { version="0.4", features = ["dft", "pcsaft"] } -quantity = "0.6" +``` +cargo add quantity ``` -To access generic DFT functionalities like interfaces and adsorption isotherms, the `feos-dft` crate is added to the dependencies. +Make sure that the version of `quantity` matches the one used by `feos`. Otherwise, the units are not compatible. ```` ````` diff --git a/docs/recipes/recipes_contact_angle.ipynb b/docs/recipes/recipes_contact_angle.ipynb index 92d8a9f63..c25c77c92 100644 --- a/docs/recipes/recipes_contact_angle.ipynb +++ b/docs/recipes/recipes_contact_angle.ipynb @@ -25,7 +25,7 @@ "\n", "# set up surface\n", "ext_pot = feos.ExternalPotential.LJ93(sigma_ss=3.0, epsilon_k_ss=120.0, rho_s=0.08)\n", - "pore = feos.Pore1D(feos.Geometry.Cartesian, 50*si.ANGSTROM, ext_pot)" + "pore = feos.Pore1D(functional, feos.Geometry.Cartesian, 50*si.ANGSTROM, ext_pot)" ] }, { @@ -37,10 +37,10 @@ { "data": { "text/latex": [ - "$31.99°$" + "$31.997°$" ], "text/plain": [ - "31.990466526671963°" + "31.99653644908266°" ] }, "execution_count": 2, @@ -59,7 +59,7 @@ "gamma_sv = vapor_profile.interfacial_tension / si.ANGSTROM**2\n", "\n", "# calculate the vapor/liquid interfacial tension\n", - "vle_profile = feos.PlanarInterface.from_pdgt(vle, 2048).solve()\n", + "vle_profile = feos.Interface.planar_from_pdgt(vle, 2048).solve()\n", "gamma_vl = vle_profile.surface_tension\n", "\n", "# calculate the contact angle from Young's equation\n", @@ -69,7 +69,7 @@ ], "metadata": { "kernelspec": { - "display_name": "feos", + "display_name": "feos_devel", "language": "python", "name": "python3" }, @@ -83,7 +83,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.14.0" + "version": "3.14.7" } }, "nbformat": 4, diff --git a/docs/recipes/recipes_surface_tension_pure.ipynb b/docs/recipes/recipes_surface_tension_pure.ipynb index 1c90a4f3a..983d89024 100644 --- a/docs/recipes/recipes_surface_tension_pure.ipynb +++ b/docs/recipes/recipes_surface_tension_pure.ipynb @@ -63,10 +63,10 @@ { "data": { "text/latex": [ - "$20.191\\,\\mathrm{\\frac{mN}{m}}$" + "$20.198\\,\\mathrm{\\frac{mN}{m}}$" ], "text/plain": [ - "20.190692939005643 mN/m" + "20.19808975615558 mN/m" ] }, "execution_count": 3, @@ -75,8 +75,8 @@ } ], "source": [ - "surface_tension_pdgt = (feos.PlanarInterface\n", - " .from_pdgt(vle, 1024)\n", + "surface_tension_pdgt = (feos.Interface\n", + " .planar_from_pdgt(vle, 1024)\n", " .solve()\n", " .surface_tension)\n", "surface_tension_pdgt" @@ -91,10 +91,10 @@ { "data": { "text/latex": [ - "$20.191\\,\\mathrm{\\frac{mN}{m}}$" + "$20.194\\,\\mathrm{\\frac{mN}{m}}$" ], "text/plain": [ - "20.190693016626028 mN/m" + "20.194223394324272 mN/m" ] }, "execution_count": 4, @@ -103,8 +103,8 @@ } ], "source": [ - "surface_tension_tanh = (feos.PlanarInterface\n", - " .from_tanh(vle, 1024, 100 * si.ANGSTROM, 500 * si.KELVIN)\n", + "surface_tension_tanh = (feos.Interface\n", + " .planar_from_tanh(vle, 1024, 100 * si.ANGSTROM, 500 * si.KELVIN)\n", " .solve()\n", " .surface_tension\n", ")\n", @@ -114,7 +114,7 @@ ], "metadata": { "kernelspec": { - "display_name": "feos", + "display_name": "feos_devel", "language": "python", "name": "python3" }, @@ -128,7 +128,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.14.7" } }, "nbformat": 4, diff --git a/docs/tutorials/dft/pcsaft_surface_tension.ipynb b/docs/tutorials/dft/pcsaft_surface_tension.ipynb index df73e7e66..9148d93c8 100644 --- a/docs/tutorials/dft/pcsaft_surface_tension.ipynb +++ b/docs/tutorials/dft/pcsaft_surface_tension.ipynb @@ -15,7 +15,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 13, "id": "9ad1bb1d", "metadata": {}, "outputs": [], @@ -46,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 14, "id": "837c7770", "metadata": {}, "outputs": [], @@ -69,7 +69,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 15, "id": "d6ed65fa", "metadata": {}, "outputs": [ @@ -84,7 +84,7 @@ "T = 677.34347 K, ρ = 18.70466 kmol/m³" ] }, - "execution_count": 3, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -126,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 16, "id": "f834af33", "metadata": {}, "outputs": [ @@ -143,7 +143,7 @@ "phase 1: T = 300.00000 K, ρ = 55.38975 kmol/m³" ] }, - "execution_count": 4, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -169,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 17, "id": "25c9d99d", "metadata": {}, "outputs": [ @@ -177,14 +177,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 676 μs, sys: 12 μs, total: 688 μs\n", - "Wall time: 661 μs\n" + "CPU times: user 291 μs, sys: 0 ns, total: 291 μs\n", + "Wall time: 299 μs\n" ] } ], "source": [ "%%time\n", - "interface = feos.PlanarInterface.from_tanh(\n", + "interface = feos.Interface.planar_from_tanh(\n", " vle=vle, \n", " n_grid=512, \n", " l_grid=100*si.ANGSTROM, \n", @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 18, "id": "f915e37c", "metadata": {}, "outputs": [ @@ -213,7 +213,7 @@ "True" ] }, - "execution_count": 6, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -232,7 +232,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 19, "id": "77c08d7f", "metadata": {}, "outputs": [ @@ -240,8 +240,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 15.8 ms, sys: 0 ns, total: 15.8 ms\n", - "Wall time: 15.7 ms\n" + "CPU times: user 29.5 ms, sys: 11 μs, total: 29.5 ms\n", + "Wall time: 29.2 ms\n" ] } ], @@ -255,20 +255,20 @@ "id": "19402ba2", "metadata": {}, "source": [ - "`solve()` calculates the equilibrium density profile and returns the `PlanarInterface` object so that we can readily extract the `surface_tension`.\n", + "`solve()` calculates the equilibrium density profile and returns the `Interface` object so that we can readily extract the `surface_tension`.\n", "\n", - "The `PlanarInterface.density` contains the equilibrated density profile. Let's compare it to our initial density and zoom into the interesting region between 40 and 60 Angstrom. " + "The `Interface.density` contains the equilibrated density profile. Let's compare it to our initial density and zoom into the interesting region between -10 and 10 Angstrom around the interface. " ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 20, "id": "61992d8f", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5YAAAI+CAYAAADHM5VJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAtQdJREFUeJzs3Xd4VNXWx/HvzGTSGyGhl1ADBJAiTXpRwE4REEUsKHJFvYq+ioq9F1BBLKiAjSZVVLhABFR6x9ADhBIICSG9TWbm/SNkNCaBAJMMSX6f5+Zh9tnrnLNOkutkzT5nb4PdbrcjIiIiIiIicpmMrk5AREREREREyjYVliIiIiIiInJFVFiKiIiIiIjIFVFhKSIiIiIiIldEhaWIiIiIiIhcERWWIiIiIiIickVUWIqIiIiIiMgVUWEpIiIiIiIiV0SFpYiIiIiIiFwRFZYiIiIiIiJyRdxcnUBJWLNmDfPmzWPHjh0kJiYSEBBA7dq16dChA48++ihubvkv22KxMHPmTJYsWcKxY8cwm800adKEESNGcMMNN7joKkRERERERMoGg91ut7s6CWfJyclh/PjxLFmyBIDq1asTHBxMYmIip0+fxmKxsG3bNnx8fBz7ZGVlcd9997F161ZMJhMNGzYkIyODY8eOAfDggw/y1FNPueR6REREREREyoJyNWL58ssvs2TJElq0aMGrr75Ks2bNHH0ZGRmsW7cOd3f3fPu89957bN26lVq1ajFt2jTq168PwKpVq/jvf//LtGnTaNOmDb169SrVaxERERERESkrys2I5YYNGxg5ciQ1a9ZkyZIl+Pr6XnSf+Ph4evTo4bgVtmPHjvn6P/roI6ZOnUp4eDgLFiwoqdRFRERERETKtHIzec/06dMBuP/++4tVVAJERERgsVgIDQ0tUFQCDBs2DIDIyEjHrbEiIiIiIiKSX7m4FTYrK4s///wTgE6dOnHo0CHmzJlDVFQU7u7uNG3alMGDB1OzZs18++3YsQOAtm3bFnrcqlWrUqtWLU6cOMGOHTuoU6dOiV6HiIiIiIhIWVQuCst9+/ZhsVgA2Lp1K6+++qqjDfDbb7/x5Zdf8tZbb3HzzTc7th89ehTgggVjnTp1OHHiBEeOHLlgDrNnz2bu3LnFyvfEiRN4e3vTtm1bPvjgg2LtIyIiIiIicrUqF4VlXFyc43XepD0vvPACTZo04dSpU0yaNIlff/2VZ599lvr16zsm9UlKSgIgICCgyGPn9SUnJ180h8jIyGLnnJSUdNFiVUREREREpCwoF4VlWlqa47WnpyfTpk1zFIR169Zl4sSJHD16lL179/LZZ5/x8ccfA7m30AKYzeYij503i2xmZuYFcwgJCSE8PLxY+UZFRV30eCIiIiIiImVFuSgsPTw8HK8HDBhQYATSaDRy77338swzz/DHH39gs9kwGo2O/f552+y/ZWdnA7kF64UMGzbMMdnPxQwcOPCSRjdFRERERESuZuViVth/FpINGjQoNCZvfcq0tDQSExMB8Pf3B/6+JbYweX15sSIiIiIiIpJfuSgs84pGKPq21n+OatpsNgBCQ0MBiI6OLvLYecuM5MWKiIiIiIhIfuWisKxatapjKZHjx48XGpO33cPDg8DAQABatWoFwLZt2wrdJzY2lhMnTuSLFRERERERkfzKRWEJ0L9/fwB++ukncnJyCvT/+OOPALRr1w43t9xHS3v37o3ZbObo0aNs2LChwD6zZ88GoFmzZtStW7ekUhcRERERESnTyk1h+cADD+Dn58eJEyd49dVXHTO+2u12vvnmG3777TcMBgMPPfSQY5/g4GCGDh0KwPPPP8/hw4cdfREREXz55ZcAPPLII6V4JSIiIiIiImVLuZgVFiAoKIiPP/6YMWPGMGfOHH755RdCQ0M5ffo0cXFxGAwGnn76aTp06JBvv6effprIyEi2b9/OzTffTKNGjUhPT3c8W3n//ffTp08fV1ySiIiIiIhImWCw2+12VyfhTEePHuXzzz9n3bp1nD17Fl9fX1q3bs19991H+/btC90nOzubGTNm8NNPP3Hs2DHMZjNNmzbl7rvvpm/fvk7PMW+5kfDwcBYsWOD044uIiIiIiJSmcldYlgUqLEVEREREpDwpN89YioiIiIiIiGuosBQREREREZErosJSRERERERErogKSxEREREREbkiKixFRERERETkiqiwFBERERERkSuiwlJERERERESuiApLERERERERuSIqLEVEREREROSKqLAUERERERGRK6LCUkRERERERK6ICksRERGRCq5Xr16EhYVx4sQJpx0zLCyMsLCwqyKfZ599lrCwMBYsWOCU4+Upie9babmSn49IYdxcnYCIiIiIVBwLFizg5MmT9OnTh6ZNm7o6HfkX/Xzk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zjjQvffey8aNGxk/fjz33HPPBWO/+eYb3nzzTTp27MiMGTOccfoyJW8dy/DwcBYsWODqdERE5Cp338qZRCbEMCKsI8PD2lHZs+CHpHnOLZtE3OynADAFVKP+B0cxuJlLK1UREamgnPaM5b59+zCZTAwZMuSisUOGDMHNzY29e/c66/QiIiLl1vtdBrFu8P/x6DU9L1hUAvh3HoHBzR0Aa9JpUncuLY0URUSkgnNaYZmWloaPjw+enp4XjfX09MTHx8fpE/iIiIiUR5U9fXEzmooVa/ILxrftAEdbk/iIiEhpcFphWalSJVJSUjh79uxFY8+ePUtycjKBgYHOOr2IiIic9881LdN3L8cSX3A5LREREWdyWmHZqlUr7HY7kydPvmjsxx9/jN1up02bNs46vYiISIWRZc3hWEpCkf1eTXpgrtowt2G3k/T79FLKTEREKiqnFZZ33XWXY+3Hp59+mujogp+ORkdH89RTTzFnzhwMBgN33XWXs04vIiJS7sWmJ/PWlmW0m/MWY9fMLjLOYDQS0O0BRzt57dfYrTmlkaKIiFRQTltupEOHDowcOZKZM2eydOlSli5dSvXq1alSpQoAsbGxnD592hF/77330r59e2edXkREpNw7k57iWNMyIS6N3fEnaRFcs9BY/y4jiV8wAaw55Jw7SdruZfi2urn0khURkQrFaSOWAOPHj+eFF17A398fu91OTEwMO3bsYMeOHZw6dQq73U5AQAATJkzgmWeeceapRUREyr0WwTVpE1LH0Z6xb32RsW4BVfFtfaujnbTmqxLNTUREKjanjVjmufvuu7njjjv4888/+euvvxyT+VSuXJnmzZvTuXNnPDw8nH1aERGRCmFk005sizsGwKLDO5jQ7kYCPbwLjQ3oPorULbnrJaft/JmcxFO4BVYvtVxFRKTicHphCeDh4UGvXr3o1atXSRxeRESkwro5tAWvbFxKQlYaWdYc5h7cykPNuxYa6x3eB7eg2uQkHAebleQ/vyXopv8r5YxFRKQicOqtsCIiIlKyPExu3Nm4naM9c98GbHZbobEGown/rvc52klrv8Zut5d4jiIiUvGosBQRESljRjTpgNFgACA65SxrTh4sMjag671wPtYSe5CMA7+XRooiIlLBlMitsFarlaNHj5KcnExOzoWnN2/Xrt0F+0VERCS/Wr6V6FOrCf87vheA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/vzzT55++mkefvhhsrOzC+ybkJDAoEGD+Oyzzzh58iQNGjTAw8OD1atXM3LkSL7/XpMViIhI+eNucuO+ptc52t/s30hGTsH3Sd+2AzH6BAFgz04nZcMPpZajiIiUDeWmsLTb7dSqVYvnn3+edevWsXLlShYsWMDGjRt55513cHd3Z/Xq1Xz00UcF9n3++ec5cuQI4eHhrFy5koULF7J69WpeffVV7HY7b7zxBnv37nXBVYmIiJSsu8La4+3mDkBiVjrzDm0rEGN098S/8whHO2nNV6WWn4iIlA2XXViuX78em83mzFyuSMuWLVm2bBn33HMPlStXztd3++2388gjjwDw448/5st7z549REREYDQamTRpElWrVgVynz0ZOnQot912G1arlalTp5bexYiIiJSSQA9vhja61tGeFvkHNnvB9/eA7qMcr7Oit5N5dGup5CciImXDZReW9913H506deL//u//WLZsGenp6c7M65L5+vpiNpuL7O/WrRsAiYmJJCT8vcDz8uXLAejYsSN169YtsN/QoUMBWLNmjcuvUUREpCSMCu+MAQMAR5LjWXV8X4EYj5rN8Gz4922zSas1iY+IiPztsgvLsLAwkpKSWLJkCU888YRjsps5c+YQFxfnzBydIjMz0/Ha09PT8XrHjh0AXHvttf/eBcgdCXV3dycrK0u3w4qISLlU168y/eo2c7Q/L2rpkR5/j1omb/gBW2ZqiecmIiJlw2UXlosXLyYiIoLnn3+e9u3bY7PZWLNmDS+//DLdu3dnyJAhfPHFF0RFRTkz38v2888/A9CkSRN8fX0d248ePQpAnTp1Ct3PbDZTvXp1AI4cOVKySYqIiLjI6PBujtcbTh9hV/yJAjF+7e7A6BUAgD0zlZSNc0otPxERubq5XcnONWrUYMSIEYwYMYLk5GRWr17NypUr+eOPP9i1axe7d+9m0qRJ1KlTh969e9OrVy/atm2LwWBwVv7F8tdffzF79mwAHnrooXx9SUm5U6YHBAQUuX9eX3JywfW98syePZu5c+cWK5+rpdgWERHJ07ZKHVqH1CY1O4sHm3ehUWDVAjFGD2/8Og0nKeJTIHcSn38uRSIiIhXXFRWW/+Tv78+tt97KrbfeSnZ2Nhs2bGDlypX89ttvREdH8/XXXzN9+nQqVapEz5496dWrF126dMHDw8NZKRQqPj6eRx99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pCTMmTMHubm58PPzQ0xMDIYPH17r+dWmv9e6/g7DwsIQFRWFjIwMnD17Fi1btrQoBk/uB4B1bXA7jng/8MS+YGsbbNiwAV9++SUqKioQGhqKXr164eGHH7b4A3pVzupf7sARfUAURWzfvh0AMGrUKLs+vziyXRsyjUYjXZCrf//+uHLlCjZu3Ijk5GSoVCp06tQJY8aMqXFBPHd8L2Bi6STJyclYtWoVunTpgokTJ952+7S0NACo849CqVQiIiICV69eRWpqqkWNrNVqpatu1VVvREQElEoldDodUlJSGlViaW0b1CcnJwcnTpwAUHdHtMS6devMljdu3IhOnTphxYoVaNGihV0xNkT2tMGWLVvMlrdt24bly5djxYoV6NKli1V1OaN/uQNH9YF9+/ZBrVbDx8cHw4YNsysmR7arO0lMTERiYqK0HB8fj88++wxPP/00XnnlFbPp97f7ezWty8jIsGrEzFP7gYk1bVCf8vJy/PzzzwDq/sBnCU/sC7a2we7du82Wd+3ahWXLlmHx4sW49957rYrBWf3LHTiiDzjytAhHtmtDlpSUBJ1OBwA4deoU3n77bWkZAA4ePIgvvvgC7733HkaMGCGVu+N7ARNLJxBFEW+88Qb0ej0WLFhgUUctKioCgFqnq5qY1hUXF1sUR2lpKYxGY731CoKAwMBA3Lx50+J63YEtbVCfhQsXQqfToX379oiNjbVqX4VCgUceeQTDhw9H+/bt0axZMxQUFODw4cP4+OOPkZiYiClTpmDr1q2N6ls6W9sgLi4OI0eORMeOHREeHo6ysjL8+uuvWLp0KdLT0zF58mRs377dqquSOqN/NXSO7ANbt24FADz44IM2/406o13dQbNmzfD888/jvvvuQ1RUFPz9/ZGamor169djw4YNWLt2LRQKBf79739L+zjr79UT+wFgWxvUZ+nSpbh58yZCQkIwZswYq+PxxL5gaxv06dMH/fr1wz333IPIyEjodDqcOnUKy5cvx6VLlzBz5kx89913ViXintgPHNkHTO8HPXv2tHk01xnt2pDl5uZKv7/99tvo3Lkz3njjDXTs2BFZWVlYunQp9uzZg1dffRVt27aVzr90x/eCxjv/zoXWr1+P06dPY/z48bjnnnss2sc0rabqSbvVmabHVFRUWFVn1X0dUa87sKUN6vL5559j//79UCqVeP/9963+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oEF45pln0KdPnxr7uNt7gSB6yo2SiIiIiIiIyCl4jiURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJREREREREdmFiSURERERERHZhYklERERERER2YWJJRERkZsZOXIkYmJicOzYMZv2LyoqQteuXRETE4OYmBikpaU5NkAiIvI4TCyJiIjcSGZmJpKSkhAYGIg+ffrYVMfOnTuh0Wik5S1btjgqPCIi8lBMLImIiNzIzz//DAAYOHAgFAqFTXVs3rwZADBx4kQAwLZt22AwGBwTIBEReSQmlkRERG7ElFjGxcXZtH9CQgISExMRGBiIuXPnIioqCrm5uTh8+LAjwyQiIg9j21edREREVKvExESMGjXKom1feuklPPvssxbXXVRUhN9//x1KpRIDBw60KT7TaOWwYcPg5eWFUaNG4ZNPPsGWLVswaNAgm+okIiLiiCUREZEDpaWlITQ0tM4fPz8/advOnTtbVfehQ4eg1+vRr18/+Pv7Wx2bRqPBrl27AEBKfkeNGgVBEHDo0CHk5eVZXScRERHAEUsiIiKHGjZsGIYNG1bruszMTPzzn/9EWVkZHnjgAfTr18+quu2dBrtv3z4UFxejVatW6NGjBwCgRYsW6NmzJ37//Xds374dU6dOtaluIiLybByxJCIiugPS09MxceJEpKenY/DgwVixYgVUKpXF+2u1Whw5cgSCINg8ZdU0DXbkyJFm5abRS14dloiIbMXEkoiIyMlSU1Mxfvx4ZGZmYtiwYVi2bJlVSSUA/Prrr1Cr1bj77rsRFhZmdQzp6ek4ceIEBEGokVgOGzYM3t7eSElJwenTp62um4iIiIklERGRE125cgUTJ05ETk4OHnnkESxevNim24TYOw12y5YtEEURvXr1QlRUlNk6f39/DB48GMBfo5pERETWYGJJRETkJElJSZg4cSJyc3MxevRofPDBB5DL5VbXI4oi4uPjAUBKAK1hNBqxbds2ADWnwZqYpsPu2bMHZWVlVj8HERF5NkEURdHVQRARETU2CQkJmDx5MgoLC/HEE0/grbfegiAINtV17tw5jB07Fi1btsT+/fut3v/w4cOYPn26xdsvWrQIY8aMsfp5iIjIc3HEkoiIyMHOnTuHSZMmobCwEE8//TQWLFhgc1IJOGYarDU4HZaIiKzF240QERE50O+//47p06ejrKwMU6ZMwb///W+76zxw4AAA2xLL/Px8aRrt8uXLMWDAgDq3TU5OxuOPP44zZ84gJSUFbdu2tS1gIiLyOByxJCIicpDjx49j2rRpKCsrw8yZMx2SVKalpSE5ORlNmjSR7j1pjR9++AE6nQ4BAQGIjY2Fn59fnT9du3aVkkmOWhIRkTWYWBIRETnA0aNHMWPGDKjVarzwwgt48cUXHVKvaRpsbGysTRf+MSWIcXFxFt3iZOjQoQAqE1K9Xm/18xERkWfiVFgiIiIH+Pjjj1FRUQFBEPDtt9/i22+/rXPbjz76CP3797eoXnvOrzx79iyuXLkC4K+E8XaGDh2KlStXIi8vD4cOHbLpKrREROR5mFgSERHZyWAw4PLlywAqbw2Sl5dX7/YtW7a0qN78/HycOXMG3t7euPfee62OyzRaGRAQYPH+MTExaNeuHZKTk7F582YmlkREZBHeboSIiKiB2rx5M+bNm4fY2Fh89tlnrg6HiIioTjzHkoiIqIEyTYPlqCERETV0nApLRETUQPXo0QOdO3e2+f6VREREdwqnwhIREREREZFdOBWWiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7MLEkoiIiIiIiOzCxJKIiIiIiIjswsSSiIiIiIiI7PL/AdZTGkXeXq+iAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA44AAAI9CAYAAAB13ib7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjIsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvgI3uAAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAsbBJREFUeJzs3Xd0VNXexvHvzKT3BEILvUPovUoVkCIIooiiWMCuYNfrvfYur6JYsdEEARFR6b33HkAg9BZCek+mvH/EjIQUAkwyKc9nLRbZZ+9z5jdjluHJPmdvg81msyEiIiIiIiKSB6OzCxAREREREZHiTcFRRERERERE8qXgKCIiIiIiIvlScBQREREREZF8KTiKiIiIiIhIvhQcRUREREREJF8KjiIiIiIiIpIvBUcRERERERHJl4uzC3CUqKgodu/eTUJCAhUrVqR169a4ubnle86RI0cIDw/HaDTStGlTKleuXETVioiIiIiIlBwlPjgmJyfzzjvvMG/ePKxWq/14+fLleeedd+jevXuOc86fP88rr7zCxo0b7ceMRiNDhgzhf//7H56enkVRuoiIiIiISIlgsNlsNmcXcb2sViujR49my5YtmEwmOnTogL+/P3v27OHs2bN4eHgwa9YsGjVqZD8nMTGRO++8k6NHjxIQEECnTp1ISEhg06ZNmM1m+vTpw+eff+7EdyUiIiIiIlK8lOgZx1mzZrFlyxYCAgKYPHkyzZo1AyAjI4PXX3+duXPn8vXXXzNx4kT7OVOnTuXo0aPUr1+fadOmERAQAMDu3bu5//77Wbp0KRs3bqRTp07OeEsiIiIiIiLFToleHGf69OkAvPHGG/bQCODq6spzzz3H7bffnu25RZvNxowZMwB45ZVX7KERoEWLFowZMwaAuXPnFkH1IiIiIiIiJUOJvVX1+PHj9OvXj5o1a7JkyZICnfP3339z66234u/vz+bNmzEas+fm8PBw+vfvj7+/P1u2bMFgMBRG6SIiIiIiIiVKib1V9eDBgwC0atUKgPT0dHbs2EFERARVqlShVatWuLhkf3vHjh0DoG7dujlCI0CtWrVwdXUlLi6OixcvUrFixUJ+FyIiIiIiIsVfiQ2Op0+fBiAkJITFixfzxhtvEB0dbe8PCQnhgw8+oG3btvZjly5dAqBSpUq5XtNoNFKuXDkuXLhAVFSUgqOIiIiIiAglODgmJiYCsHXrViZNmoSvry/dunXDaDSya9cuzp49ywMPPMDPP/9M06ZNAUhJSQHId7sNDw8PIHObj7zMmjWL2bNnF6jOM2fO4OXlRevWrZkwYUKBzhERERERESlOSmxwzAqBW7ZsoW3btkycOJFy5coBEBMTw1NPPcXWrVt56623coS8/J5dzO0W1itFRkYSFhZW4Frj4uI4fvx4gceLiIiIiIgUJyU2OGbNDLq6ujJhwgR7aAQIDAzkgw8+oHfv3uzZs4fz589TuXJlvLy8AEhLS8vzull97u7ueY4JDg4mNDS0QHWGh4eTmppaoLEiIiIiIiLFUYkNjn5+fkDmgja5PYtYpUoVqlWrxokTJzhx4gSVK1cmMDAQINuzkFeKiooCICgoKM8xI0aMYMSIEQWqc+jQodc0OykiIiIiIlLclNh9HGvXrg3kf9upyWQCMmclLz/nxIkTuY6/cOECqampuLu7Z9v/UUREREREpCwrscGxefPmGI1Gjh49ysWLF3P0x8XFcerUKQwGAzVq1ACgTp06+Pr6cubMmVyfOVy7di0ALVq0KNCzjiIiIiIiImVBiU1HwcHBdO7cGYvFwv/+9z/S09PtfVarlXfffZeMjAzatm1LcHAwAG5ubtx8880AvP/++1gsFvs5UVFRfPXVVwDccccdRfhOREREREREijeDzWazObuI6xUeHs6wYcNISUmhTp06DBo0CJPJxPLly9mzZw8uLi7MmjXLvh0HZG6PMWDAAFJTU2nSpAmDBg0iKSmJX375hYiICEJDQ5kzZ479NtcblfWMY2hoKPPmzXPINUVERERERIpSiQ6OANu3b+fZZ5/lwoUL2Y57eXnx0Ucf0bt37xznrF27lmeffZb4+Phsxxs2bMjkyZOpUKGCw+pTcBQRERERkZKuxK6qmqVNmzYsXryY5cuXc+DAAcxmM7Vr16Z///74+/vnes5NN93EkiVLWLRoEceOHcPHx4fGjRtz880369lGERERERGRK5T4GcfiTjOOIiIiIiJS0ml6TURERERERPKl4CgiIiIiIiL5UnAUERERERGRfCk4ioiIiIiISL4UHEVERERERCRfCo4iIiIiIiKSLwVHERERERERyZeCo4iIiIiIiORLwVFERERERETypeAoIiIiIiIi+VJwFBEREZFCkZ6eTmRkJHFxcYV2ndTUVMxms8Nf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Ujbd37iT/ev90efYfvFkjjH+PR8BowkAc9RJknb9UWT1iYiIFFShbMdx1113sWnTJqZOncq0adMoV64c7u7ueY5/88036dKlS2GUIiIi4jQNAyvRuXIdNpwPB/LYmiOoKj6tbyNx21wAYpZ/gU/rIUVcqYiISP4cHhzT09MZPXo0O3dmrhJns9m4dOlSvuekpqY6ugwREZFi4YFGnezBMc+tOXo/YQ+OKQdXknY2DPeQ0CKvVUREJC8OD44LFixg586dGAwG+vfvT7t27QgICMj3nKZNmzq6DBERkWKhd7VGVPMJ5HRiDF2q1CUpI+ficZ71u+BevQVpp3YDELtsEhVHf1XElYqIiOTN4cExa6bxjjvu4M0333T05UVEREoUk9HIR52HUdnbnzr+wbmOydqaI+KHzIVy4jdOp/zw9zB5BxRhpSIiInlz+OI46enpALRt29bRlxYRESmRulSpm2dozOLb4S6M3kEA2NKTid80oyhKExERKRCHB8eGDRsCEBER4ehLi4iIlFpGN0/8u462t+NWfZNj+w4RERFncXhwvO222wgICODnn38mNjbW0ZcXEREpFaw2a45j/t3/3dMx/WwYqUc2FGVJIiIieXL4M47lypVj0qRJPPHEEwwdOpR7772XRo0a4efnh8lkyvWcKlWq4OPj4+hSREREihWrzcrac0eZcnAT3q7uTOo2Ilu/W6X6eDXuRfKBFQDErvoGz/rarkpERJzP4cHx2WefZc2aNaSlpREbG8t777131XO++OILevfu7ehSREREipVVZw5z3/KfAHAxGPlv2/5U9PLLNsa/x1h7cEzcNhfLyE8w+ZYv6lJFRESycfitqikpKSQkJNgXySkqKSkpnD59moSEhGs6LzIykqioqEKqSkRE5F/dQupR2StzD0ezzcrMw9tyjPFpORiTfyUAbOZ04tZPKdIaRUREcuPwGceJEyditeZ8biM/rq6u1/16f//9Nx9++CGbNm3CYrEA0KhRIx577DH69OmT6zlpaWlMnjyZKVOmEB8fD0DVqlV55JFHGD58+HXXIiIikh8Xo4l7GrTjo13LAJj+9xaeaNYdF+O/j3IYXFzxv+kBov94F4C41d8S2Hc8BqPDf9crIiJSYA7/KeTq6oq7u/s1/TFe5w/D8PBw7rnnHtavX4/BYKBKlSp4eHhw8OBBnnzySb7//vsc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ueeeUvPsdrveeOMNnT17VsOHD3epvt9++02S1KFDBz344IOlluGb55KKvtDo0aOH+vbtW2qZevXquVTXG2+8oRUrVigkJETDhg1To0aNtG3bNi1dulTTpk1T48aN1b9//0pre01w+vRpPf7448rKynKMRIiIiND+/fu1cOFCbd68Wc8884xmzZrlUn1F+/P+++/XjTfeWGoZb/3mefXq1XrzzTdlNBp1//33q0OHDjp27Ji++OIL/fDDD3r99dddHt1QmXV5C5vNpieeeEL79u1TeHi4HnjgATVu3FinTp3SV199pZMnT2rUqFFavny5QkNDy62PPr9i6PM9a8qUKbJaraXmpaSk6K233pLJZNKf//xnl+qjz3fNvn379Nhjj5V7tbfKf07YcUWcOXPGPnz4cHtsbKzjtWDBglLLLlmyxB4bG2u//fbb7RkZGY50q9VqHzNmjD02Ntb+7LPPurTdyqzLm7z33nv22NhY+yOPPGK32WwurTNr1ix7bGysfdasWZe5dTXLxIkT7bGxsfZly5ZdUj2nTp2yt27d2t6qVSv7L7/8Uizvk08+cfwdWK3WS9pOTfPPf/7THhsbax8xYoTdbDYXy9u8ebO9ZcuW9tjYWHtcXJxL9Y0cOdIeGxtr371792VobfVltVrtffv2tcfGxto/+eSTYnlxcXH2Nm3a2Fu2bGk/duzYFa3Lm3z33Xf22NhYe5cuXexJSUnF8pKSkuw333yzPTY21v7hhx+6VB99fsXQ51dNVqvV/vDDD9tjY2PtM2bMcHk9+vzyff311/b27ds7zv9vv/32UstVh88JJse5Ar766iv17dtX27ZtU9u2bcsdV/z1119LKhxKeeHwMKPRqH/84x+SpDVr1ig/P7/cbVdmXd5iz549ev/99xUcHKzJkyfLYDC4tF7Rt27t2rW7nM2rcYret/bt219SPQsXLpTFYlGvXr3Utm3bYnkPPfSQoqOjderUKe3ateuStlPTbNy4UZL0xBNPyMen+CCULl26OPorV9+3gwcPytfXV61bt67chlZzP//8s37//XdFRkZq2LBhxfLat2+vu+66SzabTcuXL7+idXmTDRs2SJIefPDBEs9Bu/C93L17t0v10edXDH1+1fTpp59q8+bNatu2rUaPHu3yevT5ZUtLS9OQIUP0wgsvyGq16tFHH3Vavjp8ThA4XgHr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tWfPHj322GM6e/as7rvvPr322muVGtx5Q59/OdDnX1lr166VVHh+6+qjx9zhzX1+RVSHzwkex1HFhIaGKioqSlarVUeOHCmRb7fbdejQIUkqdyx6ZdZV0/3444+SpF69elVo/XfeeUdPP/10mc+LOnHihKTCm5HdHQZbk02cOFFPP/20jh49Wmp+0fvWoEGDcusqOoaL7rm4WFE6sxyWbvr06XrppZfk7++vDz74wO2gMS8vT08//bSefvppZWRklFrGnf1Z0xQdd5VxfFZmXd5o/fr1euihh3T27FmNHTtWb7zxhttBI31+xdDnVy3r16+XVLFzH/r8ylcdPicIHKugokv/a9asKZG3fft2paWlqW7dui5NGV6ZddVkRfeFde7cuULrnzx5UkuXLnXcK3CxhQsXSip8ng7+cPDgQS1dulTLli0rNf/bb7+V5Nr75uxYz8zMdAxFLm9ojTeaPn263nvvPUVGRurLL79U9+7d3a4jICBA27Zt09KlS/X999+XyC8oKHDsZ2/8Oyg67jZv3qzMzMwS+atWrSpW7krV5W1++uknPfnkkzKbzXrzzTf15JNPVqge+vyKoc+vOk6cOKGUlBT5+/uX+RxfZ+jzK191+JwgcKyCimb0/Pe//60dO3Y40hMTE/Xyyy9LKpxcxJVhBZVZV02VmpqqhIQE+fj4uPX8ogsVPVB60aJFJSbp+fzzz7V48WIZjUaNGDHiUptboxS9b7Nnz9bWrVsd6VarVW+99ZZ27NihwMBAPfjgg+XW1atXL4WEhGj79u36+OOPHekFBQV64YUXlJmZqa5du/Lt80XWrVun9957T8HBwfr0008vach30f6cOnWq4/leUuE3088//7zi4+MVGRmp/v37X2qzq52YmBhdf/31ysrK0gsvvFBsJrtPPvlE27dvV1hYmO69994rWpc3SUhI0IQJE1RQUKDJkyc7jteKoM+vGPr8quOXX36RVDgpkTuPH7sQfX7lqg6fEwa73W53aw1csqefflpLly7VlClTNHDgwFLLjB8/XqtWrZLRaNQNN9ygoKAgbd26VTk5OWrRooXmzZunkJAQR/nMzEy9+uqrjnVjYmIqXJe32b59u4YPH66YmBjHeH9nPvroIx04cEDdunUrduLxt7/9TcuXL5cktWzZUk2aNNHhw4cdw4THjh1b4W+3ayqLxaIRI0Zo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", "text/plain": [ "
" ] @@ -282,7 +282,7 @@ "plt.plot(interface.grid / si.ANGSTROM, initial_density[0], linestyle=\"dashed\", label=\"initial density\")\n", "plt.plot(interface.grid / si.ANGSTROM, (interface.density / (si.KILO * si.MOL / si.METER**3))[0], label=\"equilibrium density\")\n", "\n", - "plt.xlim(40, 60)\n", + "plt.xlim(-10, 10)\n", "plt.ylim(-5, 60)\n", "plt.ylabel(r\"$\\rho$ / kmol m$^{-3}$\")\n", "plt.xlabel(r\"$z$ / A\")\n", @@ -302,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 21, "id": "caa1fda7", "metadata": {}, "outputs": [ @@ -529,7 +529,7 @@ "[5 rows x 25 columns]" ] }, - "execution_count": 9, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -551,7 +551,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 22, "id": "c0a7854c", "metadata": {}, "outputs": [ @@ -559,8 +559,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 441 ms, sys: 0 ns, total: 441 ms\n", - "Wall time: 440 ms\n" + "CPU times: user 705 ms, sys: 6.07 ms, total: 711 ms\n", + "Wall time: 706 ms\n" ] } ], @@ -590,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 23, "id": "6626c4c7", "metadata": {}, "outputs": [], @@ -606,13 +606,13 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 24, "id": "279a66a3", "metadata": {}, "outputs": [ { "data": { - "image/png": "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zZo18fT0JCwsDKPRSN26dVm8eDFeXl5Fe/FFqLDjqvlaeCtWrODll1+mVq1aua7aqflaONcaV83X6zt8+DD9+vUDLu+P5+Pjg62tLSdPnrQswtGmTRs+++yzbItxwOXtDYYNG8a+ffuwtbWlQYMGJCcnW96NeuSRR/jf//6X63nL+9gWdlwnT57MggULMBgM1KpVCy8vL1JTUzl+/DgZGRnY2NgwduxYHn/88VzPu3fvXh577DGSk5Px8PCgdu3aREZGEh8fj4uLC3Pnzi3Tj6Jm2b59OyNHjiQ1NZVKlSrh7+9PdHQ0MTExGAwGXnzxRR599NFsdTRfr6+g46r5mn+7du1i6NChGAwGNm3adN2bWKVtvipBLaOyPiTlx4IFCyy39n/99Vc2bdrEwYMHOXfuHHFxcdjb21O7dm06duzIQw89lOseSVcLDQ3liy++4I8//iAhIYHq1avTpUsXRo0aRZUqVW742krShQsXWLNmDbt27SIsLIwLFy5gNBpxd3fnpptuIigoiHvvvTfPF80vXbrErFmz2LBhA1FRUbi4uNC8eXMeffRROnTocM1z79ixgzlz5hASEkJycjI+Pj4EBwczYsSIbI9ZlkWFHVfN18K7XoIKmq+Fca1x1Xy9voSEBL7++mv279/PsWPHiI2NxWg04uHhQePGjbn77ru5++6783wHzGg0Mm/ePNasWcPJkyext7enUaNGPPTQQ5ZHzfJSnse2sOO6f/9+fvjhB0JCQoiKiiIuLg5bW1u8vb1p164dDzzwwHVfuzh58iQzZ87k999/5+LFi3h6etKpUydGjRqVrye7yorw8HC++OILtm/fzoULF3Bzc6NVq1YMHz7cssjff2m+Xl9BxlXzNf/GjRvHypUradeuHQsXLsxXndI0X5WgioiIiIiISKmgd1BFRERERESkVFCCKiIiIiIiIqWCElQREREREREpFZSgioiIiIiISKmgBFVERERERERKBSWoIiIiIiIiUiooQRUREREREZFSQQmqiIiIiIiIlApKUEVERERERKRUUIIqIiIiIiIipYISVBERERERESkV7Eq6AyIiIpK3l19+mRUrVhSqbvPmzfn2228LVKdv374cOXKEuXPncsstt1y3/PTp05kxYwYAf//9d57lli9fzuiUPAUAAAR/SURBVIQJE8jMzKRNmzZ8/vnnVKpUqUB9ExGR8k8JqoiISCkWGRlJ1apVc8STk5NJTk4GyPU4QLt27Qp0rtOnT3PkyBHc3d0LXPda5s2bx9SpUzGbzXTp0oVp06bh5ORktfZFRKT8UIIqIiJSii1cuDDX+IQJE1i2bBk1a9Zk27ZtVjnXli1bAOjcuTN2dtb5iDBt2jQ+++wzAHr37s3UqVOt1raIiJQ/+gkhIiJSBoWGhgLQuHFjq7WZlaB27dr1htsym81MnDiRr7/+GoCHHnqI8ePHYzAYbrhtEREpv5SgioiIlDEZGRkcPXoUsF6CGh8fzx9//IG9vT2dO3e+obYyMjIYN24ca9asAeCpp57i6aeftkY3RUSknFOCKiIiUsaEhYVhNBoB6yWo27ZtIyMjg9tuuw03N7dCt5OWlsYzzzzDTz/9hMFg4JVXXmHo0KFW6aOIiJR/SlBFRETKmKzHewGaNGlilTat8XjvpUuXGDlyJLt378bOzo7JkyfTr18/q/RPREQqBiWoIiIiZczhw4cBqFKlCt7e3jfcntFo5Ndff8VgMBAUFFTodoYOHUpoaCiOjo5MmzbthtoSEZGKyaakOyAiIiIFk3UHtVGjRlZpb8eOHSQnJ9O0adMbSniz+nXvvfcqORURkUJRgioiIlKGmEwmjhw5ApSux3sBWrVqBcDXX3/NggULbrhfIiJS8ShBFRERKUNOnDhBcnIyYJ0FksxmM1u3bgWgW7duN9TW7NmzufnmmwGYPHky8+bNu9HuiYhIBaMEVUREpAzJev8UrHMHNSQkhJiYGHx9fWnQoMENteXm5sbs2bNp3bo1AFOmTGHu3Lk33EcREak4lKCKiIiUIVnveVaqVInatWvfcHvWerw3i6urK7Nnz6Zt27YATJ06la+++soqbYuISPmnBFVERKQMOXToEHB5gSSDwXDD7W3evBmwXoIK4OLiwpdffkm7du0AePfdd5k1a5bV2hcRkfJLCaqIiEgZYs0FksLDwzl27Bienp6Wd0etJStJbd++PQDvv/8+X375pVXPISIi5Y8SVBERkTIiMjKSuLg4wDpbzGQ93tulSxdsbW1vuL3/cnZ25ssvv6Rjx44AfPDBB3z++edWP4+IiJQfSlBFRETKiKzHe8E6d1Ct/f5pbpycnPj888+59dZbAfjoo4+YOXNmkZ1PRETKNiWoIiIiZURWgurs7Ey9evVuqK3Y2Fj27duHk5OTJXksKk5OTnz22Wd06tQJgI8//pgZM2YU6TlFRKRsMpjNZnNJd0JERESK13fffcerr75Kly5d9NitiIiUGrqDKiIiUgFlPd7brVu3Eu6JiIjIFXYl3QEREREpfjfffDONGzcu0vdPRURECkqP+IqIiIiIiEipoEd8RUREREREpFRQgioiIiIiIiKlghJUERERERERKRWUoIqIiIiIiEipoARVRERERERESgUlqCIiIiIiIlIqKEEVERERERGRUkEJqoiIiIiIiJQKSlBFRERERESkVFCCKiIiIiIiIqXC/wFDqA6ppJ/AhwAAAABJRU5ErkJggg==", + "image/png": "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I/ZLRET0IUw8iYiICqH3FxbK61Tbc+fOwdbWFtWqVct1H5p3OqdPnw4nJycIgoCJEyciNDQ0T2MjIqJPAxNPIiKiQkizsJClpSXKli2b634CAwPx8uVLNGvWLNf7bA4cOFBcSMjS0hK///47ZDIZoqKiMGHCBKjV6lyPj4iIPg1MPImIiAohzRPPKlWq5Gm7Es102ObNm+e6jyFDhmj9uXbt2vj2228BANevX8eyZcty3TcREX0amHgSEREVQrpaWOj8+fOQSqVo2rSpLoYlGjlyJGrXrg0AWL58Oa5du6bT/omIqGhh4klERFTIBAYGIjo6GkDeEs+UlBRcu3YNNWrUgK2trY5Gl04mk+G3336DlZUV1Go1JkyYgMjISJ0eg4iIig4mnkRERIWMrhYWun79OpKSkvI0zTY7zs7OmDZtGoD0LVYmTpwIQRD0ciwiIjJsTDyJiIgKGc3CQmZmZnBzc8t1P7p4v/NDOnXqhC5dugBIn9a7bt06vR2LiIgMFxNPIiKiQubVq1cwNzdH9erVIZPJct3PrVu34OzsnKunpjKZDObm5jA3N//g4kZTp05F+fLlYW5ujlWrVonvpxIREWlIBM6JISIiIiIiIj3iE08iIiIiIiLSKyaeREREREREpFdMPImIiIiIiEivmHgSERERERGRXjHxJCIiIiIiIr1i4klERERERER6xcSTiIiIiIiI9IqJJxEREREREekVE08iIiIiIiLSKyaeREREREREpFdMPImIiIiIiEivmHgSERERERGRXjHxJCIiIiIiIr1i4klERERERER6xcSTiIiIiIiI9Or/AYIvq6NcSd02AAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -663,7 +663,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.14.0" + "version": "3.14.7" } }, "nbformat": 4, diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index 2d94d3dc0..66b985ff4 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -1,6 +1,6 @@ # Tutorials -You can find each of the tutorials below as jupyter notebook in the github repository in the [`examples` folder](https://github.com/feos-org/feos/tree/main/examples). +You can find each of the tutorials below as jupyter notebook in the github repository in the [`docs/tutorials` folder](https://github.com/feos-org/feos/tree/main/docs/tutorials). ```{eval-rst} .. toctree:: diff --git a/docs/tutorials/utility/core_dual_numbers.ipynb b/docs/tutorials/utility/core_dual_numbers.ipynb index 5999e7183..59638c845 100644 --- a/docs/tutorials/utility/core_dual_numbers.ipynb +++ b/docs/tutorials/utility/core_dual_numbers.ipynb @@ -114,7 +114,7 @@ " for j in range(self.n):\n", " ak_mix += np.sqrt(ak[i] * ak[j]) * (x[i] * x[j] * (1.0 - self.delta_ij[i, j]))\n", " else:\n", - " ak_mix = ak\n", + " ak_mix = ak[0]\n", " b = np.sum(x * self.b)\n", " v = 1.0 / state.density\n", " a = state.density * (np.log(v / (v - b)) - ak_mix / (b * SQRT2 * 2.0 * state.temperature)\n", @@ -240,15 +240,7 @@ "temperature: 300.0\n", "molefracs : [1.0]\n", "density : 2.4543491066169247e-05\n", - "A/kT : [0.00012419]\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2182195/809879024.py:1: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n", - " state.helmholtz_energy() / (si.KB * 300*si.KELVIN)\n" + "A/kT : 0.00012419216233064458\n" ] }, { @@ -299,14 +291,6 @@ "A/kT : 0.00012419216233064458 + -0.005045192367012291ε\n" ] }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2182195/966462947.py:64: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n", - " ak = ((1.0 - np.sqrt(tr)) * self.kappa + 1.0)**2 * self.a_r\n" - ] - }, { "data": { "text/latex": [ @@ -350,14 +334,6 @@ "A/kT : 0.00012419216233064458 + -0.0000006261809548282462ε\n" ] }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2182195/966462947.py:64: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n", - " ak = ((1.0 - np.sqrt(tr)) * self.kappa + 1.0)**2 * self.a_r\n" - ] - }, { "data": { "text/latex": [ @@ -423,14 +399,6 @@ "A/kT : 0.00012419216233064458 + -0.0000006261809548282462ε1 + 0.000000004710234326181233ε1²\n" ] }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2182195/966462947.py:64: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n", - " ak = ((1.0 - np.sqrt(tr)) * self.kappa + 1.0)**2 * self.a_r\n" - ] - }, { "data": { "text/latex": [ @@ -477,7 +445,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.14.0" + "version": "3.14.7" } }, "nbformat": 4, diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 000000000..509b7fd20 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,13 @@ +# Examples + +This folder contains a collection of example notebooks that are **not actively maintained**. +The first code cell of each notebook states the `feos` version that it was last run with, e.g., + +```python +# feos version: 0.9.6 +``` + +If a notebook does not work with the latest version of `feos`, you can install the version stated in the notebook, e.g., `pip install feos==0.9.6`. + +The tutorials and recipes in the [documentation](https://feos-org.github.io/feos/) are kept up to date with the latest release. +Their notebooks are located in the [`docs/tutorials`](../docs/tutorials) and [`docs/recipes`](../docs/recipes) folders. diff --git a/examples/core_dual_numbers.ipynb b/examples/core_dual_numbers.ipynb index ce9537401..1477b0c03 100644 --- a/examples/core_dual_numbers.ipynb +++ b/examples/core_dual_numbers.ipynb @@ -44,6 +44,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.9.6\n", "import feos\n", "import si_units as si\n", "import numpy as np\n", @@ -114,7 +115,7 @@ " for j in range(self.n):\n", " ak_mix += np.sqrt(ak[i] * ak[j]) * (x[i] * x[j] * (1.0 - self.delta_ij[i, j]))\n", " else:\n", - " ak_mix = ak\n", + " ak_mix = ak[0]\n", " b = np.sum(x * self.b)\n", " v = 1.0 / state.density\n", " a = state.density * (np.log(v / (v - b)) - ak_mix / (b * SQRT2 * 2.0 * state.temperature)\n", diff --git a/examples/core_user_defined_eos.ipynb b/examples/core_user_defined_eos.ipynb index 90645b04f..86768f8a1 100644 --- a/examples/core_user_defined_eos.ipynb +++ b/examples/core_user_defined_eos.ipynb @@ -30,6 +30,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.9.6\n", "import feos\n", "import si_units as si\n", "import numpy as np\n", diff --git a/examples/core_working_with_units.ipynb b/examples/core_working_with_units.ipynb index 8133009d8..d46c8b62c 100644 --- a/examples/core_working_with_units.ipynb +++ b/examples/core_working_with_units.ipynb @@ -23,6 +23,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.11.0\n", "import si_units as si\n", "import numpy as np" ] diff --git a/examples/gc_pcsaft_functional.ipynb b/examples/gc_pcsaft_functional.ipynb index 72a382941..755d7fb30 100644 --- a/examples/gc_pcsaft_functional.ipynb +++ b/examples/gc_pcsaft_functional.ipynb @@ -14,6 +14,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.10.1\n", "import feos\n", "import si_units as si\n", "import matplotlib.pyplot as plt" diff --git a/examples/lj_models.ipynb b/examples/lj_models.ipynb index da941a0bf..dcbe3b0cc 100644 --- a/examples/lj_models.ipynb +++ b/examples/lj_models.ipynb @@ -23,6 +23,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.11.0\n", "import feos\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", diff --git a/examples/managing_threads.ipynb b/examples/managing_threads.ipynb index 0ae8a20fe..dfcecca66 100644 --- a/examples/managing_threads.ipynb +++ b/examples/managing_threads.ipynb @@ -71,6 +71,7 @@ } ], "source": [ + "# feos version: 0.9.6\n", "import feos\n", "\n", "# If FEOS_MAX_THREADS was set before starting Python, the pool\n", diff --git a/examples/pc_saft_phase_diagram_to_dict.ipynb b/examples/pc_saft_phase_diagram_to_dict.ipynb index 0232490fd..950844904 100644 --- a/examples/pc_saft_phase_diagram_to_dict.ipynb +++ b/examples/pc_saft_phase_diagram_to_dict.ipynb @@ -18,6 +18,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.9.6\n", "import feos\n", "import numpy as np\n", "import pandas as pd\n", diff --git a/examples/pcsaft/Entropy Scaling.ipynb b/examples/pcsaft/Entropy Scaling.ipynb index ea6dba41b..9edc24e72 100644 --- a/examples/pcsaft/Entropy Scaling.ipynb +++ b/examples/pcsaft/Entropy Scaling.ipynb @@ -21,6 +21,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos.pcsaft import *\n", "from feos.eos import *\n", "import matplotlib.pyplot as plt\n", diff --git a/examples/pcsaft/PhaseDiagramBinary.ipynb b/examples/pcsaft/PhaseDiagramBinary.ipynb index 608c0a177..db1fe4ce5 100644 --- a/examples/pcsaft/PhaseDiagramBinary.ipynb +++ b/examples/pcsaft/PhaseDiagramBinary.ipynb @@ -6,6 +6,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos.eos import *\n", "from feos import *\n", "\n", diff --git a/examples/pcsaft/adsorption_isotherms.ipynb b/examples/pcsaft/adsorption_isotherms.ipynb index 0ada22972..dd8e43606 100644 --- a/examples/pcsaft/adsorption_isotherms.ipynb +++ b/examples/pcsaft/adsorption_isotherms.ipynb @@ -6,6 +6,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.11.0\n", "import feos\n", "import matplotlib.pyplot as plt\n", "import si_units as si\n", diff --git a/examples/pcsaft/fea_adsorption.ipynb b/examples/pcsaft/fea_adsorption.ipynb index e19ae4add..1035db893 100644 --- a/examples/pcsaft/fea_adsorption.ipynb +++ b/examples/pcsaft/fea_adsorption.ipynb @@ -6,6 +6,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos.dft import ExternalPotential, HelmholtzEnergyFunctional, Adsorption1D, Geometry, Pore1D, State\n", "from feos.pcsaft import PcSaftParameters\n", "from si_units import ANGSTROM, KELVIN, BAR, NAV, KILO, METER, MOL, linspace\n", diff --git a/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb b/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb index e45a5976e..0ab8bd6c5 100644 --- a/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb +++ b/examples/pcsaft/parameter_adjustment/adjust_kij.ipynb @@ -28,6 +28,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "import numpy as np\n", "import pandas as pd\n", "from scipy.optimize import least_squares\n", diff --git a/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb b/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb index 04c48a32f..99afa65f2 100644 --- a/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb +++ b/examples/pcsaft/parameter_adjustment/adjust_non_polar_non_asssociating.ipynb @@ -28,6 +28,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "import numpy as np\n", "import pandas as pd\n", "from scipy.optimize import least_squares\n", diff --git a/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb b/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb index d61159e0e..d7d96369f 100644 --- a/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb +++ b/examples/pcsaft/parameter_adjustment/adjust_viscosity_correlation.ipynb @@ -28,6 +28,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "import numpy as np\n", "import pandas as pd\n", "from scipy.optimize import least_squares\n", diff --git a/examples/pcsaft/pore_geometry.ipynb b/examples/pcsaft/pore_geometry.ipynb index 2d9af973e..ed8965fa3 100644 --- a/examples/pcsaft/pore_geometry.ipynb +++ b/examples/pcsaft/pore_geometry.ipynb @@ -6,6 +6,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.11.0\n", "import feos\n", "import si_units as si\n", "import matplotlib.pyplot as plt\n", diff --git a/examples/pcsaft_entropy_scaling.ipynb b/examples/pcsaft_entropy_scaling.ipynb index 2959647f3..a47460a02 100644 --- a/examples/pcsaft_entropy_scaling.ipynb +++ b/examples/pcsaft_entropy_scaling.ipynb @@ -21,6 +21,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.9.6\n", "import feos\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", diff --git a/examples/pcsaft_phase_diagram.ipynb b/examples/pcsaft_phase_diagram.ipynb index ed0603660..941abc5d3 100644 --- a/examples/pcsaft_phase_diagram.ipynb +++ b/examples/pcsaft_phase_diagram.ipynb @@ -18,6 +18,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.11.0\n", "import feos\n", "import si_units as si\n", "import numpy as np\n", diff --git a/examples/pcsaft_surface_tension.ipynb b/examples/pcsaft_surface_tension.ipynb index bb5a6c23a..da171ab85 100644 --- a/examples/pcsaft_surface_tension.ipynb +++ b/examples/pcsaft_surface_tension.ipynb @@ -20,6 +20,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.11.0\n", "import feos\n", "import si_units as si\n", "import matplotlib.pyplot as plt\n", @@ -184,7 +185,7 @@ ], "source": [ "%%time\n", - "interface = feos.PlanarInterface.from_tanh(\n", + "interface = feos.Interface.planar_from_tanh(\n", " vle=vle, \n", " n_grid=512, \n", " l_grid=100*si.ANGSTROM, \n", @@ -255,9 +256,9 @@ "id": "19402ba2", "metadata": {}, "source": [ - "`solve()` calculates the equilibrium density profile and returns the `PlanarInterface` object so that we can readily extract the `surface_tension`.\n", + "`solve()` calculates the equilibrium density profile and returns the `Interface` object so that we can readily extract the `surface_tension`.\n", "\n", - "The `PlanarInterface.density` contains the equilibrated density profile. Let's compare it to our initial density and zoom into the interesting region between 40 and 60 Angstrom. " + "The `Interface.density` contains the equilibrated density profile. Let's compare it to our initial density and zoom into the interesting region between -10 and 10 Angstrom around the interface. " ] }, { @@ -282,7 +283,7 @@ "plt.plot(interface.grid / si.ANGSTROM, initial_density[0], linestyle=\"dashed\", label=\"initial density\")\n", "plt.plot(interface.grid / si.ANGSTROM, (interface.density / (si.KILO * si.MOL / si.METER**3))[0], label=\"equilibrium density\")\n", "\n", - "plt.xlim(40, 60)\n", + "plt.xlim(-10, 10)\n", "plt.ylim(-5, 60)\n", "plt.ylabel(r\"$\\rho$ / kmol m$^{-3}$\")\n", "plt.xlabel(r\"$z$ / A\")\n", diff --git a/examples/pcsaft_working_with_parameters.ipynb b/examples/pcsaft_working_with_parameters.ipynb index 2ae0e7fce..3c4cb884f 100644 --- a/examples/pcsaft_working_with_parameters.ipynb +++ b/examples/pcsaft_working_with_parameters.ipynb @@ -93,6 +93,7 @@ } ], "source": [ + "# feos version: 0.11.0\n", "import feos\n", "\n", "# path to parameter file for substances that are non-associating, i.e. defined by three parameters: m, sigma, and epsilon_k.\n", diff --git a/examples/pets_eos_binary_caseI.ipynb b/examples/pets_eos_binary_caseI.ipynb index 0ecf84e4c..98f2d7e7b 100644 --- a/examples/pets_eos_binary_caseI.ipynb +++ b/examples/pets_eos_binary_caseI.ipynb @@ -21,6 +21,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.11.0\n", "import numpy as np\n", "import feos\n", "import matplotlib.pyplot as plt\n", diff --git a/examples/saftvrmie/validate_lafitte.ipynb b/examples/saftvrmie/validate_lafitte.ipynb index e5294ee62..2361a869a 100644 --- a/examples/saftvrmie/validate_lafitte.ipynb +++ b/examples/saftvrmie/validate_lafitte.ipynb @@ -7,6 +7,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.parameters import *\n", "\n", diff --git a/examples/saftvrqmie/deuterium_helium_binary.ipynb b/examples/saftvrqmie/deuterium_helium_binary.ipynb index 4dfc0717f..b44cf1a37 100644 --- a/examples/saftvrqmie/deuterium_helium_binary.ipynb +++ b/examples/saftvrqmie/deuterium_helium_binary.ipynb @@ -16,6 +16,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.dft import *\n", "from feos.saftvrqmie import *\n", diff --git a/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb b/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb index 98677664d..ba609f62b 100644 --- a/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb +++ b/examples/saftvrqmie/hydrogen_deuterium_binary.ipynb @@ -16,6 +16,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.dft import *\n", "from feos.saftvrqmie import *\n", diff --git a/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb b/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb index 723b2d72b..7829f5710 100644 --- a/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb +++ b/examples/saftvrqmie/hydrogen_fh1_vs_fh2.ipynb @@ -16,6 +16,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.dft import *\n", "from feos.saftvrqmie import *\n", diff --git a/examples/saftvrqmie/hydrogen_helium_binary.ipynb b/examples/saftvrqmie/hydrogen_helium_binary.ipynb index ba887a53a..77810f6ba 100644 --- a/examples/saftvrqmie/hydrogen_helium_binary.ipynb +++ b/examples/saftvrqmie/hydrogen_helium_binary.ipynb @@ -16,6 +16,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.dft import *\n", "from feos.saftvrqmie import *\n", diff --git a/examples/saftvrqmie/hydrogen_neon_binary.ipynb b/examples/saftvrqmie/hydrogen_neon_binary.ipynb index ba8413b50..08d1ec180 100644 --- a/examples/saftvrqmie/hydrogen_neon_binary.ipynb +++ b/examples/saftvrqmie/hydrogen_neon_binary.ipynb @@ -16,6 +16,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.dft import *\n", "from feos.saftvrqmie import *\n", diff --git a/examples/saftvrqmie/quantum_fluid_dft.ipynb b/examples/saftvrqmie/quantum_fluid_dft.ipynb index 3998425fd..40f62b8e0 100644 --- a/examples/saftvrqmie/quantum_fluid_dft.ipynb +++ b/examples/saftvrqmie/quantum_fluid_dft.ipynb @@ -16,6 +16,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.dft import *\n", "from feos.saftvrqmie import *\n", diff --git a/examples/saftvrqmie/radial_distribution_function.ipynb b/examples/saftvrqmie/radial_distribution_function.ipynb index d5c2bc9fb..74652c5d9 100644 --- a/examples/saftvrqmie/radial_distribution_function.ipynb +++ b/examples/saftvrqmie/radial_distribution_function.ipynb @@ -7,6 +7,7 @@ "metadata": {}, "outputs": [], "source": [ + "# feos version: 0.8.0\n", "from feos import *\n", "from feos.dft import *\n", "from feos.saftvrqmie import *\n", diff --git a/py-feos/src/ad/mod.rs b/py-feos/src/ad/mod.rs index fb257d559..b69238ec0 100644 --- a/py-feos/src/ad/mod.rs +++ b/py-feos/src/ad/mod.rs @@ -44,7 +44,13 @@ type GradResult<'py> = ( ); #[pyclass(name = "Property")] -/// Blibalblub +/// Parallel evaluation of phase equilibrium properties. +/// +/// For every property `xyz`, the static method `Property.xyz(eos, input)` +/// evaluates the property for an `EquationOfState`, and +/// `Property.xyz_derivatives(model, parameter_names, parameters, input)` +/// evaluates the property and its derivatives w.r.t. the model parameters +/// listed in `parameter_names` for an `EquationOfStateAD`. pub struct PyPropertyAD; #[pymethods] diff --git a/py-feos/src/dft/adsorption/pore.rs b/py-feos/src/dft/adsorption/pore.rs index 2205f8ca4..cdc7b6595 100644 --- a/py-feos/src/dft/adsorption/pore.rs +++ b/py-feos/src/dft/adsorption/pore.rs @@ -145,7 +145,7 @@ pub struct PyPoreProfile( impl PyPoreProfile { #[new] #[pyo3( - text_signature = "(grid, bulk, external_potential, density=None, specification=PyPoreSpecification.ChemicalPotential)" + text_signature = "(grid, bulk, external_potential, density=None, specification=PoreSpecification.ChemicalPotential)" )] #[pyo3(signature = (grid, bulk, external_potential, density=None, specification=PyPoreSpecification::ChemicalPotential()))] fn new( @@ -239,17 +239,17 @@ impl PyPoreSpecification { /// /// Parameters /// ---------- +/// functional : HelmholtzEnergyFunctional +/// The Helmholtz energy functional. /// geometry : Geometry /// The pore geometry. /// pore_size : SINumber /// The width of the slit pore in cartesian coordinates, /// or the pore radius in spherical and cylindrical coordinates. -/// potential : ExternalPotential +/// external_potential : ExternalPotential /// The potential used to model wall-fluid interactions. /// n_grid : int, optional /// The number of grid points. -/// potential_cutoff : float, optional -/// Maximum value for the external potential. /// /// Returns /// ------- @@ -293,7 +293,7 @@ impl PyPore1D { /// /// Returns /// ------- - /// PoreProfile1D + /// PoreProfile #[pyo3( text_signature = "($self, bulk, density=None, specification=PoreSpecification.ChemicalPotential)" )] diff --git a/py-feos/src/dft/profile.rs b/py-feos/src/dft/profile.rs index 252d80dc6..769217289 100644 --- a/py-feos/src/dft/profile.rs +++ b/py-feos/src/dft/profile.rs @@ -184,18 +184,62 @@ macro_rules! impl_profile { Ok(self.0.profile.dn_dmu().map_err(PyFeosError::from)?) } + /// Calculate the partial derivatives of the density profiles w.r.t. the bulk pressure + /// at constant temperature and bulk composition. + /// + /// Parameters + /// ---------- + /// bulk : State + /// The bulk state in equilibrium with the inhomogeneous system. + /// + /// Returns + /// ------- + /// SIArray fn drho_dp(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.drho_dp(&bulk.0).map_err(PyFeosError::from)?.into_dyn()) } + /// Calculate the partial derivatives of the number of moles w.r.t. the bulk pressure + /// at constant temperature and bulk composition. + /// + /// Parameters + /// ---------- + /// bulk : State + /// The bulk state in equilibrium with the inhomogeneous system. + /// + /// Returns + /// ------- + /// SIArray1 fn dn_dp(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.dn_dp(&bulk.0).map_err(PyFeosError::from)?) } + /// Calculate the partial derivatives of the density profiles w.r.t. the temperature + /// at constant bulk pressure and composition. + /// + /// Parameters + /// ---------- + /// bulk : State + /// The bulk state in equilibrium with the inhomogeneous system. + /// + /// Returns + /// ------- + /// SIArray fn drho_dt(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.drho_dt(&bulk.0).map_err(PyFeosError::from)?.into_dyn()) } + /// Calculate the partial derivatives of the number of moles w.r.t. the temperature + /// at constant bulk pressure and composition. + /// + /// Parameters + /// ---------- + /// bulk : State + /// The bulk state in equilibrium with the inhomogeneous system. + /// + /// Returns + /// ------- + /// SIArray1 fn dn_dt(&mut self, bulk: &PyState) -> PyResult<> as std::ops::Div>::Output> { Ok(self.0.profile.dn_dt(&bulk.0).map_err(PyFeosError::from)?) }