This is a simple package that reads any 2D or 3D GMSH grid file (another reader could be added as needed) and adds high-order Legendre-Gauss-Lobatto or Legendre-Gauss nodes for arbitrary order spectral elements.
Suggested Julia version: 1.10.0
If you use JexpressoHOmesh please drop us a line to let us know. We'd like to add a link to your paper or work on this page.
Please cite JexpressoHOmesh with:
@article{tissaoui2024,
author = {Y. Tissaoui and J. F. Kelly and S. Marras}
title = {Efficient Spectral Element Method for the Euler Equations on Unbounded Domains},
year = {2024},
volume={487},
pages={129080},
journal = {Appl. Math. Comput.},
}
Feel free to contact me if you have questions or if you are interested in contributing (for example, it would be nice to add curved-elements capabilities!) Simone Marras
To install and run the code assume Julia 1.10.0
After cloning JexpressoHOmesh do the following:
>> cd $JEXPRESSO_HOME
>> julia --project=.
pkg> instantiate
pkg> precompile
To run JexpressoHOmesh, do as follows:
Push problem name to ARGS You need to do this only when you run a new problem
julia> push!(empty!(ARGS), PROBLEM_CASE_NAME::String)
julia> include("./src/JexpressoHOmesh.jl")
- PROBLEM_NAME is the name of your problem directory as $JEXPRESSO/problems/problem_case_name
- PROBLEM_CASE_NAME is the name of the subdirectory containing the specific setup that you want to run:
The path would look like
$JEXPRESSO/problems/problems/PROBLEM_CASE_NAME
Example 1:
julia> push!(empty!(ARGS), "grid");
julia> include("./src/JexpressoHOmesh.jl")
The linear mesh reader is from GridapGMSH.jl
Files can be written to VTK.