CLAWPACK
Wave Propagation Approach to Hyperbolic PDE's
CLAWPACK
is a FORTRAN77 program which
applies a wave propagation approach to hyperbolic
partial differential equations in 1, 2 or 3 spatial dimensions.
A beginning user should start by looking at examples 1 and 2,
which are for 1D problems. These examples use a routine called
CLAW1EZ. To use CLAW1EZ, the user writes a simple
main program and three subroutines, and supplies an input data
file. To learn a little more about CLAW1EZ, look at the
text of the routine that is included in the CLAWPACK
source code.
For 2D and 3D problems, there are similar routines called
CLAW2EZ and CLAW3EZ which are the best way to
start working on problems in those dimensions.
Once you have become comfortable with the way CLAWPACK
works, and you want to have more control over how the problems
are solved, you can go to the more advanced interfaces,
which involve the routines named CLAW1, CLAW2 and
CLAW3.
Related Data and Programs:
CLAW_PIX
is a MATLAB program which
is a simplified version of CLAWPACK_PLOT, suitable for the
1D case. It displays all the data automatically,
and saves each frame as a PNG
file, suitable for an animation.
CLAWPACK_PLOT
is a MATLAB program for the visualization of results
obtained from CLAWPACK.
FEM1D,
is an executable FORTRAN77 program which applies the finite element
method, with piecewise linear basis functions, to a two point boundary
value problem;
License:
Copyright 1995-2002 R. J. LeVeque
This software is made available for research and instructional use only.
You may copy and use this software without charge for these non-commercial
purposes, provided that the copyright notice and associated text is
reproduced on all copies. For all other uses (including distribution of
modified versions), please contact the author at the address given below.
This software is made available "as is" without any assurance that it
will work for your purposes. The software may in fact have defects, so
use the software at your own risk.
CLAWPACK Version 4.1, September, 2002
http://www.amath.washington.edu/~claw
Reference:
-
Randy LeVeque,
Finite Volume Methods for Hyperbolic Problems,
Cambridge University Press, 2002.
-
Randy LeVeque,
CLAWPACK Version 4.2 User's Guide,
../../pdf/clawpack.pdf
-
The CLAWPACK Home Page,
http://www.amath.washington.edu/~claw/
Source Code:
Examples and Tests:
-
EXAMPLE01
is a 1D problem, using advection with constant
velocity and outflow boundary conditions. The velocity is set
in the data file.
-
EXAMPLE02
is a 1D problem involving the acoustics equation.
-
EXAMPLE03
is a 2D problem which uses advection at constant
velocity with periodic boundary conditions, and
piecewise constant initial data.
-
EXAMPLE04
is a 2D problem which uses
piecewise constant initial data.
List of Routines in CLAWPACK_1D:
-
B4STEP1 carries out initialization before each step in 1D.
-
BC1 implements standard boundary condition choices for 1D.
-
CLAW1 solves a hyperbolic system of conservation laws in one space dimension.
-
CLAW1EZ is an easy-to-use clawpack driver routine for simple applications.
-
COPYQ1 copies the contents of q1 into q2
-
LIMITER applies a limiter to the waves.
-
OUT1 is an output routine for 1D.
-
SETAUX1 sets auxiliary arrays for 1D.
-
SETPROB can be used to set up problem parameters or read other data.
-
SRC1 sets the source term for 1D.
-
STEP1 takes one time step, updating Q, in 1D.
-
TIMESTAMP prints out the current YMDHMS date as a timestamp.
List of Routines in CLAWPACK:
-
B4STEP1 carries out initialization before each step in 1D.
-
B4STEP2 carries out initialization before each step in 2D.
-
B4STEP3 carries out initialization before each step in 3D.
-
BC1 implements standard boundary condition choices for 1D.
-
BC2 implements standard boundary condition choices for 2D.
-
BC3 implements standard boundary condition choices for 3D.
-
CELLAVE computes the cell fraction lying in the left state.
-
CHKMTH checks whether the method parameters are correct.
-
CLAW1EZ is an easy-to-use clawpack driver routine for simple applications.
-
CLAW1 solves a hyperbolic system of conservation laws in one space dimension.
-
CLAW2EZ is an easy-to-use clawpack driver routine for simple applications.
-
CLAW2 solves a hyperbolic system of conservation laws in two space dimensions.
-
CLAW3EZ is an easy-to-use clawpack driver routine for simple applications.
-
CLAW3 solves a hyperbolic system of conservation laws in three space dimensions.
-
COPYQ1 copies the contents of q1 into q2
-
COPYQ2 copies the contents of q1 into q2
-
COPYQ3 copies the contents of q1 into q2
-
DIMSP2 takes a time step, updating Q, using dimensional splitting.
-
DISMP3 takes a time step, updating Q, using dimensional splitting.
-
DUMP2 dumps the data needed for a possible restart
-
FLUX2 computes modified fluxes along a 1D slice of the 2D grid.
-
FLUX2FW is a modified version of FLUX2.
-
FLUX3_EXTRA is another version of FLUX3.
-
FLUX3 computes modified fluxes F, G and H along a 1D slice of the 3D grid.
-
FSS computes fdisc at distance s between corners (xc0,yc0) and (xc1,yc1).
-
LIMITER applies a limiter to the waves.
-
LIMITER_SECOND applies a limiter to the waves.
-
OUT1 is an output routine for 1D.
-
OUT1_HDF is an output routine for 1D.
-
OUT2 is an output routine for 2D.
-
OUT2_HDF is an output routine for 2D.
-
OUT3 is an output routine for 3D.
-
OUT3_HDF is an output routine for 3D.
-
PHILIM computes a limiter based on wave strengths.
-
RESTART_ANOTHER sets initial conditions for q.
-
RESTART sets initial conditions for q.
-
RESTART_HDF initializes Q using an old HDF output file.
-
RESTART_MORE initializes Q using values from an old HDF output file.
-
RSTRT2 reads in the data needed for a restart
-
SETAUX1 sets auxiliary arrays for 1D.
-
SETAUX2 sets auxiliary arrays for 2D.
-
SETAUX3 sets auxiliary arrays for 3D.
-
SETPROB can be used to set up problem parameters or read other data.
-
SRC1 sets the source term for 1D.
-
SRC2 sets the source term for 2D.
-
SRC3 sets the source term for 3D.
-
STEP1 takes one time step, updating Q, in 1D.
-
STEP1FW takes one time step, updating Q, in 1D.
-
STEP2DS takes one time step, updating Q, in 2D.
-
STEP2 takes one time step, updating Q, in 2D.
-
STEP3DS takes one time step, updating Q, in 3D.
-
STEP3 takes one time step, updating Q, in 3D.
-
ZEROIN computes a zero of a function in an interval.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 12 April 2006.