diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C index e8dd45fa11..0c4177ea42 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -73,34 +73,23 @@ Foam::tmp Foam::GidaspowErgunWenYu::K volScalarField bp(pow(beta, -2.65)); volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3))); - volScalarField Cds(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re); - - forAll(Re, celli) - { - if (Re[celli] > 1000.0) - { - Cds[celli] = 0.44; - } - } + volScalarField Cds + ( + neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) + + pos(Re - 1000)*0.44 + ); // Wen and Yu (1966) - tmp tKWenYu = 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d(); - volScalarField& KWenYu = tKWenYu(); - - // Ergun - forAll (beta, cellj) - { - if (beta[cellj] <= 0.8) - { - KWenYu[cellj] = - 150.0*alpha_[cellj]*phaseb_.nu().value()*phaseb_.rho().value() - /sqr(beta[cellj]*phasea_.d().value()) - + 1.75*phaseb_.rho().value()*Ur[cellj] - /(beta[cellj]*phasea_.d().value()); - } - } - - return tKWenYu; + return + ( + pos(beta - 0.8) + *(0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d()) + + neg(beta - 0.8) + *( + 150.0*alpha_*phaseb_.nu()*phaseb_.rho()/(sqr(beta*phasea_.d())) + + 1.75*phaseb_.rho()*Ur/(beta*phasea_.d()) + ) + ); } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C index b9a7032759..8b8a284068 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -72,15 +72,12 @@ Foam::tmp Foam::GidaspowSchillerNaumann::K volScalarField bp(pow(beta, -2.65)); volScalarField Re(max(beta*Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3))); - volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re); - forAll(Re, celli) - { - if (Re[celli] > 1000.0) - { - Cds[celli] = 0.44; - } - } + volScalarField Cds + ( + neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) + + pos(Re - 1000)*0.44 + ); return 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d(); } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C index 0e69c8b58e..abbfcec43c 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -69,15 +69,12 @@ Foam::tmp Foam::SchillerNaumann::K ) const { volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3))); - volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re); - forAll(Re, celli) - { - if (Re[celli] > 1000.0) - { - Cds[celli] = 0.44; - } - } + volScalarField Cds + ( + neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) + + pos(Re - 1000)*0.44 + ); return 0.75*Cds*phaseb_.rho()*Ur/phasea_.d(); } diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C index d852bc0a8e..1b7780f8de 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -70,15 +70,11 @@ Foam::tmp Foam::SyamlalOBrien::K { volScalarField beta(max(scalar(1) - alpha_, scalar(1.0e-6))); volScalarField A(pow(beta, 4.14)); - volScalarField B(0.8*pow(beta, 1.28)); - - forAll (beta, celli) - { - if (beta[celli] > 0.85) - { - B[celli] = pow(beta[celli], 2.65); - } - } + volScalarField B + ( + neg(beta - 0.85)*(0.8*pow(beta, 1.28)) + + pos(beta - 0.85)*(pow(beta, 2.65)) + ); volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3))); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C index 00979db1e2..f34437f41e 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -72,15 +72,11 @@ Foam::tmp Foam::WenYu::K volScalarField bp(pow(beta, -2.65)); volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3))); - volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re); - - forAll(Re, celli) - { - if (Re[celli] > 1000.0) - { - Cds[celli] = 0.44; - } - } + volScalarField Cds + ( + neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) + + pos(Re - 1000)*0.44 + ); return 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d(); }