diff --git a/src/mesh.cpp b/src/mesh.cpp index d9ad0ce8a..8307e5fe8 100644 --- a/src/mesh.cpp +++ b/src/mesh.cpp @@ -955,6 +955,7 @@ CylindricalMesh::CylindricalMesh(pugi::xml_node node) : StructuredMesh {node} grid_[0] = get_node_array(node, "r_grid"); grid_[1] = get_node_array(node, "phi_grid"); grid_[2] = get_node_array(node, "z_grid"); + centre = get_node_array(node, "centre"); if (int err = set_grid()) { fatal_error(openmc_err_msg); @@ -983,6 +984,11 @@ StructuredMesh::MeshIndex CylindricalMesh::get_indices( mapped_r[1] += 2 * M_PI; } + // TODO: pass centre as argument + mapped_r[0] += centre[0] + mapped_r[1] += centre[1] + mapped_r[2] += centre[2] + MeshIndex idx = StructuredMesh::get_indices(mapped_r, in_mesh); idx[1] = sanitize_phi(idx[1]); @@ -1187,6 +1193,7 @@ SphericalMesh::SphericalMesh(pugi::xml_node node) : StructuredMesh {node} grid_[0] = get_node_array(node, "r_grid"); grid_[1] = get_node_array(node, "theta_grid"); grid_[2] = get_node_array(node, "phi_grid"); + centre = get_node_array(node, "centre"); if (int err = set_grid()) { fatal_error(openmc_err_msg); @@ -1216,6 +1223,11 @@ StructuredMesh::MeshIndex SphericalMesh::get_indices( mapped_r[2] += 2 * M_PI; } + // TODO: pass centre as argument + mapped_r[0] += centre[0] + mapped_r[1] += centre[1] + mapped_r[2] += centre[2] + MeshIndex idx = StructuredMesh::get_indices(mapped_r, in_mesh); idx[1] = sanitize_theta(idx[1]);