Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Initial commit for version 2.1.x

commit 5362c6d89661a6d9a197bf612552575e983e5811 0 parents
OpenFOAM-admin authored
Showing with 18,931 additions and 0 deletions.
  1. +87 −0 .gitignore
  2. +37 −0 Allwmake
  3. +687 −0 COPYING
  4. +203 −0 README.html
  5. +40 −0 README.org
  6. +22 −0 applications/Allwmake
  7. +3 −0  applications/solvers/DNS/dnsFoam/Make/files
  8. +10 −0 applications/solvers/DNS/dnsFoam/Make/options
  9. +29 −0 applications/solvers/DNS/dnsFoam/createFields.H
  10. +132 −0 applications/solvers/DNS/dnsFoam/dnsFoam.C
  11. +20 −0 applications/solvers/DNS/dnsFoam/globalProperties.H
  12. +18 −0 applications/solvers/DNS/dnsFoam/readTransportProperties.H
  13. +21 −0 applications/solvers/DNS/dnsFoam/readTurbulenceProperties.H
  14. +3 −0  applications/solvers/basic/laplacianFoam/Make/files
  15. +3 −0  applications/solvers/basic/laplacianFoam/Make/options
  16. +37 −0 applications/solvers/basic/laplacianFoam/createFields.H
  17. +76 −0 applications/solvers/basic/laplacianFoam/laplacianFoam.C
  18. +46 −0 applications/solvers/basic/laplacianFoam/write.H
  19. +3 −0  applications/solvers/basic/potentialFoam/Make/files
  20. +4 −0 applications/solvers/basic/potentialFoam/Make/options
  21. +62 −0 applications/solvers/basic/potentialFoam/createFields.H
  22. +123 −0 applications/solvers/basic/potentialFoam/potentialFoam.C
  23. +5 −0 applications/solvers/basic/potentialFoam/readControls.H
  24. +3 −0  applications/solvers/basic/scalarTransportFoam/Make/files
  25. +4 −0 applications/solvers/basic/scalarTransportFoam/Make/options
  26. +55 −0 applications/solvers/basic/scalarTransportFoam/createFields.H
  27. +75 −0 applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
  28. +33 −0 applications/solvers/combustion/PDRFoam/Make/files
  29. +31 −0 applications/solvers/combustion/PDRFoam/Make/options
  30. +156 −0 applications/solvers/combustion/PDRFoam/PDRFoam.C
  31. +210 −0 applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C
  32. +169 −0 applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C
  33. +145 −0 applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.H
  34. +135 −0 applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
  35. +136 −0 applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H
  36. +90 −0 applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.C
  37. +181 −0 applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
  38. +63 −0 applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C
  39. +132 −0 applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C
  40. +166 −0 applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.H
  41. +195 −0 applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
  42. +133 −0 applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
  43. +53 −0 applications/solvers/combustion/PDRFoam/StCourantNo.H
  44. +17 −0 applications/solvers/combustion/PDRFoam/UEqn.H
  45. +102 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.C
  46. +116 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.H
  47. +93 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.C
  48. +121 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.H
  49. +160 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
  50. +130 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H
  51. +202 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.C
  52. +190 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
  53. +66 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModelNew.C
  54. +82 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
  55. +117 −0 applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.H
  56. +85 −0 applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.C
  57. +111 −0 applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.H
  58. +76 −0 applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.C
  59. +160 −0 applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
  60. +66 −0 applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModelNew.C
  61. +96 −0 applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.C
  62. +123 −0 applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.H
  63. +94 −0 applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.C
  64. +254 −0 applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
  65. +65 −0 applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModelNew.C
  66. +98 −0 applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.C
  67. +131 −0 applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.H
  68. +72 −0 applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.C
  69. +115 −0 applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.H
  70. +140 −0 applications/solvers/combustion/PDRFoam/XiModels/transport/transport.C
  71. +145 −0 applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
  72. +108 −0 applications/solvers/combustion/PDRFoam/bEqn.H
  73. +191 −0 applications/solvers/combustion/PDRFoam/createFields.H
  74. +11 −0 applications/solvers/combustion/PDRFoam/ftEqn.H
  75. +13 −0 applications/solvers/combustion/PDRFoam/hEqn.H
  76. +18 −0 applications/solvers/combustion/PDRFoam/huEqn.H
  77. +451 −0 applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C
  78. +220 −0 applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.H
  79. +69 −0 applications/solvers/combustion/PDRFoam/pEqn.H
  80. +15 −0 applications/solvers/combustion/PDRFoam/readCombustionProperties.H
  81. +36 −0 applications/solvers/combustion/PDRFoam/rhoEqn.H
  82. +51 −0 applications/solvers/combustion/PDRFoam/setDeltaT.H
  83. +3 −0  applications/solvers/combustion/XiFoam/Make/files
  84. +21 −0 applications/solvers/combustion/XiFoam/Make/options
  85. +16 −0 applications/solvers/combustion/XiFoam/UEqn.H
  86. +135 −0 applications/solvers/combustion/XiFoam/XiFoam.C
  87. +260 −0 applications/solvers/combustion/XiFoam/bEqn.H
  88. +132 −0 applications/solvers/combustion/XiFoam/createFields.H
  89. +22 −0 applications/solvers/combustion/XiFoam/ftEqn.H
  90. +16 −0 applications/solvers/combustion/XiFoam/hEqn.H
  91. +18 −0 applications/solvers/combustion/XiFoam/huEqn.H
  92. +69 −0 applications/solvers/combustion/XiFoam/pEqn.H
  93. +45 −0 applications/solvers/combustion/XiFoam/readCombustionProperties.H
  94. +3 −0  applications/solvers/combustion/chemFoam/Make/files
  95. +21 −0 applications/solvers/combustion/chemFoam/Make/options
  96. +12 −0 applications/solvers/combustion/chemFoam/YEqn.H
  97. +95 −0 applications/solvers/combustion/chemFoam/chemFoam.C
  98. +57 −0 applications/solvers/combustion/chemFoam/createBaseFields.H
  99. +104 −0 applications/solvers/combustion/chemFoam/createFields.H
  100. +38 −0 applications/solvers/combustion/chemFoam/createSingleCellMesh.H
  101. +10 −0 applications/solvers/combustion/chemFoam/hEqn.H
  102. +11 −0 applications/solvers/combustion/chemFoam/output.H
  103. +17 −0 applications/solvers/combustion/chemFoam/pEqn.H
  104. +8 −0 applications/solvers/combustion/chemFoam/readControls.H
  105. +111 −0 applications/solvers/combustion/chemFoam/readInitialConditions.H
  106. +6 −0 applications/solvers/combustion/chemFoam/setDeltaT.H
  107. +7 −0 applications/solvers/combustion/chemFoam/solveChemistry.H
  108. +3 −0  applications/solvers/combustion/coldEngineFoam/Make/files
  109. +18 −0 applications/solvers/combustion/coldEngineFoam/Make/options
  110. +109 −0 applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C
  111. +61 −0 applications/solvers/combustion/coldEngineFoam/createFields.H
  112. +12 −0 applications/solvers/combustion/coldEngineFoam/hEqn.H
  113. +12 −0 applications/solvers/combustion/coldEngineFoam/logSummary.H
  114. +9 −0 applications/solvers/combustion/coldEngineFoam/startSummary.H
  115. +3 −0  applications/solvers/combustion/engineFoam/Make/files
  116. +20 −0 applications/solvers/combustion/engineFoam/Make/options
  117. +12 −0 applications/solvers/combustion/engineFoam/UEqn.H
  118. +143 −0 applications/solvers/combustion/engineFoam/engineFoam.C
  119. +14 −0 applications/solvers/combustion/engineFoam/logSummary.H
  120. +62 −0 applications/solvers/combustion/engineFoam/pEqn.H
  121. +3 −0  applications/solvers/combustion/engineFoam/readEngineTimeControls.H
  122. +11 −0 applications/solvers/combustion/engineFoam/startSummary.H
  123. +3 −0  applications/solvers/combustion/fireFoam/Make/files
  124. +50 −0 applications/solvers/combustion/fireFoam/Make/options
  125. +28 −0 applications/solvers/combustion/fireFoam/UEqn.H
  126. +71 −0 applications/solvers/combustion/fireFoam/YhsEqn.H
  127. +9 −0 applications/solvers/combustion/fireFoam/createClouds.H
  128. +138 −0 applications/solvers/combustion/fireFoam/createFields.H
  129. +3 −0  applications/solvers/combustion/fireFoam/createPyrolysisModel.H
  130. +6 −0 applications/solvers/combustion/fireFoam/createSurfaceFilmModel.H
  131. +127 −0 applications/solvers/combustion/fireFoam/fireFoam.C
  132. +48 −0 applications/solvers/combustion/fireFoam/pEqn.H
  133. +34 −0 applications/solvers/combustion/fireFoam/readPyrolysisTimeControls.H
  134. +43 −0 applications/solvers/combustion/fireFoam/rhoEqn.H
  135. +64 −0 applications/solvers/combustion/fireFoam/setMultiRegionDeltaT.H
  136. +1 −0  applications/solvers/combustion/fireFoam/solidRegionDiffusionNo.H
  137. +3 −0  applications/solvers/combustion/reactingFoam/Make/files
  138. +21 −0 applications/solvers/combustion/reactingFoam/Make/options
  139. +16 −0 applications/solvers/combustion/reactingFoam/UEqn.H
  140. +47 −0 applications/solvers/combustion/reactingFoam/YEqn.H
  141. +96 −0 applications/solvers/combustion/reactingFoam/createFields.H
  142. +21 −0 applications/solvers/combustion/reactingFoam/hsEqn.H
  143. +69 −0 applications/solvers/combustion/reactingFoam/pEqn.H
  144. +100 −0 applications/solvers/combustion/reactingFoam/reactingFoam.C
  145. +3 −0  applications/solvers/combustion/rhoReactingFoam/Make/files
  146. +23 −0 applications/solvers/combustion/rhoReactingFoam/Make/options
  147. +16 −0 applications/solvers/combustion/rhoReactingFoam/UEqn.H
  148. +44 −0 applications/solvers/combustion/rhoReactingFoam/YEqn.H
  149. +98 −0 applications/solvers/combustion/rhoReactingFoam/createFields.H
  150. +21 −0 applications/solvers/combustion/rhoReactingFoam/hsEqn.H
  151. +92 −0 applications/solvers/combustion/rhoReactingFoam/pEqn.H
  152. +104 −0 applications/solvers/combustion/rhoReactingFoam/rhoReactingFoam.C
  153. +9 −0 applications/solvers/compressible/rhoCentralFoam/Allwclean
  154. +9 −0 applications/solvers/compressible/rhoCentralFoam/Allwmake
  155. +6 −0 applications/solvers/compressible/rhoCentralFoam/BCs/Make/files
  156. +10 −0 applications/solvers/compressible/rhoCentralFoam/BCs/Make/options
  157. +228 −0 applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C
  158. +161 −0 applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.H
  159. +219 −0 applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.C
  160. +150 −0 applications/solvers/compressible/rhoCentralFoam/BCs/U/maxwellSlipUFvPatchVectorField.H
  161. +205 −0 applications/solvers/compressible/rhoCentralFoam/BCs/mixedFixedValueSlip/mixedFixedValueSlipFvPatchField.C
  162. +227 −0 applications/solvers/compressible/rhoCentralFoam/BCs/mixedFixedValueSlip/mixedFixedValueSlipFvPatchField.H
  163. +43 −0 applications/solvers/compressible/rhoCentralFoam/BCs/mixedFixedValueSlip/mixedFixedValueSlipFvPatchFields.C
  164. +49 −0 applications/solvers/compressible/rhoCentralFoam/BCs/mixedFixedValueSlip/mixedFixedValueSlipFvPatchFields.H
  165. +50 −0 applications/solvers/compressible/rhoCentralFoam/BCs/mixedFixedValueSlip/mixedFixedValueSlipFvPatchFieldsFwd.H
  166. +125 −0 applications/solvers/compressible/rhoCentralFoam/BCs/rho/fixedRhoFvPatchScalarField.C
  167. +139 −0 applications/solvers/compressible/rhoCentralFoam/BCs/rho/fixedRhoFvPatchScalarField.H
  168. +3 −0  applications/solvers/compressible/rhoCentralFoam/Make/files
  169. +18 −0 applications/solvers/compressible/rhoCentralFoam/Make/options
  170. +52 −0 applications/solvers/compressible/rhoCentralFoam/compressibleCourantNo.H
  171. +113 −0 applications/solvers/compressible/rhoCentralFoam/createFields.H
  172. +18 −0 applications/solvers/compressible/rhoCentralFoam/readFluxScheme.H
  173. +26 −0 applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H
  174. +14 −0 applications/solvers/compressible/rhoCentralFoam/rhoBoundaryTypes.H
  175. +3 −0  applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/files
  176. +20 −0 applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/Make/options
  177. +275 −0 applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C
  178. +263 −0 applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C
  179. +9 −0 applications/solvers/compressible/rhoPimpleFoam/Allwmake
  180. +3 −0  applications/solvers/compressible/rhoPimpleFoam/Make/files
  181. +14 −0 applications/solvers/compressible/rhoPimpleFoam/Make/options
  182. +18 −0 applications/solvers/compressible/rhoPimpleFoam/UEqn.H
  183. +61 −0 applications/solvers/compressible/rhoPimpleFoam/createFields.H
  184. +16 −0 applications/solvers/compressible/rhoPimpleFoam/hEqn.H
  185. +88 −0 applications/solvers/compressible/rhoPimpleFoam/pEqn.H
  186. +102 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C
  187. +3 −0  applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/Make/files
  188. +17 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/Make/options
  189. +107 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/rhoPorousMRFLTSPimpleFoam.C
  190. +19 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/setInitialrDeltaT.H
  191. +83 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFLTSPimpleFoam/setrDeltaT.H
  192. +4 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/files
  193. +16 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/Make/options
  194. +21 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/UEqn.H
  195. +5 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/createZones.H
  196. +90 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/pEqn.H
  197. +105 −0 applications/solvers/compressible/rhoPimpleFoam/rhoPorousMRFPimpleFoam/rhoPorousMRFPimpleFoam.C
  198. +8 −0 applications/solvers/compressible/rhoSimpleFoam/Allwmake
  199. +3 −0  applications/solvers/compressible/rhoSimpleFoam/Make/files
  200. +14 −0 applications/solvers/compressible/rhoSimpleFoam/Make/options
  201. +11 −0 applications/solvers/compressible/rhoSimpleFoam/UEqn.H
  202. +62 −0 applications/solvers/compressible/rhoSimpleFoam/createFields.H
  203. +16 −0 applications/solvers/compressible/rhoSimpleFoam/hEqn.H
  204. +85 −0 applications/solvers/compressible/rhoSimpleFoam/pEqn.H
  205. +3 −0  applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/Make/files
  206. +18 −0 applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/Make/options
  207. +43 −0 applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/UEqn.H
  208. +23 −0 applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/createZones.H
  209. +18 −0 applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/hEqn.H
  210. +105 −0 applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/pEqn.H
  211. +84 −0 applications/solvers/compressible/rhoSimpleFoam/rhoPorousMRFSimpleFoam/rhoPorousMRFSimpleFoam.C
  212. +81 −0 applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C
  213. +3 −0  applications/solvers/compressible/rhoSimplecFoam/Make/files
  214. +14 −0 applications/solvers/compressible/rhoSimplecFoam/Make/options
  215. +61 −0 applications/solvers/compressible/rhoSimplecFoam/createFields.H
  216. +110 −0 applications/solvers/compressible/rhoSimplecFoam/pEqn.H
  217. +83 −0 applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C
  218. +9 −0 applications/solvers/compressible/sonicFoam/Allwmake
  219. +3 −0  applications/solvers/compressible/sonicFoam/Make/files
  220. +13 −0 applications/solvers/compressible/sonicFoam/Make/options
  221. +8 −0 applications/solvers/compressible/sonicFoam/UEqn.H
  222. +51 −0 applications/solvers/compressible/sonicFoam/createFields.H
  223. +12 −0 applications/solvers/compressible/sonicFoam/eEqn.H
  224. +37 −0 applications/solvers/compressible/sonicFoam/pEqn.H
  225. +3 −0  applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/files
  226. +17 −0 applications/solvers/compressible/sonicFoam/sonicDyMFoam/Make/options
  227. +33 −0 applications/solvers/compressible/sonicFoam/sonicDyMFoam/pEqn.H
  228. +94 −0 applications/solvers/compressible/sonicFoam/sonicDyMFoam/sonicDyMFoam.C
  229. +89 −0 applications/solvers/compressible/sonicFoam/sonicFoam.C
  230. +3 −0  applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/files
  231. +4 −0 applications/solvers/compressible/sonicFoam/sonicLiquidFoam/Make/options
  232. +15 −0 applications/solvers/compressible/sonicFoam/sonicLiquidFoam/compressibleContinuityErrs.H
  233. +44 −0 applications/solvers/compressible/sonicFoam/sonicLiquidFoam/createFields.H
  234. +31 −0 applications/solvers/compressible/sonicFoam/sonicLiquidFoam/readThermodynamicProperties.H
  235. +18 −0 applications/solvers/compressible/sonicFoam/sonicLiquidFoam/readTransportProperties.H
  236. +122 −0 applications/solvers/compressible/sonicFoam/sonicLiquidFoam/sonicLiquidFoam.C
  237. +3 −0  applications/solvers/discreteMethods/dsmc/dsmcFoam/Make/files
  238. +11 −0 applications/solvers/discreteMethods/dsmc/dsmcFoam/Make/options
  239. +73 −0 applications/solvers/discreteMethods/dsmc/dsmcFoam/dsmcFoam.C
  240. +3 −0  applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/Make/files
  241. +15 −0 applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/Make/options
  242. +101 −0 applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C
  243. +18 −0 applications/solvers/discreteMethods/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H
  244. +3 −0  applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/files
  245. +15 −0 applications/solvers/discreteMethods/molecularDynamics/mdFoam/Make/options
  246. +55 −0 applications/solvers/discreteMethods/molecularDynamics/mdFoam/createFields.H
  247. +97 −0 applications/solvers/discreteMethods/molecularDynamics/mdFoam/mdFoam.C
  248. +3 −0  applications/solvers/electromagnetics/electrostaticFoam/Make/files
  249. +3 −0  applications/solvers/electromagnetics/electrostaticFoam/Make/options
  250. +68 −0 applications/solvers/electromagnetics/electrostaticFoam/createFields.H
  251. +77 −0 applications/solvers/electromagnetics/electrostaticFoam/electrostaticFoam.C
  252. +3 −0  applications/solvers/electromagnetics/magneticFoam/Make/files
  253. +4 −0 applications/solvers/electromagnetics/magneticFoam/Make/options
  254. +80 −0 applications/solvers/electromagnetics/magneticFoam/createFields.H
  255. +169 −0 applications/solvers/electromagnetics/magneticFoam/magnet.H
  256. +155 −0 applications/solvers/electromagnetics/magneticFoam/magneticFoam.C
  257. +3 −0  applications/solvers/electromagnetics/mhdFoam/Make/files
  258. +4 −0 applications/solvers/electromagnetics/mhdFoam/Make/options
  259. +107 −0 applications/solvers/electromagnetics/mhdFoam/createFields.H
  260. +47 −0 applications/solvers/electromagnetics/mhdFoam/createPhiB.H
  261. +4 −0 applications/solvers/electromagnetics/mhdFoam/magneticFieldErr.H
  262. +164 −0 applications/solvers/electromagnetics/mhdFoam/mhdFoam.C
  263. +4 −0 applications/solvers/electromagnetics/mhdFoam/readBPISOControls.H
  264. +3 −0  applications/solvers/financial/financialFoam/Make/files
  265. +8 −0 applications/solvers/financial/financialFoam/Make/options
  266. +95 −0 applications/solvers/financial/financialFoam/createFields.H
  267. +89 −0 applications/solvers/financial/financialFoam/financialFoam.C
  268. +3 −0  applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/files
  269. +14 −0 applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options
  270. +18 −0 applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/TEqn.H
  271. +26 −0 applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H
  272. +112 −0 applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C
  273. +119 −0 applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/createFields.H
  274. +53 −0 applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/pEqn.H
  275. +3 −0  applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/files
  276. +13 −0 applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options
  277. +18 −0 applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H
  278. +25 −0 applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H
  279. +96 −0 applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C
  280. +118 −0 applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/createFields.H
  281. +54 −0 applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/pEqn.H
  282. +13 −0 applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/readTransportProperties.H
  283. +3 −0  applications/solvers/heatTransfer/buoyantPimpleFoam/Make/files
  284. +13 −0 applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options
  285. +27 −0 applications/solvers/heatTransfer/buoyantPimpleFoam/UEqn.H
  286. +107 −0 applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C
  287. +81 −0 applications/solvers/heatTransfer/buoyantPimpleFoam/createFields.H
  288. +16 −0 applications/solvers/heatTransfer/buoyantPimpleFoam/hEqn.H
  289. +63 −0 applications/solvers/heatTransfer/buoyantPimpleFoam/pEqn.H
  290. +3 −0  applications/solvers/heatTransfer/buoyantSimpleFoam/Make/files
  291. +14 −0 applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options
  292. +25 −0 applications/solvers/heatTransfer/buoyantSimpleFoam/UEqn.H
  293. +81 −0 applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C
  294. +89 −0 applications/solvers/heatTransfer/buoyantSimpleFoam/createFields.H
  295. +15 −0 applications/solvers/heatTransfer/buoyantSimpleFoam/hEqn.H
  296. +59 −0 applications/solvers/heatTransfer/buoyantSimpleFoam/pEqn.H
  297. +4 −0 applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/Make/files
  298. +18 −0 applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/Make/options
  299. +84 −0 applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/buoyantSimpleRadiationFoam.C
  300. +19 −0 applications/solvers/heatTransfer/buoyantSimpleRadiationFoam/hEqn.H
