Skip to content

Initial high level changes from `moving_mesh`

Yolan Uyttenhove requested to merge moving_mesh_merging into master

Hi, I'm trying to split up the changes of the moving_mesh branch into reviewable chunks.

This is the first attempt. It may still seem like a lot of changes, but most of the line changes are actually from removing all references to the old moving mesh scheme and replacing its hydro files with the files from the empty hydro scheme (as placeholders).

This merge request mainly incorporates the following changes:

  • doc: add initial documentation for moving mesh hydro.
  • configure.ac: update name of hydro scheme, check for presence of GMP.
  • makefile.am: remove references to old shadowfax headers and add new headers.
  • swift.c: add flags indicating we are running with moving-mesh hydro instead of sph.
  • engine.c and engine.h: Initalize and communicate necessary fields on cell_grid to be able to create moving mesh tasks at right level.
  • cell_grid.h: add new type of cell, that will eventually hold the geometry information.
  • hydro/Shadowswift: replace old shadowfax scheme with empty hydro scheme (for now).
  • tests: remove references to old shadowfax scheme

From there I also had to add the following:

  • procy.h, proxy.c, cell_pack.c: Add functions for communicating extra cell information for moving mesh needen during engine setup.
  • cell.h and cell.c: add functions to compute basic cell-level information for moving mesh needed during engine setup.
  • shadowswift/voronoi.h: placeholder voronoi struct and empty functions that needed definitions.
  • space.h and space.c: define particle number threshold for grid construction level (needed by new functions in cell.c).

At this point, the code can succesfully finish a dry run when compiled with --with-hydro=shadowswift --with-riemann-solver=hllc --enable-debugging-checks=yes, both with and without MPI. However, since the hydro scheme is empty, no timesteps can (and should) be performed. The code crashes in space_first_init_parts_mapper() with error Invalid value of smoothing length for part 0 h=0.000000e+00.

Does this seem like a sensible first step?

Thanks, Yolan

Edited by Yolan Uyttenhove

Merge request reports