protect pre_update_intracellular from changes made in post_update_intracellular#363
Open
drbergman wants to merge 2 commits intoMathCancer:developmentfrom
Open
protect pre_update_intracellular from changes made in post_update_intracellular#363drbergman wants to merge 2 commits intoMathCancer:developmentfrom
pre_update_intracellular from changes made in post_update_intracellular#363drbergman wants to merge 2 commits intoMathCancer:developmentfrom
Conversation
pre_update_intracellular from post_update_intracellular changes
pre_update_intracellular from post_update_intracellular changespre_update_intracellular from changes wrought in post_update_intracellular
- first do all pre updates, then all updates, then all post updates
- this ensures that any changes manifested in updates/post-updates are not immediately
visible to the pre-updates of other cells
- with the more verbose logic controlling intracellular updates, make a separate function to handle it
- in that function, encode directly dependence on `diffusion_dt` rather than the argument `diffusion_dt_`
- `initialzed` used to determine when to call `intracellular` rather than passed in
- if after first looping over all cells, none were found to require intracellular updates, then return early
9c276df to
e7fdcaf
Compare
pre_update_intracellular from changes wrought in post_update_intracellularpre_update_intracellular from changes made in post_update_intracellular
f9ffdd2 to
7af2a17
Compare
This file contains hidden or 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
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.
In models with both
pre_update_intracellularandpost_update_intracellularfunctions, it is currently possible for some cells to complete their post-update before other cells begin their pre-update. If the post-update modifies values in those cells that others use in the pre-update function (for example, surface-bound ligand expression), the pre-update function will use the incorrect values to update. This PR addresses this by performing the intracellular update as follows:a. Determine which are ready for intracellular updates
b. For these, do their
pre_update_intracellular(if defined)update_all_cells_intracellularupdatefunctionpost_intracellular_update(if defined)Commit comments
diffusion_dtrather than the argumentdiffusion_dt_initialzedused to determine when to callintracellularrather than passed in