Expose derivatives of alphar and alpha0 in python

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
This commit is contained in:
Ian Bell
2015-04-19 20:50:44 -06:00
parent 260f4dfde0
commit c7cb7bf4ef
3 changed files with 112 additions and 3 deletions

View File

@@ -94,4 +94,26 @@ cdef class AbstractState:
cpdef PyPhaseEnvelopeData get_phase_envelope_data(self)
cpdef mole_fractions_liquid(self)
cpdef mole_fractions_vapor(self)
cpdef mole_fractions_vapor(self)
cpdef long double alpha0(self) except *
cpdef long double dalpha0_dDelta(self) except *
cpdef long double dalpha0_dTau(v) except *
cpdef long double d2alpha0_dDelta2(self) except *
cpdef long double d2alpha0_dDelta_dTau(self) except *
cpdef long double d2alpha0_dTau2(self) except *
cpdef long double d3alpha0_dTau3(self) except *
cpdef long double d3alpha0_dDelta_dTau2(self) except *
cpdef long double d3alpha0_dDelta2_dTau(self) except *
cpdef long double d3alpha0_dDelta3(self) except *
cpdef long double alphar(self) except *
cpdef long double dalphar_dDelta(self) except *
cpdef long double dalphar_dTau(self) except *
cpdef long double d2alphar_dDelta2(self) except *
cpdef long double d2alphar_dDelta_dTau(self) except *
cpdef long double d2alphar_dTau2(self) except *
cpdef long double d3alphar_dDelta3(self) except *
cpdef long double d3alphar_dDelta2_dTau(self) except *
cpdef long double d3alphar_dDelta_dTau2(self) except *
cpdef long double d3alphar_dTau3(self) except *

View File

@@ -244,4 +244,69 @@ cdef class AbstractState:
pe_out.ipsat_max = pe_data.ipsat_max
pe_out.TypeI = pe_data.TypeI
return pe_out
## -----------------------------------------
## Helmholtz energy derivatives
## -----------------------------------------
cpdef long double alpha0(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::alpha0` """
return self.thisptr.alpha0()
cpdef long double dalpha0_dDelta(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::dalpha0_dDelta` """
return self.thisptr.dalpha0_dDelta()
cpdef long double dalpha0_dTau(v) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::dalpha0_dTau` """
return self.thisptr.dalpha0_dTau()
cpdef long double d2alpha0_dDelta2(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d2alpha0_dDelta2` """
return self.thisptr.d2alpha0_dDelta2()
cpdef long double d2alpha0_dDelta_dTau(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d2alpha0_dDelta_dTau` """
return self.thisptr.d2alpha0_dDelta_dTau()
cpdef long double d2alpha0_dTau2(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d2alpha0_dTau2` """
return self.thisptr.d2alpha0_dTau2()
cpdef long double d3alpha0_dTau3(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alpha0_dTau3` """
return self.thisptr.d3alpha0_dTau3()
cpdef long double d3alpha0_dDelta_dTau2(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alpha0_dDelta_dTau2` """
return self.thisptr.d3alpha0_dDelta_dTau2()
cpdef long double d3alpha0_dDelta2_dTau(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alpha0_dDelta2_dTau` """
return self.thisptr.d3alpha0_dDelta2_dTau()
cpdef long double d3alpha0_dDelta3(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alpha0_dDelta3` """
return self.thisptr.d3alpha0_dDelta3()
cpdef long double alphar(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::alphar` """
return self.thisptr.alphar()
cpdef long double dalphar_dDelta(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::dalphar_dDelta` """
return self.thisptr.dalphar_dDelta()
cpdef long double dalphar_dTau(v) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::dalphar_dTau` """
return self.thisptr.dalphar_dTau()
cpdef long double d2alphar_dDelta2(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d2alphar_dDelta2` """
return self.thisptr.d2alphar_dDelta2()
cpdef long double d2alphar_dDelta_dTau(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d2alphar_dDelta_dTau` """
return self.thisptr.d2alphar_dDelta_dTau()
cpdef long double d2alphar_dTau2(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d2alphar_dTau2` """
return self.thisptr.d2alphar_dTau2()
cpdef long double d3alphar_dTau3(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alphar_dTau3` """
return self.thisptr.d3alphar_dTau3()
cpdef long double d3alphar_dDelta_dTau2(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alphar_dDelta_dTau2` """
return self.thisptr.d3alphar_dDelta_dTau2()
cpdef long double d3alphar_dDelta2_dTau(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alphar_dDelta2_dTau` """
return self.thisptr.d3alphar_dDelta2_dTau()
cpdef long double d3alphar_dDelta3(self) except *:
""" Get the ideal-gas reduced Helmholtz energy - wrapper of c++ function :cpapi:`CoolProp::AbstractState::d3alphar_dDelta3` """
return self.thisptr.d3alphar_dDelta3()

View File

@@ -8,7 +8,7 @@ cdef extern from "PhaseEnvelope.h" namespace "CoolProp":
cdef cppclass PhaseEnvelopeData:
bool TypeI
size_t iTsat_max, ipsat_max, icrit
vector[long double] T, p, lnT, lnp, rhomolar_liq, rhomolar_vap, lnrhomolar_liq, lnrhomolar_vap, hmolar_liq, hmolar_vap, smolar_liq, smolar_vap, Q
vector[double] T, p, lnT, lnp, rhomolar_liq, rhomolar_vap, lnrhomolar_liq, lnrhomolar_vap, hmolar_liq, hmolar_vap, smolar_liq, smolar_vap, Q
cdef extern from "AbstractState.h" namespace "CoolProp":
@@ -105,6 +105,28 @@ cdef extern from "AbstractState.h" namespace "CoolProp":
double build_phase_envelope() except+ValueError
void build_phase_envelope(string) except+ValueError
PhaseEnvelopeData get_phase_envelope_data() except+ValueError
long double alpha0() except+ValueError
long double dalpha0_dDelta() except+ValueError
long double dalpha0_dTau() except+ValueError
long double d2alpha0_dDelta2() except+ValueError
long double d2alpha0_dDelta_dTau() except+ValueError
long double d2alpha0_dTau2() except+ValueError
long double d3alpha0_dTau3() except+ValueError
long double d3alpha0_dDelta_dTau2() except+ValueError
long double d3alpha0_dDelta2_dTau() except+ValueError
long double d3alpha0_dDelta3() except+ValueError
long double alphar() except+ValueError
long double dalphar_dDelta() except+ValueError
long double dalphar_dTau() except+ValueError
long double d2alphar_dDelta2() except+ValueError
long double d2alphar_dDelta_dTau() except+ValueError
long double d2alphar_dTau2() except+ValueError
long double d3alphar_dDelta3() except+ValueError
long double d3alphar_dDelta2_dTau() except+ValueError
long double d3alphar_dDelta_dTau2() except+ValueError
long double d3alphar_dTau3() except+ValueError
# The static factory method for the AbstractState
cdef extern from "AbstractState.h" namespace "CoolProp::AbstractState":