About me
My papers
Teaching
-
Numerical solution of partial differential equations (selected chapters, fall/winter 2019)
Lectures cover basics of numerical solution of PDEs, using both Eulerian (FDM, FEM) and Lagrangian (SPH) approaches. Presentation slides Example codes Videos OpenSPH simulations
OpenSPH code
OpenSPH runs hydrodynamical and N-body simulations and was written for asteroid collisions and subsequent gravitational evolution.
The code offers SPH and N-body solvers with several different equations of state and material rheologies.
It is written in C++14 with a modular object-oriented design, focused on extensibility and maintainability,
and it can be used either as a library or as a standalone graphical program that allows to set up the problem
in a convenient graphical node editor. The graphical program further allows real-time visualization of the simulation,
diagnostics and tools for analysis of the results.

Code snippet
AsymmetricSolver solver(*scheduler, settings, equations);
for (Size matId = 0; matId < particles->getMaterialCnt(); ++matId) {
solver.create(*particles, particles->getMaterial(matId));
}
PredictorCorrector stepper(particles, settings);
Statistics stats;
for (Float t = 0; t < t_end; t += stepper.getTimeStep()) {
stepper.step(*scheduler, solver, stats);
}