Viacheslav Guzev
← WORK

Wave simulation on the GPU

A C++ and CUDA framework for modelling the Talbot effect on the surface of water.

Period
2019
My role
Researcher and sole software author
Organisation
Bauman Moscow State Technical University

Context

In 2019, I developed a framework for modelling the Talbot effect on the surface of water. My interest in CUDA began with a simple question: what could I compute on the GPU in my laptop?

Problem

The model needed to combine contributions from multiple wave sources into a raster representation of the wave field.

My role

I implemented the software myself in C++ and CUDA, including its computational framework and interface. Colleagues conducted physical experiments that provided a point of comparison.

Architecture

An actor contributes a wave amplitude at a distance from its source. For each raster location, the framework combines the contributions from the relevant actors. The GPU forms the raster matrix.

Technical decisions and constraints

The framework handled contributions from tens to hundreds of actors. A difficult part was connecting the distances in the equations to the spatial scale shown on screen, so that the visualisation could be interpreted in physical units.

Validation

I compared the model with theoretical expectations and with results obtained by colleagues on physical experimental benches.

Results

The software produced interactive wave-field visualisations and cross-section plots. The code, written report, and presentation have been retained. No preserved CPU/GPU timing comparison is available, so this account makes no speedup claim.

Further use

The project was intended to support student laboratory work. I left the laboratory before that stage, so its later use in teaching is not confirmed.