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); } }
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()); }
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()); }