Skip to content
Snippets Groups Projects
Commit 6c7efd02 authored by Anna Wellmann's avatar Anna Wellmann
Browse files

Merge branch 'fixTitleNamesInDocumentation' into 'develop'

Unify titles and file names in documentation

See merge request !389
parents acf5482c ceda7762
No related branches found
No related tags found
3 merge requests!403minor release 0.1.1,!402minor release 0.1.1,!389Unify titles and file names in documentation
Pipeline #35491 passed
......@@ -6,18 +6,18 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="usergroup" title="Documentation" url="@ref documentation">
<tab type="user" url="@ref getting-start-with-docker" visible="yes" title="Getting Start with Docker" intro=""/>
<tab type="user" url="@ref getting-start-not-using-docker" visible="yes" title="Getting Start not using Docker" intro=""/>
<tab type="user" url="@ref build-and-run" visible="yes" title="Build and Run" intro=""/>
<tab type="user" url="@ref how-to-document-code" visible="yes" title="How to document code" intro=""/>
<tab type="user" url="@ref debugging-with-vscode" visible="yes" title="Debugging with VSCode" intro=""/>
<tab type="user" url="@ref unit-tests" visible="yes" title="Unit Tests" intro=""/>
<tab type="user" url="@ref regression-tests" visible="yes" title="Regression Tests" intro=""/>
<tab type="user" url="@ref release" visible="yes" title="Release" intro=""/>
<tab type="user" url="@ref coding-guidelines" visible="yes" title="Coding Guideline" intro=""/>
<tab type="user" url="@ref direction-scheme" visible="yes" title="Direction Scheme" intro=""/>
<tab type="user" url="@ref kernel-scheme" visible="yes" title="Kernel Scheme" intro=""/>
<tab type="usergroup" title="Documentation" url="@ref Documentation">
<tab type="user" url="@ref Getting-Started-with-Docker" visible="yes" title="Getting Started with Docker" intro=""/>
<tab type="user" url="@ref Getting-Started-Not-Using-Docker" visible="yes" title="Getting Started Not Using Docker" intro=""/>
<tab type="user" url="@ref Build-and-Run" visible="yes" title="Build and Run" intro=""/>
<tab type="user" url="@ref How-To-Document-Code" visible="yes" title="How To Document Code" intro=""/>
<tab type="user" url="@ref Debugging-with-Vscode" visible="yes" title="Debugging with VSCode" intro=""/>
<tab type="user" url="@ref Unit-Tests" visible="yes" title="Unit Tests" intro=""/>
<tab type="user" url="@ref Regression-Tests" visible="yes" title="Regression Tests" intro=""/>
<tab type="user" url="@ref Release" visible="yes" title="Release" intro=""/>
<tab type="user" url="@ref Coding-Guidelines" visible="yes" title="Coding Guidelines" intro=""/>
<tab type="user" url="@ref Direction-Scheme" visible="yes" title="Direction Scheme" intro=""/>
<tab type="user" url="@ref Kernel-Scheme" visible="yes" title="Kernel Scheme" intro=""/>
</tab>
<!-- <tab type="pages" visible="yes" title="" intro=""/> -->
<tab type="topics" visible="yes" title="Modules" intro=""/>
......
......@@ -6,7 +6,8 @@
This guide describes how to start using and developing VirtualFluids in the terminal. Alternativly you can use Visual Studio to build an run it.
## Build
The necessary packages needs to be installed. Either we are working in a <!-- DOXYGEN_MAKE_REF -->[Docker container](getting-start-with-docker.md) or have installed the packages <!-- DOXYGEN_MAKE_REF -->[manually](getting-start-manually).
The necessary packages needs to be installed. Either we are working in a <!-- DOXYGEN_MAKE_REF -->[Docker container](Getting-Started-with-Docker.md) or have installed the packages <!-- DOXYGEN_MAKE_REF -->[manually](Getting-Started-Not-Using-Docker.md).
We can check if the necessary packages are installed by running the following commands in the terminal:
```
git --version
......@@ -48,6 +49,7 @@ Additionaly, the following options can be passed to cmake:
- -DVF_ENABLE_PYTHON_BINDINGS=ON: enable python bindings (included in all_make and all_msvc)
## Run the examples
VirtualFluids project comes with a list of examples. The source code of the examples are located in the folder `./apps/`. Most of the apps requires a configuration file, which lays next to source code example.
For instance a simulation on the GPU containing a flow around a sphere can be started with the following command:
......
......@@ -35,6 +35,7 @@
## GPU PointerChasing
| Direction | Index | P_MMM | P_P00 | P_0P0 | P_00P |
|--------------------|-------|-------|-------|-------|-------|
| 000 | 0 | 0 | 0 | 0 | 0 |
......
......@@ -2,27 +2,31 @@
<!-- SPDX-FileCopyrightText: Copyright © VirtualFluids Project contributors, see AUTHORS.md in root folder -->
# Documentation
Welcome to the VirtualFluids Documentation!
## Getting Started
We recommend using VirtualFludis with Docker
- <!-- DOXYGEN_MAKE_REF -->[Getting Started with Docker](getting-start-with-docker.md)
- <!-- DOXYGEN_MAKE_REF -->[Getting Started with Docker](Getting-Started-with-Docker.md)
If Docker cannot be used, the dependecies for VirtualFluids can also be installed manually directly on your machine:
- <!-- DOXYGEN_MAKE_REF -->[Installing the Dependencies manually](getting-start-not-using-docker.md)
- <!-- DOXYGEN_MAKE_REF -->[Installing the Dependencies manually](Getting-Started-Not-Using-Docker.md)
After the installation VirtualFluids can be compiled and executed:
- <!-- DOXYGEN_MAKE_REF -->[Compiling and Running the examples](build-and-run.md)
- <!-- DOXYGEN_MAKE_REF -->[Compiling and Running the examples](Build-and-Run.md)
## Development
- <!-- DOXYGEN_MAKE_REF -->[Contributing](../../contributing.md)
- <!-- DOXYGEN_MAKE_REF -->[Document Code](how-to-document-code.md)
- <!-- DOXYGEN_MAKE_REF -->[Debugging in VS Code](debugging-with-vscode.md)
- <!-- DOXYGEN_MAKE_REF -->[Unit Tests in VirtualFluids](unit-tests.md)
- <!-- DOXYGEN_MAKE_REF -->[Regression Tests](regression-tests.md)
- <!-- DOXYGEN_MAKE_REF -->[Release](release.md)
- <!-- DOXYGEN_MAKE_REF -->[Contributing](../../Contributing.md)
- <!-- DOXYGEN_MAKE_REF -->[Document Code](How-To-Document-Code.md)
- <!-- DOXYGEN_MAKE_REF -->[Debugging in VS Code](Debugging-with-Vscode.md)
- <!-- DOXYGEN_MAKE_REF -->[Unit Tests in VirtualFluids](Unit-Tests.md)
- <!-- DOXYGEN_MAKE_REF -->[Regression Tests](Regression-Tests.md)
- <!-- DOXYGEN_MAKE_REF -->[Release](Release.md)
## Guidelines
- <!-- DOXYGEN_MAKE_REF -->[Coding Guidelines](coding-guidelines.md)
- <!-- DOXYGEN_MAKE_REF -->[Direction Scheme](direction-scheme.md)
- <!-- DOXYGEN_MAKE_REF -->[Kernel Scheme](kernel-scheme.md)
- <!-- DOXYGEN_MAKE_REF -->[Coding Guidelines](Coding-Guidelines.md)
- <!-- DOXYGEN_MAKE_REF -->[Direction Scheme](Direction-Scheme.md)
- <!-- DOXYGEN_MAKE_REF -->[Kernel Scheme](Kernel-Scheme.md)
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
<!-- SPDX-FileCopyrightText: Copyright © VirtualFluids Project contributors, see AUTHORS.md in root folder -->
# Getting Start not using Docker
# Getting Started Not Using Docker
VirtualFluids is supported on Linux and Windows.
We recommend using VirtualFludis with Docker. If, for whatever reason, Docker cannot be used, VirtualFluids can also be installed manually. The following packages are necessary for this:
......
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
<!-- SPDX-FileCopyrightText: Copyright © VirtualFluids Project contributors, see AUTHORS.md in root folder -->
# Getting Start with Docker
# Getting Started with Docker
This page describes how to start using and developing VirtualFluids.
......
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->
<!-- SPDX-FileCopyrightText: Copyright © VirtualFluids Project contributors, see AUTHORS.md in root folder -->
# How to document code
# How To Document Code
To build sustainable research software, it is mandatory to document code.
Even if it turns out that some developments are not continued, documentation is important to help future scientists to learn from the own experiences.
......@@ -17,4 +17,4 @@ The documentation of the source code takes place…
- In most of the cases comment should describe ***why*** something was implemented and not ***how***.
- if available add formulas, references to scripts, paper, and all information you got linked to the implemented code
- adding <!-- DOXYGEN_MAKE_REF -->[unit](unit-tests.md) and <!-- DOXYGEN_MAKE_DOXYGEN_MAKE_REFABSOLUTE -->[regression](regression-tests.md) tests.
- adding <!-- DOXYGEN_MAKE_REF -->[unit](Unit-Tests.md) and <!-- DOXYGEN_MAKE_DOXYGEN_MAKE_REFABSOLUTE -->[regression](Regression-Tests.md) tests.
......@@ -11,7 +11,7 @@ five-part naming structure:
- fourth field: model
- fifth field (optional): Other
## first field - one letter:
## First field - one letter:
- C Central Moments/ Cascade
- K Cumulant
......@@ -19,13 +19,13 @@ five-part naming structure:
- F Factorized
- M MRT
## third field:
## Third field:
- Incompressible
- Compressible
- Selective
## fourth field:
## Fourth field:
- NavierStokes
- AdvectionDiffusion
......
File moved
......@@ -4,6 +4,7 @@
# Release
## Release Policy
MAJOR.MINOR.PATCH
- Patch: Bugfixes, no new features
- Minor: New features
......@@ -13,9 +14,11 @@ MAJOR.MINOR.PATCH
Release of VirtulFluids can be done by the core developers of VirtualFluids. A Release requires the following steps:
## 0. Check Issues and Merge Requests
- [ ] Check if there are open issues or merge requests which are assigned to the current Release
## 1. Version Number and Authors
- [ ] Update the version number in the authors.cff
- [ ] Update the version number in the CMakeLists.txt
- [ ] Update the version number in the pyproject.toml
......@@ -26,15 +29,18 @@ Release of VirtulFluids can be done by the core developers of VirtualFluids. A R
- people which are not involved in the current Release are listed in AUTHORS.md
## 2. Update the Changelog
- [ ] Update the Changelog.md
## 3. Prepare Release
1. [ ] Merge the develop branch into main
2. [ ] Create a tag for the current Release with the version number
3. Tag and Main Branch are automatically mirrored to https://github.com/irmb/virtualfluids
4. When Zenodo sees the new tag on github, it automatically creates a new version on Zenodo
## Repositories
- Main Repository: https://git.rz.tu-bs.de/irmb/virtualfluids
- Mirror: https://github.com/irmb/virtualfluids
- Zenodo: https://zenodo.org/records/10283049 (DOI: https://doi.org/doi/10.5281/zenodo.10283048)
......@@ -6,12 +6,14 @@
This page describes how to add unit tests to VirtualFluids. VirtualFluids uses the C++ testing and mocking framework [GoogleTest](http://google.github.io/googletest/).
## 0. Test Structure in VirtualFluids
VirtualFluids is build upon multiple libraries `<library>` (e.g. [basics](https://git.rz.tu-bs.de/irmb/virtualfluids/-/tree/main/src/basics)). Every library can have a corresponding test executable. The test executable is called `<library>Test` and is created automatically by the CMake build system if the following two conditions are met:
1. The CMakeLists.txt of the libraries contains: `vf_add_tests()` (e.g. the basics library: [CMakeLists.txt](https://git.rz.tu-bs.de/irmb/virtualfluids/-/blob/main/src/basics/CMakeLists.txt))
2. The library contains a file following the naming convention: `<fileName>Test.cpp` (e.g: [StringUtilTest.cpp](https://git.rz.tu-bs.de/irmb/virtualfluids/-/blob/main/src/basics/StringUtilities/StringUtilTest.cpp))
## 1. Building and Running Tests
The tests can be built by running the following commands:
```
cmake .. -DBUILD_VF_UNIT_TESTS=ON
......@@ -79,11 +81,13 @@ The next step ist to **act** on the target behavior. The act step should cover t
The third and final step is to **assert** the expected outcome. The result or response of the act step is checked. The assertion(s) determine(s) whether the test passes or fails.
### Assertions with googletest
For the assert step googleTest provides two options: [EXPECT and ASSERT](http://google.github.io/googletest/reference/assertions.html). Upon failure, `EXPECT_` macros generate nonfatal failures and allow the current function to continue running, while `ASSERT_` macros generate fatal failures and abort the current function. The above example uses the ``EXPECT_THAT`` macro. With ``EXPECT_THAT()`` you can use Google Test's [predefined matchers](http://google.github.io/googletest/reference/matchers.html) from the testing namespace (for example ``testing::IsTrue()`` or ``testing::IsEmpty()`` or your own custom matchers. The example above uses the custom matcher ``RealEQ()`` for testing the equality of two real numbers (float or double).
## 3. Common Problems
When you test a class which depends on CUDA you may get a build error like this:
```
fatal error: cuda_runtime.h: No such file or directory
......@@ -102,4 +106,5 @@ For VirtualFluidsGPU you can find the CMakeList here: ``VirtualFluids/src/gpu/Vi
<!-- Gleiches Problm wie in Punkt 2. Running the Tests -->
## 4. Further Information
You can find further information on how to write tests in [GoogleTest User’s Guide](http://google.github.io/googletest/).
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment