add some modules information

Mark Olesen
2020-11-03 09:20:46 +01:00
parent f7fda162a5
commit ed8ac15cc1
6 changed files with 135 additions and 7 deletions

@ -1,6 +1,7 @@
<!-- --- title: Building from source -->
[![home](/icons/home.svg "wiki home")](/home)
[![modules](/icons/layers.svg "modules")](/modules)
[![packages](/icons/package.svg "packages")](/precompiled)
[[_TOC_]]

@ -14,6 +14,7 @@ to the latest version of [OpenFOAM](http://www.openfoam.com).
| [![readme](/icons/book-open.svg "readme")][foam-readme] [**Readme**][foam-readme] | Further cross-links in the OpenFOAM repository to _system requirements_ etc. |
| [![repo](/icons/gitlab.svg "repositories")](/page-access-code) [**Access**](/page-access-code) the code | Locations and descriptions of repository branch names |
| [![build](/icons/cpu.svg "build")](/building) [**Build**](/building) from source | Information about building and links to build or packaging systems |
| [![modules](/icons/layers.svg "modules")](/modules) [**Modules**](/modules) for OpenFOAM | Additional code modules |
| [![upgrade](/icons/chevrons-up.svg "upgrade guide")][upgrade-guide] [**Upgrade**][upgrade-guide] guides | User and developer information for upgrading cases and code to more recent releases |
| [![run](/icons/play.svg "run")](/running) [**Run**](/running) OpenFOAM | Using the OpenFOAM environment |
| [![download](/icons/download.svg "download")][download-source] [**Download**][download-source] source packs | Download shortcuts |
@ -21,8 +22,8 @@ to the latest version of [OpenFOAM](http://www.openfoam.com).
## [![repo](/icons/gitlab.svg "repositories")][all-repos] Repositories
The [develop.openfoam.com site][all-repos] hosts the ***publicly
accessible*** repositories:
The [develop.openfoam.com][all-repos] site hosts the
***publicly accessible*** repositories:
| Repository | Issue tracker |
|------------|---------------|

1
icons/layers.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-layers"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>

After

Width:  |  Height:  |  Size: 365 B

118
modules.md Normal file

@ -0,0 +1,118 @@
<!-- --- title: OpenFOAM Modules -->
[![home](/icons/home.svg "wiki home")](/home)
[![build](/icons/cpu.svg "build")](/building)
For flexibility and extensibility, OpenFOAM uses [_modules_][all-modules]
to provide additional functionality.
There are a variety of different reasons for using modules:
- inclusion of a larger, ***independent*** code base
- improve ***isolation*** of third-party ***dependencies***
- support more ***flexible build*** options
- ***staging*** functionality that may be later merged into OpenFOAM
Also see related information about git submodules in the
[modules/README](https://develop.openfoam.com/Development/openfoam/-/tree/develop/modules#git).
[[_TOC_]]
## OpenQBMM
[OpenQBMM](OpenQBMM.org) is a suite of solvers to simulate
polydisperse multiphase flows using Quadrature-Based Moment Methods
(QBMM) based on OpenFOAM.
***Why a module?***
- retain development, release timing that is independent of the
OpenFOAM release schedule.
- ensure that development changes to OpenFOAM are propagated to
OpenQBMM as soon as possible.
## adios
The [adios module](https://develop.openfoam.com/Community/adiosfoam)
provides a function object for checkpointing OpenFOAM using the
[ADIOS](https://csmd.ornl.gov/software/adios2) library.
***Why a module?***
- isolate library dependencies
- additional, non-core functionality
## avalanche
The [avalanche module](https://develop.openfoam.com/Community/avalache)
provides libraries, solver and utilities for avalanche modelling using
finiteArea.
***Why a module?***
- additional, non-core functionality
- retain independent development
## cfmesh
The [cfmesh module](https://develop.openfoam.com/Community/integration-cfmesh)
is a populate alternative mesher for OpenFOAM.
***Why a module?***
- integration of larger, existing code base
## external-solver
The [external solver module](https://develop.openfoam.com/modules/external-solver)
is primarily an OpenFOAM solver interface to the
[PETsc](https://www.mcs.anl.gov/petsc/) suite of linear solvers.
***Why a module?***
- isolate library dependencies
- development timing independent of the OpenFOAM release schedule
## visualization
The [visualization module](https://develop.openfoam.com/modules/visualization)
is a collection of visualization interfaces for OpenFOAM, primarily
VTK/ParaView based.
Note that the visualization module incorporates some elements which
were previously part of the OpenFOAM source tree, but have since been
relocated to module for the improved flexibility and to make the core
OpenFOAM libraries independent of visualization.
***Why a module?***
- isolate library dependencies
- support multi-build.
Eg, different VTK or ParaView versions, different rendering types etc.
### Examples
A [user example](https://develop.openfoam.com/Development/openfoam/-/issues/1848)
of using the visualization module to add an additional layer to an
_existing_ OpenFOAM installation (ubuntu docker build):
```
RUN mkdir -p /home/ofuser/src && \
git clone --depth=1 https://develop.openfoam.com/modules/visualization.git \
/home/ofuser/src/visualization && \
/usr/bin/openfoam2006 -DVTK_DIR=/usr/include/vtk-7.1 \
-c '/home/ofuser/src/visualization/Allwmake -prefix=openfoam' ;\
rm -rf /home/ofuser/src/visualization
```
----
Copyright (C) 2020 OpenCFD Ltd.
[all-repos]: https://develop.openfoam.com/
[all-modules]: https://develop.openfoam.com/Development/openfoam/-/tree/develop/modules

@ -1,10 +1,8 @@
<!-- --- title: Accessing the code -->
[![home](/icons/home.svg "wiki home")](/home)
[[_TOC_]]
## OpenFOAM repositories
[![modules](/icons/layers.svg "modules")](/modules)
[![build](/icons/cpu.svg "build")](/building)
OpenFOAM repositories are hosted at the https://develop.openfoam.com webpage.
Many are **public-access** and can be downloaded or cloned directly;
@ -15,12 +13,15 @@ features (such as reporting issues), users must create an account.
|------------|---------------|
| [OpenFOAM][foam-repo] | [issues][foam-issues] |
| [ThirdParty][third-repo] build scripts | [issues][third-issues] |
| Additional [modules][all-modules] | _individual_ |
_If you have been using the [older OpenFOAM git repository][old-foam-repo] (prior to DEC-2019)
and have code you need to migrate, you should see the [repository migration](Repository-migration) information._
### Organization of git branches
[[_TOC_]]
## Organization of git branches
OpenFOAM follows a
[branching workflow](https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows)
@ -43,6 +44,9 @@ Since they will also occasionally be rebased onto the lastest
`develop`, there is ***no*** guarantee of continuity.
## Additional Information
### Exploring projects
- From the projects menu you can navigate through various projects as shown below.
@ -149,6 +153,8 @@ multiple SSH keys and distinguish them with proper title.
Copyright (C) 2019-2020 OpenCFD Ltd.
[all-repos]: https://develop.openfoam.com/
[all-modules]: https://develop.openfoam.com/Development/openfoam/-/tree/develop/modules
[foam-repo]: https://develop.openfoam.com/Development/openfoam/
[third-repo]: https://develop.openfoam.com/Development/ThirdParty-common/

@ -1,6 +1,7 @@
<!-- --- title: Precompiled Packages -->
[![home](/icons/home.svg "wiki home")](/home)
[![modules](/icons/layers.svg "modules")](/modules)
[![build](/icons/cpu.svg "build")](/building)
[![running](/icons/play.svg "running")](/running)