Skip to content
Snippets Groups Projects
Commit 273c1a96 authored by Andreas Dedner's avatar Andreas Dedner
Browse files

add an Euler problem showing a similar issue at the boundary

to the shallow water example. Can be seen when limiter tolerance is changed
from 1 to 1e-10
parent 580e02f9
No related branches found
No related tags found
1 merge request!4Latest features added to dune-fem-dg.
Pipeline #11926 failed
......@@ -114,3 +114,12 @@ def radialSod3(dim,gamma):
CompressibleEuler(dim,gamma).toCons([0.125,0,0,0.1])),\
[-0.5, -0.5], [0.5, 0.5], [20, 20], 0.5,\
"radialSod3"
def leVeque(dim,gamma):
space = Space(dim,dim+2)
x = SpatialCoordinate(space.cell())
initial = conditional(abs(x[0]-0.15)<0.05,1.2,1)
return CompressibleEulerDirichlet(dim,gamma),\
as_vector( [initial,0,0,initial] ),\
[0, 0], [1, 0.25], [64, 16], 0.7,\
"leVeque1D"
......@@ -3,7 +3,7 @@
# 0 = only dg solution | 1 = only reconstruction | 2 = both
femdg.limiter.admissiblefunctions: 1
# tolerance for shock indicator
femdg.limiter.tolerance: 1
femdg.limiter.tolerance: 1 # 1e-10
# threshold for avoiding over-excessive limitation
femdg.limiter.limiteps: 1e-8
......
......@@ -11,7 +11,8 @@ gamma = 1.4
dim = 2
from euler import sod as problem
#from euler import radialSod3 as problem
# from euler import leVeque as problem
# from euler import radialSod3 as problem
Model, initial, x0,x1,N, endTime, name = problem(dim,gamma)
......
......@@ -3,9 +3,9 @@
# 0 = only dg solution | 1 = only reconstruction | 2 = both
femdg.limiter.admissiblefunctions: 1
# tolerance for shock indicator
femdg.limiter.tolerance: 1
femdg.limiter.tolerance: 1 # 1e-10
# threshold for avoiding over-excessive limitation
femdg.limiter.limiteps: 1e-8
femdg.limiter.limiteps: 1e-15
# GENERAL
#--------
......
......@@ -33,8 +33,8 @@ def ShallowWater(topography,g):
return (hL - hR)/(0.5*(hL + hR))
def S_ns(t,x,U,DU): # or S_s for a stiff source
return as_vector( [0, *(-U[0]*g*grad(topography(x))) ])
boundary = {range(1,5): lambda t,x,u,n: Model.F_c(t,x,u)*n}
# boundary = {range(1,5): lambda t,x,u: u}
# boundary = {range(1,5): lambda t,x,u,n: Model.F_c(t,x,u)*n}
boundary = {range(1,5): lambda t,x,u: u}
return Model
# example 5.1 and 7.1 from
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment