🎏 Roadmap

🎏 Roadmap

The following points outline which features will be worked on in the future. Even if these features are listed, they may be postponed due to complications or waiting for other features to be figured out before tackling them. For feature requests, please use github’s issue tracker.

The way to version 0.1

Simulation Flow

  • Make it multi-scale: varying time-steps for portions of simulation
    • Find user Interface for time input Time-Scales per concept or per concept-group

CellAgent (concepts + backend)

  • mechanics via force interactions
  • proliferation
  • death
    • immediate death
    • phased death
    • make it stochastic
  • Custom (individual-only) rules
  • General contact functions
    • Contact reactions

Domain (concepts + backend)

  • Environment Fluid Dynamics
    • PDE Diffusion
    • Lattice Boltzmann (optional)
    • Particles (optional)
  • Better concepts for domain decomposition
    • Test currently proposed new design
    • Efficiently implement this new concept and benchmark
  • Evaluate usage of associated types for some concepts
    • CellularReactions concept
    • Domain concept
  • Parallelize decomposition of standard CartesianCuboid Domain

Overall Design

  • Parallelization of default backend
  • Deterministic results (in default backend, even yield same binary output when changing number of threads)
  • Stabilize the new chili backend

Planned for the Future

  • Complete Deserialization of Simulation
    • Restart Simulation from Snapshot with identical binary output
  • Custom (adaptive) time steppers
  • Proper error handling with strategies
  • Export Formats other then 1:1 storage through (de)serialization (such as vtk files for paraview)
  • Csv file storage support
  • Julia Bindings

Possible Directions

  • Purely GPU powered Backend (probably restricted generics)
  • Python bindings for some predefined models
  • Larger than memory simulations by using sled on disk