diff --git a/documentation/rom_simulation/0d-solver/calibrator/readme.md b/documentation/rom_simulation/0d-solver/calibrator/readme.md index 8ed71284..4c8f49ea 100644 --- a/documentation/rom_simulation/0d-solver/calibrator/readme.md +++ b/documentation/rom_simulation/0d-solver/calibrator/readme.md @@ -67,7 +67,32 @@ Parameter key   | Description   `tolerance_gradient`   | Gradient tolerance for calibration   | $10^{-5}$   `tolerance_increment`   | Increment tolerance for calibration   | $10^{-10}$   `maximum_iterations`   | Maximum calibration iterations   | 100   -`calibrate_stenosis_coefficient`   | Toggle whether stenosis coefficient should be calibrated   | True   -`set_capacitance_to_zero`   | Toggle whether all capacitances should be manually set to zero   | False   `initial_damping_factor`   | Initial damping factor for Levenberg-Marquardt optimization   | 1.0   +#### Selecting which parameters to calibrate + +Each vessel and multi-outlet junction must declare which of its parameters +the calibrator should optimize via a `calibrate` field listing the +parameter names. Parameters that are not listed are held constant at the +value found in the input file. The names must match the parameter names +the block exposes (e.g. `R_poiseuille`, `C`, `L`, `stenosis_coefficient` +for a `BloodVessel`; `R_poiseuille`, `L`, `stenosis_coefficient` per outlet +for a `BloodVesselJunction`). + +```json +{ + "vessel_name": "branch0_seg0", + "zero_d_element_type": "BloodVessel", + "zero_d_element_values": { + "R_poiseuille": 0.0, + "C": 1.2e-6, + "L": 0.25, + "stenosis_coefficient": 1.06e-5 + }, + "calibrate": ["R_poiseuille"] +} +``` + +If a block has no `calibrate` field (or an empty list), every parameter of +that block is held at its input value. The calibrator errors out if no +parameter ends up selected anywhere in the model.