{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 231 蒸気圧縮冷凍サイクル\n", "\n", "## 読み込み" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "import CoolProp.CoolProp as CP\n", "\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "import warnings\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## パラメータ定義" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "WF = 'Ammonia'\n", "\n", "K = 273.16 # converter from degC to K\n", "T_C = -30 +K #freezer air temperature deg C\n", "DT_evap = 5 # evaporator approach temperature difference K\n", "DT_sh = 4 # degree of supergeat K\n", "T_H = 30 +K# Outdoor air temperature degC\n", "DT_cond = 10 # condenser approach temperature difference K\n", "DT_sc = 4 # degree of subcooling K\n", "ETA_c = 0.78 # compressor efficiency\n", "V_dot_disp = 16.52*1e-3 # compressor displacement m^3/sec\n", "ETA_vol = 0.75 # compressor volumetric efficiency" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## データフレーム用意\n", "\n", "### Nomenclature\n", "\n", "| Symbol | Description | Unit |\n", "| :--- | :---: | ---: |\n", "| $T$ | Temperature | $K$ |\n", "| $P$ | Pressure | $Pa$ |\n", "| $s$ | Specific entropy | $J/kg-K$ |\n", "| $v$ | Specific volume | $m^3/kg$ |\n", "| $h$ | Specific enthalpy | $J/kg$ |\n", "| $h_s$ | Specific enthalpy leaving reversible process | $J/kg$ |" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "states = pd.DataFrame(columns=['T', 'P', 's', 'v', 'h', 'h_s'], index=list(range(1,4+1)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## State 4\n", "\n", "\\begin{align}\n", "T_4 = T_H + \\Delta T_{cond} \\\\\n", "T_{cond} = T_4 + \\Delta T_{sc}\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "states.loc[4, 'T'] = T_H + DT_cond\n", "T_cond = states.loc[4, 'T'] + DT_sc\n", "states.loc[4, 'P'] = CP.PropsSI('P', 'T', T_cond, 'Q', 0, WF)\n", "states.loc[4, 's'] = CP.PropsSI('S', 'T', states.loc[4, 'T'], 'P', states.loc[4, 'P'], WF)\n", "states.loc[4, 'h'] = CP.PropsSI('H', 'T', states.loc[4, 'T'], 'P', states.loc[4, 'P'], WF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## State 2\n", "\n", "\\begin{align}\n", "T_2 = T_C - \\Delta T_{evap} \\\\\n", "T_{evap} = T_2 - \\Delta T_{sh}\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "states.loc[2, 'T'] = T_C - DT_evap\n", "T_evap = states.loc[2, 'T'] - DT_sh\n", "states.loc[2, 'P'] = CP.PropsSI('P', 'T', T_evap, 'Q', 1, WF)\n", "states.loc[2, 's'] = CP.PropsSI('S', 'T', states.loc[2, 'T'], 'P', states.loc[2, 'P'], WF)\n", "states.loc[2, 'h'] = CP.PropsSI('H', 'T', states.loc[2, 'T'], 'P', states.loc[2, 'P'], WF)\n", "states.loc[2, 'v'] = 1/CP.PropsSI('D', 'T', states.loc[2, 'T'], 'P', states.loc[2, 'P'], WF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## State 3\n", "\n", "\\begin{align}\n", "\\frac{\\dot{W}_{s,c}}{\\dot{m}} = h_{s,3} - h_2 \\\\\n", "\\frac{\\dot{W}_c}{\\dot{m}} = \\frac{1}{\\eta_c}\\frac{\\dot{W}_{s,c}}{\\dot{m}} \\\\\n", "h_3 = h_2 + \\frac{\\dot{W}_c}{\\dot{m}}\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "states.loc[3, 'P'] = states.loc[4, 'P']\n", "states.loc[3, 'h_s'] = CP.PropsSI('H', 'P', states.loc[3, 'P'], 'S', states.loc[2, 's'], WF)\n", "W_dot_s_c_m_dot = states.loc[3, 'h_s'] - states.loc[2, 'h']\n", "W_dot_c_m_dot = W_dot_s_c_m_dot/ETA_c\n", "states.loc[3, 'h'] = states.loc[2, 'h'] + W_dot_c_m_dot\n", "states.loc[3, 's'] = CP.PropsSI('S', 'P', states.loc[3, 'P'], 'H', states.loc[3, 'h'], WF)\n", "states.loc[3, 'T'] = CP.PropsSI('T', 'P', states.loc[3, 'P'], 'H', states.loc[3, 'h'], WF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## State 1\n", "\n", "\\begin{align}\n", "P_1 = P_2 \\\\\n", "h_1 = h_4\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "states.loc[1, 'P'] = states.loc[2, 'P']\n", "states.loc[1, 'h'] = states.loc[4, 'h']\n", "states.loc[1, 's'] = CP.PropsSI('S', 'P', states.loc[1, 'P'], 'H', states.loc[1, 'h'], WF)\n", "states.loc[1, 'T'] = CP.PropsSI('T', 'P', states.loc[1, 'P'], 'H', states.loc[1, 'h'], WF)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TPsvhh_s
1234.1675654.72345.06NaN533872NaN
2238.1675654.76733.311.505041.5615e+06NaN
3537.5161.7358e+067021.6NaN2.22854e+062.08179e+06
4313.161.7358e+062115.4NaN533872NaN
\n", "
" ], "text/plain": [ " T P s v h h_s\n", "1 234.16 75654.7 2345.06 NaN 533872 NaN\n", "2 238.16 75654.7 6733.31 1.50504 1.5615e+06 NaN\n", "3 537.516 1.7358e+06 7021.6 NaN 2.22854e+06 2.08179e+06\n", "4 313.16 1.7358e+06 2115.4 NaN 533872 NaN" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "states" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 飽和蒸気曲線の作成" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "P_list = list(range(int(7*1e+3), int(11.3*1e+6), int(1e+3)))\n", "saturation_curve = {}\n", "saturation_curve['Ts'] = {'s':[], 'T':[]}\n", "for P in P_list:\n", " saturation_curve['Ts']['T'].append(CP.PropsSI('T', 'P', P, 'Q', 0, WF))\n", " saturation_curve['Ts']['s'].append(CP.PropsSI('S', 'P', P, 'Q', 0, WF))\n", "for P in P_list[::-1]:\n", " saturation_curve['Ts']['T'].append(CP.PropsSI('T', 'P', P, 'Q', 1, WF))\n", " saturation_curve['Ts']['s'].append(CP.PropsSI('S', 'P', P, 'Q', 1, WF))\n", " \n", "saturation_curve['ph'] = {'p':[], 'h':[]}\n", "T_list = list(range(196, 405))\n", "for T in T_list:\n", " saturation_curve['ph']['p'].append(CP.PropsSI('P', 'T', T, 'Q', 0, WF))\n", " saturation_curve['ph']['h'].append(CP.PropsSI('H', 'T', T, 'Q', 0, WF)/1e6)\n", "for T in T_list[::-1]:\n", " saturation_curve['ph']['p'].append(CP.PropsSI('P', 'T', T, 'Q', 1, WF))\n", " saturation_curve['ph']['h'].append(CP.PropsSI('H', 'T', T, 'Q', 1, WF)/1e6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Chart\n", "### T-s" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "s_max = 8000\n", "s_list = range(0, s_max)\n", "plt.plot(s_list, [T_H]*s_max, label='$T_H$', color='red')\n", "plt.plot(s_list, [T_C]*s_max, label='$T_C$', color='blue')\n", "plt.plot(saturation_curve['Ts']['s'], saturation_curve['Ts']['T'], color='gray')\n", "\n", "nb_points = 1000\n", "s12 = np.linspace(states.loc[1, 's'], states.loc[2, 's'], nb_points)\n", "s23 = np.linspace(states.loc[2, 's'], states.loc[3, 's'], nb_points)\n", "s34 = np.linspace(states.loc[3, 's'], states.loc[4, 's'], nb_points)\n", "s41 = np.linspace(states.loc[4, 's'], states.loc[1, 's'], nb_points)\n", "\n", "T12 = np.linspace(states.loc[1, 'T'], states.loc[2, 'T'], nb_points)\n", "T23 = np.linspace(states.loc[2, 'T'], states.loc[3, 'T'], nb_points)\n", "T34 = []\n", "for s in s34:\n", " T34.append(CP.PropsSI('T', 'S', s, 'P', states.loc[3, 'P'], WF))\n", "T41 = np.linspace(states.loc[4, 'T'], states.loc[1, 'T'], nb_points)\n", "\n", "L_T = [T12, T23, T34, T41]\n", "L_s = [s12, s23, s34, s41]\n", "\n", "for i in range(len(L_s)):\n", " plt.plot(L_s[i],L_T[i],label='{}$\\\\to${}'.format(i+1,(i+1)%5+1))\n", "\n", "plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)\n", "plt.xlabel('Specific entropy $s$ J/kg-K')\n", "plt.ylabel('Temperature $T$ K')\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### P-h" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(saturation_curve['ph']['h'], saturation_curve['ph']['p'], color='gray')\n", "\n", "nb_points = 1000\n", "h12 = np.linspace(states.loc[1, 'h'], states.loc[2, 'h'], nb_points)\n", "h23 = np.linspace(states.loc[2, 'h'], states.loc[3, 'h'], nb_points)\n", "h34 = np.linspace(states.loc[3, 'h'], states.loc[4, 'h'], nb_points)\n", "h41 = np.linspace(states.loc[4, 'h'], states.loc[1, 'h'], nb_points)\n", "\n", "P12 = np.linspace(states.loc[1, 'P'], states.loc[2, 'P'], nb_points)\n", "P23 = np.linspace(states.loc[2, 'P'], states.loc[3, 'P'], nb_points)\n", "P34 = np.linspace(states.loc[3, 'P'], states.loc[4, 'P'], nb_points)\n", "P41 = np.linspace(states.loc[4, 'P'], states.loc[1, 'P'], nb_points)\n", "\n", "L_h = [h12, h23, h34, h41]\n", "L_P = [P12, P23, P34, P41]\n", "\n", "for i in range(len(L_h)):\n", " plt.plot(L_h[i]/1e6, L_P[i],label='{}$\\\\to${}'.format(i+1,(i+1)%5+1))\n", "\n", "plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)\n", "plt.xlabel(\"Specific enthalpy $h$ J/kg x$10^6$\")\n", "plt.ylabel('Pressire $P$ Pa')\n", "plt.yscale(\"log\")\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Perfoemance of regrigeration cycle\n", "\\begin{align}\n", "\\dot{m} = \\frac{\\dot{V}_{disp}\\eta_{vol}}{v_2} \\\\\n", "\\dot{W}_c = \\dot{m}(h_3-h_2) \\\\\n", "\\dot{Q}_{evap} = \\dot{m}(h_2-h_1) \\\\\n", "\\dot{Q}_{cond} = \\dot{m}(h_3-h_4) \\\\\n", "COP = \\frac{\\dot{Q}_{evap}}{\\dot{W}_c}\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.00823235241270052" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "5491.324347983485" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "8459.801237460124" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "13951.12558544361" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1.540575770317905" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "m_dot = V_dot_disp*ETA_vol/states.loc[2, 'v']\n", "W_dot_c = m_dot*(states.loc[3, 'h'] - states.loc[2, 'h'])\n", "Q_dot_evap = m_dot*(states.loc[2, 'h']-states.loc[1, 'h'])\n", "Q_dot_cond = m_dot*(states.loc[3, 'h'] -states.loc[4, 'h'])\n", "COP = Q_dot_evap/W_dot_c\n", "\n", "display(m_dot, W_dot_c, Q_dot_evap, Q_dot_cond, COP)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Freezer design\n", "\n", "\\begin{align}\n", "{COST}_c = 92\\times 10^5 [JPY-s/m^3] \\dot{V}_{disp} \\\\\n", "{COST}_{cond} = 1.5\\times 10^2 [JPY-K/W] UA_{cond} \\\\\n", "{COST}_{evap} = 1.25\\times 10^2 [JPY-K/W] UA_{evap} \\\\\n", "UA_{cond} = \\frac{\\dot{Q}_{cond}}{(T_{cond}-T_H)} \\\\\n", "UA_{evap} = \\frac{\\dot{Q}_{evap}}{(T_C-T_{evap})}\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "COST_c = 92e5*V_dot_disp\n", "UA_cond = Q_dot_cond/(T_cond - T_H)\n", "UA_evap = Q_dot_evap/(T_C - T_evap)\n", "COST_cond = 1.5e2*UA_cond\n", "COST_evap = 1.25e2*UA_evap\n", "COST_system = COST_c + COST_cond + COST_evap" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{equation}\n", "COST_{operating} = ec\\dot{W}_{c} time\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "ec = 10 # JPY/kWh\n", "time = 5 *8760 #year\n", "COST_operating = ec*W_dot_c/1000 *time" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2824157.649384259" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "418957.58496749273" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "2405200.064416766" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "COST_total = COST_system+COST_operating\n", "display(COST_total, COST_system, COST_operating)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }