{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Forming the Phase Envelope" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Overview" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The analysis in this section follows the methodologies proposed in the GERG 2004 monograph published in 2007\n", "\n", "System of Equations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our residual vector $\\mathbf{F}$ is equal to \n", "\n", "$$F_i = \\ln\\phi(T,p,\\mathbf{y})-\\ln \\phi(T,p,\\mathbf{x})+\\ln K_i=0, i=1,2,3... N$$\n", "\n", "$$F_{N+1} = \\sum_{i=1}^{N}(y_i-x_i)=0$$\n", " \n", "where\n", "\n", "$$x_i = \\frac{z_i}{1-\\beta+\\beta K_i}$$\n", " \n", "and \n", "\n", "$$y_i = \\frac{K_iz_i}{1-\\beta+\\beta K_i}$$\n", " \n", "DO NOT NORMALIZE $x$ and $y$ !!!!\n", "\n", "$$F_{N+2} = X_s - S = 0$$\n", " \n", "and the system to be solved is equal to\n", "\n", "$$\\mathbf{J}\\mathbf{\\Delta X}= -\\mathbf{F}$$\n", " " ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Building the Jacobian matrix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the trickiest part of this method. There are a lot of derivatives to implement, and we want to implement all of them analytically.\n", "\n", "$$\\frac{\\partial F_i}{\\partial \\ln T} = T\\left[ \\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)''_{p,\\mathbf{n}} -\\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)'_{p,\\mathbf{n}}\\right]$$\n", " \n", "$$\\frac{\\partial F_i}{\\partial \\ln p} = p\\left[ \\left(\\frac{\\partial \\ln \\phi_i}{\\partial p}\\right)''_{T,\\mathbf{n}} -\\left(\\frac{\\partial \\ln \\phi_i}{\\partial p}\\right)'_{T,\\mathbf{n}}\\right]$$\n", " \n", "$$ \\frac{\\partial F_i}{\\partial \\ln K_j} = \\frac{K_jz_j}{(1-\\beta+\\beta K_j)^2}[(1-\\beta)\\phi_{ij}''+\\beta\\phi_{ij}']+\\zeta $$\n", "\n", "$\\zeta$ is the Kronecker delta or $\\zeta = 0$ for $i\\neq j$ , and $\\zeta = 0$ for $i=j$. Also\n", "\n", "$$\\phi_{ij} = n\\left( \\frac{\\partial \\ln \\phi_i}{\\partial n_j}\\right)_{T,p}$$\n", "\n", "For the $F_{N+1}$ term,\n", "\n", "$$\\frac{\\partial F_{N+1}}{\\partial \\ln K_j}=\\frac{K_jz_j}{(1-\\beta+\\beta K_j)^2}$$\n", "\n", "and all other partials of $F_{N+1}$ in the Jacobian are zero. For the specified term\n", "\n", "$$\\frac{\\partial F_{N+2}}{X_s}=1$$\n", " \n", "and all other partials of $F_{N+2}$ in the Jacobian are zero.\n", "\n", "From GERG 2004 Monograph, Eqn 7.27:\n", "\n", "\n", "$$\\ln \\phi_i = \\left( \\frac{\\partial n\\alpha^r}{\\partial n_i}\\right)_{T,V,n_j}-\\ln Z$$\n", " \n", "and (Kunz, 2012, Table B4)\n", "\n", "$$\\left( \\frac{\\partial n\\alpha^r}{\\partial n_i}\\right)_{T,V,n_j} = \\alpha^r + n\\left( \\frac{\\partial \\alpha^r}{\\partial n_i}\\right)_{T,V,n_j}$$\n", " \n", "so\n", "\n", "$$\\ln \\phi_i = \\alpha^r + n\\left( \\frac{\\partial \\alpha^r}{\\partial n_i}\\right)_{T,V,n_j}-\\ln Z$$" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Density marching phase envelope construction(T,P)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another two alternatives have been proposed in A DENSITY MARCHING METHOD FOR CALCULATING PHASE ENVELOPES\n", "Gadhiraju Venkatarathnam, I&ECR, 2014\n", "\n", "In this paper, density marching methods are proposed rather than methods that march in temperature, pressure, or K-factor.\n", "\n", "The system of equations to be solved is similar to that of the GERG 2004 formulation, where the unknowns are $\\ln(T)$, $\\ln(p)$, and $\\ln(K_i)$\n", "\n", "(A1) - OK\n", "$$F_i = \\ln K_i+\\ln\\phi(T,p,\\mathbf{y})-\\ln \\phi(T,p,\\mathbf{x})=0, i=1,2,3... N$$\n", "\n", "(A2) - OK\n", "$$F_{N+1} = \\sum_{i=1}^{N}\\frac{z_i(K_i-1)}{1-\\beta+\\beta K_i}=0$$\n", " \n", "(A3) - TYPO, should be $\\ln(\\rho)$ rather than $\\rho$, and should be all on left-hand-side\n", "$$F_{N+2} = \\ln \\rho ''-\\ln\\rho''_{S} = 0$$\n", "\n", "(A6) - TYPO, missing an n to multiply the terms $\\left( \\frac{\\partial \\ln \\phi_i}{\\partial n_j}\\right)_{T,p}$\n", "$$ \\frac{\\partial F_i}{\\partial \\ln K_j} = \\frac{K_jz_j}{(1-\\beta+\\beta K_j)^2}[(1-\\beta)\\phi_{ij}''+\\beta\\phi_{ij}']+\\zeta $$\n", "\n", "$\\zeta$ is the Kronecker delta or $\\zeta = 0$ for $i\\neq j$ , and $\\zeta = 0$ for $i=j$.\n", "\n", "(A7) - OK\n", "$$\\frac{\\partial F_i}{\\partial \\ln T} = T\\left[ \\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)''_{p,\\mathbf{n}} -\\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)'_{p,\\mathbf{n}}\\right]$$\n", "\n", "(A8) - OK\n", "$$\\frac{\\partial F_i}{\\partial \\ln p} = p\\left[ \\left(\\frac{\\partial \\ln \\phi_i}{\\partial p}\\right)''_{T,\\mathbf{n}} -\\left(\\frac{\\partial \\ln \\phi_i}{\\partial p}\\right)'_{T,\\mathbf{n}}\\right]$$\n", " \n", "(A9) - OK\n", "$$\\frac{\\partial F_{N+1}}{\\partial \\ln K_j}=\\frac{K_jz_j}{(1-\\beta+\\beta K_j)^2}$$\n", "\n", "(A11) - OK\n", "$$ \\frac{\\partial F_{N+2}}{\\partial \\ln K_j} = \\frac{K_jz_j(1-\\beta)\\beta}{(1-\\beta+\\beta K_j)^2}\\left(n\\left(\\frac{\\partial \\rho}{\\partial n_j}\\right)''_{T,p}\\right)\\left(\\frac{1}{\\rho''_{S}}\\right)$$\n", "\n", "(A12) - OK\n", "$$\\frac{\\partial F_{N+2}}{\\partial \\ln T}=\\left(\\frac{\\partial \\rho}{\\partial T}\\right)''_{p,n}\\frac{T}{\\rho''_{S}}$$\n", "\n", "(A13) - OK\n", "$$\\frac{\\partial F_{N+2}}{\\partial \\ln p}=\\left(\\frac{\\partial \\rho}{\\partial p}\\right)''_{T,n}\\frac{p}{\\rho''_{S}}$$\n" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Density marching phase envelope construction (density)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From Gadhiraju Venkatarathnam, 2014, Density Marching Method for Calculating Phase Envelopes\n", "I&ECR (http://pubs.acs.org/doi/abs/10.1021/ie403633d)\n", "\n", "The system of equations to be solved is similar to that of the GERG 2004 formulation, here the unknowns are $\\ln(K_i)$, $\\ln(T)$, and $\\ln(\\rho')$. The vapor density $\\rho''$ is imposed\n", "\n", "(A14) - OK\n", "$$F_i = \\ln K_i+\\ln\\phi(T,\\rho'',\\mathbf{y})-\\ln \\phi(T,\\rho',\\mathbf{x})=0, i=0,1,2,3... N-1$$\n", "\n", "(A15) - OK\n", "$$F_{N} = \\sum_{i=1}^{N}\\frac{z_i(K_i-1)}{1-\\beta+\\beta K_i}=0$$\n", " \n", "(A16) - OK\n", "$$F_{N+1} = p(T,\\rho',\\mathbf{x})-p(T,\\rho'',\\mathbf{y}) = 0$$\n", "\n", "(A17) - TYPO, missing an n to multiply the terms $\\left( \\frac{\\partial \\ln \\phi_i}{\\partial n_j}\\right)_{T,p}$\n", "$$ \\frac{\\partial F_i}{\\partial \\ln K_j} = \\frac{K_jz_j}{(1-\\beta+\\beta K_j)^2}[(1-\\beta)\\phi_{ij}''+\\beta\\phi_{ij}']+\\zeta $$\n", "\n", "$\\zeta$ is the Kronecker delta or $\\zeta = 0$ for $i\\neq j$ , and $\\zeta = 0$ for $i=j$.\n", "\n", "(A18) - OK\n", "$$\\frac{\\partial F_i}{\\partial \\ln T} = T\\left[ \\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)''_{p,\\mathbf{n}} -\\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)'_{p,\\mathbf{n}}\\right]$$\n", "\n", "(A19) - OK\n", "$$\\frac{\\partial F_i}{\\partial \\ln \\rho'} = -\\rho'\\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\rho}\\right)'_{T,n}$$\n", " \n", "(A20) - OK\n", "$$\\frac{\\partial F_{N}}{\\partial \\ln K_j}=\\frac{K_jz_j}{(1-\\beta+\\beta K_j)^2}$$\n", "\n", "(A22) - TYPO Second derivative of ln(phi) with respect to rho' needs constraints, first needs to have the constraints in the right place\n", "$$ \\frac{\\partial F_{N+1}}{\\partial \\ln K_j} = \\frac{RTK_jz_j}{(1-\\beta+\\beta K_j)^2}\\left[(1-\\beta)\\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\rho}\\right)''_{T,n}+\\beta\\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\rho}\\right)'_{T,n}\\right]$$\n", "\n", "(A23) - TYPO Should be A23\n", "$$\\frac{\\partial F_{N+1}}{\\partial \\ln T}=T\\left[\\left(\\frac{\\partial p}{\\partial T}\\right)'_{\\rho',n}-\\left(\\frac{\\partial p}{\\partial T}\\right)''_{\\rho'',n} \\right]$$\n", "\n", "(A24) - TYPO Should be A24\n", "$$\\frac{\\partial F_{N+1}}{\\partial \\ln p'}=\\rho'\\left(\\frac{\\partial p}{\\partial \\rho}\\right)'_{T,n}$$\n" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Other analytic derivatives" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Three analyic derivatives are not provided in GERG and need to be rederived. The last is for T,p marching, the first two are for density marching:\n", "\n", "$$\\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\rho}\\right)_{T,n}$$\n", "\n", "$$\\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)_{\\rho,n}$$\n", "\n", "$$n\\left(\\frac{\\partial \\rho}{\\partial n_j}\\right)_{T,p}$$\n" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Derivations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\rho}\\right)_{T,n} = \\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\delta}\\right)_{\\tau,\\bar z}\\frac{d\\delta}{d\\rho} = \\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\delta}\\right)_{\\tau,\\bar z}\\frac{1}{\\rho_r}$$\n", "\n", "$$\\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)_{\\rho,n} = \\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\tau}\\right)_{\\delta,\\bar z}\\frac{d\\tau}{dT} = \\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\tau}\\right)_{\\delta,\\bar z}\\frac{-T_r}{T^2}$$\n", "\n", "The fact that derivatives are taken with $n$ constant implies that the mole fractions of the components are constant, and therefore the reducing temperatures and densities are also constant." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For $n\\left( \\frac{\\partial \\rho}{\\partial n_i}\\right)_{T,p,n_j}$\n", "-----------------------------------------------------------------\n", "\n", "GERG 2007 Monograph Equation 7.32 gives\n", "\n", "$$\\hat v_i = \\left( \\frac{\\partial V}{\\partial n_i}\\right)_{T,p,n_j} = \\dfrac{-\\left(\\dfrac{\\partial p}{\\partial n_i}\\right)_{T,V,n_j}}{\\left(\\dfrac{\\partial p}{\\partial V}\\right)_{T,n}}$$\n", "\n", "expand the left hand side with \n", "\n", "$V = vn = \\dfrac{n}{\\rho}$\n", "\n", "n held constant in derivative, so get\n", "\n", "$$\\left( \\frac{\\partial V}{\\partial n_i}\\right)_{T,p,n_j} = n\\left( \\frac{\\partial (1/\\rho)}{\\partial n_i}\\right)_{T,p,n_j} = -\\frac{n}{\\rho^2}\\left( \\frac{\\partial \\rho}{\\partial n_i}\\right)_{T,p,n_j}$$\n", "\n", "so\n", "\n", "$$ n\\left( \\frac{\\partial \\rho}{\\partial n_i}\\right)_{T,p,n_j} = -\\rho^2\\left( \\frac{\\partial V}{\\partial n_i}\\right)_{T,p,n_j} $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From Michelsen and Mollerup\n", "\n", "p. 30 Eq. III\n", "$$RT \\left(\n", "\\frac{\\partial \\ln \\phi_i}{\\partial p}\\right)_{T,\\mathbf n} = \\hat v_i -\\frac{RT}{p} = F_{P}^{(i)}$$\n", "\n", "p. 30 Eq. IV\n", "$$RT \\left(\\frac{\\partial \\ln \\phi_i}{\\partial n_i}\\right)_{T,P} = \\left(\\frac{\\partial^2 n\\alpha^r}{\\partial n_i \\partial n_j}\\right)_{T,V} + \\hat v_i\\hat v_j\\left(\\frac{\\partial p}{\\partial V}\\right)_{T,\\mathbf{n}} + \\frac{RT}{n} = F_j^{(i)}$$\n", "\n", "p. 30 Eq. VII\n", "$$RT \\left(\n", "\\frac{\\partial \\ln \\phi_i}{\\partial n_i}\\right)_{T,V} = F_{j}^{(i)}+F_{P}^{(i)}\\left(\\frac{\\partial p}{\\partial n_j}\\right)_{T,V}$$\n", "\n", "Divide through by RT and multiply through by n\n", "$$n \\left(\n", "\\frac{\\partial \\ln \\phi_i}{\\partial n_i}\\right)_{T,V} = n\\frac{F_{j}^{(i)}}{RT} + n\\frac{F_{P}^{(i)}}{RT}\\left(\\frac{\\partial p}{\\partial n_j}\\right)_{T,V}$$\n" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Derivation of derivatives of $F_i$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ F_i = \\ln\\phi(T,p,\\mathbf{y}) -\\ln\\phi(T,p,\\mathbf{x}) + \\ln K_i$$\n", "\n", "$$x_j = \\frac{z_j}{1-\\beta+\\beta K_j},\\,\\,\\, y_j = \\frac{K_jz_j}{1-\\beta+\\beta K_j}$$\n", "\n", "Derivatives needed for product rule:\n", "$$ \\frac{\\partial x_j}{\\partial K_j} = \\frac{-z_j\\beta}{(1-\\beta+\\beta K_j)^2}$$ \n", "$$ \\frac{\\partial y_j}{\\partial K_j} = \\frac{z_j(1-\\beta+\\beta K_j)-K_jz_j\\beta}{(1-\\beta+\\beta K_j)^2} = \\frac{z_j(1-\\beta)}{(1-\\beta+\\beta K_j)^2}$$\n", "$$\\frac{d \\ln K_j}{d K_j} = \\frac{1}{K_j}$$\n", "\n", "Derivative of the residual function\n", "$$\\left. \\frac{\\partial F_i}{\\partial K_j}\\right|_{T,p} = \\frac{\\partial \\ln\\phi_i''}{\\partial y_j}\\frac{d y_j}{d K_j}\\frac{d K_j}{d \\ln K_j} - \\frac{\\partial \\ln\\phi_i'}{\\partial x_j}\\frac{d x_j}{d K_j}\\frac{d K_j}{d \\ln K_j} + D_{ij} $$\n", "\n", "$$\\left. \\frac{\\partial F_i}{\\partial K_j}\\right|_{T,p} = \\left.\\frac{\\partial \\ln\\phi_i''}{\\partial y_j}\\right|_{T,p}\\frac{z_j(1-\\beta)}{(1-\\beta+\\beta K_j)^2}K_j - \\left.\\frac{\\partial \\ln\\phi_i'}{\\partial x_j}\\right|_{T,p}\\frac{-z_j\\beta}{(1-\\beta+\\beta K_j)^2}K_j + D_{ij} $$\n", "\n", "Grouping terms like GERG\n", "\n", "$$\\left. \\frac{\\partial F_i}{\\partial K_j}\\right|_{T,p} = \\frac{K_jz_j}{(1-\\beta+\\beta K_j)^2}\\left[(1-\\beta)\\left.\\frac{\\partial \\ln\\phi_i''}{\\partial y_j}\\right|_{T,p} + \\beta\\left.\\frac{\\partial \\ln\\phi_i'}{\\partial x_j}\\right|_{T,p}\\right] + D_{ij} $$\n", "\n", "Magic key:\n", "\n", "$$x_j = \\frac{n_j}{n}$$\n", "therefore\n", "$$\\frac{dx_j}{dn_j} = \\frac{1}{n}$$\n", "and thus multiply $\\left.\\frac{\\partial \\ln\\phi_i}{\\partial x_j}\\right|_{T,p}$ by unity ($n\\frac{dx_j}{dn_j}$) to get\n", "$$ \\left.\\frac{\\partial \\ln\\phi_i}{\\partial x_j}\\right|_{T,p} = n\\left.\\frac{\\partial \\ln\\phi_i}{\\partial n_j}\\right|_{T,p}$$" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Appendix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "GERG 2004 monograph Eqn. 7.36\n", "$$\\left( \\frac{\\partial \\ln\\left(f_i/n_i\\right)}{\\partial T}\\right)_{V,\\bar n} = \\frac{1}{T}+\\left(\\frac{\\partial^2n\\alpha_r}{\\partial T \\partial n_i}\\right)_{V,n_j}$$\n", "\n", "Since derivatives are taken with $\\rho$ and $n$ held constant, that also implies that $V$ is held constant in the derivative.\n", "\n", "$$\\frac{\\partial \\left[\\ln\\left(\\frac{p}{n}\\right)\\right]}{\\partial T} = \\frac{1}{pn}\\left(\\frac{\\partial p}{\\partial T}\\right)_{\\rho,n}$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Equivalent fugacities for the $i$-th component\n", "\n", "$$ F_k^A = \\ln f_i(T,p,\\mathbf{x})-\\ln f_i(T,p,\\mathbf{y}) = 0\\mbox{ for } k = i = 1...N $$\n", "\n", "Material balance\n", "\n", "$$ F_k^B = \\frac{z_i-x_i}{y_i-x_i}-\\frac{z_{N-1}-x_{N-1}}{y_{N-1}-x_{N-1}}\\mbox{ for }i=1..N-2; k = i+N; k = N+1..2N-2$$\n", "\n", "The independent variables to be obtained are\n", "\n", "$$ \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For $\\left(\\frac{\\partial \\ln \\phi_i}{\\partial \\rho}\\right)_{T,n}$ and $\\left(\\frac{\\partial \\ln \\phi_i}{\\partial T}\\right)_{\\rho,n}$\n", "--------------------------------------------------------------------------------------------------------------------------------------------\n", "Lemmon 2009 (propane) FOR PURE FLUID ONLY (I think)\n", "$$\\ln \\phi = Z-1-\\ln Z +\\alpha^r $$\n", "\n", "GERG 2007 Monograph 7.27\n", "$$\\ln \\phi_i = \\left(\\frac{\\partial n \\alpha^r}{\\partial n_i} \\right)_{T,V,n_j} - \\ln Z $$\n", "\n", "GERG 2007 Monograph 7.34\n", "$$\\ln \\left(\\frac{f_i}{n_i}\\right) = \\ln\\left(\\frac{RT}{V}\\right)+\\left(\\frac{\\partial n\\alpha^r}{\\partial n_i} \\right)_{T,V,n_j}$$\n", "\n", " thus equating factors of $\\left(\\frac{\\partial n \\alpha^r}{\\partial n_i} \\right)_{T,V,n_j}$ yields\n", "$$\\ln \\phi_i = \\ln \\left(\\frac{f_i}{n_i}\\right) - \\ln\\left(\\frac{RT}{V}\\right) - \\ln \\left(Z\\right) $$\n", "\n", "and $Z = (pV)/(nRT)$,\n", "\n", "$$\\ln \\phi_i = \\ln \\left(\\frac{f_i}{n_i}\\right) - \\ln\\left(\\frac{RT}{V}\\right) - \\ln \\left(\\frac{pV}{nRT}\\right)$$\n", "\n", "$$\\ln \\phi_i = \\ln \\left(\\frac{f_i}{n_i}\\right) -\\ln\\left(\\frac{p}{n}\\right)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$K_i = \\frac{\\ln\\phi'}{\\ln\\phi''}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\beta = \\frac{n''}{n} = \\frac{n''}{n'+n''} $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$K_i = y_i/x_i$$\n", "\n", "$$ K_i = \\frac{n_i''/n''}{n_i'/n'} $$\n", "\n", "$$ n_i' = \\frac{n'}{K_i}\\frac{n_i''}{n''} = \\frac{n(1-\\beta)}{K_i}\\frac{n_i''}{n\\beta}$$" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Conversion of derivatives" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To convert partial with $T$, $V$, $x_k$ held constant to one with $\\tau$, $\\delta$, $x_k$ held constant, use Gernert 3.118, or\n", "\n", "$$ \\frac{\\partial}{\\partial x_j} [Y]_{T,V,x_k} = \\frac{\\partial}{\\partial x_j} [Y]_{\\tau,\\delta,x_k}+\\left(\\frac{\\partial\\delta}{\\partial x_j}\\right)_{T,V,x_k}\\left.\\frac{\\partial Y}{\\partial\\delta}\\right|_{\\tau,\\bar x}+\\left(\\frac{\\partial\\tau}{\\partial x_j}\\right)_{T,V,x_k}\\left.\\frac{\\partial Y}{\\partial\\tau}\\right|_{\\delta,\\bar x} $$\n", "\n", "To convert pressure,\n", "\n", "$$ p=\\rho R T(1+\\delta \\alpha_\\delta) $$\n", "\n", "convert $\\rho$ and $T$ to reduced variables\n", "\n", "$$ p=\\rho_r(\\bar x)\\delta R \\frac{T_r(\\bar x)}{\\tau}(1+\\delta \\alpha_\\delta) = \\rho_r(\\bar x)R \\frac{T_r(\\bar x)}{\\tau}\\delta (1+\\delta \\alpha_\\delta)$$\n", "\n", "All the derivatives\n", "\n", "$$ \\frac{dp}{d\\tau}\\times\\frac{d\\tau}{dx_j} = -\\rho_r(\\bar x)\\delta R \\frac{T_r(\\bar x)}{\\tau^2}(1+\\delta \\alpha_\\delta) \\times \\frac{1}{T}\\frac{\\partial T_r}{\\partial x_j}|_{T,V,x_k}$$\n", "\n", "$$ \\frac{dp}{d\\delta}\\times\\frac{d\\delta}{dx_j} = \\rho_r(\\bar x) R \\frac{T_r(\\bar x)}{\\tau}[ (1+\\delta \\alpha_\\delta)+ \\delta(\\alpha_\\delta+\\delta \\alpha_{\\delta\\delta})] \\times \\frac{-\\delta}{\\rho_r}\\frac{\\partial \\rho_r}{\\partial x_j}|_{T,V,x_k}$$\n", "\n", "$$ \\frac{\\partial p}{\\partial x_j}|_{\\tau,\\delta,x_k} = \\frac{\\delta R}{\\tau}\\left[\\rho_r(\\bar x)T_r(\\bar x)(\\delta \\frac{\\partial}{\\partial x_j}[\\alpha_\\delta]_{\\tau, \\delta, x_k})+(1+\\delta \\alpha_\\delta)\\left(\\rho_r \\frac{\\partial T_r}{\\partial x_j}+T_r \\frac{\\partial \\rho_r}{\\partial x_j}\\right)\\right]$$\n", "\n", "with $\\delta$ factored out" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Turn back into normal variables\n", "$$ \\frac{dp}{d\\tau}\\times\\frac{d\\tau}{dx_j} = -\\frac{\\rho R}{\\tau}(1+\\delta \\alpha_\\delta)\\frac{\\partial T_r}{\\partial x_j}|_{T,V,x_k}$$\n", "\n", "$$ \\frac{dp}{d\\delta}\\times\\frac{d\\delta}{dx_j} = - R T[ (1+\\delta \\alpha_\\delta)+ \\delta(\\alpha_\\delta+\\delta \\alpha_{\\delta\\delta})]\\delta\\frac{\\partial \\rho_r}{\\partial x_j}|_{T,V,x_k}$$\n", "\n", "$$ \\frac{\\partial p}{\\partial x_j}|_{\\tau,\\delta,x_k} = R\\left[\\rho T (\\delta \\frac{\\partial}{\\partial x_j}[\\alpha_\\delta]_{\\tau, \\delta, x_k})+(1+\\delta \\alpha_\\delta)\\left(\\frac{\\rho}{\\tau} \\frac{\\partial T_r}{\\partial x_j}+\\delta T \\frac{\\partial \\rho_r}{\\partial x_j}\\right)\\right]$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First term cancels with a term in the third one, yielding\n", "\n", "$$ \\frac{dp}{d\\delta}\\times\\frac{d\\delta}{dx_j} = -\\delta R T[ (1+\\delta \\alpha_\\delta)+ \\delta(\\alpha_\\delta+\\delta \\alpha_{\\delta\\delta})]\\frac{\\partial \\rho_r}{\\partial x_j}|_{T,V,x_k}$$\n", "\n", "$$ \\frac{\\partial p}{\\partial x_j}|_{\\tau,\\delta,x_k} = \\rho R T (\\delta \\frac{\\partial}{\\partial x_j}[\\alpha_\\delta]_{\\tau, \\delta, x_k})+(1+\\delta \\alpha_\\delta)\\delta R T \\frac{\\partial \\rho_r}{\\partial x_j}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First term in first line cancels with term at end of second line, yielding\n", "\n", "$$ \\frac{dp}{d\\delta}\\times\\frac{d\\delta}{dx_j} = -\\delta R T[ \\delta(\\alpha_\\delta+\\delta \\alpha_{\\delta\\delta})]\\frac{\\partial \\rho_r}{\\partial x_j}|_{T,V,x_k}$$\n", "\n", "$$ \\frac{\\partial p}{\\partial x_j}|_{\\tau,\\delta,x_k} = \\rho R T (\\delta \\frac{\\partial}{\\partial x_j}[\\alpha_\\delta]_{\\tau, \\delta, x_k})$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Total equation is\n", "\n", "$$ \\frac{\\partial p}{\\partial x_j}|_{T,V,x_k} = \\rho R T \\left(\\delta \\frac{\\partial}{\\partial x_j}[\\alpha_\\delta]_{\\tau, \\delta, x_k}-\\frac{\\delta}{\\rho_r}(\\alpha_\\delta+\\delta \\alpha_{\\delta\\delta})\\frac{\\partial \\rho_r}{\\partial x_j}|_{T,V,x_k}\\right)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ p=\\rho R T(1+\\delta \\alpha_\\delta) $$\n", "\n", "$$ p=\\rho R T(1+\\frac{\\rho}{\\rho_r} \\alpha_\\delta) $$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import CoolProp.CoolProp as CP\n", "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\frac{\\partial p}{\\partial x_j}|_{T,V,x_k} = \\rho R T \\left(\\rho\\frac{-1}{\\rho_r^2}\\left(\\frac{\\partial \\rho_r}{\\partial x_j}\\right)_{x_{k\\neq j}}\\alpha_\\delta + \\frac{\\rho}{\\rho_r}\\left(\\frac{\\partial}{\\partial x_j}\\left(\\frac{\\partial \\alpha_r}{\\partial \\delta}_{\\tau,\\bar x}\\right)\\right)_{T,V,x_{k\\neq j}}\\right)$$\n", "\n", "$$ \\frac{\\partial p}{\\partial x_j}|_{T,V,x_k} = \\delta\\rho R T \\left(\\frac{-1}{\\rho_r}\\left(\\frac{\\partial \\rho_r}{\\partial x_j}\\right)_{x_{k\\neq j}}\\alpha_\\delta + \\left(\\frac{\\partial}{\\partial x_j}\\left(\\frac{\\partial \\alpha_r}{\\partial \\delta}_{\\tau,\\bar x}\\right)\\right)_{T,V,x_{k\\neq j}}\\right)$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "p = np.linspace(1000, 12000, 100)\n", "mix = 'REFPROP-MIX:Water[0.7]&Ethanol[0.3]'\n", "rhoL = CP.Props('D','P',p,'Q',0,mix)\n", "rhoV = CP.Props('D','P',p,'Q',1,mix)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(rhoL,p,rhoV,p)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "[,\n", " ]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "K_i=\\frac{y_i}{x_i}" ] } ], "metadata": {} } ] }