jejjohnson/jaxsw

TODO: Functional API

Opened this issue · 0 comments

A functional API for the standard spatial operator types that we typically see in numerical methods. We will target the following methods:

  • Finite Difference - just a standard wrapper for FiniteDiffX
  • Finite Volume - needs interpolation and simple finite difference operators
  • Spectral Methods - just a standard wrapper for FiniteDiffX

——
Grid Operators

These are operators that are useful for finite volume methods to do grid to grid interpolation and gradients. It is also useful for finite difference/volume methods for padding and boundary conditions.

API

  • Grid.interp
  • Grid.diff
  • Grid.pad
  • (Grid.cumsum)
  • grid.boundary
u_avg = grid.interp(u, axis=0, method="mean", operation=linear”)

du_dx = grid.difference(u, step_size=dx, axis=0, method="")

u_pad = grid.pad(u, axis=0, method="constant", values=0)

u_dirichlet = grid.boundary(u, axis=0, method=dirichlet”)