From cb6ecf6a676a8aff0667df19a72d8b55adf8392c Mon Sep 17 00:00:00 2001 From: Johanna Date: Fri, 22 Nov 2024 12:57:41 +0100 Subject: [PATCH 1/2] Update `gauss-quad` to version 0.2. --- feos-dft/Cargo.toml | 2 +- feos-dft/src/adsorption/fea_potential.rs | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/feos-dft/Cargo.toml b/feos-dft/Cargo.toml index 63cc16c89..618574a54 100644 --- a/feos-dft/Cargo.toml +++ b/feos-dft/Cargo.toml @@ -29,7 +29,7 @@ rustdct = "0.7" rustfft = "6.0" num-traits = "0.2" libm = "0.2" -gauss-quad = { version = "0.1", optional = true } +gauss-quad = { version = "0.2", optional = true } petgraph = "0.6" typenum = "1.16" numpy = { version = "0.22", optional = true } diff --git a/feos-dft/src/adsorption/fea_potential.rs b/feos-dft/src/adsorption/fea_potential.rs index 7b2663e45..02bedf308 100644 --- a/feos-dft/src/adsorption/fea_potential.rs +++ b/feos-dft/src/adsorption/fea_potential.rs @@ -54,8 +54,14 @@ pub fn calculate_fea_potential( (nodes, weights) } Geometry::Spherical | Geometry::Cylindrical => { - let nodes = PI + Array1::from_vec(GaussLegendre::nodes_and_weights(n_grid[0]).0) * PI; - let weights = Array1::from_vec(GaussLegendre::nodes_and_weights(n_grid[0]).1) * PI; + let (unscaled_nodes, unscaled_weights) = GaussLegendre::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) } }; @@ -75,11 +81,17 @@ pub fn calculate_fea_potential( (nodes, weights) } Geometry::Spherical => { + let (unscaled_nodes, unscaled_weights) = GaussLegendre::new(n_grid[1]) + .unwrap() + .into_iter() + .unzip(); + let nodes = PI / 2.0 - + Array1::from_vec(GaussLegendre::nodes_and_weights(n_grid[1]).0) * PI / 2.0; - let weights = Array1::from_vec(GaussLegendre::nodes_and_weights(n_grid[1]).1) * PI + + 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) } }; From 98da64cb78cae56143f8d7355c6d723cc3910004 Mon Sep 17 00:00:00 2001 From: Johanna Date: Fri, 22 Nov 2024 12:58:26 +0100 Subject: [PATCH 2/2] `cargo fmt` only my changes. --- feos-dft/src/adsorption/fea_potential.rs | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/feos-dft/src/adsorption/fea_potential.rs b/feos-dft/src/adsorption/fea_potential.rs index 02bedf308..ef4b76964 100644 --- a/feos-dft/src/adsorption/fea_potential.rs +++ b/feos-dft/src/adsorption/fea_potential.rs @@ -54,10 +54,8 @@ pub fn calculate_fea_potential( (nodes, weights) } Geometry::Spherical | Geometry::Cylindrical => { - let (unscaled_nodes, unscaled_weights) = GaussLegendre::new(n_grid[0]) - .unwrap() - .into_iter() - .unzip(); + let (unscaled_nodes, unscaled_weights) = + GaussLegendre::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; @@ -81,17 +79,13 @@ pub fn calculate_fea_potential( (nodes, weights) } Geometry::Spherical => { - let (unscaled_nodes, unscaled_weights) = GaussLegendre::new(n_grid[1]) - .unwrap() - .into_iter() - .unzip(); + let (unscaled_nodes, unscaled_weights) = + GaussLegendre::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 + 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) } };