Add adaptive mesh refinement and 2D test case
dart/tests/amr.py
0 → 100644
-
The AMR feature works quite well in 2D, but not in 3D. Several aspects must be considered and improved:
- The remeshing process should be handled internally and not through Gsmh in order to decrease the computational time.
- The mesh should be adapted by splitting or agglomerating the cells rather than being entirely regenerated from scratch.
- The refinement sensor is currently based on the difference between the density of the current and the upwind cell. A sensor based on the density gradient and/or on the Laplacian should be considered. Alternatively, the (adjoint) mesh sensitives could be used as a sensor.
- The refinement process should be limited to certain regions of interest.
- The refinement/coarsening process relies on user-defined parameters (refinement/coarsening thresholds and factors, termination criterion, etc.) which depend on the case being solved. This should be investigated to find an optimal set of parameters for standard cases.
- A restart capability should be implemented.
As a final note, it is unlikely that AMR will be faster than a single calculation performed directly on a "good" grid. However, it could alleviate the burden of generating this "good" grid from scratch and give insights into the flow pattern.
Please register or sign in to comment