MFlowCode / MFC

Exascale simulation of multiphase/physics fluid dynamics
https://mflowcode.github.io
MIT License
146 stars 68 forks source link

QBMM regression tests are taking an exceptionally long time #232

Open sbryngelson opened 1 year ago

sbryngelson commented 1 year ago

The 3D QBMM test cases are taking an exceptionally long time. On my Mac, 1 core:

   tests/UUID     (s)      Summary
    A0B82851      4.93    3D -> 2 Fluid(s) -> riemann_solver=2 -> mpp_lim
    1C0780C8      7.45    3D -> 2 Fluid(s) -> Viscous
    2060F55A      9.69    3D -> 2 Fluid(s) -> Viscous -> weno_Re_flux
    B7250A5B      9.64    3D -> 2 Fluid(s) -> Viscous -> weno_Re_flux -> weno_avg
    301B9153      7.92    3D -> Cylindrical -> model_eqns=2
    07C33719     11.76    3D -> Cylindrical -> Viscous
    939D6718     15.17    3D -> Cylindrical -> Viscous -> weno_Re_flux
    09623DE3     15.22    3D -> Cylindrical -> Viscous -> weno_Re_flux -> weno_avg
    CE232828      6.80    3D -> 2 MPI Ranks
    36256906      8.88    3D -> Bubbles -> Monopole -> Polytropic -> bubble_model=3
    AD63A4A5      8.92    3D -> Bubbles -> Monopole -> Polytropic -> bubble_model=2
    622DEC78     11.66    3D -> Bubbles -> Monopole -> bubble_model=2
    8A341282      5.94    3D -> Bubbles -> Monopole -> nb=1
    AB04C64D    134.11    3D -> Bubbles -> Monopole -> QBMM
    F1457D58    142.20    3D -> Bubbles -> Monopole -> QBMM -> Non-polytropic
    63850240     45.26    3D -> Bubbles -> Monopole -> QBMM -> bubble_model=3
    0982571B     49.11    3D -> Bubbles -> Monopole -> QBMM -> bubble_model=3 ->
Non-polytropic
    7EFBCDAE      7.08    3D -> Hypoelasticity -> 1 Fluid(s)
    BDD3411B      8.19    3D -> Hypoelasticity -> 2 Fluid(s)
    38533D07      8.58    3D -> Viscosity -> Bubbles -> Polytropic -> bubble_model=3
    8B679445      8.58    3D -> Viscosity -> Bubbles -> Polytropic -> bubble_model=2
    541A30DB      9.70    3D -> Viscosity -> Bubbles -> bubble_model=2
    DCB3BC6C      8.59    3D -> Viscosity -> Bubbles -> nb=1
    14975B87     65.69    3D -> Viscosity -> Bubbles -> QBMM
    48B9D0C4     24.99    3D -> Viscosity -> Bubbles -> QBMM -> bubble_model=3

I think we see a big expense rise when adding QBMM. Notably, the QBMM cases all have nb=3, not nb=1, which could also contribute to this cost. Also, the monopole inviscid cases are twice as expensive as the non-monopole viscous cases. This is surprising to me.

Regardless, these handful of tests are taking a long time, which is magnified in debug configurations or on slow CI runners. We should see why QBMM is so slow and fix that and/or somehow make these QBMM cases smaller.

On one CI run, it took 2000 seconds or so for one of these 3D QBMM cases.

anandrdbz commented 7 months ago

I'll redo the QBMM tests (using nb=1) along with some of the bug fixes for QBMM + non-polytropic that are yet to be integrated in a separate PR