← Back
Home › Systems › Simulation and scientific computing

sph-solver

smoothed particle hydrodynamics

DualSPHysics

SystemTechniques · 8Primitives · 44 sph-solver Batch checkpoint restartdistributed · medium: Large batch jobs (end-of-day, settlement, payroll runs) that checkpoint and restart idempotentlyHalo exchangedistributed · medium: Each rank stores its block plus a border copy of its neighbours' edge cells, refreshed by small messages every step; communication scales with block surface, not volume.›Marching cubesgraphics · medium: Extract triangle meshes from scalar fields (marching cubes, dual contouring)Complementarity contact solverphysics · medium: Contact as LCP or convex optimization (PGS, Newton) with friction cones; soft contactsSmoothed particle hydrodynamicsphysics · medium: SPH kernels for density, pressure and viscosity on particles; neighbor searchChunked array storagestorage · medium: Cut an N-dimensional array into a regular grid of independently compressed blocks, so a slice read touches only the overlapping blocks and writers to different blocks run in parallel.›Contact manifold generationphysics · medium: Build persistent contact point sets from collision normals by clipping, with feature IDs for warm startsSpatial hashingphysics · low: Uniform grid stored in a hash table: bucket objects by cell, test only neighbouring cells; O(n) neighbour search for many similar-sized objects such as particles.›Rigid-body dynamicsphysics · low: Advance one 3D rigid body per step from force and torque: semi-implicit Euler for position, an inertia tensor in the body frame, and quaternion orientation updated by the exponential map.›Verlet / leapfrognumerics · low: Half-kick, drift, half-kick: a second-order, time-reversible, symplectic integrator with one force evaluation per step whose energy error stays bounded for millions of steps.›Neighbor listsphysics · low: Cell lists plus Verlet buffer lists for O(n) short-range pair interactionsRadix sortsearch-sort · low: Non-comparison sort that distributes keys by 8-bit digits; several times faster than comparison sorts on large arrays of integers, floats or fixed-size keys.›Space filling curvesgeometry · low: Z-order/Morton (geohash) and Hilbert curves mapping multi-dimensional points to sortable keysGpu memory coalescing bankinghardware-os · low: Coalesced global loads, shared memory bank conflicts, L2 and HBM bandwidth on GPUsCUDA and GPU languageslanguages · low: Programming GPUs: thousands of lockstep threads, bound by memory bandwidth; libraries first, Triton for fused kernels, CUDA C++ for peak speed.›Floating-point errornumerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.›Periodic boundary conditionsphysics · low: Minimum image convention and wrapping for simulations in periodic boxesParallel prefix sumsearch-sort · low: Work-efficient scan (Blelloch, decoupled look-back) on CPU SIMD and GPUs; stream compactionIdempotency keysfinance · low: Client-chosen unique key per logical operation, stored with a request fingerprint and the final response, so retries replay the first result instead of acting twice.›Write-ahead logstorage · low: Append each change to a checksummed sequential log and fsync it before touching data pages; the basis of crash durability in nearly every database.›Cron schedulingsystems · low: Cron expression parsing and next-fire-time computation, with catch-up and time-zone rulesEager rendezvous protocoldistributed · low: MPI point-to-point: eager sends for small messages, rendezvous handshake for large onesRdmanetworking · low: RDMA verbs over InfiniBand/RoCE: queue pairs, memory registration, one-sided ops+ 1 more techniques+ 28 more primitives

Similar systems

Share the most building blocks with this one.