diff --git a/applications/utilities/postProcessing/velocityField/Q/Q.C b/applications/utilities/postProcessing/velocityField/Q/Q.C index 74de3084b55abc9d455d240982be6ba9acab1804..0f9c6d8d8cbd4914291f1ca2f5f6d176bf03be98 100644 --- a/applications/utilities/postProcessing/velocityField/Q/Q.C +++ b/applications/utilities/postProcessing/velocityField/Q/Q.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,6 +27,8 @@ Application Description Calculates and writes the second invariant of the velocity gradient tensor. + Q = 0.5*(sqr(tr(gradU)) - tr(((gradU)&(gradU)))) [1/s^2] + The -noWrite option just outputs the max/min values without writing the field. diff --git a/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.C b/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.C index 5ec597f9bfe0495d2e2cf3bf868d1e299999943b..b4d1e30c87598b66769131787405f64d7b360e5a 100644 --- a/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.C +++ b/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.C @@ -34,9 +34,16 @@ defineTypeNameAndDebug(Foam::pressureCoefficient, 0); // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> Foam::pressureCoefficient::rho() const +Foam::tmp<Foam::volScalarField> Foam::pressureCoefficient::rho +( + const volScalarField& p +) const { - if (rhoName_ == "rhoInf") + if (p.dimensions() == dimPressure) + { + return(obr_.lookupObject<volScalarField>(rhoName_)); + } + else { const fvMesh& mesh = refCast<const fvMesh>(obr_); @@ -51,14 +58,10 @@ Foam::tmp<Foam::volScalarField> Foam::pressureCoefficient::rho() const mesh ), mesh, - dimensionedScalar("rho", dimDensity, rhoRef_) + dimensionedScalar("rho", dimless, 1.0) ) ); } - else - { - return(obr_.lookupObject<volScalarField>(rhoName_)); - } } @@ -76,8 +79,7 @@ Foam::pressureCoefficient::pressureCoefficient obr_(obr), active_(true), pName_("p"), - rhoName_(word::null), - rhoRef_(-GREAT), + rhoName_("rho"), magUinf_(0.0) { // Check if the available mesh is an fvMesh, otherwise deactivate @@ -114,12 +116,7 @@ void Foam::pressureCoefficient::read(const dictionary& dict) if (active_) { pName_ = dict.lookupOrDefault<word>("pName", "p"); - rhoName_ = dict.lookupOrDefault<word>("rhoName", "rho"); - if (rhoName_ == "rhoInf") - { - dict.lookup("rhoInf") >> rhoRef_; - } dict.lookup("magUinf") >> magUinf_; } @@ -153,7 +150,7 @@ void Foam::pressureCoefficient::write() obr_, IOobject::NO_READ ), - p/(0.5*rho()*sqr(magUinf_)) + p/(0.5*rho(p)*sqr(magUinf_)) ); pressureCoefficient.write(); diff --git a/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.H b/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.H index aaf0ca499b35f28b86e0e874d45a4099be6055a4..5f0379aa7f520c95c163385a2690bc3091522d29 100644 --- a/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.H +++ b/src/postProcessing/functionObjects/utilities/pressureCoefficient/pressureCoefficient.H @@ -77,21 +77,15 @@ class pressureCoefficient //- Name of density field (optional) word rhoName_; - //- Reference density needed for incompressible calculations [kg/m3] - scalar rhoRef_; - //- Free stream velocity magnitude [m/s] scalar magUinf_; // Private Member Functions - //- Return rho if rhoName is specified otherwise rhoRef - tmp<volScalarField> rho() const; - - //- Return rhoRef if the pressure field is dynamic, i.e. p/rho - // otherwise return 1 - scalar rho(const volScalarField& p) const; + //- Return 1 if the pressure field is kinematic, i.e. p/rho + // otherwise return rho from database + tmp<volScalarField> rho(const volScalarField& p) const; //- Disallow default bitwise copy construct pressureCoefficient(const pressureCoefficient&);