From 3c927f8521e872a7309595f0dd7a367c254a3794 Mon Sep 17 00:00:00 2001 From: "Garth N. Wells" Date: Wed, 12 Jun 2024 08:25:21 +0100 Subject: [PATCH] Improve error message (#3267) * Improve error message * Support pathlib to gmsh --- cpp/dolfinx/fem/DirichletBC.cpp | 6 ++++-- python/dolfinx/io/gmshio.py | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cpp/dolfinx/fem/DirichletBC.cpp b/cpp/dolfinx/fem/DirichletBC.cpp index 85bce35c725..85844aa3fea 100644 --- a/cpp/dolfinx/fem/DirichletBC.cpp +++ b/cpp/dolfinx/fem/DirichletBC.cpp @@ -41,14 +41,16 @@ find_local_entity_index(const mesh::Topology& topology, if (!e_to_c) { throw std::runtime_error( - "Entity-to-cell connectivity has not been computed."); + "Entity-to-cell connectivity has not been computed. Missing dims " + + std::to_string(dim) + "->" + std::to_string(tdim)); } auto c_to_e = topology.connectivity(tdim, dim); if (!c_to_e) { throw std::runtime_error( - "Cell-to-entity connectivity has not been computed."); + "Cell-to-entity connectivity has not been computed. Missing dims " + + std::to_string(tdim) + "->" + std::to_string(dim)); } std::vector> entity_indices; diff --git a/python/dolfinx/io/gmshio.py b/python/dolfinx/io/gmshio.py index 2e01c8852a5..f804e8b0717 100644 --- a/python/dolfinx/io/gmshio.py +++ b/python/dolfinx/io/gmshio.py @@ -6,6 +6,7 @@ """Tools to extract data from Gmsh models.""" import typing +from pathlib import Path from mpi4py import MPI as _MPI @@ -332,7 +333,7 @@ def model_to_mesh( def read_from_msh( - filename: str, + filename: typing.Union[str, Path], comm: _MPI.Comm, rank: int = 0, gdim: int = 3, @@ -369,7 +370,7 @@ def read_from_msh( if comm.rank == rank: gmsh.initialize() gmsh.model.add("Mesh from file") - gmsh.merge(filename) + gmsh.merge(str(filename)) msh = model_to_mesh(gmsh.model, comm, rank, gdim=gdim, partitioner=partitioner) gmsh.finalize() return msh