Skip to content
greole edited this page Nov 24, 2021 · 4 revisions

Welcome to the OGL wiki!

High Level Overview

OGL provides a set of solver classes for example GKOCG, GKOBiCGStab, etc, which are derived from GKOlduBase. Here in a CRTP fashion the solver class, eg GKOCG, passes a GKO solver factory class, eg GKOCGFactory, to the lduLduBase class. The responsibility of the solver factory class is to provide a concrete implementation of the virtual create_solver function for each solver. The idea of the lduLduBase class it to have a unified base class for segregated (ldu) and coupled (Ldu) matrices on the OGL level since the share a lot of common core functionalities.

The lduLduBase uses mixins to add core functionalities separating responsibilties. These core functionalities are

  1. HostMatrix - An interface to the host OpenFOAM (ldu) matrix
  2. SolverFactory - The Ginkgo solver factory
  3. IOGKOMatrixHandler - The Ginkgo matrix handler
  4. IOPreconditioner - The Preconditioner
Clone this wiki locally