boutproject / BOUT-dev

BOUT++: Plasma fluid finite-difference simulation code in curvilinear coordinate systems
http://boutproject.github.io/
GNU Lesser General Public License v3.0
183 stars 95 forks source link

test MMS/elm-pb is broken #1498

Open dschwoerer opened 5 years ago

dschwoerer commented 5 years ago

Should be fixed or disabled/removed

https://omadesala.alfa1024.info/BEST/2019-01-15_20:01/

ZedThree commented 5 years ago

Please can you copy and paste the relevant output for all these issues? There's a lot of text in the output logs and it's difficult to see what the problem is

dschwoerer commented 5 years ago

currently it is staggered grids being disabled, not sure what beyond that the error is.

I think all the issues are ether lack of convergence with cvode, or lack of convergence of the error.

In both cases, having the error here has probably little value. What was simple to fix has been fixed, as far as I remember ...

    Option non_uniform = true (default)
    WARNING: Could not read 'd2x' from grid. Setting to 0.000000e+00
    WARNING: differencing quantity 'd2x' not found. Calculating from dx
    WARNING: Could not read 'd2y' from grid. Setting to 0.000000e+00
    WARNING: differencing quantity 'd2y' not found. Calculating from dy
Error encountered
====== Exception path ======
[bt] #6 ./elm_pb() [0x430eaa]
_start at ??:?
[bt] #5 /lib64/libc.so.6(__libc_start_main+0xeb) [0x7fb319fe511b]
__libc_start_main at ??:?
[bt] #4 ./elm_pb() [0x42bfcf]
main at /home/bout-test/tmp.i6YN366nkJ/tests/MMS/elm-pb/../../../include/boutmain.hxx:91 (discriminator 7)
[bt] #3 ./elm_pb() [0x567fb5]
PhysicsModel::initialise(Solver*) at /home/bout-test/tmp.i6YN366nkJ/src/solver/../../include/bout/physicsmodel.hxx:77
 (inlined by) Solver::setModel(PhysicsModel*) at /home/bout-test/tmp.i6YN366nkJ/src/solver/solver.cxx:113
[bt] #2 ./elm_pb() [0x4331c3]
physics_init(bool) at /home/bout-test/tmp.i6YN366nkJ/tests/MMS/elm-pb/elm_pb.cxx:428
[bt] #1 ./elm_pb() [0x44bab8]
Field3D::setLocation(CELL_LOC) at /home/bout-test/tmp.i6YN366nkJ/src/field/field3d.cxx:224
====== Back trace ======
 -> setLocation on line 202 of 'field3d.cxx'

====== Exception thrown ======
Field3D: Trying to set off-centre location on non-staggered grid
         Did you mean to enable staggered grids?

application called MPI_Abort(comm=0x84000004, 1) - process 0
application called MPI_Abort(comm=0x84000002, 1) - process 1
application called MPI_Abort(comm=0x84000002, 1) - process 2
application called MPI_Abort(comm=0x84000002, 1) - process 3
ZedThree commented 5 years ago

Had a quick look at this. Runs but doesn't get correct scaling if staggered grids are off (which requires code changes like commenting out setLocation etc).

Staggered grids requires changing some of the derivative methods as e.g. WENO3 isn't supported for staggered grids, but we report that it is available! Then there are a bunch of errors from operations on fields at different locations.