Esempio n. 1
0
Foam::tmp<Foam::volScalarField>
Foam::kineticTheoryModels::granularPressureModels::Chao::
granularPressureCoeffPrime
(
    const phaseModel& phase1,
    const phaseModel& phase2,
    const volScalarField& Theta1,
    const volScalarField& Theta2,
    const volScalarField& g0,
    const volScalarField& g0prime,
    const dimensionedScalar& e
) const
{
    volScalarField m0
    (
        constant::mathematical::pi/6.0
       *(phase1.rho()*pow3(phase1.d()) + phase2.rho()*pow3(phase2.d()))
    );
    tmp<volScalarField> pCoeff
    (
        2.0*phase2*constant::mathematical::pi/(3.0*m0)*phase1.rho()
       *phase2.rho()*(1.0 + e)*pow3((phase1.d() + phase2.d())/2.0)
       *(Theta1 + Theta2 + 0.2*magSqr(phase1.U() - phase2.U()))
    );

    if (&phase1 == &phase2)
    {
        return pCoeff*(2.0*g0 + phase1*g0prime);

    }
    else
    {
        return pCoeff*(g0 + phase1*g0prime);
    }
}
Esempio n. 2
0
Foam::tmp<Foam::volScalarField>
Foam::kineticTheoryModels::radialModels::Gao::g0
(
    const phaseModel& phase1,
    const phaseModel& phase2
) const
{
    volScalarField g1(1.0/(1.0 - cbrt(min(phase1/phase1.alphaMax(), 0.999))));
    volScalarField g2(1.0/(1.0 - cbrt(min(phase2/phase2.alphaMax(), 0.999))));

    return (phase1.d()*g1 + phase2.d()*g2)/(phase1.d() + phase2.d());
}
Esempio n. 3
0
Foam::tmp<Foam::volScalarField>
Foam::kineticTheoryModels::radialModels::Gao::g0prime
(
    const phaseModel& phase1,
    const phaseModel& phase2
) const
{
    volScalarField aByaMax
    (
        cbrt(min(max(phase1, scalar(1e-3))/phase1.alphaMax(), 0.999))
    );

    return
        (1.0/(3.0*phase1.alphaMax()))/sqr(aByaMax - sqr(aByaMax))
       *phase1.d()/(phase1.d() + phase2.d());
}