diff --git a/META-INFO/.gitignore b/META-INFO/.gitignore new file mode 100644 index 0000000000..eddcd95786 --- /dev/null +++ b/META-INFO/.gitignore @@ -0,0 +1,5 @@ +# Do not track build information +build-info + +# Do not track time-stamp +time-stamp diff --git a/META-INFO/README.md b/META-INFO/README.md new file mode 100644 index 0000000000..3ac2880aa3 --- /dev/null +++ b/META-INFO/README.md @@ -0,0 +1,84 @@ +# META-INFO + +Meta-information is for OpenFOAM internal use only. + +Do not rely on any files or any file contents in this directory, +or even the existence of this directory. + +The format, content and meaning may be changed at anytime without +notice. + +The information is provided here for internal documentation purposes. + +## api-info + +This file and its contents are to be tracked by git. + +- File content (api) generated by wmakeBuildInfo from OPENFOAM define + in `wmake/rules/General/general` + +- File content (patch) is manually generated content. + + +## build-info + +This file is *never* to be tracked by git, but may be present in shipped +source archives. + +- File content (branch, build) generated by wmakeBuildInfo from git + information and cached from previous wmake (api) + + +## Content types + +### api + +- 4-digit year-month (YYMM) integer corresponding to the major + release or in unusual cases an intermediate release. + +- Format is year-month, as per `date +%y%m`. + Eg, `1712` for the Dec-2017 release. + + +### patch + +- 6-digit year-month-day (YYMMDD) integer corresponding to a patch-level + for the given **released** API. + Development branches have a patch value of `0`. + +- Format is year-month-day, as per `date +%y%m%d`. + +- The first release is by definition unpatched, and thus carries + a patch value of `0`. If this release were to be patched the following + day, the patch level would jump accordingly. + +The patch value is only meaningful together with the api value. + + +## Flow of information + +Changes in the build information must be reflected in information +available in the final binaries. Conversely, it is necessary for later +distributions to have a record of the same information. + +| property | source | saved | +|-----------|---------------------------|------------| +| api | wmake/rules | api-info | +| patch | manual (api-info) | build-info | +| branch | git | build-info | +| build | git | build-info | + + +The command `wmakeBuildInfo -check` is used to determine if +the saved information needs synchronization. The command +`wmakeBuildInfo -update` preforms the synchronitzation. + + +## Notes + +The saved information is split into two separate files. The `api-info` +contains more permanent information, whereas the `build-info` is more +transient in nature. + +---- +2018-11-29 diff --git a/META-INFO/api-info b/META-INFO/api-info new file mode 100644 index 0000000000..dc411fce20 --- /dev/null +++ b/META-INFO/api-info @@ -0,0 +1,2 @@ +api=1811 +patch=0 diff --git a/applications/test/decomposePar/Test-decomposePar.C b/applications/test/decomposePar/Test-decomposePar.C index 26673bf6b1..4747c4e9ca 100644 --- a/applications/test/decomposePar/Test-decomposePar.C +++ b/applications/test/decomposePar/Test-decomposePar.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2017 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2017-2018 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,32 +22,13 @@ License along with OpenFOAM. If not, see . Application - decomposePar + Test-decomposePar Group grpParallelUtilities Description - Automatically decomposes a mesh and fields of a case for parallel - execution of OpenFOAM. - -Usage - \b decomposePar [OPTION] - - Options: - - \par -region \ - Decompose named region. Does not check for existence of processor*. - - - \par -allRegions - Decompose all regions in regionProperties. Does not check for - existence of processor*. - - - \par -constant - - - \par -time xxx:yyy - Override controlDict settings and decompose selected times. Does not - re-decompose the mesh i.e. does not handle moving mesh or changing - mesh cases. + Like decomposePar -dry-run, but with additional options \*---------------------------------------------------------------------------*/ @@ -65,7 +46,10 @@ int main(int argc, char *argv[]) { argList::addNote ( - "decompose a mesh and fields of a case for parallel execution" + "Special-purpose version of decomposePar with additional" + " -domain and -method options." + " The '-dry-run' and '-cellDist' are implicit.\n" + "NB: The -domain/-method overrides may not work very well with regions" ); argList::noParallel(); @@ -79,33 +63,38 @@ int main(int argc, char *argv[]) argList::addBoolOption ( "allRegions", - "operate on all regions in regionProperties" + "Operate on all regions in regionProperties" ); argList::addBoolOption ( "verbose", - "more information about decomposition" + "Additional verbosity" ); argList::addOption ( "domains", "N", - "override numberOfSubdomains" + "Override numberOfSubdomains" ); argList::addOption ( "method", "name", - "override method" + "Override decomposition method" ); + + // These are implicit so just ignore them + argList::ignoreOptionCompat({"dry-run", 0}, false); + argList::ignoreOptionCompat({"cellDist", 0}, false); + // Include explicit constant options, have zero from time range timeSelector::addOptions(true, false); #include "setRootCase.H" - const bool region = args.found("region"); + const bool optRegion = args.found("region"); const bool allRegions = args.found("allRegions"); const bool verbose = args.found("verbose"); diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C index c9fee2364d..7ec94c7e6f 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C @@ -964,6 +964,13 @@ Foam::label Foam::checkGeometry : patchWriter() ); + // Currently only do AMI checks + + const fileName outputDir + ( + mesh.time().globalPath()/functionObject::outputPrefix/"checkMesh" + ); + forAll(pbm, patchi) { if (isA(pbm[patchi])) @@ -1021,8 +1028,11 @@ Foam::label Foam::checkGeometry { wr.write ( - functionObject::outputPrefix, - "src_" + tmName, + outputDir, + ( + "patch" + Foam::name(cpp.index()) + + "-src_" + tmName + ), meshedSurfRef ( mergedPoints, @@ -1054,8 +1064,11 @@ Foam::label Foam::checkGeometry { wr.write ( - functionObject::outputPrefix, - "src_" + tmName, + outputDir, + ( + "patch" + Foam::name(cpp.index()) + + "-src_" + tmName + ), meshedSurfRef ( mergedPoints, @@ -1109,8 +1122,11 @@ Foam::label Foam::checkGeometry { wr.write ( - functionObject::outputPrefix, - "tgt_" + tmName, + outputDir, + ( + "patch" + Foam::name(cpp.index()) + + "-tgt_" + tmName + ), meshedSurfRef ( mergedPoints, @@ -1142,8 +1158,11 @@ Foam::label Foam::checkGeometry { wr.write ( - functionObject::outputPrefix, - "tgt_" + tmName, + outputDir, + ( + "patch" + Foam::name(cpp.index()) + + "-tgt_" + tmName + ), meshedSurfRef ( mergedPoints, diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkTools.C b/applications/utilities/mesh/manipulation/checkMesh/checkTools.C index 76e4fc5b18..29d2437767 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkTools.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkTools.C @@ -284,8 +284,7 @@ void Foam::mergeAndWrite fileName outputDir ( - set.time().path() - / (Pstream::parRun() ? ".." : "") + set.time().globalPath() / functionObject::outputPrefix / mesh.pointsInstance() / set.name() @@ -378,8 +377,7 @@ void Foam::mergeAndWrite fileName outputDir ( - set.time().path() - / (Pstream::parRun() ? ".." : "") + set.time().globalPath() / functionObject::outputPrefix / mesh.pointsInstance() / set.name() @@ -478,8 +476,7 @@ void Foam::mergeAndWrite // postProcessing/