feat(topology): vacuum coordinate and multi block
Two major changes in this version. First stroid now embeds a vacuum coordinate as part of its StroidMesh file (this is a packed set of mfem meshes and GridFunction). This is a logical coordinate from 0 at the stellar surface to 1 at the mesh surface / compactified infinity which can be used by consumers to much more stablly infer position in the vacuum region. Second, there is a new topology backend, multi_block, which has been made the default. See the readme for more information but the basic jist is that multi_block addes 6 transition blocks onto the edge of the core domain. This allows for a much more well conditioned transition from the internal cartesien region to the external spherical region. The mesh conditioning improves by roughly a factor of 1000 for the same refinement level when compared to the legacy topology. The legacy topology is maintained as a option if core_mapping is set to spherified in the config.
This commit is contained in:
@@ -80,14 +80,10 @@ for PY_VERSION in "${PYTHON_VERSIONS[@]}"; do
|
||||
|
||||
echo "➤ Repairing wheel with delocate"
|
||||
if [[ -n "${FOURDST_PIN}" ]]; then
|
||||
FOURDST_LIB_PATH="$("$PY" -c 'import fourdst, os; print(os.pathsep.join(fourdst.get_lib_dirs()))')"
|
||||
DELOCATE_DYLD_PATH="${FOURDST_LIB_PATH}:${DELOCATE_DYLD_PATH}"
|
||||
DYLD_LIBRARY_PATH="${DELOCATE_DYLD_PATH}" \
|
||||
delocate-wheel --require-archs arm64 \
|
||||
-e composition -e logging -e const -e reflect_cpp \
|
||||
-w "${FINAL_WHEEL_DIR}" -v "$CURRENT_WHEEL"
|
||||
else
|
||||
DYLD_LIBRARY_PATH="${DELOCATE_DYLD_PATH}" \
|
||||
delocate-wheel --require-archs arm64 \
|
||||
-w "${FINAL_WHEEL_DIR}" -v "$CURRENT_WHEEL"
|
||||
fi
|
||||
@@ -109,4 +105,4 @@ done
|
||||
rm -rf "${TMPDIR}"
|
||||
rm -rf "${WHEEL_DIR}"
|
||||
|
||||
echo "✅ All builds complete. Artifacts in ${FINAL_WHEEL_DIR}"
|
||||
echo "All builds complete. Artifacts in ${FINAL_WHEEL_DIR}"
|
||||
Reference in New Issue
Block a user