Miniapps¶
oscillator¶
The oscillator mini-application computes a sum of damped, decaying, or periodic oscillators, convolved with (unnormalized) Gaussians, on a grid. It could be configured as a proxy for simulation of a chemical reaction on a two-dimensional substrate (see Chemical reaction on a 2D substrate).
| option | description |
| -b, –blocks INT | Number of blocks to use [default: 1]. |
| -s, –shape POINT | Number of cells in the domain [default: 64 64 64]. |
| -e, –bounds FLOAT | Bounds of the Domain [default: {0,-1,0,-1,0,-1]}. |
| -t, –dt FLOAT | The time step [default: 0.01]. |
| -f, –config STRING | SENSEI analysis configuration xml (required). |
| -g, –ghost-cells INT | Number of ghost cells [default: 1]. |
| –t-end FLOAT | Request synchronize after each time step. |
| -j, –jobs INT | Number of threads [default: 1]. |
| -o, –output STRING | Prefix for output [default: “”]. |
| -p, –particles INT | Number of particles [default: 0]. |
| -v, –v-scale FLOAT | Gradient to Velocity scale factor [default: 50]. |
| -r, –seed INT | Random seed [default: 1]. |
| –sync | The end time [default: 10]. |
| -h, –help | Show help. |
The oscillators’ locations and parameters are specified in an input file (see input folder for examples).
Note that the generate_input script can generate a set of randomly initialized oscillators.
The simulation code is in main.cpp while the computational kernel is in Oscillator.cpp.
To run:
There are a number of examples available in the SENSEI repositoory that leverage the oscillator mini-application.