OpenSEMBA / dgtd

Maxwell's curl equations solver using discontinuous Galerkin methods.
BSD 3-Clause "New" or "Revised" License
15 stars 2 forks source link
cem dgtd fem

maxwell-dgtd

Maxwell's curl equations solver using discontinuous Galerkin methods

Compiling

Compilation needs vcpkg with the following packages:

OpenMP and MPI in Windows

OpenMP and MPI Linux

Defining a JSON file

Cases can be defined by parsing a JSON file with the problem information. See a complete example of a valid JSON file. An OpenSemba/dgtd JSON file must have the following structure, bold entries are required:

Example of a complete solver_options section:
https://github.com/OpenSEMBA/dgtd/blob/5dd67ef6435066172e9387d674ea7ccc4c6a8b87/testData/maxwellInputs/1D_PEC_Centered/1D_PEC_Centered.json#L2-L8

Example of a model section with two defined materials each with a different tag, Vacuum and a Dielectric with a specified permittivity; the model also has a boundary defined by two geometrical tags that share the same boundary type. The mesh and the folder for the case share the same name, with the exception of the mesh's file format: https://github.com/OpenSEMBA/dgtd/blob/5dd67ef6435066172e9387d674ea7ccc4c6a8b87/testData/maxwellInputs/1D_PEC_Centered/1D_PEC_Centered.json#L11-L30

Example of a probes section with all types of probes defined. An exporter probe that saves data at every step, a fields probe that stores all fields at position 0.0 for a 1D Mesh, and a surface probe that will store the "E" field at the surface with geometrical tag "1": https://github.com/OpenSEMBA/dgtd/blob/2e153b3978c770c8fc5ef299de6bf6b51fd98ef0/testData/maxwellInputs/1D_PEC_Centered/1D_PEC_Centered.json#L32-L47

Example of a sources section with all available types of sources defined for documentation purposes. For most cases, a single source is enough:

https://github.com/OpenSEMBA/dgtd/blob/5dd67ef6435066172e9387d674ea7ccc4c6a8b87/testData/maxwellInputs/1D_PEC_Centered/1D_PEC_Centered.json#L50-L83