Fix GEAR pressure floor
Big change to the pressure floor API and corresponding changes to the hydro flavours as we need to pass the engine-carried floor throughout. This also has consequences on the cooling API and on the feedback.
At the same time, cleaned up a bit the grackle cooling header.
Also added a few checks to prevent certain feedback modes and hydro models to run with the pressure floor where it is not implemented.
Cleaned up the Agora galaxy example.
Todo:
-
Add doxygen strings. -
Apply the same API change to the other hydro schemes. -
Add the higher-res. ICs to the repo. Update run script.
Merge request reports
Activity
requested review from @yvesrevaz
assigned to @matthieu
added 1 commit
- 3b60f493 - Also change the API in the 'none' pressure floor case
I get the following error when compiling after configuring with:
./configure CC=cc MPICC=cc --with-chemistry=GEAR_10 --with-cooling=grackle_0 --with-pressure-floor=GEAR --with-stars=GEAR --with-star-formation=GEAR --with-feedback=GEAR -enable-mpi --enable-mpi-mesh-gravity --with-hdf5=$HDF5_ROOT/bin/h5pcc --with-gsl=$GSL_ROOT --with-parmetis=$PARMETIS_ROOT --with-fftw=$FFTW_ROOT --with-grackle=$GRACKLE_ROOT
No idea what this MHD variant is...
Thanks.
In file included from space_split.c:26: In file included from In file included from space_rebuild.c./space.h::2636: : In file included from In file included from ./space.h./part.h::3684: : In file included from In file included from ./part.h././hydro/SPHENIX/hydro_part.h::8434: : In file included from ./mhd_struct.h././hydro/SPHENIX/hydro_part.h::32:234:In file included from : space_regrid.c:./mhd_struct.h26:error: 32: In file included from :./space.h2::"Invalid choice of MHD variant"36 : In file included from ./part.h:84: In file included from ././hydro/SPHENIX/hydro_part.h:34: ./mhd_struct.herror:: 32:2#error "Invalid choice of MHD variant""Invalid choice of MHD variant": ^error : "Invalid choice of MHD variant" #error "Invalid choice of MHD variant" #error "Invalid choice of MHD variant" ^ ^ In file included from space_first_init.c:26: In file included from ./space.h:36: In file included from ./part.h:84: In file included from ././hydro/SPHENIX/hydro_part.h:34: ./mhd_struct.h:32:2: error: "Invalid choice of MHD variant" #error "Invalid choice of MHD variant" ^ In file included from space_extras.c:26: In file included from ./space.h:36: In file included from ./part.h:84: In file included from ././hydro/SPHENIX/hydro_part.h:34: ./mhd_struct.h:32:2: error: "Invalid choice of MHD variant" #error "Invalid choice of MHD variant" ^ In file included from space_split.c:26: In file included from ./space.h:36: In file included from ./part.h:84: ././hydro/SPHENIX/hydro_part.h:83:25: error: field has incomplete type 'struct mhd_xpart_data' struct mhd_xpart_data mhd_data; ^ ././hydro/SPHENIX/hydro_part.h:83:10In file included from :space_regrid.c:26: In file included from ./space.h:note36: : In file included from forward declaration of 'struct mhd_xpart_data'./part.h: 84: ././hydro/SPHENIX/hydro_part.h: struct mhd_xpart_data mhd_data;83 :25 ^: error: field has incomplete type 'struct mhd_xpart_data'In file included from space_rebuild.c :26 struct mhd_xpart_data mhd_data;: In file included from ^./space.h :36: In file included from ./part.h././hydro/SPHENIX/hydro_part.h::8384:: 10: ././hydro/SPHENIX/hydro_part.h:83note:: 25:forward declaration of 'struct mhd_xpart_data' error struct mhd_xpart_data mhd_data;: ^ field has incomplete type 'struct mhd_xpart_data' struct mhd_xpart_data mhd_data; ^ ././hydro/SPHENIX/hydro_part.h:83././hydro/SPHENIX/hydro_part.h::10219::24 : noteerror: : field has incomplete type 'struct mhd_part_data'forward declaration of 'struct mhd_xpart_data' struct mhd_part_data mhd_data; struct mhd_xpart_data mhd_data; ^ ^ ././hydro/SPHENIX/hydro_part.h:219:10:././hydro/SPHENIX/hydro_part.h :219:note24: : forward declaration of 'struct mhd_part_data' error: struct mhd_part_data mhd_data; field has incomplete type 'struct mhd_part_data' ^ struct mhd_part_data mhd_data; ^ ././hydro/SPHENIX/hydro_part.h:219:10: note: forward declaration of 'struct mhd_part_data' struct mhd_part_data mhd_data; ^ ././hydro/SPHENIX/hydro_part.h:219:24: error: field has incomplete type 'struct mhd_part_data' struct mhd_part_data mhd_data; ^ ././hydro/SPHENIX/hydro_part.h:219:10: note: forward declaration of 'struct mhd_part_data' struct mhd_part_data mhd_data;
I'm on Cray (daint@CSCS). Ok. Starting from scratch, i.e, cloning+./autogen.sh+checkout+configure solved the problem. In my previous attempt, I started from an old commit, checkout to fix_GEAR_pressure_floor+configure which I think should have done the job properly. Everything is running smoothly now. I just wait for the end of the test before approving the merge.
removed bug label
added bug label
added 2 commits
added 1 commit
- 6190be83 - Update the pressure floor to work with Gadget-2, Gasoline, and PE SPH
added 2 commits
added 1 commit
- 58f11f40 - Fix the subgrid models to work with the pressure floor
That should now compile with the different hydro schemes and our normal sets of subgrid. Note that I really don't like it. The pressure floor is really invasive. The solution here is really non-generic as it can only be used with GEAR and nothing else.
Edited by Matthieu SchallerThanks ! I'm sorry that this implementation is not satisfactory at all. It is clear that at some point we will abandon this pressure floor. However, from a physical point of view, I think it make quite a lots of sense as long as the ISM turbulence is not properly resolved. Let me know if its better that I use this branch to update the AGORA example.
added 1 commit
- 9d51af70 - Updated gitignore to not consider the Cloudy tables loaded for the GEAR model
@matthieu I've updated the example. Its working with the files being stored in our website which is not appropriate I think. If you move to
http://virgodb.cosma.dur.ac.uk/swift-webstorage/ICs/AgoraDisk all the files actually stored here: http://obswww.unige.ch/~revaz/SWIFT/AgoraDisk/ I will finalize the example. Note that the directory does not contain only ICs, but also other files like the cooling tables and the chemistry tables. Is it a problem to store that in /ICs/AgoraDiskHere you go:
- http://virgodb.cosma.dur.ac.uk/swift-webstorage/ICs/AgoraDisk/snap.MED.hdf5
- http://virgodb.cosma.dur.ac.uk/swift-webstorage/ICs/AgoraDisk/snap.LOW.hdf5
- http://virgodb.cosma.dur.ac.uk/swift-webstorage/CoolingTables/CloudyData_UVB=HM2012.h5
- http://virgodb.cosma.dur.ac.uk/swift-webstorage/FeedbackTables/POPIIsw.h5
added 1 commit
- 7a00956c - Prevent the code from compiling with pressure floor and any of the EAGLE feedback combinations
added 1 commit
- 985b5aee - Make git ignore more binary outputs generated by the RTD
added 1 commit
- a4669854 - Fix the cooling test executables to use the new API of the cooling functions...
- Resolved by Matthieu Schaller
Thanks ! I'm cleaning up the two others GEAR examples. Could you please copy this file:
https://obswww.unige.ch/~lhausamm/swift/ZoomIC/h050.hdf5 on the official storage: http://virgodb.cosma.dur.ac.uk/swift-webstorage/ICs/ZoomIn/h050.hdf5 Thanks.
added 2 commits