Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Viscosity terms break Rayleigh-Taylor symmetry #144

Closed
felker opened this issue Jul 5, 2018 · 2 comments · Fixed by #147
Closed

Viscosity terms break Rayleigh-Taylor symmetry #144

felker opened this issue Jul 5, 2018 · 2 comments · Fixed by #147
Assignees
Labels
bug Broken functionality or unexpected result

Comments

@felker
Copy link
Contributor

felker commented Jul 5, 2018

Bug report

Summary of issue

Reporting on behalf of Ben Ryan @ LANL.

The diffusion processes module added in #123 do not maintain mirror symmetry when solving the Rayleigh-Taylor problem.

Steps to reproduce
./configure.py --prob=rt -hdf5 -mpi --nghost=3

Input file:
athinput.rt2d_visc_nompi.txt

Expected outcome
Exact symmetry still preserved using PPM, multiple MeshBlocks on a uniform Cartesian grid in the zero viscosity case.
rt2d_idealmpi

Actual outcome
When using problem/nu_iso= 0.000001 with PPM, a visible asymmetry results, regardless if using MPI or not:
rt2d_visc_nompi

No visible asymmetry is seen when using PLM with the above input file. No nonzero values are observed in the HDF5 output when calculating the differences to single precision in Python. However, from my tests in #98, I would expect such differences to occur with PLM at values smaller than 32-bit machine precision.

Version info

  • Athena++ version: e144ec6
  • Compiler and version: gcc 7.3.0
  • External library versions (if applicable): With and without OpenMPI 2.1.0
@felker felker added the bug Broken functionality or unexpected result label Jul 5, 2018
@felker felker self-assigned this Jul 5, 2018
@felker
Copy link
Contributor Author

felker commented Jul 23, 2018

An update: I have confirmed that the asymmetry also occurs with PLM when viscosity is enabled. It is much smaller than when using PPM, but you can see in the attached plots of the final density and symmetry errors that the differences are nonzero. The differences appear immediately in the first output. The final maximum density asymmetry is 3.44452022460473e-10, which you wouldn’t be able to observe when viewing the results at single precision in Python.

I generated these results from athinput.rt2d_visc_mpi with time/xorder=2. The asymmetry disappears if problem/nu_iso=0.0. The same behavior is seen with PPM.

I will try to replicate the symmetry fix for AMR/SMR I made in ced843d for viscosity.cpp stencils.

rt-plm-visc-nx1-288-mbnx1-24.pdf

@felker
Copy link
Contributor Author

felker commented Jul 24, 2018

Fixed in e8e4f64. May not have found all sources of asymmetry, but I changed the associativity of 3x stencils in viscosity.cpp and added signed comments indicating their fragility.

Correct PPM solution for athinput.rt2d_visc_mpi is attached.

rt-ppm-visc-fixed-nx1-288-mbnx1-24.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Broken functionality or unexpected result
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant