Open rometsch opened 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:
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.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).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
.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!
Do I need to set Temperature0 =locally isothermal temp to achieve a initially locally isothermal disk?
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).