Step GSoC project
This section is dedicated for tracking the state of the Step GSoC project. The project consists of implementing the following features:
- Simulation (StepCore library)
- [done] Global error estimation
- allows to calculate total error for each dynamic variable for the whole simulation time
- allows to set initial conditions with errors and see how error will propagate
- [done] Molecular dynamics
- 2d fluid and gas
- evaporation, Brownian motion
- allows to demonstrate relations between macro- and microscopic quantities in gas and fluid
- [done] Soft bodies and massive springs
- deformable bodies
- sound waves in bodies
- [done] Global error estimation
- GUI (Step itself)
- [done] Threading
- keep GUI responsible while performing long calculations
- allows to abort long calculations
- [done] Units for all quantities, unit conversions
- users will know in what units quantities are displayed
- allows to enter values in various units
- underlying conversion library will be shared in libkdeedu and available for use in other parts of the module
- [done] Custom graphics for various quantities
- allows to create various useful graphics, for example phase diagram for oscillator
- graphics are very important for education since they can visually demonstrate complex relations between quantities
- [done] Custom controllers to control body (force, solver) parameters
during simulation
- various properties will be easily controllable when running simulation
- [done] User-editable notes in experiment
- allows users to annotate experiment
- teachers can add explanations for students
- [done] Sidebar with nice descriptions and articles from wikipedia for
all body (force, solver) types
- users can easily find common formulas about objects
- users can easily access information they require to learn more about objects
- [done] Knewstuff2 for sharing experiments
- users can easily download new experiments and share their own
- [done] Threading
- Polishing
- [70% done] Step will be prepared for inclusion in the kdeedu just after SoC
- I will also implement the following features before SoC coding period begins (so technically they are not parts of SoC):
- [60% done] Collision handling with friction
- [10% done] Movement constraints (joints)
- [not started] Motors

