rometsch / fargocpt

Fluid dynamics code to study the interaction between protoplanetary disks and planets.
GNU Affero General Public License v3.0
6 stars 3 forks source link

Beta Cooling Reference #99

Open rometsch opened 1 week ago

rometsch commented 1 week ago

Following is a question from a user of the code about the parameter which configures the reference profile for beta cooling. I include it here before merging the answer into the documentation:

Question: It wasn’t clear to me from the documentation and the paper which option for CoolingBetaReference corresponds to the local isothermal case (i.e., where T is calculated a priori through Q_irr and Q_cool).

rometsch commented 1 week ago

The CoolingBetaReference Parameter is read here.

const std::string str = config::cfg.get_lowercase("CoolingBetaReference", "Zero");
if (str == "zero") {
} else if (str == "reference") {
    cooling_beta_reference = true;
} else if (str == "diskmodel") {
    cooling_beta_model = true;
} else if (str == "floor") {
    cooling_beta_floor = true;
} else {
    throw std::runtime_error("Invalid choice for cooling beta reference: " + str);
}

Let's discuss the four possible values:

  1. zero: Temperature is relaxed to 0 degrees Celsius everywhere in the disk. Because of the cosmic microwave background and other (stronger) external irradiation this is likely only useful for more theoretical models.
  2. reference: Profile to which the temperature/energy is relaxed to is the profile given in the reference snapshot. The same values are used for the wave damping zones. This is usually the same as the initial condition (but could be altered manually in a similar way to the Custom Initial Conditions Notebook).
  3. diskmodel: The values to which the temperatur/energy are relaxed to are computed on the fly from the aspect ratio and surface density (see here). This can be the same as reference.
  4. floor: Temperature is relaxed to the temperature floor value set by the MinimumTemperature parameter. If you want a constant temperature, this is the one to choose.

Now coming back to the question. If you want to have a locally isothermal disk model as the reference, you can use either reference or diskmodel. In a standard setup, both should have the same values. If your initial condition is a locally isothermal disk, this will achieve your result. Good luck!

kimweiskopf commented 1 week ago

Do I need to set Temperature0 =locally isothermal temp to achieve a initially locally isothermal disk?