Commit ef946fcf authored by Christoph Rettinger's avatar Christoph Rettinger
Browse files

Merge branch 'documentation' into 'master'

Documentation maintenance

See merge request walberla/walberla!479
parents 3b00f584 25af88f4
Pipeline #34263 failed with stages
in 26 minutes and 29 seconds
......@@ -7,7 +7,7 @@ namespace walberla {
\section tutorial05_overview Overview
The aim of this tutorial is to show how to build and solve the backward-facing step model using lattice Boltzman method in waLBerla.
The aim of this tutorial is to show how to build and solve the backward-facing step model using lattice Boltzmann method in waLBerla.
The "01_BasicLBM" case is used as the foundation of the current work. Therefore, most of the functionalities have already been introduced and discussed in LBM 1 tutorial.
Here the main focus is on the following areas:
......@@ -54,13 +54,13 @@ Finally, viscosity consequently **omega** are calculated with the Reynolds numbe
\section tutorial05_geometry Geometry
Since the step geometry is a plain rectangular area, the simplest approach is to create it by geometry module in walberla.
This module offers capability to read boundaries of a random geometry from images, voxel files, coordinates of verticies, etc.
This module offers capability to read boundaries of a random geometry from images, voxel files, coordinates of vertices, etc.
Using this module, obstacles of basic shapes could be conveniently positioned inside the domain.
It is also easier to have the program to read the geometry specifications from the Boundaries section of the configuration file.
This is implemented by reading and storing the Boundaries block of the configuration file in 'boundariesConfig' object and passing it to a convenience function provided in the geometry class to initialize the boundaries.
\snippet 05_BackwardFacingStep.cpp geomboundary
Here a subblock 'Body' is created inside 'Boundaries' section in the configuration file in order to create a box (rectangle in 2D) using two diagonal verticies.
Here a subblock 'Body' is created inside 'Boundaries' section in the configuration file in order to create a box (rectangle in 2D) using two diagonal vertices.
\snippet 05_BackwardFacingStep.prm geometry
......@@ -77,7 +77,7 @@ This mechanism is implemented by a functor named `ReattachmentLengthFinder` and
After running the program, the locations of reattachment against timestep are written to 'ReattachmentLengthLogging_Re_[Re].txt' in the working directory.
Note that there might be more than one reattachment location before the flow fully develops along the channel, and all are given in the file.
This simply means that it is expected to have multiple occurances of seperation and reattachment at the same time along the bottom boundary of the channel following the step in the early stages.
This simply means that it is expected to have multiple occurences of seperation and reattachment at the same time along the bottom boundary of the channel following the step in the early stages.
However, most of them are smeared later as the flow starts to develop.
The logging frequency can also be adjusted by 'checkFrequency' which is passed to the `ReattachmentLengthFinder` functor.
......
......@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \file 06_LBBoundaryConditions.cpp
//! \file 06_LBBoundaryCondition.cpp
//! \author Helen Schottenhamml <helen.schottenhamml@fau.de>
//
//======================================================================================================================
......
......@@ -13,7 +13,7 @@ The physical systems of interest are usually described by a set of partial diffe
These boundary conditions are imposed by the physical system through, e.g., walls, inflows, outflows, etc. \n
For discrete numerical schemes, the situation is slightly different. Here, boundary conditions are part of the solution routine, and different implementations of the same physical boundary condition may alter the result.
Especially in lattice Boltzmann methods, there is a whole zoo of boundary conditions. This can be easily explained by the fact that boundaries are usually prescribed in terms of macroscopic variables.
lattice Boltzmann methods, however, are determined by a set of mesoscopic variables \$f_i(\mathbf{x}, t)$. Different sets of distribution functions may lead to the same hydrodynamic behavior. Eventually, this leads to the question of how to prescribe the mesoscopic variables.\n
lattice Boltzmann methods, however, are determined by a set of mesoscopic variables \f$f_i(\mathbf{x}, t)\f$. Different sets of distribution functions may lead to the same hydrodynamic behavior. Eventually, this leads to the question of how to prescribe the mesoscopic variables.\n
In the following, we will discuss different approaches for wall, inflow and outflow boundary conditions and their realization in `waLBerla`. You will learn about the differences between them, their limitations, and how to use them.\n
Note that we will not discuss the generation of boundary conditions with `lbmpy`. For this, please refer to \ref tutorial_codegen03.
......@@ -271,7 +271,7 @@ As this scheme has some deficiencies (accuracy, need for explicitly enforcing th
\section tutorial06_pressureBC Pressure Boundary Conditions
Now that we have discussed inflows and walls in great detail, only the pressure boundary conditions for the outflows are left.\n
As for the velocity boundary conditions, there are multiple ways to enforce a certain pressure at an outlet. In lattice Boltzmann solvers, however, it is usually the density that is prescribed, as it is more directly related to the pdfs. As density and pressure, in turn, are linked via \$p = c_s^2 \rho$, this is perfectly legitimate.
As for the velocity boundary conditions, there are multiple ways to enforce a certain pressure at an outlet. In lattice Boltzmann solvers, however, it is usually the density that is prescribed, as it is more directly related to the pdfs. As density and pressure, in turn, are linked via \f$p = c_s^2 \rho\f$, this is perfectly legitimate.
\subsection tutorial06_simplePressure SimplePressure
Our first boundary condition to be discussed is the `SimplePressure` that is based on the anti-bounce-back method. Here, the pdfs are calculated by the fixed boundary density and an approximated boundary velocity. \n
......
......@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \file 05_SolvingPDE.cpp
//! \file 01_SolvingPDE.cpp
//! \author Christoph Rettinger <christoph.rettinger@fau.de>
//
//======================================================================================================================
......@@ -57,7 +57,7 @@ void initBC( const shared_ptr< StructuredBlockStorage > & blocks, const BlockDat
auto src = block->getData< ScalarField >( srcID );
auto dst = block->getData< ScalarField >( dstID );
// obtain a CellInterval object that holds information about the number of cells in x,y,z direction of the field inlcuding ghost layers
// obtain a CellInterval object that holds information about the number of cells in x,y,z direction of the field including ghost layers
// Since src and dst have the same size, one object is enough.
CellInterval xyz = src->xyzSizeWithGhostLayer();
......
......@@ -7,7 +7,7 @@ namespace walberla {
\brief Implementing an iterative solver, initializing fields, and setting Dirichlet boundary conditions by functions,
domain setup with an axis-aligned bounding box. File 05_SolvingPDE.cpp.
\section problemdescription Problem Description
\section problemdescription01 Problem Description
After learning the basic concepts and data structures of waLBerla, we can now already implement our own solver
for an elliptic partial differential equation, discretized by finite differences. The regarded equation, describing the behavior of the unknown \f$u\f$, is:
......@@ -47,7 +47,7 @@ Coming back to the concepts of waLBerla, this is a perfectly suitable example fo
It requires summing up weighted values of the neighboring cells together with the function value of the right-hand side,
which is then divided by the weight of the center cell.
To avoid data dependencies, i.e., reading neighboring data that has already been updated in a previous step,
two fields (source and destination) are used like in \ref tutorial03.
two fields (source and destination) are used like in \ref tutorial_basics_03.
After the sweep, the data pointers are swapped. A possible, but not optimal, implementation of this procedure is shown below.
The class has private members `srcID_, dstID_, rhsID_, dx_, dy_` that store the BlockDataIDs of the source, destination, and right-hand side field,
and the grid spacings \f$\Delta x\f$ and \f$ \Delta y\f$.
......@@ -295,7 +295,7 @@ Using the GUI, the converged profile looks like:
\image html tutorial_pde01_solution.png
In the next tutorial of the PDE section, \ref pde02, the Jacobi method is used to solve the linear system of equations arising from an implicit time-stepping method
In the next tutorial of the PDE section, \ref tutorial_pde02, the Jacobi method is used to solve the linear system of equations arising from an implicit time-stepping method
for the solution of the famous heat equation.
It is also shown how to include the functionality to stop the simulation based on the norm of the residual,
which is very often used to terminate the iterative solver.
......
......@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \file 06_HeatEquation.cpp
//! \file 02_HeatEquation.cpp
//! \author Christoph Rettinger <christoph.rettinger@fau.de>
//
//======================================================================================================================
......
......@@ -6,12 +6,12 @@ namespace walberla {
\brief Unsteady heat equation, implicit time stepping, VTK output and ParaView, parallelization with MPI, residual based termination. File 06_HeatEquation.cpp.
In this tutorial, we will make use of the Jacobi method implemented in \ref pde01 to solve the linear system of equations
In this tutorial, we will make use of the Jacobi method implemented in \ref tutorial_pde01 to solve the linear system of equations
that arises by the implicit time discretization of the unsteady heat equation.
The implementation is further improved by using VTK output, parallelization with MPI, and a residual based termination of the Jacobi iteration.
\section problemdescription Problem Description
\section problemdescription02 Problem Description
The <a target="_blank" href="http://en.wikipedia.org/wiki/Heat_equation">heat equation</a> is a classical example for a parabolic partial differential equation, given by:
\f[
......
......@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \file 06_HeatEquation_Extensions.cpp
//! \file 03_HeatEquation_Extensions.cpp
//! \author Christoph Rettinger <christoph.rettinger@fau.de>
//
//======================================================================================================================
......
......@@ -64,19 +64,19 @@ Not all features of the framework are covered in the tutorials.
To get further information have a look at the modules pages.
Also, the test cases provided in the tests directory are a good starting point for your own developments.
Additionally, there is a folder for full-fledged application codes to be found under \ref apps/benchmarks where also codes of walBerla publications are found.
Additionally, there is a folder for full-fledged application codes to be found under <tt>apps/benchmarks</tt> where also codes of walBerla publications are found.
\section cite Please cite us
If you use waLBerla in the preparation of a publication, please cite
\cite godenschwager2013framework and \cite bauer2020walberla. There are separate publications for some modules,
\cite godenschwager2013framework and \cite bauer2021walberla. There are separate publications for some modules,
which you should cite in addition if you use them.
- Grid refinement: \cite schornbaum2016massively
- PE coupling: \cite rettinger2017comparative
- Python interface: \cite bauer2015python
- Python interface: \cite bauer2016python
- pystencils code generation: \cite bauer2019code
- lbmpy LB model generation: \cite bauer2020lbmpy
- lbmpy LB model generation: \cite bauer2021lbmpy
\htmlonly
<!--
......
% Encoding: US-ASCII
@Article{bauer2015python,
@Article{bauer2016python,
author = {Bauer, Martin and Schornbaum, Florian and Godenschwager, Christian and Markl, Matthias and Anderl, Daniela and K{\"o}stler, Harald and R{\"u}de, Ulrich},
title = {A Python extension for the massively parallel multiphysics simulation framework waLBerla},
title = {A {Python} extension for the massively parallel multiphysics simulation framework {waLBerla}},
journal = {International Journal of Parallel, Emergent and Distributed Systems},
year = {2015},
year = {2016},
publisher = {Taylor and Francis},
volume = {31},
number = {6},
pages = {529--542},
url = {https://dx.doi.org/10.1080/17445760.2015.1118478},
doi = {10.1080/17445760.2015.1118478},
}
@InProceedings{godenschwager2013framework,
......@@ -15,37 +20,45 @@
year = {2013},
pages = {35},
organization = {ACM},
publisher = {Association for Computing Machinery},
url = {https://dx.doi.org/10.1145/2503210.2503273},
doi = {10.1145/2503210.2503273},
isbn = {9781450323789},
}
@Article{schornbaum2016massively,
author = {Florian Schornbaum and Ulrich R{\"u}de},
title = {Massively Parallel Algorithms for the Lattice Boltzmann Method on NonUniform Grids},
title = {Massively Parallel Algorithms for the Lattice {Boltzmann} Method on NonUniform Grids},
journal = {SIAM Journal on Scientific Computing},
year = {2016},
volume = {38},
number = {2},
pages = {C96-C126},
url = {https://dx.doi.org/10.1137/15M1035240},
doi = {10.1137/15M1035240},
}
@Article{rettinger2016simulations,
author = {Rettinger, Christoph and R{\"u}de, Ulrich},
title = {Simulations of Particle-laden Flows with the Lattice Boltzmann Method},
journal = {PAMM},
title = {Simulations of Particle-laden Flows with the Lattice {Boltzmann} Method},
journal = {Proceedings in Applied Mathematics and Mechanics},
year = {2016},
volume = {16},
number = {1},
pages = {607--608},
url = {https://dx.doi.org/10.1002/pamm.201610292},
doi = {10.1002/pamm.201610292},
publisher = {Wiley Online Library},
}
@Article{rettinger2017comparative,
author = {Rettinger, Christoph and R{\"u}de, Ulrich},
title = {A comparative study of fluid-particle coupling methods for fully resolved lattice Boltzmann simulations},
title = {A comparative study of fluid-particle coupling methods for fully resolved lattice {Boltzmann} simulations},
journal = {Computers \& Fluids},
volume = {154},
pages = {74--89},
year = {2017},
url = {https://dx.doi.org/10.1016/j.compfluid.2017.05.033},
doi = {10.1016/j.compfluid.2017.05.033}
}
......@@ -57,15 +70,17 @@
year = {2017},
publisher = {Springer International Publishing},
pages = {3--21},
url = {https://dx.doi.org/10.1007/978-3-319-58667-0_1},
doi = {10.1007/978-3-319-58667-0_1}
}
@Article{rettinger2018dps,
title = {A coupled lattice Boltzmann method and discrete element method for discrete particle simulations of particulate flows},
title = {A coupled lattice {Boltzmann} method and discrete element method for discrete particle simulations of particulate flows},
journal = {Computers \& Fluids},
volume = {172},
pages = {706 - 719},
pages = {706--719},
year = {2018},
url = {https://dx.doi.org/10.1016/j.compfluid.2018.01.023},
doi = {10.1016/j.compfluid.2018.01.023},
author = {Rettinger, Christoph and R{\"u}de, Ulrich}
}
......@@ -75,119 +90,138 @@
title = {Dynamic Load Balancing Techniques for Particulate Flow Simulations},
journal = {Computation},
volume = {7},
number = {1},
year = {2019},
url = {https://dx.doi.org/10.3390/computation7010009},
doi = {10.3390/computation7010009}
}
@Article{ginzburg2008two,
author = {Ginzburg, Irina and Verhaeghe, Frederik and d'Humi{\`e}res, Dominique},
title = {Two-relaxation-time lattice Boltzmann scheme: About parametrization, velocity, pressure and mixed boundary conditions},
journal = {Communications in computational physics},
title = {Two-relaxation-time lattice {Boltzmann} scheme: About parametrization, velocity, pressure and mixed boundary conditions},
journal = {Communications in Computational Physics},
year = {2008},
volume = {3},
number = {2},
pages = {427--478},
url = {https://www.global-sci.com/intro/article_detail/cicp/7862.html},
}
@Article{bhatnagar1954model,
author = {Bhatnagar, Prabhu Lal and Gross, Eugene P and Krook, Max},
title = {A model for collision processes in gases. I. Small amplitude processes in charged and neutral one-component systems},
journal = {Physical review},
title = {A model for collision processes in gases. {I.} {Small} amplitude processes in charged and neutral one-component systems},
journal = {Physical Review},
year = {1954},
volume = {94},
number = {3},
pages = {511},
pages = {511--525},
publisher = {APS},
url = {https://dx.doi.org/10.1103/PhysRev.94.511},
doi = {10.1103/PhysRev.94.511},
}
@Article{dhumieres2002multiple,
author = {d'Humi{\`e}res, Dominique},
title = {Multiple--relaxation--time lattice Boltzmann models in three dimensions},
title = {Multiple--relaxation--time lattice {Boltzmann} models in three dimensions},
journal = {Philosophical Transactions of the Royal Society of London A: Mathematical, Physical and Engineering Sciences},
year = {2002},
volume = {360},
number = {1792},
pages = {437--451},
publisher = {The Royal Society},
url = {https://dx.doi.org/10.1098/rsta.2001.0955},
doi = {10.1098/rsta.2001.0955},
}
@Article{pan2006evaluation,
author = {Pan, Chongxun and Luo, Li-Shi and Miller, Cass T},
title = {An evaluation of lattice Boltzmann schemes for porous medium flow simulation},
title = {An evaluation of lattice {Boltzmann} schemes for porous medium flow simulation},
journal = {Computers \& fluids},
year = {2006},
volume = {35},
number = {8},
pages = {898--909},
publisher = {Elsevier},
url = {https://dx.doi.org/10.1016/j.compfluid.2005.03.008},
doi = {10.1016/j.compfluid.2005.03.008},
}
@Article{geier2015cumulant,
author = {Geier, Martin and Sch{\"o}nherr, Martin and Pasquali, Andrea and Krafczyk, Manfred},
title = {The cumulant lattice Boltzmann equation in three dimensions: Theory and validation},
title = {The cumulant lattice {Boltzmann} equation in three dimensions: {Theory} and validation},
journal = {Computers \& Mathematics with Applications},
year = {2015},
volume = {70},
number = {4},
pages = {507--547},
publisher = {Elsevier},
url = {https://dx.doi.org/10.1016/j.camwa.2015.05.001},
doi = {10.1016/j.camwa.2015.05.001},
}
@Article{guo2002discrete,
author = {Guo, Zhaoli and Zheng, Chuguang and Shi, Baochang},
title = {Discrete lattice effects on the forcing term in the lattice Boltzmann method},
title = {Discrete lattice effects on the forcing term in the lattice {Boltzmann} method},
journal = {Physical Review E},
year = {2002},
volume = {65},
number = {4},
pages = {046308},
publisher = {APS},
url = {https://dx.doi.org/10.1103/PhysRevE.65.046308},
doi = {10.1103/PhysRevE.65.046308},
}
@Article{luo1993lattice,
@PhdThesis{luo1993lattice,
author = {Luo, Li-Shi},
title = {Lattice-gas automata and lattice Boltzmann equations for two-dimensional hydrodynamics},
title = {Lattice-gas automata and lattice {Boltzmann} equations for two-dimensional hydrodynamics},
school = {Georgia Institute of Technology},
year = {1993},
url = {https://www.proquest.com/openview/324e5020a496c85ca81178b0c97f35d7/},
}
@Article{shan1994simulation,
author = {Shan, Xiaowen and Chen, Hudong},
title = {Simulation of nonideal gases and liquid-gas phase transitions by the lattice Boltzmann equation},
title = {Simulation of nonideal gases and liquid-gas phase transitions by the lattice {Boltzmann} equation},
journal = {Physical Review E},
year = {1994},
volume = {49},
number = {4},
pages = {2941},
pages = {2941--2948},
publisher = {APS},
url = {https://dx.doi.org/10.1103/PhysRevE.49.2941},
doi = {10.1103/PhysRevE.49.2941},
}
@PhdThesis{schiller2008thermal,
author = {Schiller, Ulf D},
title = {Thermal fluctuations and boundary conditions in the lattice Boltzmann method},
title = {Thermal fluctuations and boundary conditions in the lattice {Boltzmann} method},
school = {Johannes Gutenberg-Universit{\"a}t, Mainz},
year = {2008},
url = {https://dx.doi.org/10.25358/openscience-3231},
doi = {10.25358/openscience-3231},
}
@PhdThesis{latt2007hydrodynamic,
author = {Latt, Jonas},
title = {Hydrodynamic limit of lattice Boltzmann equations},
title = {Hydrodynamic limit of lattice {Boltzmann} equations},
school = {University of Geneva},
year = {2007},
url = {https://dx.doi.org/10.13097/archive-ouverte/unige:464},
doi = {10.13097/archive-ouverte/unige:464},
}
@InProceedings{kupershtokh2003calculations,
author = {Kupershtokh, AL},
title = {Calculations of the action of electric forces in the lattice Boltzmann equation method using the difference of equilibrium distribution functions},
title = {Calculations of the action of electric forces in the lattice {Boltzmann} equation method using the difference of equilibrium distribution functions},
booktitle = {Proc. 7th Int. Conf. on Modern Problems of Electrophysics and Electrohydrodynamics of Liquids, St. Petersburg State University, St. Petersburg, Russia},
year = {2003},
volume = {152},
pages = {155},
organization = {152 155},
pages = {152--155},
}
@Article{kupershtokh2004incorporating,
author = {Kupershtokh, AL},
title = {Incorporating a body force term into the lattice Boltzmann equation},
title = {Incorporating a body force term into the lattice {Boltzmann} equation},
journal = {Bulletin of Novosibirsk State University: Series of Mathematics, Mechanics and Informatics},
year = {2004},
volume = {4},
......@@ -197,13 +231,13 @@
@Article{ginzburg2008study,
author = {Ginzburg, Irina and Verhaeghe, Frederik and d'Humi{\`e}res, Dominique},
title = {Study of simple hydrodynamic solutions with the two-relaxation-times lattice Boltzmann scheme},
title = {Study of simple hydrodynamic solutions with the two-relaxation-times lattice {Boltzmann} scheme},
journal = {Communications in computational physics},
year = {2008},
volume = {3},
number = {3},
pages = {519--581},
owner = {mkuron},
url = {https://www.global-sci.com/intro/article_detail/cicp/7865.html},
}
@Article{Baerentzen2005,
......@@ -215,14 +249,14 @@
number = {3},
pages = {243-253},
month = {May},
url = {https://dx.doi.org/10.1109/TVCG.2005.49},
doi = {10.1109/TVCG.2005.49},
issn = {1077-2626},
keywords = {computational geometry;mesh generation;angle weighted pseudonormal;polyhedron;signed distance computation;smooth surfaces;triangle mesh;Geometry;Robustness;Index Terms- Mesh;normal;polyhedron.;pseudonormal;signed distance field;Algorithms;Computer Graphics;Computer Simulation;Image Enhancement;Image Interpretation, Computer-Assisted;Imaging, Three-Dimensional;Information Storage and Retrieval;Numerical Analysis, Computer-Assisted;Pattern Recognition, Automated;Signal Processing, Computer-Assisted},
}
@Article{Jones1995,
author = {Jones, Mark W},
title = {3D distance from a point to a triangle},
title = {{3D} distance from a point to a triangle},
journal = {Department of Computer Science, University of Wales Swansea Technical Report CSR-5},
year = {1995},
}
......@@ -234,6 +268,7 @@
author = {Ladd, Anthony JC},
year = {1994},
pages = {285--309},
url = {https://dx.doi.org/10.1017/S0022112094001771},
doi = {10.1017/S0022112094001771}
}
......@@ -244,13 +279,15 @@
author = {Aidun, Cyrus K. and Lu, Yannan and Ding, E.-Jiang},
year = {1998},
pages = {287--311},
url = {https://dx.doi.org/10.1017/S0022112098002493},
doi = {10.1017/S0022112098002493}
}
@Article{noble1998psm,
title = {A {Lattice}-{Boltzmann} {Method} for {Partially} {Saturated} {Computational} {Cells}},
title = {A Lattice-{Boltzmann} Method for Partially Saturated Computational Cells},
volume = {09},
issn = {0129-1831},
url = {https://dx.doi.org/10.1142/S0129183198001084},
doi = {10.1142/S0129183198001084},
number = {08},
journal = {International Journal of Modern Physics C},
......@@ -266,6 +303,7 @@
pages = {105 - 127},
year = {2017},
issn = {0021-9991},
url = {https://dx.doi.org/10.1016/j.jcp.2017.03.035},
doi = {10.1016/j.jcp.2017.03.035},
author = {Edward Biegert and Bernhard Vowinckel and Eckart Meiburg}
}
......@@ -273,13 +311,14 @@
@Article{nguyen2002lubrication,
title = {Lubrication corrections for lattice-Boltzmann simulations of particle suspensions},
author = {Nguyen, N.-Q. and Ladd, A. J. C.},
journal = {Phys. Rev. E},
journal = {Physical Review E},
volume = {66},
issue = {4},
pages = {046708},
numpages = {12},
year = {2002},
publisher = {American Physical Society},
url = {https://dx.doi.org/10.1103/PhysRevE.66.046708},
doi = {10.1103/PhysRevE.66.046708}
}
......@@ -287,9 +326,10 @@
title = {A Local Parallel Communication Algorithm for Polydisperse Rigid Body Dynamics},
journal = {Parallel Computing},
volume = {80},
pages = {36 - 48},
pages = {36--48},
year = {2018},
issn = {0167-8191},
url = {https://dx.doi.org/10.1016/j.parco.2018.10.002},
doi = {10.1016/j.parco.2018.10.002},
author = {Eibl, Sebastian and R{\"u}de, Ulrich}
}
......@@ -298,36 +338,45 @@
title = {A temporal discretization scheme to compute the motion of light particles in viscous flows by an immersed boundary method},
journal = {Journal of Computational Physics},
volume = {281},
pages = {591 - 613},
pages = {591--613},
year = {2015},
issn = {0021-9991},
url = {https://dx.doi.org/10.1016/j.jcp.2014.10.039},
doi = {10.1016/j.jcp.2014.10.039},
author = {S. Schwarz and T. Kempe and J. Fr{\"o}hlich},
}
@inproceedings{bauer2019code,
title = {Code generation for massively parallel phase-field simulations},
author = {Bauer, Martin and H{\"o}tzer, Johannes and Ernst, Dominik and Hammer, Julian and Seiz, Marco and Hierl, Henrik and H{\"o}nig, Jan and K{\"o}stler, Harald and Wellein, Gerhard and Nestler, Britta and others},
author = {Bauer, Martin and H{\"o}tzer, Johannes and Ernst, Dominik and Hammer, Julian and Seiz, Marco and Hierl, Henrik and H{\"o}nig, Jan and K{\"o}stler, Harald and Wellein, Gerhard and Nestler, Britta and R{\"u}de, Ulrich},
booktitle = {Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis},
pages = {1--32},
year = {2019},
url = {https://dx.doi.org/10.1145/3295500.3356186},
doi = {10.1145/3295500.3356186}
}
@article{bauer2020walberla,
title = {waLBerla: A block-structured high-performance framework for multiphysics simulations},
author = {Bauer, Martin and Eibl, Sebastian and Godenschwager, Christian and Kohl, Nils and Kuron, Michael and Rettinger, Christoph and Schornbaum, Florian and Schwarzmeier, Christoph and Th{\"o}nnes, Dominik and K{\"o}stler, Harald and others},
@article{bauer2021walberla,
title = {{waLBerla}: A block-structured high-performance framework for multiphysics simulations},
author = {Bauer, Martin and Eibl, Sebastian and Godenschwager, Christian and Kohl, Nils and Kuron, Michael and Rettinger, Christoph and Schornbaum, Florian and Schwarzmeier, Christoph and Th{\"o}nnes, Dominik and K{\"o}stler, Harald and R{\"u}de, Ulrich},
journal = {Computers \& Mathematics with Applications},
year = {2020},
year = {2021},
publisher = {Elsevier},
volume = {81},
pages = {478-501},
url = {https://dx.doi.org/10.1016/j.camwa.2020.01.007},
doi = {10.1016/j.camwa.2020.01.007}
}
@article{bauer2020lbmpy,
title = {lbmpy: A flexible code generation toolkit for highly efficient lattice Boltzmann simulations},
@article{bauer2021lbmpy,
title = {{lbmpy}: Automatic code generation for efficient parallel lattice {Boltzmann} methods},
author = {Bauer, Martin and K{\"o}stler, Harald and R{\"u}de, Ulrich},
journal = {arXiv preprint arXiv:2001.11806},
year = {2020}
journal = {Journal of Computational Science},
volume = {49},
pages = {101269},
year = {2021},
url = {https://dx.doi.org/10.1016/j.jocs.2020.101269},
doi = {10.1016/j.jocs.2020.101269},
}
@Comment{jabref-meta: databaseType:bibtex;}
......@@ -50,7 +50,7 @@ namespace internal {
*
* \subsection SUID SUID MAPPING:
*
* 1 | number of SUIDs (= #SUIDs)
* 1 | number of SUIDs (= \#SUIDs)
*
* \code{.unparsed}
* for each SUID:
......@@ -58,7 +58,7 @@ namespace internal {
* length-of-string | UID identifier string
* \endcode
*
* --> 1 + #SUIDs + number-of-characters-of-all-identifiers-combined BYTES
* --> 1 + \#SUIDs + number-of-characters-of-all-identifiers-combined BYTES
*
* How the mapping works:\n
* SUID #1 is assigned bit #1 ( -> [...]0 0000 0001 )\n
......
//======================================================================================================================
/*!
* \file CMakeDefs.h
* \file CMakeDefs.in.h
* \brief Definitions for blockforest module configured by cmake
*/
//======================================================================================================================
......
......@@ -87,7 +87,7 @@ shared_ptr< StructuredBlockForest > createUniformBlockGridFromConfig( const shar
* assigned to each process. Setting it to false allows multiple blocks to be assigned to each process.
* If the number of blocks is not divisible by the number of processes, the loadbalancer tries to assign
* the blocks to processes as evenly as possible.
* 2) Using the number of global cells, #blocks = #processes, if this does not fit, extend the domain
* 2) Using the number of global cells, \#blocks = \#processes, if this does not fit, extend the domain
\verbatim
{
cells < 10,40,90>; // required
......@@ -751,12 +751,12 @@ createUniformBlockGrid( const std::string& filename,
* in this case the number of cells is chosen bigger than requested
*
*
* \param cells: total number of cells requested
* \param nrOfBlocks: total number of blocks to distribute the cells to
* \param[out] blocks: calculated number of blocks in x/y/z
* \param[out] cellsPerBlock: how many cells to put on each block
it may happen that divisibility of the number of cells requested prevents a distribution
* in this case the number of cells is chosen (slightly) bigger than requested
* \param cells total number of cells requested
* \param nrOfBlocks total number of blocks to distribute the cells to
* \param[out] blocksOut calculated number of blocks in x/y/z
* \param[out] cellsPerBlock how many cells to put on each block
* it may happen that divisibility of the number of cells requested prevents a distribution
* in this case the number of cells is chosen (slightly) bigger than requested
*
* Example: in: cells = (10,15,16)
* in: blocks = 8
......
......@@ -13,7 +13,7 @@
// You should have received a copy of the GNU General Public License along
// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
//
//! \file types.h
//! \file Types.h
//! \ingroup blockforest
//! \author Florian Schornbaum <florian.schornbaum@fau.de>
//
....