def solve_T(self, P, V, quick=True):
        r'''Method to calculate `T` from a specified `P` and `V` for the SRK
        EOS. Uses `a`, `b`, and `Tc` obtained from the class's namespace.

        Parameters
        ----------
        P : float
            Pressure, [Pa]
        V : float
            Molar volume, [m^3/mol]
        quick : bool, optional
            Whether to use a SymPy cse-derived expression (3x faster) or 
            individual formulas

        Returns
        -------
        T : float
            Temperature, [K]

        Notes
        -----
        The exact solution can be derived as follows; it is excluded for 
        breviety.
        
        >>> from sympy import *
        >>> P, T, V, R, a, b, m = symbols('P, T, V, R, a, b, m')
        >>> Tc, Pc, omega = symbols('Tc, Pc, omega')
        >>> a_alpha = a*(1 + m*(1-sqrt(T/Tc)))**2
        >>> SRK = R*T/(V-b) - a_alpha/(V*(V+b)) - P
        >>> # solve(SRK, T)
        '''
        a, b, Tc, m = self.a, self.b, self.Tc, self.m
        if quick:
            x0 = R*Tc
            x1 = V*b
            x2 = x0*x1
            x3 = V*V
            x4 = x0*x3
            x5 = m*m
            x6 = a*x5
            x7 = b*x6
            x8 = V*x6
            x9 = (x2 + x4 + x7 - x8)**2
            x10 = x3*x3
            x11 = R*R*Tc*Tc
            x12 = a*a
            x13 = x5*x5
            x14 = x12*x13
            x15 = b*b
            x16 = x3*V
            x17 = a*x0
            x18 = x17*x5
            x19 = 2.*b*x16
            x20 = -2.*V*b*x14 + 2.*V*x15*x18 + x10*x11 + x11*x15*x3 + x11*x19 + x14*x15 + x14*x3 - 2*x16*x18
            x21 = V - b
            x22 = 2*m*x17
            x23 = P*x4
            x24 = P*x8
            x25 = x1*x17
            x26 = P*R*Tc
            x27 = x17*x3
            x28 = V*x12
            x29 = 2.*m*m*m
            x30 = b*x12
            return -Tc*(2.*a*m*x9*(V*x21*x21*x21*(V + b)*(P*x2 + P*x7 + x17 + x18 + x22 + x23 - x24))**0.5*(m + 1.) - x20*x21*(-P*x16*x6 + x1*x22 + x10*x26 + x13*x28 - x13*x30 + x15*x23 + x15*x24 + x19*x26 + x22*x3 + x25*x5 + x25 + x27*x5 + x27 + x28*x29 + x28*x5 - x29*x30 - x30*x5))/(x20*x9)
        else:
            return Tc*(-2*a*m*sqrt(V*(V - b)**3*(V + b)*(P*R*Tc*V**2 + P*R*Tc*V*b - P*V*a*m**2 + P*a*b*m**2 + R*Tc*a*m**2 + 2*R*Tc*a*m + R*Tc*a))*(m + 1)*(R*Tc*V**2 + R*Tc*V*b - V*a*m**2 + a*b*m**2)**2 + (V - b)*(R**2*Tc**2*V**4 + 2*R**2*Tc**2*V**3*b + R**2*Tc**2*V**2*b**2 - 2*R*Tc*V**3*a*m**2 + 2*R*Tc*V*a*b**2*m**2 + V**2*a**2*m**4 - 2*V*a**2*b*m**4 + a**2*b**2*m**4)*(P*R*Tc*V**4 + 2*P*R*Tc*V**3*b + P*R*Tc*V**2*b**2 - P*V**3*a*m**2 + P*V*a*b**2*m**2 + R*Tc*V**2*a*m**2 + 2*R*Tc*V**2*a*m + R*Tc*V**2*a + R*Tc*V*a*b*m**2 + 2*R*Tc*V*a*b*m + R*Tc*V*a*b + V*a**2*m**4 + 2*V*a**2*m**3 + V*a**2*m**2 - a**2*b*m**4 - 2*a**2*b*m**3 - a**2*b*m**2))/((R*Tc*V**2 + R*Tc*V*b - V*a*m**2 + a*b*m**2)**2*(R**2*Tc**2*V**4 + 2*R**2*Tc**2*V**3*b + R**2*Tc**2*V**2*b**2 - 2*R*Tc*V**3*a*m**2 + 2*R*Tc*V*a*b**2*m**2 + V**2*a**2*m**4 - 2*V*a**2*b*m**4 + a**2*b**2*m**4))
