## Description This code is a one-dimensional discontinuous Galerkin time-domain code -- a discontinuous finite element method in time domain -- modelled after Hesthaven and Warburton \cite hesthaven2008nodal. The code differs from the given Matlab code in the way that it can be easily extended to a region based assignment of solution scheme parameters.
The code is applied to a mesh of a given 1D structure. The mesh needs to be in the current mesh format given by Gmsh.
Though I do my best to follow the C++ Core Guidelines by Bjarne Stroustrup and Herb Sutter, there are a few points I would like to an extra emphasis on.
You will not see me opening any feature branches in this git repository. Obviously, because this code is only written by me, but also because I do believe that feature branching is counterproductive to CI. I will rather do a dark launch.
The standard of this code is C++20, where I mostly make use of the \<set> library.
In the following you find a command line description of the installation. The installation is pretty standard in this case.
Clone the git repository to obtain the code
git clone git@github.com:dan-nha/dgtd.git
Create a build
directory in the code's root directory
mkdir build
and go into the newly created directory
cd build
Afterwards type the commands
cmake ..
and
make install
into your command line.
In the code's root directory you will find an binary file called dgtd
lying in the folder bin
. Execute the binary by giving it a mesh file produced by Gmsh as argument, e.g.
./dgtd my.msh
You can find example meshes under examples
.
I rather give some motivation for certain design choices, and the context of certain methods than describe what a part of code is doing. In this regard, I hope the given names and the implementation to be verbose enough to be able to abstain from lengthy documentation. This might not always be possible though.
To build the documentation go to the doc
directory and type the following command.
doxygen Doxyfile.in
Open doc/doxygen/html/index.html
with a browser to view the documentation.