diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 6b18c603d9..fa8f7fed3e 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -569,6 +569,10 @@ void PairBodyRoundedPolygon::body2space(int i) memory->grow(edge,edmax,5,"pair:edge"); } + if ((body_num_edges > 0) && (edge_ends == nullptr)) + error->one(FLERR,fmt::format("Inconsistent edge data for body of atom {}", + atom->tag[i])); + for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); edge[nedge][1] = static_cast(edge_ends[2*m+1]); diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 1d531303f9..3dbca5be7a 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -556,6 +556,10 @@ void PairBodyRoundedPolyhedron::body2space(int i) memory->grow(edge,edmax,6,"pair:edge"); } + if ((body_num_edges > 0) && (edge_ends == nullptr)) + error->one(FLERR,fmt::format("Inconsistent edge data for body of atom {}", + atom->tag[i])); + for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); edge[nedge][1] = static_cast(edge_ends[2*m+1]); @@ -579,6 +583,10 @@ void PairBodyRoundedPolyhedron::body2space(int i) memory->grow(face,facmax,MAX_FACE_SIZE,"pair:face"); } + if ((body_num_faces > 0) && (face_pts == nullptr)) + error->one(FLERR,fmt::format("Inconsistent face data for body of atom {}", + atom->tag[i])); + for (int m = 0; m < body_num_faces; m++) { for (int k = 0; k < MAX_FACE_SIZE; k++) face[nface][k] = static_cast(face_pts[MAX_FACE_SIZE*m+k]);