1 Info<< "Reading field p\n" << endl;
15 Info<< "Reading field alpha1\n" << endl;
30 Info<< "Reading field alpha2\n" << endl;
45 Info<< "Reading field alpha3\n" << endl;
59 alpha3 == 1.0 - alpha1 - alpha2;
62 Info<< "Reading field U\n" << endl;
76 # include "createPhi.H"
78 threePhaseMixture threePhaseProperties(U, phi);
80 const dimensionedScalar& rho1 = threePhaseProperties.rho1();
81 const dimensionedScalar& rho2 = threePhaseProperties.rho2();
82 const dimensionedScalar& rho3 = threePhaseProperties.rho3();
84 dimensionedScalar D23(threePhaseProperties.lookup("D23"));
86 // Need to store rho for ddt(rho, U)
94 IOobject::READ_IF_PRESENT
96 alpha1*rho1 + alpha2*rho2 + alpha3*rho3,
97 alpha1.boundaryField().types()
103 // Initialisation does not matter because rhoPhi is reset after the
104 // alpha solution before it is used in the U equation.
105 surfaceScalarField rhoPhi
118 Info<< "Calculating field g.h\n" << endl;
119 volScalarField gh("gh", g & mesh.C());
120 surfaceScalarField ghf("gh", g & mesh.Cf());
137 scalar pdRefValue = 0.0;
138 setRefCell(pd, mesh.solutionDict().subDict("PISO"), pdRefCell, pdRefValue);
140 scalar pRefValue = 0.0;
142 if (pd.needReference())
144 pRefValue = readScalar
146 mesh.solutionDict().subDict("PISO").lookup("pRefValue")
149 p += dimensionedScalar
153 pRefValue - getRefCellValue(p, pdRefCell)
157 // Construct interface from alpha distribution
158 threePhaseInterfaceProperties interface(threePhaseProperties);
161 // Construct incompressible turbulence model
162 autoPtr<incompressible::turbulenceModel> turbulence
164 incompressible::turbulenceModel::New(U, phi, threePhaseProperties)