TDycores-Project / TDycore

BSD 2-Clause "Simplified" License
4 stars 0 forks source link

Pruning TDycore #200

Closed jeff-cohere closed 2 years ago

jeff-cohere commented 3 years ago

In the interest of focusing on what we need to be relevant to a project like E3SM, I think it would be good for us to start a conversation about what we can get rid of, now that we know a bit more what we're doing.

Here are some starter questions (at varying levels of provocation):

@bishtgautam , if it's appropriate, maybe we can talk about this at our next joint meeting.

bishtgautam commented 3 years ago

Fate of demos

  1. SPE10/steady.c
    • No test
  2. mpfao/mpfao.c
    • Steady state MPFA-O tests (mostly 2D, one 3D test, one test using an exodus file 64xy_3z_wedge.exo)
    • Delete the demo and move the 64xy_3z_wedge.exo test in richards/richards_driver.c
  3. qa_test/qa_test.c
    • For QAQC framework
    • Keep it for now
  4. richards/richards_driver.c
    • MPFA-O tests for SNES/TS, serial/parallel, reading permeability datasets
    • DEFINITELY keep this demo
  5. steady/steady.c
    • MFE tests: WY, TPF and BDM
  6. steadyblock/steadyblock.c
    • No test
    • Delete the demo
  7. steadyf90/steadyf90.F90
    • This is a FORTRAN version of steady/steady.c
    • Delete the test
  8. th/th_driver.c
    • Serial and parallel tests for TH
    • DEFINITELY keep this demo
  9. transient/transient.c
    • WY serial and parallel tests
  10. transient/transient_mpfao.c
    • MPFA-O tests for various time integrators: TS, TS+DAE, TS_TRANSIENTVAR
    • Delete the demo and move the tests in richards/richards_driver.c
  11. transient/transient_mpfaof90.F90
    • MPFA-O tests using TS time-integrators for different
      1. `discretization methods (MPFA-O/2 point flux)
      2. `different BCs
    • Keep the demo
  12. transient/transient_snes_mpfaof90.F90
    • MPFA-O tests using SNES time-integrators for multiple configurations
    • DEFINITELY keep this demo
  13. transient/transient_th_mpfao.c
    • Tests transient TH
    • Delete it as TH is tested by th/th_driver.
jeff-cohere commented 3 years ago

Thanks, Gautam!

nocollier commented 3 years ago

This is a helpful directory of what we have. The SPE10 problem is really just setting up a flow via a imposed pressure gradient diagonal to the mesh using the permeability fields from that problem. We used it as a stress test for solvers--it doesn't really solve anything real. On the one hand, it does not really need a test and we could remove. On the other, why relocate it to another place making it harder to find when we need it again? I would leave it, but don't feel strongly about it.

jeff-cohere commented 3 years ago

I think it's fine to keep "historical" things around, as long as we document their purpose. A stress test for solvers sounds like a nice tool/benchmark to keep around.

bishtgautam commented 3 years ago
jeff-cohere commented 3 years ago

I'm going to remove the 2D MPFA-O code in a pull request, and then I'll turn my attention to the demos in general.

jeff-cohere commented 2 years ago

Seems like we can close this issue now. Any objections, @bishtgautam ?

bishtgautam commented 2 years ago

The is still a bunch of 2D MPFA-O code that can be deleted. e.g. https://github.com/TDycores-Project/TDycore/blob/master/src/mpfao/tdycoremesh.c#L1362. If no one else is working on it, I can work next week on removing the remaining MPFA-O 2D code.