Implement surface flux tallies (#3742)

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
This commit is contained in:
GuySten 2026-03-04 14:17:48 +02:00 committed by GitHub
parent b796afb591
commit 70be650003
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 424 additions and 54 deletions

View file

@ -136,6 +136,8 @@ int64_t ssw_max_particles;
int64_t ssw_max_files;
int64_t ssw_cell_id {C_NONE};
SSWCellType ssw_cell_type {SSWCellType::None};
double surface_grazing_cutoff {0.001};
double surface_grazing_ratio {0.5};
TemperatureMethod temperature_method {TemperatureMethod::NEAREST};
double temperature_tolerance {10.0};
double temperature_default {293.6};
@ -678,6 +680,14 @@ void read_settings_xml(pugi::xml_node root)
free_gas_threshold = std::stod(get_node_value(root, "free_gas_threshold"));
}
// Surface grazing
if (check_for_node(root, "surface_grazing_cutoff"))
surface_grazing_cutoff =
std::stod(get_node_value(root, "surface_grazing_cutoff"));
if (check_for_node(root, "surface_grazing_ratio"))
surface_grazing_ratio =
std::stod(get_node_value(root, "surface_grazing_ratio"));
// Survival biasing
if (check_for_node(root, "survival_biasing")) {
survival_biasing = get_node_value_bool(root, "survival_biasing");