def solve_T(self, P, V, quick=True):
        r'''Method to calculate `T` from a specified `P` and `V` for the SRK
        EOS. Uses `a`, `b`, and `Tc` obtained from the class's namespace.

        Parameters
        ----------
        P : float
            Pressure, [Pa]
        V : float
            Molar volume, [m^3/mol]
        quick : bool, optional
            Whether to use a SymPy cse-derived expression (3x faster) or 
            individual formulas

        Returns
        -------
        T : float
            Temperature, [K]

        Notes
        -----
        The exact solution can be derived as follows; it is excluded for 
        breviety.
        
        >>> from sympy import *
        >>> P, T, V, R, a, b, m = symbols('P, T, V, R, a, b, m')
        >>> Tc, Pc, omega = symbols('Tc, Pc, omega')
        >>> a_alpha = a*(1 + m*(1-sqrt(T/Tc)))**2
        >>> SRK = R*T/(V-b) - a_alpha/(V*(V+b)) - P
        >>> # solve(SRK, T)
        '''
        a, b, Tc, m = self.a, self.b, self.Tc, self.m
        if quick:
            x0 = R*Tc
            x1 = V*b
            x2 = x0*x1
            x3 = V*V
            x4 = x0*x3
            x5 = m*m
            x6 = a*x5
            x7 = b*x6
            x8 = V*x6
            x9 = (x2 + x4 + x7 - x8)**2
            x10 = x3*x3
            x11 = R*R*Tc*Tc
            x12 = a*a
            x13 = x5*x5
            x14 = x12*x13
            x15 = b*b
            x16 = x3*V
            x17 = a*x0
            x18 = x17*x5
            x19 = 2.*b*x16
            x20 = -2.*V*b*x14 + 2.*V*x15*x18 + x10*x11 + x11*x15*x3 + x11*x19 + x14*x15 + x14*x3 - 2*x16*x18
            x21 = V - b
            x22 = 2*m*x17
            x23 = P*x4
            x24 = P*x8
            x25 = x1*x17
            x26 = P*R*Tc
            x27 = x17*x3
            x28 = V*x12
            x29 = 2.*m*m*m
            x30 = b*x12
            return -Tc*(2.*a*m*x9*(V*x21*x21*x21*(V + b)*(P*x2 + P*x7 + x17 + x18 + x22 + x23 - x24))**0.5*(m + 1.) - x20*x21*(-P*x16*x6 + x1*x22 + x10*x26 + x13*x28 - x13*x30 + x15*x23 + x15*x24 + x19*x26 + x22*x3 + x25*x5 + x25 + x27*x5 + x27 + x28*x29 + x28*x5 - x29*x30 - x30*x5))/(x20*x9)
        else:
            return Tc*(-2*a*m*sqrt(V*(V - b)**3*(V + b)*(P*R*Tc*V**2 + P*R*Tc*V*b - P*V*a*m**2 + P*a*b*m**2 + R*Tc*a*m**2 + 2*R*Tc*a*m + R*Tc*a))*(m + 1)*(R*Tc*V**2 + R*Tc*V*b - V*a*m**2 + a*b*m**2)**2 + (V - b)*(R**2*Tc**2*V**4 + 2*R**2*Tc**2*V**3*b + R**2*Tc**2*V**2*b**2 - 2*R*Tc*V**3*a*m**2 + 2*R*Tc*V*a*b**2*m**2 + V**2*a**2*m**4 - 2*V*a**2*b*m**4 + a**2*b**2*m**4)*(P*R*Tc*V**4 + 2*P*R*Tc*V**3*b + P*R*Tc*V**2*b**2 - P*V**3*a*m**2 + P*V*a*b**2*m**2 + R*Tc*V**2*a*m**2 + 2*R*Tc*V**2*a*m + R*Tc*V**2*a + R*Tc*V*a*b*m**2 + 2*R*Tc*V*a*b*m + R*Tc*V*a*b + V*a**2*m**4 + 2*V*a**2*m**3 + V*a**2*m**2 - a**2*b*m**4 - 2*a**2*b*m**3 - a**2*b*m**2))/((R*Tc*V**2 + R*Tc*V*b - V*a*m**2 + a*b*m**2)**2*(R**2*Tc**2*V**4 + 2*R**2*Tc**2*V**3*b + R**2*Tc**2*V**2*b**2 - 2*R*Tc*V**3*a*m**2 + 2*R*Tc*V*a*b**2*m**2 + V**2*a**2*m**4 - 2*V*a**2*b*m**4 + a**2*b**2*m**4))
