Skip to content
Snippets Groups Projects

EAGLE kinetic-only feedback

Merged Matthieu Schaller requested to merge EAGLE_kinetic into master

Implements:

  • Move the enrichment-related parts of the EAGLE feedback to a separate file.
  • Add a kinetic-only flavour of EAGLE feedback.
  • Add all the mechanism for the new star<->gas loops required for this new version.
  • Only activate the loops when running with this feedback model

Todo:

  • MPI version
  • Documentation
  • Move some code into the ray structure and object.
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
  • Evgenii Chaikin
  • That all looks very nice @matthieu!

    I just left a couple of small comments after my first pass through the code.

    I have noticed that this version has no hydro ghost in between the 1st and 2nd prep loops. Was this done on purpose?

    I have a couple of unit tests specifically for SNII kinetic feedback. I will soon run this branch on these tests to see how it performs and provide you with more feedback.

    Since you have spent some time with this code now, I am also eager to know if you have any comments regarding tasking and any other general things related to kinetic feedback

  • Thanks for the reviewing. To answer your question, I am not yet 100% convinced that the additional ghost is needed.

    I am still considering moving kick_switch into the ray_extra structure. And also changing the mirror switch to an enum type to be more readable about what is going on.

    The additional tests you have will be useful indeed! As for feedback, not much to say really. Your original stuff was very good! I just made some changes in small places to get it to work also in the cases where we don't want the extra loops.

  • Thanks @matthieu

    I presume we will need to discuss the MPI implementation one more time then

    May I push commits to this branch with the changes you suggested or do you prefer to do it yourself?

  • What changes are you talking about here?

    Yes, let's tackle MPI separately. Probably in a separate MR. We can have a direct discussion next week about it.

  • By changes, I meant adding the switch to ray extra struct and introducing enum

    Nice, looking forward to it!

  • added 1 commit

    • 258471be - change switch to enum and move to ray struct

    Compare with previous version

  • Evgenii Chaikin
  • Matthieu Schaller added 34 commits

    added 34 commits

    • 258471be...a9cf8d76 - 14 commits from branch master
    • ef9141ab - Split the EAGLE feedback files into kinetic and thermal modes
    • 18f6887b - Rename the 'old' stellar task to 'star density ghost'
    • 0c4e2403 - Add the new task types required for the extra kinetic feedback loops
    • 37975899 - Add the new task to the cell structure. Give it a good weight, recycle it properly
    • d0b704f7 - Added empty functions to hold the content of the new star->gas interactions
    • 5829eb4f - Added empty functions to hold the content of the new star->gas interactions
    • 4f1f2ca0 - Create the new neighbour loops associated with the new tasks
    • 9deaeb0b - Construct the new tasks and corresponding dependencies
    • 852ac68c - Activate the new tasks correctly in engine_marktasks
    • 86c7617e - Unskip the new tasks
    • 2c655846 - Move the common enrichment-related feedback routines to a single file shared...
    • 548b5c4b - Add the new file to the build list
    • 99e9e16b - Add a particle-carried structure to store the ID of the star doing kinetic feedback
    • f7ccd5cf - Add function to reset the gas particle-carried feedback-related fields in the gas drift
    • 59b6045d - Convert the SNII thermal injection into kinetic energy injection.
    • c783e4e3 - Implement the kinetic-feedback time-step limiter
    • c6db1656 - Compute the energy to inject via kinetic feedback in the new EAGLE-derived scheme
    • c0638955 - Implement the double-kick mitigation measure
    • a1dc7a43 - Missing initialisation of the kinetic energy in compute_SNII_feedback()
    • afb2c0db - change switch to enum and move to ray struct

    Compare with previous version

  • Thanks. I have added a comment for you.

    Note also that I have rebased the code so you will likely need to delete your local copy before you can pull the updated branch cleanly.

  • The other thing, is that I'd like to change the other switch we currently have that takes values -1, 0 or 1.

  • You mean the switch that specifies whether two rays form a pair (as in kinetic feedback) or the rays are on their own (as in stellar thermal/AGN feedback?

    Do you want to have another enum for these cases?

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