Skip to content

Uint Overflow when mesh vertices are out of domain bounds #2412

@Snapex2409

Description

@Snapex2409

Setup

  • Operating System: (Distrobox) Ubuntu 24.04
  • preCICE Version: 3.3.0
  • micro-manger: branch preCICE-overflow-issue, commit: 2cf06f65d3005d4ae426b20bca38604fca9907ee

Description
When the domain boundaries are set incorrectly and some provided verticies lie outside of the domain, then in partition/ReceivedPartition.cpp lines 109 and 110:

const auto   nVerticesInBox    = mesh::countVerticesInBoundingBox(_mesh, _bb);
unsigned int nFilteredVertices = nVerticesInBox - _mesh->nVertices();

A overflow is generated, which becomes visible in the following warning message.

(0) 20:41:12 [partition::ReceivedPartition]:112 in compute: WARNING: 4294967287 vertices on mesh "macro-mesh" have been filtered out due to the defined bounding box in "setMeshAccessRegion" in serial mode. For direct-mesh access via "getMeshVertexCoordinatesAndIDs()", these vertices are not accessible. Their data values will internally be filled with zero values in order to provide valid data for other participants when reading data.

This, issue became apparent, when working with the micro-manager + fenicsx. There, some DOFs, which are used as the coupling mesh vertices, can be generated outside of the physical mesh.

Step To Reproduce

  1. get the micro-manager from the branch mentioned above
  2. In terminal A go to the example folder of the micro-manager and run: micro-manager-precice micro-manager-python-config.json
  3. In terminal B go to the same location and run: python macro_dummy.py

Expected behaviour
No overflow? Or at least some hint at, that my mesh might be outside of the defined domain.

Metadata

Metadata

Assignees

Labels

bugpreCICE does not behave the way we want and we should look into it (and fix it if possible)hotfixrequires hotfix

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions