Skip to main content

Crate ringkernel_wavesim3d

Crate ringkernel_wavesim3d 

Source
Expand description

RingKernel WaveSim3D - 3D Acoustic Wave Simulation

A comprehensive 3D acoustic wave simulation with realistic physics, binaural audio, and GPU acceleration.

§Features

  • 3D FDTD Simulation: Full 3D wave propagation using finite-difference time-domain methods with a 7-point stencil

  • Realistic Physics:

    • Temperature-dependent speed of sound
    • Humidity-dependent atmospheric absorption
    • Frequency-dependent damping (ISO 9613-1)
    • Multiple media: air, water, steel, aluminum
  • Binaural Audio:

    • Virtual head with configurable ear spacing
    • Interaural Time Difference (ITD) simulation
    • Interaural Level Difference (ILD) / head shadow
    • Real-time stereo output
  • Audio Sources:

    • Point impulses and spherical impulses
    • Continuous tones (sinusoidal)
    • Noise (white/pink)
    • Chirp (frequency sweep)
    • Gaussian pulses
    • Audio file playback
  • GPU Acceleration:

    • CUDA backend for NVIDIA GPUs
    • 3D stencil operations
    • Efficient packed buffer layout
    • Actor-based computation: Cell-as-actor paradigm with message-based halo exchange
  • 3D Visualization:

    • Slice rendering (XY, XZ, YZ planes)
    • Interactive camera controls
    • Source and listener markers
    • Real-time pressure field display

§Example

use ringkernel_wavesim3d::prelude::*;

// Create simulation with default parameters
let config = SimulationConfig::small_room();
let mut engine = config.build();

// Inject an impulse at the center
let (w, h, d) = engine.dimensions();
engine.inject_impulse(w/2, h/2, d/2, 1.0);

// Run simulation steps
for _ in 0..100 {
    engine.step();
}

println!("Simulated {} seconds", engine.time());

§Modules

  • simulation: Core simulation engine, physics, and grid
  • audio: Audio sources and binaural microphone
  • visualization: 3D rendering and camera controls

Re-exports§

pub use prelude::*;

Modules§

audio
Audio system for 3D acoustic simulation.
gui
GUI module for 3D wave simulation.
prelude
Re-exports for convenient access.
simulation
3D acoustic wave simulation module.
visualization
3D visualization module for acoustic wave simulation.