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.