Skip to content

Question/Idea: Supporting Monolithic Solvers and Multi-Region Interface Constraints #31

@rpasolari

Description

@rpasolari

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:

  1. If one region refines significantly, the load balancer moves those refined cells to a different processor.

  2. If the neighboring region does not refine or update its distribution at the exact same time, the interface "snaps."

  3. 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?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions