-
Notifications
You must be signed in to change notification settings - Fork 46
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
Generalize continuum integration #260
Merged
Merged
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
TobiasDuswald
changed the title
WIP: generalize continuum integration
Generalize continuum integration
Apr 14, 2022
|
Kudos, SonarCloud Quality Gate passed! |
TobiasDuswald
added
api-change
Changes affecting the API
WIP
Work in progress
examples
Add / remove / change examples
bdm-core
Changes in BDM core
labels
Aug 29, 2022
Co-authored-by: Lukas Breitwieser <lukas.breitwieser@cern.ch>
Example: x (execute operation) 0 (don't execute operation) with freq. 3 Previously: [x00x00x00] Now: [00x00x00x] Reason: All operations receive the same delta t.
TobiasDuswald
force-pushed
the
continuum-api
branch
from
September 16, 2022 15:35
fcb18a1
to
b9c897a
Compare
TobiasDuswald
added
ready
Ready for merge / review
and removed
WIP
Work in progress
labels
Oct 3, 2022
Uses a absolute tolerance rather than a relative one
Kudos, SonarCloud Quality Gate passed! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
api-change
Changes affecting the API
bdm-core
Changes in BDM core
examples
Add / remove / change examples
ready
Ready for merge / review
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.
Add a high-level class interface to BioDynaMo that allows attaching time-dependent continuum models of various types, e.g analytical, third-party packages, or our FD scheme
DiffusionGrid
. By default, the interface uses the same time steps as the agent simulation viaparam->simulation_time_step
but it's possible to set and set arbitrary time steps for the continuum model. Thus it's possible to realize continuum models with explicit (typically smalldt
), implicit (typically largedt
), and agent-based models with arbitrary time steps. Continuum time steps can both be larger and smaller than the agent updates. Explicit time integration schemes often come with stability conditions (e.g. EulerGrid) requiring a certain time resolution. Setting the time step directly rather than some frequency of the diffusion operation gives additional freedom and makes it easier to satisfy the stability conditions (e.g. if you vary the agent-time scaleparam->simulation_time_step
the stability remains unaffected if we have fixed dt)