From beadd7fe18b0cee7ff9d787447c6ab5bf37c8186 Mon Sep 17 00:00:00 2001 From: asanaz Date: Wed, 25 Apr 2018 14:14:54 +0200 Subject: [PATCH] modified rBaseMirror to read fields from dataBase directory --- .../utilities/rBaseMirror/mirrorProperties | 2 ++ .../rBaseMirrorScalar/createFields.H | 14 +-------- .../rBaseMirrorScalar/rBaseMirrorScalar.C | 29 ++++++++++++------- .../rBaseMirrorScalar/readFields.H | 13 +++++++++ .../rBaseMirror/rBaseMirrorVec/createFields.H | 14 +-------- .../rBaseMirrorVec/rBaseMirrorVec.C | 28 +++++++++++------- .../rBaseMirror/rBaseMirrorVec/readFields.H | 14 +++++++++ 7 files changed, 66 insertions(+), 48 deletions(-) create mode 100644 applications/utilities/rBaseMirror/rBaseMirrorScalar/readFields.H create mode 100644 applications/utilities/rBaseMirror/rBaseMirrorVec/readFields.H diff --git a/applications/utilities/rBaseMirror/mirrorProperties b/applications/utilities/rBaseMirror/mirrorProperties index 317c9f3c..255f58c7 100755 --- a/applications/utilities/rBaseMirror/mirrorProperties +++ b/applications/utilities/rBaseMirror/mirrorProperties @@ -33,5 +33,7 @@ refDirection (1 0 0); fieldName U; +dataBaseName dataBase; + // ************************************************************************* // diff --git a/applications/utilities/rBaseMirror/rBaseMirrorScalar/createFields.H b/applications/utilities/rBaseMirror/rBaseMirrorScalar/createFields.H index b14c566d..91f96378 100644 --- a/applications/utilities/rBaseMirror/rBaseMirrorScalar/createFields.H +++ b/applications/utilities/rBaseMirror/rBaseMirrorScalar/createFields.H @@ -14,16 +14,4 @@ vector refDirection(mirrorProperties.lookup("refDirection")); word fieldName(mirrorProperties.lookup("fieldName")); - - volScalarField origField - ( - IOobject - ( - fieldName, - runTime.timeName(), - mesh, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE - ), - mesh - ); + word dataBaseName(mirrorProperties.lookup("dataBaseName")); diff --git a/applications/utilities/rBaseMirror/rBaseMirrorScalar/rBaseMirrorScalar.C b/applications/utilities/rBaseMirror/rBaseMirrorScalar/rBaseMirrorScalar.C index 671da414..c4b6be3e 100644 --- a/applications/utilities/rBaseMirror/rBaseMirrorScalar/rBaseMirrorScalar.C +++ b/applications/utilities/rBaseMirror/rBaseMirrorScalar/rBaseMirrorScalar.C @@ -55,15 +55,19 @@ int main(int argc, char *argv[]) Info << "end time = " << runTime.endTime() << endl; // check which time directories are present - - instantList timeDirs = timeSelector::select0(runTime, args); - - runTime.setTime(timeDirs[0], 0); + // instantList timeDirs = timeSelector::select0(runTime, args); + // runTime.setTime(timeDirs[0], 0); #include "createMesh.H" #include "createFields.H" + Foam::Time recTime(fileName(dataBaseName), "", "../system", "../constant", false); + instantList timeDirs(recTime.times()); + recTime.setTime(timeDirs[0],0); + + #include "readFields.H" + Info << fieldName << endl; volScalarField transformedField = origField; @@ -76,26 +80,29 @@ int main(int argc, char *argv[]) label shift = 0; forAll(timeDirs, timeI) { - runTime.setTime(timeDirs[timeI], timeI); - t = runTime.value(); + + if (recTime.timeName() == "constant") continue; + recTime.setTime(timeDirs[timeI], timeI); + t = recTime.value(); if(t < startTime) continue; if(t > endTime) continue; shift++; } scalar dt = origTimeRange / (shift - 1.0); - runTime.setEndTime(startTime + 2 * origTimeRange + dt); + recTime.setEndTime(startTime + 2 * origTimeRange + dt); label cellI_transformed = -1; forAll(timeDirs, timeI) { - runTime.setTime(timeDirs[timeI], timeI); - t = runTime.value(); + + recTime.setTime(timeDirs[timeI], timeI); + t = recTime.value(); if(t < startTime) continue; if(t > endTime) continue; Info << "time = " << t << ", time index = " << timeI << endl; - #include "createFields.H" + #include "readFields.H" forAll(transformedField, cellI) { @@ -115,7 +122,7 @@ int main(int argc, char *argv[]) } shiftedTimeI = timeI + shift; - t = runTime.value() + origTimeRange + dt; + t = recTime.value() + origTimeRange + dt; runTime.setTime(t, shiftedTimeI); Info << "creating transformed fields for time = " << t << ", time index = " << shiftedTimeI << endl; transformedField.write(); diff --git a/applications/utilities/rBaseMirror/rBaseMirrorScalar/readFields.H b/applications/utilities/rBaseMirror/rBaseMirrorScalar/readFields.H new file mode 100644 index 00000000..5e0d9265 --- /dev/null +++ b/applications/utilities/rBaseMirror/rBaseMirrorScalar/readFields.H @@ -0,0 +1,13 @@ + + volScalarField origField + ( + IOobject + ( + fieldName, + recTime.timePath(), + mesh, + IOobject::MUST_READ, + IOobject::NO_WRITE + ), + mesh + ); diff --git a/applications/utilities/rBaseMirror/rBaseMirrorVec/createFields.H b/applications/utilities/rBaseMirror/rBaseMirrorVec/createFields.H index 52322e57..91f96378 100644 --- a/applications/utilities/rBaseMirror/rBaseMirrorVec/createFields.H +++ b/applications/utilities/rBaseMirror/rBaseMirrorVec/createFields.H @@ -14,16 +14,4 @@ vector refDirection(mirrorProperties.lookup("refDirection")); word fieldName(mirrorProperties.lookup("fieldName")); - - volVectorField origField - ( - IOobject - ( - fieldName, - runTime.timeName(), - mesh, - IOobject::READ_IF_PRESENT, - IOobject::NO_WRITE - ), - mesh - ); + word dataBaseName(mirrorProperties.lookup("dataBaseName")); diff --git a/applications/utilities/rBaseMirror/rBaseMirrorVec/rBaseMirrorVec.C b/applications/utilities/rBaseMirror/rBaseMirrorVec/rBaseMirrorVec.C index 53879d01..c7fcb1d8 100644 --- a/applications/utilities/rBaseMirror/rBaseMirrorVec/rBaseMirrorVec.C +++ b/applications/utilities/rBaseMirror/rBaseMirrorVec/rBaseMirrorVec.C @@ -54,15 +54,19 @@ int main(int argc, char *argv[]) Info << "end time = " << runTime.endTime() << endl; // check which time directories are present - - instantList timeDirs = timeSelector::select0(runTime, args); - - runTime.setTime(timeDirs[0], 0); + //instantList timeDirs = timeSelector::select0(runTime, args); + //runTime.setTime(timeDirs[0], 0); #include "createMesh.H" #include "createFields.H" + Foam::Time recTime(fileName(dataBaseName), "", "../system", "../constant", false); + instantList timeDirs(recTime.times()); + recTime.setTime(timeDirs[0],0); + + #include "readFields.H" + Info << fieldName << endl; volVectorField transformedField = origField; @@ -75,26 +79,28 @@ int main(int argc, char *argv[]) label shift = 0; forAll(timeDirs, timeI) { - runTime.setTime(timeDirs[timeI], timeI); - t = runTime.value(); + + if (recTime.timeName() == "constant") continue; + recTime.setTime(timeDirs[timeI], timeI); + t = recTime.value(); if(t < startTime) continue; if(t > endTime) continue; shift++; } scalar dt = origTimeRange / (shift - 1.0); - runTime.setEndTime(startTime + 2 * origTimeRange + dt); + recTime.setEndTime(startTime + 2 * origTimeRange + dt); label cellI_transformed = -1; forAll(timeDirs, timeI) { - runTime.setTime(timeDirs[timeI], timeI); - t = runTime.value(); + recTime.setTime(timeDirs[timeI], timeI); + t = recTime.value(); if(t < startTime) continue; if(t > endTime) continue; Info << "time = " << t << ", time index = " << timeI << endl; - #include "createFields.H" + #include "readFields.H" forAll(transformedField, cellI) { @@ -114,7 +120,7 @@ int main(int argc, char *argv[]) } shiftedTimeI = timeI + shift; - t = runTime.value() + origTimeRange + dt; + t = recTime.value() + origTimeRange + dt; runTime.setTime(t, shiftedTimeI); Info << "creating transformed fields for time = " << t << ", time index = " << shiftedTimeI << endl; transformedField.write(); diff --git a/applications/utilities/rBaseMirror/rBaseMirrorVec/readFields.H b/applications/utilities/rBaseMirror/rBaseMirrorVec/readFields.H new file mode 100644 index 00000000..d0fef922 --- /dev/null +++ b/applications/utilities/rBaseMirror/rBaseMirrorVec/readFields.H @@ -0,0 +1,14 @@ + +volVectorField origField + ( + IOobject + ( + fieldName, + recTime.timePath(), + mesh, + IOobject::MUST_READ, + IOobject::NO_WRITE + ), + mesh + ); +