This repo contains a series of efforts at numerically solving a simple 2D heat conduction problem having a simple convection boundary condition applied to a curved boundary, using FiPy.
The intention is to figure out how to apply such a boundary condition in FiPy; until now, it was not obvious or clear to me how this is done.
FiPy is a Python-based solver for partial differential equations, created and maintained by a team at NIST.
The following is a sketch of the transient heat conduction problem:
The matching analytical solution is obtained from the UNL Exact Analytical Conduction Toolbox in the form of MATLAB code, which I have put in the form of scripts for use with GNU Octave.
This repo contains a series of efforts to obtain agreement between that analytical solution, and a script that solves the problem via FiPy. I interacted with the team at NIST using their FiPy mailing list. To find the relevant thread from late 2018, search the mailing list archive for "how to apply convection boundary condition in 2D?". Eventually it appears that the FiPy team succeeded in modifying their code as required. Part of their work is found in their forked repo. The resulting Python script is here. This report shows good agreement between FiPy and the analytical solution for a particular set of problem input parameters, after several mesh refinements.
GNU General Public License v3.0