-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature 2327 constraints #2339
Closed
Closed
Feature 2327 constraints #2339
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Refactor DEExporter/DEModel/csc_matrix Reduce unnecessary coupling: * `csc_matrix` as free function - removes the need for the codeprinter in DEModel * Move the codeprinter to `DEExporter` where it's actually needed * ..
…MICI-dev#2304) Currently, parameters that are targets of initial assignments don't show up as parameters or expressions in the amici model. This is rather not what most users would expect. As a first step: treat all SBML parameters that are initial assignment targets and whose initial assignment evaluates to a number as amici parameters. Related to AMICI-dev#2150.
No changes in functionality. Related to AMICI-dev#2306.
Start moving functionality for amici model code generation to a private subpackage `amici._codegen`. More to follow.
…CI-dev#2317) Adds an implicit conversion function to SUNMatrixWrapper make things more readable.
Cache remote files for tests locally via pooch, and cache the pooch cache for GitHub actions. Today, I had dozens of workflow failures due to rate-limiting or unavailability of biomodels. This is avoidable.
* Search for 64bit BLAS if supported by CMake. * On apple, try accelerate if nothing else was specified. Use the new interface (https://developer.apple.com/documentation/accelerate/blas). Fixes AMICI-dev#2286.
Move model compilation to a free function in a separate module. Easier to test and more reusable for recompilation after initial import. Related to AMICI-dev#2306
* Upgrade to SuiteSparse 7.6 * Update build scripts Closes AMICI-dev#2302
…MICI-dev#2305) Currently, parameters that are targets of initial assignments don't show up as parameters or expressions in the amici model. This is rather not what most users would expect. Therefore, treat all SBML parameters that are initial assignment targets and whose initial assignment does not evaluate to a number (for those that do, see AMICI-dev#2304) as amici expressions. Those static expressions will be handled more efficiently after AMICI-dev#2303. Related to AMICI-dev#2150. See also AMICI-dev#2304.
`SbmlImporter` should construct a `DEModel`, instead of `DEModel` importing an `SbmlImporter`. Will allow moving `DEModel` to a separate module. Closes AMICI-dev#2308.
Split expressions in `w` and its derivatives into dynamic (explicitly or implicitly time-dependent) and static ones. Evaluate static ones only when needed, i.e. after (re)initializing x_rdata or parameters. See AMICI-dev#1269
…#2323) ... to make space to move `amici.de_export.DEModel` to `amici.de_model` Related to AMICI-dev#2306.
…MICI-dev#2321) Move everything related to information on C++ model functions to a separate module. Related to AMICI-dev#2306. No changes in functionality.
…MICI-dev#2322) Simpler model diffs.
Move functionality for generating the ``amici::Model`` subclass code to a separate file. Related to AMICI-dev#2306
* Refactor de_export, extract DEModel Move `de_export.DEModel` to `de_model`. Closes AMICI-dev#2306. de_export is now down to 1.5K lines, from previously 4K+. Some further cleanup would be good, but it's a start. * .. * ..
) See [CVodeSetMaxConvFails](https://sundials.readthedocs.io/en/latest/cvodes/Usage/SIM.html#c.CVodeSetMaxConvFails) and [CVodeSetMaxNonlinIters](https://sundials.readthedocs.io/en/latest/cvodes/Usage/SIM.html#c.CVodeSetMaxNonlinIters). Closes AMICI-dev#2333.
Previously, the wrong array was checked 🙈: ```python amici_model.setAllStatesNonNegative() amici_model.setStateIsNonNegative([]) amici_model.setAllStatesNonNegative() Traceback (most recent call last): File "<ipython-input-22-d7056e8e4e3f>", line 1, in <module> amici_model.setAllStatesNonNegative() File "python/sdist/amici/amici.py", line 2243, in setAllStatesNonNegative return _amici.ModelPtr_setAllStatesNonNegative(self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: Dimension of input stateIsNonNegative (0) does not agree with number of state variables (2) ```
Finally works with Python3.12 without DeprecationWarnings
Previously, an exception during `ReturnData::processSimulationObjects` would result in program termination. Fixes AMICI-dev#1882.
In addition to the current `Model.setStateIsNonNegative`, this adds the option to set additional (non)negativity/positivity constraints to be enforced by the solver. See [CVodeSetConstraints](https://sundials.readthedocs.io/en/latest/cvode/Usage/index.html#c.CVodeSetConstraints) for details. Related to AMICI-dev#2327.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.