Sorry, we could not display the entire diff because too many files (11,230) changed.
87 .gitignore
@@ -0,0 +1,87 @@
+# git-ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+
+# editor and misc backup files - anywhere
+*~
+.*~
+*.bak
+*.bak[0-9][0-9]
+*.orig
+*.orig[0-9][0-9]
+\#*\#
+
+# file-browser settings - anywhere
+.directory
+
+# CVS recovered versions - anywhere
+.#*
+
+# objects and archives - anywhere
+*.[oa]
+*.la
+*.so
+*.jar
+
+# derived files
+lex.yy.c
+
+# Corefiles
+core
+
+# dependency files - anywhere
+*.dep
+
+# lnInclude (symlink) folders - anywhere
+lnInclude
+
+# build folders - anywhere
+linux*Clang*/
+linux*Gcc*/
+linux*Icc*/
+linuxming*/
+SiCortex*Gcc*/
+solaris*Gcc*/
+SunOS*Gcc*/
+platforms/
+
+# reinstate wmake/rules that might look like build folders
+!wmake/rules/*/
+
+# doxygen generated documentation
+doc/Doxygen/html
+doc/Doxygen/latex
+doc/Doxygen/man
+doc/Doxygen/DTAGS
+
+# generated files in the main directory (e.g. ReleaseNotes-?.?.html)
+# and in the doc directory
+/*.html
+/doc/*.html
+
+# untracked configuration files
+/etc/prefs.csh
+/etc/prefs.sh
+/etc/config/prefs.csh
+/etc/config/prefs.sh
+
+# source packages - anywhere
+*.tar.bz2
+*.tar.gz
+*.tar
+*.tgz
+*.gtgz
+
+# ignore the persistent .build tag in the main directory
+/.build
+
+# ignore .timeStamp in the main directory
+/.timeStamp
+
+# ignore .tags in the main directory
+/.tags
+
+# ignore eclipse project files in the main directory
+/.cproject
+/.project
+
+# end-of-file
37 Allwmake
@@ -0,0 +1,37 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # run from this directory
+
+wmakeCheckPwd "$WM_PROJECT_DIR" || {
+ echo "Error: Current directory is not \$WM_PROJECT_DIR"
+ echo " The environment variables are inconsistent with the installation."
+ echo " Check the OpenFOAM entries in your dot-files and source them."
+ exit 1
+}
+
+[ -n "$FOAM_EXT_LIBBIN" ] || {
+ echo "Error: FOAM_EXT_LIBBIN not set"
+ echo " Check the OpenFOAM entries in your dot-files and source them."
+ exit 1
+}
+
+# wmake is required for subsequent targets
+( cd wmake/src && make )
+
+# build ThirdParty sources
+if [ -d "$WM_THIRD_PARTY_DIR" ]
+then
+ $WM_THIRD_PARTY_DIR/Allwmake
+else
+ echo "no ThirdParty sources found - skipping"
+fi
+
+# build OpenFOAM libraries and applications
+src/Allwmake
+applications/Allwmake
+
+if [ "$1" = doc ]
+then
+ doc/Allwmake
+fi
+
+# ----------------------------------------------------------------- end-of-file
687 COPYING
@@ -0,0 +1,687 @@
+ GNU GENERAL PUBLIC LICENSE
+
+ OpenFOAM(R) is Copyright (C) 2011 OpenFOAM Foundation
+ Contact: OpenFOAM Foundation (OpenFOAM.Foundation@gmail.com)
+
+ You may use, distribute and copy the OpenFOAM CFD Toolbox under the terms
+ of GNU General Public License version 3, which is displayed below, or
+ (at your option) any later version.
+
+-------------------------------------------------------------------------
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
+-------------------------------------------------------------------------
203 README.html
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+lang="en" xml:lang="en">
+<head>
+<title>OpenFOAM README for version 2.1.0</title>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="generated" content="19th December 2011"/>
+<meta name="author" content="The OpenFOAM Foundation"/>
+<meta name="description" content=""/>
+<meta name="keywords" content=""/>
+<style type="text/css">
+ <!--/*--><![CDATA[/*><!--*/
+ html { font-family: Times, serif; font-size: 12pt; }
+ .title { text-align: center; }
+ .todo { color: red; }
+ .done { color: green; }
+ .tag { background-color: #add8e6; font-weight:normal }
+ .target { }
+ .timestamp { color: #bebebe; }
+ .timestamp-kwd { color: #5f9ea0; }
+ .right {margin-left:auto; margin-right:0px; text-align:right;}
+ .left {margin-left:0px; margin-right:auto; text-align:left;}
+ .center {margin-left:auto; margin-right:auto; text-align:center;}
+ p.verse { margin-left: 3% }
+ pre {
+ border: 1pt solid #AEBDCC;
+ background-color: #F3F5F7;
+ padding: 5pt;
+ font-family: courier, monospace;
+ font-size: 90%;
+ overflow:auto;
+ }
+ table { border-collapse: collapse; }
+ td, th { vertical-align: top; }
+ th.right { text-align:center; }
+ th.left { text-align:center; }
+ th.center { text-align:center; }
+ td.right { text-align:right; }
+ td.left { text-align:left; }
+ td.center { text-align:center; }
+ dt { font-weight: bold; }
+ div.figure { padding: 0.5em; }
+ div.figure p { text-align: center; }
+ div.inlinetask {
+ padding:10px;
+ border:2px solid gray;
+ margin:10px;
+ background: #ffffcc;
+ }
+ textarea { overflow-x: auto; }
+ .linenr { font-size:smaller }
+ .code-highlighted {background-color:#ffff00;}
+ .org-info-js_info-navigation { border-style:none; }
+ #org-info-js_console-label { font-size:10px; font-weight:bold;
+ white-space:nowrap; }
+ .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
+ font-weight:bold; }
+ /*]]>*/-->
+</style>
+<script type="text/javascript">
+<!--/*--><![CDATA[/*><!--*/
+ function CodeHighlightOn(elem, id)
+ {
+ var target = document.getElementById(id);
+ if(null != target) {
+ elem.cacheClassElem = elem.className;
+ elem.cacheClassTarget = target.className;
+ target.className = "code-highlighted";
+ elem.className = "code-highlighted";
+ }
+ }
+ function CodeHighlightOff(elem, id)
+ {
+ var target = document.getElementById(id);
+ if(elem.cacheClassElem)
+ elem.className = elem.cacheClassElem;
+ if(elem.cacheClassTarget)
+ target.className = elem.cacheClassTarget;
+ }
+/*]]>*///-->
+</script>
+
+</head>
+<body>
+
+<div id="preamble">
+
+</div>
+
+<div id="content">
+<h1 class="title">OpenFOAM README for version 2.1.0</h1>
+
+
+<div id="table-of-contents">
+<h2>Table of Contents</h2>
+<div id="text-table-of-contents">
+<ul>
+<li><a href="#sec-1">1 About OpenFOAM </a></li>
+<li><a href="#sec-2">2 Copyright </a></li>
+<li><a href="#sec-3">3 Download and installation instructions </a></li>
+<li><a href="#sec-4">4 Release notes </a></li>
+<li><a href="#sec-5">5 Documentation </a></li>
+<li><a href="#sec-6">6 Support and development contracts </a></li>
+<li><a href="#sec-7">7 Reporting Bugs in OpenFOAM </a></li>
+</ul>
+</div>
+</div>
+
+<div id="outline-container-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> About OpenFOAM </h2>
+<div class="outline-text-2" id="text-1">
+
+<p> OpenFOAM is a free, open source computational fluid dynamcis (CFD) software
+ package released by the OpenFOAM Foundation. It has a large user base across
+ most areas of engineering and science, from both commercial and academic
+ organisations. OpenFOAM has an extensive range of features to solve anything
+ from complex fluid flows involving chemical reactions, turbulence and heat
+ transfer, to solid dynamics and electro-magnetics.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2" class="outline-2">
+<h2 id="sec-2"><span class="section-number-2">2</span> Copyright </h2>
+<div class="outline-text-2" id="text-2">
+
+<p> OpenFOAM is free software: you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option) any later
+ version. See the file <code>COPYING</code> in this directory or
+ <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>, for a description of the GNU General Public
+ License terms under which you can copy the files.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-3" class="outline-2">
+<h2 id="sec-3"><span class="section-number-2">3</span> Download and installation instructions </h2>
+<div class="outline-text-2" id="text-3">
+
+<ul>
+<li>To install from this Git repository, see
+ <a href="http://www.OpenFOAM.org/git.php">http://www.OpenFOAM.org/git.php</a>
+</li>
+</ul>
+
+
+</div>
+
+</div>
+
+<div id="outline-container-4" class="outline-2">
+<h2 id="sec-4"><span class="section-number-2">4</span> Release notes </h2>
+<div class="outline-text-2" id="text-4">
+
+<p> <a href="http://www.OpenFOAM.com/version2.1.0">http://www.OpenFOAM.com/version2.1.0</a>
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-5" class="outline-2">
+<h2 id="sec-5"><span class="section-number-2">5</span> Documentation </h2>
+<div class="outline-text-2" id="text-5">
+
+<p> <a href="http://www.OpenFOAM.com/docs">http://www.OpenFOAM.com/docs</a>
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-6" class="outline-2">
+<h2 id="sec-6"><span class="section-number-2">6</span> Support and development contracts </h2>
+<div class="outline-text-2" id="text-6">
+
+<p> <a href="http://www.OpenFOAM.com/support">http://www.OpenFOAM.com/support</a>
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-7" class="outline-2">
+<h2 id="sec-7"><span class="section-number-2">7</span> Reporting Bugs in OpenFOAM </h2>
+<div class="outline-text-2" id="text-7">
+
+<p> <a href="http://www.OpenFOAM.com/bugs">http://www.OpenFOAM.com/bugs</a>
+</p></div>
+</div>
+</div>
+
+<div id="postamble">
+<p class="date">Date: 19th December 2011</p>
+<p class="creator">Org version 7.7 with Emacs version 23</p>
+<a href="http://validator.w3.org/check?uri=referer">Validate XHTML 1.0</a>
+
+</div>
+</body>
+</html>
40 README.org
@@ -0,0 +1,40 @@
+# -*- mode: org; -*-
+#
+#+TITLE: OpenFOAM README for version 2.1.0
+#+AUTHOR: The OpenFOAM Foundation
+#+DATE: 19th December 2011
+#+LINK: http://www.openfoam.org
+#+OPTIONS: author:nil ^:{}
+# Copyright (c) 2011 OpenFOAM Foundation.
+
+* About OpenFOAM
+ OpenFOAM is a free, open source computational fluid dynamcis (CFD) software
+ package released by the OpenFOAM Foundation. It has a large user base across
+ most areas of engineering and science, from both commercial and academic
+ organisations. OpenFOAM has an extensive range of features to solve anything
+ from complex fluid flows involving chemical reactions, turbulence and heat
+ transfer, to solid dynamics and electro-magnetics.
+
+* Copyright
+ OpenFOAM is free software: you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option) any later
+ version. See the file =COPYING= in this directory or
+ [[http://www.gnu.org/licenses/]], for a description of the GNU General Public
+ License terms under which you can copy the files.
+
+* Download and installation instructions
+ + To install from this Git repository, see
+ [[http://www.OpenFOAM.org/git.php]]
+
+* Release notes
+ [[http://www.OpenFOAM.com/version2.1.0]]
+
+* Documentation
+ [[http://www.OpenFOAM.com/docs]]
+
+* Support and development contracts
+ [[http://www.OpenFOAM.com/support]]
+
+* Reporting Bugs in OpenFOAM
+ [[http://www.OpenFOAM.com/bugs]]
22 applications/Allwmake
@@ -0,0 +1,22 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # run from this directory
+
+wmakeCheckPwd "$WM_PROJECT_DIR/applications" || {
+ echo "Error: Current directory is not \$WM_PROJECT_DIR/applications"
+ echo " The environment variables are inconsistent with the installation."
+ echo " Check the OpenFOAM entries in your dot-files and source them."
+ exit 1
+}
+
+[ -n "$FOAM_EXT_LIBBIN" ] || {
+ echo "Error: FOAM_EXT_LIBBIN not set"
+ echo " Check the OpenFOAM entries in your dot-files and source them."
+ exit 1
+}
+
+set -x
+
+wmake all utilities
+wmake all solvers
+
+# ----------------------------------------------------------------- end-of-file
3  applications/solvers/DNS/dnsFoam/Make/files
@@ -0,0 +1,3 @@
+dnsFoam.C
+
+EXE = $(FOAM_APPBIN)/dnsFoam
10 applications/solvers/DNS/dnsFoam/Make/options
@@ -0,0 +1,10 @@
+EXE_INC = \
+ -I$(LIB_SRC)/finiteVolume/lnInclude \
+ -I$(LIB_SRC)/randomProcesses/lnInclude \
+ -I$(LIB_SRC)/sampling/lnInclude
+
+EXE_LIBS = \
+ -lfiniteVolume \
+ -lrandomProcesses \
+ -lsampling \
+ -lmeshTools
29 applications/solvers/DNS/dnsFoam/createFields.H
@@ -0,0 +1,29 @@
+ Info<< "Reading field p\n" << endl;
+ volScalarField p
+ (
+ IOobject
+ (
+ "p",
+ runTime.timeName(),
+ mesh,
+ IOobject::MUST_READ,
+ IOobject::AUTO_WRITE
+ ),
+ mesh
+ );
+
+ Info<< "Reading field U\n" << endl;
+ volVectorField U
+ (
+ IOobject
+ (
+ "U",
+ runTime.timeName(),
+ mesh,
+ IOobject::MUST_READ,
+ IOobject::AUTO_WRITE
+ ),
+ mesh
+ );
+
+ #include "createPhi.H"
132 applications/solvers/DNS/dnsFoam/dnsFoam.C
@@ -0,0 +1,132 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
+
+Application
+ dnsFoam
+
+Description
+ Direct numerical simulation solver for boxes of isotropic turbulence
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+#include "Kmesh.H"
+#include "UOprocess.H"
+#include "fft.H"
+#include "calcEk.H"
+#include "graph.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+int main(int argc, char *argv[])
+{
+ #include "setRootCase.H"
+
+ #include "createTime.H"
+ #include "createMeshNoClear.H"
+ #include "readTransportProperties.H"
+ #include "createFields.H"
+ #include "readTurbulenceProperties.H"
+ #include "initContinuityErrs.H"
+
+ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ Info<< nl << "Starting time loop" << endl;
+
+ while (runTime.loop())
+ {
+ Info<< "Time = " << runTime.timeName() << nl << endl;
+
+ #include "readPISOControls.H"
+
+ force.internalField() = ReImSum
+ (
+ fft::reverseTransform
+ (
+ K/(mag(K) + 1.0e-6) ^ forceGen.newField(), K.nn()
+ )
+ );
+
+ #include "globalProperties.H"
+
+ fvVectorMatrix UEqn
+ (
+ fvm::ddt(U)
+ + fvm::div(phi, U)
+ - fvm::laplacian(nu, U)
+ ==
+ force
+ );
+
+ solve(UEqn == -fvc::grad(p));
+
+
+ // --- PISO loop
+
+ for (int corr=1; corr<=1; corr++)
+ {
+ volScalarField rAU(1.0/UEqn.A());
+
+ U = rAU*UEqn.H();
+ phi = (fvc::interpolate(U) & mesh.Sf())
+ + fvc::ddtPhiCorr(rAU, U, phi);
+
+ fvScalarMatrix pEqn
+ (
+ fvm::laplacian(rAU, p) == fvc::div(phi)
+ );
+
+ pEqn.solve();
+
+ phi -= pEqn.flux();
+
+ #include "continuityErrs.H"
+
+ U -= rAU*fvc::grad(p);
+ U.correctBoundaryConditions();
+ }
+
+ runTime.write();
+
+ if (runTime.outputTime())
+ {
+ calcEk(U, K).write
+ (
+ runTime.path()/"graphs"/runTime.timeName(),
+ "Ek",
+ runTime.graphFormat()
+ );
+ }
+
+ Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
+ << " ClockTime = " << runTime.elapsedClockTime() << " s"
+ << nl << endl;
+ }
+
+ Info<< "End\n" << endl;
+
+ return 0;
+}
+
+
+// ************************************************************************* //
20 applications/solvers/DNS/dnsFoam/globalProperties.H
@@ -0,0 +1,20 @@
+ Info<< "k("
+ << runTime.timeName()
+ << ") = "
+ << 3.0/2.0*average(magSqr(U)).value() << endl;
+
+ Info<< "epsilon("
+ << runTime.timeName()
+ << ") = "
+ << (
+ 0.5*nu*average
+ (
+ magSqr(fvc::grad(U) + fvc::grad(U)().T())
+ )
+ ).value() << endl;
+
+ Info<< "U.f("
+ << runTime.timeName()
+ << ") = "
+ << 181.0*average(U & force).value() << endl;
+
18 applications/solvers/DNS/dnsFoam/readTransportProperties.H
@@ -0,0 +1,18 @@
+ Info<< "Reading transportProperties\n" << endl;
+
+ IOdictionary transportProperties
+ (
+ IOobject
+ (
+ "transportProperties",
+ runTime.constant(),
+ mesh,
+ IOobject::MUST_READ_IF_MODIFIED,
+ IOobject::NO_WRITE
+ )
+ );
+
+ dimensionedScalar nu
+ (
+ transportProperties.lookup("nu")
+ );
21 applications/solvers/DNS/dnsFoam/readTurbulenceProperties.H
@@ -0,0 +1,21 @@
+ Info<< "Reading turbulenceProperties\n" << endl;
+
+ IOdictionary turbulenceProperties
+ (
+ IOobject
+ (
+ "turbulenceProperties",
+ runTime.constant(),
+ mesh,
+ IOobject::MUST_READ_IF_MODIFIED,
+ IOobject::NO_WRITE
+ )
+ );
+
+ volVectorField force
+ (
+ U/dimensionedScalar("dt", dimTime, runTime.deltaTValue())
+ );
+
+ Kmesh K(mesh);
+ UOprocess forceGen(K, runTime.deltaTValue(), turbulenceProperties);
3  applications/solvers/basic/laplacianFoam/Make/files
@@ -0,0 +1,3 @@
+laplacianFoam.C
+
+EXE = $(FOAM_APPBIN)/laplacianFoam
3  applications/solvers/basic/laplacianFoam/Make/options
@@ -0,0 +1,3 @@
+EXE_INC = -I$(LIB_SRC)/finiteVolume/lnInclude
+
+EXE_LIBS = -lfiniteVolume
37 applications/solvers/basic/laplacianFoam/createFields.H
@@ -0,0 +1,37 @@
+ Info<< "Reading field T\n" << endl;
+
+ volScalarField T
+ (
+ IOobject
+ (
+ "T",
+ runTime.timeName(),
+ mesh,
+ IOobject::MUST_READ,
+ IOobject::AUTO_WRITE
+ ),
+ mesh
+ );
+
+
+ Info<< "Reading transportProperties\n" << endl;
+
+ IOdictionary transportProperties
+ (
+ IOobject
+ (
+ "transportProperties",
+ runTime.constant(),
+ mesh,
+ IOobject::MUST_READ_IF_MODIFIED,
+ IOobject::NO_WRITE
+ )
+ );
+
+
+ Info<< "Reading diffusivity DT\n" << endl;
+
+ dimensionedScalar DT
+ (
+ transportProperties.lookup("DT")
+ );
76 applications/solvers/basic/laplacianFoam/laplacianFoam.C
@@ -0,0 +1,76 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
+
+Application
+ laplacianFoam
+
+Description
+ Solves a simple Laplace equation, e.g. for thermal diffusion in a solid.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+#include "simpleControl.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+int main(int argc, char *argv[])
+{
+ #include "setRootCase.H"
+
+ #include "createTime.H"
+ #include "createMesh.H"
+ #include "createFields.H"
+
+ simpleControl simple(mesh);
+
+ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ Info<< "\nCalculating temperature distribution\n" << endl;
+
+ while (simple.loop())
+ {
+ Info<< "Time = " << runTime.timeName() << nl << endl;
+
+ while (simple.correctNonOrthogonal())
+ {
+ solve
+ (
+ fvm::ddt(T) - fvm::laplacian(DT, T)
+ );
+ }
+
+ #include "write.H"
+
+ Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
+ << " ClockTime = " << runTime.elapsedClockTime() << " s"
+ << nl << endl;
+ }
+
+ Info<< "End\n" << endl;
+
+ return 0;
+}
+
+
+// ************************************************************************* //
46 applications/solvers/basic/laplacianFoam/write.H
@@ -0,0 +1,46 @@
+ if (runTime.outputTime())
+ {
+ volVectorField gradT(fvc::grad(T));
+
+ volScalarField gradTx
+ (
+ IOobject
+ (
+ "gradTx",
+ runTime.timeName(),
+ mesh,
+ IOobject::NO_READ,
+ IOobject::AUTO_WRITE
+ ),
+ gradT.component(vector::X)
+ );
+
+ volScalarField gradTy
+ (
+ IOobject
+ (
+ "gradTy",
+ runTime.timeName(),
+ mesh,
+ IOobject::NO_READ,
+ IOobject::AUTO_WRITE
+ ),
+ gradT.component(vector::Y)
+ );
+
+ volScalarField gradTz
+ (
+ IOobject
+ (
+ "gradTz",
+ runTime.timeName(),
+ mesh,
+ IOobject::NO_READ,
+ IOobject::AUTO_WRITE
+ ),
+ gradT.component(vector::Z)
+ );
+
+
+ runTime.write();
+ }
3  applications/solvers/basic/potentialFoam/Make/files
@@ -0,0 +1,3 @@
+potentialFoam.C
+
+EXE = $(FOAM_APPBIN)/potentialFoam
4 applications/solvers/basic/potentialFoam/Make/options
@@ -0,0 +1,4 @@
+EXE_INC = \
+ -I$(LIB_SRC)/finiteVolume/lnInclude
+
+EXE_LIBS = -lfiniteVolume
62 applications/solvers/basic/potentialFoam/createFields.H
@@ -0,0 +1,62 @@
+ Info<< "Reading field p\n" << endl;
+ volScalarField p
+ (
+ IOobject
+ (
+ "p",
+ runTime.timeName(),
+ mesh,
+ IOobject::MUST_READ,
+ IOobject::NO_WRITE
+ ),
+ mesh
+ );
+
+ p = dimensionedScalar("zero", p.dimensions(), 0.0);
+
+
+ Info<< "Reading field U\n" << endl;
+ volVectorField U
+ (
+ IOobject
+ (
+ "U",
+ runTime.timeName(),
+ mesh,
+ IOobject::MUST_READ,
+ IOobject::AUTO_WRITE
+ ),
+ mesh
+ );
+
+ U = dimensionedVector("0", U.dimensions(), vector::zero);
+
+ surfaceScalarField phi
+ (
+ IOobject
+ (
+ "phi",
+ runTime.timeName(),
+ mesh,
+ IOobject::NO_READ,
+ IOobject::AUTO_WRITE
+ ),
+ fvc::interpolate(U) & mesh.Sf()
+ );
+
+ if (args.optionFound("initialiseUBCs"))
+ {
+ U.correctBoundaryConditions();
+ phi = fvc::interpolate(U) & mesh.Sf();
+ }
+
+
+ label pRefCell = 0;
+ scalar pRefValue = 0.0;
+ setRefCell
+ (
+ p,
+ potentialFlow,
+ pRefCell,
+ pRefValue
+ );
123 applications/solvers/basic/potentialFoam/potentialFoam.C
@@ -0,0 +1,123 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
+
+Application
+ potentialFoam
+
+Description
+ Simple potential flow solver which can be used to generate starting fields
+ for full Navier-Stokes codes.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+int main(int argc, char *argv[])
+{
+ argList::addBoolOption("writep", "write the final pressure field");
+ argList::addBoolOption
+ (
+ "initialiseUBCs",
+ "initialise U boundary conditions"
+ );
+
+ #include "setRootCase.H"
+ #include "createTime.H"
+ #include "createMesh.H"
+ #include "readControls.H"
+ #include "createFields.H"
+
+ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ Info<< nl << "Calculating potential flow" << endl;
+
+ // Since solver contains no time loop it would never execute
+ // function objects so do it ourselves.
+ runTime.functionObjects().start();
+
+ adjustPhi(phi, U, p);
+
+ for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
+ {
+ fvScalarMatrix pEqn
+ (
+ fvm::laplacian
+ (
+ dimensionedScalar
+ (
+ "1",
+ dimTime/p.dimensions()*dimensionSet(0, 2, -2, 0, 0),
+ 1
+ ),
+ p
+ )
+ ==
+ fvc::div(phi)
+ );
+
+ pEqn.setReference(pRefCell, pRefValue);
+ pEqn.solve();
+
+ if (nonOrth == nNonOrthCorr)
+ {
+ phi -= pEqn.flux();
+ }
+ }
+
+ Info<< "continuity error = "
+ << mag(fvc::div(phi))().weightedAverage(mesh.V()).value()
+ << endl;
+
+ U = fvc::reconstruct(phi);
+ U.correctBoundaryConditions();
+
+ Info<< "Interpolated U error = "
+ << (sqrt(sum(sqr((fvc::interpolate(U) & mesh.Sf()) - phi)))
+ /sum(mesh.magSf())).value()
+ << endl;
+
+ // Force the write
+ U.write();
+ phi.write();
+
+ if (args.optionFound("writep"))
+ {
+ p.write();
+ }
+
+ runTime.functionObjects().end();
+
+ Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
+ << " ClockTime = " << runTime.elapsedClockTime() << " s"
+ << nl << endl;
+
+ Info<< "End\n" << endl;
+
+ return 0;
+}
+
+
+// ************************************************************************* //
5 applications/solvers/basic/potentialFoam/readControls.H
@@ -0,0 +1,5 @@
+ const dictionary& potentialFlow =
+ mesh.solutionDict().subDict("potentialFlow");
+
+ const int nNonOrthCorr =
+ potentialFlow.lookupOrDefault<int>("nNonOrthogonalCorrectors", 0);
3  applications/solvers/basic/scalarTransportFoam/Make/files
@@ -0,0 +1,3 @@
+scalarTransportFoam.C
+
+EXE = $(FOAM_APPBIN)/scalarTransportFoam
4 applications/solvers/basic/scalarTransportFoam/Make/options
@@ -0,0 +1,4 @@
+EXE_INC = \
+ -I$(LIB_SRC)/finiteVolume/lnInclude
+
+EXE_LIBS = -lfiniteVolume
55 applications/solvers/basic/scalarTransportFoam/createFields.H
@@ -0,0 +1,55 @@
+ Info<< "Reading field T\n" << endl;
+
+ volScalarField T
+ (
+ IOobject
+ (
+ "T",
+ runTime.timeName(),
+ mesh,
+ IOobject::MUST_READ,
+ IOobject::AUTO_WRITE
+ ),
+ mesh
+ );
+
+
+ Info<< "Reading field U\n" << endl;
+
+ volVectorField U
+ (
+ IOobject
+ (
+ "U",
+ runTime.timeName(),
+ mesh,
+ IOobject::MUST_READ,
+ IOobject::AUTO_WRITE
+ ),
+ mesh
+ );
+
+
+ Info<< "Reading transportProperties\n" << endl;
+
+ IOdictionary transportProperties
+ (
+ IOobject
+ (
+ "transportProperties",
+ runTime.constant(),
+ mesh,
+ IOobject::MUST_READ_IF_MODIFIED,
+ IOobject::NO_WRITE
+ )
+ );
+
+
+ Info<< "Reading diffusivity D\n" << endl;
+
+ dimensionedScalar DT
+ (
+ transportProperties.lookup("DT")
+ );
+
+# include "createPhi.H"
75 applications/solvers/basic/scalarTransportFoam/scalarTransportFoam.C
@@ -0,0 +1,75 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
+
+Application
+ scalarTransportFoam
+
+Description
+ Solves a transport equation for a passive scalar
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+#include "simpleControl.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+int main(int argc, char *argv[])
+{
+ #include "setRootCase.H"
+ #include "createTime.H"
+ #include "createMesh.H"
+ #include "createFields.H"
+
+ simpleControl simple(mesh);
+
+ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ Info<< "\nCalculating scalar transport\n" << endl;
+
+ #include "CourantNo.H"
+
+ while (simple.loop())
+ {
+ Info<< "Time = " << runTime.timeName() << nl << endl;
+
+ while (simple.correctNonOrthogonal())
+ {
+ solve
+ (
+ fvm::ddt(T)
+ + fvm::div(phi, T)
+ - fvm::laplacian(DT, T)
+ );
+ }
+
+ runTime.write();
+ }
+
+ Info<< "End\n" << endl;
+
+ return 0;
+}
+
+
+// ************************************************************************* //
33 applications/solvers/combustion/PDRFoam/Make/files
@@ -0,0 +1,33 @@
+XiModels/XiModel/XiModel.C
+XiModels/XiModel/XiModelNew.C
+XiModels/fixed/fixed.C
+XiModels/algebraic/algebraic.C
+XiModels/transport/transport.C
+
+XiModels/XiEqModels/XiEqModel/XiEqModel.C
+XiModels/XiEqModels/XiEqModel/XiEqModelNew.C
+XiModels/XiEqModels/Gulder/Gulder.C
+XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.C
+XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.C
+XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.C
+
+XiModels/XiGModels/XiGModel/XiGModel.C
+XiModels/XiGModels/XiGModel/XiGModelNew.C
+XiModels/XiGModels/KTS/KTS.C
+XiModels/XiGModels/instabilityG/instabilityG.C
+
+PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C
+
+PDRModels/dragModels/PDRDragModel/PDRDragModel.C
+PDRModels/dragModels/PDRDragModel/PDRDragModelNew.C
+PDRModels/dragModels/basic/basic.C
+
+PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.C
+PDRModels/XiGModels/basicXiSubG/basicXiSubG.C
+
+laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.C
+
+/*PDRFoamAutoRefine.C*/
+PDRFoam.C
+
+EXE = $(FOAM_APPBIN)/PDRFoam
31 applications/solvers/combustion/PDRFoam/Make/options
@@ -0,0 +1,31 @@
+EXE_INC = \
+ -IXiModels/XiModel \
+ -IXiModels/XiEqModels/XiEqModel \
+ -IXiModels/XiGModels/XiGModel \
+ -IPDRModels/dragModels/PDRDragModel \
+ -IlaminarFlameSpeed/SCOPE \
+ -I$(LIB_SRC)/engine/lnInclude \
+ -I$(LIB_SRC)/sampling/lnInclude \
+ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
+ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
+ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
+ -I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
+ -I$(LIB_SRC)/turbulenceModels \
+ -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \
+ -I$(LIB_SRC)/finiteVolume/lnInclude \
+ -I$(LIB_SRC)/dynamicFvMesh/lnInclude \
+ -I$(LIB_SRC)/dynamicMesh/lnInclude \
+ -I$(LIB_SRC)/meshTools/lnInclude \
+ -I$(LIB_SRC)/triSurface/lnInclude
+
+EXE_LIBS = \
+ -lengine \
+ -lmeshTools \
+ -lcompressibleTurbulenceModel \
+ -lcompressibleRASModels \
+ -lbasicThermophysicalModels \
+ -lreactionThermophysicalModels \
+ -lspecie \
+ -llaminarFlameSpeedModels \
+ -lfiniteVolume \
+ -ldynamicFvMesh
156 applications/solvers/combustion/PDRFoam/PDRFoam.C
@@ -0,0 +1,156 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
+
+Application
+ PDRFoam
+
+Description
+ Solver for compressible premixed/partially-premixed combustion with
+ turbulence modelling.
+
+ Combusting RANS code using the b-Xi two-equation model.
+ Xi may be obtained by either the solution of the Xi transport
+ equation or from an algebraic exression. Both approaches are
+ based on Gulder's flame speed correlation which has been shown
+ to be appropriate by comparison with the results from the
+ spectral model.
+
+ Strain effects are incorporated directly into the Xi equation
+ but not in the algebraic approximation. Further work need to be
+ done on this issue, particularly regarding the enhanced removal rate
+ caused by flame compression. Analysis using results of the spectral
+ model will be required.
+
+ For cases involving very lean Propane flames or other flames which are
+ very strain-sensitive, a transport equation for the laminar flame
+ speed is present. This equation is derived using heuristic arguments
+ involving the strain time scale and the strain-rate at extinction.
+ the transport velocity is the same as that for the Xi equation.
+
+ For large flames e.g. explosions additional modelling for the flame
+ wrinkling due to surface instabilities may be applied.
+
+ PDR (porosity/distributed resistance) modelling is included to handle
+ regions containing blockages which cannot be resolved by the mesh.
+
+ The fields used by this solver are:
+
+ betav: Volume porosity
+ Lobs: Average diameter of obstacle in cell (m)
+ Aw: Obstacle surface area per unit volume (1/m)
+ CR: Drag tensor (1/m)
+ CT: Turbulence generation parameter (1/m)
+ Nv: Number of obstacles in cell per unit volume (m^-2)
+ nsv: Tensor whose diagonal indicates the number to substract from
+ Nv to get the number of obstacles crossing the flow in each
+ direction.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fvCFD.H"
+#include "hhuCombustionThermo.H"
+#include "RASModel.H"
+#include "laminarFlameSpeed.H"
+#include "XiModel.H"
+#include "PDRDragModel.H"
+#include "ignition.H"
+#include "Switch.H"
+#include "bound.H"
+#include "pimpleControl.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+int main(int argc, char *argv[])
+{
+ #include "setRootCase.H"
+
+ #include "createTime.H"
+ #include "createMesh.H"
+ #include "readCombustionProperties.H"
+ #include "readGravitationalAcceleration.H"
+ #include "createFields.H"
+ #include "initContinuityErrs.H"
+ #include "readTimeControls.H"
+ #include "compressibleCourantNo.H"
+ #include "setInitialDeltaT.H"
+
+ pimpleControl pimple(mesh);
+
+ scalar StCoNum = 0.0;
+
+ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ Info<< "\nStarting time loop\n" << endl;
+
+ while (runTime.run())
+ {
+ #include "readTimeControls.H"
+ #include "compressibleCourantNo.H"
+ #include "setDeltaT.H"
+
+ runTime++;
+ Info<< "\n\nTime = " << runTime.timeName() << endl;
+
+ #include "rhoEqn.H"
+
+ // --- Pressure-velocity PIMPLE corrector loop
+ while (pimple.loop())
+ {
+ #include "UEqn.H"
+
+ // --- Pressure corrector loop
+ while (pimple.correct())
+ {
+ #include "bEqn.H"
+ #include "ftEqn.H"
+ #include "huEqn.H"
+ #include "hEqn.H"
+
+ if (!ign.ignited())
+ {
+ hu == h;
+ }
+
+ #include "pEqn.H"
+ }
+
+ if (pimple.turbCorr())
+ {
+ turbulence->correct();