Skip to content
Snippets Groups Projects

Add P-U with M&M Switch

Merged Josh Borrow requested to merge add-morris-and-monaghan into master

This is the version of Pressure-Energy SPH that includes the Morris & Monaghan (1997) variable artificial viscosity with a Balsara switch.

This should not contain too many changes in the central code. The hydro test suite is currently running but we see marginally improved convergence, see below for the 3D Gresho Vortex.

With variable AV: pressure-energy-monaghan_GreshoVortex_3D_11_3D Without: pressure-energy_GreshoVortex_3D_11_3D

Morris, J. P., & Monaghan, J. J. (1997). A Switch to Reduce SPH Viscosity. Journal of Computational Physics, 136(1), 41–50. http://doi.org/10.1006/jcph.1997.5690

Edited by Matthieu Schaller

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Author Developer

    Here is the SodShock 1D for direct comparison with Fig. 3 of that paper. Note we see differences because we underestimate the velocities at the minima and they overestimate them at the maxima of the rarefaction wave.

    pressure-energy-monaghan_SodShock_1D_1_1D

    image

  • Why do we get that difference? Also we have a spike in alpha at x=-0.3 whilst theirs is at the contact discontinuity.

  • Author Developer

    It's unclear why we get that difference. It's the same difference we see with all schemes, though - it's related to the thing we were talking to Phil about with the over-shooting. It could be something to do with time-stepping but I don't have a clue really so won't speculate.

    As for the spike at the contact discontinuity, that's just because I chose l=0.1 instead of l=0.2 (as in Price 2012). See below for the fixed plot.

    SodShock

  • Can you try a c4 kernel with eta=1.6 ?

  • Author Developer

    The Sedov shows significantly improved convergence.

    With variable AV: pressure-energy-monaghan_SedovBlast_2D_5_2D

    Without: pressure-energy_SedovBlast_2D_5_2D

  • Author Developer

    For a specific test or for all?

  • Sod at least. Where is the improved convergence on the images? What bit are you focusing on?

  • Author Developer

    In particular the scatter in the velocities and densities.

  • Author Developer

    Sod 2D, C4 pressure-energy-monaghan_SodShock_2D_1_2D Sod 2D, Cublic Spline pressure-energy-monaghan_SodShock_2D_1_2D

  • So a reduction in the noise level.

  • Author Developer

    Here's the Gresho 3D with the new kernel.

    pressure-energy-monaghan_GreshoVortex_3D_11_3D

  • Ah, now we are talking!

    Edited by Matthieu Schaller
  • Josh Borrow added 3 commits

    added 3 commits

    • c19894c9 - Updated value of viscosity constant
    • acf6c008 - Added divv for AV to the cosmology theory
    • e2651425 - Updated the Pressure Energy schemes to include new divv for cosmoology

    Compare with previous version

  • Josh Borrow added 105 commits

    added 105 commits

    • e2651425...cee4c633 - 80 commits from branch master
    • 0e7da9bc - Copied over PressureEnergy stuff to start M&M AV.
    • dbc3f8fe - Added include flags, minor function changes, for new scheme.
    • fa83d6cc - Added M&M viscosity scheme. Tested and working with SodShock_1D.
    • ffb8ac2c - Added comments to show explicitly that the gradient loop is not used.
    • 60b449fc - Updated constants to use values from M&M1997
    • f5949417 - Minor documentation changes, ensured correct global constants are used throughout.
    • 1ee32914 - Changed the Sod_1D script to plot the artificial viscosity if available
    • 4e7e08e5 - Added discussion about variable artificial viscosity
    • 9400bbdc - Added paper reference to all of the briefs for the hydro_*.h
    • 502e9cb0 - Reverted the hydro_end_gradient signature to not require the engine.
    • 1119f02e - Removed border for KHmovie
    • 1126d71d - Added the timestep for kick_hydro as a pass-by-value parameter to…
    • 1c0eb754 - Added the kicking of the AV to hydro_prepare_force.
    • ed045e7f - Added include flags, minor function changes, for new scheme.
    • 7102aa96 - Added M&M viscosity scheme. Tested and working with SodShock_1D.
    • a1d1913d - Added comments to show explicitly that the gradient loop is not used.
    • 491202bd - Minor documentation changes, ensured correct global constants are used throughout.
    • aeb4abcd - Reverted the hydro_end_gradient signature to not require the engine.
    • 4e481781 - Added the kicking of the AV to hydro_prepare_force.
    • 46236d1b - Rebased to include the new changes from Pressure-Energy
    • 04e89445 - Fixed a botched merge
    • 87e7b9d1 - Changed limits in SodShock 1D to match those in the Morris & Monaghan paper.
    • 3f9249c1 - Updated value of viscosity constant
    • 93c906e0 - Added divv for AV to the cosmology theory
    • cfdbac9b - Updated the Pressure Energy schemes to include new divv for cosmoology

    Compare with previous version

  • Matthieu Schaller marked as a Work In Progress

    marked as a Work In Progress

  • Matthieu Schaller changed the description

    changed the description

  • This will need rebasing given the new functions that have been added to the particles' API.

  • Josh Borrow added 72 commits

    added 72 commits

    • cfdbac9b...1f656ea1 - 47 commits from branch master
    • 3e3e73c2 - Copied over PressureEnergy stuff to start M&M AV.
    • 85637a95 - Added include flags, minor function changes, for new scheme.
    • d6fd2809 - Added M&M viscosity scheme. Tested and working with SodShock_1D.
    • 4b5c223d - Added comments to show explicitly that the gradient loop is not used.
    • 4f18f6d4 - Updated constants to use values from M&M1997
    • b5ce7658 - Minor documentation changes, ensured correct global constants are used throughout.
    • 0553879b - Changed the Sod_1D script to plot the artificial viscosity if available
    • c6009768 - Added discussion about variable artificial viscosity
    • 33ba5f14 - Added paper reference to all of the briefs for the hydro_*.h
    • 11d8eebd - Reverted the hydro_end_gradient signature to not require the engine.
    • 3705000c - Removed border for KHmovie
    • 6152bcb9 - Added the timestep for kick_hydro as a pass-by-value parameter to…
    • 988383d0 - Added the kicking of the AV to hydro_prepare_force.
    • b827190f - Added include flags, minor function changes, for new scheme.
    • 89fada96 - Added M&M viscosity scheme. Tested and working with SodShock_1D.
    • 0bde8b19 - Added comments to show explicitly that the gradient loop is not used.
    • 83e95658 - Minor documentation changes, ensured correct global constants are used throughout.
    • c86e412a - Reverted the hydro_end_gradient signature to not require the engine.
    • 8423e54c - Added the kicking of the AV to hydro_prepare_force.
    • 27639e5e - Rebased to include the new changes from Pressure-Energy
    • 667182e5 - Fixed a botched merge
    • b0c9547c - Changed limits in SodShock 1D to match those in the Morris & Monaghan paper.
    • 7b0dc396 - Updated value of viscosity constant
    • 05a49f7d - Added divv for AV to the cosmology theory
    • 0b3865f1 - Updated the Pressure Energy schemes to include new divv for cosmoology

    Compare with previous version

  • Author Developer

    Does that require any re-writing of the interaction functions, etc. or just a basic rebase?

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading