SELF icon indicating copy to clipboard operation
SELF copied to clipboard

Roadmap 2022

Open fluidnumerics-joe opened this issue 3 years ago • 0 comments

What do you want to learn/know? The SELF projects needs a roadmap for the next year to inform users of the plans for this project. Input from the community is most welcome!

Currently, the following items come to mind :

Community

  • Looking for a team of contributors and maintainers. With sufficient interest, we will transition SELF from the FluidNumerics org domain to the community oriented HigherOrderMethods org.
  • SELF-Fluids Google Cloud project hosting options for the HigherOrderMethods community - currently hosted and paid for by Fluid Numerics.
  • Need to develop plans to provide visibility to Google Cloud Build build logs and container registry for HOM members

Core classes

  • Finalize the Model* classes with sufficient core routines for explicit integration, file IO, and conservative divergence methods.
  • Migrate split-form flux-divergence (for u*s separable fluxes) methods to SELF_Lagrange, to improve reusability
  • There are plans to add IO features for the tecplot and HDF5 output that leverage the metadata attributes the the SELF_Data class to automatically populate variable names in output files
  • Based on the first experiences of developing models using SELF, and to simplify file IO, the variables dimension for SELF_Data, will be shifted to the outer-most dimension (after the elements dimension).

Testing Infrastructure

  • Testing infrastructure will be expanded using Google Cloud Build. We currently perform serial tests within the Cloud Build VM, which limits at-scale testing and prevents automated GPU kernel testing. We currently plan to leverage the fluid-run build step to expand testing onto larger instances and those with GPU acceleration.
  • In addition to PR builds, we'll add version release and main branch builds that execute benchmarks on a variety of hardware to make recommendations for target platforms and to guide decision makers on expected performance for SELF.

New Models

  1. Burger's equation 1-D
  2. Linear and Nonlinear Shallow Water equations (2-D)
  3. Compressible Navier-Stokes for dry air (2-D and 3-D)
  4. Compressible Navier-Stokes for Seawater (3-D)
  5. Maxwell's Equation (2-D and 3-D)

Documentation

  • ReadTheDocs documentation will be built out with focus on researchers and modelers that want to build PDE solvers and for developers who want to contribute to the SELF core. Documentation for users will focus on how to build conservation law solvers, by example, by using type extensions of the SELF_Model classes.
  • Currently, SELF has heavy FORD documentation for the lower level routines, but much is lacking on the SELF_MappedData, Mesh, Geometry, and higher level modules. We'll be pushing ahead to add more informative comments for classes and methods to improve the API documentation generated by FORD.
  • Contributing documentation will be updated to outline more of the process for adding new features and bug fixes with a more concrete outline of what will be needed to merge into develop and main branches.

Artifacts

Additional Tools

  • Paraview plugin for SELF HDF5 files
  • 2-D Mesh preprocessor to reorder elements along space filling curves (improve 2-D scalability)

Documentation

  • Add ReadTheDocs that covers software structure/design, build and testing infrastructure, guidelines for adding new models, quadrature
  • Build out Colaboratory notebooks and latex documentation to cover spectral element method theory
  • Build out Colaboratory notebooks & codelabs for running example programs locally and on Google Cloud

fluidnumerics-joe avatar Jan 29 '22 18:01 fluidnumerics-joe