teqp 0.22.0
Loading...
Searching...
No Matches
VLE.hpp File Reference
#include <optional>
#include "teqp/derivs.hpp"
#include "teqp/exceptions.hpp"
#include "teqp/algorithms/critical_tracing.hpp"
#include "teqp/algorithms/critical_pure.hpp"
#include "teqp/algorithms/VLE_types.hpp"
#include "teqp/algorithms/VLE_pure.hpp"
#include <Eigen/Dense>
#include <boost/numeric/odeint/stepper/controlled_runge_kutta.hpp>
#include <boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp>
#include <boost/numeric/odeint/stepper/euler.hpp>
#include <unsupported/Eigen/NonLinearOptimization>

Go to the source code of this file.

Classes

struct  teqp::Functor< _Scalar, NX, NY >
 
struct  teqp::hybrj_functor__mix_VLE_Tp< Model >
 

Namespaces

namespace  teqp
 

Macros

#define VLE_FUNCTIONS_TO_WRAP
 
#define X(f)
 

Functions

template<class A , class B >
auto teqp::linsolve (const A &a, const B &b)
 
auto teqp::mix_VLE_Tx (const AbstractModel &model, double T, const Eigen::ArrayXd &rhovecL0, const Eigen::ArrayXd &rhovecV0, const Eigen::ArrayXd &xspec, double atol, double reltol, double axtol, double relxtol, int maxiter)
 
auto teqp::mix_VLE_Tp (const AbstractModel &model, double T, double pgiven, const Eigen::ArrayXd &rhovecL0, const Eigen::ArrayXd &rhovecV0, const std::optional< MixVLETpFlags > &flags_=std::nullopt)
 
auto teqp::mixture_VLE_px (const AbstractModel &model, double p_spec, const Eigen::ArrayXd &xmolar_spec, double T0, const Eigen::ArrayXd &rhovecL0, const Eigen::ArrayXd &rhovecV0, const std::optional< MixVLEpxFlags > &flags_=std::nullopt)
 
auto teqp::get_drhovecdp_Tsat (const AbstractModel &model, const double &T, const Eigen::ArrayXd &rhovecL, const Eigen::ArrayXd &rhovecV)
 
auto teqp::get_drhovecdT_psat (const AbstractModel &model, const double &T, const Eigen::ArrayXd &rhovecL, const Eigen::ArrayXd &rhovecV)
 
auto teqp::get_drhovecdT_xsat (const AbstractModel &model, const double &T, const Eigen::ArrayXd &rhovecL, const Eigen::ArrayXd &rhovecV)
 
template<typename Model = AbstractModel>
auto teqp::get_dpsat_dTsat_isopleth (const Model &model, const double &T, const Eigen::ArrayXd &rhovecL, const Eigen::ArrayXd &rhovecV)
 Derivative of pressure w.r.t. temperature along the isopleth of a phase envelope (at constant composition of the bulk phase with the first concentration array)
 
auto teqp::trace_VLE_isotherm_binary (const AbstractModel &model, double T, const Eigen::ArrayXd &rhovecL0, const Eigen::ArrayXd &rhovecV0, const std::optional< TVLEOptions > &options=std::nullopt)
 
template<typename Model = AbstractModel>
auto teqp::trace_VLE_isobar_binary (const Model &model, double p, double T0, const Eigen::ArrayXd &rhovecL0, const Eigen::ArrayXd &rhovecV0, const std::optional< PVLEOptions > &options=std::nullopt)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::trace_VLE_isobar_binary (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::trace_VLE_isotherm_binary (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::get_dpsat_dTsat_isopleth (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::get_drhovecdT_xsat (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::get_drhovecdT_psat (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::get_drhovecdp_Tsat (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::trace_critical_arclength_binary (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::mixture_VLE_px (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::mix_VLE_Tp (const TemplatedModel &model, Params &&... params)
 
template<typename TemplatedModel , typename ... Params, typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type>
auto teqp::mix_VLE_Tx (const TemplatedModel &model, Params &&... params)
 

Macro Definition Documentation

◆ VLE_FUNCTIONS_TO_WRAP

#define VLE_FUNCTIONS_TO_WRAP
Value:
X(trace_VLE_isobar_binary) \
X(trace_VLE_isotherm_binary) \
X(get_dpsat_dTsat_isopleth) \
X(get_drhovecdT_xsat) \
X(get_drhovecdT_psat) \
X(get_drhovecdp_Tsat) \
X(trace_critical_arclength_binary) \
X(mixture_VLE_px) \
X(mix_VLE_Tp) \
X(mix_VLE_Tx)
#define X(f)
Definition VLE.hpp:1298

Definition at line 1286 of file VLE.hpp.

◆ X

#define X ( f)
Value:
template <typename TemplatedModel, typename ...Params, \
typename = typename std::enable_if<not std::is_base_of<teqp::cppinterface::AbstractModel, TemplatedModel>::value>::type> \
inline auto f(const TemplatedModel& model, Params&&... params){ \
const AbstractModel& am = *view.get(); \
return f(am, std::forward<Params>(params)...); \
}
auto make_cview(const TemplatedModel &tmodel)
auto view(const TemplatedModel &tp)

Definition at line 1298 of file VLE.hpp.