documentation:tech_specs
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
documentation:tech_specs [11:25 02.08.2013] – [Diffusion] Walter | documentation:tech_specs [22:02 02.08.2013] (current) – [Random numbers] Walter | ||
---|---|---|---|
Line 101: | Line 101: | ||
where $T$ (for ' | where $T$ (for ' | ||
- | === Random | + | ===== Random |
- | By default, Morpheus uses the [[http:// | + | By default, Morpheus uses the [[http:// |
**Note**: In multithreaded simulations, | **Note**: In multithreaded simulations, | ||
- | ===== Model integration ===== | ||
- | |||
- | To be documented. | ||
- | |||
- | ==== Symbolic references and spatial mapping ==== | ||
- | |||
- | In order to reference variables in mathematical terms in a multi-model environment one requires to identify the respective sub-model a variable is defined in and to perform a mapping between different (spatial) contexts, i.e. determine the corresponding CPM cell from a spatial position to access a cell property. | ||
- | |||
- | This ensemble of a variable definition and contextual meta-data we call a symbol, which can be referenced all over the multi-model environment. (Also allows to iteration over the elements od a symbol context). | ||
- | |||
- | In case of spatial ambiguity Morpheus provides a set of predefined '' | ||
- | |||
- | |||
- | **Example Autocrine Chemotaxis** | ||
- | |||
- | < | ||
- | |||
- | <code xml |h AutocrineChemotaxis.xml |h> | ||
- | extern> http:// | ||
- | </ | ||
- | \\ | ||
- | |||
- | ==== Time scheduling ==== | ||
- | |||
- | The time scheduler takes care (i) to evolve numerical schemes in time, (ii) to schedule and execute spatial data mappings, and (iii) to run event-based schemes, i.e. schemes which are run in certain time intervals. In order to combine different schemes in a single scheduler we exploit the method of fractional time steps. The basis is for our automatic scheduling is extensive knowledge of the data dependencies of the schemes and what kind of updated data they provide. This information is represented as a symbolic dependency graph based on the expressions, | ||
- | |||
- | We envisage the following criteria for the design of our scheduler implementation. | ||
- | |||
- | * Time stepping for all schemes shall be automatically adjusted, as far as possible, to the maximum permitted time step. | ||
- | * In addition, time stepping can be overridden from in the MDL, allowing for user guided step sizes. | ||
- | * The order of the specification of the schemes in the MDL shall not matter. | ||
- | * The sequential order of updates within a temporal step shall be determined by the symbolic interdependency graph. | ||
- | * Tightly coupled systems, often bearing circular dependencies, | ||
- | | ||
- | A robust automatic scheduling methods necessarily needs reliable information about the internal limits of numerical schemes and its external dependencies. External dependencies are extracted as a dependency tree. Internal time step limits are reported by the schemes and can be adoptive in time. | ||
- | Solving Reaction-Diffusion Systems, for example, using a finite difference scheme and operator splitting allows us to schedule the diffusion solver depending on the CFL condition and running the reaction part independently. | ||
- | |||
- | === Schematic Representation of the Time Scheduler === | ||
- | |||
- | == Initialisation: | ||
- | - Adjusting time steps: | ||
- | * Continuous Time Solvers: Ensure numerical stability and . | ||
- | * Mappers: Ensuring updated data is available as needed, but not computed more often than necessary. We let the time step size depend on the time steps of the downstream dependency tree (e.g a spatial Reporter shall run as often as it's output is needed by another scheme), and on stability criteria of the numerical schemes (e.g. CFL for Diffusion). | ||
- | - Sorting of schemes to be updated sequentially: | ||
- | - Initialisation of initial time state (e.g. mappings) | ||
- | |||
- | == Main Loop: 3 Phase Time Stepper: == | ||
- | - '' | ||
- | - Time Step Progression | ||
- | - '' | ||
- | - '' | ||
- | - Checkpointing of simulation state. | ||
documentation/tech_specs.1375435524.txt.gz · Last modified: 11:25 02.08.2013 by Walter