@@ -94,7 +94,7 @@ function initial_condition_manufactured(x, t,
94
94
mesh)
95
95
eta = exp (t) * cospi (2 * (x - 2 * t))
96
96
v = exp (t / 2 ) * sinpi (2 * (x - t / 2 ))
97
- D = 3.0
97
+ D = 5 + 2 * cospi ( 2 * x)
98
98
return SVector (eta, v, D)
99
99
end
100
100
@@ -105,31 +105,61 @@ A smooth manufactured solution in combination with [`initial_condition_manufactu
105
105
"""
106
106
function source_terms_manufactured (q, x, t, equations:: SvaerdKalischEquations1D )
107
107
g = equations. gravity
108
- D = q[3 , 1 ] # D is constant, thus simply take the first entry
109
108
eta0 = equations. eta0
110
109
alpha = equations. alpha
111
110
beta = equations. beta
112
111
gamma = equations. gamma
113
- a1 = cospi (t - 2 * x)
114
- a2 = sinpi (t - 2 * x)
115
- a3 = cospi (4 * t - 2 * x)
116
- a4 = sinpi (4 * t - 2 * x)
117
-
118
- dq1 = 8 * pi ^ 3 * alpha * sqrt (g * (D + eta0)) * (D + eta0)^ 2 * exp (t) * a4 +
119
- 2 * pi * (D + exp (t) * a3) * exp (t / 2 ) * a1 - 2 * pi * exp (3 * t / 2 ) * a2 * a4 -
120
- 4 * pi * exp (t) * a4 + exp (t) * a3
121
- dq2 = 2 * pi * D * g * exp (t) * a4 - D * exp (t / 2 ) * a2 / 2 -
122
- pi * D * exp (t / 2 ) * a1 - 2 * pi * D * exp (t) * a2 * a1 +
123
- 8 * pi ^ 3 * alpha * (D + eta0)^ 2 * sqrt (D * g + eta0 * g) * exp (3 * t / 2 ) * a1 *
124
- a3 - 2 * pi ^ 2 * beta * (D + eta0)^ 3 * exp (t / 2 ) * a2 -
125
- 4 * pi ^ 3 * beta * (D + eta0)^ 3 * exp (t / 2 ) * a1 +
126
- 2 * pi * g * exp (2 * t) * a4 * a3 +
127
- 8.0 * pi ^ 3 * gamma * (D + eta0)^ 3 * sqrt (D * g + eta0 * g) * exp (t / 2 ) * a1 -
128
- exp (3 * t / 2 ) * a2 * a3 / 2 - pi * exp (3 * t / 2 ) * a1 * a3 -
129
- 2 * pi * exp (2 * t) * a2 * a1 * a3
130
- return SVector (dq1, dq2, 0.0 )
112
+ a1 = sinpi (2 * x)
113
+ a2 = cospi (2 * x)
114
+ a3 = sinpi (- t + 2 * x)
115
+ a4 = cospi (- t + 2 * x)
116
+ a5 = sinpi (t - 2 * x)
117
+ a6 = cospi (t - 2 * x)
118
+ a7 = sinpi (- 4 * t + 2 * x)
119
+ a8 = exp (t / 2 )
120
+ a9 = exp (t) * cospi (- 4 * t + 2 * x)
121
+ a10 = eta0 + 2.0 * a2 + 5.0
122
+ a11 = sqrt (g * a10)
123
+ a12 = 0.2 * eta0 + 0.4 * a2 + 1
124
+ a13 = alpha * a11 * a12^ 2
125
+ a14 = sqrt (a13)
126
+ a15 = - 1.0 * pi * a13 * a1 / a10 - 0.8 * pi * alpha * a11 * a12 * a1
127
+ a16 = - 20.0 * pi ^ 2 * a14 * a9 - 10.0 * pi * a14 * a15 * exp (t) * a7 / (a13)
128
+ a17 = - 2 * pi * exp (t) * a7 - 4.0 * pi * a1
129
+ a18 = a9 + 2.0 * a2 + 5.0
130
+ a19 = a17 * a8 * a3 + 2 * pi * a18 * a8 * a4
131
+ a20 = a14 * (40.0 * pi ^ 3 * a14 * exp (t) * a7 - 40.0 * pi ^ 2 * a14 * a15 * a9 / (a13) -
132
+ 20.0 * pi ^ 2 * a14 * a15 * exp (t) * a1 * a7 / (a13 * a10) -
133
+ 16.0 * pi ^ 2 * a14 * a15 * exp (t) * a1 * a7 / (alpha * a11 * a12^ 3 ) -
134
+ 10.0 * pi * a14 *
135
+ (- 2.0 * pi ^ 2 * a13 * a2 / a10 - 1.6 * pi ^ 2 * alpha * a11 * a12 * a2 +
136
+ 3.2 * pi ^ 2 * alpha * a11 * a12 * a1^ 2 / a10 + 0.56 * pi ^ 2 * alpha * a11 * a1^ 2 ) *
137
+ exp (t) * a7 / (a13) -
138
+ 10.0 * pi * a14 * a15^ 2 * exp (t) * a7 / (alpha^ 2 * g * a12^ 4 * a10))
139
+
140
+ dq1 = - 5.0 * a20 + a19 + 4 * pi * exp (t) * a7 + a9 - 5.0 * a14 * a16 * a15 / (a13)
141
+
142
+ dq2 = - 25.0 * beta * (- 2 * pi ^ 2 * a8 * a3 + 4 * pi ^ 3 * a8 * a4) * a12^ 2 * a10 +
143
+ 100.0 * pi * beta * (2 * pi ^ 2 * a8 * a3 + pi * a8 * a4) * a12^ 2 * a1 +
144
+ 40.0 * pi * beta * (2 * pi ^ 2 * a8 * a3 + pi * a8 * a4) * a12 * a10 * a1 -
145
+ 2 * pi * g * a18 * exp (t) * a7 +
146
+ 100.0 * pi ^ 3 * gamma * a11 * a12^ 2 * a10 * a8 * a4 -
147
+ 300.0 * pi ^ 3 * gamma * a11 * a12^ 2 * a8 * a1 * a3 -
148
+ 80.0 * pi ^ 3 * gamma * a11 * a12 * a10 * a8 * a1 * a3 -
149
+ pi ^ 3 * gamma * a11 *
150
+ (- 50.0 * (3.2 * a12 * a2 - 1.28 * a1^ 2 ) * a10 * a6 -
151
+ 50.0 * (4.0 * a2 / a10 + 0.16 * a1^ 2 / a12^ 2 ) * a12^ 2 * a10 * a6 -
152
+ 200.0 * a12^ 2 * a10 * a6 - 1200.0 * a12^ 2 * a1 * a5 - 400.0 * a12^ 2 * a2 * a6 +
153
+ 800.0 * a12^ 2 * a1^ 2 * a6 / a10 - 320.0 * a12 * a10 * a1 * a5 +
154
+ 960.0 * a12 * a1^ 2 * a6) * a8 / 2 - 10.0 * pi * a14 * a16 * a8 * a4 -
155
+ 2.5 * a20 * a8 * a3 + (5.0 * a20 + 5.0 * a14 * a16 * a15 / (a13)) * a8 * a3 / 2 +
156
+ (a8 * a3 / 2 - pi * a8 * a4) * a18 + a17 * exp (t) * a3^ 2 / 2 -
157
+ (a19) * a8 * a3 / 2 + 3 * pi * a18 * exp (t) * a3 * a4 -
158
+ 2.5 * a14 * a16 * a15 * a8 * a3 / (a13)
159
+
160
+ return SVector (dq1, dq2, zero (dq1))
131
161
end
132
- #
162
+
133
163
function create_cache (mesh,
134
164
equations:: SvaerdKalischEquations1D ,
135
165
solver,
0 commit comments