Permalink
Browse files

reactingMultiphaseEulerFoam: New Euler-Euler multiphase solver

Supporting any number of phases with heat and mass transfer, phase-change and reactions
  • Loading branch information...
Henry Weller
Henry Weller committed Sep 11, 2015
1 parent 7c87973 commit cc5f67a0ff62ea10e295b27997efcba3e4954be0
Showing with 13,507 additions and 148 deletions.
  1. +1 −1 applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H
  2. +17 −17 applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
  3. +2 −2 applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
  4. +5 −5 applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.H
  5. +1 −0 applications/solvers/multiphase/reactingEulerFoam/Allwclean
  6. +1 −0 applications/solvers/multiphase/reactingEulerFoam/Allwmake
  7. +0 −1 applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options
  8. +0 −1 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options
  9. +4 −1 ...cations/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C
  10. +54 −0 ...lerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C
  11. +4 −4 ...lerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.H
  12. +24 −0 ...ase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.C
  13. +3 −0 ...ase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.H
  14. +61 −27 ...tingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C
  15. +3 −0 ...tingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H
  16. +4 −3 ...tiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C
  17. +6 −1 ...tiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H
  18. +3 −2 ...ns/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C
  19. +6 −1 ...ns/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.H
  20. +3 −2 .../multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C
  21. +6 −1 .../multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.H
  22. +4 −2 .../solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C
  23. +2 −1 .../solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H
  24. +3 −2 ...ase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C
  25. +2 −1 ...ase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.H
  26. +3 −2 ...ions/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C
  27. +6 −1 ...ions/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.H
  28. +3 −2 ...vers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.C
  29. +2 −1 ...vers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.H
  30. +2 −1 .../solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C
  31. +1 −0 .../solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H
  32. +3 −2 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C
  33. +9 −1 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
  34. +19 −6 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H
  35. +2 −0 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C
  36. +9 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwclean
  37. +9 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwmake
  38. +60 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/CourantNo.H
  39. +47 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H
  40. +3 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/files
  41. +25 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options
  42. +36 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/YEqns.H
  43. +52 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H
  44. +6 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log
  45. +3 −0 ...e/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/files
  46. +13 −0 ...reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options
  47. +70 −0 ...ltiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C
  48. +6 −0 ...ions/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/files
  49. +21 −0 ...ns/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options
  50. +146 −0 ...ctingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
  51. +215 −0 ...ctingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.H
  52. +713 −0 ...vers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C
  53. +207 −0 ...vers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H
  54. +28 −0 ...ers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystemI.H
  55. +86 −0 ...ers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystems.C
  56. +70 −0 ...s/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C
  57. +37 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/UEqns.H
  58. +447 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/pEqn.H
  59. +285 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/pEqnSave.H
  60. +143 −0 ...ns/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C
  61. +36 −0 applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/setRDeltaT.H
  62. +11 −5 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H
  63. +76 −48 applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pU/pEqn.H
  64. +1 −1 tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/fvSchemes
  65. +1 −1 tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/system/fvSchemes
  66. +1 −1 tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/system/fvSchemes
  67. +1 −1 tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/system/fvSchemes
  68. +45 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/T.air
  69. +45 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/T.water
  70. +47 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/Theta
  71. +41 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/U.air
  72. +41 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/U.water
  73. +1,926 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/alpha.air
  74. +42 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/alpha.air.org
  75. +1,926 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/alpha.water
  76. +41 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/alpha.water.org
  77. +40 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/p
  78. +41 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/0/p_rgh
  79. +22 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/g
  80. +169 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/phaseProperties
  81. +48 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/polyMesh/boundary
  82. +49 −0 ...multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.air
  83. +54 −0 ...ltiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.water
  84. +20 −0 ...als/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.air
  85. +20 −0 ...s/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/constant/turbulenceProperties.water
  86. +61 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/blockMeshDict
  87. +95 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/controlDict
  88. +63 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/fvSchemes
  89. +82 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/fvSolution
  90. +36 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/bubbleColumn/system/setFieldsDict
  91. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/U
  92. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/U.air
  93. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/U.mercury
  94. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/U.oil
  95. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/U.water
  96. +79 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/alpha.air
  97. +49 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/alpha.mercury
  98. +49 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/alpha.oil
  99. +49 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/alpha.water
  100. +47 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/alphas
  101. +59 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/0.org/p_rgh
  102. +11 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/Allclean
  103. +17 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/Allrun
  104. +22 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/constant/g
  105. +21 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/constant/motionProperties
  106. +56 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/constant/polyMesh/boundary
  107. +236 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/constant/transportProperties
  108. +21 −0 ...rials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/constant/turbulenceProperties
  109. +108 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/system/blockMeshDict
  110. +56 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/system/controlDict
  111. +45 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/system/decomposeParDict
  112. +53 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/system/fvSchemes
  113. +98 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/system/fvSolution
  114. +65 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phase/system/setFieldsDict
  115. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/U
  116. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/U.air
  117. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/U.mercury
  118. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/U.oil
  119. +51 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/U.water
  120. +79 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/alpha.air
  121. +49 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/alpha.mercury
  122. +49 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/alpha.oil
  123. +49 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/alpha.water
  124. +47 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/alphas
  125. +59 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/0.org/p_rgh
  126. +11 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/Allclean
  127. +19 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/Allrun
  128. +22 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/constant/g
  129. +21 −0 ...rials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/constant/motionProperties
  130. +56 −0 ...ials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/constant/polyMesh/boundary
  131. +236 −0 ...ls/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/constant/transportProperties
  132. +21 −0 ...s/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/constant/turbulenceProperties
  133. +108 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/system/blockMeshDict
  134. +56 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/system/controlDict
  135. +45 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/system/decomposeParDict
  136. +53 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/system/fvSchemes
  137. +98 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/system/fvSolution
  138. +65 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/damBreak4phaseFine/system/setFieldsDict
  139. +48 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/T.air
  140. +48 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/T.mercury
  141. +48 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/T.oil
  142. +48 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/T.water
  143. +44 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/Theta
  144. +46 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/U.air
  145. +46 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/U.mercury
  146. +46 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/U.oil
  147. +46 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/U.water
  148. +44 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/alpha.air
  149. +44 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/alpha.mercury
  150. +44 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/alpha.oil
  151. +44 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/alpha.water
  152. +46 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/p
  153. +46 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/0/p_rgh
  154. +12 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/Allrun
  155. +31 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/MRFProperties
  156. +22 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/g
  157. +456 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/phaseProperties
  158. +50 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/polyMesh/boundary
  159. +49 −0 ...ultiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.air
  160. +53 −0 ...phase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.mercury
  161. +53 −0 ...ultiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.oil
  162. +54 −0 ...tiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/thermophysicalProperties.water
  163. +20 −0 ...ls/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.air
  164. +20 −0 ...ultiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.mercury
  165. +20 −0 ...ls/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.oil
  166. +20 −0 .../multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/constant/turbulenceProperties.water
  167. +6 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/makeMesh
  168. +818 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/system/blockMeshDict.m4
  169. +55 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/system/controlDict
  170. +58 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/system/fvSchemes
  171. +109 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/system/fvSolution
  172. +32 −0 tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/mixerVessel2D/system/topoSetDict
