diff --git a/docs/source/io_formats/tallies.rst b/docs/source/io_formats/tallies.rst index 974a3d093b..8c1ad91b58 100644 --- a/docs/source/io_formats/tallies.rst +++ b/docs/source/io_formats/tallies.rst @@ -276,7 +276,7 @@ should be set to: :mesh: - The unique ID of a mesh to be tallied over.z + The unique ID of a mesh to be tallied over. :distribcell: The single cell which should be tallied uniquely for all instances. diff --git a/include/openmc/settings.h b/include/openmc/settings.h index af74a442fb..85468a7330 100644 --- a/include/openmc/settings.h +++ b/include/openmc/settings.h @@ -6,7 +6,6 @@ #include #include -#include #include #include #include diff --git a/src/initialize.cpp b/src/initialize.cpp index d30581e066..5e4c86fd13 100644 --- a/src/initialize.cpp +++ b/src/initialize.cpp @@ -82,9 +82,6 @@ if (!settings::LMI && !libMesh::initialized()) #endif } -if (!settings::LMI) { - fatal_error("libMesh::LibMeshInit object isn't set."); -} #endif // Start total and initialization timer diff --git a/src/mesh.cpp b/src/mesh.cpp index f8ffc70a95..6f4fd73274 100644 --- a/src/mesh.cpp +++ b/src/mesh.cpp @@ -2123,10 +2123,19 @@ LibMesh::LibMesh(const std::string& filename) void LibMesh::initialize() { - m_ = std::make_unique(settings::LMI->comm(), 3); + if (!settings::LMI) { + fatal_error("Attempting to use an unstructured mesh without a libMesh::LibMeshInit object."); + } + + m_ = std::make_unique(settings::LMI->comm(), n_dimension_); m_->read(filename_); m_->prepare_for_use(); + // ensure that the loaded mesh is 3 dimensional + if(m_->spatial_dimension() != n_dimension_) { + fatal_error(fmt::format("Mesh file {} specified for use in an unstructured mesh is not a 3D mesh.", filename_)); + } + // create an equation system for storing values eq_system_name_ = "mesh_" + std::to_string(id_) + "_system";