{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 221 ランキンサイクル\n", "\n", "Example: Non-ideal Rankine cycle" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 読み込み" ] }, { "cell_type": "code", "execution_count": 3, "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": 4, "metadata": {}, "outputs": [], "source": [ "WF = 'water'\n", "\n", "T_H = 800 # K\n", "T_C = 325 # K\n", "P_b = 2.64 *10**6 # Pa\n", "ETA_turbine = 0.85\n", "ETA_pump = 0.65\n", "DT_cond = 7 # K\n", "DT_b = 35# K\n", "DP_cond = 4.5 *10**3 # Pa\n", "DP_b = 792 *10**3 # Pa" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### データフレーム用意" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "index = list(range(1,4+1))\n", "states = pd.DataFrame(columns=['T', 'P', 's', 'v', 'h', 'x', 's_s', 'h_s'], index=index)#K, Pa, J/kg/K, m3, J/kg, [-], [], []" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Point 2: Boiler exit/Turbine inlet" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "states.loc[2, 'P'] = P_b - DP_b\n", "states.loc[2, 'T'] = T_H - DT_b\n", "states.loc[2, 'h'] = CP.PropsSI('H', 'P', states.loc[2, 'P'], 'T', states.loc[2, 'T'], WF)\n", "states.loc[2, 's'] = CP.PropsSI('S', 'P', states.loc[2, 'P'], 'T', states.loc[2, 'T'], WF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Point 4: Condenser exit/Pump inlet" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "states.loc[4, 'x'] = 0\n", "states.loc[4, 'T'] = T_C + DT_cond\n", "states.loc[4, 's'] = CP.PropsSI('S', 'Q', states.loc[4, 'x'], 'T', states.loc[4, 'T'], WF)\n", "states.loc[4, 'h'] = CP.PropsSI('H', 'Q', states.loc[4, 'x'], 'T', states.loc[4, 'T'], WF)\n", "states.loc[4, 'P'] = CP.PropsSI('P', 'Q', states.loc[4, 'x'], 'T', states.loc[4, 'T'], WF)\n", "states.loc[4, 'v'] = CP.PropsSI('V', 'Q', states.loc[4, 'x'], 'T', states.loc[4, 'T'], WF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Point 1: Pump exit/Boiler inlet" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "states.loc[1, 'P'] = P_b\n", "states.loc[1, 's_s'] = states.loc[4, 's']\n", "states.loc[1, 'h_s'] = CP.PropsSI('H', 'S', states.loc[1, 's_s'], 'P', states.loc[1, 'P'], WF)\n", "W_dot_s_p_m_dot = states.loc[1, 'h_s'] - states.loc[4, 'h']\n", "W_dot_p_m_dot = W_dot_s_p_m_dot / ETA_pump\n", "states.loc[1, 'h'] = states.loc[4, 'h'] + W_dot_p_m_dot\n", "states.loc[1, 's'] = CP.PropsSI('S', 'H', states.loc[1, 'h'], 'P', states.loc[1, 'P'], WF)\n", "states.loc[1, 'T'] = CP.PropsSI('T', 'H', states.loc[1, 'h'], 'P', states.loc[1, 'P'], WF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Point 3: Turbine exit/Condenser inlet" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "states.loc[3, 'P'] = states.loc[4, 'P'] + DP_cond\n", "states.loc[3, 's_s'] = states.loc[2, 's']\n", "states.loc[3, 'h_s'] = CP.PropsSI('H', 'S', states.loc[3, 's_s'], 'P', states.loc[3, 'P'], WF)\n", "W_dot_s_t_m_dot = states.loc[2, 'h'] - states.loc[3, 'h_s']\n", "W_dot_t_m_dot = W_dot_s_t_m_dot * ETA_turbine\n", "states.loc[3, 'h'] = states.loc[2, 'h'] - W_dot_t_m_dot\n", "states.loc[3, 's'] = CP.PropsSI('S', 'H', states.loc[3, 'h'], 'P', states.loc[3, 'P'], WF)\n", "states.loc[3, 'T'] = CP.PropsSI('T', 'H', states.loc[3, 'h'], 'P', states.loc[3, 'P'], WF)\n", "states.loc[3, 'x'] = CP.PropsSI('Q', 'H', states.loc[3, 'h'], 'P', states.loc[3, 'P'], WF)" ] }, { "cell_type": "code", "execution_count": 10, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TPsvhxs_sh_s
1332.4522.64e+06821.138NaN250464NaN816.823249030
27651.848e+067448.51NaN3.45198e+06NaNNaNNaN
3341.6723408.67881.91NaN2.62477e+06-17448.512.47879e+06
433218908.6816.8230.0004742392463670NaNNaN
\n", "
" ], "text/plain": [ " T P s v h x s_s \\\n", "1 332.452 2.64e+06 821.138 NaN 250464 NaN 816.823 \n", "2 765 1.848e+06 7448.51 NaN 3.45198e+06 NaN NaN \n", "3 341.67 23408.6 7881.91 NaN 2.62477e+06 -1 7448.51 \n", "4 332 18908.6 816.823 0.000474239 246367 0 NaN \n", "\n", " h_s \n", "1 249030 \n", "2 NaN \n", "3 2.47879e+06 \n", "4 NaN " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(states)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Component energy balances" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3201517.4577735155 2378404.3311674045 0.0\n" ] } ], "source": [ "Q_dot_b_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", "check_1 = W_dot_t_m_dot + Q_dot_cond_m_dot \\\n", " - W_dot_p_m_dot - Q_dot_b_m_dot\n", "print(Q_dot_b_m_dot, Q_dot_cond_m_dot, check_1)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "823113.1266061105 0.25710093337380757 0.004952554476169804 3.889523024586094\n" ] } ], "source": [ "W_dot_net_m_dot = W_dot_t_m_dot - W_dot_p_m_dot\n", "ETA_Rankine = W_dot_net_m_dot / Q_dot_b_m_dot\n", "bwr = W_dot_p_m_dot / W_dot_t_m_dot\n", "heat_rate_BtuoKWhr = Q_dot_b_m_dot / W_dot_net_m_dot\n", "print(W_dot_net_m_dot, ETA_Rankine, bwr, heat_rate_BtuoKWhr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## h-s chart" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdMAAAEOCAYAAADSXv1cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xd4VGXax/Hvk0ogEEog9F5CSEE6CggoIAgiUsSCgBT7uva1rnXtuq6r6yYBQSxUqRZEloigKKCk02uAQEIgvU3mfv+YsC+LlJlkJpNyf64rVzIzZ875GUPunHOe536MiKCUUkqpsvNwdwCllFKqqtNiqpRSSpWTFlOllFKqnLSYKqWUUuWkxVQppZQqJy2mSimlVDlpMVVKKaXKSYupUkopVU5aTJVSSqly8nJ3AGcJDAyUtm3bumTfubm51KlTxyX7djbN6hqa1XWqUt7qmHX79u3pItK4PMfavn17Ey8vr2gglOp5kmYFEiwWy8yePXuevNAG1aaYtm3blm3btrlk3zExMQwePNgl+3Y2zeoamtV1qlLe6pjVGHOovMfy8vKKbtq0adfGjRuf9vDwqHY9aq1Wq0lLSwtJTU2NBm640DbV8S8IpZRSFSu0cePGWdWxkAJ4eHhI48aNM7GdeV94mwrMo5RSqnryqK6F9KzS/76L1swKL6bGmFrGmF+NMbHGmERjzAsX2GaaMSbNGLOj9GNmRedUSiml7OWOe6aFwFARyTHGeAObjDHfiMiW87ZbJCL3uyGfUkop5ZAKL6ZiW0A1p/Shd+lHtb48oJRSqnpzy2heY4wnsB3oCHwgIr9cYLPxxphBwG7gIRE5coH9zAZmAwQFBRETE+OSvDk5OS7bt7NpVtfQrK5TlfJq1spt4sSJbdevXx/QqFEjy549exLtec/evXu9b7vttnZpaWneHh4eTJ06Ne3ZZ5+94PSXS3FLMRWREqC7MaY+sNwYEyoiCedsshr4QkQKjTF3A/OBoRfYTyQQCdCrVy9x1ZD16jgcvjLQrK5RlbJC1cqrWSu3O++8M/3BBx88OX369Hb2vsfb25u33347ZcCAAXmnT5/2uOKKK0JGjRqV1bNnzwJHju3W0bwicgaIAa477/lTIlJY+jAK6FnB0ZRSyiXEWsLWJW8Rt3a+u6NUOyNHjsxp3Lix5XLb/fLLL347d+70AWjTpk3xgAED8gAaNGhg7dChQ/7hw4d9HD12hZ+ZGmMaA8UicsYY4wdcC7x+3jbNROR46cMbgOQKjqmUUk6Xll3Ik1/G8ad9n1LfzwtGTHV3JKd7bGlsq92p2bWduc/OTevmvTkh4g+3+soqNzfXY8qUKe1WrVq1Nzg4uOjs87t27fJJSkqqffXVV+dc6v0X4o7LvM2A+aX3TT2AxSKyxhjzIrBNRFYBfzLG3ABYgAxgmhtyKqWU03ybkMpTy+PJKbQwI2Qi4bvfgJPJ0KSru6NVax9++GHDd999t9n5z6elpXlPnDixQ3x8fDJAZmamx0033dThtddeO9KwYUOro8dxx2jeOOCKCzz/3DlfPwk8WZG5lFLKFbIKinlhVRLLfkshtEU93p3UnU51esE770DsQhj2h6n2VZozzyCd4d5778249957M859bs+ePT5jxozp+Pbbbx8GKCwsNNdff32HiRMnZkydOvVMWY5TbXrzKqVUZfPzvlM8uiSW45n5PDC0Iw8M7YSPlwdQFzpeC3GL4ZrnwMPT3VFrlISEhFrvv//+oWHDhuVarVYmT57cpnPnzgXPP//8ibLuU9sJKqWUkxUUl/DymiRujd6Ct6dh6T1X8sjwLqWFtFTEZMg+Bgc2ui9oNTNmzJh2AwYMCD5w4IBvUFBQ+Lvvvht4oe3GjRuXNWzYsFyAdevW+a9YsaLRpk2b6gYHB4cEBweHLFq0KMDRY+uZqVJKOVHC0UweXryD3SdyuL1fa54a1ZXaPhf4Vdt5JPgGQNwi6DCk4oNWQ6tXrz7g6HtGjBiRIyLby3tsPTNVSiknsJRY+WDDXsZ9uJkzecXMm96bl28Mu3AhBfCuBd1uhKRVUOjw4FFVyWgxVUqpcjqYnsukf//Mm2t3MbxbU9b+eRCDuzS5/BsjboHiXNi5xvUhlUvpZV6llCojEeHzXw/zylfJeHkY3pvcnRsimmOMsW8HrftB/TYQ+4XtHqqqsrSYKqVUGZzMKuCJZXFs2JXGgI6BvDkxnGYBfo7txBjb2ekPr0PWMajX3DVhlcvpZV6llHLQN/HHGfH3jfy07xTPjwnhkzv7OF5IzwqfBIhtmoyqsvTMVCml7JRbLDy8aAdf/n6U8JYBvDOpOx2b+Jdvp406QKu+tgYOVz1oO1tVVY4WU6WUssNPe9N5dnM+mUX5PHhNJ+4f2hFvTydd3IuYDGsegtQ4aBbhnH2qCqWXeZVS6hIKikt4cXUSt0b/go8HLLvnSh4a1tl5hRSg2zjw9LGdnaoqSYupUkpdRMLRTEa/v4m5mw8wtX8bXrjKj+6t6jv/QH4NoPN1EL8ESi67gpi6gL1793r37du3c/v27bt17Nix20svvWTH3CTIy8szYWFhXbt06RLSsWPHbg899FCZRoFpMVVKqfNYSqy8v34PN36wmZwCC5/c2YcXxobi6+nC+5kRt0BuGuz7j+uOUY2dXeR7//79iVu3bk2eM2dOk+3bt9e63Ptq1aolmzZt2rVr166kxMTEpPXr19dbv359HUePr8VUKaXOsT8thwkf/czb63YzKqwZa/88iEGdG7v+wB2vhdqNbHNOlcMcWeT73MXBPTw8CAgIsAIUFRUZi8Vi7J4nfA4dgKSUUtgaMHz6y2H+9lUyPl4evH/LFYyJqMB5n14+EDoets+H/DPg54LLyRVhxX2tOJnk1MXBaRKSx40f2L202+UW+T5/cXCLxUJoaGjI4cOHfadOnXpy6NChuY5G1GKqlKrxTmQV8PjSOH7YncbAToG8OSGCpgGXvULofBGT4ddISFoJPadW/PGrgfMX+bZncXAvLy927tyZlJ6e7nn99dd32Lp1a63evXsXOHJcLaZKqRptTdwxnlmRQEFxCS+N7cbt/drY3w7Q2Zr3gMDOtpVkqmoxdeAM0tkutMi3PYuDnxUYGFgyYMCA7NWrVwc4WkzLdM/UGFPHGKOr2SqlqqzMvGIeXPg793/+O20a1eHrPw1kSv+27iukYGvYEH4zHNoMpw+6L0cV5Mgi32cXBx8+fHjusWPHvNLT0z0BcnJyTExMTL2uXbs6VEjBzjNTY4wHMBm4DegNFAK+xpg04GsgUkT2OHpwpZRyh0170nl0SSzpOYU8PKwz9w7ugJcz542WR/jN8J+XbO0Fr37c3WmqjLOLfHfq1Ck/ODg4BOCFF144evPNN2eev+24ceOyzn595MgR72nTprUrKSlBRMzYsWMzbrnllj+853Lsvcy7AfgeeBJIEBErgDGmITAEeM0Ys1xEPnU0gFJKVZT8ohJe/3Yn8346SIfGdYi840rCW1aygT71W0HbgbYGDoMe0/aCdirrIt99+/bNT05OTirv8e0tpteKSPH5T4pIBrAMWGaM8S5vGKWUcpXYI2d4aPEO9qflMu3KtvxlZDC1vCvp3aqIW2DlvZCyDVr1dncaZQe7rmtcqJCWZRsAY0wtY8yvxphYY0yiMeaFC2zja4xZZIzZa4z5xRjT1p59K6XU+YpLrPz9+93c9K+fyC8q4bOZfXn+hm6Vt5AChNwAXn4657QKcWg0rzHm4Qs8nQlsF5Eddu6mEBgqIjmlZ7ObjDHfiMiWc7aZAZwWkY7GmMnA68DNjmRVSql9aTk8vGgHsSmZjLuiBc/f0I0AvypwEc23LnQdDQnL4LpXwcvX3YnUZTh6x70XcDfQovRjNjAYiDLG2HWnXGzOTqT1Lv2Q8zYbC8wv/XopcE2ZWlIopWokq1WY/9NBrv/HjxzKyOPD23rw7s3dq0YhPStiMhScgT3fuTuJsoOj80wbAT3OFkNjzF+xFbtBwHbgDXt2UjqtZjvQEfhARH45b5MWwBEAEbEYYzJLj53uYF6lVA2TmlnAY0tj+XFPOoO7NOaN8eE0qeeGBgzl1W4w+AfZBiJ1HePuNOoyHC2mrYGicx4XA21EJN8YU2jvTkSkBOhujKkPLDfGhIpIwjmbXOgs9PyzV4wxs7GdHRMUFERMTIy9ERySk5Pjsn07m2Z1Dc3qOs7Mu+WYhU+SCrEI3BHiw5BWuST9toVyD9UsVdHf2w71+9Ni1xp+WrcKi3c9h95b1X4OqjpHi+nnwBZjzMrSx2OAL4wxdcDxn1cROWOMiQGuA84tpilAKyDFGOMFBAAZF3h/JBAJ0KtXLxk8eLCjEewSExODq/btbJrVNTSr6zgj75m8Ip5ZkcCauONc0bo+70zqTrtAhxf+uKwK/94GB8JHKxgQcAL63ODQW6vaz0FV59A9UxF5CZgFnME28OhuEXlRRHJF5DZ79mGMaVx6Rooxxg+4Fth53margLO9tCYA/xGRP5yZKqXUD7vTGPH3jXybkMpjI7qw5K7+LimkbtE0FIJCddHwKsDR0bw9SyfFbj/nuTEistqB3TQD5pfeN/UAFovIGmPMi8A2EVkFzAEWGGP2YjsjnexITqVU9ZdXZOHVr3eyYMshOjXxZ87U3oS2CHB3LOeLmAzfPQPpeyCwk7vTVFp5eXmmb9++wUVFRaakpMSMGTPm9LvvvnvM3vdbLBbCwsJCmjZtWrRhw4a9jh7f0cu8UcaYqSISD2CMuQX4M2B3MRWROOCKCzz/3DlfFwATHcymlKohfj98mocXx3IgPZcZA9rx2IgulXveaHmETYR1z9nOTq951t1pKq2zi3wHBARYCwsLTe/evbusX78+85prrrFrObWXX345qGPHjvk5OTll+kFydGrMBGxnlV2NMbOAe4HhZTmwUko5qrjEyjvf7WLCRz9TWFzC57P68uzokOpbSAHqNoUOQ229eq1Wd6eptBxZ5PvcxcEB9u3b57127dqAWbNmlXnGiENnpiKyv7SJwgpsU1eGi0h+WQ+ulFL22nsym4cWxRJ/NJObetgaMNSrVYXmjZZH+GT4ciYc/gnaDnB3mkt6dvOzrfae3uvUxcE7NuiY99JVL112aTd7F/k+f3Hw++67r9Ubb7yRkpmZWea/yuxdNSae/52a0hDwBH4xxiAi4WUNoJRSl2K1CvN+Osjr3+6kto8nH93eg+tC/7DWc/UWfD34+NvaC1byYupOF1rke+vWrbUvtTj4U089dSwwMNAycODAvDVr1tQt87Ht3O4u4Dig1xiUUhXm2Jl8Hlsay+a9pxga3ITXxofRpG4VbMBQXj61IeRGSFwJo94Cbz93J7ooe84gXe3cRb5ffPHFE5daHHzlypX1161bV79FixYBhYWFHrm5uR5jx45tt3LlygOOHNPee6Z3YFsd5nVsS64Visihsx+OHFAppS5HRFj+ewoj/r6R3w+f4dWbwpgztVfNLKRnRdwMRdmw8yt3J6mUHFnk+9zFwT/44IOjJ06ciDt69Gj8vHnz9vfr1y/b0UIKdp6ZisjdAMaYYGAkMM8YE4BtndNvgc2lXY2UUqpcTucW8fSKeL6OT6VXmwa8PSmCNo2qybzR8mgzAOq1tI3qDZvg7jSVjiOLfJ+7OLizODoAaSe2BgvvljZcGIJtCss72JrgK6VUmW3YdZLHl8ZxJq+Ix6/rwl2DOuDpoWtcAODhYTs73fR3yD4BdYPcnahSccYi36NHj84ePXp0dlne6+jUmP8SkXwR+VpEHhARLaRKqTLLLbTw1PJ4pn+8lYa1fVhx31XcO7ijFtLzhU8GKYGEpe5Oos5j72jebC7QaL5UIbAPeFpE1jsrmFKqZth7uoS//uNHDmfkMXtQex4e1rl6zxstj8adoXkP26je/ve5O406h733TC86XLi0LWAo8FnpZ6WUuqwii5X31u/mw18KaF7fjy9m9aNf+0bujlX5RdwC3zwGJxIhqJu706hSZb7Me5aIlIhILPC+E/IopWqA3SeyGffhZj7YsI8BLbz49s8DtZDaK3Q8eHhp8/tKptzF9CwR+bez9qWUqp6sViH6x/2Mfn8TqZkFRE7pyYwwX+rWlE5GzlCnEXQaXtpeUCdRVBZOK6ZKKXUpKafzuDV6Cy9/lcygTo1Z+9Aghndr6u5YVVPEZMhJhf0x7k6iSjm6aoxSSjlERFj221FeWJWIVYQ3xoczsVdLLtaEXNmh83VQKwDiFkHHa9ydRmFHMTXGTAFSsK0QYwE2isi/XB1MKVX1ncop5Knl8axNPEGftg15e1IErRo6tQd6zeTla7t3GrsQCrPBt8wtZZWT2HNm2huIEJGJAMaY91wbSSlVHaxPPsETy+LJyi/myZHBzBzYXueNOlP4ZNg2F5JXQ/db3Z2m0ijLIt8tWrQIq1OnTomHhwdeXl6SkJCQ7Ohx7SmmWUCL0vVLTwPa10spdVE5hRZeXpPEwq1HCG5alwUz+tC1WT13x6p+WvWBBu1sc061mP5XWRf5/uGHH3Y3a9bMUtbj2jMA6VlgJbZl13yA+8t6MKVU9bb1YAaj3vuRRduOcPfVHVh5/1VaSF3FGNK6jeWdM3Gkn4h3d5pKwd5Fvs9fHNwZLntmKiICrChtcn8j8IYxRoBjwCoRcfh0WClVvRRaSnh33R7+vXEfLRv4sfiu/vRu29DdsaqtYznHmJswl+XHV2MJqEvwzqWMCgpzdywAjj31dKvCPXucemPct1OnvOZ/e+WyS7vZu8j3+YuDA1xzzTWdjDFMnz497dFHH71kMb4Qe9sJPg7cAiwEfi19uiXwhTFmoYi85uiBlVLVw87ULP68cAc7U7OZ3LsVz4wOwd9XJwq4wsHMg8xJmMOafWvAwNgOY7mz4020bhLu7mhu98UXXwRcaJHvDz/8sOGlFgePj49P3rx58862bdsWHz161Gvo0KGdu3XrVjBy5MgcR45v70/8TKCbiBSf+6Qx5h0gEdBiqlQNU2IV5mzaz1trd1PPz4voO3pxbYiuZOIKu0/vJjoumrWH1uLt4c3NwTczrds0mtapfPN07TmDdIVNmzb5X2yR70stDg7Qtm3bYoAWLVpYrr/++jM///xzHVcVUyvQHDh/IfBmpa8ppWqQIxl5PLIkll8PZDCiWxB/GxdGI39fd8eqduLT4omMjyTmSAy1vWozrds0poRMIdAv0N3RKp0PPvjg6AcffHAUYM2aNXXffvvtoIst8n12cfBhw4blZmVleZSUlNCgQQNrVlaWx4YNG+o9/fTTxxw9vr3F9M/AemPMHuDsXx2tgY44OCDJGNMK+ARoiq0QR4rIe+dtMxjboKez34gvReRFR46jlHI+EWHJ9hReXG1bNvKtiRGM79FCGzA42bbUbUTGRfLz8Z+p51OPeyPu5dautxLgG+DuaNXCuYuDp6SkeI0bN64jQElJiRk/fvypCRMmOLx4uL2rxnxrjOkM9AFaAAZbI4etIuJoc0gL8IiI/GaMqQtsN8asE5HzF3X9UURGO7hvpZSLpOcU8uSX8axLOkG/9g15a2IELRtoAwZnERE2H9tMVFwUv538jYa1GvJwz4eZ1GUSdbx1RqIjHFnkOyQkpGjXrl3lWlQcHGgnKCJWYEt5Dygix4HjpV9nG2OSsRXocv/HKKVc47vEVJ78Mp7sQgvPXN+VO69qh4c2YHAKq1jZcHgDkfGRJJ1KommdpjzZ50lu6nQTtbxquTueslO5h9wZY6aLyMdlfG9b4Arglwu83N8YE4ttCs6jIpJY5pBKqTLJLijmpTVJLN6WQkizenx+c3e6NNXWdc5gsVpYe3At0fHR7D2zl9Z1W/PClS8wpv0YvD11FZ2qxtimkZZjB8YcFpHWZXifP/AD8IqIfHnea/UAq4jkGGNGAe+JSKcL7GM2MBsgKCio58KFrlnfLycnB39/f5fs29k0q2vUxKy7MkqIii/kVL5wfXtvbuzojZcLzkZr2vfWIhZ+zfmVdVnrSLek08y7GcMDhnNF7SvwNA417bkke7MOGTJku4j0Ks+xYmNj94eFhZ328PAoX0GpxKxWq4mPj28QERHR/kKv2zvPNO5iLwEOj4U3xngDy4DPzi+kACKSdc7XXxtjPjTGBIpI+nnbRQKRAL169ZLBgwc7GsUuMTExuGrfzqZZXaMmZS20lPD2d7uJ2rqfVg1q8+9pEfRs47oGDDXle1tgKWDZnmXMS5xHam4qIY1CeCb8GYa0GoKHcf5qmBX8fU1IS0sLady4cWZ1LKhWq9WkpaUFAAkX28bey7xBwAhsvXnPZYCfHAllbMP+5gDJIvLORbZpCpwQETHG9MHW9vCUI8dRSjku6VgWDy+2NWC4tW9rnh7VlTragKFccotzWbRrEfMT55NRkEGPJj14vv/zXNn8ymozCtpiscxMTU2NTk1NDaV6rpNtBRIsFsvMi21g77+SNYC/iOw4/wVjTIyDoa4CpgDxxpiz+3sK21QbROQjYAJwjzHGAuQDk6W816OVUhdVYhUiN+7nnXW7qF/bh4+n9WZIcBN3x6rSMgsz+Sz5Mz5L/oysoiyubH4ls8Jm0atpua6oVko9e/Y8Cdzg7hzuZO/UmBmXeM2h5QpEZBO2M9pLbfNP4J+O7FcpVTaHT+XxyJIdbD14mpGhTXllXBgN6zi1B3iNkp6fzidJn7Bo5yLyLHkMaTWE2eGzCQ0MdXc05UIOXb8xxoScPx/UGDNYRGKcmkop5XIiwqKtR3hpTRIexvDOpAjGXaENGMoqNTeVjxM+ZtmeZRRbixnRdgQzw2bSuUFnd0dTFcDRmyGLjTELgDeAWqWfewH9nR1MKeU6admF/GVZHOt3nuTKDo14c2IELer7uTtWlXQ46zBzEuawat8qEBjTYQwzwmbQpl4bd0dTFcjRYtoXeB3boKO6wGfY7oEqpaqIbxNSeWp5PLmFFp4bHcK0K9tqA4Yy2Ht6L1HxUXx78Fu8jBcTOk1geuh0mvs3d3c05QaOFtNibAOC/LCdmR4o7YyklKrksgqKeWFVEst+SyG0RT3endSdTkHagMFRiacSiYqLYv3h9fh5+XFHyB3cEXIHjWs3dnc05UaOFtOt2BrQ9wYaAf82xkwQkQlOT6aUcpqf953i0SWxHM/M54GhHXlgaCd8vKrjDAbX+e3Eb3x44kOSDyVT16cud0fczW3Bt1G/Vn13R1OVgKPFdIaIbCv9OhUYa4yZ4uRMSiknKSgu4a21u4jedIC2jWqz9J4r6dG6gbtjVRkiws/HfyYyLpLtJ7bj7+HPgz0eZHKXyfj7VI2uTapiOFRMRWSbMWaoiPzn7GcRWeCqcEqpsks4msnDi3ew+0QOt/drzVOjulLbRxsw2MMqVn448gORcZEknEqgSe0mPNH7CZqkNmF42HB3x1OVUFn+Zb0F9Djns1KqEimxCh9s2Mvfv99Ng9o+zJvem8FdtAGDPUqsJXx36Dui4qPYc3oPLfxb8Fz/5xjbYSw+nj7EnIxxd0RVSZXnz1Qd/qdUJXMwPZdXfy1g75ldXB/ejJfHhtJAGzBcVrG1mDX71jA3YS4Hsw7SPqA9fxvwN0a2G4mXh57Nq8vTnxKlqgER4fNfD/PKV8lgtfLe5O7cENFcGzBcRmFJIcv3LGduwlyO5x6na8OuvDP4Ha5pfY1Lms+r6kuLqVJV3MmsAp5YFseGXWkM6BjITS1zGdu9hbtjVWp5xXks3rWY+UnzSc9Pp3vj7jzT7xkGthiof4CoMtFiqlQV9nX8cZ5eHk9eUQnPjwnhjv5t2bjxB3fHqrSyirL4PPlzPk3+lMzCTPo268sbg96gV1AvLaKqXMpSTHNKP2c7M4hSyn6Z+cU8vyqR5b8fJbxlAO9M6k7HJjpV42IyCjJYkLSAhTsXklOcw+CWg5kZPpOIxhHujqaqCYeLqYgMOvezUqpibd6bzmNLYjmRXciD13Ti/qEd8fbU+3sXciL3BPMS57F091IKSwoZ3nY4s8Jm0aVhF3dHU9WMXcXUGGMut56oPdsopcquoLiE17/dycebD9I+sA7L7rmS7q20+86FHMk+wtyEuazcuxKrWLm+/fXMCJtB+4D27o6mqil7z0w3GGOWAStF5PDZJ40xPsAAYCqwAZjn9IRKKeJTMnlo8Q72nsxhav82/GVkV/x8PN0dq9LZf2Y/0fHRfH3gazyMB+M6jmN66HRa1m3p7miqmrO3mF4H3Al8YYxpB5zB1ujeE/gOeFdEdrgmolI1l6XEyocx+/jH+j0E+vuyYEYfBnbShurnSz6VTFR8FN8f+p5aXrW4rettTO02lSa1tVmFqhh2FVMRKQA+BD40xngDgUC+iJxxZTilarL9aTk8vDiWHUfOcENEc14aG0pAbW93x6pUdpzcQWRcJD8e/RF/b39mhs1kSsgUGtTS/sOqYpVlAFIxcNwFWZRS2BowfLrlEK98nYyvlyfv33IFYyJ0jcyzRIRfU38lMi6SX1N/pb5vfR644gEmB0+mnk89d8dTNZTOM1WqEjmRVcBjS+PYuDuNQZ0b88b4cJoG1HJ3rEpBRNiYspHI+Eji0uJo7NeYR3s9ysTOE6ntXdvd8VQNp8VUqUpidewxnlmRQKGlhJfGduP2fm20kQC25vPfH/6e6PhodmbspHmd5jzb71nGdhyLr6evu+MpBThYTI0xQ4HbsA1ASgDigAQRKXRBNqVqhMy8Yp5dmcCq2GNEtKrPu5MiaN9YGzAUW4v55sA3RMVFcTDrIG3rteXlq15mVPtReHvovWNVuTh6ZvopcF/p+8KBG4FuQEd7d2CMaQV8AjQFrECkiLx33jYGeA8YBeQB00TkNwezKlXp/bgnjceWxJGeU8jDwzpz7+AOeNXwBgxFJUWs2LuCuQlzOZpzlM4NOvPm1W8yrPUwPD10OpCqnBwtpntFZHnp10vKeEwL8IiI/GaMqQtsN8asE5Gkc7YZCXQq/egL/Kv0s1LVQn5RCa99k8z8nw/RoXEdIu+4kvCWNbsBQ15xHkt3L2V+4nxO5p8kPDCcJ/s8yaCWg/Ryt6r07O2A9AnwG/CzMeYREXm7rAcUkeOUjgYWkWxjTDLQAji3mI4FPintqLTFGFPfGNO66VKSAAAgAElEQVSs9L1KVWmxR87w0OId7E/LZfpVbXniumBqedfcM658az5RcVEsSFrA6cLT9Gnah1cGvkLfpn21iKoqw94z0/lABLZLsyOMMX8CYks/4kSkTGepxpi2wBXAL+e91AI4cs7jlNLntJiqKqu4xMo//7OXf27YS5O6vnw2sy9XdQx0dyy3OV1wmk+TP2VBygLyj+QzsMVAZofPpnuT7u6OppTDTFna6RpjvIAQbAU2XEQeK8M+/IEfgFdE5MvzXvsKeFVENpU+Xg88LiLbz9tuNjAbICgoqOfChQsd/m+xR05ODv7+VWNAiGZ1jfJmPZZjJSq+kAOZVvo39+T2rr7U8XbNWVdl/75mWjJZn7WezTmbKZZiuvl0Y1TDUbTybeXuaJdV2b+357I365AhQ7aLSK8KiFStlWlqjIhYsI3kjSvL+0u7KC0DPju/kJZKAc79l9USOHaBHJFAJECvXr1k8ODBZYlzWTExMbhq386mWV2jrFmtVuGTnw/y6pad+Pl48uFt3RkV1szp+c5VWb+vR3OO8nHCxyzfs5wSKWFku5HMDJvJkR1HKmXeC6ms39sLqUpZq4MKn2daOlJ3DpAsIu9cZLNVwP3GmIXYBh5l6v1SVdUcz8znsSVxbNqbzuAutgYMTerVvAYMBzIPMCd+Dl/t/woM3NjxRu4MvZNWdW1/Lx/5nzs6SlVN7mjacBUwBYg3xpxtjv8U0BpARD4CvsY2LWYvtqkx092QU6kyW7njKM+uSKC4RHhlXCi39mld4wbT7MrYRVR8FN8d/A5fT18mB09marepNK3T1N3RlHI6R5s23I/t0uzpsh6w9D7oJX+rlI7iva+sx1DKXc7kFfHMigTWxB2nR+v6vDOpO20D67g7VoWKS4sjKi6KmJQY6njX4c7QO5kSMoVGfo3cHU0pl3H0zLQpsNUY8xswF1irC4IrZROz6ySPL40jI7eIx0Z04a5B7WtMAwYRYduJbUTGRbLl+BYCfAO4t/u93Bp8KwG+Ae6Op5TLOVRMReQZY8yzwHBsl17/aYxZDMwRkX2uCKhUZZdXZOFvXyfz6ZbDdGriz9xpvQltUTMKiIiw6egmIuMi2ZG2g0a1GvFIz0eY1GWSNp9XNUpZlmATY0wqkIqtm1EDYGlpF6PHnR1Qqcrs98OneXhxLAdP5TJzQDseHdGlRjRgsIqV/xz+D5FxkSRnJNOsTjOe6vsU4zqOo5ZXzRtkpZSj90z/BEwF0oFo4DERKTbGeAB7AC2mqkYoLrHy/vo9fBCzj6b1avH5zH7071D97wlarBa+Pfgt0XHR7MvcR+u6rXnxyhcZ3X403p7afF7VXI6emQYCN4nIoXOfFBGrMWa082IpVXntOZHNQ4t3kHA0i/E9WvLXG0KoV6t6F5KikiJW7VvFnPg5pOSk0LF+R94Y9AbD2wzX5vNK4fg90+cu8Vpy+eMoVXlZrcLHPx3k9W93UsfHk49u78F1oa5twOBu+ZZ8vtzzJXMT5nIy7yShjUJ5rPdjDG41GA9TMwZXKWUPRy/z1gLuBQYAAmwC/iUiBS7IplSlcSrfyu1zfuGnfae4JrgJr44Po0nd6ntvMKcoh0W7FvFJ0idkFGTQM6gnL135Ev2b969x82WVsoejl3k/AbKB90sf3wIsACY6M5RSlYWIsGLHUZ7ZnI/xKOK1m8K4uXeraltQMgsz+TT5Uz5L/ozsomyuan4Vs8Jn0TOop7ujKVWpOVpMu4hIxDmPNxhjYp0ZSKnK4nRuEU+viOfr+FQ61fcgetZA2jSqng0Y0vPT+STxExbtWkSeJY+hrYYyO3w23QK7uTuaUlWCo8X0d2NMPxHZAmCM6Qtsdn4spdxrw86TPL4sjjN5RTx+XReC5Ui1LKTHc47zceLHfLnnS4qtxVzX9jpmhs2kU4NO7o6mVJXiaDHtC9xhjDlc+rg1kGyMicc2BTXcqemUqmC5hRZe+TqZz385TJegusyb3ptuzQOIiUlxdzSnOpR1iDnxc1i9bzUYuKHDDcwInUHreq3dHU2pKsnRYnqdS1IoVQlsP3Sahxfv4HBGHrMHtefhYZ2rXQOGPaf3EBUfxdqDa/H28GZil4lM7zadZv7Ve1SyUq7m6NSYQ5ffSqmqpchi5b31u/lXzD6aBfixcFY/+ravXg0YEtMTiYyL5D9H/kNtr9pMDZnKHd3uINAv0N3RlKoW7CqmxphsbFNh/vAStsu79ZyaSqkKsvtENg8t2kHisSwm9mzJc2NCqFuNGjBsP7GdqLgoNh/bTF2futwTcQ+3db1Nm88r5WR2FVMRqevqIEpVJKtVmLv5AG+s3UVdXy8ip/RkeLfqsc6miPDT0Z/4d9y/+e3kbzSs1ZA/9/gzN3e5GX8ff3fHU6pacrjRvTGmAdAJ+O+MdRHZ6MxQSrlSyuk8Hl0Sy5b9GVzbNYjXxocR6O/r7ljlZhUrMUdieDv1bQ4fPkxQ7SD+0ucv3NTpJvy8/NwdT6lqzdEOSDOBB4GWwA6gH/AzMNT50ZRyLhFh2W9HeWFVIlYR3pgQzsSeLat8A4YSawlrD64lKj6KvWf2EugVyPP9n2dMhzH4ePq4O55SNYKjZ6YPAr2BLSIyxBgTDLzg/FhKOdepnEKeWh7P2sQT9GnbkLcnRdCqYdVeb7O4pJg1+9cQHR/N4ezDdAjowKsDX8XvkB/XdL7G3fGUqlEcLaYFIlJgjMEY4ysiO40xXVySTCknWZ98gieWxZGVb+HJkcHMHNgeT4+qezZaYClg+d7lzE2YS2puKl0bduXdwe8ytPVQPIwHMYdj3B1RqRrH0WKaYoypD6wA1hljTgPHnB9LqfLLKbTw8pokFm49QnDTuiyY0ZeuzaruwPO84jwW71rMvMR5nCo4xRVNruC5fs8xoMWAKn+pWqmqztF5puNKv3zeGLMBCAC+cXoqpcpp68EMHl68g5TT+dx9dQceGtYJX6+q2YAhszCTz3d+zmfJn5FZmEm/Zv14M/xNegX10iKqVCXh6AAkX2A80Pac93YHXnRuLKXKptBSwrvr9vDvjfto2cCPxXf1p3fbhu6OVSan8k+xIGkBC3ctJLc4l8GtBjM7bDZhjcPcHU0pdR5HL/OuBDKB7UBhWQ5ojJkLjAZOikjoBV4fXHqcA6VPfSkiWqzVZe1MzeLPC3ewMzWbyb1b8czoEPx9HZ795XapuanMT5zP0t1LKSwpZETbEcwMm0mXhjo8QanKytHfNC1FpLz9eecB/8S2NurF/Cgio8t5HFVDlFiF6B/38/Z3u6nn50X0Hb24NiTI3bEcdiT7CHPi57By30oQuL799cwIm0G7gHbujqaUugxHi+lPxpgwEYkv6wFFZKMxpm1Z36/UuY5k5PHI4lh+PZjBiG5B/G1cGI2qWAOGfWf2ER0fzTcHvsHTeDK+03imh06nhX8Ld0dTStnJ3t688dh683oB040x+7Fd5j3bm9fZS6/1L110/BjwqIgkOnn/qooTEZZsS+GF1YkYY3hrYgTje7SoUgNykk8lExUfxfeHvqeWVy1u73o7U7tNpXHtxu6OppRykBG5UP/68zYyps2lXnd0NZnSM9M1F7lnWg+wikiOMWYU8J6IXHClYmPMbGA2QFBQUM+FCxc6EsNuOTk5+PtXjZ6mNSFrVqHwcWIhv58sIbihBzPDfAn083BBwv/nzO/r/oL9rM1cS1JBEn7Gj0H1BjG47mD8PZ2z/6r0MwBVK291zDpkyJDtItKrAiJVbyJi9wfwuj3P2bGftkCCndseBAIvt13Pnj3FVTZs2OCyfTtbdc+6NuG49HjxO+n09NcStXGflJRYnR/sAsr7fbVarfLT0Z9k+rfTJXReqAz8YqBExkZKVmGWcwKeoyr9DIhUrbzVMSuwTRz8Ha4ff/xw9J7pMOCJ854beYHnyswY0xQ4ISJijOkDeACnnLV/VTVlFxTz4uoklmxPIaRZPT6/uTtdmlb+xYxEhB9SfiAqLoq49Dia+DXhsV6PMaHzBGp7V+12hkqp/2fvPdN7gHuB9saYuLNPA/7AT44c0BjzBTAYCDTGpAB/BbwBROQjYAJwjzHGAuQDk0v/elI11C/7T/HIkliOncnnviEdePCazvh4ufaybnmVWEtYd3gdUXFR7D69mxb+LXi237Pc2PFGbT6vVDVk75np59g6Hb0K/OWc57NFJMORA4rILZd5/Z/Yps6oGq7QUsLb3+0m6sf9tG5YmyV396dnm8rdgKHYWszX+78mOj6ag1kHaRfQjlcGvMLIdiPx9qg+i44rpf6XvYuDZwKZxpjpwE2c0wHJGINoUwXlZEnHsnho0Q52ncjm1r6teXpUV+pU4gYMhSWFrNizgo8TP+ZozlG6NOjCW1e/xbWtr8XTo2q2MVRK2c/R304rKGcHJKUupcQq/HvjPt5dt5v6tX34eFpvhgQ3cXesi8orzmPJ7iXMT5xPWn4a4Y3DearvUwxsMbBKTdNRSpWPOzogKXVBh0/l8fDiHWw7dJqRoU15ZVwYDetUzvuLWUVZLNy5kAVJCzhTeIa+Tfvy6sBX6dO0jxZRpWqgCu+ApNT5RISFW4/w0pokPD0M794cwY3dK2cDhtMFp1mQtIAvdn5BTnEOg1oOYlbYLLo36e7uaEopN3K0mA6gYjogqRriZHYBTy6LZ/3Ok1zZoRFvTYygeX0/d8f6g0xLJm9sfYOlu5dSYCng2jbXMitsFl0bdXV3NKVUJeBoMR3pkhSqRtqWauGhdzeSV1TCc6NDmHZlWzw8KtfZ6NGco8yNn8uXR79Ejomt+XzoDNrXb+/uaEqpSsTRYnoYuA1oLyIvGmNaA00Bh9oJqpotq6CY51cl8uWOQkJb1OPdSd3pFFS5GjAcyDxAdHw0X+3/Cg/jQV//vjw9/Gla1W3l7mhKqUrI0WL6IWAFhmJbEDwbWAb0dnIuVU39vO8Ujy6JJTWrgBs6ePPW9KsqVQOGXRm7iIyLZN2hdfh6+nJL8C1M6zaN5K3JWkiVUhflaDHtKyI9jDG/A4jIaWNM5RxuqSqVguIS3lq7i+hNB2gXWIeld/cnc39spSmksWmxRMVF8UPKD/h7+zMjbAa3d72dRn6NAEgm2c0JlVKVmaPFtNgY44ltOTaMMY2xnakqdVEJRzN5aNEO9pzMYUq/Njw5KpjaPl7E7HdvLhFha+pWIuMj+eX4LwT4BnB/9/u5pest1POp595wSqkqxdFi+g9gOdDEGPMKtj66zzg9laoWLCVWPvphH3//fg8N6/gwb3pvBndxfwMGEeHHoz8SFRfFjrQdBPoF8mivR5nYeaI2n1dKlYlDxVREPjPGbAeuwTYt5kYR0etf6g8Opufy8OId/Hb4DNeHN+PlsaE0cHMDBqtYWX94PVFxUSRnJNOsTjOe7vs04zqNw9fT163ZlFJVm8PNTkVkJ7DTBVlUNSAifP7rYV5ek4y3p+G9yd25IaK5WxswWKwWvjnwDdHx0ezP3E+bem148coXGd1htDafV0o5ReXtHK6qnJNZBTy+LI6YXWkM7BTIGxPCaRbgvgYMRSVFrNy3krnxc0nJSaFTg068OehNhrUZps3nlVJOpcVUOcVXccd5ekU8+UUlPD8mhDv6u68BQ74ln2W7l/Fx4seczDtJWGAYj/d+nKtbXY2HqRyjh5VS1YsWU1UumfnF/HVlAit2HCO8ZQDvTOpOxyb+bsmSU5TDwl225vMZBRn0CurFS1e9RP9m/Stln1+lVPXhUDE1xswHHhSRM6WPGwBvi8idrginKrfNe9N5dEksJ7ML+fO1nbhvSEe8PSv+zO9MwRk+Tf6Uz3d+TnZRNle1uIrZYbPpEdSjwrMopWomR89Mw88WUvhv04YrnJxJVXIFxSW8/u1OPt58kPaN6/DlPVcS0ap+hedIz09nfuJ8Fu1aRL4ln2tbX8vM8Jl0a9StwrMopWo2R4uphzGmgYicBjDGNCzDPlQVFpdyhocW7WBfWi5T+7fhLyO74udTsYN5juccZ27CXL7c8yUWsTCy3Uhmhs6kY4OOFZpDKaXOcrQQvo1tTdOl2LogTQJecXoqVelYSqx8GLOPf6zfQ6C/Lwtm9GFgp8YVmuFQ1iHmxM9h9b7VYGBsh7HcGXonreu1rtAcSil1PkebNnxS2rRhCLamDTeJSJJLkqlKY39aDg8vjmXHkTPcENGcl8aGElC74uZn7j69m+i4aNYeWou3hzeTukxieuh0mtZpWmEZlFLqUsrStCERSHRBFlXJiAifbjnEK18n4+vlyfu3XMGYiOYVdvyE9AQi4yLZcGQDtb1qM63bNKaETCHQL7DCMiillD3sKqbGmE0iMsAYk01pk/uzLwEiInZ3BTfGzAVGAydFJPQCrxvgPWAUkAdME5Hf7N2/co7UTFsDho270xjUuTFvjA+naUCtCjn2ttRtRMVH8dOxn6jnU497I+7l1q63EuAbUCHHV0opR9l7Znqg9POzIvL3ch5zHvBP4JOLvD4S6FT60Rf4V+lnVUFWxx7jmRUJFFpKeGlsN27v18bl8zRFhJ+O/URkXCS/nfyNhrUa8lDPh7i5y83U8a7j0mMrpVR52VtMexhj2gDTS+ea/s9vVhHJsPeAIrLRGNP2EpuMBT4REQG2GGPqG2Oaichxe4+hyiYzr5hnVyawKvYYEa3q8+6kCNo3dm0DBqtY2XB4A5HxkSSdSiKodhB/6fMXxncaTy2vijkTVkqp8jK2mnWZjYz5E3AP0B44yv8WUxGR9g4d1FZM11zkMu8a4DUR2VT6eD3whIhsu8C2s4HZAEFBQT0XLlzoSAy75eTk4O/vnq4+jipr1oT0EubEF5JVJNzQwZvR7b3xdGE7wBIp4eeMn9lYuJHjxccJ9ApkeL3h9PbvjZepfLOtasLPgLtUpbzVMeuQIUO2i0ivCohUvYmI3R/AvxzZ/hL7aQskXOS1r4AB5zxeD/S83D579uwprrJhwwaX7dvZHM2aV2iR51bES5sn1sjQtzZI3JEzrglWqshSJMt2L5ORy0ZK6LxQuXHFjbJm3xopLil26XHLqzr/DLhbVcpbHbMC28QJv9dr+oejU2PucWIdv5gUoNU5j1sCxyrguDVO7BFbA4b96blMv6otT1wXTC1v1zRgKLAUsGzPMuYlziM1N5WQRiHMbDyTB0Y+oM3nlVJVXoWP5rXDKuB+Y8xCbAOPMkXvlzpVcYmVf/5nL//csJcmdX35bGZfruromukmucW5LNq1iE8SP+FUwSl6NOnBX/v/lauaX8UPP/yghVQpVS3YVUxFZEDp57rlPaAx5gtgMBBojEkB/gp4l+7/I+BrbNNi9mKbGjO9vMdU/2/vyRweXryDuJRMxl3Rgudv6EaAn/MbMGQWZvJ58ud8mvwpWUVZXNn8SmaFzaJXU701o5Sqfip8pIeI3HKZ1wW4r4Li1BhWq/DJzwd59Zud+Pl48uFtPRgV1szpx0nPT2dB0gIW7lxIniWPIa2GMDt8NqGBfxhrppRS1YYuwVYDHM/M57ElcWzam87gLrYGDE3qOXfaSWpuKh8nfMyyPcsothYzos0IZobPpHODzk49jlJKVUa6BFs1JiKsij3GsysSKC4RXhkXyq19Wju1AcORrCPMSZjDyn0rQWBMhzHMCJtBm3ptnHYMpZSq7HQJtmrqTF4RT69I4Ku44/RoXZ93JnWnbaDzOgntPb2X6IRovjnwDV7GiwmdJjA9dDrN/Suud69SSlUWZVmC7WdjzBJ0CbZKK2bXSR5fGkdGbhGPjejCXYPa4+XpnFGzSaeSiIqL4vvD3+Pn5ccdIXdwR8gdNK5dscuxKaVUZVKWJdi2AUPRJdgqnbwiC58kFvKfb7fSqYk/c6f1JrSFc5rD/3biNyLjI9l8dDN1fepyV/hd3N71durXqu+U/SulVFXm6AAkA/QAGorIi8aY1saYPiLyq2viKXv9dvg0jyyO5WC6hZkD2vHoiC7lbsAgIvx8/Gei4qLYdmIbDWs15MEeDzK5y2T8fapGSzWllKoIjl7m/RCwYjszfRHIBpYBvZ2cS9mpuMTKP9bv4YMNe2kW4MfjvWtxz+iQcu1TRIg5EkNUfBTx6fE08WvCE72fYHzn8fh5+TkpuVJKVR+OFtO+ItLDGPM7/Hc0r48Lcik77DmRzUOLd5BwNIvxPVry1xtC+G3L5jLvr8RawrpD64iMj2TP6T208G/Bc/2fY2yHsfh46v9mpZS6GEeLabExxpPSloLGmMbYzlRVBbJahY9/Osjr3+7E39eLj27vwXWhZW/AUGwtZs2+NcxNmMvBrIO0D2jP3wb8jZHtRuLloYO1lVLqchz9TfkPYDkQZIx5BZgAPOP0VOqijp7J57Elsfy07xTXBDfh1fFhNKlbtgYMhSWFLN+znI8TPuZY7jGCGwbzzuB3uKb1NdozVymlHODoaN7PjDHbgWtKn7pRRJKdH0udT0RY/vtR/roykRIRXrspjJt7typTA4a84jyW7F7CvMR5pOenE9E4gqf7Pc3AFgOd2tBBKaVqCkdH89bC1oR+ILbLuz7GmAMiUuCKcMomI7eIp5fH801CKr3aNODtSRG0aeR4A4asoiy+SP6CT5M/5UzhGfo268vrA1+nd9PeWkSVUqocHL3M+wm2Ebz/KH18C7AAmOjMUOr/bdh5kseXxXEmr4gnrgtm9qD2eHo4VvgyCjL+23w+pziHq1tezazwWUQ0jnBRaqWUqlkcLaZdROTc38AbjDGxzgykbHILLbz8VTJf/HqY4KZ1mT+9DyHNHVs29kTuCeYlzmPp7qUUlhQyvO1wZoXNokvDLi5KrZRSNZOjxfR3Y0w/EdkCYIzpC5R9Loa6oO2HMnh4cSyHM/K4a1B7Hh7eGV8v+xswpGSnMDdhLiv2rsAqVq5vfz0zwmbQPqC9C1MrpVTN5fA8U+AOY8zh0setgWRjTDy2pUjDnZquhimyWPn797v56Id9NAvwY+GsfvRt38ju9+/P3M+C9AVsX74dD+PBuI7jmB46nZZ1W7owtVJKKUeL6XUuSaHYlZrNQ4t2kHQ8i4k9W/LcmBDq1vK26707M3YSGRfJ94e+x9t4c2vXW5kaMpWgOkEuTq2UUgrsLKbGmN7AERE5VPr4DmA8cAh4XkQyXBexerNahTmbDvDmd7uo6+tF5JSeDO/W1K737ji5g6j4KDambMTf25+ZYTNpd7odY3qPcXFqpZRS57L3zPTfwLUAxphBwGvAA0B3IBJb8wbloJTTeTyyOJZfDmQwLCSIV28KI9Df95LvERF+Tf2VqLgofkn9hfq+9XngigeYHDyZej71iImJqZjwSiml/sveYup5ztnnzUCkiCwDlhljdrgmWvUlIizdnsILq5MQEd6YEM7Eni0vOddTRPjx6I9ExkUSmxZLY7/GPNrrUSZ2nkht79oVmF4ppdT57C6mxhgvEbFg6340uwz7UMCpnEKeWh7P2sQT9GnbkLcnRdCq4cWLYYm1hO8Pf090fDQ7M3bSvE5znun7DDd2uhFfz0ufxSqllKoY9hbCL4AfjDHpQD7wI4AxpiOQ6aJs1c765BM8sSyOrHwLT40KZsaAizdgKLYW882Bb4iOj+ZA5gHa1mvLy1e9zKj2o/D2sG9gklJKqYphVzEVkVeMMeuBZsB3IiKlL3lgu3fqEGPMdcB7gCcQLSKvnff6NOBN4GjpU/8UkWhHj1NZ5BRaeHlNEgu3HqFrs3p8OjOC4KYXbsBQVFLEir0rmJswl6M5R+ncoDNvXv0mw1oPw9OjfIt9K6WUcg27L9GebdRw3nO7HT1g6RJuHwDDgBRgqzFmlYgknbfpIhG539H9VzZbD2bw8OIdpJzO5+6rO/DQsE4XbMCQV5zHsj3LmJcwj5P5JwkPDOcvff7C1S2v1r65SilVybnjfmcfYK+I7AcwxiwExgLnF9MqrdBSwjvrdhO5cT8tG/ix+K7+9G7b8A/bZRdls3DnQhYkLeB04Wl6N+3NywNepl+zflpElVKqijD/f8W2gg5ozATgOhGZWfp4CtD33LPQ0su8rwJpwG7gIRE5coF9zaZ0MFRQUFDPhQsXuiRzTk4O/v7+dm9/JNtKZFwhR7KtDGrpxS3BPvh5/W9hzCnJISY7ho1ZG8mXfEJqhTAiYATta5Wv5Z+jWd1Js7pGVcoKVStvdcw6ZMiQ7SLSqwIiVWvuODO90OnW+RV9NfCFiBQaY+4G5gND//AmkUhs81zp1auXDB482MlRbWJiYrBn3yVWIfrH/by9ZTf1/LyIviOca0P+twtRWl4a8xPns3j3YvIt+QxrM4yZYTMJaRRSoVkrA83qGlUpK1StvJpVXYw7imkK0Oqcxy2BY+duICKnznkYBbxeAbnK5UiGrQHDrwczGNEtiL+NC6PROQ0YjuUcY27CXJbvWY5FLIxqN4qZYTPpUL+DG1MrpZRyBncU061AJ2NMO2yjdScDt567gTGmmYgcL314A5BcsRHtJyIs2ZbCC6sTMcbw1sQIxvdo8d/7nQczDxIdH81X+78CA2M7jGVG6Axa1Wt1mT0rpZSqKiq8mIqIxRhzP7AW29SYuSKSaIx5EdgmIquAPxljbgAsQAYwraJz2iM9p5C/LIvn++QT9GvfkLcmRtCyga0Bw66MXUTHR7P24Fp8PX2ZHDyZqd2m0rSOfX13lVJKVR1u6V4kIl8DX5/33HPnfP0k8GRF53LEd4mpPPllPNmFFp65vit3XtUODw9DfFo8kfGRxByJoY53He4MvZMpIVNo5Gf/UmpKKaWqFm0F6KDsgmJeXJ3Eku0phDSrxxeTu9OpiT/bTmwjMi6SLce3EOAbwL3d7+XW4FsJ8A1wd2SllFIupsXUAVv2n+KRxbEcz8znviEd+NPQTvx64ide/jaK30/+TqNajXik5yNM7DKROt513B1XKaVUBdFiaoeiEuFvXycT9eN+WjeszaK7+pJpdjDl2+dIzs3gHX8AAAwjSURBVEimaZ2mPNX3KcZ1HEctr1rujquUUqqCaTG9jKRjWbz4cz4pOfuZ3KcFvbsd5pUdM9mXuY/WdVv/X3t3H2xVdd5x/PuDqyhgcnnRBCN6RSmJUoNEo4BaIw1GpdZOTEYbC6YNJNFMok7qaNQkJpOZmqZtUscX1Lw41vpS1II4iTJGa4JvkSsYCCKoINYXBAcD2Crgkz/WOrq5nHMBzz2cDef3mdlz1l5n772efe669zn75e7F98Z+j4nDJrJbbz983sysVTmZ1rDpnWDaQ8/yb7OfYc+2jUw5eTVzVl3FPY+u4OD2g7ni2CuY0DGBtl7+CM3MWp0zQRXLV6/ngtvnM/eFV/n4IYtZzT3c+vwaDh10KD/51E84fujx9FKvZodpZmYl4WRaEBHc+rsVfP+eTnq3P8KHRz7McxvXcFCfg/jhsVcwZt8xfvi8mZltwck0W7n2//nHOx7hkVUz6HvgI2zSm4zaZxxTDpvC2kVrGfuRsc0O0czMSqrlk2lEMPOe2Vz23N28s9fD9Nn7bY4begJTD5vCyMEjAXhw0YPNDdLMzEqt5ZPp9Zd9mbF3/IZhf9ebfT86gfOP/CrDBwxvdlhmZrYTaflketCfHczCP1/Cj758AwcP8gguZma2/Vo+mY6fdCFMurDZYZiZ2U7M/99hZmZWJydTMzOzOjmZmpmZ1cnJ1MzMrE5OpmZmZnVyMjUzM6uTk6mZmVmdnEzNzMzqpIhodgw9QtJrwPIGbX4wsKpB2+5pjrUxHGvj7Ezx7oqxHhARezc6mF3dLpNMG0nSExFxRLPj2BaOtTEca+PsTPE6VqvFp3nNzMzq5GRqZmZWJyfTbXNdswPYDo61MRxr4+xM8TpWq8rXTM3MzOrkI1MzM7M6tWwylfQzSSslLSjUDZQ0W9KS/Dog10vSv0taKukpSaML60zOyy+RNLkBcQ6V9ICkRZIWSvpGWWPNbewh6XFJ83O8l+f6AyU9ltu+TdLuub5Pnl+a3+8obOviXL9Y0okNire3pCclzSpznLmdZZJ+L2mepCdyXVn7Qbuk6ZKezn13TBljlTQif56V6Y+SzitjrLmN8/Pv1QJJt+Tft9L22ZYSES05AccBo4EFhbofAhfl8kXAFbl8MvBLQMDRwGO5fiDwXH4dkMsDejjOIcDoXN4LeAY4pIyx5nYE9M/l3YDHchy3A2fk+muBr+byOcC1uXwGcFsuHwLMB/oABwLPAr0bEO8FwH8Cs/J8KePMbS0DBnepK2s/uBH4Ui7vDrSXNdZCzL2BV4ADyhgr8BHgeWDPQl89u8x9tpWmpgfQ1J2HDjZPpouBIbk8BFicy9OAM7suB5wJTCvUb7Zcg2KeAXx6J4m1L9AJHEX65/G2XD8GuDeX7wXG5HJbXk7AxcDFhW29u1wPxrcfcD9wAjArt1u6OAvbXsaWybR0/QD4AOmPvsoea5f4JgBzyhorKZmuICXsttxnTyxzn22lqWVP89bwoYh4GSC/7pPrK5244sVcV6u+IfJpmsNJR3uljTWfOp0HrARmk775romIjVXafjeu/P4bwKAdFO+PgQuBd/L8oJLGWRHAfZLmSpqa68rYD4YBrwE/z6fQb5DUr6SxFp0B3JLLpYs1Iv4X+BHwAvAyqQ/Opdx9tmU4mW4bVamLbup7PgCpP3AHcF5E/LG7RWvEtMNijYhNETGKdOT3SeBj3bTdlHglTQRWRsTcYnU3bTb9cwXGRcRo4CTgXEnHdbNsM+NtI11CuSYiDgfWk06V1tL0zzZfZzwV+K+tLVqlbofEmq/b/jXp1Oy+QD9SX6jVbtM/11biZLq5VyUNAcivK3P9i8DQwnL7AS91U9+jJO1GSqQ3R8SdZY61KCLWAA+Sri21S2qr0va7ceX3Pwi8vgPiHQecKmkZcCvpVO+PSxjnuyLipfy6EriL9EWljP3gReDFiHgsz08nJdcyxlpxEtAZEa/m+TLG+pfA8xHxWkRsAO4ExlLiPttKnEw3NxOo3IU3mXR9slI/Kd/JdzTwRj71cy8wQdKA/K1xQq7rMZIE/BRYFBH/WuZYc7x7S2rP5T1JfwAWAQ8Ap9eIt7IfpwO/jnQhZyZwRr4j8UBgOPB4T8UZERdHxH4R0UE6vffriPhC2eKskNRP0l6VMunnt4AS9oOIeAVYIWlErhoP/KGMsRacyXuneCsxlS3WF4CjJfXNfxcqn2sp+2zLafZF22ZNpF+cl4ENpG9q/0C6nnA/sCS/DszLCriKdO3v98ARhe38PbA0T19sQJzHkE7BPAXMy9PJZYw1t3EY8GSOdwHw7Vw/jPQLu5R0Kq1Prt8jzy/N7w8rbOuSvB+LgZMa2BeO5727eUsZZ45rfp4WApfk+rL2g1HAE7kf/DfpDteyxtoXWA18sFBX1lgvB57Ov1s3ke7ILWWfbbXJT0AyMzOrk0/zmpmZ1cnJ1MzMrE5OpmZmZnVyMjUzM6uTk6mZmVmdnEzNzMzq5GRqZmZWJydTawpJl+RxGZ/K40ge1cPbf7hQ/rrSmJo3F+t7mtIYnuc0avv1kLSuy/w0SeNUGM+33u1KOjmPqbl/Pds02xm1bX0Rs54laQwwkTRO61uSBpPGvOwxETG2MHsO6Skvz/dkG1W057au7vpGfvybIuKdLdZqjqNIY3b2CEnjgSuBCRHxQk9t12xn4SNTa4YhwKqIeAsgIlZFxEuSOiQ9LenGfMQ6XVJfAElnSXo8H8VOk9Q710/Ky86XdFOlgcoRk6RrSY9bmynp/C5HUlXXLarWbo5zkaTr89H1ffk5xP8EHJSX/efCcleTxnUdKukCSQvydF5uo7v9/r6kbxTi+YGkr1eJc7LS0GxPSfpNdx++pI+RBpnfVKgbpjRc2pF5/rIc02xJt0j6ZjfbOxa4HjglIp7trm2zXVazn2foqfUmoD/pGcPPkI7i/iLXd5CeQzwuz/8M+CZpCLe7gd1y/dXAJOBQ0rNFB+f6gYU21hXKywrLrMuvNdctrFer3Q5gIzAq198OnMWWg813kMZKPTrPf4L0PNd++TNYSBqftup+F7bRmcu9SM9THdQlzr1IDzzfPc+3V9mX4udxAek5sh2kZ7yOID1PubI/R+Sfz55520sq8VTZ7gbSSCSHNbtfefLUzMlHprbDRcQ6UmKZShpE+jZJZ+e3V0TEnFz+D9KD/sfn5X+nNOj4eNLR5gnA9IhYlbf7+naEsS3r1moX0lBY83J5LikxVbM8Ih7N5WOAuyJiff4M7gSO7Wa/iYhlwGpJh5NGInkyIlZ3aWMTKfH9i6QjIg19150TgV/l8t6kUUbOKuzPMcCMiPi/iFhL+kJRywbgYdJAEWYty8nUmiLSAOIPRsR3gK8Bn6281XVR0kgdN0bEqDyNiIjv5vr3O1LDtqxbq12AtwrLbaL2/Qfru2yvlmr7XXEDcDbwRdJR6+YLRrwJjATmANd1dxNUPn3cHnlsVOANYAVpfNetxinp3Hwae56kfUlH3p8HjpT0rVrrme3qnExth5M0QtLwQtUoYHku759vUII0xuRvSUNgnS5pn7z+QEkH5PrPSxpUqd+OMLZl3Vrt1rKWdFq0loeA0/J4lP2AvwEq1zer7XfFXcBngCOpMkampOH5aPdWYBZp6K1aPkUa/7LibeA00hidf5vrfgv8laQ9JPUHTqksHBFXFb5cVAYrf5N0Q9kXJPkI1VqS7+a1ZugPXKk0iPhG0niLU3P9ImCypGmka3XXRMSbki4F7pPUi3Rq8dyIeFTSD4D/kbSJdN3v7G0JICIWbm3diPhDtXaBV2psc7WkOfnfTX5JGvey+H6npF/w3kDMN0TEk5I6qu13Yb23JT0ArImITWzpkpyI15Ouw04pvimpjfeOpE8CpneJa72kicBsSesjYoakmaSxU5eTxiV9o9o+F7bxuqTPAA9JWhURM7pb3mxX4/FMrTRyUpkVESObHMoOtbX9zom8E/hcRCx5H9v/OHB9RHxSUidwVERs2Mo6/SNiXT4t/BAwNSI6t7dts1bh07xmJSbpENKR+/3vM5F+BbgFuBQgIkZvLZFm1+WbrjqBO5xIzbrnI1MzM7M6+cjUzMysTk6mZmZmdXIyNTMzq5OTqZmZWZ2cTM3MzOrkZGpmZlYnJ1MzM7M6OZmamZnV6U/Ijwhsa6iHkgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nb_points = 1000\n", "h12 = np.linspace(states.ix[1, 'h'], states.ix[2, 'h'], nb_points)\n", "h23 = np.linspace(states.ix[2, 'h'], states.ix[3, 'h'], nb_points)\n", "h34 = np.linspace(states.ix[3, 'h'], states.ix[4, 'h'], nb_points)\n", "h41 = np.linspace(states.ix[4, 'h'], states.ix[1, 'h'], nb_points)\n", "\n", "s12 = np.linspace(states.ix[1, 's'], states.ix[2, 's'], nb_points)\n", "s23 = np.linspace(states.ix[2, 's'], states.ix[3, 's'], nb_points)\n", "s34 = np.linspace(states.ix[3, 's'], states.ix[4, 's'], nb_points)\n", "s41 = np.linspace(states.ix[4, 's'], states.ix[1, 's'], nb_points)\n", "L_h = [h12, h23, h34, h41]\n", "L_s = [s12, s23, s34, s41]\n", "\n", "for i in range(len(L_s)):\n", " plt.plot(L_s[i],L_h[i]/1e6,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('Specific enthalpy $h$ (=x$10^6$ J/kg)')\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:py3.6]", "language": "python", "name": "conda-env-py3.6-py" }, "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" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }