KitFort.jl

Lightweight module of Fortran methods in Kinetic.jl
Author vavrines
Popularity
2 Stars
Updated Last
1 Year Ago
Started In
November 2020

KitFort.jl

CI codecov

This package serves as a lightweight module of Fortran methods in Kinetic.jl ecosystem. It's not included in the main module by default, and can be manually imported in the cases with extreme pursuit of efficiency.

Dynamic library

The modern Fortran methods is provided by the shared library kitmod.so and called from Julia with the help of ccall function.

Recompilation

To generate the dynamic library file to be called from Julia, make sure the GNU Fortran compiler has been installed in the computer.

gfortran kitmod.f90 -o kitmod.so -shared -fPIC -O3

Alternatively, the Intel Fortran compiler ifort can be employed with the same command above.

Note that GNU and Intel compilers present slightly different behaviors on the function call. For example, the low-level KFVS flux function takes:

  • :__kinetic_MOD_flux_kfvs_1f1v for GNU
  • :kinetic_mp_flux_kfvs_1f1v_ for Intel

Please don't do the recompilation unless you're sure what's exactly going on.