diff --git a/pydemo/euler/paramBase b/pydemo/euler/paramBase index c6f430d6a148b7af466123ee49129f1efd30ab7f..cba313dd29c863cffd04cb03c51fc44214167e79 100644 --- a/pydemo/euler/paramBase +++ b/pydemo/euler/paramBase @@ -1,5 +1,6 @@ # OMP THREADS #------------ +fem.verboserank: 0 # number of threads used in OMP program fem.parallel.numberofthreads: 4 # write diagnostics file ( diff --git a/pydemo/euler/parameter b/pydemo/euler/parameter index 0c623ba2fae7417e9cbb03f6f518528d9938d3b8..e86b03c6f9d1fa93c651a45d4c9f9cc57cf57080 100644 --- a/pydemo/euler/parameter +++ b/pydemo/euler/parameter @@ -1,6 +1,6 @@ # LIMITER SETTINGS #----------------- -# 0 = only dg solution | 1 = only reconstruction | 2 = both +# 0 = only dg solution | 1 = only reconstruction | 2 = both femdg.limiter.admissiblefunctions: 1 # tolerance for shock indicator femdg.limiter.tolerance: 1 diff --git a/pydemo/euler/shock_tube.py b/pydemo/euler/shock_tube.py index 816025577a3a7ee1e40fe17dcc2ab9fdfa8b1c49..651c129d4711e9ad7b11b7ed447a2573041ec047 100644 --- a/pydemo/euler/shock_tube.py +++ b/pydemo/euler/shock_tube.py @@ -28,10 +28,10 @@ saveStep = 0.01 saveTime = saveStep def initialize(space): - lagOrder = 1 # space.order - lag = create.space("lagrange", space.grid, order=1, dimrange=space.dimRange) - u_h = lag.interpolate(initial, name='tmp') - return space.interpolate(u_h, name='u_h') + #lagOrder = 1 # space.order + #lag = create.space("lagrange", space.grid, order=1, dimrange=space.dimRange) + #u_h = spacelag.interpolate(initial, name='tmp') + return space.interpolate(initial, name='u_h') def useGalerkinOp(): global count, t, dt, saveTime @@ -80,17 +80,20 @@ def useODESolver(polOrder=2, limiter='default'): start = time.time() # operator.applyLimiter( u_h ); + print(grid.size(0)) grid.writeVTK(name, pointdata=[u_h], # celldata={"density":rho, "pressure":p}, # bug: density not shown correctly celldata={"pressure":p, "maxLambda":Model.maxLambda(0,0,u_h,as_vector([1,0]))}, cellvector={"velocity":v}, number=count) + tcount = 0 while t < endTime: operator.solve(target=u_h) # operator.applyLimiter( u_h ); dt = operator.deltaT() t += dt + tcount += 1 if t > saveTime: print('dt = ', dt, 'time = ',t, 'count = ',count ) count += 1 @@ -107,12 +110,14 @@ def useODESolver(polOrder=2, limiter='default'): cellvector={"velocity":v}, number=count) print("time loop:",time.time()-start) + print("number of time steps ", tcount) if True: grid = structuredGrid(x0,x1,N) # grid = create.grid("ALUSimplex", cartesianDomain(x0,x1,N)) useODESolver(2,'default') # third order with limiter +# useODESolver(2,None) # third order with limiter elif False: N = [n*10 for n in N] grid = structuredGrid(x0,x1,N)