Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Levenberg-Marquardt model calibration (SimVascular#31)
* Split json handling from config reader Fix Debug build Set debug messages to be printed in debug build Fix deprecation warnings * Add documentation * Try to fix ubuntu build problems by fixing simdjson version * try with CMAKE_POSITION_INDEPENDENT_CODE again * Adress reviewers comments * Move block count increment out of loop * Rename time dependent parameter * Add block method for model class * Revise parameter class * Make elements use parameter IDs * Fix bug and support more elements * Support blood vessel junction * Fix gradient of blood vessel and add calibrator * Add gradient update to blood vessel junction * Support normal BC names * Write calibrated parameter values back into config * Add support for open loop coronary back * Add support for resistive junction back * Clean up * Fix bugs in calibrator and adapt after cleanup * Reduce blood vessel system size * Update bloodvessel junction to new blood vessel system * Some fixes * Fix bugs * Fix stenosis coeff gradient * Add support for remaining blocks back * Move determination of cardiac cycle period to model * Clean up reader * Use nlohmann json * Add gradient info to documentation * Fix calibrator * Improve python binding * Adapt solver interface * Add Levenberg Marquardt optimizer * Full LM algorithm and fixes for capacitance * Fix bug with calibrating stenosis coefficient * Fix bug with capacitance in steady model * Add termination criteria * Fix pytest * Move solver to own class * New python binding with thread safety * Dockerfile * Fix profiling * Allow installation via pip * Add reading derivative of initial condition * Get rid of Jsonhandler * Dockerize profiling * Adapt svzerodcalibrator * Use output last cycle only as default * Clean up * Fix interface * Fix tests * Setup for new documentation * update main page * Add svzerodsolver Guide * Finalize * Fix clang-format * Fix bug * Try to fix documentation * Another try * New try * fix typo * fix bug using calibration_parameters * clang format * add script to generate calibration problems from test cases * add VMR model 0075_1001 * Blood vessel junction without internal variables * exit normally if LM doesn't converge and use sci notation * add vmr 0d models. tried calibration from 3d, doesn't work. giving up * Fix bug * clang format * Address reviewer's comments * Typo in error msg * Make specifying the output file optional * default cardiac cycle period * Fix bug * make cmake compile interface by default * make specifying output file optional * added get_block_type * bug fix: update_parameter_value * update initial condition reading and other debugging * interface working again * clang format * updated parameter descriptions for heart model * Add calibration tests using vmr geometries * remove python script for plotting calibration --------- Co-authored-by: Jakob Richter <[email protected]> Co-authored-by: Martin R. Pfaller <[email protected]> Co-authored-by: Karthik Menon <[email protected]>
- Loading branch information