begin_html [use: jsMath] [use: doc/doc.css]
CLAWPACK Sample Code
Advection equation for solid body rotation
Edge velocities are stored in aux array (see [code:setaux.f]) with
velocity specified by differencing the streamfunction defined in
[code: psi.f]. The velocities are $u = \psi_y, v = -\psi_x$.
Example [book/chap20/rotate]
to accompany the book
[www.clawpack.org/book.html Finite Volume Methods for Hyperbolic Problems]
by R. J. LeVeque.
Converted to [www.clawpack.org Clawpack 4.4] form in 2009.
Plots of results
After running this code and creating plots via "make .plots", you should be
able to view the plots in [link: _plots/_PlotIndex.html].
Fortran files
- [code: Makefile]
- Determines which version of fortran files
are used when compiling the code with make and specifies where output and
plots should be directed. Type "make .help" at the Unix prompt for options.
- [code: driver.f]
-
The driver routine allocates storage and then calls the main Clawpack
routine.
- [code: setprob.f]
-
A routine by this name is called by the library routine
[clawcode: clawpack/2d/lib/claw2ez.f]
and is generally used to set any values needed for the specific problem
being solved.
- [code: rpn2ad.f]
- Normal Riemann solver (normal to cell interface).
- [code: rpt2ad.f]
- Transverse Riemann solver.
- [code: qinit.f]
-
This subroutine sets the initial data at time $t=0$.
- [code: setaux.f]
-
Computes the advection velocity normal to each cell edge and stores in aux
arrays for use in the Riemann solvers.
- [code: psi.f]
-
Defines the stream function $\psi(x,y)$ for advection. The advection
velocity is $u = \psi_y, v = -\psi_x$.
Python files
- [code: setrun.py]
- This file contains a function that
specifies what run-time parameters will be used.
- [code: setplot.py]
- This file contains a function that
specifies what plots will be done and
sets various plotting parameters.
Data files
Warning: These files are generally changed
when setting up a run and the versions here may not be the ones actually
used.
- [code: claw.data]
- This file contains a number of
parameter values that are used by CLAWPACK.
The values in this file are read by the library routine
[clawcode: clawpack/2d/lib/claw2ez.f].
Each line contains one or more values to be read
in, followed by comments that are ignored by the Fortran code but
may be used by Pythons scripts.
Some parameters that you might want to modify are described in the
[http://kingkong.amath.washington.edu/clawpack/users documentation].
- [code: setprob.data]
- This file may contain various
parameters used in setting the initial conditions or otherwise setting up
the problem.
Library routines
In addition to the Fortran routines in this library, several library
routines from [claw:clawpack/2d/lib] are used. See the [code: Makefile]
to determine which ones are used.
end_html