A function in the host software generates the finite-difference grid (possibly non-uniform) and the \(\alpha\), \(\beta\), \(\gamma\) and \(\delta\) coefficients based on the grid. These are converted into a set of \(\mathbf{A}\) matrices (in sparse form) and \(\mathbf{b}\) boundary vectors, plus modified forms of the \(\mathbf{A}\) matrices for the tridiagonal and pentadiagonal solvers (the \(\mathbf{X}\) matrices). The initial condition of the grid is also calculated on the host, and all of these cofficients are moved into the DDR memory on the Alveo card.
The following three steps are performed in hardware on the Alveo card for each timestep of the simulation.