diff --git a/include/teqp/models/multifluid.hpp b/include/teqp/models/multifluid.hpp index 45c43891d1d4df330eda75a41f60e36e1b036264..cf72dff1e875b6d35a1b54a615ca29461c77714d 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; };