ADSEMCOL (Adaptive Spectral Element Method for Systems of Conservation Laws) is an in-house finite element code for the solution of systems of conservation laws. Its main features are:
- Continuous finite elements up to degree 10
- Anisotropic h-adaptation
- Adaptive, 3rd order, linearly implicit Runge--Kutta time stepping
Currently solves:
- Nonlinear scalar convection--diffusion problems
- Compressible Euler and Navier--Stokes equations
Under development (to be included in future updates):
- Hydrogen combustion
- Shallow water equations
The code is currently under development, i.e., it is not optimized and it can sometimes fail due to incorrect settings and not sufficiently robust implementation.
Manuel Colera Rico (Universidad Politécnica de Madrid)
Vít Dolejší (Charles University Prague)
Please feel free to ask any questions at m.colera@upm.es .
M. Colera, V. Dolejší, 2025: An adaptive spectral element method for systems of conservation laws. Journal of Computational Physics 541, 114322.
M. Colera, V. Dolejší, 2025: ADSEMCOL - Adaptive Spectral Element Method for Systems of Conservation Laws, https://github.com/mancolric/ADSEMCOL/.
Requires (i) Julia language, and (ii) BAMG mesh generator, which is available via Rheolef (recommended for Linux and MacOS) and FreeFem (recommended for Windows).
In the main instalation directory, run julia install.jl and follow the instructions to install all the necessary files and Julia packages.
The directories ADSEMCOL/test/test_ConvectionDiffusion/ and ADSEMCOL/test/test_CompressibleFlow/ contain several tests concerning the nonlinear convection-diffusion equation and the Euler and Navier--Stokes compressible flow equations.
Each test is defined as a function that can be executed from the Julia terminal. Normally, the function has two compulsory arguments: the resolution
As an example, we consider the the triple-point test with an initial mesh size
#change directory to test_CompressibleFlow:
cd(path-to-test_CompressibleFlow)
#includet is recommended to make changes in the file without needing to recompile:
using Revise
includet("TriplePoint.jl")
#Run triple-point problem
TriplePoint(0.02, 5, TolS=1e-5, TolT=1e-3, epsilon=1e-3, tf=2.0, SaveRes=true, Deltat_SaveRes=0.2, SC=10);
Above, SC is the study case, i.e., a number associated with the problem. In this case, SC=10. The results are saved in the directory specified in the ResUbi.jl file (generated during the installation) with the names SC10_0.jld2 (SC10_1.jld2 (SC10_2.jld2 (
There are some useful functions to plot the results of each test in the folder ADSEMCOL/test/PlotResults/.
Detailed documentation will be uploaded in the future.
