From fd6522679b6ffe4908bfbf88f7572074130c064a Mon Sep 17 00:00:00 2001 From: Ian Bell <ian.bell@nist.gov> Date: Wed, 16 Jun 2021 17:44:18 -0400 Subject: [PATCH] Fix GaoB by flipping sign on eta --- include/teqp/models/multifluid.hpp | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/include/teqp/models/multifluid.hpp b/include/teqp/models/multifluid.hpp index 45c4389..cf72dff 100644 --- a/include/teqp/models/multifluid.hpp +++ b/include/teqp/models/multifluid.hpp @@ -681,27 +681,15 @@ inline auto get_EOS_terms(const std::string& coolprop_root, const std::string& n }; auto build_GaoB = [&](auto term) { - std::size_t N = term["n"].size(); - GaoBEOSTerm eos; - - auto eigorzero = [&term, &toeig, &N](const std::string& name) -> Eigen::ArrayXd { - if (!term[name].empty()) { - return toeig(term[name]); - } - else { - return Eigen::ArrayXd::Zero(N); - } - }; - - eos.n = eigorzero("n"); - eos.t = eigorzero("t"); - eos.d = eigorzero("d"); - eos.eta = eigorzero("eta"); - eos.beta = eigorzero("beta"); - eos.gamma = eigorzero("gamma"); - eos.epsilon = eigorzero("epsilon"); - eos.b = eigorzero("b"); + eos.n = toeig(term["n"]); + eos.t = toeig(term["t"]); + eos.d = toeig(term["d"]); + eos.eta = -toeig(term["eta"]); // Watch out for this sign flip!! + eos.beta = toeig(term["beta"]); + eos.gamma = toeig(term["gamma"]); + eos.epsilon = toeig(term["epsilon"]); + eos.b = toeig(term["b"]); return eos; }; -- GitLab