From d769bcdfba919c8da312bc3f1e4944923ae418c7 Mon Sep 17 00:00:00 2001
From: Ian Bell <ian.bell@nist.gov>
Date: Fri, 27 May 2022 16:17:55 -0400
Subject: [PATCH] Fix two missing forceeval for PC-SAFT

Hours later...
---
 include/teqp/models/pcsaft.hpp | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/include/teqp/models/pcsaft.hpp b/include/teqp/models/pcsaft.hpp
index 8257cf3..6d31e3f 100644
--- a/include/teqp/models/pcsaft.hpp
+++ b/include/teqp/models/pcsaft.hpp
@@ -48,17 +48,17 @@ public:
 /// FORTRAN code
 template <typename Eta, typename Mbar>
 auto C1(const Eta& eta, Mbar mbar) {
-    return 1.0 / (1.0
+    return forceeval(1.0 / (1.0
         + mbar * (8.0 * eta - 2.0 * eta * eta) / pow(1.0 - eta, 4)
-        + (1.0 - mbar) * (20.0 * eta - 27.0 * eta * eta + 12.0 * pow(eta, 3) - 2.0 * pow(eta, 4)) / pow((1.0 - eta) * (2.0 - eta), 2));
+        + (1.0 - mbar) * (20.0 * eta - 27.0 * eta * eta + 12.0 * pow(eta, 3) - 2.0 * pow(eta, 4)) / pow((1.0 - eta) * (2.0 - eta), 2)));
 }
 /// Eqn. A.31
 template <typename Eta, typename Mbar>
 auto C2(const Eta& eta, Mbar mbar) {
-    return -pow(C1(eta, mbar), 2) * (
+    return forceeval(-pow(C1(eta, mbar), 2) * (
         mbar * (-4.0 * eta * eta + 20.0 * eta + 8.0) / pow(1.0 - eta, 5)
         + (1.0 - mbar) * (2.0 * eta * eta * eta + 12.0 * eta * eta - 48.0 * eta + 40.0) / pow((1.0 - eta) * (2.0 - eta), 3)
-        );
+        ));
 }
 /// Eqn. A.18
 template<typename TYPE>
@@ -268,11 +268,9 @@ public:
         SAFTCalc<TTYPE, TRHOType> c;
         c.m2_epsilon_sigma3_bar = static_cast<TRHOType>(0.0);
         c.m2_epsilon2_sigma3_bar = static_cast<TRHOType>(0.0);
-        c.d.resize(N);
+        c.d.resize(N); 
         for (std::size_t i = 0; i < N; ++i) {
             c.d[i] = sigma_Angstrom[i]*(1.0 - 0.12 * exp(-3.0*epsilon_over_k[i]/T)); // [A]
-        }
-        for (std::size_t i = 0; i < N; ++i) {
             for (std::size_t j = 0; j < N; ++j) {
                 // Eq. A.5
                 auto sigma_ij = 0.5 * sigma_Angstrom[i] + 0.5 * sigma_Angstrom[j];
-- 
GitLab