Skip to content

Commit af734c2

Browse files
committed
SWE: fix the weak form in the explicit scheme
1 parent af0adaf commit af734c2

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

examples/fluids/shallow-water/qfunctions/geostrophic.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,19 @@ CEED_QFUNCTION(SWExplicit)(void *ctx, CeedInt Q, const CeedScalar *const *in,
154154
// Explicit spatial terms of G_1(t,q):
155155
// Explicit terms multiplying v
156156
// - (omega + f) * khat curl u - grad(|u|^2/2) // TODO: needs fix with weak form
157-
v[0][i] = - wdetJ*(u[0]*du[0][0] + u[1]*du[0][1] + f*u[1]);
157+
// -- grad(|u|^2/2) = u^T grad u
158+
// -- khat curl u = [-u_1, u_0]
159+
v[0][i] = - wdetJ*(u[0]*du[0][0] + u[1]*du[1][0] - f*u[1]);
158160
// No explicit terms multiplying dv
159161
dv[0][0][i] = 0;
160162
dv[1][0][i] = 0;
161163

162164
// Explicit spatial terms of G_2(t,q):
163165
// Explicit terms multiplying v
164166
// - (omega + f) * khat curl u - grad(|u|^2/2) // TODO: needs fix with weak form
165-
v[1][i] = - wdetJ*(u[0]*du[1][0] + u[1]*du[1][1] - f*u[0]);
167+
// -- grad(|u|^2/2) = u^T grad u
168+
// -- khat curl u = [-u_1, u_0]
169+
v[1][i] = - wdetJ*(u[0]*du[0][1] + u[1]*du[1][1] + f*u[0]);
166170
// No explicit terms multiplying dv
167171
dv[0][1][i] = 0;
168172
dv[1][1][i] = 0;

0 commit comments

Comments
 (0)