Cristin-resultat-ID: 2175489
Sist endret: 14. november 2023, 13:40
NVI-rapporteringsår: 2023
Resultat
Vitenskapelig artikkel
2023

chombo-discharge: An AMR code for gas discharge simulations in complex geometries

Bidragsytere:
  • Robert Marskar

Tidsskrift

Journal of Open Source Software (JOSS)
ISSN 2475-9066
e-ISSN 2475-9066
NVI-nivå 1

Om resultatet

Vitenskapelig artikkel
Publiseringsår: 2023
Publisert online: 2023
Trykket: 2023
Volum: 8
Hefte: 85
Artikkelnummer: 5335
Open Access

Beskrivelse Beskrivelse

Tittel

chombo-discharge: An AMR code for gas discharge simulations in complex geometries

Sammendrag

chombo-discharge is a parallelized Cartesian 2D and 3D adaptive code for simulating low temperature gas discharges in complex geometries. Such discharges occur when electrons accelerate in strong electric fields and ionize the gas, and further evolution is affected by residual space charges. Streamers, for example, are filamentary plasma dominated by space charge effects. They are the natural precursors to leader, sparks, and lightning. Gas discharge modeling involves simulations over multiple scales in time and space. chombo discharge reduces the cost of such simulations by using Cartesian Adaptive Mesh Refinement (AMR). It also provides support for multi-material complex geometries (gas phase, electrodes, and solid dielectrics) through an embedded boundary (EB) formulation. Geometries are represented as implicit functions, and can be created using constructive solid geometry. Conversion of surface meshes to implicit functions is also supported. Under the hood, chombo discharge uses Chombo (Colella et al., 2000) for the AMR and EB infrastructure, and is parallelized using MPI. However, chombo-discharge supplies all numerical solvers. chombo-discharge uses a solver-centered modular design where larger applications are developed by coupling numerical solvers in the chombo-discharge base code, using C++ interfaces. Many solvers already exist in chombo-discharge, all of which are parallelized and compatible with EBs and AMR: • Advection-diffusion-reaction solvers. • Helmholtz equation solvers, using geometric multigrid. • An electrostatic solver (with support for discontinuous coefficients). • Kinetic Monte Carlo chemistry solvers. • Radiative transfer solvers (continuum and Monte Carlo). • Various particle solvers, e.g., for Monte Carlo radiative transfer, tracer particles, and microscopic drift-diffusion. • ODE solvers defined over volume or surface meshes. All solvers exist as stand-alone applications, and many of them are also coupled through more complex physics applications that aim at resolving different types of discharge phenomena (e.g., statistical inception models, or particle and fluid models of streamer discharges). The interaction of these solvers occurs through a common AMR “core”, which can also use dual grids where e.g. fluid and particle kernels are load-balanced separately. Depending on their needs, users can therefore enter the framework at several levels. For example, they need to learn interfaces when using existing applications (e.g., streamer models); use C++ APIs if developing new physics applications, or use the EB-AMR infrastructure if contributing with new solvers.

Bidragsytere

Robert Marskar

  • Tilknyttet:
    Forfatter
    ved Elkraftteknologi ved SINTEF Energi AS
1 - 1 av 1