User Tools

Site Tools


documentation:limitations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
documentation:limitations [07:50 06.04.2016] Walterdocumentation:limitations [13:34 17.08.2021] (current) – Moved to GitLab Pages Diego Jahn
Line 1: Line 1:
-===== Limitations ===== 
- 
-Below is a necessarily incomplete list of current limitations of Morpheus. Many of these are on our to-do list or under development.  
-=== Lattice ==== 
- 
-Morpheus uses regular lattice discretization for all spatial processes. It does not support irregular lattices of continuous space models.  
- 
-=== Solvers ===  
- 
-The solvers in Morpheus use finite difference schemes with fixed time-steps. Adaptive time-stepping schemes are not available. It does not support solving of stiff ODE systems. 
- 
-=== PDE === 
- 
-Morpheus can simulate reaction-diffusion systems, but does not support processes that depend on higher-order derivatives such as advection or chemotaxis. 
- 
-=== Cell motility === 
- 
-Morpheus supports the [[http://dx.doi.org/10.1103%2FPhysRevLett.69.2013|cellular Potts model]] to represent cell shape, motility and adhesion. Depending on the scale at which cell-based models are used, motility of cells may be more suitably modeled in more parsimonious formalisms, such as [[http://dx.doi.org/10.1007/978-0-8176-4556-4_31|interacting particle systems]]. These are currently not available in Morpheus. 
- 
-=== Extensibility === 
- 
-Morpheus is an extensible framework and provides a [[documentation:tech_specs#plugins|plugin interface]] to extend its features. However, this requires [[devel:source|building from source]], <del>which is currently restricted to developers and collaborators. Therefore, in its current distribution as an application (binaries), extensibility is not supported.</del> To build Morpheus, please clone the sources from our [[https://gitlab.com/morpheus.lab/morpheus|GitLab repository]]. 
- 
-=== Performance === 
- 
-Morpheus heavily relies on [[http://muparser.beltoforion.de/|muparser]] for parsing mathematical expressions. Although this provides fast parsing by translating into bytecode, its performance cannot compete with compiled C++ code. Thus, the flexibility gained by using parsed expression invokes a penalty on computational performance. The amount of penalty depends on the number and complexity of parsed expressions and is highly model-dependent. Therefore, in some cases, Morpheus may not be best-suited for large-scale simulations. 
- 
-See the results of [[documentation:performance|performance and scalability]] tests for more detailed and quantitative information. 
- 
-=== Parallelization === 
- 
-Morpheus uses [[http://openmp.org|openMP]] multithreading to concurrently execute several data-parallel processes. For instance, intracellular ODEs are computed concurrently for each cell, and the reaction-step in PDEs are computed concurrently per y-line. Although this is a good first approximation, it does not fully exploit parallel computing.  Scalability therefore heavily depends on the specific simulation model. CPM (sub)models, for instance, are not parallelized. 
- 
-See the results of [[documentation:performance|performance and scalability]] tests for more detailed and quantitative information. 
- 
  
documentation/limitations.1459921850.txt.gz · Last modified: 07:50 06.04.2016 by Walter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki