Overview
========
+ This is a template case with single inlet and outlet
+ Setup to run the compressible rhoSimpleFoam solver
+ The case is designed to be meshed with snappyHexMesh
+ snappyHexMesh is setup to use a single trisurface file named CAD.obj
+ Copy the CAD.obj file to the constant/geometry directory
+ The CAD.obj should contain an inlet and outlet region to create the relevant
  patches in the mesh

Background Mesh
===============
+ The user should establish the bounds of their CAD.obj file
+ The blockMeshDict file contains a backgroundMesh subditionary
+ For internal flows, where CAD.obj describes the external boundary, set xMin,
  xMax, etc to be beyond the CAD.obj bounds
+ For external flows, the background mesh can define the external boundary by
  uncommenting entries, e.g. left, in the boundary section of blockMeshDict
+ Set background mesh density with xCells, yCells, zCells
+ Run blockMesh

Castellated Mesh
================
+ In the snappyHexMeshDict file, replace <inletPatch> with the name of the inlet
  region in the CAD.obj file
+ Replace <outletPatch> with the name of the outlet region
+ run snappyHexMesh to obtain a castellatedMesh
+ Review the mesh; modify refinement levels and regenerate the mesh as required
  (levels are set in refinementSurfaces and refinementRegions)

Snapped Mesh
============
+ In snappyHexMeshDict, set castellatedMesh off; snap on;
+ Run the snapping phase of snappyHexMesh
+ Review the mesh

Layers
======
+ To add layers to the mesh along wall boundary patches...
+ Switch on addLayers; switch snap off;
+ Run snappyHexMesh
+ The number of layers can be changed by modifying nSurfaceLayers

Initialisation
==============
+ In the field files in the 0 directory, set inlet values
+ For example, in 0/U, set the inlet velocity Uinlet
+ Set the viscosity in constant/transportProperties