Feedback - hyschive/gamer-fork GitHub Wiki

This page describes feedback from particles to grids and vice versa. Please enable the compilation option FEEDBACK .

Compilation Options

Related options: PARTICLE ,   FEEDBACK  

Runtime Parameters

Parameters described on this page: FB_LEVEL,   FB_RSEED,   FB_SNE,   FB_USER  

Other related parameters:

Parameters below are shown in the format:   Name   (Valid Values)   [Default Value]

  • FB_LEVEL   (0 ≤ input < NLEVEL ; <0 → set to MAX_LEVEL )   [-1]

    • Description: AMR level to apply feedback.
    • Restriction: Must be MAX_LEVEL for now.

  • FB_RSEED   (≥0)   [456]

    • Description: Random seed used by feedback.
    • Restriction:

  • FB_SNE   (0=off, 1=on)   [0]

    • Description: Supernova explosion feedback.
    • Restriction: Not supported yet.

  • FB_USER   (0=off, 1=on)   [0]


Add User-defined Feedback

Follow the steps below to define your feedback when adding a new simulation named NewProblem.

  1. Go to the new test problem folder and copy the feedback template.

    cd src/TestProblem/Hydro/NewProblem
    cp ../../../Feedback/User_Template/FB_User_Template.cpp FB_NewProblem.cpp
  2. Edit the feedback source file FB_NewProblem.cpp.

    1. Rename User_Template as NewProblem.

    2. Follow the example src/TestProblem/Hydro/Plummer/FB_Plummer.cpp to edit FB_Init_NewProblem(), FB_End_NewProblem(), and FB_NewProblem().

  3. Edit the problem source file Init_TestProb_Hydro_NewProblem.cpp to enable this new feedback.

    1. Put the following function prototype on the top of this file.

      #ifdef FEEDBACK
      void FB_Init_NewProblem();
    2. Set the feedback function pointer in Init_TestProb_Hydro_NewProblem().

    #  ifdef FEEDBACK
    FB_Init_User_Ptr = FB_Init_NewProblem;
    #  endif
  4. Make sure to enable FEEDBACK in Makefile and FB_USER in Input__Parameter.