From c8ca33e36889a0c1515c2ca67bb953c91e639239 Mon Sep 17 00:00:00 2001 From: Donaita <113550264+Donaita@users.noreply.github.com> Date: Mon, 25 Nov 2024 20:31:45 -0500 Subject: [PATCH] Parameters changes --- projects/2024/fires-brick/tests/03-test.ipynb | 101 ++++-------------- 1 file changed, 19 insertions(+), 82 deletions(-) diff --git a/projects/2024/fires-brick/tests/03-test.ipynb b/projects/2024/fires-brick/tests/03-test.ipynb index 6550f02..36cb957 100644 --- a/projects/2024/fires-brick/tests/03-test.ipynb +++ b/projects/2024/fires-brick/tests/03-test.ipynb @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 1, "id": "16357455-f810-4977-90fe-971e57568496", "metadata": {}, "outputs": [], @@ -69,13 +69,12 @@ "'''Generate the target function f'''\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", - "from scipy.interpolate import interp1d\n", - "from scipy.integrate import quad" + "from scipy.interpolate import interp1d" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "id": "9bb3ccf4-e996-4cec-b1d7-278da9e61a41", "metadata": {}, "outputs": [], @@ -91,7 +90,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 3, "id": "aed6363d-54d1-4b46-ae89-5ebbe5041446", "metadata": {}, "outputs": [], @@ -102,7 +101,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 4, "id": "9fc606b1-4806-416a-a9d0-3edbed6dd877", "metadata": {}, "outputs": [], @@ -113,7 +112,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "id": "a91f3b0d-eaec-4a13-8584-61d87dba8344", "metadata": {}, "outputs": [], @@ -124,18 +123,18 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 6, "id": "3ccbd691-7a12-41bf-8a57-9d67b215f5b3", "metadata": {}, "outputs": [], "source": [ - "'''Again the function for the obtaining of the basis functions'''\n", + "'''Global basis functions'''\n", "from pyfires import global_basis_function" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 7, "id": "833899d3-db7a-4e55-9634-e7e2e82c4fc1", "metadata": {}, "outputs": [], @@ -146,7 +145,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 8, "id": "62475559-6309-4f7a-8ff5-a2aba86d39e3", "metadata": {}, "outputs": [], @@ -165,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 9, "id": "f4a41021-5a7f-46d6-a3d6-5ac03432a711", "metadata": {}, "outputs": [ @@ -207,60 +206,7 @@ }, { "cell_type": "code", - "execution_count": 17, - "id": "6ac71142-a295-458f-8525-8b8f34ee2fdc", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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jY21zpw5Y9e2jBOMnD/44APrnXfesY4dO2b93//9n7Vu3TorJCTEKisrs2tbxglGzld89tln1k9/+lPrl7/8pTVt2rQg78Rswcj59ddft2JiYqz6+nqfWyD16YJy9913W4899pjP2MiRI61nnnmmy/lPP/20NXLkSJ+xRx991Lr33nu992fMmGE98MADPnMmTpxozZw5M0Bn3fsEI+fvS05OpqD8f8HO2rIs65tvvrGio6OtN9544/pPuJeyI2fLsqy0tDTrX/7lX67vZHuxYOX8zTffWOPGjbNee+01a86cOTd8QQlGzq+//roVGxsb8HP9vj77Fk97e7tqamqUk5PjM56Tk6P9+/d3ecyHH37Yaf7EiRN18OBBeTyeq87pbs2+Llg5ozO7sm5ra5PH49GgQYMCc+K9jB05W5alPXv26MSJE/r7v//7wJ18LxLMnP/whz9o8ODBmjdvXuBPvJcJZs6tra1KTk7W0KFDNWXKFB0+fDig595nC8qXX36pjo4OJSQk+IwnJCSooaGhy2MaGhq6nP/NN9/oyy+/vOqc7tbs64KVMzqzK+tnnnlGP/3pT5WVlRWYE+9lgplzU1OTBgwYoLCwMOXm5qqoqEjZ2dmB30QvEKyc//KXv6ikpETFxcXBOfFeJlg5jxw5Ups3b9auXbv09ttvKyIiQuPGjdPJkycDdu698teM/eFwOHzuW5bVaeyH5v/tuL9r3giCkTO6FsysX3jhBb399tuqrKxUREREAM629wpGztHR0aqtrVVra6v27NmjRYsW6dZbb9X48eMDd+K9TCBzbmlp0T//8z+ruLhY8fHxgT/ZXizQr+d7771X9957r/fxcePGacyYMSoqKtJLL70UkHPuswUlPj5eISEhnRpiY2Njp2Z4RWJiYpfzQ0NDFRcXd9U53a3Z1wUrZ3QW7KxffPFFrVq1Srt371ZqampgT74XCWbO/fr10/DhwyVJd911l44fP67CwsIbsqAEI+ejR4/qs88+04MPPuh9/PLly5Kk0NBQnThxQj/72c8CvBOz2fVndL9+/fR3f/d3Ab2C0mff4gkLC1N6eroqKip8xisqKjR27Nguj8nMzOw0v7y8XBkZGXI6nVed092afV2wckZnwcz63//93/Wv//qvKisrU0ZGRuBPvhex8zVtWZbcbvf1n3QvFIycR44cqbq6OtXW1npvU6dO1T/8wz+otrZWLpcraPsxlV2vZ8uyVFtbqyFDhgTmxP//on3Wla9WlZSUWMeOHbPy8/OtqKgo67PPPrMsy7KeeeYZa/bs2d75V75a9dRTT1nHjh2zSkpKOn216i9/+YsVEhJirV692jp+/Li1evVqvmYchJzdbrd1+PBh6/Dhw9aQIUOsJUuWWIcPH7ZOnjxp+/5MEoys/+3f/s0KCwuz/vznP/t8XbClpcX2/ZkiGDmvWrXKKi8vt06dOmUdP37c+uMf/2iFhoZaxcXFtu/PFMHI+W/xLZ7g5Lx8+XKrrKzMOnXqlHX48GHr4YcftkJDQ63//d//Ddh59+mCYlmW9ac//clKTk62wsLCrDFjxlhVVVXex+bMmWPdd999PvMrKyuttLQ0KywszBo2bJi1cePGTmtu377duv322y2n02mNHDnS2rFjR7C3YbxA5/zpp59akjrd/nadG1Ggs05OTu4y62XLltmwG3MFOudnn33WGj58uBUREWENHDjQyszMtEpLS+3YitGC8Wf091FQvhXonPPz862bb77ZCgsLswYPHmzl5ORY+/fvD+g5Oyzr/3/yBQAAwBB99jMoAACg96KgAAAA41BQAACAcSgoAADAOBQUAABgHAoKAAAwDgUFAAAYh4ICAACMQ0EBAADGoaAAAADjUFAAAIBxKCgAAMA4/w+9y8N/FMFnKQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "'''Data (boundary conditions for testing purposes)'''\n", - "'''Building the lift function'''\n", - "u_a=20\n", - "u_b=40\n", - "\n", - "Lift_shape_pts = [(0,u_a),(0.05,u_b)]\n", - "Lift=np.array(Lift_shape_pts)\n", - "f_lift=interp1d(Lift[:,0],Lift[:,1])\n", - "\n", - "f_prime=((u_b-u_a)/(x_max-x_min))\n", - "Lift_prime_shape_pts = [(0,f_prime),(0.05,f_prime)]\n", - "Lift_prime=np.array(Lift_prime_shape_pts)\n", - "f_lift_prime=interp1d(Lift_prime[:,0],Lift_prime[:,1])\n", - "\n", - "plt.figure()\n", - "plt.plot(np.linspace(0,0.05,200),f_lift(np.linspace(0,0.05,200)))\n", - "plt.grid()\n", - "plt.show()\n", - "\n", - "plt.figure()\n", - "plt.plot(np.linspace(0,0.05,200),f_lift_prime(np.linspace(0,0.05,200)))\n", - "plt.grid()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, + "execution_count": 10, "id": "e7a4898b-7346-4d82-8b1f-c16c7fdec149", "metadata": {}, "outputs": [ @@ -290,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 11, "id": "8b40bfc8-eb32-41fc-a7f4-dc7932f719b2", "metadata": {}, "outputs": [], @@ -332,7 +278,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 12, "id": "04832332-26d2-4f0c-9b7b-d3e1a4a1bf1d", "metadata": {}, "outputs": [], @@ -360,29 +306,20 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 13, "id": "dae953aa-54ff-4dca-a9ce-65cd18b29976", "metadata": {}, "outputs": [ { "ename": "NameError", - "evalue": "name 'u_star' is not defined", + "evalue": "name 'b_vec' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[28], line 6\u001b[0m\n\u001b[1;32m 3\u001b[0m c_star_vec \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mlinalg\u001b[38;5;241m.\u001b[39msolve(A_mtrx, b_vec)\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mfigure()\n\u001b[0;32m----> 6\u001b[0m plt\u001b[38;5;241m.\u001b[39mplot(np\u001b[38;5;241m.\u001b[39mlinspace(x_min,x_max,\u001b[38;5;241m2000\u001b[39m),u_star(np\u001b[38;5;241m.\u001b[39mlinspace(x_min,x_max,\u001b[38;5;241m2000\u001b[39m)),label\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mRayleigh-Ritz solution\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m#plt.plot(np.linspace(x_min,x_max,2000),sol(np.linspace(x_min,x_max,2000)),label='Analytic solution')\u001b[39;00m\n\u001b[1;32m 8\u001b[0m plt\u001b[38;5;241m.\u001b[39mxlabel(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPosition along the width of the channel wall [m]\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "\u001b[0;31mNameError\u001b[0m: name 'u_star' is not defined" + "Cell \u001b[0;32mIn[13], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;124;03m'''Solution'''\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;124;03m'''Compute optimal coefficient vector'''\u001b[39;00m\n\u001b[0;32m----> 3\u001b[0m c_star_vec \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mlinalg\u001b[38;5;241m.\u001b[39msolve(A_mtrx, b_vec)\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mfigure()\n\u001b[1;32m 6\u001b[0m plt\u001b[38;5;241m.\u001b[39mplot(np\u001b[38;5;241m.\u001b[39mlinspace(x_min,x_max,\u001b[38;5;241m2000\u001b[39m),u_star(np\u001b[38;5;241m.\u001b[39mlinspace(x_min,x_max,\u001b[38;5;241m2000\u001b[39m)),label\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mRayleigh-Ritz solution\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", + "\u001b[0;31mNameError\u001b[0m: name 'b_vec' is not defined" ] - }, - { - "data": { - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ @@ -421,7 +358,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "a58fc827-f7a7-40ad-9fb8-e75a7b466974", "metadata": {}, "outputs": [],