Under the Hood
================

If you look inside your project directory, you will find a ``foam`` directory with three subdirectories ``blockMesh``, ``snappyHexMesh``, and ``icoFoam``. We chose to break the work up into three subdirectories for convenience, so that you can, for example, the mesh from :program:`snappyHexMesh` doesn't overwrite the output of :program:`blockMesh`. We pasted a tree view below with all of the files generated by :program:`modelbuilder`. Although some of the files are simple and some are the same from one subdirectory to the next, more than a dozen nontrivial :program:`OpenFOAM` input files are generated and organized by :program:`modelbuilder` that would otherwise have to be authored by the user.

::

  wingsection/foam/
  ├── blockMesh
  │   ├── Allclean
  │   ├── Allrun
  │   ├── blockMesh.foam
  │   ├── constant
  │   │   ├── include
  │   │       └── blockMeshConfig
  │   └── system
  │       ├── blockMeshDict
  │       └── controlDict
  ├── icoFoam
  │   ├── 0.orig
  │   │   ├── include
  │   │   │   └── initialConditions
  │   │   ├── p
  │   │   └── U
  │   ├── Allclean
  │   ├── Allrun
  │   ├── constant
  │   │   ├── include
  │   │       └── transportPropertiesConfig
  │   ├── ico.foam
  │   └── system
  │       ├── controlDict
  │       ├── fvSchemes
  │       └── fvSolution
  └── snappyHexMesh
      ├── Allclean
      ├── Allrun
      ├── constant
      │   ├── include
      │       ├── meshQualityDictConfig
      │       └── snappyHexMeshConfig
      ├── snappy.foam
      └── system
          ├── blockMeshDict
          ├── controlDict
          ├── fvSchemes
          ├── fvSolution
          ├── meshQualityDict
          ├── snappyHexMeshDict
          └── surfaceFeatureExtractDict
