diff --git a/cmake/SetupCODE.cmake b/cmake/SetupCODE.cmake index 8143645..c63518a 100644 --- a/cmake/SetupCODE.cmake +++ b/cmake/SetupCODE.cmake @@ -5,6 +5,6 @@ # -DLIBNEO_PATH= local libneo source directory (empty = fetch from git) # -DTRIANGLE_DIR= prebuilt Triangle directory (see SetupTriangle) # -DMFEM_DIR= prebuilt MFEM directory (see SetupMFEM) -set(LIBNEO_REF "a4620f8075698dabafd774859e28e0ae92e8f339" CACHE STRING +set(LIBNEO_REF "7262c32bf0406594a8ef27e84654d249aef2cb86" CACHE STRING "libneo branch, tag, or SHA to fetch") set(LIBNEO_PATH "" CACHE PATH "local libneo source directory (empty = fetch from git)") diff --git a/src/mephit_mesh.F90 b/src/mephit_mesh.F90 index 152e31e..096a628 100644 --- a/src/mephit_mesh.F90 +++ b/src/mephit_mesh.F90 @@ -3108,6 +3108,17 @@ subroutine write_FreeFem_mesh theta(:) = linspace(0d0, 2d0 * pi, npt_outer, 0, 1) bdry_R(npt_inner+1:) = R_mid + R_rad * cos(theta) bdry_Z(npt_inner+1:) = Z_mid + Z_rad * sin(theta) + ! dump the triangulator input so the annulus meshing problem can be + ! reproduced without a MEPHIT build, e.g. for mesher comparisons + open(newunit = fid, file = decorate_filename('outer_boundary.dat', '', basename_suffix), & + status = 'replace', form = 'formatted', action = 'write') + write (fid, '(2(1x, i0))') npt_inner, npt_outer + ! 17 significant digits so the dump round-trips the double precision input + write (fid, '(2(1x, es24.16e3))') R_mid, Z_mid + do kpoi = 1, npt_inner + npt_outer + write (fid, '(2(1x, es24.16e3))') bdry_R(kpoi), bdry_Z(kpoi) + end do + close(fid) call FEM_triangulate_external(npt_inner, npt_outer, bdry_R, bdry_Z, R_mid, Z_mid, & decorate_filename('outer.msh', '', basename_suffix) // c_null_char) deallocate(bdry_R, bdry_Z, theta)