Commit 9c29b393 authored by Gregor Olenik's avatar Gregor Olenik
Browse files

Merge branch 'dev' of github.com:greole/OGL into dev

parents ac03a8cd abb1e844
name: CMake
on: [push]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-latest
env:
FOAM_SRC: /home/runner/OpenFOAM/OpenFOAM-8/src
FOAM_USER_LIBBIN: /home/go/OpenFOAM/OpenFOAM-8/platforms
steps:
- name: Setup OpenFOAM Directory
# Create OpenFOAM directory and clone
run: mkdir -p ~/OpenFOAM
- name: Clone OpenFOAM
# Clone OpenFOAM
run: git clone --depth 1 https://github.com/OpenFOAM/OpenFOAM-8.git ~/OpenFOAM/OpenFOAM-8
- name: Show OpenFOAM folder
# Clone OpenFOAM
run: ls ~/OpenFOAM/OpenFOAM-8
- uses: actions/checkout@v2
- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{github.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build
working-directory: ${{github.workspace}}/build
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE
- name: Test
working-directory: ${{github.workspace}}/build
shell: bash
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C $BUILD_TYPE
# OGL
# OpenFOAM Ginkgo Layer (OGL)
![build](https://github.com/greole/OGL/actions/workflows/cmake.yml/badge.svg)
A wrapper for [Ginkgo](https://github.com/ginkgo-project/ginkgo) solver to provide GPGPU capabilities to [OpenFOAM](https://openfoam.org/)
A wrapper for [ginkgo](https://github.com/ginkgo-project/ginkgo) solver to provide GPGPU capabilities to [OpenFOAM](https://openfoam.org/)
## Requirements
OGL has the following requirements
* Ginkgo
* OpenFOAM
* _cmake 3.9+_
* _OpenFOAM 6+_
* _Ginkgo 1.4.0+_
* C++14 compliant compiler
See also [ginkgo's](https://github.com/ginkgo-project/ginkgo) documentation for additional requirements.
## Compilation
OGL can be build using cmake in the main folder. Make sure that
the `controlDict` includes the `OGL.so` file:
*OGL* can be build using cmake. Make sure that
the `system/controlDict` includes the `OGL.so` file:
libs ("libOGL.so");
......@@ -23,11 +26,17 @@ the `controlDict` includes the `OGL.so` file:
## Usage
OGL solver support the same syntax as the default OpenFOAM solver. Thus, to use a CG solver you can simply replace "PCG" by "GKOCG". In order to run either with CUDA, HIP, or OMP support set the "executor" to cuda, hip, or omp in your solver dictionary.
OGL solver support the same syntax as the default *OpenFOAM* solver. Thus, to use a `CG` solver you can simply replace `PCG` by `GKOCG`. In order to run either with *CUDA*, *HIP*, or *OMP* support set the `executor` to `cuda`, `hip`, or `omp` in the `system/fvSolution` dictionary.
Currently the following solver are supported
- CG with and without block Jacobi preconditioner
* CG with and without block Jacobi preconditioner
* BiCGStab
* IR
## Known Limitations
Currently cyclic boundary conditions are not supported.
## Citing
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment