From cdccd144dae8453ba71367a555587ad76c6efe1f Mon Sep 17 00:00:00 2001 From: MARMAJOU ISABELLE <id.counilh@wanadoo.fr> Date: Wed, 26 Mar 2025 16:21:41 +0100 Subject: [PATCH] Implement output of bad polynomial mesh if a cell volume is negative --- src/mesh/MeshData.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mesh/MeshData.cpp b/src/mesh/MeshData.cpp index 0eadfdf30..c1a223782 100644 --- a/src/mesh/MeshData.cpp +++ b/src/mesh/MeshData.cpp @@ -29,11 +29,16 @@ MeshData<Mesh<Dimension>>::_storeBadMesh() template void MeshData<Mesh<1>>::_storeBadMesh(); template void MeshData<Mesh<2>>::_storeBadMesh(); template void MeshData<Mesh<3>>::_storeBadMesh(); - void MeshData<PolynomialMesh<2>>::_storeBadMesh() { - throw NotImplementedError("storeBadMesh"); + VTKWriter writer("bad_mesh"); + writer.writeOnMesh(m_mesh.meshVariant(), + {std::make_shared<NamedItemValueVariant>(std::make_shared<ItemValueVariant>(m_Vj), "volume")}); + std::ostringstream error_msg; + error_msg << "mesh contains cells of non-positive volume (see " << rang::fgB::yellow << "bad_mesh.pvd" + << rang::fg::reset << " file)."; + throw NormalError(error_msg.str()); } template <size_t MeshDegree> -- GitLab