diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.H b/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.H
index c89d8dc6c9..335012c868 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiEqModels/basicXiSubXiEq/basicXiSubXiEq.H
@@ -23,12 +23,42 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- basicSubGrid
+ Foam::XiEqModels::basicSubGrid
Description
Basic sub-grid obstacle flame-wrinking enhancement factor model.
Details supplied by J Puttock 2/7/06.
+ Sub-grid flame area generation
+
+ \f$ n = N - \hat{\dwea{\vec{U}}}.n_{s}.\hat{\dwea{\vec{U}}} \f$
+ \f$ n_{r} = \sqrt{n} \f$
+
+ where:
+
+ \f$ \hat{\dwea{\vec{U}}} = \dwea{\vec{U}} / \vert \dwea{\vec{U}}
+ \vert \f$
+
+ \f$ b = \hat{\dwea{\vec{U}}}.B.\hat{\dwea{\vec{U}}} / n_{r} \f$
+
+ where:
+
+ \f$ B \f$ is the file "B".
+
+ \f$ N \f$ is the file "N".
+
+ \f$ n_{s} \f$ is the file "ns".
+
+ The flame area enhancement factor \f$ \Xi_{sub} \f$ is expected to
+ approach:
+
+ \f[
+ \Xi_{{sub}_{eq}} =
+ 1 + max(2.2 \sqrt{b}, min(0.34 \frac{\vert \dwea{\vec{U}}
+ \vert}{{\vec{U}}^{'}}, 1.6)) \times min(\frac{n}{4}, 1)
+ \f]
+
+
SourceFiles
basicSubGrid.C
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H
index 01a6d7cb11..d844dca34e 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H
@@ -23,12 +23,30 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- basicSubGrid
+ Foam::XiGModel::basicSubGrid
+
Description
+
Basic sub-grid obstacle flame-wrinking generation rate coefficient model.
Details supplied by J Puttock 2/7/06.
+ \f$ G_{sub} \f$ denotes the generation coefficient and it is given by
+
+ \f[
+ G_{sub} = k_{1} /frac{\vert \dwea{\vec{U}} \vert}{L_{obs}}
+ \frac{/Xi_{{sub}_{eq}}-1}{/Xi_{sub}}
+ \f]
+
+ and the removal:
+
+ \f[ - k_{1} /frac{\vert \dwea{\vec{U}} \vert}{L_{sub}}
+ \frac{\Xi_{sub}-1}{\Xi_{sub}} \f]
+
+ Finally, \f$ G_{sub} \f$ is added to generation rate \f$ G_{in} \f$
+ due to the turbulence.
+
+
SourceFiles
basicSubGrid.C
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
index 3448d1166c..7177fca847 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- PDRDragModel
+ Foam::PDRDragModel
Description
Base-class for sub-grid obstacle drag models.
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.H b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.H
index ceb75ff827..889cd57fd6 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.H
@@ -23,12 +23,56 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- basic
+ Foam::PDRDragModels::basic
Description
Basic sub-grid obstacle drag model.
Details supplied by J Puttock 2/7/06.
+ Sub-grid drag term
+
+ The resistance term (force per unit of volume) is given by:
+
+ \f[
+ R = -\frac{1}{2} \rho \vert \dwea{\vec{U}} \vert \dwea{\vec{U}}.D
+ \f]
+
+ where:
+
+ \f$ D \f$ is the tensor field "CR" in \f$ m^{-1} \f$
+
+ This is term is treated implicitly in UEqn.H
+
+ Sub-grid turbulence generation
+
+ The turbulence source term \f$ G_{R} \f$ occurring in the
+ \f$ \kappa-\epsilon \f$ equations for the generation of turbulence due
+ to interaction with unresolved obstacles :
+
+ \f$ G_{R} = C_{s}\beta_{\nu}
+ \mu_{eff} A_{w}^{2}(\dwea{\vec{U}}-\dwea{\vec{U}_{s}})^2 + \frac{1}{2}
+ \rho \vert \dwea{\vec{U}} \vert \dwea{\vec{U}}.T.\dwea{\vec{U}} \f$
+
+ where:
+
+ \f$ C_{s} \f$ = 1
+
+ \f$ \beta_{\nu} \f$ is the volume porosity (file "betav").
+
+ \f$ \mu_{eff} \f$ is the effective viscosity.
+
+ \f$ A_{w}^{2}\f$ is the obstacle surface area per unit of volume
+ (file "Aw").
+
+ \f$ \dwea{\vec{U}_{s}} \f$ is the slip velocity and is considered
+ \f$ \frac{1}{2}. \dwea{\vec{U}} \f$.
+
+ \f$ T \f$ is a tensor in the file CT.
+
+ The term \f$ G_{R} \f$ is treated explicitly in the \f$ \kappa-\epsilon
+ \f$ Eqs in the PDRkEpsilon.C file.
+
+
SourceFiles
basic.C
@@ -40,7 +84,6 @@ SourceFiles
#include "PDRDragModel.H"
#include "XiEqModel.H"
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
index 15d52e7269..b370c0b035 100644
--- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
+++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H
@@ -23,10 +23,20 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- PDRkEpsilon
+ Foam::compressible::RASModels::PDRkEpsilon
Description
- Standard k-epsilon turbulence model.
+ Standard k-epsilon turbulence model with additional source terms
+ corresponding to PDR basic drag model (basic.H)
+
+ The turbulence source term \f$ G_{R} \f$ appears in the
+ \f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to
+ interaction with unresolved obstacles.
+
+ In the \f$ \epsilon \f$ equation \f$ C_{1} G_{R} \f$ is added as a source
+ term.
+
+ In the \f$ \kappa \f$ equation \f$ G_{R} \f$ is added as a source term.
SourceFiles
PDRkEpsilon.C
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.H
index d8bc58b170..c361e81946 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/Gulder/Gulder.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- Gulder
+ Foam::XiEqModels::Gulder
Description
Simple Gulder model for XiEq based on Gulders correlation
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.H
index b9a45ffb63..589060895c 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEBlendXiEq/SCOPEBlendXiEq.H
@@ -23,10 +23,10 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- SCOPEBlend
+ Foam::XiEqModels::SCOPEBlend
Description
-
+
SourceFiles
SCOPEBlend.C
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H
index b2b2b35edf..e8c4dea23c 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- SCOPEXiEq
+ Foam::XiEqModel::SCOPEXiEq
Description
Simple SCOPEXiEq model for XiEq based on SCOPEXiEqs correlation
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
index 2c35877f5e..9cbdcbe3da 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- XiEqModel
+ Foam::XiEqModel
Description
Base-class for all XiEq models used by the b-XiEq combustion model.
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.H
index 455635dc08..b57cda5e28 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/instabilityXiEq/instabilityXiEq.H
@@ -23,10 +23,10 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- instability
+ Foam::XiEqModels::instability
Description
-
+
SourceFiles
instability.C
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.H b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.H
index 8884c00deb..93562557e9 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/KTS/KTS.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- KTS
+ Foam::XiGModels::KTS
Description
Simple Kolmogorov time-scale model for the flame-wrinling generation rate.
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
index 908dc3a623..803644261e 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- XiGModel
+ Foam::XiGModel
Description
Base-class for all Xi generation models used by the b-Xi combustion model.
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.H b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.H
index 596e86229b..fa6935382c 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/instabilityG/instabilityG.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- instabilityG
+ Foam::XiGModels::instabilityG
Description
Flame-surface instabilityG flame-wrinking generation rate coefficient model.
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
index 13fa58a53e..2447263f7b 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H
@@ -23,10 +23,61 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- XiModel
+ Foam::XiModel
Description
Base-class for all Xi models used by the b-Xi combustion model.
+ See Technical Report SH/RE/01R for details on the PDR modelling.
+
+ Xi is given through an algebraic expression (algebraic.H),
+ by solving a transport equation (transport.H) or a fixed value (fixed.H).
+ See report TR/HGW/10 for details on the Weller two equations model.
+
+ In the algebraic and transport methods \f$\Xi_{eq}\f$ is calculated in
+ similar way. In the algebraic approach, \f$\Xi_{eq}\f$ is the value used in
+ the \f$ b \f$ transport equation.
+
+ \f$\Xi_{eq}\f$ is calculated as follows:
+
+ \f$\Xi_{eq} = 1 + (1 + 2\Xi_{coeff}(0.5 - \dwea{b}))(\Xi^* - 1)\f$
+
+ where:
+
+ \f$ \dwea{b} \f$ is the regress variable.
+
+ \f$ \Xi^* \f$ is the total equilibrium wrinkling combining the effects
+ of the flame inestability and turbulence interaction and is given by
+
+ \f[
+ \Xi^* = \frac {R}{R - G_\eta - G_{in}}
+ \f]
+
+ where:
+
+ \f$ G_\eta \f$ is the generation rate of wrinkling due to turbulence
+ interaction.
+
+ \f$ G_{in} = \kappa \rho_{u}/\rho_{b} \f$ is the generation
+ rate due to the flame inestability.
+
+ By adding the removal rates of the two effects:
+
+ \f[
+ R = G_\eta \frac{\Xi_{\eta_{eq}}}{\Xi_{\eta_{eq}} - 1}
+ + G_{in} \frac{\Xi_{{in}_{eq}}}{\Xi_{{in}_{eq}} - 1}
+ \f]
+
+ where:
+
+ \f$ R \f$ is the total removal.
+
+ \f$ G_\eta \f$ is a model constant.
+
+ \f$ \Xi_{\eta_{eq}} \f$ is the flame wrinkling due to turbulence.
+
+ \f$ \Xi_{{in}_{eq}} \f$ is the equilibrium level of the flame wrinkling
+ generated by inestability. It is a constant (default 2.5).
+
SourceFiles
XiModel.C
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.H b/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.H
index 9da38cf00d..70fde4a510 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/algebraic/algebraic.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- algebraic
+ Foam::XiModels::algebraic
Description
Simple algebraic model for Xi based on Gulders correlation
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.H b/applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.H
index 64c44fdff4..3a9919259d 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/fixed/fixed.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- fixed
+ Foam::XiModels::fixed
Description
Fixed value model for Xi.
diff --git a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
index db2a7255aa..3023ce272f 100644
--- a/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
+++ b/applications/solvers/combustion/PDRFoam/XiModels/transport/transport.H
@@ -23,7 +23,7 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- transport
+ Foam::XiModels::transport
Description
Simple transport model for Xi based on Gulders correlation
diff --git a/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.H b/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.H
index e837fefa8b..029d31f25d 100644
--- a/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.H
+++ b/applications/solvers/combustion/PDRFoam/laminarFlameSpeed/SCOPE/SCOPELaminarFlameSpeed.H
@@ -23,11 +23,38 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
- SCOPE
+ Foam::laminarFlameSpeedModels::SCOPE
Description
Laminar flame speed obtained from the SCOPE correlation.
+ Seven parameters are specified in terms of polynomial functions of
+ stoichiometry. Two polynomials are fitted, covering different parts of the
+ flammable range. If the mixture is outside the fitted range, linear
+ interpolation is used between the extreme of the polynomio and the upper or
+ lower flammable limit with the Markstein number constant.
+
+ Variations of pressure and temperature from the reference values are taken
+ into account through \f$ pexp \f$ and \f$ texp \f$
+
+ The laminar burning velocity fitting polynomial is:
+
+ \f$ Su = a_{0}(1+a_{1}x+K+..a_{i}x^{i}..+a_{6}x^{6}) (p/p_{ref})^{pexp}
+ (T/T_{ref})^{texp} \f$
+
+ where:
+
+ \f$ a_{i} \f$ are the polinomial coefficients.
+
+ \f$ pexp \f$ and \f$ texp \f$ are the pressure and temperature factors
+ respectively.
+
+ \f$ x \f$ is the equivalence ratio.
+
+ \f$ T_{ref} \f$ and \f$ p_{ref} \f$ are the temperature and pressure
+ references for the laminar burning velocity.
+
+
SourceFiles
SCOPELaminarFlameSpeed.C
@@ -125,7 +152,7 @@ class SCOPE
// corrected for temperature and pressure dependence
inline scalar Su0pTphi(scalar p, scalar Tu, scalar phi) const;
- //- Laminar flame speed evaluated from the given uniform
+ //- Laminar flame speed evaluated from the given uniform
// equivalence ratio corrected for temperature and pressure dependence
tmp Su0pTphi
(
@@ -134,7 +161,7 @@ class SCOPE
scalar phi
) const;
- //- Laminar flame speed evaluated from the given equivalence ratio
+ //- Laminar flame speed evaluated from the given equivalence ratio
// distribution corrected for temperature and pressure dependence
tmp Su0pTphi
(
@@ -144,7 +171,7 @@ class SCOPE
) const;
//- Return the Markstein number
- // evaluated from the given equivalence ratio
+ // evaluated from the given equivalence ratio
tmp Ma(const volScalarField& phi) const;
//- Construct as copy (not implemented)
diff --git a/applications/solvers/multiphase/compressibleInterDyMFoam/compressibleInterDyMFoam.C b/applications/solvers/multiphase/compressibleInterDyMFoam/compressibleInterDyMFoam.C
index 11a1809575..e24de6658d 100644
--- a/applications/solvers/multiphase/compressibleInterDyMFoam/compressibleInterDyMFoam.C
+++ b/applications/solvers/multiphase/compressibleInterDyMFoam/compressibleInterDyMFoam.C
@@ -74,24 +74,26 @@ int main(int argc, char *argv[])
Info<< "Time = " << runTime.timeName() << nl << endl;
- scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime();
-
- // Do any mesh changes
- mesh.update();
-
- if (mesh.changing())
{
- Info<< "Execution time for mesh.update() = "
- << runTime.elapsedCpuTime() - timeBeforeMeshUpdate
- << " s" << endl;
+ // Store divU from the previous mesh for the correctPhi
+ volScalarField divU = fvc::div(phi);
- gh = g & mesh.C();
- ghf = g & mesh.Cf();
- }
+ scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime();
- if (mesh.changing() && correctPhi)
- {
- //***HGW#include "correctPhi.H"
+ // Do any mesh changes
+ mesh.update();
+
+ if (mesh.changing())
+ {
+ Info<< "Execution time for mesh.update() = "
+ << runTime.elapsedCpuTime() - timeBeforeMeshUpdate
+ << " s" << endl;
+ }
+
+ if (mesh.changing() && correctPhi)
+ {
+ #include "correctPhi.H"
+ }
}
// Make the fluxes relative to the mesh motion
@@ -102,6 +104,12 @@ int main(int argc, char *argv[])
#include "meshCourantNo.H"
}
+ if (mesh.changing())
+ {
+ gh = g & mesh.C();
+ ghf = g & mesh.Cf();
+ }
+
turbulence->correct();
// --- Outer-corrector loop
diff --git a/applications/solvers/multiphase/compressibleInterDyMFoam/correctPhi.H b/applications/solvers/multiphase/compressibleInterDyMFoam/correctPhi.H
new file mode 100644
index 0000000000..4152105784
--- /dev/null
+++ b/applications/solvers/multiphase/compressibleInterDyMFoam/correctPhi.H
@@ -0,0 +1,39 @@
+{
+ #include "continuityErrs.H"
+
+ volScalarField pcorr
+ (
+ IOobject
+ (
+ "pcorr",
+ runTime.timeName(),
+ mesh,
+ IOobject::NO_READ,
+ IOobject::NO_WRITE
+ ),
+ mesh,
+ dimensionedScalar("pcorr", pd.dimensions(), 0.0),
+ pcorrTypes
+ );
+
+ dimensionedScalar rAUf("(1|A(U))", dimTime/rho.dimensions(), 1.0);
+
+ adjustPhi(phi, U, pcorr);
+
+ for(int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
+ {
+ fvScalarMatrix pcorrEqn
+ (
+ fvm::laplacian(rAUf, pcorr) == fvc::div(phi) - divU
+ );
+
+ pcorrEqn.solve();
+
+ if (nonOrth == nNonOrthCorr)
+ {
+ phi -= pcorrEqn.flux();
+ }
+ }
+
+ #include "continuityErrs.H"
+}
diff --git a/applications/solvers/multiphase/compressibleInterDyMFoam/createFields.H b/applications/solvers/multiphase/compressibleInterDyMFoam/createFields.H
index 1f579d245b..dc04fb4546 100644
--- a/applications/solvers/multiphase/compressibleInterDyMFoam/createFields.H
+++ b/applications/solvers/multiphase/compressibleInterDyMFoam/createFields.H
@@ -150,3 +150,14 @@
(
incompressible::turbulenceModel::New(U, phi, twoPhaseProperties)
);
+
+
+ wordList pcorrTypes(pd.boundaryField().types());
+
+ for (label i=0; i" << ldl << "" << nl << "sizes: ";
forAll(ldl, i)
{
- Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize();
+ Info<< " " << ldl[i].size() << "/" << ldl[i].capacity();
}
Info<< endl;
@@ -63,7 +68,7 @@ int main(int argc, char *argv[])
Info<< "" << ldl << "" << nl << "sizes: ";
forAll(ldl, i)
{
- Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize();
+ Info<< " " << ldl[i].size() << "/" << ldl[i].capacity();
}
Info<< endl;
@@ -78,10 +83,10 @@ int main(int argc, char *argv[])
{
dlA.append(i);
}
- dlA.setSize(10);
+ dlA.setCapacity(10);
Info<< "" << dlA << "" << nl << "sizes: "
- << " " << dlA.size() << "/" << dlA.allocSize() << endl;
+ << " " << dlA.size() << "/" << dlA.capacity() << endl;
dlB.transfer(dlA);
@@ -91,10 +96,54 @@ int main(int argc, char *argv[])
Info<< "Transferred to dlB" << endl;
Info<< "" << dlA << "" << nl << "sizes: "
- << " " << dlA.size() << "/" << dlA.allocSize() << endl;
+ << " " << dlA.size() << "/" << dlA.capacity() << endl;
Info<< "" << dlB << "" << nl << "sizes: "
- << " " << dlB.size() << "/" << dlB.allocSize() << endl;
+ << " " << dlB.size() << "/" << dlB.capacity() << endl;
+ // try with a normal list:
+ List