{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# PDE python exercise 3" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In this exercise we will apply an iterative method to solve an elliptic PDE. The problem we consider is a square plate and in particular the distribution of the temperature for a given set of boundary conditions. This plate is illustrated in the figure below as well as its boundary conditions." ] }, { "attachments": { "image-2.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "![image.png](attachment:image-2.png)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "The plate is of size 1 in x and 1 in y. Dirichlet boundary conditions are applied to each edge of the plate. The temperature distribution in the plate is governed by the steady-state heat equation which reads:\n", "\n", "$$ \\frac{\\partial^2 T}{\\partial x^2} +\\frac{\\partial^2 T}{\\partial y^2} = 0$$\n", "\n", "We want to solve this problem using a centered finite difference for both partial derivatives and the Gauss-Seidel's method." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "In this exercise, you need to :\n", "\n", "On paper:\n", "1. Discretize the numerical scheme using the chosen finite difference\n", "2. Formulate the numerical scheme using the Gauss-Seidel's method\n", "\n", "Within the python notebook:\n", "\n", "3. Discretize the independent variables $x$ and $y$ using a `numpy meshgrid`, first you can use a step size of $1/20$\n", "4. Write a function which takes in the discretized independent variables as well as the number of iteration for the Gauss-Seidel's method and return the temperature distribution. The boundary conditions will be enforced within the function.\n", "5. Plot the resulting temperature distribution using a 3D surface plot when using 200 iterations.\n", "6. What happens when you refined the mesh grid (decrease by a factor of 2 the step size)?\n", "7. What happens when you solve the heat equation using only 20 iterations?\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.9.10 | packaged by conda-forge | (main, Feb 1 2022, 21:27:43) \n[Clang 11.1.0 ]" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "072f120aa02d08ea61d001fa93115a43c81ff98089754e42d3890c56566da5f7" } } }, "nbformat": 4, "nbformat_minor": 2 }