FEM2D_HEAT_SQUARE
FEM2D_HEAT applied to a SQUARE region
FEM2D_HEAT_SQUARE
is a FORTRAN90 library which
defines the geometry of a square region, as well as boundary and initial
conditions for a given heat problem, and is called by FEM2D_HEAT
as part of a solution procedure.
The mesh uses 81 nodes and forms 32 quadratic triangular elements.
We assume that the equation to be solved is
dUdT  Laplacian U + K * U = F
with
K = 0,
and
F = (2*pi*pi1)*sin(pi*x)*sin(pi*y)*exp(t).
The exact solution is:
U = sin(pi*x) * sin(pi*y) * exp(t).
which is the formula we use to define our functions G
(for the boundary conditions) and H (for the initial
conditions).
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
FEM2D_HEAT_SQUARE is available in
a FORTRAN90 version.
Related Data and Programs:
CONTOUR_SEQUENCE4,
a MATLAB program which
makes a sequence of contour plots based on a single XY coordinate file,
and a sequence of Z(X,Y) data files.
FEM2D_HEAT,
a FORTRAN90 program which
uses the finite element method and the backward Euler method to solve the
2D timedependent heat equation on an arbitrary triangulated region.
Source Code:

square.f90,
the usersupplied routines to evaluate the right hand side,
linear coefficient, initial and boundary conditions;
Examples and Tests:

square_output.txt,
the output file.

square_nodes.png,
a PNG image of
the 49 nodes;

square_nodes.txt,
a text file containing a list, for each node, of its X and Y
coordinates;

square_elements.png,
a PNG image of
the 32 elements;

square_elements.txt,
a text file containing a list, for each element, of the six
nodes that compose it;

square_time.txt,
a text file containing the solution times;

u0000.txt,
the solution U at time step 0;

u0001.txt,
the solution U at time step 1;

u0002.txt,
the solution U at time step 2;

u0003.txt,
the solution U at time step 3;

u0004.txt,
the solution U at time step 4;

u0005.txt,
the solution U at time step 5;

u0006.txt,
the solution U at time step 6;

u0007.txt,
the solution U at time step 7;

u0008.txt,
the solution U at time step 8;

u0009.txt,
the solution U at time step 9;

u0010.txt,
the solution U at time step 10;
The MATLAB program CONTOUR_SEQUENCE4 can make contour
plots from the sequence of solutions:

u0000.png,
the solution U at time step 0;

u0001.png,
the solution U at time step 1;

u0002.png,
the solution U at time step 2;

u0003.png,
the solution U at time step 3;

u0004.png,
the solution U at time step 4;

u0005.png,
the solution U at time step 5;

u0006.png,
the solution U at time step 6;

u0007.png,
the solution U at time step 7;

u0008.png,
the solution U at time step 8;

u0009.png,
the solution U at time step 9;

u0010.png,
the solution U at time step 10;
List of Routines:

DIRICHLET_CONDITION sets the value of a Dirichlet boundary condition.

INITIAL_CONDITION sets the initial condition.

K_COEF evaluates the coefficient K(X,Y,T) function.

RHS gives the righthand side of the differential equation.
You can go up one level to
the FORTRAN90 source codes.
Last revised on 29 December 2010.