void Foam::yPlusLES::execute() { if (active_) { functionObjectFile::write(); const surfaceScalarField& phi = obr_.lookupObject<surfaceScalarField>(phiName_); const volVectorField& U = obr_.lookupObject<volVectorField>(UName_); const fvMesh& mesh = refCast<const fvMesh>(obr_); volScalarField& yPlusLES = const_cast<volScalarField&> ( mesh.lookupObject<volScalarField>(type()) ); Info(log_)<< type() << " " << name_ << " output:" << nl; if (phi.dimensions() == dimMass/dimTime) { calcCompressibleYPlus(mesh, U, yPlusLES); } else { calcIncompressibleYPlus(mesh, U, yPlusLES); } } }
void Foam::yPlusLES::write() { if (active_) { functionObjectFile::write(); const surfaceScalarField& phi = obr_.lookupObject<surfaceScalarField>(phiName_); const volVectorField& U = obr_.lookupObject<volVectorField>(UName_); const fvMesh& mesh = refCast<const fvMesh>(obr_); volScalarField yPlusLES ( IOobject ( "yPlusLES", mesh.time().timeName(), mesh, IOobject::NO_READ ), mesh, dimensionedScalar("0", dimless, 0.0) ); if (log_) { Info<< type() << " output:" << nl; } if (phi.dimensions() == dimMass/dimTime) { calcCompressibleYPlus(mesh, U, yPlusLES); } else { calcIncompressibleYPlus(mesh, U, yPlusLES); } if (log_) { Info<< endl; } yPlusLES.write(); } }
void Foam::yPlusRAS::write() { if (active_) { functionObjectFile::write(); const surfaceScalarField& phi = obr_.lookupObject<surfaceScalarField>(phiName_); const fvMesh& mesh = refCast<const fvMesh>(obr_); volScalarField& yPlusRAS = const_cast<volScalarField&> ( mesh.lookupObject<volScalarField>(type()) ); if (log_) { Info<< type() << " " << name_ << " output:" << nl; } if (phi.dimensions() == dimMass/dimTime) { calcCompressibleYPlus(mesh, yPlusRAS); } else { calcIncompressibleYPlus(mesh, yPlusRAS); } if (log_) { Info<< " writing field " << yPlusRAS.name() << nl << endl; } yPlusRAS.write(); } }
int main(int argc, char *argv[]) { timeSelector::addOptions(); #include "addRegionOption.H" #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select(runTime, args, "yPlus"); #include "createNamedMesh.H" forAll(timeDirs, timeI) { runTime.setTime(timeDirs[timeI], timeI); Info<< "Time = " << runTime.timeName() << endl; mesh.readUpdate(); volScalarField yPlus ( IOobject ( "yPlus", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, dimensionedScalar("yPlus", dimless, 0.0) ); IOobject UHeader ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE ); if (UHeader.headerOk()) { Info<< "Reading field U\n" << endl; volVectorField U(UHeader, mesh); if ( IOobject ( basicThermo::dictName, runTime.constant(), mesh ).headerOk() ) { calcCompressibleYPlus(mesh, runTime, U, yPlus); } else { calcIncompressibleYPlus(mesh, runTime, U, yPlus); } } else { Info<< " no U field" << endl; } Info<< "Writing yPlus to field " << yPlus.name() << nl << endl; yPlus.write(); }
int main(int argc, char *argv[]) { timeSelector::addOptions(); #include "addRegionOption.H" argList::addBoolOption ( "compressible", "calculate compressible y+" ); #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); #include "createNamedMesh.H" const bool compressible = args.optionFound("compressible"); forAll(timeDirs, timeI) { runTime.setTime(timeDirs[timeI], timeI); Info<< "Time = " << runTime.timeName() << endl; fvMesh::readUpdateState state = mesh.readUpdate(); // Wall distance if (timeI == 0 || state != fvMesh::UNCHANGED) { Info<< "Calculating wall distance\n" << endl; wallDist y(mesh, true); Info<< "Writing wall distance to field " << y.name() << nl << endl; y.write(); } volScalarField yPlus ( IOobject ( "yPlus", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, dimensionedScalar("yPlus", dimless, 0.0) ); IOobject UHeader ( "U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE ); if (UHeader.headerOk()) { Info<< "Reading field U\n" << endl; volVectorField U(UHeader, mesh); if (compressible) { calcCompressibleYPlus(mesh, runTime, U, yPlus); } else { calcIncompressibleYPlus(mesh, runTime, U, yPlus); } } else { Info<< " no U field" << endl; } Info<< "Writing yPlus to field " << yPlus.name() << nl << endl; yPlus.write(); }