scramjetFoam / blastAMR

Load-balanced adaptive mesh refinement libraries from blastFoam ported to ESI OpenFOAM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A Load-balanced adaptive mesh refinement for OpenFOAM

Build Status Build Status Build Status Testing framework GitHub contributors GitHub issues GitHub release (with filter) DOI

H2 injection case
H2Injection.mp4

2023-10-10_14-30

Free-propagating flame case
freelyPropagatingFlame.mp4

2023-10-10_14-29

This repository extracts library parts from blastFoam which are relevant to load-balanced adaptive mesh refinement for polyhedral meshes while retaining the original commit history; this is not intended as a full port! Only tested features are to be trusted. !!WIP!!

To get started, you can visit the one and only wiki page.

Note

If you're using OpenFOAM v2206 or newer, please switch to the v2212 branch. The master branch is for OpenFOAM v2112 and earlier versions for now. See #6.

Objectives

  • Have a reasonable Load-balanced AMR for 2D/3D OpenFOAM meshes in the ESI fork.
  • Support load balancing of Lagrangian particle clouds (not yet implemented).
  • Make it easy to include this lib in other projects through submodules/subtrees.

blastFoam is GPL licensed; see the included (original) COPYING.

Quick Notes

  • Everything compiles to your $FOAM_USER_LIBBIN with a recent ESI (openfoam.com) version.
  • Our favorite refinement cell selector is the coded. Although a wide range of selectors is provided, they are not well tested. So, use the coded refinement whenever possible.

About

Load-balanced adaptive mesh refinement libraries from blastFoam ported to ESI OpenFOAM

License:Other


Languages

Language:C 65.2%Language:C++ 34.1%Language:Shell 0.7%Language:GLSL 0.1%