Skip to content

Universal modeling and simulation of fluid dynamics upon machine learning

License

Notifications You must be signed in to change notification settings

zlynna/Kinetic.jl

 
 

Repository files navigation

Kinetic.jl

Kinetic Logo

version status downloads

Kinetic is a lightweight Julia toolbox for the study of computational fluid dynamics. The main module is split into portable components:

  • KitBase.jl: basic physics and numerical schemes
  • KitML.jl: neural dynamics and machine learning methods
  • KitFort.jl: high-performance Fortran backend

As an optional module, the alternative Fortran backend can be manually imported into the current ecosystem when the ultimate executing efficiency is pursued. A Python wrapper kineticpy has been built as well to call the structs and methods here through pyjulia.

Kinetic KitBase KitML KitFort
CI CI CI CI
codecov codecov codecov codecov

Installation

Kinetic.jl is a registered package in the official Julia package registry. We recommend installing it with the Julia package manager. From the Julia REPL, you can get in the package manager (by pressing ]) and add the package

julia> ]
(v1.7) pkg> add Kinetic

This will automatically install a currently stable release and all its dependencies. Similarly, the previously installed versions can be updated to the latest tagged release by

(v1.7) pkg> update Kinetic

Physics

Kinetic.jl focuses on theoretical and numerical studies of many-particle systems of gases, photons, plasmas, neutrons, etc. It employs the finite volume method (FVM) to conduct 1-3 dimensional numerical simulations on CPUs and GPUs. Any advection-diffusion-type equation can be solved within the framework. Special attentions have been paid on Hilbert's sixth problem, i.e. to build the numerical passage between kinetic theory of gases, e.g. the Boltzmann equation, and continuum mechanics, e.g. the Euler and Navier-Stokes equations. A partial list of current supported models and equations include:

  • Boltzmann equation
  • radiative transfer equation
  • Fokker-Planck-Landau equation
  • direct simulation Monte Carlo
  • advection-diffusion equation
  • Burgers equation
  • Euler equations
  • Navier-Stokes equations
  • Magnetohydrodynamical equations
  • Maxwell's equations

Documentation

For the detailed information on the implementation and usage of the package, check the documentation.

Citing

If you benefit from Kinetic.jl in your research, teaching, or other activities, we would be happy if you could mention or cite it:

@article{Xiao2021,
  doi = {10.21105/joss.03060},
  url = {https://doi.org/10.21105/joss.03060},
  year = {2021},
  publisher = {The Open Journal},
  volume = {6},
  number = {62},
  pages = {3060},
  author = {Tianbai Xiao},
  title = {Kinetic.jl: A portable finite volume toolbox for scientific and neural computing},
  journal = {Journal of Open Source Software}
}

Contributing

If you have further questions regarding Kinetic.jl or have got an idea on improving it, please feel free to get in touch. Open an issue or pull request if you'd like to work on a new feature or even if you're new to open-source and want to find a cool little project or issue to work on that fits your interests. We're more than happy to help along the way.

About

Universal modeling and simulation of fluid dynamics upon machine learning

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 86.8%
  • TeX 13.2%