Test-case: comparison of OpenFOAM ancd PeliGRIFF simulation results for a random
packing of 16 cylinders. The mesh is selected to be the coarsest that still
produces excellent agreement. For visually nicer mesh, increase "surfLevel" in
./settings to 4. This corresponds to the surfacceRefinementLevel in
snappyHexMesh. 

Running the simulation:

- To run the simulation:
  ./Allrun.sh

- To clean-up the directory after the simulation is run: 
  ./Allclean.sh 

- Simulation parameters are summarized in ./settings

- For nicer mesh, increase "surfLevel" in
  ./settings to 4. This corresponds to the surfacceRefinementLevel in
  snappyHexMesh.

- To enable automatic post-processing (graph plotting), set 
  "runVerification=true" in ./Allrun.sh (works with Python 3.11.5)

- Assembly generation parameters are set in ./system/searchableSurfacesDict

- "cylinderList" (list of searchable surfaces) and "eMeshesList" (list of
  eMeshes) is included in ./system/snappyHexMeshDict

- "includeForcesFiles" (list of force function objects for post-processing) is
  included in ./system/controlDict

To run with patchMeanVelocityForce: 

 cp ./patchMeanVeloctyForce/system/fvOptions  ./system/
 cp ./patchMeanVeloctyForce/system/searchableSurfacesDict  ./system/
 cp ./patchMeanVeloctyForce/0.orig/p ./0.orig/
