Implementation of asynchronous integration API. (#210)
* Stage events for next integration interval on lowered cell. * Use explicit binning for event coalescence. * Extend `event_queue` to allow checking top of queue against arbitrary predicates. * Add `--bin-dt` and `--bin-regular` options to miniapp (disable binning with `--bin-dt 0`). * Tidy up miniapp option settings class. Integration in lowered cell over multiple steps is deferred until samplers can be set up with back-end polling. Asynchronous integration itself is not yet implemented.
Showing
- miniapp/io.cpp 16 additions, 37 deletionsminiapp/io.cpp
- miniapp/io.hpp 43 additions, 30 deletionsminiapp/io.hpp
- miniapp/miniapp.cpp 10 additions, 2 deletionsminiapp/miniapp.cpp
- src/cell_group.hpp 44 additions, 33 deletionssrc/cell_group.hpp
- src/event_queue.hpp 37 additions, 3 deletionssrc/event_queue.hpp
- src/fvm_multicell.hpp 107 additions, 8 deletionssrc/fvm_multicell.hpp
- src/model.hpp 7 additions, 0 deletionssrc/model.hpp
- tests/unit/test_cell_group.cpp 1 addition, 2 deletionstests/unit/test_cell_group.cpp
- tests/unit/test_event_queue.cpp 33 additions, 10 deletionstests/unit/test_event_queue.cpp
- tests/unit/test_fvm_multi.cpp 3 additions, 1 deletiontests/unit/test_fvm_multi.cpp
- tests/unit/test_probe.cpp 2 additions, 1 deletiontests/unit/test_probe.cpp
Please register or sign in to comment