ExaHyPE-Engine issueshttps://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues2018-09-10T19:38:15+02:00https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/239Toolkit2: Be consistent with interactivity2018-09-10T19:38:15+02:00Ghost UserToolkit2: Be consistent with interactivityThe toolkit.sh is blocking for user input if dependency problems occur. Will be fatal when called from Engine. Simple solution: Take --interactive etc flags into account.
Can fix that.The toolkit.sh is blocking for user input if dependency problems occur. Will be fatal when called from Engine. Simple solution: Take --interactive etc flags into account.
Can fix that.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/203Peano: Geometrical comparisons must always use relative tolerance2018-02-02T14:12:26+01:00Ghost UserPeano: Geometrical comparisons must always use relative toleranceThe tarch::la:: routines use usually an absolute tolerance (default: machine precision)
for comparing floating point numbers.
This is problematic for numbers with large absolute values.
Fix: These numbers must be normalised and scaled t...The tarch::la:: routines use usually an absolute tolerance (default: machine precision)
for comparing floating point numbers.
This is problematic for numbers with large absolute values.
Fix: These numbers must be normalised and scaled to range [-1,1] before
comparing with respect to the tolerance.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/70Discussion topics for a discussion ("Coding") day at Oct 23., 2016 in Munich2018-06-15T15:13:43+02:00Ghost UserDiscussion topics for a discussion ("Coding") day at Oct 23., 2016 in Munich* Kernel situation
* Trento will not be able to implement new numerics into C++ "nested loop" kernels
* We invested two weeks of finding bugs porting Fortran Z4 to ExaHyPE -- this is a dead end!
* We either need modern Fortran kern...* Kernel situation
* Trento will not be able to implement new numerics into C++ "nested loop" kernels
* We invested two weeks of finding bugs porting Fortran Z4 to ExaHyPE -- this is a dead end!
* We either need modern Fortran kernels or a good C++ linear algebra library (there are plenty of them)
* (Generic) research kernels might be in a different shape than optimized kernels!
* What is ExaHyPE?
* If it shall be a standalone *application*, then it should provide the best support for parameters, etc. as possible
* If it shall serve as a "utility", end users have to come up with individual solutions on theirselves. Both is fine, but there should be a common idea everybody is aware of.
* Workflow
* Durham cannot provide implementation support (code monkeying) for ExaHyPE applications in this intensity anymore
* Frankfurt cannot provide support for running benchmarks and (parameter) test in this intensity anymore
* Fortran situation in Applications
* MHD was converted to C++ with surprising results in stability and speed
* What's the joint aim for the team? There is more and more Fortran code (Applications get bigger), cf. the `Z4` application
* API and Code Generation
* Kernel calls should be method calls instead of templated static function calls
* Toolkit only needs to provide initial "scaffold" code. In 90% of applications, generated code is now in the repo, edited after generation and gets overwritten regularly.
* Toolkit should not distribute constants in the generated code but collect them in a unique file (`GeneratedConstants.h`). Paradigm: Generate maintainable code.
* Specification file format
* There is a lot to say here. We should aggree on a whishlist of features
* We could also agree to keep the spec files small and let the problem be solved by the users
* Treatment of external libraries and the build system
* Today is already tomorrow -- I have secretly introduced dependencies on GSL, BLAS due to the Astrophysics Initial Data codes.
* A decision should also affect the treatment of Peano.
* IO
* VTK Fileformat (alternatives)
* Does it make sense to define a tailored ExaHyPE output format ourselves?
* Efficient batch processing 3D VTK to movie plotting
* Unit tests
* Mathematically/Physically, there is little point in testing the numerical scheme with random data at every ExyHyPE `DEBUG or Asserts` run.
* Instead, simple but well understood tests with analytic solutions should be run (ie. via Jenkins). We should come up with a list of these tests (ie: Advection, ShuVortex, MHD Wave, Gauge Wave, etc.)
*Please just add points to this list as you whish*
# Assignments in Discussion at 25. Oct 2016
At Oct 25, in Garching there were Tobias, Vasco, Dominik, Alejandro and Sven. We discussed these points and even more and concluded these assignments:
* Fortran support (VV)
* Call linear kernels with temp arrays (DC)
* Non-conservative parts (SK) - done, cf. https://gitlab.lrz.de/gi26det/ExaHyPE/commit/1723512d16acbf118f43465d78d252cda55e9bc6 and similar
* Split of the repositories (SK) - tracked at gi26det/ExaHyPE#55
* Start the release page & remove binaries from GIT (VV) - as followup for gi26det/ExaHyPE#55, right?
* Find new Jour Fix time (incl. Dominic and Trento) (VV)
* Nightly convergence tests (SK+VV) - tracked at gi26det/ExaHyPE#74
* Period BCs: Organise small coding week in Durham (VV+TW)
* Replace static function + templates with std::function (SK+TW) - tracked at gi26det/ExaHyPE#75
* Extend Solver::solutionAdjustment to handle point sources (DC+VV)https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/303error in compilation2019-10-15T09:38:50+02:00Duo Lid.li@lmu.deerror in compilationwhen compiling master Exahype, i have a bunch of errors with GaussLobattoBasis.hsnippet:
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from ...when compiling master Exahype, i have a bunch of errors with GaussLobattoBasis.hsnippet:
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(1): error: expected a declaration
namespace kernels {
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(22): warning #12: parsing restarts here after previous syntax error
extern double nodes_1[1+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(23): error: invalid storage class for a class member
extern double nodes_2[2+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(24): error: invalid storage class for a class member
extern double nodes_3[3+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(25): error: invalid storage class for a class member
extern double nodes_4[4+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(26): error: invalid storage class for a class member
extern double nodes_5[5+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(27): error: invalid storage class for a class member
extern double nodes_6[6+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(28): error: invalid storage class for a class member
extern double nodes_7[7+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(29): error: invalid storage class for a class member
extern double nodes_8[8+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(30): error: invalid storage class for a class member
extern double nodes_9[9+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(31): error: invalid storage class for a class member
extern double nodes_10[10+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(32): error: invalid storage class for a class member
extern double nodes_11[11+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(33): error: invalid storage class for a class member
extern double nodes_12[12+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(34): error: invalid storage class for a class member
extern double nodes_13[13+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(35): error: invalid storage class for a class member
extern double nodes_14[14+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(36): error: invalid storage class for a class member
extern double nodes_15[15+1];
^
In file included from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/GaussLobattoBasis.h(20),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/aderdg/generic/Kernels.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/../Curvilinear/CurvilinearTransformation.h(6),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/include/Context/ContextCurvilinear.h(11),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.h(28),
from /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ApplicationExamples/ExaSeis/DynamicRupture/TPV29/SlipWeakeningSolver.cpp(9):
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/kernels/generated/GaussLobattoBasis.hsnippet(37): error: invalid storage class for a class member
extern double* nodes[15+1];
does any one have any idea?https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/299Compilation error2019-10-16T10:05:11+02:00Duo Lid.li@lmu.deCompilation errorI compiled with mpi.intel/2017 and tbb/2017, after update Exahype and submodules.
Here attached the errors:
/import/deadlock-data/dli/ExaHyPE/ExaHyPE-Engine/./ExaHyPE/exahype/solvers/ADERDGSolver_ProlongationJob.cpp(42): error: argument...I compiled with mpi.intel/2017 and tbb/2017, after update Exahype and submodules.
Here attached the errors:
/import/deadlock-data/dli/ExaHyPE/ExaHyPE-Engine/./ExaHyPE/exahype/solvers/ADERDGSolver_ProlongationJob.cpp(42): error: argument of type "double *" is incompatible with parameter of type "const char *"
_mm_prefetch(lQhbnd, _MM_HINT_NTA);
^
/import/deadlock-data/dli/ExaHyPE/ExaHyPE-Engine/./ExaHyPE/exahype/solvers/ADERDGSolver_ProlongationJob.cpp(43): error: argument of type "double *" is incompatible with parameter of type "const char *"
_mm_prefetch(lFhbnd, _MM_HINT_NTA);
^
compilation aborted for /import/deadlock-data/dli/ExaHyPE/ExaHyPE-Engine/./ExaHyPE/exahype/solvers/ADERDGSolver_ProlongationJob.cpp (code 2)
/import/deadlock-data/dli/ExaHyPE/ExaHyPE-Engine/./ExaHyPE/Makefile:626: recipe for target '/import/deadlock-data/dli/ExaHyPE/ExaHyPE-Engine/./ExaHyPE/exahype/solvers/ADERDGSolver_ProlongationJob.o’ failedhttps://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/298Compilation error in peano::heap2019-09-17T12:34:46+02:00Duo Lid.li@lmu.deCompilation error in peano::heap/exahype/mappings/PredictionOrLocalRecomputation.o
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/exahype/mappings/DropNeighbourMessages.cpp(228): error: class "peano::heap::AbstractHeap" has no member "allHeapsDro.../exahype/mappings/PredictionOrLocalRecomputation.o
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/exahype/mappings/DropNeighbourMessages.cpp(228): error: class "peano::heap::AbstractHeap" has no member "allHeapsDropReceivedBoundaryData"
peano::heap::AbstractHeap::allHeapsDropReceivedBoundaryData();
^
compilation aborted for /hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/exahype/mappings/DropNeighbourMessages.cpp (code 2)
/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/Makefile:626: recipe for target '/hppfs/work/pr63qo/di52lak2/ExaHyPE_deadlock/ExaHyPE-Engine/./ExaHyPE/exahype/mappings/DropNeighbourMessages.o' failedhttps://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/297FiniteVolumeSolver error about time step2020-11-20T17:30:31+01:00Duo Lid.li@lmu.deFiniteVolumeSolver error about time stepWhen running FV, there is this error. I use CFL=0.7. How to fix the warning or how does it matter to the code.
```cpp
if ( !tarch::la::equals(cellDescription.getTimeStepSize(), 0.0) && tarch::la::smaller(admissibleTimeStepSize,cellDesc...When running FV, there is this error. I use CFL=0.7. How to fix the warning or how does it matter to the code.
```cpp
if ( !tarch::la::equals(cellDescription.getTimeStepSize(), 0.0) && tarch::la::smaller(admissibleTimeStepSize,cellDescription.getTimeStepSize()) ) {
logWarning("updateSolution(...)","Finite volumes solver time step size harmed CFL condition. dt="<<
cellDescription.getTimeStepSize()<<", dt_adm=" << admissibleTimeStepSize << ". cell=" <<cellDescription.toString());
}
```https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/294Halo Refinement Threshold2019-09-05T17:49:25+02:00Ghost UserHalo Refinement ThresholdAim:
Prevent that the mesh refinement iterations are triggered to often.
Background:
During the mesh refinement iterations, we refine the Leaf cell parents of those Virtual cells
that carry a refinement status greater than zero.
Cur...Aim:
Prevent that the mesh refinement iterations are triggered to often.
Background:
During the mesh refinement iterations, we refine the Leaf cell parents of those Virtual cells
that carry a refinement status greater than zero.
Currently, the time stepping iterations trigger refinement
as soon as a Virtual cell carries positive refinement status.
Especially with low order ADER-DG plus Limiter, mesh refinement is triggered quite often,
which seems to be related to the CFL time step size: "Shock does not stay "long" in the same cell".
Approach:
During the time stepping iterations, allow Virtual cells to carry
a refinement status smaller some positive threshold value.
Only if this threshold value is reached, trigger that
the mesh is adapted.
Additional, we could think about allowing erasing only every $k$ mesh adaptions (=set of mesh refinement iterations).https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/287Add Limiter Recomputation Background Jobs2019-07-24T15:23:13+02:00Ghost UserAdd Limiter Recomputation Background JobsIn simulations where there are many FV recomputations,
the respective phases can become a bottleneck.In simulations where there are many FV recomputations,
the respective phases can become a bottleneck.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/283Use ADER CFL Correction Factors When Determining FV Patch Resolution2019-07-09T15:18:48+02:00Ghost UserUse ADER CFL Correction Factors When Determining FV Patch ResolutionThe ADER-DG time step size does not only depend on the DG CFL number that
scales with ``1/(2*N+1)`` but by an additional order-dependent correction factor ``C_ADER(N)``.
For order 5, e.g., this factor is roughly 0.5.
We currently use 2*...The ADER-DG time step size does not only depend on the DG CFL number that
scales with ``1/(2*N+1)`` but by an additional order-dependent correction factor ``C_ADER(N)``.
For order 5, e.g., this factor is roughly 0.5.
We currently use 2*N+1 FV cells per FV patch in our implementation of the a posteriori
limiting ADER-DG method. The motivation is to match the time step size
of the coupled ADER-DG and the FV scheme.
This does not take the correction factor into account, i.e. we add unneccessary
numerical dissipation as we use unnecessary small time step sizes in the FV cells.
Using the same ADER-DG time step size, we can increase the FV cell sizes by
a factor ``1/C_ADER(N)``. For order 5, e.g., we can double the size of the FV patches.
The following table corrects the patch sizes. I round down to not go below the ADER-DG time step size with
the FV time step sizes.
| Order N | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|-------------------------------------|---------|--------|--------|--------|--------|---------|---------|---------|---------|---------|
| C_ADER | 100.0 % | 99.0 % | 85.0 % | 70.0 % | 62.1 % | 49.5 % | 49.4 % | 45.0 % | 34.0 % | 28.5 % |
| Patch Scaling | 1.00 | 1.01 | 1.18 | 1.43 | 1.61 | 2.02 | 2.02 | 2.22 | 2.94 | 3.51 |
| Corr. Patch Size (Orig. Patch Size) | 1 | 3 | 5 | 10 (7) | 14 (9) | 22 (11) | 26 (13) | 33 (15) | 50 (17) | 66 (19) |
Tasks
-----
Proposed switch "Limiting-ADER-DG" solver specification:
``"patch_size" : ("original" | "max" | number)``
- ``max`` would look up the corrected patch size in a lookup table.
- ``original`` would use the original 2*order+1.
- ``number`` would use a user prescribed number. Control code must
check if the FV time step size is smaller or equal to the ADER-DG time step size.
Otherwise, an error must be printed out **OR** the ADER-DG method's CFL condition must be adjusted.
If a number is specified, then the ADER-DG to FV projectors have to be constructed manually.
For "max" and "original", they can be precomputed once.
* [x] Decide if a generic implementation of the patch size feasible or if the corrected patch sizes should be hardcoded?.
**A:** *Eventually both but first the hardcoded versions.*
* [x] Modify toolkit's solver controllers and templates:
* [x] ``exahype-specfile.schema.json``: Extend ``patch_size`` option in spec file schema
* [x] ``exahype/toolkit/solverController.py``: Take ``patch_size`` parameter into account.
Found issue: Defaults are not set.
* [x] Generic kernels:
* [x] Check that the CFL factor is picked up properly in the ADER-DG stableTimeStepSize kernel
* [x] ``GenericLimiterSolver(Header|Implementation).template``:
* [x] Update arguments passed to limiter kernels
* [x] Allocate Limiter projection matrices
* Dimensions:
* ``uh2lim[n] = new double[basisSize*basisSizeLim]();``
* ``uh2lob[n] = new double[basisSize*basisSize]();``
* ``lim2uh[n] = new double[basisSizeLim*basisSize]();``
* [x] Look up the FV to DG least-squares projection
* Main reference: M. Dumbser et al., *A posteriori subcell limiting of the discontinuous Galerkin finite element method for hyperbolic conservation laws*, Journal of Computational Physics, vol. 278, pp. 47–75, Dec. 2014.
* Least-squares reference: M. Dumbser and M. Käser, *Arbitrary high order non-oscillatory finite volume schemes on unstructured meshes for linear hyperbolic systems*, Journal of Computational Physics, vol. 221, no. 2, pp. 693–723, Feb. 2007.
* Objective function is
```math
\min_{u_h} \| u_h(x) - v_h(x) \|_{L^2(K)} = ([A] \{u\} - \{v\}) \cdot ([A] \{u\} - \{v\})
```
s.t. mass conservation constraint. $`[A]`$ is the DG to FV projection matrix. The objective function evaluates the DG solution $`u_h`$ at the FV cell centers $`v_h`$.
* Mass conservation constraint:
```math
\int_K u_h(x) dx = \int_K v_h(x)\,\text{d}x
```
```math
\sum_i u_i \int_{\bar K} \bar\phi_i (\bar x) \text{d}\bar x =
\sum_j v_j \cdot \frac{\bar V}{\bar K}
```
```math
\sum_i u_i w_i =
\sum_j v_j \cdot \frac{1}{\text{volumes per patch}}
```
```math
[C] \{u\} = [R] \{v\}
```
Above steps exploited properties of DG basis functions (Gauss-Legendre support points).
* Constraint coupled via Lagrange multiplier. Updated objective function:
```math
f = ([A] \{u\} - \{v\}) \cdot ([A] \{u\} - \{v\}) + \lambda \cdot ([C] \{u\} - [R] \{v\})
```
*
* Optimality condition (degrees of freedom/parameters: $`\{u\}`$ and $`\lambda`$):
```math
\begin{pmatrix}
2 [A] [A] & -[C]\\
[C] & 0
\end{pmatrix}
\cdot
\begin{pmatrix}
\{u\}\\
\lambda
\end{pmatrix}
=
\begin{pmatrix}
2\,[A]\,\{v\}\\
[R]\,\{v\}
\end{pmatrix}
```
To obtain solution $`\{u\}`$ and Lagrange multipliers $`\lambda`$, the
equations must be inverted. $`C`$ is sparse due to the tensor product structure.
$`[A]`$ is dense. As each nodal DG DOF is associated with a basis functions,
the above procedure yields a FV to DG projector.
* I can reuse JM's existing code. Essential is that I replace $`[A]`$, which I do anyway.
Convenient.
* [x] ``kernels/limiter/generic/Limiter.(h|cpp)``: Update signatures to take limiter patch size into account
* [x] ``LimiterProjectionMatrices.(h|cpp)``: Do not use original functions anymore
* [x] Optimised kernels:
* [x] Check if changes are necessary in ``OptimisedLimiterSolver(Header|Implementation).template``
* [x] Make sure ``dg2fv``, ``fv2dg`` and ``nDofLim``, ``nDofLimPad``, ``getBasisSizeLimiter()`,
and ``getBasisSizeLimiterPadded()`` are defined and used correctly:
* [x] Usage:
* [x] CodeGenerator/codegenerator/templates/configurationParameters_cpph.template (20 matches)
* [x] CodeGenerator/codegenerator/templates/limiter_cpp.template (51 matches)
* [x] CodeGenerator/codegenerator/templates/Quadrature_cpp.template (2 matches)
* [x] Definition:
* [x] CodeGenerator/codegenerator/templates/controller.py (5 matches)
* [x] CodeGenerator/codegenerator/models/limiterModel.py (29 matches)
* [x] CodeGenerator/codegenerator/models/quadratureModel.py (4 matches)https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/282Multi-level Inheritance in Sweep2019-05-16T00:08:36+02:00Ghost UserMulti-level Inheritance in SweepCurrently, a config file can only inherit from one other file.
Just have to write a recursive function for this. Shouldn't be too hard.Currently, a config file can only inherit from one other file.
Just have to write a recursive function for this. Shouldn't be too hard.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/274Toolkit: add flux limiter choice to FV solvers2019-03-20T09:31:43+01:00Ghost UserToolkit: add flux limiter choice to FV solversThis is basically low priority because we have a working solution on the [minmod branch](https://gitlab.lrz.de/exahype/ExaHyPE-Engine/tree/minmod): A replacement of the `minmod` flux limiter in the 2nd order FV scheme with something more...This is basically low priority because we have a working solution on the [minmod branch](https://gitlab.lrz.de/exahype/ExaHyPE-Engine/tree/minmod): A replacement of the `minmod` flux limiter in the 2nd order FV scheme with something more sophisticated.
However, users need to be able to choose which flux limiter they want to have with a FV solver. Therefore, the task of this issue is the integration into the ExaHyPE options language, i.e. implement what is discussed in the comments of https://gitlab.lrz.de/exahype/ExaHyPE-Engine/commit/bc9063c5d8dc9ccb77eae346b00ff8f676808353:
> Thanks for the comment, @domcha. I think the way to go is to implement the *flux limiter* as a choice in the FV solver section in the toolkit, and to call a `solver` method right in the `kernels::finitevolumes::musclhancock::c::solutionUpdate` in place of the former `minmod` function. Choices would be then: `minmod`, `koren`, `user-defined`, where the latter creates a function stub in the generated user FV solver. Toolkit code generation as usual.
>
> I will implement this in a seperate feature branch and merge it then into various branches (such as `master`, as well as Lukes current working branch, i.e. the `minmod` branch).
>
> One principal thing is that this function is scalar, while it probably should be vectorized. That is easily possible with `inline` functions, but not any more with `user-defined` ones. But I don't think there is an urgent need for `user-defined` anyway. Maybe we can just offer a choice. Adding another one should then be an easy task.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/265Implement VTU support for Python VTK offline slicer2019-03-21T10:40:44+01:00Ghost UserImplement VTU support for Python VTK offline slicerSven, debug the old python VTK slicer, available at `Miscellenaeowtfusous/PostProcessing/`.
@lbovard please provide some exemplaric VTK/VTU files :-)Sven, debug the old python VTK slicer, available at `Miscellenaeowtfusous/PostProcessing/`.
@lbovard please provide some exemplaric VTK/VTU files :-)https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/264User-defined mesh spacing2019-03-08T21:29:52+01:00Ghost UserUser-defined mesh spacingThe bounding box scaling mechanism introduced to improve the MPI performance of Peano 3 can
be used to move arbitrary numbers of cells out of the domain.
This way we can have arbitrary meshes on the coarse grid.
We could realise familie...The bounding box scaling mechanism introduced to improve the MPI performance of Peano 3 can
be used to move arbitrary numbers of cells out of the domain.
This way we can have arbitrary meshes on the coarse grid.
We could realise families of bipartitioned meshes which is quite useful for
convergence tests.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/259TOV Perturbations2019-04-15T12:33:18+02:00Ghost UserTOV Perturbations*This is an old textual note which I digitize here because I throw the textual one away. Has to be sorted in accordingly*
Plan from an old coding week:
* Trento: Artificial viscosity
* Frankfurt: Perturbed TOV, with THC, FIL
Perturb...*This is an old textual note which I digitize here because I throw the textual one away. Has to be sorted in accordingly*
Plan from an old coding week:
* Trento: Artificial viscosity
* Frankfurt: Perturbed TOV, with THC, FIL
Perturbations:
1. `p = alpha * p_0`
2. `rho = rho_0 * (1 + alpha * cos(2pi r/R))`
Trento codes:
* Tractor: AMR-3D (=all features, but slow)
* Ferrari: ADER-DG (=prototype, clean, vectorized, fast, but only unigrid and no limiter)https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/257AMR_bug Test Case Crashes2019-09-20T15:42:20+02:00Ghost UserAMR_bug Test Case CrashesThe test case seems to crash now for all configurations.
I created pseudocode for the whole AMR program flow.
After I finished writing up, I will simplify the AMR program
flow another time.The test case seems to crash now for all configurations.
I created pseudocode for the whole AMR program flow.
After I finished writing up, I will simplify the AMR program
flow another time.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/256CarpetHDF5 Writer lacks Dataset support2018-11-01T17:30:43+01:00Ghost UserCarpetHDF5 Writer lacks Dataset supportfrom rug:
```
realname = hfile["Parameters and Global Attributes/Datasets"].value.decode("ascii")[:-1]
```
lacks dataset name
```
sven@nils:/tmp/hdf5$ rug window -f 'log10(y)' whatever.h5 0
Traceback (most recent call last):
...from rug:
```
realname = hfile["Parameters and Global Attributes/Datasets"].value.decode("ascii")[:-1]
```
lacks dataset name
```
sven@nils:/tmp/hdf5$ rug window -f 'log10(y)' whatever.h5 0
Traceback (most recent call last):
File "/home/sven/bin/rug", line 265, in <module>
modules.call(args)
File "/home/sven/numrel/ET/rugutils/modules.py", line 68, in call
return function(**given_args)
File "/home/sven/numrel/ET/rugutils/window.py", line 173, in window
realname, struct = read_file_structure(hfile, name)
File "/home/sven/numrel/ET/rugutils/read_hdf5.py", line 165, in read_file_structure
realname = hfile["Parameters and Global "
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/build/h5py-qzs83i/h5py-2.7.1/h5py/_objects.c:2847)
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/build/h5py-qzs83i/h5py-2.7.1/h5py/_objects.c:2805)
File "/usr/lib/python3/dist-packages/h5py/_hl/group.py", line 167, in __getitem__
oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/build/h5py-qzs83i/h5py-2.7.1/h5py/_objects.c:2847)
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/build/h5py-qzs83i/h5py-2.7.1/h5py/_objects.c:2805)
File "h5py/h5o.pyx", line 190, in h5py.h5o.open (/build/h5py-qzs83i/h5py-2.7.1/h5py/h5o.c:3738)
KeyError: "Unable to open object (object 'Datasets' doesn't exist)"
```https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/255Add toolkit option for specifying thread stack size2019-09-20T15:46:25+02:00Ghost UserAdd toolkit option for specifying thread stack sizeChanges affect "shared_memory" section in JSON schema, the C++ Parser, and the Runner's "initSharedMem..."
routine.Changes affect "shared_memory" section in JSON schema, the C++ Parser, and the Runner's "initSharedMem..."
routine.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/254Finite Volumes Kernel Issues2019-09-20T15:43:37+02:00Ghost UserFinite Volumes Kernel IssuesA list of known issues with the FV kernels.
This list is open for extension. It may be split into separate issues
later on.
* MUSCL-Hancock implementation is second-order accurate but allows unlimited slopes
in the first ghost layer at ...A list of known issues with the FV kernels.
This list is open for extension. It may be split into separate issues
later on.
* MUSCL-Hancock implementation is second-order accurate but allows unlimited slopes
in the first ghost layer at corners and edges of the patch. This caused certain applications to crash.
* Stack allocation of multiple temporary arrays leads to Seg Faults for applications where these arrays
become huge (e.g. CCZ4). (This issue might be resolved after issue #255 has been resolved.)
* No (JM) optimisation has been performed yet. For most applications, the FV updates
are bandwith-bound indicating potential for speedups by vectorisation.https://gitlab.lrz.de/exahype/ExaHyPE-Engine/-/issues/253Optimised kernels and AMR application do not work together2018-09-21T12:07:11+02:00Ghost UserOptimised kernels and AMR application do not work togetherWhen I run the Euler_ADERDG application with an adaptive grid and the optimised kernels,
I compute a time step size of approx. zero after the first time step. The simulation terminates.
The generic kernels do thousands of time steps with...When I run the Euler_ADERDG application with an adaptive grid and the optimised kernels,
I compute a time step size of approx. zero after the first time step. The simulation terminates.
The generic kernels do thousands of time steps without any complaints for the same problem.
The optimised kernels work without problems for the same application when uniform grids are used.
Files
* [specification file (text file)](/uploads/d25264d843ed7f543cf1a3b4e01a6d26/temp)
* [output generic kernels (text file)](/uploads/10715a9248f96b814909c75a5b333fbc/temp)
* [output optimised kernels (text file)](/uploads/a87857d5bf68669a97085bf8450db026/temp)