From 01bdf164a45f33ec2f3443d46a400aa89a1547fd Mon Sep 17 00:00:00 2001 From: Tianbai Xiao Date: Wed, 3 Feb 2021 22:20:38 +0100 Subject: [PATCH] Update paper --- paper/cavity.png | Bin 0 -> 89079 bytes paper/paper.bib | 45 ++++++++---- paper/paper.md | 177 +++++++++++++++++++++++++++++------------------ paper/sod.png | Bin 24126 -> 0 bytes 4 files changed, 141 insertions(+), 81 deletions(-) create mode 100644 paper/cavity.png delete mode 100644 paper/sod.png diff --git a/paper/cavity.png b/paper/cavity.png new file mode 100644 index 0000000000000000000000000000000000000000..23fdd51a13271d4bb20abe7dd301ba5d1b89962a GIT binary patch literal 89079 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 literal 0 HcmV?d00001 diff --git a/paper/paper.bib b/paper/paper.bib index f9726039..70298a0f 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -1,3 +1,15 @@ +@book{chapman1990, + title={The mathematical theory of non-uniform gases: an account of the kinetic theory of viscosity, thermal conduction and diffusion in gases}, + author={Chapman, Sydney and Cowling, Thomas George and Burnett, David}, + year={1990}, + publisher={Cambridge university press} +} +@book{batchelor2000, + title={An introduction to fluid dynamics}, + author={Batchelor, Cx K and Batchelor, GK}, + year={2000}, + publisher={Cambridge university press} +} @article{bezanson2017, title={Julia: A fresh approach to numerical computing}, author={Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B}, @@ -18,12 +30,12 @@ @inproceedings{jasak2007 organization={IUC Dubrovnik Croatia} } @misc{clawpack2020, - title={Clawpack software}, - author={{Clawpack Development Team}}, - url={http://www.clawpack.org}, - note={Version 5.7.1}, - doi={https://doi.org/10.5281/zenodo.4025432}, - year={2020}} + title={Clawpack software}, + author={{Clawpack Development Team}}, + url={http://www.clawpack.org}, + note={Version 5.7.1}, + doi={https://doi.org/10.5281/zenodo.4025432}, + year={2020}} @article{Flux2018, author = {Michael Innes and Elliot Saba and @@ -46,10 +58,19 @@ @article{Flux2018 bibsource = {dblp computer science bibliography, https://dblp.org} } @misc{xiao2020, - title={Using neural networks to accelerate the solution of the Boltzmann equation}, - author={Tianbai Xiao and Martin Frank}, - year={2020}, - eprint={2010.13649}, - archivePrefix={arXiv}, - primaryClass={physics.comp-ph} + title={Using neural networks to accelerate the solution of the Boltzmann equation}, + author={Tianbai Xiao and Martin Frank}, + year={2020}, + eprint={2010.13649}, + archivePrefix={arXiv}, + primaryClass={physics.comp-ph} +} +@article{xiao2017, + title={A well-balanced unified gas-kinetic scheme for multiscale flow transport under gravitational field}, + author={Xiao, Tianbai and Cai, Qingdong and Xu, Kun}, + journal={Journal of Computational Physics}, + volume={332}, + pages={475--491}, + year={2017}, + publisher={Elsevier} } \ No newline at end of file diff --git a/paper/paper.md b/paper/paper.md index 082873b7..bc319f96 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -1,8 +1,8 @@ --- -title: 'Kinetic.jl: A lightweight finite volume toolbox in Julia' +title: 'Kinetic.jl: A portable finite volume toolbox in Julia' tags: - - computational fluid dynamics - kinetic theory + - computational fluid dynamics - scientific machine learning - julia authors: @@ -18,91 +18,130 @@ bibliography: paper.bib # Summary -``Kinetic.jl`` is a lightweight toolbox for computational fluid dynamics and scientific machine learning. It focus on the theoretical and numerical studies of many-particle systems of gases, photons, plasmas, neutrons, etc. Under the hood, the finite volume method (FVM) is implemented with various flux functions and update algorithms. Therefore, 1-3 dimensional numerical simulations can be conducted for any advection-diffusion type equations. 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 the Navier-Stokes equations. - - - -``Kinetic.jl`` is an open-source project hosted on GitHub and distributed under MIT license. The main module consists of ``KitBase.jl`` with basic physics and ``KitML.jl`` with neural dynamics. The high-performance Fortran library ``KitFort.jl`` is not included by default, but can be manually imported when the executing efficiency becomes the priority. A Python wrapper ``kineticpy`` has been built as well to locate the structures and methods through ``pyjulia``. It is easy to perform a subtask with the corresponding portable module. - -`Kinetic.jl` leverages the Julia programming language [@bezanson2017] for its implementation. The motivation behind it is to balance the flexibility for scientific research, the efficiency for application, and the simplicity for educational usage. Most of the mature FVM libraries, e.g. the OpenFOAM [@jasak2007], are written in compiled languages (C/C++, Fortran), which enjoy the perfect execution efficiency and sacrifice the speed and flexibility for a second development. For example, it is cumbersome to introduce phase-field evolution in OpenFOAM or integrate it with scientific machine learning (SciML) packages. Regarding this situation, the compromise has been made [@clawpack2020], which split the high-level front-ends and the low-level computational back-ends. Usually the front-end is implemented with interpreted languages, e.g. Python, which is able to call the low-level APIs written by compiled languages. Basically it benefits general users, while researchers need to work on the back-end anyhow if a new feature is in desire. Besides, the two-language problem will introduce additional trade-off in development and execution. - -Julia programming language is dynamically typed and designed for high performance computing for broad devices. Based on type inference and multiple dispatch, it is an ideal choice to solve the two-language problem. In `Kinetic.jl`, we provide different hierarchies of abstraction. At the highest level, it is feasible to model and simulate a typical gas dynamic problem within 10 lines of code. At the lowest level, we design the methods for general `Number` and `AbstractArray` , so that it holds the perfect possibility to cooperate with existing packages in Julia ecosystem. As an example, `KitML.jl` depends `Flux.jl` [@Flux2018] to conduct scientific machine learning problems. - -In the following, we present an illustrative example of the shock tube problem in gas dynamics. With the configuration file `config.txt` set as below, - - -``` -# case -case = sod -space = 1d2f1v -nSpecies = 1 -flux = kfvs -collision = bgk -interpOrder = 2 -limiter = vanleer -boundary = fix -cfl = 0.5 -maxTime = 0.2 +Kinetic.jl is a lightweight finite volume toolbox written in the Julia programming language for the study of computational mechanics and scientific machine learning. +It is an open-source project hosted on GitHub and distributed under MIT license. +The main module consists of KitBase.jl with basic physics and KitML.jl with neural dynamics. +The library provides a rich set of numerical flux functions. +Any advection-diffusion type mechanical or neural equation can be hooked and solved in the framework. +It is designed to balance the programming flexibility for scientific research, the algorithmic efficiency for application, and the simplicity for educational usage. + +# Statement of need + +A physical system can perform a wonderfully diverse set of acts on different characteristic scales. +For example, particle transports can be described by kinetic theory of gases at particle mean free path scale [@chapman1990] and fluid mechanics at macroscopic level [@batchelor2000]. +With the rapidly advancing computing power, the finite volume method (FVM) is a prevalent method for quantitatively describing physical evolutions. + +Most existing FVM libraries, e.g. the OpenFOAM [@jasak2007], are written in compiled languages (C/C++ and Fortran), which enjoy the perfect execution efficiency but sacrifice the flexibility for development. +For example, it is cumbersome to implement the phase-field evolution from the Boltzmann equation [@xiao2017] in OpenFOAM or integrate it with scientific machine learning (SciML) packages. +One compromise can be made with a combination of static and dynamic languages [@clawpack2020], where the high-level front-ends and the low-level computational back-ends are splitted. +Basically it benefits general users, while researchers still need to work on the back-end if a new feature is required. +Besides, the two-language problem introduces additional trade-off in both development and execution. +Different from these packages, Kinetic.jl is built upon the Julia programming language [@bezanson2017], which is dynamically typed and designed for high performance computing for broad devices. +Based on type inference and multiple dispatch, it is a promising choice to solve the two-language problem. + +Kinetic.jl focus on the theoretical and numerical studies of many-particle systems of gases, photons, plasmas, neutrons, etc. +A hierarchy of abstractions is implemented. +At the highest level, it is feasible to model and simulate a fluid dynamic problem within 10 lines of code. +At the lowest level, we design the methods for general numbers and arrays, so that it holds the perfect possibility to cooperate with existing packages in Julia ecosystem. +As an example, It depends Flux.jl [@Flux2018] to create and train scientific machine learning models. +The package holds the following innovations: +- 100% Julia stack that encounters no two-language problem +- Comprehensive support for kinetic theory and phase-space equations +- Lightweight design to ensure the flexibility for secondary development +- Closely coupling with scientific machine learning + +# KitBase.jl + +The main module of Kinetic.jl is splitted into two pieces to reduce the just-in-time (JIT) compilation time for domain specific applications. +The basic physical laws and finite volume method are implemented in KitBase.jl. +It provides a variety of solvers for the Boltzmann equation, Maxwell's equations, advection-diffusion equation, Burgers' equation, Euler and Navier-Stokes equations, etc. +Different parallel computing techniques are provided, e.g. multi-threading, distributed computing and CUDA programming. + +In the following, we present an illustrative example of solving lid-driven cavity problem with the Boltzmann equation. +Two initialization methods, i.e. configuration text and Julia script, are available for setting up the solver. +With the configuration file `config.toml` set as below, +```toml +# setup +matter = gas # material +case = cavity # case +space = 2d2f2v # phase +flux = kfvs # flux function +collision = bgk # intermolecular collision +nSpecies = 1 # number of species +interpOrder = 2 # interpolation order of accuracy +limiter = vanleer # limiter function +boundary = maxwell # boundary condition +cfl = 0.8 # CFL number +maxTime = 5.0 # maximal simulation time # physical space -x0 = 0 -x1 = 1 -nx = 200 -pMeshType = uniform -nxg = 1 +x0 = 0.0 # starting point in x +x1 = 1.0 # ending point in x +nx = 45 # number of cells in x +y0 = 0.0 # starting point in y +y1 = 1.0 # ending point in y +ny = 45 # number of cells in y +pMeshType = uniform # mesh type +nxg = 0 # number of ghost cell in x +nyg = 0 # number of ghost cell in y # velocity space -vMeshType = rectangle -umin = -5 -umax = 5 -nu = 28 -nug = 0 - -# gas -knudsen = 0.0001 -mach = 0.0 -prandtl = 1 -inK = 2 -omega = 0.81 -alphaRef = 1.0 -omegaRef = 0.5 +umin = -5.0 # starting point in u +umax = 5.0 # ending point in u +nu = 28 # number of cells in u +vmin = -5.0 # starting point in v +vmax = 5.0 # ending point in v +nv = 28 # number of cells in v +vMeshType = rectangle # mesh type +nug = 0 # number of ghost cell in u +nvg = 0 # number of ghost cell in v + +# gas property +knudsen = 0.075 # Knudsen number +mach = 0.0 # Mach number +prandtl = 1.0 # Prandtl number +inK = 1.0 # molecular inner degree of freedom +omega = 0.72 # viscosity index of hard-sphere gas +alphaRef = 1.0 # viscosity index of hard-sphere gas in reference state +omegaRef = 0.5 # viscosity index of hard-sphere gas ub reference state + +# boundary condition +uLid = 0.15 # U-velocity of moving wall +vLid = 0.0 # V-velocity of moving wall +tLid = 1.0 # temperature of wall ``` -we execute the following codes - +let us execute the following codes ```julia using Kinetic -set, ctr, face, t = initialize("config.txt") +set, ctr, face, t = initialize("config.toml") t = solve!(set, ctr, face, t) -plot_line(set, ctr) +plot_contour(set, ctr) ``` -The computational setup is stored in `set` and the control volume solutions are stored in `ctr` and `face`. The high-level solver `solve!` is equivalent as the following solution algorithm. +The computational setup is stored in `set`. +The control volume and interface solutions are stored in `ctr` and `face` correspondingly. +The result is visualized with built-in function `plot_contour`, which presents the distributions of gas density, velocity and temperature inside the cavity. -```julia -dt = timestep(ks, ctr, t) -nt = Int(floor(ks.set.maxTime / dt)) -res = zeros(3) -for iter = 1:nt - reconstruct!(ks, ctr) - evolve!(ks, ctr, face, dt) - update!(ks, ctr, face, dt, res) -end -``` +![Fig. 1](cavity.png) +Fig. 1: macroscopic variables in the lid-driven cavity (topleft: density, top right: U-velocity, bottomleft: V-velocity, bottomright: temperature). -The result is visualized with built-in function `plot_line`, which presents the profiles of gas density, velocity and temperature inside the tube. +# KitML.jl +Machine learning is building its momentum in scientific computing. +Given the nonlinear structure of differential and integral equations, it is promising to incorporate the universal function approximator from machine learning models into the governing equations and achieve the balance between efficiency and accuracy. +In KitML.jl, we provide strategies to construct hybrid mechanical-neural models. +The detailed theory and implementation can be found in the paper [@xiao2020]. - +# Extension -The examples of scientific machine learning are introduced systematically in the paper [@xiao2020] . +Numerical simulations of nonlinear models and differential equations are essentially connected with supercomputers and high-performance computing (HPC). +Considering that some existing hardware architecture, e.g. Sunway TaihuLight with Chinese-designed SW26010 processors, only provides optimization for specific languages, we've develop an accompanying package KitFort.jl. +It is not a default component of Kinetic.jl, but can be manually imported. +Besides, a wrapper kineticpy has been built as well to locate the structures and methods from Python ecosystem. # Acknowledgements -The current work is funded by the Alexander von Humboldt Foundation +The current work is funded by the Alexander von Humboldt Foundation. # References \ No newline at end of file diff --git a/paper/sod.png b/paper/sod.png deleted file mode 100644 index b23088ccc479fdc6cac329272b47eb4a1910f83a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24126 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
  • bwBbp73b;6b%YpE1IH9AUU(|-xO9_0 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 z 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