createFields.H 2.73 KB
Newer Older
1 2 3 4
Info<< "Reading field p_rgh\n" << endl;
volScalarField p_rgh
(
    IOobject
5
    (
6 7 8 9 10 11 12 13 14 15 16 17 18
        "p_rgh",
        runTime.timeName(),
        mesh,
        IOobject::MUST_READ,
        IOobject::AUTO_WRITE
    ),
    mesh
);

Info<< "Reading field U\n" << endl;
volVectorField U
(
    IOobject
19
    (
20 21 22 23 24 25 26 27
        "U",
        runTime.timeName(),
        mesh,
        IOobject::MUST_READ,
        IOobject::AUTO_WRITE
    ),
    mesh
);
28

29
#include "createPhi.H"
30

31
// Creating e based thermo
32 33 34 35
autoPtr<twoPhaseMixtureEThermo> thermo
(
    new twoPhaseMixtureEThermo(U, phi)
);
36

37 38 39 40
// Create mixture and
Info<< "Creating temperaturePhaseChangeTwoPhaseMixture\n" << endl;
autoPtr<temperaturePhaseChangeTwoPhaseMixture> mixture =
    temperaturePhaseChangeTwoPhaseMixture::New(thermo(), mesh);
41 42


43 44
volScalarField& alpha1(thermo->alpha1());
volScalarField& alpha2(thermo->alpha2());
45

46 47
const dimensionedScalar& rho1 = thermo->rho1();
const dimensionedScalar& rho2 = thermo->rho2();
48

49 50 51 52
// Need to store rho for ddt(rho, U)
volScalarField rho
(
    IOobject
53
    (
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
        "rho",
        runTime.timeName(),
        mesh,
        IOobject::READ_IF_PRESENT,
        IOobject::AUTO_WRITE
    ),
    alpha1*rho1 + alpha2*rho2,
    alpha1.boundaryField().types()
);
rho.oldTime();

// Construct interface from alpha1 distribution
interfaceProperties interface
(
    alpha1,
    U,
    thermo->transportPropertiesDict()
);

// Construct incompressible turbulence model
autoPtr<incompressible::turbulenceModel> turbulence
(
    incompressible::turbulenceModel::New(U, phi, thermo())
);

#include "readGravitationalAcceleration.H"
#include "readhRef.H"
#include "gh.H"

volScalarField& p = thermo->p();

label pRefCell = 0;
scalar pRefValue = 0.0;
setRefCell
(
    p,
    p_rgh,
    pimple.dict(),
    pRefCell,
    pRefValue
);

if (p_rgh.needReference())
{
    p += dimensionedScalar
99
    (
100 101 102
        "p",
        p.dimensions(),
        pRefValue - getRefCellValue(p, pRefCell)
103
    );
104 105
    p_rgh = p - rho*gh;
}
106

107 108
mesh.setFluxRequired(p_rgh.name());
mesh.setFluxRequired(alpha1.name());
109

110 111
// Turbulent Prandtl number
dimensionedScalar Prt("Prt", dimless, thermo->transportPropertiesDict());
112

113 114 115
volScalarField kappaEff
(
    IOobject
116
    (
117 118 119 120 121 122 123 124 125 126 127 128 129
        "kappaEff",
        runTime.timeName(),
        mesh,
        IOobject::NO_READ,
        IOobject::NO_WRITE
    ),
    thermo->kappa()
);

Info<< "Creating field pDivU\n" << endl;
volScalarField pDivU
(
    IOobject
130
    (
131 132 133 134 135
        "pDivU",
        runTime.timeName(),
        mesh
    ),
    mesh,
136
    dimensionedScalar(p.dimensions()/dimTime, Zero)
137
);
138

139 140 141 142 143 144 145 146 147 148 149 150 151 152
// Need to store rho for ddt(rhoCp, U)
volScalarField rhoCp
(
    IOobject
    (
        "rhoCp",
        runTime.timeName(),
        mesh,
        IOobject::NO_READ,
        IOobject::NO_WRITE
    ),
    rho*thermo->Cp()
);
rhoCp.oldTime();