It is the chemical reaction part of the air pollution model developed at The Dutch National Institute of Public Health and Environmental Protection (RIVM) and it is described by Verwer in [Ver94].
The parallel-IVP-algorithm group of CWI contributed this problem to the test set. The software part of the problem is in the file pollu.f available at [MM08].
pollution (times = seq(0, 10, 0.1), yini = NULL, parms = list(), method = mebdfi, ...)
y
has a name attribute, the names will be used to label the output
matrix.times
must be the initial time.deSolve
with up to as many rows as elements in
times
and as many
columns as elements in yini
, plus an additional column (the first)
for the time value. There will be one row for each element in times
unless the
solver returns with an unrecoverable error. If
yini
has a names attribute, it will be used to label the columns
of the output value.
[MM08] F. Mazzia and C. Magherini. Test Set for Initial Value Problem Solvers, release 2.4. Department of Mathematics, University of Bari and INdAM, Research Unit of Bari, February 2008.
[Ver94] J.G. Verwer. Gauss-Seidel iteration for stiff ODEs from chemical kinetics. SIAM J. Sci.bComput., 15(5):1243 -- 1259,
out <- pollution()
plot(out, lwd = 2, which = 1:9)
out1 <- pollution(times = 0:60)
# compare with reference solution
max(abs(out1[nrow(out1),-1] - reference("pollution")))
Run the code above in your browser using DataLab