GEOS icon indicating copy to clipboard operation
GEOS copied to clipboard

Transmissibility output

Open MelReyCG opened this issue 10 months ago • 2 comments

This PR aims to add a new component: the StencilOutput, that allow to add a CellToCellOutput task node in the xml to output ConnectionData (global id pairs, transmissibilities).

For now, by using the writeCSV="1" attribute, the CellToCellOutput will output this data in a CSV. Here is an exemple:

  • XML excerpt
  <Solvers gravityVector="{0.0, 0.0, 0.0}">
    <SinglePhaseFVM
      name="singlePhaseFlowSolver"
      […]
    </SinglePhaseFVM>
  </Solvers>

  <Tasks>
    <CellToCellOutput
      name="stencilOutput"
      flowSolverName="singlePhaseFlowSolver"
      writeCSV="1"
      logLevel="1" />
  </Tasks>

  <Events maxTime="10.0">
    <SoloEvent
      name="stencilOutputEvent"
      targetCycle="1"
      target="/Tasks/stencilOutput" />
  </Events>
  • First 10 lines of the generated CSV
time [s] , A global id , B global id , A transmissibility [(Pa*s*rm3/s)/Pa] , B transmissibility [(Pa*s*rm3/s)/Pa]
       4 ,           0 ,        2715 , 7.55463e-18                          , -7.55463e-18                        
       4 ,           0 ,       47546 , 8.06167e-18                          , -8.06167e-18                        
       4 ,           0 ,      134459 , 6.63826e-18                          , -6.63826e-18                        
       4 ,           0 ,      165202 , 7.78139e-18                          , -7.78139e-18                        
       4 ,           1 ,        4642 , 1.83325e-17                          , -1.83325e-17                        
       4 ,           1 ,       53907 , 1.76737e-17                          , -1.76737e-17                        
       4 ,           1 ,      184341 , 1.81705e-17                          , -1.81705e-17                        
       4 ,           2 ,        5459 , 1.7414e-17                           , -1.7414e-17                         
       4 ,           2 ,       63907 , 1.86145e-17                          , -1.86145e-17                        
       4 ,           2 ,      177257 , 1.86145e-17                          , -1.86145e-17                        

(the CSV has been aligned here for readability)

MelReyCG avatar Apr 24 '24 09:04 MelReyCG

Codecov Report

Attention: Patch coverage is 76.37795% with 60 lines in your changes missing coverage. Please review.

Project coverage is 56.00%. Comparing base (0cbc589) to head (9c93b4d).

Files Patch % Lines
src/coreComponents/common/Units.hpp 14.58% 41 Missing :warning:
...physicsSolvers/fluidFlow/StencilDataCollection.cpp 87.27% 14 Missing :warning:
src/coreComponents/common/logger/Logger.hpp 0.00% 3 Missing :warning:
...vers/multiphysics/CoupledReservoirAndWellsBase.hpp 0.00% 1 Missing :warning:
.../unitTests/fluidFlowTests/testTransmissibility.cpp 98.48% 1 Missing :warning:
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3091      +/-   ##
===========================================
+ Coverage    55.91%   56.00%   +0.09%     
===========================================
  Files         1043     1046       +3     
  Lines        88934    89122     +188     
===========================================
+ Hits         49729    49915     +186     
- Misses       39205    39207       +2     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Jun 13 '24 14:06 codecov[bot]

@CusiniM

It seems that we are trying to only write a file for rank 0 but I don't see when you gather all stencil data there? This would only work for small cases.... In any case, why not using the timehistory and writing in a parallel format instead? @wrtobin opinions?

Besides debugging I don't really see why someone would want to write out transmissibilities.

This proposal is not completely finished, but it now takes into account all connections within all ranks. The CellToCellDataCollection now can be used for bigger cases.

To explain why we want to output this data, the goal is to compare the transmissibility data from other simulator(s), in order to understand the differences between the simulations.

MelReyCG avatar Jul 02 '24 15:07 MelReyCG

@MelReyCG Can you resolve conflicts?

rrsettgast avatar Jul 12 '24 06:07 rrsettgast

@MelReyCG Can you merge develop into this?

rrsettgast avatar Jul 13 '24 06:07 rrsettgast

Just leaving a note here, no CI step is legitimately failing here. The CUDA builds were working but crash now because of a CI bug since I updated my branch.

MelReyCG avatar Aug 02 '24 08:08 MelReyCG

This PR needs one more review.

CusiniM avatar Aug 02 '24 18:08 CusiniM