teqp 0.22.0
Loading...
Searching...
No Matches
teqp::cppinterface::AbstractModel Class Referenceabstract

#include <teqpcpp.hpp>

Inheritance diagram for teqp::cppinterface::AbstractModel:
teqp::cppinterface::adapter::DerivativeAdapter< ModelPack >

Public Member Functions

virtual ~AbstractModel ()=default
 
virtual const std::type_index & get_type_index () const =0
 
virtual double get_R (const EArrayd &) const =0
 
double R (const EArrayd &x) const
 
virtual double get_Arxy (const int, const int, const double, const double, const EArrayd &) const =0
 
virtual double get_Ar00 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar01 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar02 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar03 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar04 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar10 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar11 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar12 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar13 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar14 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar20 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar21 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar22 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar23 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar24 (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar01n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar02n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar03n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar04n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar05n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar06n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar10n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar20n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar30n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual EArrayd get_Ar40n (const double T, const double rho, const REArrayd &molefrac) const =0
 
virtual double get_Ar01ep (const double, const double, const EArrayd &) const =0
 
virtual double get_Ar02ep (const double, const double, const EArrayd &) const =0
 
virtual double get_Ar03ep (const double, const double, const EArrayd &) const =0
 
virtual double get_B2vir (const double T, const EArrayd &z) const =0
 
virtual std::map< int, double > get_Bnvir (const int Nderiv, const double T, const EArrayd &z) const =0
 
virtual double get_B12vir (const double T, const EArrayd &z) const =0
 
virtual double get_dmBnvirdTm (const int Nderiv, const int NTderiv, const double T, const EArrayd &z) const =0
 
virtual double get_ATrhoXi (const double T, const int NT, const double rhomolar, int ND, const EArrayd &molefrac, const int i, const int NXi) const =0
 
virtual double get_ATrhoXiXj (const double T, const int NT, const double rhomolar, int ND, const EArrayd &molefrac, const int i, const int NXi, const int j, const int NXj) const =0
 
virtual double get_ATrhoXiXjXk (const double T, const int NT, const double rhomolar, int ND, const EArrayd &molefrac, const int i, const int NXi, const int j, const int NXj, const int k, const int NXk) const =0
 
virtual double get_AtaudeltaXi (const double tau, const int Ntau, const double delta, int Ndelta, const EArrayd &molefrac, const int i, const int NXi) const =0
 
virtual double get_AtaudeltaXiXj (const double tau, const int Ntau, const double delta, int Ndelta, const EArrayd &molefrac, const int i, const int NXi, const int j, const int NXj) const =0
 
virtual double get_AtaudeltaXiXjXk (const double tau, const int Ntau, const double delta, int Ndelta, const EArrayd &molefrac, const int i, const int NXi, const int j, const int NXj, const int k, const int NXk) const =0
 
virtual double get_pr (const double T, const EArrayd &rhovec) const =0
 
virtual double get_splus (const double T, const EArrayd &rhovec) const =0
 
virtual double get_dpdT_constrhovec (const double T, const EArrayd &rhovec) const =0
 
virtual EArrayd build_Psir_gradient_autodiff (const double T, const EArrayd &rhovec) const =0
 
virtual EArrayd get_chempotVLE_autodiff (const double T, const EArrayd &rhovec) const =0
 
virtual EArrayd get_dchempotdT_autodiff (const double T, const EArrayd &rhovec) const =0
 
virtual EArrayd get_fugacity_coefficients (const double T, const EArrayd &rhovec) const =0
 
virtual EArrayd get_partial_molar_volumes (const double T, const EArrayd &rhovec) const =0
 
virtual EArrayd build_d2PsirdTdrhoi_autodiff (const double T, const EArrayd &rhovec) const =0
 
virtual EArrayd get_dpdrhovec_constT (const double T, const EArrayd &rhovec) const =0
 
virtual EMatrixd build_Psir_Hessian_autodiff (const double T, const EArrayd &rhovec) const =0
 
virtual EMatrixd build_Psi_Hessian_autodiff (const double T, const EArrayd &rhovec) const =0
 
virtual std::tuple< double, Eigen::ArrayXd, Eigen::MatrixXd > build_Psir_fgradHessian_autodiff (const double T, const EArrayd &rhovec) const =0
 
virtual Eigen::ArrayXd get_Psir_sigma_derivs (const double T, const EArrayd &rhovec, const EArrayd &v) const =0
 
double get_neff (const double, const double, const EArrayd &) const
 
virtual EArray33d get_deriv_mat2 (const double T, double rho, const EArrayd &z) const =0
 
std::tuple< double, double > solve_pure_critical (const double T, const double rho, const std::optional< nlohmann::json > &=std::nullopt) const
 
EArray2 extrapolate_from_critical (const double Tc, const double rhoc, const double Tgiven, const std::optional< Eigen::ArrayXd > &molefracs=std::nullopt) const
 
std::tuple< EArrayd, EMatrixdget_pure_critical_conditions_Jacobian (const double T, const double rho, const std::optional< std::size_t > &alternative_pure_index, const std::optional< std::size_t > &alternative_length) const
 
EArray2 pure_VLE_T (const double T, const double rhoL, const double rhoV, int maxiter, const std::optional< Eigen::ArrayXd > &molefracs=std::nullopt) const
 
double dpsatdT_pure (const double T, const double rhoL, const double rhoV) const
 
virtual std::tuple< EArrayd, EArraydget_drhovecdp_Tsat (const double T, const REArrayd &rhovecL, const REArrayd &rhovecV) const
 
virtual std::tuple< EArrayd, EArraydget_drhovecdT_psat (const double T, const REArrayd &rhovecL, const REArrayd &rhovecV) const
 
virtual double get_dpsat_dTsat_isopleth (const double T, const REArrayd &rhovecL, const REArrayd &rhovecV) const
 
virtual nlohmann::json trace_VLE_isotherm_binary (const double T0, const EArrayd &rhovec0, const EArrayd &rhovecV0, const std::optional< TVLEOptions > &=std::nullopt) const
 
virtual nlohmann::json trace_VLE_isobar_binary (const double p, const double T0, const EArrayd &rhovecL0, const EArrayd &rhovecV0, const std::optional< PVLEOptions > &=std::nullopt) const
 
virtual std::tuple< VLE_return_code, EArrayd, EArraydmix_VLE_Tx (const double T, const REArrayd &rhovecL0, const REArrayd &rhovecV0, const REArrayd &xspec, const double atol, const double reltol, const double axtol, const double relxtol, const int maxiter) const
 
virtual MixVLEReturn mix_VLE_Tp (const double T, const double pgiven, const REArrayd &rhovecL0, const REArrayd &rhovecV0, const std::optional< MixVLETpFlags > &flags=std::nullopt) const
 
virtual std::tuple< VLE_return_code, double, EArrayd, EArraydmixture_VLE_px (const double p_spec, const REArrayd &xmolar_spec, const double T0, const REArrayd &rhovecL0, const REArrayd &rhovecV0, const std::optional< MixVLEpxFlags > &flags=std::nullopt) const
 
std::tuple< VLLE::VLLE_return_code, EArrayd, EArrayd, EArraydmix_VLLE_T (const double T, const REArrayd &rhovecVinit, const REArrayd &rhovecL1init, const REArrayd &rhovecL2init, const double atol, const double reltol, const double axtol, const double relxtol, const int maxiter) const
 
std::vector< nlohmann::json > find_VLLE_T_binary (const std::vector< nlohmann::json > &traces, const std::optional< VLLE::VLLEFinderOptions > options=std::nullopt) const
 
std::vector< nlohmann::json > find_VLLE_p_binary (const std::vector< nlohmann::json > &traces, const std::optional< VLLE::VLLEFinderOptions > options=std::nullopt) const
 
nlohmann::json trace_VLLE_binary (const double T, const REArrayd &rhovecV, const REArrayd &rhovecL1, const REArrayd &rhovecL2, const std::optional< VLLE::VLLETracerOptions > options) const
 
virtual nlohmann::json trace_critical_arclength_binary (const double T0, const EArrayd &rhovec0, const std::optional< std::string > &=std::nullopt, const std::optional< TCABOptions > &=std::nullopt) const
 
virtual EArrayd get_drhovec_dT_crit (const double T, const REArrayd &rhovec) const
 
virtual double get_dp_dT_crit (const double T, const REArrayd &rhovec) const
 
virtual EArray2 get_criticality_conditions (const double T, const REArrayd &rhovec) const
 
virtual EigenData eigen_problem (const double T, const REArrayd &rhovec, const std::optional< REArrayd > &=std::nullopt) const
 
virtual double get_minimum_eigenvalue_Psi_Hessian (const double T, const REArrayd &rhovec) const
 

Detailed Description

This class defines the public interface for a model. Only native C++ types are passed through this inferface (as well as Eigen types and JSON data structures). Thus all the advanced derivative things can be hidden behind the C++ wall, yielding an interface that is still powerful, and very fast, but compilation times can be reduced to something more reasonable. Also, interfacing with other programming languages becomes much more convenient with this layer. All the complicated routines are still available in the lower-level C++ code.

Not allowed are: Templated arguments to functions Other numerical types (complex, multicomplex, autodiff, etc.)

X-Macros can be used to wrap functions that take template arguments and expand them as multiple functions

Definition at line 94 of file teqpcpp.hpp.

Constructor & Destructor Documentation

◆ ~AbstractModel()

virtual teqp::cppinterface::AbstractModel::~AbstractModel ( )
virtualdefault

Member Function Documentation

◆ build_d2PsirdTdrhoi_autodiff()

virtual EArrayd teqp::cppinterface::AbstractModel::build_d2PsirdTdrhoi_autodiff ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ build_Psi_Hessian_autodiff()

virtual EMatrixd teqp::cppinterface::AbstractModel::build_Psi_Hessian_autodiff ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ build_Psir_fgradHessian_autodiff()

virtual std::tuple< double, Eigen::ArrayXd, Eigen::MatrixXd > teqp::cppinterface::AbstractModel::build_Psir_fgradHessian_autodiff ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ build_Psir_gradient_autodiff()

virtual EArrayd teqp::cppinterface::AbstractModel::build_Psir_gradient_autodiff ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ build_Psir_Hessian_autodiff()

virtual EMatrixd teqp::cppinterface::AbstractModel::build_Psir_Hessian_autodiff ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ dpsatdT_pure()

double teqp::cppinterface::AbstractModel::dpsatdT_pure ( const double T,
const double rhoL,
const double rhoV ) const

Definition at line 28 of file AbstractModel_implementation.cpp.

◆ eigen_problem()

EigenData teqp::cppinterface::AbstractModel::eigen_problem ( const double T,
const REArrayd & rhovec,
const std::optional< REArrayd > & alignment_v0 = std::nullopt ) const
virtual

Definition at line 91 of file AbstractModel_implementation.cpp.

◆ extrapolate_from_critical()

EArray2 teqp::cppinterface::AbstractModel::extrapolate_from_critical ( const double Tc,
const double rhoc,
const double Tgiven,
const std::optional< Eigen::ArrayXd > & molefracs = std::nullopt ) const

Definition at line 20 of file AbstractModel_implementation.cpp.

◆ find_VLLE_p_binary()

std::vector< nlohmann::json > teqp::cppinterface::AbstractModel::find_VLLE_p_binary ( const std::vector< nlohmann::json > & traces,
const std::optional< VLLE::VLLEFinderOptions > options = std::nullopt ) const

Definition at line 40 of file AbstractModel_implementation.cpp.

◆ find_VLLE_T_binary()

std::vector< nlohmann::json > teqp::cppinterface::AbstractModel::find_VLLE_T_binary ( const std::vector< nlohmann::json > & traces,
const std::optional< VLLE::VLLEFinderOptions > options = std::nullopt ) const

Definition at line 37 of file AbstractModel_implementation.cpp.

◆ get_Ar00()

virtual double teqp::cppinterface::AbstractModel::get_Ar00 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar01()

virtual double teqp::cppinterface::AbstractModel::get_Ar01 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar01ep()

virtual double teqp::cppinterface::AbstractModel::get_Ar01ep ( const double ,
const double ,
const EArrayd &  ) const
pure virtual

◆ get_Ar01n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar01n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar02()

virtual double teqp::cppinterface::AbstractModel::get_Ar02 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar02ep()

virtual double teqp::cppinterface::AbstractModel::get_Ar02ep ( const double ,
const double ,
const EArrayd &  ) const
pure virtual

◆ get_Ar02n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar02n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar03()

virtual double teqp::cppinterface::AbstractModel::get_Ar03 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar03ep()

virtual double teqp::cppinterface::AbstractModel::get_Ar03ep ( const double ,
const double ,
const EArrayd &  ) const
pure virtual

◆ get_Ar03n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar03n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar04()

virtual double teqp::cppinterface::AbstractModel::get_Ar04 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar04n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar04n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar05n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar05n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar06n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar06n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar10()

virtual double teqp::cppinterface::AbstractModel::get_Ar10 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar10n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar10n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar11()

virtual double teqp::cppinterface::AbstractModel::get_Ar11 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar12()

virtual double teqp::cppinterface::AbstractModel::get_Ar12 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar13()

virtual double teqp::cppinterface::AbstractModel::get_Ar13 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar14()

virtual double teqp::cppinterface::AbstractModel::get_Ar14 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar20()

virtual double teqp::cppinterface::AbstractModel::get_Ar20 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar20n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar20n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar21()

virtual double teqp::cppinterface::AbstractModel::get_Ar21 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar22()

virtual double teqp::cppinterface::AbstractModel::get_Ar22 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar23()

virtual double teqp::cppinterface::AbstractModel::get_Ar23 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar24()

virtual double teqp::cppinterface::AbstractModel::get_Ar24 ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar30n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar30n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Ar40n()

virtual EArrayd teqp::cppinterface::AbstractModel::get_Ar40n ( const double T,
const double rho,
const REArrayd & molefrac ) const
pure virtual

◆ get_Arxy()

virtual double teqp::cppinterface::AbstractModel::get_Arxy ( const int ,
const int ,
const double ,
const double ,
const EArrayd &  ) const
pure virtual

◆ get_AtaudeltaXi()

virtual double teqp::cppinterface::AbstractModel::get_AtaudeltaXi ( const double tau,
const int Ntau,
const double delta,
int Ndelta,
const EArrayd & molefrac,
const int i,
const int NXi ) const
pure virtual

◆ get_AtaudeltaXiXj()

virtual double teqp::cppinterface::AbstractModel::get_AtaudeltaXiXj ( const double tau,
const int Ntau,
const double delta,
int Ndelta,
const EArrayd & molefrac,
const int i,
const int NXi,
const int j,
const int NXj ) const
pure virtual

◆ get_AtaudeltaXiXjXk()

virtual double teqp::cppinterface::AbstractModel::get_AtaudeltaXiXjXk ( const double tau,
const int Ntau,
const double delta,
int Ndelta,
const EArrayd & molefrac,
const int i,
const int NXi,
const int j,
const int NXj,
const int k,
const int NXk ) const
pure virtual

◆ get_ATrhoXi()

virtual double teqp::cppinterface::AbstractModel::get_ATrhoXi ( const double T,
const int NT,
const double rhomolar,
int ND,
const EArrayd & molefrac,
const int i,
const int NXi ) const
pure virtual

◆ get_ATrhoXiXj()

virtual double teqp::cppinterface::AbstractModel::get_ATrhoXiXj ( const double T,
const int NT,
const double rhomolar,
int ND,
const EArrayd & molefrac,
const int i,
const int NXi,
const int j,
const int NXj ) const
pure virtual

◆ get_ATrhoXiXjXk()

virtual double teqp::cppinterface::AbstractModel::get_ATrhoXiXjXk ( const double T,
const int NT,
const double rhomolar,
int ND,
const EArrayd & molefrac,
const int i,
const int NXi,
const int j,
const int NXj,
const int k,
const int NXk ) const
pure virtual

◆ get_B12vir()

virtual double teqp::cppinterface::AbstractModel::get_B12vir ( const double T,
const EArrayd & z ) const
pure virtual

◆ get_B2vir()

virtual double teqp::cppinterface::AbstractModel::get_B2vir ( const double T,
const EArrayd & z ) const
pure virtual

◆ get_Bnvir()

virtual std::map< int, double > teqp::cppinterface::AbstractModel::get_Bnvir ( const int Nderiv,
const double T,
const EArrayd & z ) const
pure virtual

◆ get_chempotVLE_autodiff()

virtual EArrayd teqp::cppinterface::AbstractModel::get_chempotVLE_autodiff ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_criticality_conditions()

EArray2 teqp::cppinterface::AbstractModel::get_criticality_conditions ( const double T,
const REArrayd & rhovec ) const
virtual

Definition at line 87 of file AbstractModel_implementation.cpp.

◆ get_dchempotdT_autodiff()

virtual EArrayd teqp::cppinterface::AbstractModel::get_dchempotdT_autodiff ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_deriv_mat2()

virtual EArray33d teqp::cppinterface::AbstractModel::get_deriv_mat2 ( const double T,
double rho,
const EArrayd & z ) const
pure virtual

◆ get_dmBnvirdTm()

virtual double teqp::cppinterface::AbstractModel::get_dmBnvirdTm ( const int Nderiv,
const int NTderiv,
const double T,
const EArrayd & z ) const
pure virtual

◆ get_dp_dT_crit()

double teqp::cppinterface::AbstractModel::get_dp_dT_crit ( const double T,
const REArrayd & rhovec ) const
virtual

Definition at line 83 of file AbstractModel_implementation.cpp.

◆ get_dpdrhovec_constT()

virtual EArrayd teqp::cppinterface::AbstractModel::get_dpdrhovec_constT ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_dpdT_constrhovec()

virtual double teqp::cppinterface::AbstractModel::get_dpdT_constrhovec ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_dpsat_dTsat_isopleth()

double teqp::cppinterface::AbstractModel::get_dpsat_dTsat_isopleth ( const double T,
const REArrayd & rhovecL,
const REArrayd & rhovecV ) const
virtual

Definition at line 65 of file AbstractModel_implementation.cpp.

◆ get_drhovec_dT_crit()

EArrayd teqp::cppinterface::AbstractModel::get_drhovec_dT_crit ( const double T,
const REArrayd & rhovec ) const
virtual

Definition at line 79 of file AbstractModel_implementation.cpp.

◆ get_drhovecdp_Tsat()

std::tuple< EArrayd, EArrayd > teqp::cppinterface::AbstractModel::get_drhovecdp_Tsat ( const double T,
const REArrayd & rhovecL,
const REArrayd & rhovecV ) const
virtual

Definition at line 59 of file AbstractModel_implementation.cpp.

◆ get_drhovecdT_psat()

std::tuple< EArrayd, EArrayd > teqp::cppinterface::AbstractModel::get_drhovecdT_psat ( const double T,
const REArrayd & rhovecL,
const REArrayd & rhovecV ) const
virtual

Definition at line 62 of file AbstractModel_implementation.cpp.

◆ get_fugacity_coefficients()

virtual EArrayd teqp::cppinterface::AbstractModel::get_fugacity_coefficients ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_minimum_eigenvalue_Psi_Hessian()

double teqp::cppinterface::AbstractModel::get_minimum_eigenvalue_Psi_Hessian ( const double T,
const REArrayd & rhovec ) const
virtual

Definition at line 95 of file AbstractModel_implementation.cpp.

◆ get_neff()

double teqp::cppinterface::AbstractModel::get_neff ( const double T,
const double rho,
const EArrayd & molefracs ) const

Definition at line 10 of file AbstractModel_implementation.cpp.

◆ get_partial_molar_volumes()

virtual EArrayd teqp::cppinterface::AbstractModel::get_partial_molar_volumes ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_pr()

virtual double teqp::cppinterface::AbstractModel::get_pr ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_Psir_sigma_derivs()

virtual Eigen::ArrayXd teqp::cppinterface::AbstractModel::get_Psir_sigma_derivs ( const double T,
const EArrayd & rhovec,
const EArrayd & v ) const
pure virtual

◆ get_pure_critical_conditions_Jacobian()

std::tuple< EArrayd, EMatrixd > teqp::cppinterface::AbstractModel::get_pure_critical_conditions_Jacobian ( const double T,
const double rho,
const std::optional< std::size_t > & alternative_pure_index,
const std::optional< std::size_t > & alternative_length ) const

Definition at line 17 of file AbstractModel_implementation.cpp.

◆ get_R()

virtual double teqp::cppinterface::AbstractModel::get_R ( const EArrayd & ) const
pure virtual

◆ get_splus()

virtual double teqp::cppinterface::AbstractModel::get_splus ( const double T,
const EArrayd & rhovec ) const
pure virtual

◆ get_type_index()

virtual const std::type_index & teqp::cppinterface::AbstractModel::get_type_index ( ) const
pure virtual

◆ mix_VLE_Tp()

MixVLEReturn teqp::cppinterface::AbstractModel::mix_VLE_Tp ( const double T,
const double pgiven,
const REArrayd & rhovecL0,
const REArrayd & rhovecV0,
const std::optional< MixVLETpFlags > & flags = std::nullopt ) const
virtual

Definition at line 52 of file AbstractModel_implementation.cpp.

◆ mix_VLE_Tx()

std::tuple< VLE_return_code, EArrayd, EArrayd > teqp::cppinterface::AbstractModel::mix_VLE_Tx ( const double T,
const REArrayd & rhovecL0,
const REArrayd & rhovecV0,
const REArrayd & xspec,
const double atol,
const double reltol,
const double axtol,
const double relxtol,
const int maxiter ) const
virtual

Definition at line 48 of file AbstractModel_implementation.cpp.

◆ mix_VLLE_T()

std::tuple< VLLE::VLLE_return_code, EArrayd, EArrayd, EArrayd > teqp::cppinterface::AbstractModel::mix_VLLE_T ( const double T,
const REArrayd & rhovecVinit,
const REArrayd & rhovecL1init,
const REArrayd & rhovecL2init,
const double atol,
const double reltol,
const double axtol,
const double relxtol,
const int maxiter ) const

Definition at line 32 of file AbstractModel_implementation.cpp.

◆ mixture_VLE_px()

std::tuple< VLE_return_code, double, EArrayd, EArrayd > teqp::cppinterface::AbstractModel::mixture_VLE_px ( const double p_spec,
const REArrayd & xmolar_spec,
const double T0,
const REArrayd & rhovecL0,
const REArrayd & rhovecV0,
const std::optional< MixVLEpxFlags > & flags = std::nullopt ) const
virtual

Definition at line 55 of file AbstractModel_implementation.cpp.

◆ pure_VLE_T()

EArray2 teqp::cppinterface::AbstractModel::pure_VLE_T ( const double T,
const double rhoL,
const double rhoV,
int maxiter,
const std::optional< Eigen::ArrayXd > & molefracs = std::nullopt ) const

Definition at line 24 of file AbstractModel_implementation.cpp.

◆ R()

double teqp::cppinterface::AbstractModel::R ( const EArrayd & x) const
inline

Definition at line 102 of file teqpcpp.hpp.

◆ solve_pure_critical()

std::tuple< double, double > teqp::cppinterface::AbstractModel::solve_pure_critical ( const double T,
const double rho,
const std::optional< nlohmann::json > & flags = std::nullopt ) const

Definition at line 14 of file AbstractModel_implementation.cpp.

◆ trace_critical_arclength_binary()

nlohmann::json teqp::cppinterface::AbstractModel::trace_critical_arclength_binary ( const double T0,
const EArrayd & rhovec0,
const std::optional< std::string > & filename = std::nullopt,
const std::optional< TCABOptions > & options = std::nullopt ) const
virtual

Definition at line 75 of file AbstractModel_implementation.cpp.

◆ trace_VLE_isobar_binary()

nlohmann::json teqp::cppinterface::AbstractModel::trace_VLE_isobar_binary ( const double p,
const double T0,
const EArrayd & rhovecL0,
const EArrayd & rhovecV0,
const std::optional< PVLEOptions > & options = std::nullopt ) const
virtual

Definition at line 71 of file AbstractModel_implementation.cpp.

◆ trace_VLE_isotherm_binary()

nlohmann::json teqp::cppinterface::AbstractModel::trace_VLE_isotherm_binary ( const double T0,
const EArrayd & rhovec0,
const EArrayd & rhovecV0,
const std::optional< TVLEOptions > & options = std::nullopt ) const
virtual

Definition at line 68 of file AbstractModel_implementation.cpp.

◆ trace_VLLE_binary()

nlohmann::json teqp::cppinterface::AbstractModel::trace_VLLE_binary ( const double T,
const REArrayd & rhovecV,
const REArrayd & rhovecL1,
const REArrayd & rhovecL2,
const std::optional< VLLE::VLLETracerOptions > options ) const

Definition at line 44 of file AbstractModel_implementation.cpp.


The documentation for this class was generated from the following files: