Skip to content

Code design

Sam Reeve edited this page May 31, 2022 · 2 revisions
  • BoundaryCondition
    • Enums and implementations for velocity conditions
  • DenseLinearAlgebra
    • Per-thread batched linear algebra (e.g. BLAS/LAPACK)
  • Mesh
    • Cajita mesh management
  • ParticleInit
    • User-defined functors initialize particles in a Cabana::AoSoA
  • ProblemManager
    • Manages all problem data including grid fields and particles
    • Provides key abstractions to give meaning to templates
  • Solver
    • Sets up the problem and manages devices (e.g. using GPUs vs. CPUs)
  • TimeIntegrator
    • The core physics kernels
  • VelocityInterpolation
    • Custom P2G/G2P operators for APIC
Clone this wiki locally