gridap / gridap/STLCutters.jl

Disconnected subdomains in distributed memory computations

Open
#39 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Julia
Stars
18
Forks
2
PR merge metrics
No merged PRs in 30d

Description

The `p4est` parallel partition with z-filling curves can lead to disconnected subdomains in some configurations. Disconnected subdomains may represent an issue in the in/out propagation, e.g., if one component is inside and the other outside.

In order to deal with disconnected components one should treat each component as a single subdomain in the propagation stage.

These developments are starting at

https://github.com/gridap/STLCutters.jl/blob/4577ebc28c27360545c644d914f04893f73af66f/src/Distributed.jl#L44

We will need the following:

* `compute_disconected_components(model::DistributedDiscreteModel,d=0)` -> cell_to_comp,comp_to_cells (`d` is the dimension of connections of the parts)
* Global components: `lcomp_to_gcomp`
* Vectorize subdomain arrays:
- `facet_to_comp_neighbors`
- `part_to_comp_to_ioc`
* Vectorize gather and scatter

https://github.com/gridap/STLCutters.jl/tree/dev_disconnected_components

In the branch [dev_disconnected_components](https://github.com/gridap/STLCutters.jl/tree/dev_disconnected_components) there is a procedure for the generation of a model with disconnected components in the following [file](
https://github.com/gridap/STLCutters.jl/blob/635b3e5d2bf0bb74e16ea7a646482665557ff103/test/DistributedTests/dev_disconnected_componets.jl). This model will be useful for developing and debugging this feature in sequential without `p4est`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.