GEOS-DEV / GEOS-DEV/GEOS

InternalWellboreGenerator issue with theta=360°

Open
#2,936 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: bug
Dominant language
C++
Stars
287
Forks
109
Avg merge
4d 41m
Merged PRs (30d)
5

Description

Describe the bug
The full wellbore mesh (theta=360°) generated by InternalWellboreGenerator works well with single processor. However, it does not work when running the simulation in parallel.

To Reproduce
Steps to reproduce the behavior:

  1. Rerun one of the wellbore smoke example after changing theta to 360°: consider two runs, the first one uses a single processor, the second one consider a parallel simulation (mpirun with -x 4 -y 4 -z 1).
  2. Observe that the displacement field obtained by the first run is continuous at theta=360° (that is correct). But, the results obtained by the second run is discontinuous at theta=360° (because the faces at theta=0 and theta=360° are not connected when considering mpirun)

Expected behavior
Results obtained by single processor and multi-processors must be identical.

Screenshots
This figure show the discontinuity of uy at theta=360° when running a wellbore problem using mpirun with -x 4 -y 4 -z 1. This error is because the faces at theta=360° and theta=0 are not connected.

image

Platform (please complete the following information):

  • Machine [e.g. XRAI TotalEnergie]

Additional context
We will need to verify the connexion of the mesh partitions when using InternalWellboreGenerator to ensure that the faces at theta=360° and theta=0 are connexted. This issue does not affect any of the examples because most of these examples are set with theta=90° or 180°. The case of cased elastic wellbore has theta=360° but it is a smoke case so we do not need to use multi-processor.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with InternalWellboreGenerator and rerun a wellbore smoke example with theta=360° in single-processor and mpirun -x 4 -y 4 -z 1 configurations. Inspect how mesh partitions connect the theta=0 and theta=360° faces. Done means the parallel displacement field is continuous at theta=360° and matches the single-processor result.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, hpc
Domain
distributed-systems, hpc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.