From eb34966b0aad5b32f640331d9a6deb8171923b56 Mon Sep 17 00:00:00 2001 From: Ian Bell <ian.bell@nist.gov> Date: Fri, 19 Mar 2021 09:07:37 -0400 Subject: [PATCH] Add updated version of Ar01 --- include/teqp/derivs.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/teqp/derivs.hpp b/include/teqp/derivs.hpp index 9fb166d..1fdc90e 100644 --- a/include/teqp/derivs.hpp +++ b/include/teqp/derivs.hpp @@ -84,9 +84,15 @@ typename ContainerType::value_type get_Ar10(const Model& model, const TType T, c return -T*derivT([&model](const auto& T, const auto& rhovec) { return model.alphar(T, rhovec); }, T, rhovec); } +template <typename Model, typename TType, typename RhoType, typename MoleFracType> +auto get_Ar01(const Model& model, const TType &T, const RhoType &rho, const MoleFracType& molefrac) { + double h = 1e-100; + auto der = model.alphar(T, std::complex<double>(rho, h), molefrac).imag() / h; + return der*rho; +} + template <typename Model, typename TType, typename ContainerType> typename ContainerType::value_type get_Ar01(const Model& model, const TType T, const ContainerType& rhovec) { - auto rhotot_ = std::accumulate(std::begin(rhovec), std::end(rhovec), (decltype(rhovec[0]))0.0); decltype(rhovec[0] * T) Ar01 = 0.0; for (auto i = 0; i < rhovec.size(); ++i) { -- GitLab