-
Notifications
You must be signed in to change notification settings - Fork 13
/
rp1.txt
74 lines (66 loc) · 2.42 KB
/
rp1.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
begin_html [use: jsMath]
<h1>[www.clawpack.org Clawpack] Fortran file rp1.f</h1>
The file can have a different name, but should contain a subroutine called
rp1.
For additional documentation on Riemann solvers, see the CLAWPACK
documentation at [www.clawpack.org/doc.html], or the book
[www.clawpack.org/book.html FVMHP].
The rp1 subroutine should have the following form:
<hr>
end_html
c
c
c =====================================================
subroutine rp1(maxm,meqn,mwaves,mbc,mx,ql,qr,auxl,auxr,
& wave,s,amdq,apdq)
c =====================================================
c
implicit double precision (a-h,o-z)
dimension ql(1-mbc:maxmx+mbc, meqn)
dimension qr(1-mbc:maxmx+mbc, meqn)
dimension auxl(1-mbc:maxmx+mbc, *)
dimension auxr(1-mbc:maxmx+mbc, *)
dimension s(1-mbc:maxmx+mbc, mwaves)
dimension wave(1-mbc:maxmx+mbc, meqn, mwaves)
dimension amdq(1-mbc:maxmx+mbc, meqn)
dimension apdq(1-mbc:maxmx+mbc, meqn)
c
c Compute wave, s, amdq, apdq...
c
return
end
begin_html
<hr>
<dl><dt><b>On input:</b></dt>
<dd> maxm = leading dimension of the q and aux arrays.</dd>
<dd> meqn = number of equations in the system (second dimension of q).</dd>
<dd> mwaves = number of waves returned from the Riemann solver,</dd>
<dd> mbc = number of ghost cells on left and on right.</dd>
<dd> mx = number of interior grid cells.</dd>
<dd> ql contains the state vector at the left edge of each cell,</dd>
<dd> qr contains the state vector at the right edge of each cell,</dd>
<dd> auxl contains the auxiliary array at the left edge,</dd>
<dd> auxr contains the auxiliary array at the right edge,</dd>
<p>
</dl>
<p>
The i'th Riemann problem has left state qr(i-1,:) and right state ql(i,:).
<p>
The Riemann solver may use data in the aux array, in which case the
values auxr(i-1,:) and auxl(i,:) should generally be used.
<p>
From the basic clawpack routine step1, rp1 is called with ql = qr = q
and auxl = auxr = aux.
<p>
<p>
<dl><dt><b>On output:</b></dt>
<dd> wave contains the waves, </dd>
<dd> s the speeds, </dd>
<dd> amdq the left-going flux difference $\A^-\Delta Q$, </dd>
<dd> apdq the right-going flux difference $\A^+\Delta Q$ </dd>
</dl>
<p>
</font>
</td>
</tr>
</table>