HOT_POINT is a set of MATLAB routines that describe a particular heat problem suitable for solution by FEM_50_HEAT, a MATLAB program that solves the time dependent heat equation in two dimensions.
The region is the unit square, containing 169 nodes, whose locations are specified in coordinates.txt. You may examine a PNG image of the nodes in nodes.png, created by the TRIANGULATION_PLOT program.
Triangular elements are used (in fact, FEM_50_HEAT can't currently use quadrilateral elements.) The triples of nodes that form each triangle are listed in elements3.txt. You may examine a PNG image of the elements in elements.png, created by the TRIANGULATION_PLOT program..
The pair of data files coordinates.txt and elements3.txt describe an order 3 triangulation. For more examples of this data structure, see the order 3 triangulation.txta page.
You may examine a PNG image of the grid, which displays both the nodes and elements, in grid.png, created by the TRIANGULATION_PLOT program.
Dirichlet boundary conditions are applied on the boundary, of the form
U(x,y,t) = 0.1 * ( x + y )
The list of element sides at which these conditions apply are
given in dirichlet.txt.
The (time dependent) right hand side of the Dirichlet conditions is evaluated by the function u_d.m.
No Neumann boundary conditions are applied. The (empty) list of element sides at which these conditions apply are given in neumann.txt.
The right hand side of the (empty) Neumann conditions is evaluated by the function g.m.
The initial condition is
U(x,y,t_start) = 0
at all points, except a single point in the center, whose
initial value is 1. The initial condition information is
evaluated by the function u_init.m.
The time dependent heat equation has the form
dU/dt = Uxx + Uyy + F(x,y,t)
The right hand side function F(x,y,t) is zero
and is evaluated by the function f.m.
Internal to the script FEM_50_HEAT are statements that choose parameter values. For this run, we suggest using:
FEM_50_HEAT is a MATLAB program which is a modified version of FEM_50 suitable for solving the heat equation.
FEM_IO is a MATLAB library of routines for reading or writing the node, element and data files that define a finite element model.
FEM_SAMPLE is a MATLAB library of routines for evaluating a finite element function defined on an order 3 or order 6 triangulation.
FEM2D_HEAT is a MATLAB program that solves the time dependent heat equation in the unit square.
FEM2D_POISSON is a MATLAB program for solving Poisson's equation on a square, using the finite element method.
FEMPACK is a MATLAB library of routines for finite element calculations.
FREE_FEM_HEAT is a MATLAB program which uses the finite element method and the backward Euler method to solve the time-dependent heat equation on an arbitrary triangulated region in 2D. (The user supplies some information in some problem-dependent subroutines.)
FREE_FEM_POISSON is a MATLAB program for solving Poisson's equation on a triangulated region, using the finite element method.
FREE_FEM_STOKES is a MATLAB program for solving the Stokes equations on a triangulated region, using the finite element method.
HOT_PIPE is a MATLAB library of routines which define a sample problem that can be run with FEM_50_HEAT.
PLTMG is a FORTRAN77 library of routines for solving elliptic partial differential equations using the finite element method with piecewise linear triangles and the multigrid approach.
TRIANGULATION_ORDER3 is a data directory which contains a description and examples of how an order 3 (linear) triangulation is defined by a node and element file.
TRIANGULATION_ORDER6 is a data directory which contains a description and examples of how an order 6 (quadratic) triangulation is defined by a node and element file.
TRIANGULATION_ORDER6_CONTOUR is a MATLAB program which can make contours of a scalar quantity defined on the nodes of an order 6 triangulation.
You can go up one level to the MATLAB source codes.