teqp package

Submodules

teqp.teqp module

TEQP: Templated Equation of State Package

class teqp.teqp.AbstractModel

Bases: pybind11_object

build_Psi_Hessian_autodiff(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, n]]
build_Psir_Hessian_autodiff(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, n]]
build_Psir_gradient_autodiff(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
build_d2PsirdTdrhoi_autodiff(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
dpsatdT_pure(self: teqp.teqp.AbstractModel, T: float, rhoL: float, rhoV: float) float
eigen_problem(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]], alignment_v0: numpy.ndarray[numpy.float64[m, 1]] | None = None) teqp::EigenData
extrapolate_from_critical(self: teqp.teqp.AbstractModel, Tc: float, rhoc: float, T: float, molefrac: numpy.ndarray[numpy.float64[m, 1]] | None = None) numpy.ndarray[numpy.float64[2, 1]]
find_VLLE_T_binary(self: teqp.teqp.AbstractModel, traces: List[json], options: teqp.teqp.VLLEFinderOptions | None = None) List[json]
find_VLLE_p_binary(self: teqp.teqp.AbstractModel, traces: List[json], options: teqp.teqp.VLLEFinderOptions | None = None) List[json]
get_ATrhoXi(self: teqp.teqp.AbstractModel, T: float, NT: int, rhomolar: float, Nrho: int, molefrac: numpy.ndarray[numpy.float64[m, 1]], i: int, NXi: int) float
get_ATrhoXiXj(self: teqp.teqp.AbstractModel, T: float, NT: int, rhomolar: float, Nrho: int, molefrac: numpy.ndarray[numpy.float64[m, 1]], i: int, NXi: int, j: int, NXj: int) float
get_ATrhoXiXjXk(self: teqp.teqp.AbstractModel, T: float, NT: int, rhomolar: float, Nrho: int, molefrac: numpy.ndarray[numpy.float64[m, 1]], i: int, NXi: int, j: int, NXj: int, k: int, NXk: int) float
get_Ar00(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar00n(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_Ar01(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar01n(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_Ar02(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar02n(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_Ar03(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar03n(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_Ar04(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar04n(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_Ar05n(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_Ar06n(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_Ar10(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar11(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar12(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar13(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar14(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar20(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar21(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar22(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar23(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Ar24(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Arxy(self: teqp.teqp.AbstractModel, NT: int, ND: int, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_AtaudeltaXi(self: teqp.teqp.AbstractModel, tau: float, Ntau: int, delta: float, Ndelta: int, molefrac: numpy.ndarray[numpy.float64[m, 1]], i: int, NXi: int) float
get_AtaudeltaXiXj(self: teqp.teqp.AbstractModel, tau: float, Ntau: int, delta: float, Ndelta: int, molefrac: numpy.ndarray[numpy.float64[m, 1]], i: int, NXi: int, j: int, NXj: int) float
get_AtaudeltaXiXjXk(self: teqp.teqp.AbstractModel, tau: float, Ntau: int, delta: float, Ndelta: int, molefrac: numpy.ndarray[numpy.float64[m, 1]], i: int, NXi: int, j: int, NXj: int, k: int, NXk: int) float
get_B12vir(self: teqp.teqp.AbstractModel, T: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_B2vir(self: teqp.teqp.AbstractModel, T: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_Bnvir(self: teqp.teqp.AbstractModel, Nderiv: int, T: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) Dict[int, float]
get_R(self: teqp.teqp.AbstractModel, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_chempotVLE_autodiff(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_criticality_conditions(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[2, 1]]
get_dchempotdT_autodiff(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_deriv_mat2(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[3, 3]]
get_dmBnvirdTm(self: teqp.teqp.AbstractModel, Nderiv: int, NTderiv: int, T: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_dp_dT_crit(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) float
get_dpsat_dTsat_isopleth(self: teqp.teqp.AbstractModel, T: float, rhovecL: numpy.ndarray[numpy.float64[m, 1]], rhovecV: numpy.ndarray[numpy.float64[m, 1]]) float
get_drhovec_dT_crit(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_drhovecdT_psat(self: teqp.teqp.AbstractModel, T: float, rhovecL: numpy.ndarray[numpy.float64[m, 1]], rhovecV: numpy.ndarray[numpy.float64[m, 1]]) Tuple[numpy.ndarray[numpy.float64[m, 1]], numpy.ndarray[numpy.float64[m, 1]]]
get_drhovecdp_Tsat(self: teqp.teqp.AbstractModel, T: float, rhovecL: numpy.ndarray[numpy.float64[m, 1]], rhovecV: numpy.ndarray[numpy.float64[m, 1]]) Tuple[numpy.ndarray[numpy.float64[m, 1]], numpy.ndarray[numpy.float64[m, 1]]]
get_fugacity_coefficients(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_minimum_eigenvalue_Psi_Hessian(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) float
get_neff(self: teqp.teqp.AbstractModel, T: float, rho: float, molefrac: numpy.ndarray[numpy.float64[m, 1]]) float
get_partial_molar_volumes(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) numpy.ndarray[numpy.float64[m, 1]]
get_pr(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) float
get_pure_critical_conditions_Jacobian(self: teqp.teqp.AbstractModel, T: float, rho: float, alternative_pure_index: int | None = None, alternative_length: int | None = None) Tuple[numpy.ndarray[numpy.float64[m, 1]], numpy.ndarray[numpy.float64[m, n]]]
get_splus(self: teqp.teqp.AbstractModel, T: float, rhovec: numpy.ndarray[numpy.float64[m, 1]]) float
mix_VLE_Tp(self: teqp.teqp.AbstractModel, T: float, p_given: float, rhovecL0: numpy.ndarray[numpy.float64[m, 1]], rhovecV0: numpy.ndarray[numpy.float64[m, 1]], options: teqp.teqp.MixVLETpFlags | None = None) teqp.teqp.MixVLEReturn
mix_VLE_Tx(self: teqp.teqp.AbstractModel, T: float, rhovecL0: numpy.ndarray[numpy.float64[m, 1]], rhovecV0: numpy.ndarray[numpy.float64[m, 1]], xspec: numpy.ndarray[numpy.float64[m, 1]], atol: float, reltol: float, axtol: float, relxtol: float, maxiter: int) Tuple[teqp.teqp.VLE_return_code, numpy.ndarray[numpy.float64[m, 1]], numpy.ndarray[numpy.float64[m, 1]]]
mix_VLLE_T(self: teqp.teqp.AbstractModel, T: float, rhovecVinit: numpy.ndarray[numpy.float64[m, 1]], rhovecL1init: numpy.ndarray[numpy.float64[m, 1]], rhovecL2init: numpy.ndarray[numpy.float64[m, 1]], atol: float, reltol: float, axtol: float, relxtol: float, maxiter: int) Tuple[teqp::VLLE::VLLE_return_code, numpy.ndarray[numpy.float64[m, 1]], numpy.ndarray[numpy.float64[m, 1]], numpy.ndarray[numpy.float64[m, 1]]]
mixture_VLE_px(self: teqp.teqp.AbstractModel, p_spec: float, xmolar_spec: numpy.ndarray[numpy.float64[m, 1]], T0: float, rhovecL0: numpy.ndarray[numpy.float64[m, 1]], rhovecV0: numpy.ndarray[numpy.float64[m, 1]], options: teqp.teqp.MixVLEpxFlags | None = None) Tuple[teqp.teqp.VLE_return_code, float, numpy.ndarray[numpy.float64[m, 1]], numpy.ndarray[numpy.float64[m, 1]]]
pure_VLE_T(self: teqp.teqp.AbstractModel, T: float, rhoL: float, rhoV: float, max_iter: int, molefrac: numpy.ndarray[numpy.float64[m, 1]] | None = None) numpy.ndarray[numpy.float64[2, 1]]
solve_pure_critical(self: teqp.teqp.AbstractModel, T: float, rho: float, flags: json | None = None) Tuple[float, float]
trace_VLE_isobar_binary(self: teqp.teqp.AbstractModel, p: float, T0: float, rhovecL0: numpy.ndarray[numpy.float64[m, 1]], rhovecV0: numpy.ndarray[numpy.float64[m, 1]], options: teqp.teqp.PVLEOptions | None = None) json
trace_VLE_isotherm_binary(self: teqp.teqp.AbstractModel, T: float, rhovecL0: numpy.ndarray[numpy.float64[m, 1]], rhovecV0: numpy.ndarray[numpy.float64[m, 1]], options: teqp.teqp.TVLEOptions | None = None) json
trace_VLLE_binary(self: teqp.teqp.AbstractModel, T: float, rhovecV: numpy.ndarray[numpy.float64[m, 1]], rhovecL1: numpy.ndarray[numpy.float64[m, 1]], rhovecL2: numpy.ndarray[numpy.float64[m, 1]], options: teqp.teqp.VLLETracerOptions | None = None) json
trace_critical_arclength_binary(self: teqp.teqp.AbstractModel, T0: float, rhovec0: numpy.ndarray[numpy.float64[m, 1]], path: str | None = None, options: teqp.teqp.TCABOptions | None = None) json
class teqp.teqp.IterationMatrices

Bases: pybind11_object

property J
property v
property vars
class teqp.teqp.MixVLEReturn

Bases: pybind11_object

property T
property initial_r
property message
property num_fev
property num_iter
property r
property return_code
property rhovecL
property rhovecV
property success
class teqp.teqp.MixVLETpFlags

Bases: pybind11_object

property atol
property axtol
property maxiter
property reltol
property relxtol
class teqp.teqp.MixVLEpxFlags

Bases: pybind11_object

property atol
property axtol
property maxiter
property reltol
property relxtol
class teqp.teqp.MultiFluidVLEAncillaries

Bases: pybind11_object

property pL
property pV
property rhoL
property rhoV
class teqp.teqp.NRIterator

Bases: pybind11_object

get_T(self: teqp.teqp.NRIterator) float
get_molefrac(self: teqp.teqp.NRIterator) numpy.ndarray[numpy.float64[m, 1]]
get_rho(self: teqp.teqp.NRIterator) float
get_vals(self: teqp.teqp.NRIterator) numpy.ndarray[numpy.float64[m, 1]]
get_vars(self: teqp.teqp.NRIterator) List[str]
take_step(self: teqp.teqp.NRIterator) numpy.ndarray[numpy.float64[m, 1]]
take_steps(self: teqp.teqp.NRIterator, arg0: int) None
class teqp.teqp.PVLEOptions

Bases: pybind11_object

property abs_err
property calc_criticality
property crit_termination
property init_c
property init_dt
property integration_order
property max_dt
property max_steps
property polish
property polish_exception_on_fail
property polish_reltol_rho
property rel_err
property terminate_unstable
property verbosity
class teqp.teqp.SAFTCoeffs

Bases: pybind11_object

property BibTeXKey
property Qstar2
property epsilon_over_k
property m
property mustar2
property nQ
property name
property nmu
property sigma_Angstrom
class teqp.teqp.TCABOptions

Bases: pybind11_object

property T_tol
property abs_err
property calc_stability
property init_c
property init_dt
property integration_order
property max_dt
property max_step_count
property polish
property polish_exception_on_fail
property polish_reltol_T
property polish_reltol_rho
property pure_endpoint_polish
property rel_err
property skip_dircheck_count
property small_T_count
property stability_rel_drho
property verbosity
class teqp.teqp.TVLEOptions

Bases: pybind11_object

property abs_err
property calc_criticality
property crit_termination
property init_c
property init_dt
property integration_order
property max_dt
property max_steps
property p_termination
property polish
property polish_exception_on_fail
property polish_reltol_rho
property rel_err
property terminate_unstable
property verbosity
class teqp.teqp.VLEAncillary

Bases: pybind11_object

property T_r
property Tmax
property Tmin
class teqp.teqp.VLE_return_code

Bases: pybind11_object

Members:

unset

xtol_satisfied

functol_satisfied

maxiter_met

maxfev_met

notfinite_step

functol_satisfied = <VLE_return_code.functol_satisfied: 2>
maxfev_met = <VLE_return_code.maxfev_met: 3>
maxiter_met = <VLE_return_code.maxiter_met: 4>
property name
notfinite_step = <VLE_return_code.notfinite_step: 5>
unset = <VLE_return_code.unset: 0>
property value
xtol_satisfied = <VLE_return_code.xtol_satisfied: 1>
class teqp.teqp.VLLEFinderOptions

Bases: pybind11_object

property max_steps
property rho_trivial_threshold
class teqp.teqp.VLLETracerOptions

Bases: pybind11_object

property T_limit
property abs_err
property init_dT
property max_dT
property max_polish_steps
property max_step_count
property max_step_retries
property polish
property rel_err
property terminate_composition
property terminate_composition_tol
property verbosity
teqp.teqp.attach_model_specific_methods(arg0: object) None
teqp.teqp.build_alias_map(root: str) Dict[str, str]
teqp.teqp.build_ancillaries(model: teqp.teqp.AbstractModel, Tc: float, rhoc: float, Tmin: float, flags: json | None = None) teqp.teqp.MultiFluidVLEAncillaries
teqp.teqp.collect_component_json(identifiers: List[str], root: str) List[json]
teqp.teqp.convert_CoolProp_idealgas(arg0: str, arg1: int) json
teqp.teqp.convert_FLD(component: str, name: str) json
teqp.teqp.convert_HMXBNC(path: str) Tuple[json, json]
teqp.teqp.get_BIPdep(BIPcollection: json, identifiers: List[str], flags: json = None) Tuple[json, bool]
teqp.teqp.get_departure_json(name: str, root: str) json

Module contents

teqp.AmmoniaWaterTillnerRoth()
teqp.CPAfactory(spec)
teqp.IdealHelmholtz(model)
teqp.PCSAFTEOS(coeffs, kmat=None)
teqp.build_LJ126_TholJPCRD2016()
teqp.build_Psi_Hessian_autodiff(model, *args, **kwargs)
teqp.build_Psir_Hessian_autodiff(model, *args, **kwargs)
teqp.build_Psir_gradient_autodiff(model, *args, **kwargs)
teqp.build_d2PsirdTdrhoi_autodiff(model, *args, **kwargs)
teqp.build_multifluid_ecs_mutant(*args, **kwargs)
teqp.build_multifluid_model(components, coolprop_root, BIPcollectionpath='', flags={}, departurepath='')
teqp.build_multifluid_mutant(*args, **kwargs)
teqp.canonical_PR(Tc_K, pc_Pa, acentric, kmat=None)
teqp.canonical_SRK(Tc_K, pc_Pa, acentric, kmat=None)
teqp.deprecated_caller(model, *args, **kwargs)
teqp.eigen_problem(model, *args, **kwargs)
teqp.extrapolate_from_critical(model, *args, **kwargs)
teqp.find_VLLE_T_binary(model, *args, **kwargs)
teqp.get_B2virget_B12vir(model, *args, **kwargs)
teqp.get_chempotVLE_autodiff(model, *args, **kwargs)
teqp.get_criticality_conditions(model, *args, **kwargs)
teqp.get_datapath()

Get the absolute path to the folder containing the root of multi-fluid data

teqp.get_dchempotdT_autodiff(model, *args, **kwargs)
teqp.get_dpsat_dTsat_isopleth(model, *args, **kwargs)
teqp.get_drhovec_dT_crit(model, *args, **kwargs)
teqp.get_drhovecdT_psat(model, *args, **kwargs)
teqp.get_drhovecdp_Tsat(model, *args, **kwargs)
teqp.get_fugacity_coefficients(model, *args, **kwargs)
teqp.get_minimum_eigenvalue_Psi_Hessian(model, *args, **kwargs)
teqp.get_partial_molar_volumes(model, *args, **kwargs)
teqp.get_pr(model, *args, **kwargs)
teqp.get_pure_critical_conditions_Jacobian(model, *args, **kwargs)
teqp.get_splus(model, *args, **kwargs)
teqp.make_model(*args, **kwargs)

This function is in two parts; first the make_model function (renamed to _make_model in the Python interface) is used to make the model and then the model-specific methods are attached to the instance

teqp.make_vdW1(a, b)
teqp.mix_VLE_Tx(model, *args, **kwargs)
teqp.mix_VLLE_T(model, *args, **kwargs)
teqp.mixture_VLE_px(model, *args, **kwargs)
teqp.pure_VLE_T(model, *args, **kwargs)
teqp.solve_pure_critical(model, *args, **kwargs)
teqp.tolist(a)
teqp.trace_VLE_isobar_binary(model, *args, **kwargs)
teqp.trace_VLE_isotherm_binary(model, *args, **kwargs)
teqp.trace_critical_arclength_binary(model, *args, **kwargs)
teqp.vdWEOS(Tc_K, pc_Pa)
teqp.vdWEOS1(*args)