Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 1.75 KB

README.md

File metadata and controls

53 lines (39 loc) · 1.75 KB

JEXPRESSO

A research and educational software for the numerical solution of 1D, 2D, and 3D PDEs using spectral and spectral element methods on CPUs and GPUs. DISCLAIMER: this is WIP.

If you are interested in contributing, please get in touch.

Some notes on using JEXPRESSO

To install and run the code assume Julia version 1.7.2 or higher (tested up to 1.8.5)

Setup with CPUs

>> cd $JEXPRESSO_HOME
>> julia --project=. -e "using Pkg; Pkg.instantiate(); Pkg.API.precompile()"

followed by the following:

Push problem name to ARGS You need to do this only when you run a new problem

julia> push!(empty!(ARGS), PROBLEM_NAME::String, PROBLEM_CASE_NAME::String);
julia> include("./src/Jexpresso.jl")
  • PROBLEM_NAME is the name of your problem directory as $JEXPRESSO/src/problems/problem_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/src/problems/PROBLEM_NAME/PROBLEM_CASE_NAME

For example, if you wanted to run AdvDiff with the setup defined inside the case directory case1, then you would do the following:

julia> push!(empty!(ARGS), "AdvDiff", "case1");
julia> include("./src/Jexpresso.jl")

Currently available problem names:

  • AdvDiff
  • Elliptic
  • LinearCLaw
  • ShallowWater
  • CompEuler (option with total energy and theta formulation)

More are already implemented but currently only in individual branches. They will be added to master after proper testing.

Plotting

For plotting we rely on Makie. If you want to use a different package, modify ./src/io/plotting/jplots.jl accordinly.

Contacts

Simone Marras, Yassine Tissaoui