def solve_T ( self , P , V , quick = True ) : a , b , Tc , m = self . a , self . b , self . Tc , self . m if quick : x0 = R * Tc x1 = V * b x2 = x0 * x1 x3 = V * V x4 = x0 * x3 x5 = m * m x6 = a * x5 x7 = b * x6 x8 = V * x6 x9 = ( x2 + x4 + x7 - x8 ) ** 2 x10 = x3 * x3 x11 = R * R * Tc * Tc x12 = a * a x13 = x5 * x5 x14 = x12 * x13 x15 = b * b x16 = x3 * V x17 = a * x0 x18 = x17 * x5 x19 = 2. * b * x16 x20 = - 2. * V * b * x14 + 2. * V * x15 * x18 + x10 * x11 + x11 * x15 * x3 + x11 * x19 + x14 * x15 + x14 * x3 - 2 * x16 * x18 x21 = V - b x22 = 2 * m * x17 x23 = P * x4 x24 = P * x8 x25 = x1 * x17 x26 = P * R * Tc x27 = x17 * x3 x28 = V * x12 x29 = 2. * m * m * m x30 = b * x12 return - Tc * ( 2. * a * m * x9 * ( V * x21 * x21 * x21 * ( V + b ) * ( P * x2 + P * x7 + x17 + x18 + x22 + x23 - x24 ) ) ** 0.5 * ( m + 1. ) - x20 * x21 * ( - P * x16 * x6 + x1 * x22 + x10 * x26 + x13 * x28 - x13 * x30 + x15 * x23 + x15 * x24 + x19 * x26 + x22 * x3 + x25 * x5 + x25 + x27 * x5 + x27 + x28 * x29 + x28 * x5 - x29 * x30 - x30 * x5 ) ) / ( x20 * x9 ) else : return Tc * ( - 2 * a * m * sqrt ( V * ( V - b ) ** 3 * ( V + b ) * ( P * R * Tc * V ** 2 + P * R * Tc * V * b - P * V * a * m ** 2 + P * a * b * m ** 2 + R * Tc * a * m ** 2 + 2 * R * Tc * a * m + R * Tc * a ) ) * ( m + 1 ) * ( R * Tc * V ** 2 + R * Tc * V * b - V * a * m ** 2 + a * b * m ** 2 ) ** 2 + ( V - b ) * ( R ** 2 * Tc ** 2 * V ** 4 + 2 * R ** 2 * Tc ** 2 * V ** 3 * b + R ** 2 * Tc ** 2 * V ** 2 * b ** 2 - 2 * R * Tc * V ** 3 * a * m ** 2 + 2 * R * Tc * V * a * b ** 2 * m ** 2 + V ** 2 * a ** 2 * m ** 4 - 2 * V * a ** 2 * b * m ** 4 + a ** 2 * b ** 2 * m ** 4 ) * ( P * R * Tc * V ** 4 + 2 * P * R * Tc * V ** 3 * b + P * R * Tc * V ** 2 * b ** 2 - P * V ** 3 * a * m ** 2 + P * V * a * b ** 2 * m ** 2 + R * Tc * V ** 2 * a * m ** 2 + 2 * R * Tc * V ** 2 * a * m + R * Tc * V ** 2 * a + R * Tc * V * a * b * m ** 2 + 2 * R * Tc * V * a * b * m + R * Tc * V * a * b + V * a ** 2 * m ** 4 + 2 * V * a ** 2 * m ** 3 + V * a ** 2 * m ** 2 - a ** 2 * b * m ** 4 - 2 * a ** 2 * b * m ** 3 - a ** 2 * b * m ** 2 ) ) / ( ( R * Tc * V ** 2 + R * Tc * V * b - V * a * m ** 2 + a * b * m ** 2 ) ** 2 * ( R ** 2 * Tc ** 2 * V ** 4 + 2 * R ** 2 * Tc ** 2 * V ** 3 * b + R ** 2 * Tc ** 2 * V ** 2 * b ** 2 - 2 * R * Tc * V ** 3 * a * m ** 2 + 2 * R * Tc * V * a * b ** 2 * m ** 2 + V ** 2 * a ** 2 * m ** 4 - 2 * V * a ** 2 * b * m ** 4 + a ** 2 * b ** 2 * m ** 4 ) )
r'''Method to calculate `T` from a specified `P` and `V` for the SRK
        EOS. Uses `a`, `b`, and `Tc` obtained from the class's namespace.

        Parameters
        ----------
        P : float
            Pressure, [Pa]
        V : float
            Molar volume, [m^3/mol]
        quick : bool, optional
            Whether to use a SymPy cse-derived expression (3x faster) or 
            individual formulas

        Returns
        -------
        T : float
            Temperature, [K]

        Notes
        -----
        The exact solution can be derived as follows; it is excluded for 
        breviety.
        
        >>> from sympy import *
        >>> P, T, V, R, a, b, m = symbols('P, T, V, R, a, b, m')
        >>> Tc, Pc, omega = symbols('Tc, Pc, omega')
        >>> a_alpha = a*(1 + m*(1-sqrt(T/Tc)))**2
        >>> SRK = R*T/(V-b) - a_alpha/(V*(V+b)) - P
        >>> # solve(SRK, T)
r Method to calculate T from a specified P and V for the SRK EOS . Uses a b and Tc obtained from the class s namespace .