teqp 0.22.0
Loading...
Searching...
No Matches
cubics.hpp File Reference
#include <vector>
#include <variant>
#include <valarray>
#include <optional>
#include "teqp/types.hpp"
#include "teqp/constants.hpp"
#include "teqp/exceptions.hpp"
#include "cubicsuperancillary.hpp"
#include "teqp/json_tools.hpp"
#include "teqp/math/pow_templates.hpp"
#include "nlohmann/json.hpp"
#include "teqp/models/activity/activity_models.hpp"
#include <Eigen/Dense>

Go to the source code of this file.

Classes

class  teqp::BasicAlphaFunction< NumType >
 The standard alpha function used by Peng-Robinson and SRK. More...
 
class  teqp::TwuAlphaFunction< NumType >
 The Twu alpha function used by Peng-Robinson and SRK. More...
 
class  teqp::MathiasCopemanAlphaFunction< NumType >
 The Mathias-Copeman alpha function used by Peng-Robinson and SRK. More...
 
class  teqp::GenericCubic< NumType, AlphaFunctions >
 
class  teqp::AdvancedPRaEres< NumType, AlphaFunctions >
 
class  teqp::QuantumCorrectedPR
 
class  teqp::RKPRCismondi2005
 

Namespaces

namespace  teqp
 

Typedefs

using teqp::AlphaFunctionOptions = std::variant<BasicAlphaFunction<double>, TwuAlphaFunction<double>, MathiasCopemanAlphaFunction<double>>
 
using teqp::advancedPRaEres_t = decltype(make_AdvancedPRaEres({}))
 
using teqp::RKPRCismondi2005_t = decltype(RKPRCismondi2005({}))
 

Enumerations

enum class  teqp::AdvancedPRaEMixingRules { teqp::knotspecified , teqp::kLinear , teqp::kQuadratic }
 

Functions

template<typename TC >
auto teqp::build_alpha_functions (const TC &Tc_K, const nlohmann::json &jalphas)
 
template<typename TCType , typename PCType , typename AcentricType >
auto teqp::canonical_SRK (TCType Tc_K, PCType pc_Pa, AcentricType acentric, const std::optional< Eigen::ArrayXXd > &kmat=std::nullopt, const std::optional< double > R_JmolK=std::nullopt)
 
auto teqp::make_canonicalSRK (const nlohmann::json &spec)
 A JSON-based factory function for the canonical SRK model.
 
template<typename TCType , typename PCType , typename AcentricType >
auto teqp::canonical_PR (TCType Tc_K, PCType pc_Pa, AcentricType acentric, const std::optional< Eigen::ArrayXXd > &kmat=std::nullopt, const std::optional< double > R_JmolK=std::nullopt)
 
auto teqp::make_canonicalPR (const nlohmann::json &spec)
 A JSON-based factory function for the canonical SRK model.
 
auto teqp::make_generalizedcubic (const nlohmann::json &spec)
 A JSON-based factory function for the generalized cubic + alpha.
 
 teqp::NLOHMANN_JSON_SERIALIZE_ENUM (AdvancedPRaEMixingRules, { {AdvancedPRaEMixingRules::knotspecified, nullptr}, {AdvancedPRaEMixingRules::kLinear, "Linear"}, {AdvancedPRaEMixingRules::kQuadratic, "Quadratic"}, }) struct AdvancedPRaEOptions
 
void teqp::from_json (const json &j, AdvancedPRaEOptions &o)
 
auto teqp::make_AdvancedPRaEres (const nlohmann::json &j)