Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions documentation/rom_simulation/0d-solver/calibrator/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.