1D/2D Overset with OpenFOAM(Conservative) - tested with OpenFOAM-v1812
Octree search: https://github.com/jbehley/octree (No compilation required)
sparseMatrix: https://github.com/uestla/Sparse-Matrix (OpenFOAM based compilation required inside folder sparseMatrix)
itsol:https://github.com/huiscliu/itsol (standard compilation required inside folder itsol-master)
Overlapping 1D/2D regions case can be found in run/
For 1D, meshes are with empty patches on the y and the z directions. Navigate to run/meshes/ and there are two regions region1 and region2. Execute blockMesh inside each of these regions. Once done with meshing, run the script ./createLinks.sh(Just once!). This establishes a link between the meshes inside meshes/ and the root folder inside constant/
For 2D, several mesh refinements can be generated by issuing the command ./switchMesh.sh refinementLevel
where refinementLevel is either tiny, coarse, medium or fine.
1D Poisson: onedOverset (basic run)
onedOverset -cons (with a correction)
2D Poisson: twoDOverset options
Various options are as follows:
-neumannrhs: Solve using Neumann BCs on left and top boundaries (You also need to change the 0/T files appropriately). The default option in 0/ folder is the Neumann BCs.
-inv : Use inverse distance interpolation instead of polynomial interpolation.
-rbf : Use RBF 2nd order interpolation
-cons : Activate conservative correction
Since the default BCs are already Partly Neumann, to execute the code (using RBF):
twoDOverset -neumannrhs -rbf
- For 1D: Solution on both meshes written in solution.0 and solution.1
- For 1D: The matrix and the RHS also written in matrix.txt
- L2 norm of the error and conservation error also reported for each run
As of Nov 2021, the Poisson flux correction has been extended to the incompressible Navier-Stokes equations. The sources for these are in src.NS and a wmake has to be issued inside that folder.
The full pressure equation can take advantage of the conservative fix by running:
simpleFoamCons -cons
The cell adjacent to the first overset interface on mesh 0 will be used as the flux correction/balance cell. One can change this behaviour by specifying either the flux balance cell or the interface by
simpleFoamCons -cons -ointerface
or
simpleFoamCons -cons -ocell