KitFort.jl

Lightweight module of Fortran methods in Kinetic.jl
Author vavrines
Popularity
5 Stars
Updated Last
10 Months Ago
Started In
November 2020

KitFort.jl

version CI codecov deps

This lightweight module provides the Fortran backends in Kinetic.jl ecosystem. It's not included in the main module by default, and can be manually imported in the extreme pursuit of efficiency. Check the documentation for information on the implementation and use of the package.

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.