trixi-framework / HOHQMesh

High Order Hex-Quad Mesh (HOHQMesh) package to automatically generate all-quadrilateral meshes with high order boundary information.
https://trixi-framework.github.io/HOHQMesh
Other
45 stars 8 forks source link

Update SMSplineCurveClass.f90 #62

Closed DavidAKopriva closed 12 months ago

DavidAKopriva commented 1 year ago

Replace FMM routines spline & seval with new ones.

Update: This PR also replaces the fmin function with a modern Fortran implementation of Brent's original algorithm. Several test reference values change in the four or fifth decimal place and require updating. However, the meshes in the eyeball norm remain the same.

codecov[bot] commented 1 year ago

Codecov Report

Merging #62 (dbf1ba5) into main (b13a18c) will decrease coverage by 0.33%. The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #62      +/-   ##
==========================================
- Coverage   74.31%   73.98%   -0.33%     
==========================================
  Files          68       67       -1     
  Lines       10259    10164      -95     
==========================================
- Hits         7624     7520     -104     
- Misses       2635     2644       +9     
Flag Coverage Δ
unittests 73.98% <ø> (-0.33%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
Source/3DSource/3DMeshController.f90 93.13% <ø> (ø)
Source/3DSource/Geometry/CurveInterpolantClass.f90 60.71% <ø> (ø)
Source/3DSource/Geometry/Frenet.f90 75.75% <ø> (ø)
Source/3DSource/Geometry/Geometry3D.f90 89.32% <ø> (ø)
.../3DSource/Geometry/InterpolationAndDerivatives.f90 20.68% <ø> (ø)
Source/3DSource/Geometry/TransfiniteMapClass.f90 65.38% <ø> (ø)
Source/3DSource/Geometry/Utilities.f90 66.66% <ø> (ø)
Source/3DSource/HexMeshObjects.f90 96.29% <ø> (ø)
Source/3DSource/Mesh3DOutputMethods.f90 98.07% <ø> (ø)
Source/3DSource/ReaderExceptions.f90 0.00% <ø> (ø)
... and 56 more
andrewwinters5000 commented 1 year ago

Just as a TODO list pin. Once we resolve the updates to the spline and fmin functions we need to update the Makefile and possibly the CMakeLists.txt to make sure the HOHQMesh builds properly in all environments. One reason the tests are failing is due to build inconsistencies due to these makefiles.