GEOS-DEV / GEOS

GEOS Simulation Framework
GNU Lesser General Public License v2.1
202 stars 80 forks source link

Improve separation between business and geometry in mesh generators #2209

Open TotoGaz opened 1 year ago

TotoGaz commented 1 year ago

Describe the issue

Currently, the mesh generation tools depend on business domain, for example by looping over the constitutive relations of the sub regions when importing the fields. Fixing the blurred lines will help future developments and validations.

Proposed cleanup

In MeshGeneratorBase (and especially in its implementations):

For a first PR (Done in https://github.com/GEOSX/GEOSX/pull/2212).

As a second step, split generateMesh into business and geometry part (Done in https://github.com/GEOSX/GEOS/pull/2272).

As a last architecture potential refactoring.

On a more C++ technical point of view for a last PR (and during the continuous refactoring process).

TotoGaz commented 3 months ago

Particle manager (from PR https://github.com/GEOS-DEV/GEOS/pull/2767) puts back the dependency to SpatialPartition, MeshBody, MeshLevel, ParticleRegion...

@XL64 and myself had spent some time to remove this connection to the business domain, in order to let the module become a purely geometrical “module”.

My comment in the review https://github.com/GEOS-DEV/GEOS/pull/2767#discussion_r1367568662 asked to remove the link to business domain...

The PR was merged anyhow.

I have no more time to invest into any more cleaning. Therefore I unassign myself from this issue; I will not be working on it anymore.