-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Hello,
I would like to start by thanking the developers for this project. blastAMR is a great tool, and it has specifically solved many of the issues I faced with 2D and axisymmetric adaptive refinement in OpenFOAM.
I am reaching out to discuss a specific use case: Implicit (Monolithic) Multi-Region Coupling. In recent OpenFOAM versions, multi-domain problems can be solved monolithically, solving both regions in a single matrix simultaneously (e.g., for CHT). This approach is numerically superior but imposes a strict topological constraint: cells on both sides of a mapped interface must reside on the same processor.
When using blastAMR in this context, I have encountered a significant hurdle:
-
If one region refines significantly, the load balancer moves those refined cells to a different processor.
-
If the neighboring region does not refine or update its distribution at the exact same time, the interface "snaps."
-
Because the monolithic solver assembles a global matrix, this mismatch leads to immediate memory errors (Segmentation Faults) during matrix coefficient transfer.
Is there a planned feature or a recommended way to enforce a "Cross-Region Constraint" in blastAMR? Specifically, I am looking for a way to ensure that even when a region refines to Level 2 or 3, the entire lineage (parent and children) at the interface remains anchored to the processor owning the neighbor region.
Do you think a shared decomposition constraint could be implemented to keep these independent regions synchronized during the mesh.update() phase?