-
Notifications
You must be signed in to change notification settings - Fork 22
Home
The blastAMR repository provides implementations of OpenFOAM libraries to run load-balanced adaptive mesh refinement on both hexahedral and polyhedral meshes.
This wiki page intends to provide the absolute minimum amount of information needed to get started with the library.
First, here are some principles this project was built on:
-
Unit/integration tests are the dev's documentation.
By browsing tests, you get to see examples of usage for the most important classes (entry points and interfaces for the library).
tests/Makealso shows you how to compile and link against the library if you wish to do so. - Unit/integration tests also give a rough idea on what we promise to keep stable throughout the life of the project. If a class is not tested, it means there is a chance its interface will soon change.
- We are all for keeping a lean Git history. This library is the result of a port of AMR/LB capabilities from
blastFoamand all of the related history is retained.
Important
Always set AMRLB_PROJECT environment variable to the root directory of the blastAMR repo!
- Getting started
- Options for AMR cell selectors
- Function Object Route
- Lagrangian Cloud Support
- FAQ
- Known/Possible issues
- The master branch is tested against OpenFOAM v2006 (same as v2012).
- There is a branch
v2212supporting versions including and newer that v2212. If you are on one of these two branches,Allwmakewill switch to the one suitable for your OpenFOAM version automatically. You can check the up-to-date CI build status for the version you're interested in. - Particle-aware load balancing was added in STFS-TUDa/blastAMR#29, and a function object route for AMR/LB. See Lagrangian Cloud Support and Function Object Route for details.
A few variants of the dam-break and freely propagating flame cases are provided in the tutorial folder to showcase different features of the library; notably:
- Support for refinement history produced by tools like
snappyHexMesh. These are the one which use thehexRefinerengine as thepolyRefinerone is incompatible and will likely segfault if used with such histories.- This "support" is limited to the
hexRefiner, and even though the code will read existingcellLevelfiles (we need this forupdateMeshto function properly), the initial cell levels are assumed to be null for thepolyRefiner. Although, things may work out just fine on most meshes.
- This "support" is limited to the
- Usage of coded error indicators.
“This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.”
This is blastAMR Wiki, here is a link back to Home