@@ -18,7 +18,7 @@ forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
new fvVectorMatrix
(
fvm::ddt(alpha, U)
+ fvm::div(phase.phiAlpha(), U)
+ fvm::div(phase.alphaPhi(), U)
+ (alpha/phase.rho())*fluid.Cvm(phase)*
(
@@ -61,18 +61,18 @@ void Foam::multiphaseSystem::calcAlphas()
void Foam::multiphaseSystem::solveAlphas()
{
PtrList<surfaceScalarField> phiAlphaCorrs(phases_.size());
PtrList<surfaceScalarField> alphaPhiCorrs(phases_.size());
int phasei = 0;
forAllIter(PtrDictionary<phaseModel>, phases_, iter)
{
phaseModel& phase1 = iter();
volScalarField& alpha1 = phase1;
phase1.phiAlpha() =
phase1.alphaPhi() =
dimensionedScalar("0", dimensionSet(0, 3, -1, 0, 0), 0);
phiAlphaCorrs.set
alphaPhiCorrs.set
(
phasei,
new surfaceScalarField
@@ -87,7 +87,7 @@ void Foam::multiphaseSystem::solveAlphas()
)
);
surfaceScalarField& phiAlphaCorr = phiAlphaCorrs[phasei];
surfaceScalarField& alphaPhiCorr = alphaPhiCorrs[phasei];
forAllIter(PtrDictionary<phaseModel>, phases_, iter2)
{
@@ -118,7 +118,7 @@ void Foam::multiphaseSystem::solveAlphas()
"div(phir," + alpha2.name() + ',' + alpha1.name() + ')'
);
phiAlphaCorr += fvc::flux
alphaPhiCorr += fvc::flux
(
-fvc::flux(-phir, phase2, phirScheme),
phase1,
@@ -127,21 +127,21 @@ void Foam::multiphaseSystem::solveAlphas()
}
// Ensure that the flux at inflow BCs is preserved
forAll(phiAlphaCorr.boundaryField(), patchi)
forAll(alphaPhiCorr.boundaryField(), patchi)
{
fvsPatchScalarField& phiAlphaCorrp =
phiAlphaCorr.boundaryField()[patchi];
fvsPatchScalarField& alphaPhiCorrp =
alphaPhiCorr.boundaryField()[patchi];
if (!phiAlphaCorrp.coupled())
if (!alphaPhiCorrp.coupled())
{
const scalarField& phi1p = phase1.phi().boundaryField()[patchi];
const scalarField& alpha1p = alpha1.boundaryField()[patchi];
forAll(phiAlphaCorrp, facei)
forAll(alphaPhiCorrp, facei)
{
if (phi1p[facei] < 0)
{
phiAlphaCorrp[facei] = alpha1p[facei]*phi1p[facei];
alphaPhiCorrp[facei] = alpha1p[facei]*phi1p[facei];
}
}
}
@@ -153,7 +153,7 @@ void Foam::multiphaseSystem::solveAlphas()
geometricOneField(),
phase1,
phi_,
phiAlphaCorr,
alphaPhiCorr,
zeroField(),
zeroField(),
1,
@@ -164,7 +164,7 @@ void Foam::multiphaseSystem::solveAlphas()
phasei++;
}
MULES::limitSum(phiAlphaCorrs);
MULES::limitSum(alphaPhiCorrs);
volScalarField sumAlpha
(
@@ -184,19 +184,19 @@ void Foam::multiphaseSystem::solveAlphas()
{
phaseModel& phase1 = iter();
surfaceScalarField& phiAlpha = phiAlphaCorrs[phasei];
phiAlpha += upwind<scalar>(mesh_, phi_).flux(phase1);
surfaceScalarField& alphaPhi = alphaPhiCorrs[phasei];
alphaPhi += upwind<scalar>(mesh_, phi_).flux(phase1);
MULES::explicitSolve
(
geometricOneField(),
phase1,
phiAlpha,
alphaPhi,
zeroField(),
zeroField()
);
phase1.phiAlpha() += phiAlpha;
phase1.alphaPhi() += alphaPhi;
Info<< phase1.name() << " volume fraction, min, max = "
<< phase1.weightedAverage(mesh_.V()).value()
@@ -100,11 +100,11 @@ Foam::phaseModel::phaseModel
mesh,
dimensionedVector("0", dimVelocity/dimTime, vector::zero)
),
phiAlpha_
alphaPhi_
(
IOobject
(
IOobject::groupName("phiAlpha", phaseName),
IOobject::groupName("alphaPhi", phaseName),
mesh.time().timeName(),
mesh
),
@@ -80,7 +80,7 @@ class phaseModel
volVectorField DDtU_;
//- Volumetric flux of the phase
surfaceScalarField phiAlpha_;
surfaceScalarField alphaPhi_;
//- Volumetric flux for the phase
autoPtr<surfaceScalarField> phiPtr_;
@@ -198,14 +198,14 @@ public:
return phiPtr_();
}
const surfaceScalarField& phiAlpha() const
const surfaceScalarField& alphaPhi() const
{
return phiAlpha_;
return alphaPhi_;
}
surfaceScalarField& phiAlpha()
surfaceScalarField& alphaPhi()
{
return phiAlpha_;
return alphaPhi_;
}
//- Correct the phase properties
@@ -6,5 +6,6 @@ wclean libso phaseSystems
wclean libso interfacialModels
wclean libso interfacialCompositionModels
reactingTwoPhaseEulerFoam/Allwclean
reactingMultiphaseEulerFoam/Allwclean
# ----------------------------------------------------------------- end-of-file
@@ -8,5 +8,6 @@ wmake libso phaseSystems
wmake libso interfacialModels
wmake libso interfacialCompositionModels
reactingTwoPhaseEulerFoam/Allwmake
reactingMultiphaseEulerFoam/Allwmake
# ----------------------------------------------------------------- end-of-file
@@ -21,7 +21,6 @@ EXE_INC = \
-I$(LIB_SRC)/meshTools/lnInclude
LIB_LIBS = \
-lreactingTwoPhaseSystem \
-lfluidThermophysicalModels \
-lreactionThermophysicalModels \
-lspecie
@@ -10,7 +10,6 @@ EXE_INC = \
-I$(LIB_SRC)/meshTools/lnInclude
LIB_LIBS = \
-lreactingTwoPhaseSystem \
-lcompressibleTransportModels \
-lfluidThermophysicalModels \
-lspecie
@@ -132,7 +132,10 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const
volScalarField muAlphaI
(
alpha1*rho1*nu1*alpha2*rho2*nu2
/(alpha1*rho1*nu1 + alpha2*rho2*nu2)
/(
max(alpha1, pair_.phase1().residualAlpha())*rho1*nu1
+ max(alpha2, pair_.phase2().residualAlpha())*rho2*nu2
)
);
volScalarField ReI
@@ -164,6 +164,60 @@ Foam::HeatAndMassTransferPhaseSystem<BasePhaseSystem>::dmdt
}
template<class BasePhaseSystem>
Foam::tmp<Foam::volScalarField>
Foam::HeatAndMassTransferPhaseSystem<BasePhaseSystem>::dmdt
(
const Foam::phaseModel& phase
) const
{
tmp<volScalarField> tdmdt
(
new volScalarField
(
IOobject
(
IOobject::groupName("dmdt", phase.name()),
this->mesh_.time().timeName(),
this->mesh_
),
this->mesh_,
dimensionedScalar("zero", dimDensity/dimTime, 0)
)
);
forAllConstIter
(
phaseSystem::phasePairTable,
this->phasePairs_,
phasePairIter
)
{
const phasePair& pair(phasePairIter());
if (pair.ordered())
{
continue;
}
const phaseModel* phase1 = &pair.phase1();
const phaseModel* phase2 = &pair.phase2();
forAllConstIter(phasePair, pair, iter)
{
if (phase1 == &phase)
{
tdmdt() += this->dmdt(pair);
}
Swap(phase1, phase2);
}
}
return tdmdt;
}
template<class BasePhaseSystem>
Foam::autoPtr<Foam::phaseSystem::momentumTransferTable>
Foam::HeatAndMassTransferPhaseSystem<BasePhaseSystem>::momentumTransfer() const
@@ -121,10 +121,10 @@ public:
// Member Functions
//- Return the interfacial mass flow rate
virtual tmp<volScalarField> dmdt
(
const phasePairKey& key
) const;
virtual tmp<volScalarField> dmdt(const phasePairKey& key) const;
//- Return the total interfacial mass transfer rate for phase
virtual tmp<volScalarField> dmdt(const phaseModel& phase) const;
//- Return the momentum transfer matrices
virtual autoPtr<phaseSystem::momentumTransferTable>
@@ -85,6 +85,30 @@ Foam::HeatTransferPhaseSystem<BasePhaseSystem>::dmdt
}
template<class BasePhaseSystem>
Foam::tmp<Foam::volScalarField>
Foam::HeatTransferPhaseSystem<BasePhaseSystem>::dmdt
(
const Foam::phaseModel& phase
) const
{
return tmp<volScalarField>
(
new volScalarField
(
IOobject
(
IOobject::groupName("dmdt", phase.name()),
this->mesh().time().timeName(),
this->mesh().time()
),
this->mesh(),
dimensionedScalar("zero", dimDensity/dimTime, 0)
)
);
}
template<class BasePhaseSystem>
Foam::autoPtr<Foam::phaseSystem::heatTransferTable>
Foam::HeatTransferPhaseSystem<BasePhaseSystem>::heatTransfer() const
@@ -95,6 +95,9 @@ public:
const phasePairKey& key
) const;
//- Return the total interfacial mass transfer rate for phase
virtual tmp<volScalarField> dmdt(const phaseModel& phase) const;
//- Return the heat transfer matrices
virtual autoPtr<phaseSystem::heatTransferTable>
heatTransfer() const;
Oops, something went wrong.

0 comments on commit cc5f67a

Please sign in to comment.