From 2e99db9c229a78b86be363e589f0768427221e5e Mon Sep 17 00:00:00 2001 From: mattijs Date: Wed, 23 Apr 2014 15:00:00 +0200 Subject: [PATCH 001/143] ENH: OSspecific - softlink handling (fixes #164) Links are followed in most cases, with some notable exceptions: - mv, mvBak: renames the link, not the underlying file/directory - rmDir: remove the symlink to a directory, does not recurse into the underlying directory --- applications/test/fileName/Test-fileName.C | 95 ++++++++++++++++- src/OSspecific/POSIX/POSIX.C | 100 +++++++++++++----- src/OSspecific/POSIX/fileStat.C | 16 ++- src/OSspecific/POSIX/fileStat.H | 23 +++- src/OpenFOAM/include/OSspecific.H | 38 +++++-- .../primitives/strings/fileName/fileName.C | 7 +- .../primitives/strings/fileName/fileName.H | 5 +- 7 files changed, 229 insertions(+), 55 deletions(-) diff --git a/applications/test/fileName/Test-fileName.C b/applications/test/fileName/Test-fileName.C index fb87672743..37ad0c9039 100644 --- a/applications/test/fileName/Test-fileName.C +++ b/applications/test/fileName/Test-fileName.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,6 +34,7 @@ Description #include "IOobject.H" #include "IOstreams.H" #include "OSspecific.H" +#include "POSIX.H" using namespace Foam; @@ -99,6 +100,98 @@ int main() } + + // Test some copying and deletion + { + const fileName dirA("dirA"); + const fileName lnA("lnA"); + const fileName lnB("lnB"); + const fileName dirB("dirB"); + + Foam::rmDir(dirA); + Foam::rm(lnA); + Foam::rm(lnB); + Foam::rmDir(dirB); + + + Info<< "Creating directory " << dirA << endl; + Foam::mkDir(dirA); + + + const int oldPosix = POSIX::debug; + POSIX::debug = 1; + + + // Create link and test it + Info<< "Creating softlink " << lnA << endl; + Foam::ln(dirA, lnA); + + fileName::Type lnAType = lnA.type(false); + + if (lnAType != fileName::LINK) + { + FatalErrorIn("Test-fileName") << "Type of softlink " << lnA + << " should be " << fileName::LINK + << " but is " << lnAType << exit(FatalError); + } + + fileName::Type dirAType = lnA.type(true); + + if (dirAType != fileName::DIRECTORY) + { + FatalErrorIn("Test-fileName") << "Type of what softlink " << lnA + << " points to should be " << fileName::DIRECTORY + << " but is " << dirAType << exit(FatalError); + } + + // Copy link only + { + Info<< "Copying (non-follow) softlink " << lnA << " to " << lnB + << endl; + + Foam::cp(lnA, lnB, false); + if (lnB.type(false) != fileName::LINK) + { + FatalErrorIn("Test-fileName") << "Type of softlink " << lnB + << " should be " << fileName::LINK + << " but is " << lnB.type(false) << exit(FatalError); + } + if (lnB.type(true) != fileName::DIRECTORY) + { + FatalErrorIn("Test-fileName") << "Type of softlink " << lnB + << " should be " << fileName::DIRECTORY + << " but is " << lnB.type(true) << exit(FatalError); + } + + // Delete + Foam::rm(lnB); + } + + // Copy contents of link + { + Info<< "Copying (contents of) softlink " << lnA << " to " << lnB + << endl; + + Foam::cp(lnA, lnB, true); + if (lnB.type(false) != fileName::DIRECTORY) + { + FatalErrorIn("Test-fileName") << "Type of softlink " << lnB + << " should be " << fileName::DIRECTORY + << " but is " << lnB.type(false) << exit(FatalError); + } + + // Delete + Foam::rm(lnB); + } + + POSIX::debug = oldPosix; + + Foam::rmDir(dirA); + Foam::rm(lnA); + } + + + // test findEtcFile Info<< "\n\nfindEtcFile tests:" << nl << " controlDict => " << findEtcFile("controlDict") << nl diff --git a/src/OSspecific/POSIX/POSIX.C b/src/OSspecific/POSIX/POSIX.C index 0b9a541d94..41645bf736 100644 --- a/src/OSspecific/POSIX/POSIX.C +++ b/src/OSspecific/POSIX/POSIX.C @@ -593,9 +593,9 @@ bool Foam::chMod(const fileName& name, const mode_t m) } -mode_t Foam::mode(const fileName& name) +mode_t Foam::mode(const fileName& name, const bool followLink) { - fileStat fileStatus(name); + fileStat fileStatus(name, followLink); if (fileStatus.isValid()) { return fileStatus.status().st_mode; @@ -607,14 +607,18 @@ mode_t Foam::mode(const fileName& name) } -Foam::fileName::Type Foam::type(const fileName& name) +Foam::fileName::Type Foam::type(const fileName& name, const bool followLink) { - mode_t m = mode(name); + mode_t m = mode(name, followLink); if (S_ISREG(m)) { return fileName::FILE; } + else if (S_ISLNK(m)) + { + return fileName::LINK; + } else if (S_ISDIR(m)) { return fileName::DIRECTORY; @@ -626,27 +630,39 @@ Foam::fileName::Type Foam::type(const fileName& name) } -bool Foam::exists(const fileName& name, const bool checkGzip) +bool Foam::exists +( + const fileName& name, + const bool checkGzip, + const bool followLink +) { - return mode(name) || isFile(name, checkGzip); + return mode(name, followLink) || isFile(name, checkGzip, followLink); } -bool Foam::isDir(const fileName& name) +bool Foam::isDir(const fileName& name, const bool followLink) { - return S_ISDIR(mode(name)); + return S_ISDIR(mode(name, followLink)); } -bool Foam::isFile(const fileName& name, const bool checkGzip) +bool Foam::isFile +( + const fileName& name, + const bool checkGzip, + const bool followLink +) { - return S_ISREG(mode(name)) || (checkGzip && S_ISREG(mode(name + ".gz"))); + return + S_ISREG(mode(name, followLink)) + || (checkGzip && S_ISREG(mode(name + ".gz", followLink))); } -off_t Foam::fileSize(const fileName& name) +off_t Foam::fileSize(const fileName& name, const bool followLink) { - fileStat fileStatus(name); + fileStat fileStatus(name, followLink); if (fileStatus.isValid()) { return fileStatus.status().st_size; @@ -658,9 +674,9 @@ off_t Foam::fileSize(const fileName& name) } -time_t Foam::lastModified(const fileName& name) +time_t Foam::lastModified(const fileName& name, const bool followLink) { - fileStat fileStatus(name); + fileStat fileStatus(name, followLink); if (fileStatus.isValid()) { return fileStatus.status().st_mtime; @@ -676,7 +692,8 @@ Foam::fileNameList Foam::readDir ( const fileName& directory, const fileName::Type type, - const bool filtergz + const bool filtergz, + const bool followLink ) { // Initial filename list size @@ -717,10 +734,10 @@ Foam::fileNameList Foam::readDir { fileName fName(list->d_name); - // ignore files begining with ., i.e. '.', '..' and '.*' + // ignore files beginning with ., i.e. '.', '..' and '.*' if (fName.size() && fName[0] != '.') { - word fExt = fName.ext(); + const word fExt = fName.ext(); if ( @@ -736,7 +753,7 @@ Foam::fileNameList Foam::readDir ) ) { - if ((directory/fName).type() == type) + if ((directory/fName).type(followLink) == type) { if (nEntries >= dirEntries.size()) { @@ -766,7 +783,7 @@ Foam::fileNameList Foam::readDir } -bool Foam::cp(const fileName& src, const fileName& dest) +bool Foam::cp(const fileName& src, const fileName& dest, const bool followLink) { // Make sure source exists. if (!exists(src)) @@ -777,7 +794,8 @@ bool Foam::cp(const fileName& src, const fileName& dest) fileName destFile(dest); // Check type of source file. - if (src.type() == fileName::FILE) + const fileName::Type srcType = src.type(followLink); + if (srcType == fileName::FILE) { // If dest is a directory, create the destination file name. if (destFile.type() == fileName::DIRECTORY) @@ -817,7 +835,23 @@ bool Foam::cp(const fileName& src, const fileName& dest) return false; } } - else if (src.type() == fileName::DIRECTORY) + else if (srcType == fileName::LINK) + { + // If dest is a directory, create the destination file name. + if (destFile.type() == fileName::DIRECTORY) + { + destFile = destFile/src.name(); + } + + // Make sure the destination directory exists. + if (!isDir(destFile.path()) && !mkDir(destFile.path())) + { + return false; + } + + ln(src, destFile); + } + else if (srcType == fileName::DIRECTORY) { // If dest is a directory, create the destination file name. if (destFile.type() == fileName::DIRECTORY) @@ -832,7 +866,7 @@ bool Foam::cp(const fileName& src, const fileName& dest) } // Copy files - fileNameList contents = readDir(src, fileName::FILE, false); + fileNameList contents = readDir(src, fileName::FILE, false, followLink); forAll(contents, i) { if (POSIX::debug) @@ -843,11 +877,17 @@ bool Foam::cp(const fileName& src, const fileName& dest) } // File to file. - cp(src/contents[i], destFile/contents[i]); + cp(src/contents[i], destFile/contents[i], followLink); } // Copy sub directories. - fileNameList subdirs = readDir(src, fileName::DIRECTORY); + fileNameList subdirs = readDir + ( + src, + fileName::DIRECTORY, + false, + followLink + ); forAll(subdirs, i) { if (POSIX::debug) @@ -858,9 +898,13 @@ bool Foam::cp(const fileName& src, const fileName& dest) } // Dir to Dir. - cp(src/subdirs[i], destFile); + cp(src/subdirs[i], destFile, followLink); } } + else + { + return false; + } return true; } @@ -903,7 +947,7 @@ bool Foam::ln(const fileName& src, const fileName& dst) } -bool Foam::mv(const fileName& src, const fileName& dst) +bool Foam::mv(const fileName& src, const fileName& dst, const bool followLink) { if (POSIX::debug) { @@ -914,7 +958,7 @@ bool Foam::mv(const fileName& src, const fileName& dst) if ( dst.type() == fileName::DIRECTORY - && src.type() != fileName::DIRECTORY + && src.type(followLink) != fileName::DIRECTORY ) { const fileName dstName(dst/src.name()); @@ -1016,7 +1060,7 @@ bool Foam::rmDir(const fileName& directory) { fileName path = directory/fName; - if (path.type() == fileName::DIRECTORY) + if (path.type(false) == fileName::DIRECTORY) { if (!rmDir(path)) { diff --git a/src/OSspecific/POSIX/fileStat.C b/src/OSspecific/POSIX/fileStat.C index 9826983d64..f40192f03b 100644 --- a/src/OSspecific/POSIX/fileStat.C +++ b/src/OSspecific/POSIX/fileStat.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,6 +29,7 @@ License #include #include +#include // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -38,7 +39,12 @@ Foam::fileStat::fileStat() {} -Foam::fileStat::fileStat(const fileName& fName, const unsigned int maxTime) +Foam::fileStat::fileStat +( + const fileName& fName, + const bool followLink, + const unsigned int maxTime +) { // Work on volatile volatile bool locIsValid = false; @@ -47,13 +53,13 @@ Foam::fileStat::fileStat(const fileName& fName, const unsigned int maxTime) if (!timedOut(myTimer)) { - if (::stat(fName.c_str(), &status_) != 0) + if (followLink) { - locIsValid = false; + locIsValid = (::stat(fName.c_str(), &status_) == 0); } else { - locIsValid = true; + locIsValid = (::lstat(fName.c_str(), &status_) == 0); } } diff --git a/src/OSspecific/POSIX/fileStat.H b/src/OSspecific/POSIX/fileStat.H index fe16d20470..634d0f59bd 100644 --- a/src/OSspecific/POSIX/fileStat.H +++ b/src/OSspecific/POSIX/fileStat.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -25,7 +25,7 @@ Class Foam::fileStat Description - Wrapper for stat() system call. + Wrapper for stat() and lstat() system calls. Warning on Linux (an maybe on others) a stat() of an nfs mounted (remote) @@ -79,8 +79,21 @@ public: //- Empty constructor fileStat(); - //- Construct from components - fileStat(const fileName& fName, const unsigned int maxTime=0); + //- Construct from components. + // \param fName \n + // The file name or directory name to stat. + // + // \param followLink \n + // If it is a link, get the status of the source file/directory. + // + // \param maxTime \n + // The timeout value. + fileStat + ( + const fileName& fName, + const bool followLink = true, + const unsigned int maxTime = 0 + ); //- Construct from Istream fileStat(Istream&); @@ -96,7 +109,7 @@ public: return status_; } - //- Did constructor fail + //- Was file-stat successful? bool isValid() const { return isValid_; diff --git a/src/OpenFOAM/include/OSspecific.H b/src/OpenFOAM/include/OSspecific.H index d190f67045..79a2417319 100644 --- a/src/OpenFOAM/include/OSspecific.H +++ b/src/OpenFOAM/include/OSspecific.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -132,44 +132,60 @@ bool mkDir(const fileName&, mode_t=0777); bool chMod(const fileName&, const mode_t); //- Return the file mode -mode_t mode(const fileName&); +mode_t mode(const fileName&, const bool followLink=true); //- Return the file type: DIRECTORY or FILE -fileName::Type type(const fileName&); +fileName::Type type(const fileName&, const bool followLink=true); //- Does the name exist (as DIRECTORY or FILE) in the file system? // Optionally enable/disable check for gzip file. -bool exists(const fileName&, const bool checkGzip=true); +bool exists +( + const fileName&, + const bool checkGzip=true, + const bool followLink=true +); //- Does the name exist as a DIRECTORY in the file system? -bool isDir(const fileName&); +bool isDir(const fileName&, const bool followLink=true); //- Does the name exist as a FILE in the file system? // Optionally enable/disable check for gzip file. -bool isFile(const fileName&, const bool checkGzip=true); +bool isFile +( + const fileName&, + const bool checkGzip=true, + const bool followLink=true +); //- Return size of file -off_t fileSize(const fileName&); +off_t fileSize(const fileName&, const bool followLink=true); //- Return time of last file modification -time_t lastModified(const fileName&); +time_t lastModified(const fileName&, const bool followLink=true); //- Read a directory and return the entries as a string list fileNameList readDir ( const fileName&, const fileName::Type=fileName::FILE, - const bool filtergz=true + const bool filtergz=true, + const bool followLink=true ); //- Copy, recursively if necessary, the source to the destination -bool cp(const fileName& src, const fileName& dst); +bool cp(const fileName& src, const fileName& dst, const bool followLink=true); //- Create a softlink. dst should not exist. Returns true if successful. bool ln(const fileName& src, const fileName& dst); //- Rename src to dst -bool mv(const fileName& src, const fileName& dst); +bool mv +( + const fileName& src, + const fileName& dst, + const bool followLink=false +); //- Rename to a corresponding backup file // If the backup file already exists, attempt with "01" .. "99" suffix diff --git a/src/OpenFOAM/primitives/strings/fileName/fileName.C b/src/OpenFOAM/primitives/strings/fileName/fileName.C index becb5db393..0dd888c737 100644 --- a/src/OpenFOAM/primitives/strings/fileName/fileName.C +++ b/src/OpenFOAM/primitives/strings/fileName/fileName.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,9 +48,9 @@ Foam::fileName::fileName(const wordList& lst) // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::fileName::Type Foam::fileName::type() const +Foam::fileName::Type Foam::fileName::type(const bool followLink) const { - return ::Foam::type(*this); + return ::Foam::type(*this, followLink); } @@ -94,6 +94,7 @@ bool Foam::fileName::clean() ( string::size_type src = nChar; src < maxLen; + /*nil*/ ) { char c = operator[](src++); diff --git a/src/OpenFOAM/primitives/strings/fileName/fileName.H b/src/OpenFOAM/primitives/strings/fileName/fileName.H index 288da061b8..e45844eaeb 100644 --- a/src/OpenFOAM/primitives/strings/fileName/fileName.H +++ b/src/OpenFOAM/primitives/strings/fileName/fileName.H @@ -154,8 +154,9 @@ public: // Interrogation - //- Return the file type: FILE, DIRECTORY or UNDEFINED - Type type() const; + //- Return the file type: FILE, DIRECTORY, UNDEFINED or + // LINK (only if followLink=false) + Type type(const bool followLink = true) const; //- Return true if file name is absolute bool isAbsolute() const; From ec18c92f92fa6e909cd4d4dfbcd4b0f13df45b8c Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 22 Feb 2016 10:25:44 +0000 Subject: [PATCH 002/143] COMP: Updated version tag plus->stage --- etc/bashrc | 2 +- etc/cshrc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/bashrc b/etc/bashrc index 251cd34303..a57242ea8b 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -32,7 +32,7 @@ #------------------------------------------------------------------------------ export WM_PROJECT=OpenFOAM -export WM_PROJECT_VERSION=plus +export WM_PROJECT_VERSION=stage ################################################################################ # USER EDITABLE PART: Changes made here may be lost with the next upgrade diff --git a/etc/cshrc b/etc/cshrc index a7612b9852..87be39f952 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -31,7 +31,7 @@ #------------------------------------------------------------------------------ setenv WM_PROJECT OpenFOAM -setenv WM_PROJECT_VERSION plus +setenv WM_PROJECT_VERSION stage ################################################################################ # USER EDITABLE PART: Changes made here may be lost with the next upgrade From ae11551ed271d3630a88b1602c36f2dc2b5f8787 Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Mon, 27 Jun 2016 19:31:45 +0100 Subject: [PATCH 003/143] ENH: fvOptions - added new acousticDampingSource to damp spurious pressure perturbations --- src/fvOptions/Make/files | 1 + .../acousticDampingSource.C | 218 ++++++++++++++++++ .../acousticDampingSource.H | 184 +++++++++++++++ 3 files changed, 403 insertions(+) create mode 100644 src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C create mode 100644 src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.H diff --git a/src/fvOptions/Make/files b/src/fvOptions/Make/files index 6e74683868..205a7f8ef3 100644 --- a/src/fvOptions/Make/files +++ b/src/fvOptions/Make/files @@ -12,6 +12,7 @@ $(generalSources)/codedSource/codedSource.C $(generalSources)/semiImplicitSource/semiImplicitSource.C derivedSources=sources/derived +$(derivedSources)/acousticDampingSource/acousticDampingSource.C $(derivedSources)/actuationDiskSource/actuationDiskSource.C $(derivedSources)/buoyancyForce/buoyancyForce.C $(derivedSources)/buoyancyForce/buoyancyForceIO.C diff --git a/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C b/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C new file mode 100644 index 0000000000..7c9f27febc --- /dev/null +++ b/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.C @@ -0,0 +1,218 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "acousticDampingSource.H" +#include "fvMesh.H" +#include "fvMatrices.H" +#include "fvmSup.H" +#include "addToRunTimeSelectionTable.H" +#include "mathematicalConstants.H" +#include "zeroGradientFvPatchFields.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace fv +{ + defineTypeNameAndDebug(acousticDampingSource, 0); + addToRunTimeSelectionTable + ( + option, + acousticDampingSource, + dictionary + ); +} +} + + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +void Foam::fv::acousticDampingSource::setBlendingFactor() +{ + blendFactor_.internalField() = 1; + + const vectorField& Cf = mesh_.C(); + + const scalar pi = constant::mathematical::pi; + + forAll(cells_, i) + { + label celli = cells_[i]; + scalar d = mag(Cf[celli] - x0_); + + if (d < r1_) + { + blendFactor_[celli] = 0.0; + } + else if ((d >= r1_) && (d <= (r1_ + r2_))) + { + blendFactor_[celli] = (1.0 - cos(pi*mag(d - r1_)/r2_))/2.0; + } + } + + blendFactor_.correctBoundaryConditions(); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::fv::acousticDampingSource::acousticDampingSource +( + const word& name, + const word& modelType, + const dictionary& dict, + const fvMesh& mesh +) +: + cellSetOption(name, modelType, dict, mesh), + frequency_("frequency", dimless/dimTime, 0), + blendFactor_ + ( + volScalarField + ( + IOobject + ( + name_ + ":blend", + mesh_.time().timeName(), + mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh_, + dimensionedScalar("blend0", dimless, 1.0), + zeroGradientFvPatchField::typeName + ) + ), + URefName_("unknown-URefName"), + x0_(Zero), + r1_(0), + r2_(0), + w_(20) +{ + read(dict); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::fv::acousticDampingSource::addSup +( + fvMatrix& eqn, + const label fieldI +) +{ + const volVectorField& U = eqn.psi(); + const volScalarField coeff(name_ + ":coeff", w_*frequency_*blendFactor_); + const volVectorField& URef(mesh().lookupObject(URefName_)); + + fvMatrix dampingEqn + ( + fvm::Sp(coeff, U) - coeff*URef + ); + eqn -= dampingEqn; +} + + +void Foam::fv::acousticDampingSource::addSup +( + const volScalarField& rho, + fvMatrix& eqn, + const label fieldI +) +{ + const volVectorField& U = eqn.psi(); + const volScalarField coeff(name_ + ":coeff", w_*frequency_*blendFactor_); + const volVectorField& URef(mesh().lookupObject(URefName_)); + + fvMatrix dampingEqn + ( + fvm::Sp(rho*coeff, U) - rho*coeff*URef + ); + eqn -= dampingEqn; +} + + +void Foam::fv::acousticDampingSource::addSup +( + const volScalarField& alpha, + const volScalarField& rho, + fvMatrix& eqn, + const label fieldI +) +{ + const volVectorField& U = eqn.psi(); + const volScalarField coeff(name_ + ":coeff", w_*frequency_*blendFactor_); + const volVectorField& URef(mesh().lookupObject(URefName_)); + + fvMatrix dampingEqn + ( + fvm::Sp(alpha*rho*coeff, U) - alpha*rho*coeff*URef + ); + eqn -= dampingEqn; +} + + +bool Foam::fv::acousticDampingSource::read(const dictionary& dict) +{ + if (cellSetOption::read(dict)) + { + if (coeffs_.found("UNames")) + { + coeffs_.lookup("UNames") >> fieldNames_; + } + else if (coeffs_.found("UName")) + { + word UName(coeffs_.lookup("UName")); + fieldNames_ = wordList(1, UName); + } + else + { + fieldNames_ = wordList(1, "U"); + } + + applied_.setSize(fieldNames_.size(), false); + + coeffs_.lookup("frequency") >> frequency_.value(); + coeffs_.lookup("URef") >> URefName_; + coeffs_.lookup("centre") >> x0_; + coeffs_.lookup("radius1") >> r1_; + coeffs_.lookup("radius2") >> r2_; + + if (coeffs_.readIfPresent("w", w_)) + { + Info<< name_ << ": Setting stencil width to " << w_ << endl; + } + + return true; + } + else + { + return false; + } +} + + +// ************************************************************************* // diff --git a/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.H b/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.H new file mode 100644 index 0000000000..02a283bf2d --- /dev/null +++ b/src/fvOptions/sources/derived/acousticDampingSource/acousticDampingSource.H @@ -0,0 +1,184 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::fv::acousticDampingSource + +Group + grpFvOptionsSources + +Description + Acoustic damping source + + \heading Source usage + + Example usage: + \verbatim + acousticDampingSourceCoeffs + { + } + \endverbatim + +SourceFiles + acousticDampingSource.C + +\*---------------------------------------------------------------------------*/ + +#ifndef acousticDampingSource_H +#define acousticDampingSource_H + +#include "cellSetOption.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class porosityModel; + +namespace fv +{ + + +/*---------------------------------------------------------------------------*\ + Class acousticDampingSource Declaration +\*---------------------------------------------------------------------------*/ + +class acousticDampingSource +: + public cellSetOption +{ + +protected: + + // Protected data + + //- Frequency [Hz] + dimensionedScalar frequency_; + + //- Blending factor [] + volScalarField blendFactor_; + + //- Name of reference velocity field + word URefName_; + + // Sphere centre location or damping + point x0_; + + // Inner radius at which to start damping + scalar r1_; + + // Outer radius beyond which damping is applied + scalar r2_; + + //- Stencil width, default = 20 + label w_; + + + // Protected Member Functions + + //- Helper function to set the blending factor + void setBlendingFactor(); + + +private: + + // Private Member Functions + + //- Disallow default bitwise copy construct + acousticDampingSource(const acousticDampingSource&); + + //- Disallow default bitwise assignment + void operator=(const acousticDampingSource&) = delete; + + +public: + + //- Runtime type information + TypeName("acousticDampingSource"); + + + // Constructors + + //- Construct from components + acousticDampingSource + ( + const word& name, + const word& modelType, + const dictionary& dict, + const fvMesh& mesh + ); + + + //- Destructor + virtual ~acousticDampingSource() + {} + + + // Member Functions + + // Add explicit and implicit contributions + + //- Add implicit contribution to momentum equation + virtual void addSup + ( + fvMatrix& eqn, + const label fieldI + ); + + //- Add implicit contribution to compressible momentum equation + virtual void addSup + ( + const volScalarField& rho, + fvMatrix& eqn, + const label fieldI + ); + + //- Add implicit contribution to phase momentum equation + virtual void addSup + ( + const volScalarField& alpha, + const volScalarField& rho, + fvMatrix& eqn, + const label fieldI + ); + + + // IO + + //- Read dictionary + virtual bool read(const dictionary& dict); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace fv +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // From d13b2aac5d9cd952236f2c2b709a81be5dfac5ea Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Mon, 27 Jun 2016 19:32:13 +0100 Subject: [PATCH 004/143] STYLE: renamed autoRefineMesh->snappyRefineMesh --- .../mesh/advanced/{autoRefineMesh => snappyRefineMesh}/Make/files | 0 .../advanced/{autoRefineMesh => snappyRefineMesh}/Make/options | 0 .../{autoRefineMesh => snappyRefineMesh}/snappyRefineMesh.C | 0 .../{autoRefineMesh => snappyRefineMesh}/snappyRefineMeshDict | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename applications/utilities/mesh/advanced/{autoRefineMesh => snappyRefineMesh}/Make/files (100%) rename applications/utilities/mesh/advanced/{autoRefineMesh => snappyRefineMesh}/Make/options (100%) rename applications/utilities/mesh/advanced/{autoRefineMesh => snappyRefineMesh}/snappyRefineMesh.C (100%) rename applications/utilities/mesh/advanced/{autoRefineMesh => snappyRefineMesh}/snappyRefineMeshDict (100%) diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/Make/files b/applications/utilities/mesh/advanced/snappyRefineMesh/Make/files similarity index 100% rename from applications/utilities/mesh/advanced/autoRefineMesh/Make/files rename to applications/utilities/mesh/advanced/snappyRefineMesh/Make/files diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/Make/options b/applications/utilities/mesh/advanced/snappyRefineMesh/Make/options similarity index 100% rename from applications/utilities/mesh/advanced/autoRefineMesh/Make/options rename to applications/utilities/mesh/advanced/snappyRefineMesh/Make/options diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/snappyRefineMesh.C b/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C similarity index 100% rename from applications/utilities/mesh/advanced/autoRefineMesh/snappyRefineMesh.C rename to applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/snappyRefineMeshDict b/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMeshDict similarity index 100% rename from applications/utilities/mesh/advanced/autoRefineMesh/snappyRefineMeshDict rename to applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMeshDict From 4a0c74d29273511684bea1e389a87e188f521a2b Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Mon, 27 Jun 2016 20:32:12 +0100 Subject: [PATCH 005/143] ENH: readFields function object - read fields on construction --- .../field/readFields/readFields.C | 31 ++++++++++++++----- .../field/readFields/readFields.H | 4 +-- .../field/readFields/readFieldsTemplates.C | 6 +++- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.C b/src/postProcessing/functionObjects/field/readFields/readFields.C index 07a43d6bbc..0179e27874 100644 --- a/src/postProcessing/functionObjects/field/readFields/readFields.C +++ b/src/postProcessing/functionObjects/field/readFields/readFields.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -30,7 +30,7 @@ License namespace Foam { -defineTypeNameAndDebug(readFields, 0); + defineTypeNameAndDebug(readFields, 0); } @@ -54,6 +54,9 @@ Foam::readFields::readFields if (isA(obr_)) { read(dict); + + // Fields should all be present from start time so read on construction + execute(); } else { @@ -87,16 +90,28 @@ void Foam::readFields::execute() { if (active_) { + if (log_) Info << type() << " " << name_ << ":" << nl; + + bool loaded = false; forAll(fieldSet_, fieldI) { const word& fieldName = fieldSet_[fieldI]; - // If necessary load field - loadField(fieldName); - loadField(fieldName); - loadField(fieldName); - loadField(fieldName); - loadField(fieldName); + // Load field if necessary + loaded = loadField(fieldName) || loaded; + loaded = loadField(fieldName) || loaded; + loaded = loadField(fieldName) || loaded; + loaded = loadField(fieldName) || loaded; + loaded = loadField(fieldName) || loaded; + } + + if (log_) + { + if (!loaded) + { + Info<< " no fields loaded" << endl; + } + Info<< endl; } } } diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.H b/src/postProcessing/functionObjects/field/readFields/readFields.H index f785e4a881..dca694a7bc 100644 --- a/src/postProcessing/functionObjects/field/readFields/readFields.H +++ b/src/postProcessing/functionObjects/field/readFields/readFields.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -106,7 +106,7 @@ protected: // Protected Member Functions template - void loadField(const word&) const; + bool loadField(const word&) const; private: diff --git a/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C b/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C index 4b128aa388..6810bf7f09 100644 --- a/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C +++ b/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C @@ -31,7 +31,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // template -void Foam::readFields::loadField(const word& fieldName) const +bool Foam::readFields::loadField(const word& fieldName) const { typedef GeometricField vfType; typedef GeometricField sfType; @@ -77,6 +77,7 @@ void Foam::readFields::loadField(const word& fieldName) const if (log_) Info<< " Reading " << fieldName << endl; vfType* vfPtr = new vfType(fieldHeader, mesh); mesh.objectRegistry::store(vfPtr); + return true; } else if ( @@ -88,8 +89,11 @@ void Foam::readFields::loadField(const word& fieldName) const if (log_) Info<< " Reading " << fieldName << endl; sfType* sfPtr = new sfType(fieldHeader, mesh); mesh.objectRegistry::store(sfPtr); + return true; } } + + return false; } From efb39a879060afeaeaaa2d5fc837470b2c0d52f5 Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Mon, 27 Jun 2016 20:34:19 +0100 Subject: [PATCH 006/143] ENH: (further) Doxygen documentation updates for module support --- applications/utilities/doc/utilities.dox | 37 ++++++++++ applications/utilities/doc/utilitiesDoc.H | 73 +++++++++++++++++++ .../utilities/mesh/advanced/PDRMesh/PDRMesh.C | 3 + .../advanced/collapseEdges/collapseEdges.C | 3 + .../combinePatchFaces/combinePatchFaces.C | 3 + .../mesh/advanced/modifyMesh/modifyMesh.C | 3 + .../advanced/refineHexMesh/refineHexMesh.C | 3 + .../refineWallLayer/refineWallLayer.C | 3 + .../refinementLevel/refinementLevel.C | 3 + .../mesh/advanced/removeFaces/removeFaces.C | 3 + .../mesh/advanced/selectCells/selectCells.C | 3 + .../snappyRefineMesh/snappyRefineMesh.C | 3 + .../mesh/advanced/splitCells/splitCells.C | 3 + .../Optional/ccm26ToFoam/ccm26ToFoam.C | 6 ++ .../mesh/conversion/ansysToFoam/ansysToFoam.L | 3 + .../mesh/conversion/cfx4ToFoam/cfx4ToFoam.C | 3 + .../mesh/conversion/datToFoam/datToFoam.C | 3 + .../fluent3DMeshToFoam/fluent3DMeshToFoam.L | 3 + .../fluentMeshToFoam/fluentMeshToFoam.L | 3 + .../foamMeshToFluent/foamMeshToFluent.C | 3 + .../foamToStarMesh/foamToStarMesh.C | 3 + .../conversion/foamToSurface/foamToSurface.C | 3 + .../conversion/gambitToFoam/gambitToFoam.L | 3 + .../mesh/conversion/gmshToFoam/gmshToFoam.C | 3 + .../ideasUnvToFoam/ideasUnvToFoam.C | 3 + .../mesh/conversion/kivaToFoam/kivaToFoam.C | 3 + .../mesh/conversion/mshToFoam/mshToFoam.C | 3 + .../netgenNeutralToFoam/netgenNeutralToFoam.C | 3 + .../conversion/plot3dToFoam/plot3dToFoam.C | 3 + .../mesh/conversion/sammToFoam/sammToFoam.C | 3 + .../mesh/conversion/star3ToFoam/star3ToFoam.C | 3 + .../mesh/conversion/star4ToFoam/star4ToFoam.C | 3 + .../conversion/tetgenToFoam/tetgenToFoam.C | 3 + .../vtkUnstructuredToFoam.C | 6 ++ .../conversion/writeMeshObj/writeMeshObj.C | 3 + .../utilities/mesh/doc/meshUtilitiesDoc.H | 51 +++++++++++++ .../mesh/generation/blockMesh/blockMeshApp.C | 3 + .../extrude/extrudeMesh/extrudeMesh.C | 3 + .../extrudeToRegionMesh/extrudeToRegionMesh.C | 3 + .../extrude2DMesh/extrude2DMeshApp.C | 3 + .../foamyMesh/foamyHexMesh/foamyHexMesh.C | 3 + .../foamyMesh/foamyQuadMesh/foamyQuadMesh.C | 3 + .../generation/snappyHexMesh/snappyHexMesh.C | 3 + .../mesh/manipulation/attachMesh/attachMesh.C | 3 + .../mesh/manipulation/autoPatch/autoPatch.C | 3 + .../mesh/manipulation/checkMesh/checkMesh.C | 3 + .../createBaffles/createBaffles.C | 3 + .../manipulation/createPatch/createPatch.C | 3 + .../manipulation/deformedGeom/deformedGeom.C | 3 + .../manipulation/flattenMesh/flattenMesh.C | 3 + .../manipulation/insideCells/insideCells.C | 3 + .../manipulation/mergeMeshes/mergeMeshes.C | 3 + .../mergeOrSplitBaffles/mergeOrSplitBaffles.C | 3 + .../mesh/manipulation/mirrorMesh/mirrorMesh.C | 3 + .../moveDynamicMesh/moveDynamicMesh.C | 3 + .../moveEngineMesh/moveEngineMesh.C | 3 + .../mesh/manipulation/moveMesh/moveMesh.C | 3 + .../mesh/manipulation/objToVTK/objToVTK.C | 3 + .../orientFaceZone/orientFaceZone.C | 3 + .../polyDualMesh/polyDualMeshApp.C | 3 + .../mesh/manipulation/refineMesh/refineMesh.C | 3 + .../manipulation/renumberMesh/renumberMesh.C | 3 + .../mesh/manipulation/rotateMesh/rotateMesh.C | 3 + .../mesh/manipulation/setSet/setSet.C | 3 + .../manipulation/setsToZones/setsToZones.C | 3 + .../singleCellMesh/singleCellMesh.C | 3 + .../mesh/manipulation/splitMesh/splitMesh.C | 3 + .../splitMeshRegions/splitMeshRegions.C | 3 + .../mesh/manipulation/stitchMesh/stitchMesh.C | 4 + .../mesh/manipulation/subsetMesh/subsetMesh.C | 3 + .../mesh/manipulation/topoSet/topoSet.C | 3 + .../transformPoints/transformPoints.C | 3 + .../mesh/manipulation/zipUpMesh/zipUpMesh.C | 3 + .../expandDictionary/expandDictionary.C | 3 + .../foamDebugSwitches/foamDebugSwitches.C | 3 + .../foamFormatConvert/foamFormatConvert.C | 3 + .../miscellaneous/foamHelp/foamHelp.C | 3 + .../miscellaneous/foamInfoExec/foamInfoExec.C | 3 + .../miscellaneous/patchSummary/patchSummary.C | 3 + .../decomposePar/decomposePar.C | 3 + .../reconstructPar/reconstructPar.C | 3 + .../reconstructParMesh/reconstructParMesh.C | 3 + .../redistributePar/redistributePar.C | 3 + .../foamDataToFluent/foamDataToFluent.C | 3 + .../foamToEnsight/foamToEnsight.C | 3 + .../foamToEnsightParts/foamToEnsightParts.C | 3 + .../dataConversion/foamToGMV/foamToGMV.C | 3 + .../foamToTecplot360/foamToTecplot360.C | 3 + .../foamToTetDualMesh/foamToTetDualMesh.C | 3 + .../dataConversion/foamToVTK/foamToVTK.C | 3 + .../dataConversion/smapToFoam/smapToFoam.C | 3 + .../postProcessing/foamCalc/foamCalcApp.C | 3 + .../particleTracks/particleTracks.C | 3 + .../steadyParticleTracks.C | 4 + .../dsmcFieldsCalc/dsmcFieldsCalc.C | 3 + .../engineCompRatio/engineCompRatio.C | 5 +- .../execFlowFunctionObjects.C | 3 + .../foamListTimes/foamListTimes.C | 3 + .../miscellaneous/pdfPlot/pdfPlot.C | 3 + .../miscellaneous/postChannel/postChannel.C | 3 + .../postProcessing/miscellaneous/ptot/ptot.C | 3 + .../temporalInterpolate/temporalInterpolate.C | 6 ++ .../postProcessing/miscellaneous/wdot/wdot.C | 3 + .../writeCellCentres/writeCellCentres.C | 6 ++ .../utilities/postProcessing/noise/noise.C | 3 + .../patch/patchAverage/patchAverage.C | 3 + .../patch/patchIntegrate/patchIntegrate.C | 3 + .../sampling/probeLocations/probeLocations.C | 3 + .../postProcessing/sampling/sample/sample.C | 3 + .../scalarField/pPrime2/pPrime2.C | 3 + .../utilities/postProcessing/turbulence/R/R.C | 3 + .../createTurbulenceFields.C | 3 + .../postProcessing/velocityField/Co/Co.C | 3 + .../velocityField/Lambda2/Lambda2.C | 3 + .../postProcessing/velocityField/Mach/Mach.C | 3 + .../postProcessing/velocityField/Pe/Pe.C | 3 + .../postProcessing/velocityField/Q/Q.C | 3 + .../velocityField/enstrophy/enstrophy.C | 3 + .../velocityField/flowType/flowType.C | 3 + .../streamFunction/streamFunction.C | 3 + .../velocityField/uprime/uprime.C | 3 + .../velocityField/vorticity/vorticity.C | 3 + .../postProcessing/wall/wallGradU/wallGradU.C | 3 + .../wall/wallHeatFlux/wallHeatFlux.C | 3 + .../wall/wallShearStress/wallShearStress.C | 3 + .../postProcessing/wall/yPlus/yPlus.C | 3 + .../applyBoundaryLayer/applyBoundaryLayer.C | 3 + .../utilities/preProcessing/boxTurb/boxTurb.C | 3 + .../changeDictionary/changeDictionary.C | 3 + .../createExternalCoupledPatchGeometry.C | 3 + .../createZeroDirectory/createZeroDirectory.C | 3 + .../dsmcInitialise/dsmcInitialise.C | 3 + .../preProcessing/engineSwirl/engineSwirl.C | 3 + .../faceAgglomerate/faceAgglomerate.C | 3 + .../foamUpgradeCyclics/foamUpgradeCyclics.C | 3 + .../preProcessing/mapFields/mapFields.C | 3 + .../preProcessing/mapFieldsPar/mapFieldsPar.C | 3 + .../preProcessing/mdInitialise/mdInitialise.C | 6 ++ .../preProcessing/setFields/setFields.C | 6 ++ .../viewFactorsGen/viewFactorsGen.C | 3 + .../wallFunctionTable/wallFunctionTableApp.C | 3 + .../utilities/surface/surfaceAdd/surfaceAdd.C | 3 + .../surfaceBooleanFeatures.C | 3 + .../surface/surfaceCheck/surfaceCheck.C | 3 + .../surface/surfaceClean/surfaceClean.C | 3 + .../surface/surfaceCoarsen/surfaceCoarsen.C | 3 + .../surface/surfaceConvert/surfaceConvert.C | 3 + .../surfaceFeatureConvert.C | 3 + .../surfaceFeatureExtract.C | 3 + .../surface/surfaceFind/surfaceFind.C | 3 + .../surface/surfaceHookUp/surfaceHookUp.C | 3 + .../surface/surfaceInertia/surfaceInertia.C | 3 + .../surface/surfaceInflate/surfaceInflate.C | 3 + .../surfaceLambdaMuSmooth.C | 3 + .../surfaceMeshConvert/surfaceMeshConvert.C | 3 + .../surfaceMeshConvertTesting.C | 3 + .../surfaceMeshExport/surfaceMeshExport.C | 3 + .../surfaceMeshImport/surfaceMeshImport.C | 3 + .../surface/surfaceMeshInfo/surfaceMeshInfo.C | 3 + .../surfaceMeshTriangulate.C | 3 + .../surface/surfaceOrient/surfaceOrient.C | 3 + .../surface/surfacePatch/surfacePatch.C | 3 + .../surfacePointMerge/surfacePointMerge.C | 3 + .../surfaceRedistributePar.C | 3 + .../surfaceRefineRedGreen.C | 3 + .../surfaceSplitByPatch/surfaceSplitByPatch.C | 3 + .../surfaceSplitByTopology.C | 6 ++ .../surfaceSplitNonManifolds.C | 3 + .../surface/surfaceSubset/surfaceSubset.C | 3 + .../surface/surfaceToPatch/surfaceToPatch.C | 3 + .../surfaceTransformPoints.C | 3 + .../adiabaticFlameT/adiabaticFlameT.C | 3 + .../chemkinToFoam/chemkinToFoam.C | 3 + .../equilibriumCO/equilibriumCO.C | 3 + .../equilibriumFlameT/equilibriumFlameT.C | 3 + .../mixtureAdiabaticFlameT.C | 3 + src/ODE/ODESolvers/Euler/Euler.H | 3 + src/ODE/ODESolvers/EulerSI/EulerSI.H | 3 + src/ODE/ODESolvers/ODESolver/ODESolver.H | 3 + src/ODE/ODESolvers/RKCK45/RKCK45.H | 3 + src/ODE/ODESolvers/RKDP45/RKDP45.H | 3 + src/ODE/ODESolvers/RKF45/RKF45.H | 3 + .../ODESolvers/Rosenbrock12/Rosenbrock12.H | 3 + .../ODESolvers/Rosenbrock23/Rosenbrock23.H | 3 + .../ODESolvers/Rosenbrock34/Rosenbrock34.H | 3 + src/ODE/ODESolvers/SIBS/SIBS.H | 3 + src/ODE/ODESolvers/Trapezoid/Trapezoid.H | 3 + .../adaptiveSolver/adaptiveSolver.H | 3 + src/ODE/ODESolvers/rodas23/rodas23.H | 3 + src/ODE/ODESolvers/rodas34/rodas34.H | 3 + src/ODE/ODESolvers/seulex/seulex.H | 3 + src/ODE/doc/ODEDoc.H | 32 ++++++++ .../turbulenceBoundaryConditionsDoc.H | 4 +- .../turbulenceBoundaryConditionsDoc.H | 4 +- .../RASBoundaryConditionsDoc.H | 2 +- .../turbulenceBoundaryConditionsDoc.H | 2 +- .../turbulenceModels/doc/turbulenceModelDoc.H | 2 +- src/combustionModels/FSD/FSD.H | 3 + src/combustionModels/PaSR/PaSR.H | 3 + .../combustionModel/combustionModel.H | 3 + src/combustionModels/diffusion/diffusion.H | 3 + .../diffusionMulticomponent.H | 3 + .../doc/combustionModelsDoc.H | 31 ++++++++ .../infinitelyFastChemistry.H | 3 + src/combustionModels/laminar/laminar.H | 3 + .../noCombustion/noCombustion.H | 3 + .../singleStepCombustion.H | 3 + .../fvPatchFields/doc/fvPatchFieldDoc.H | 14 ++-- src/fvMotionSolver/doc/motionSolversDoc.H | 37 ++++++++++ ...lacementComponentLaplacianFvMotionSolver.H | 3 + ...velocityComponentLaplacianFvMotionSolver.H | 3 + .../displacementSBRStressFvMotionSolver.H | 3 + .../displacementInterpolationMotionSolver.H | 3 + .../displacementLaplacianFvMotionSolver.H | 3 + .../displacementLayeredMotionMotionSolver.H | 3 + .../surfaceAlignedSBRStressFvMotionSolver.H | 3 + .../velocityLaplacianFvMotionSolver.H | 3 + .../doc/lagrangianIntermediateDoc.H | 2 +- .../functionObjects/utilities/Make/files | 3 + .../bodies/compositeBody/compositeBody.H | 3 + src/rigidBodyDynamics/bodies/cuboid/cuboid.H | 3 + .../bodies/jointBody/jointBody.H | 3 + .../bodies/masslessBody/masslessBody.H | 3 + .../bodies/rigidBody/rigidBody.H | 3 + src/rigidBodyDynamics/bodies/sphere/sphere.H | 3 + .../bodies/subBody/subBody.H | 3 + .../doc/rigidBodyDynamicsDoc.H | 50 +++++++++++++ src/rigidBodyDynamics/joints/Pa/Pa.H | 3 + src/rigidBodyDynamics/joints/Px/Px.H | 3 + src/rigidBodyDynamics/joints/Pxyz/Pxyz.H | 3 + src/rigidBodyDynamics/joints/Py/Py.H | 3 + src/rigidBodyDynamics/joints/Pz/Pz.H | 3 + src/rigidBodyDynamics/joints/Ra/Ra.H | 3 + src/rigidBodyDynamics/joints/Rs/Rs.H | 3 + src/rigidBodyDynamics/joints/Rx/Rx.H | 3 + src/rigidBodyDynamics/joints/Rxyz/Rxyz.H | 3 + src/rigidBodyDynamics/joints/Ry/Ry.H | 3 + src/rigidBodyDynamics/joints/Ryxz/Ryxz.H | 3 + src/rigidBodyDynamics/joints/Rz/Rz.H | 3 + src/rigidBodyDynamics/joints/Rzyx/Rzyx.H | 3 + .../joints/composite/compositeJoint.H | 3 + .../joints/floating/floatingJoint.H | 3 + src/rigidBodyDynamics/joints/joint/joint.H | 3 + src/rigidBodyDynamics/joints/null/nullJoint.H | 3 + .../linearAxialAngularSpring.H | 3 + .../restraints/linearDamper/linearDamper.H | 3 + .../restraints/linearSpring/linearSpring.H | 3 + .../sphericalAngularDamper.H | 3 + src/rigidBodyMeshMotion/rigidBodyMeshMotion.H | 3 + .../doc/sixDofRigidBodyMotionDoc.H | 50 +++++++++++++ .../sixDoFRigidBodyMotionSolver.H | 3 + .../CrankNicolson/CrankNicolson.H | 3 + .../sixDoFSolvers/Newmark/Newmark.H | 3 + .../sixDoFSolvers/sixDoFSolver/sixDoFSolver.H | 3 + .../sixDoFSolvers/symplectic/symplectic.H | 3 + .../doc/thermophysicalBoundaryConditionsDoc.H | 2 +- .../radiation/doc/radiationModelsDoc.H | 2 +- 257 files changed, 1122 insertions(+), 18 deletions(-) create mode 100644 applications/utilities/doc/utilities.dox create mode 100644 applications/utilities/doc/utilitiesDoc.H create mode 100644 applications/utilities/mesh/doc/meshUtilitiesDoc.H create mode 100644 src/ODE/doc/ODEDoc.H create mode 100644 src/combustionModels/doc/combustionModelsDoc.H create mode 100644 src/fvMotionSolver/doc/motionSolversDoc.H create mode 100644 src/rigidBodyDynamics/doc/rigidBodyDynamicsDoc.H create mode 100644 src/sixDoFRigidBodyMotion/doc/sixDofRigidBodyMotionDoc.H diff --git a/applications/utilities/doc/utilities.dox b/applications/utilities/doc/utilities.dox new file mode 100644 index 0000000000..f9cbceeb99 --- /dev/null +++ b/applications/utilities/doc/utilities.dox @@ -0,0 +1,37 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + details. + + You should have received a copy of the GNU General Public License along with + OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\page pageUtilities Utilities + +\section secUtilities Overview +The available utilities are grouped into the following categories: + - \ref grpMeshUtilities + - \ref grpMiscUtilities + - \ref grpPreProcessingUtilities + - \ref grpPostProcessingUtilities + - \ref grpThermoUtilities + - \ref grpSurfaceUtilities + +\*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/doc/utilitiesDoc.H b/applications/utilities/doc/utilitiesDoc.H new file mode 100644 index 0000000000..d953a47480 --- /dev/null +++ b/applications/utilities/doc/utilitiesDoc.H @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + details. + + You should have received a copy of the GNU General Public License along with + OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\defgroup grpUtilities Utilities +@{ + This group contains utilities +@} + +\defgroup grpMeshUtilities Mesh +@{ + \ingroup grpUtilities + This group contains meshing utilities +@} + +\defgroup grpPreProcessingUtilities Pre-processing +@{ + \ingroup grpUtilities + This group contains pre-processing utilities +@} + +\defgroup grpPostProcessingUtilities Post-processing +@{ + \ingroup grpUtilities + This group contains post-processing utilities +@} + +\defgroup grpParallelUtilities Parallel +@{ + \ingroup grpUtilities + This group contains parallel utilities +@} + +\defgroup grpSurfaceUtilities Surface +@{ + \ingroup grpUtilities + This group contains surface utilities +@} + +\defgroup grpThermophysicalUtilities Thermophysical +@{ + \ingroup grpUtilities + This group contains thermophysical utilities +@} + +\defgroup grpMiscUtilities Miscellaneous +@{ + \ingroup grpUtilities + This group contains miscellaneous utilities +@} + +\*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C index e38319f481..f936134e9a 100644 --- a/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C +++ b/applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C @@ -24,6 +24,9 @@ License Application PDRMesh +Group + grpMeshAdvancedUtilities + Description Mesh and field preparation utility for PDR type simulations. diff --git a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C index b3099f4f28..7cbfa6d9cb 100644 --- a/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C +++ b/applications/utilities/mesh/advanced/collapseEdges/collapseEdges.C @@ -24,6 +24,9 @@ License Application collapseEdges +Group + grpMeshAdvancedUtilities + Description Collapses short edges and combines edges that are in line. diff --git a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C index 9854ec2fef..2666d4c9de 100644 --- a/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C +++ b/applications/utilities/mesh/advanced/combinePatchFaces/combinePatchFaces.C @@ -24,6 +24,9 @@ License Application combinePatchFaces +Group + grpMeshAdvancedUtilities + Description Checks for multiple patch faces on same cell and combines them. Multiple patch faces can result from e.g. removal of refined diff --git a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C index 766cd6a6e5..320a1f2d96 100644 --- a/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C +++ b/applications/utilities/mesh/advanced/modifyMesh/modifyMesh.C @@ -24,6 +24,9 @@ License Application modifyMesh +Group + grpMeshAdvancedUtilities + Description Manipulates mesh elements. diff --git a/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C b/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C index dc797fdcee..fcdd7ec8f1 100644 --- a/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C +++ b/applications/utilities/mesh/advanced/refineHexMesh/refineHexMesh.C @@ -24,6 +24,9 @@ License Application refineHexMesh +Group + grpMeshAdvancedUtilities + Description Refines a hex mesh by 2x2x2 cell splitting. diff --git a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C index ba5b7f8548..754568cc4a 100644 --- a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C +++ b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C @@ -24,6 +24,9 @@ License Application refineWallLayer +Group + grpMeshAdvancedUtilities + Description Utility to refine cells next to patches. diff --git a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C index a12adf8413..744fcf5c5a 100644 --- a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C +++ b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C @@ -24,6 +24,9 @@ License Application refinementLevel +Group + grpMeshAdvancedUtilities + Description Tries to figure out what the refinement level is on refined cartesian meshes. Run BEFORE snapping. diff --git a/applications/utilities/mesh/advanced/removeFaces/removeFaces.C b/applications/utilities/mesh/advanced/removeFaces/removeFaces.C index 64191b8bb0..ca82886601 100644 --- a/applications/utilities/mesh/advanced/removeFaces/removeFaces.C +++ b/applications/utilities/mesh/advanced/removeFaces/removeFaces.C @@ -24,6 +24,9 @@ License Application removeFaces +Group + grpMeshAdvancedUtilities + Description Utility to remove faces (combines cells on both sides). diff --git a/applications/utilities/mesh/advanced/selectCells/selectCells.C b/applications/utilities/mesh/advanced/selectCells/selectCells.C index c71929e500..87b4398d28 100644 --- a/applications/utilities/mesh/advanced/selectCells/selectCells.C +++ b/applications/utilities/mesh/advanced/selectCells/selectCells.C @@ -24,6 +24,9 @@ License Application selectCells +Group + grpMeshAdvancedUtilities + Description Select cells in relation to surface. diff --git a/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C b/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C index abb29b1dea..4e4f7e0263 100644 --- a/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C +++ b/applications/utilities/mesh/advanced/snappyRefineMesh/snappyRefineMesh.C @@ -24,6 +24,9 @@ License Application snappyRefineMesh +Group + grpMeshAdvancedUtilities + Description Utility to refine cells near to a surface. diff --git a/applications/utilities/mesh/advanced/splitCells/splitCells.C b/applications/utilities/mesh/advanced/splitCells/splitCells.C index 0e1eb5b1e5..7e44c20d36 100644 --- a/applications/utilities/mesh/advanced/splitCells/splitCells.C +++ b/applications/utilities/mesh/advanced/splitCells/splitCells.C @@ -24,6 +24,9 @@ License Application splitCells +Group + grpMeshAdvancedUtilities + Description Utility to split cells with flat faces. diff --git a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C index b95acd7978..b0bec171f3 100644 --- a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C +++ b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C @@ -21,6 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . +Application + ccm26ToFoam + +Group + grpMeshConversionUtilities + Description Reads CCM files as written by Prostar/ccm using ccm 2.6 (not 2.4) diff --git a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L index 9a21299127..3f17812bb4 100644 --- a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L +++ b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L @@ -24,6 +24,9 @@ License Application ansysToFoam +Group + grpMeshConversionUtilities + Description Converts an ANSYS input mesh file, exported from I-DEAS, to OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C index c3d2fef073..af7f86f7b6 100644 --- a/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C +++ b/applications/utilities/mesh/conversion/cfx4ToFoam/cfx4ToFoam.C @@ -24,6 +24,9 @@ License Application cfx4ToFoam +Group + grpMeshConversionUtilities + Description Converts a CFX 4 mesh to OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/datToFoam/datToFoam.C b/applications/utilities/mesh/conversion/datToFoam/datToFoam.C index 4ee10d1f15..2b1956e51f 100644 --- a/applications/utilities/mesh/conversion/datToFoam/datToFoam.C +++ b/applications/utilities/mesh/conversion/datToFoam/datToFoam.C @@ -24,6 +24,9 @@ License Application datToFoam +Group + grpMeshConversionUtilities + Description Reads in a datToFoam mesh file and outputs a points file. Used in conjunction with blockMesh. diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L index 1d28f046dc..3d1875d717 100644 --- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L @@ -24,6 +24,9 @@ License Application fluent3DMeshToFoam +Group + grpMeshConversionUtilities + Description Converts a Fluent mesh to OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L index 3300ba9778..6cff0ce962 100644 --- a/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluentMeshToFoam/fluentMeshToFoam.L @@ -24,6 +24,9 @@ License Application fluentMeshToFoam +Group + grpMeshConversionUtilities + Description Converts a Fluent mesh to OpenFOAM format including multiple region and region boundary handling. diff --git a/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C b/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C index 31ca1f9db4..d532e27d5f 100644 --- a/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C +++ b/applications/utilities/mesh/conversion/foamMeshToFluent/foamMeshToFluent.C @@ -24,6 +24,9 @@ License Application foamMeshToFluent +Group + grpMeshConversionUtilities + Description Writes out the OpenFOAM mesh in Fluent mesh format. diff --git a/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C b/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C index a345d30015..adc86dc4b5 100644 --- a/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C +++ b/applications/utilities/mesh/conversion/foamToStarMesh/foamToStarMesh.C @@ -24,6 +24,9 @@ License Application foamToStarMesh +Group + grpMeshConversionUtilities + Description Reads an OpenFOAM mesh and writes a pro-STAR (v4) bnd/cel/vrt format. diff --git a/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C b/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C index 9654b33fc2..16a6752cfb 100644 --- a/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C +++ b/applications/utilities/mesh/conversion/foamToSurface/foamToSurface.C @@ -24,6 +24,9 @@ License Application foamToSurface +Group + grpMeshConversionUtilities + Description Reads an OpenFOAM mesh and writes the boundaries in a surface format. diff --git a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L index 6821af8fba..c2dfdf4355 100644 --- a/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L +++ b/applications/utilities/mesh/conversion/gambitToFoam/gambitToFoam.L @@ -24,6 +24,9 @@ License Application gambitToFoam +Group + grpMeshConversionUtilities + Description Converts a GAMBIT mesh to OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C index 5de646c441..9d466f64f2 100644 --- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C +++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C @@ -24,6 +24,9 @@ License Application gmshToFoam +group + grpMeshConversionUtilities + Description Reads .msh file as written by Gmsh. diff --git a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C index 7a94b27299..8c14a5373d 100644 --- a/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C +++ b/applications/utilities/mesh/conversion/ideasUnvToFoam/ideasUnvToFoam.C @@ -24,6 +24,9 @@ License Application ideasUnvToFoam +Group + grpMeshConversionUtilities + Description I-Deas unv format mesh conversion. diff --git a/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C b/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C index 99d522f741..56653cc921 100644 --- a/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C +++ b/applications/utilities/mesh/conversion/kivaToFoam/kivaToFoam.C @@ -24,6 +24,9 @@ License Application kivaToFoam +Group + grpMeshConversionUtilities + Description Converts a KIVA3v grid to OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C b/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C index a69f6047a5..81cc0322fc 100644 --- a/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C +++ b/applications/utilities/mesh/conversion/mshToFoam/mshToFoam.C @@ -24,6 +24,9 @@ License Application mshToFoam +Group + grpMeshConversionUtilities + Description Converts .msh file generated by the Adventure system. diff --git a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C index e004220723..93c4267f77 100644 --- a/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C +++ b/applications/utilities/mesh/conversion/netgenNeutralToFoam/netgenNeutralToFoam.C @@ -24,6 +24,9 @@ License Application netgenNeutralToFoam +Group + grpMeshConversionUtilities + Description Converts neutral file format as written by Netgen v4.4. diff --git a/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C b/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C index 891af306e1..63ddfd1e69 100644 --- a/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C +++ b/applications/utilities/mesh/conversion/plot3dToFoam/plot3dToFoam.C @@ -24,6 +24,9 @@ License Application plot3dToFoam +Group + grpMeshConversionUtilities + Description Plot3d mesh (ascii/formatted format) converter. diff --git a/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C b/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C index 5bceed621f..543b71cba3 100644 --- a/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C +++ b/applications/utilities/mesh/conversion/sammToFoam/sammToFoam.C @@ -24,6 +24,9 @@ License Application sammToFoam +Group + grpMeshConversionUtilities + Description Converts a Star-CD (v3) SAMM mesh to OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C b/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C index 9668741305..4e6449b9fd 100644 --- a/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C +++ b/applications/utilities/mesh/conversion/star3ToFoam/star3ToFoam.C @@ -24,6 +24,9 @@ License Application star3ToFoam +Group + grpMeshConversionUtilities + Description Converts a Star-CD (v3) pro-STAR mesh into OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C index f8e1657e79..cefbf009d1 100644 --- a/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C +++ b/applications/utilities/mesh/conversion/star4ToFoam/star4ToFoam.C @@ -24,6 +24,9 @@ License Application star4ToFoam +Group + grpMeshConversionUtilities + Description Converts a Star-CD (v4) pro-STAR mesh into OpenFOAM format. diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C index 46ea78e599..7eac643583 100644 --- a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C +++ b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C @@ -24,6 +24,9 @@ License Application tetgenToFoam +Group + grpMeshConversionUtilities + Description Converts .ele and .node and .face files, written by tetgen. diff --git a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C index 4c6c7af788..507d8575e7 100644 --- a/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C +++ b/applications/utilities/mesh/conversion/vtkUnstructuredToFoam/vtkUnstructuredToFoam.C @@ -21,6 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . +Application + vtkUnstructuredToFoam + +Group + grpMeshConversionUtilities + Description Converts ascii .vtk (legacy format) file generated by vtk/paraview. diff --git a/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C b/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C index 3b0a226933..98923ea6ee 100644 --- a/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C +++ b/applications/utilities/mesh/conversion/writeMeshObj/writeMeshObj.C @@ -24,6 +24,9 @@ License Application writeMeshObj +Group + grpMeshConversionUtilities + Description For mesh debugging: writes mesh as three separate OBJ files which can be viewed with e.g. javaview. diff --git a/applications/utilities/mesh/doc/meshUtilitiesDoc.H b/applications/utilities/mesh/doc/meshUtilitiesDoc.H new file mode 100644 index 0000000000..f0ff94b39c --- /dev/null +++ b/applications/utilities/mesh/doc/meshUtilitiesDoc.H @@ -0,0 +1,51 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + details. + + You should have received a copy of the GNU General Public License along with + OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\defgroup grpMeshGenerationUtilities Generation +@{ + \ingroup grpMeshUtilities + This group contains mesh generation utilities +@} + +\defgroup grpMeshConversionUtilities Conversion +@{ + \ingroup grpMeshUtilities + This group contains mesh conversion utilities +@} + +\defgroup grpMeshManipulationUtilities Manipulation +@{ + \ingroup grpMeshUtilities + This group contains mesh generation utilities +@} + +\defgroup grpMeshAdvancedUtilities Advanced +@{ + \ingroup grpMeshUtilities + This group contains advanced mesh utilities +@} + +\*---------------------------------------------------------------------------*/ + diff --git a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C index 0c92180830..3d0624f745 100644 --- a/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C +++ b/applications/utilities/mesh/generation/blockMesh/blockMeshApp.C @@ -24,6 +24,9 @@ License Application blockMesh +Group + grpMeshGenerationUtilities + Description A multi-block mesh generator. diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C index 00ced168eb..d52ed1b29f 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C @@ -24,6 +24,9 @@ License Application extrudeMesh +Group + grpMeshGenerationUtilities + Description Extrude mesh from existing patch (by default outwards facing normals; optional flips faces) or from patch read from file. diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C index 91aab57a1b..7f35de4b22 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C @@ -24,6 +24,9 @@ License Application extrudeToRegionMesh +Group + grpMeshGenerationUtilities + Description Extrude faceZones (internal or boundary faces) or faceSets (boundary faces only) into a separate mesh (as a different region). diff --git a/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMeshApp.C b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMeshApp.C index a6916b7076..ef6cd069e9 100644 --- a/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMeshApp.C +++ b/applications/utilities/mesh/generation/extrude2DMesh/extrude2DMeshApp.C @@ -24,6 +24,9 @@ License Application extrude2DMesh +Group + grpMeshGenerationUtilities + Description Takes 2D mesh (all faces 2 points only, no front and back faces) and creates a 3D mesh by extruding with specified thickness. diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C index fd8d6f1224..3588a9878f 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C @@ -24,6 +24,9 @@ License Application foamyHexMesh +Group + grpMeshGenerationUtilities + Description Conformal Voronoi automatic mesh generator diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C index 997726bba6..f8d6054644 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/foamyQuadMesh.C @@ -24,6 +24,9 @@ License Application foamyQuadMesh +Group + grpMeshGenerationUtilities + Description Conformal-Voronoi 2D extruding automatic mesher with grid or read initial points and point position relaxation with optional diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C index b5187f1e94..f318d12b5b 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C @@ -24,6 +24,9 @@ License Application snappyHexMesh +Group + grpMeshGenerationUtilities + Description Automatic split hex mesher. Refines and snaps to surface. diff --git a/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C b/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C index bf0dff94b0..7dea889f86 100644 --- a/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C +++ b/applications/utilities/mesh/manipulation/attachMesh/attachMesh.C @@ -24,6 +24,9 @@ License Application attachMesh +Group + grpMeshManipulationUtilities + Description Attach topologically detached mesh using prescribed mesh modifiers. diff --git a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C index f35f70b45b..abd73d8445 100644 --- a/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C +++ b/applications/utilities/mesh/manipulation/autoPatch/autoPatch.C @@ -24,6 +24,9 @@ License Application autoPatch +Group + grpMeshManipulationUtilities + Description Divides external faces into patches based on (user supplied) feature angle. diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C b/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C index 9a3ab3871e..c1a07e9fca 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C @@ -24,6 +24,9 @@ License Application checkMesh +Group + grpMeshManipulationUtilities + Description Checks validity of a mesh. diff --git a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C index d0d1439b85..e5892bef4b 100644 --- a/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C +++ b/applications/utilities/mesh/manipulation/createBaffles/createBaffles.C @@ -24,6 +24,9 @@ License Application createBaffles +Group + grpMeshManipulationUtilities + Description Makes internal faces into boundary faces. Does not duplicate points, unlike mergeOrSplitBaffles. diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C index eb89288a30..a97916281d 100644 --- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C +++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C @@ -24,6 +24,9 @@ License Application createPatch +Group + grpMeshManipulationUtilities + Description Utility to create patches out of selected boundary faces. Faces come either from existing patches or from a faceSet. diff --git a/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C b/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C index 58f7447506..181e80e12d 100644 --- a/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C +++ b/applications/utilities/mesh/manipulation/deformedGeom/deformedGeom.C @@ -24,6 +24,9 @@ License Application deformedGeom +Group + grpMeshManipulationUtilities + Description Deforms a polyMesh using a displacement field U and a scaling factor supplied as an argument. diff --git a/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C b/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C index f10405674d..7e2fd95c58 100644 --- a/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C +++ b/applications/utilities/mesh/manipulation/flattenMesh/flattenMesh.C @@ -24,6 +24,9 @@ License Application flattenMesh +Group + grpMeshManipulationUtilities + Description Flattens the front and back planes of a 2D cartesian mesh. diff --git a/applications/utilities/mesh/manipulation/insideCells/insideCells.C b/applications/utilities/mesh/manipulation/insideCells/insideCells.C index 4b0845abcb..177b183864 100644 --- a/applications/utilities/mesh/manipulation/insideCells/insideCells.C +++ b/applications/utilities/mesh/manipulation/insideCells/insideCells.C @@ -24,6 +24,9 @@ License Application insideCells +Group + grpMeshManipulationUtilities + Description Picks up cells with cell centre 'inside' of surface. Requires surface to be closed and singly connected. diff --git a/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C b/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C index 26c67575c7..cb80039e79 100644 --- a/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C +++ b/applications/utilities/mesh/manipulation/mergeMeshes/mergeMeshes.C @@ -24,6 +24,9 @@ License Application mergeMeshes +Group + grpMeshManipulationUtilities + Description Merges two meshes. diff --git a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C index 6db0d3abc6..5d52574886 100644 --- a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C +++ b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/mergeOrSplitBaffles.C @@ -24,6 +24,9 @@ License Application mergeOrSplitBaffles +Group + grpMeshManipulationUtilities + Description Detects faces that share points (baffles). Either merge them or duplicate the points. diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C index f7383289cb..e06acc0205 100644 --- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C +++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMesh.C @@ -24,6 +24,9 @@ License Application mirrorMesh +Group + grpMeshManipulationUtilities + Description Mirrors a mesh around a given plane. diff --git a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C index 2fac9f25c0..7fed198993 100644 --- a/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C +++ b/applications/utilities/mesh/manipulation/moveDynamicMesh/moveDynamicMesh.C @@ -24,6 +24,9 @@ License Application moveDynamicMesh +Group + grpMeshManipulationUtilities + Description Mesh motion and topological mesh changes utility. diff --git a/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C b/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C index 54727b825a..9757be6655 100644 --- a/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C +++ b/applications/utilities/mesh/manipulation/moveEngineMesh/moveEngineMesh.C @@ -24,6 +24,9 @@ License Application moveEngineMesh +Group + grpMeshManipulationUtilities + Description Solver for moving meshes for engine calculations. diff --git a/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C b/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C index f2ef289053..0f4049ad7c 100644 --- a/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C +++ b/applications/utilities/mesh/manipulation/moveMesh/moveMesh.C @@ -24,6 +24,9 @@ License Application moveMesh +Group + grpMeshManipulationUtilities + Description Solver for moving meshes. diff --git a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C index e0da25a526..7b61f097cf 100644 --- a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C +++ b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C @@ -24,6 +24,9 @@ License Application objToVTK +Group + grpMeshManipulationUtilities + Description Read obj line (not surface!) file and convert into vtk. diff --git a/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C b/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C index 5595138322..a13594496f 100644 --- a/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C +++ b/applications/utilities/mesh/manipulation/orientFaceZone/orientFaceZone.C @@ -24,6 +24,9 @@ License Application orientFaceZone +Group + grpMeshManipulationUtilities + Description Corrects orientation of faceZone. diff --git a/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C b/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C index f0c4c16d71..27209b9793 100644 --- a/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C +++ b/applications/utilities/mesh/manipulation/polyDualMesh/polyDualMeshApp.C @@ -24,6 +24,9 @@ License Application polyDualMesh +Group + grpMeshManipulationUtilities + Description Calculates the dual of a polyMesh. Adheres to all the feature and patch edges. diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C index 4877c45319..37cce07659 100644 --- a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C +++ b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C @@ -24,6 +24,9 @@ License Application refineMesh +Group + grpMeshManipulationUtilities + Description Utility to refine cells in multiple directions. diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index 167afe59dd..a4fb8169b0 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -24,6 +24,9 @@ License Application renumberMesh +Group + grpMeshManipulationUtilities + Description Renumbers the cell list in order to reduce the bandwidth, reading and renumbering all fields from all the time directories. diff --git a/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C b/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C index fb49b074fa..00ebde5cd5 100644 --- a/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C +++ b/applications/utilities/mesh/manipulation/rotateMesh/rotateMesh.C @@ -24,6 +24,9 @@ License Application rotateMesh +Group + grpMeshManipulationUtilities + Description Rotates the mesh and fields from the direction n1 to direction n2. diff --git a/applications/utilities/mesh/manipulation/setSet/setSet.C b/applications/utilities/mesh/manipulation/setSet/setSet.C index 1cd3ad6958..4919e21d70 100644 --- a/applications/utilities/mesh/manipulation/setSet/setSet.C +++ b/applications/utilities/mesh/manipulation/setSet/setSet.C @@ -24,6 +24,9 @@ License Application setSet +Group + grpMeshManipulationUtilities + Description Manipulate a cell/face/point/ set or zone interactively. diff --git a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C index 8b23cfe5cd..d855e98ca1 100644 --- a/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C +++ b/applications/utilities/mesh/manipulation/setsToZones/setsToZones.C @@ -24,6 +24,9 @@ License Application setsToZones +Group + grpMeshManipulationUtilities + Description Add pointZones/faceZones/cellZones to the mesh from similar named pointSets/faceSets/cellSets. diff --git a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C index 7ce51edf61..e015102ab1 100644 --- a/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C +++ b/applications/utilities/mesh/manipulation/singleCellMesh/singleCellMesh.C @@ -24,6 +24,9 @@ License Application singleCellMesh +Group + grpMeshManipulationUtilities + Description Reads all fields and maps them to a mesh with all internal faces removed (singleCellFvMesh) which gets written to region "singleCell". diff --git a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C index 5cac0dad7d..09a3d25d59 100644 --- a/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C +++ b/applications/utilities/mesh/manipulation/splitMesh/splitMesh.C @@ -24,6 +24,9 @@ License Application splitMesh +Group + grpMeshManipulationUtilities + Description Splits mesh by making internal faces external. Uses attachDetach. diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C index 529153f812..a5789e7ebd 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C @@ -24,6 +24,9 @@ License Application splitMeshRegions +Group + grpMeshManipulationUtilities + Description Splits mesh into multiple regions. diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C index 1902f1543d..1718d725f9 100644 --- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C +++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C @@ -24,6 +24,10 @@ License Application stitchMesh +Group + grpMeshManipulationUtilities + + Description 'Stitches' a mesh. diff --git a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C index c158b74842..19489611c4 100644 --- a/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C +++ b/applications/utilities/mesh/manipulation/subsetMesh/subsetMesh.C @@ -24,6 +24,9 @@ License Application subsetMesh +Group + grpMeshManipulationUtilities + Description Selects a section of mesh based on a cellSet. diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSet.C b/applications/utilities/mesh/manipulation/topoSet/topoSet.C index 8f368f1b3f..d5e5358bf5 100644 --- a/applications/utilities/mesh/manipulation/topoSet/topoSet.C +++ b/applications/utilities/mesh/manipulation/topoSet/topoSet.C @@ -24,6 +24,9 @@ License Application topoSet +Group + grpMeshManipulationUtilities + Description Operates on cellSets/faceSets/pointSets through a dictionary. diff --git a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C index cfddb19c2e..eb13245ec3 100644 --- a/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C +++ b/applications/utilities/mesh/manipulation/transformPoints/transformPoints.C @@ -24,6 +24,9 @@ License Application transformPoints +Group + grpMeshManipulationUtilities + Description Transforms the mesh points in the polyMesh directory according to the translate, rotate and scale options. diff --git a/applications/utilities/mesh/manipulation/zipUpMesh/zipUpMesh.C b/applications/utilities/mesh/manipulation/zipUpMesh/zipUpMesh.C index f4df1dd062..4dbc6a4a75 100644 --- a/applications/utilities/mesh/manipulation/zipUpMesh/zipUpMesh.C +++ b/applications/utilities/mesh/manipulation/zipUpMesh/zipUpMesh.C @@ -24,6 +24,9 @@ License Application zipUpMesh +Group + grpMeshManipulationUtilities + Description Reads in a mesh with hanging vertices and zips up the cells to guarantee that all polyhedral cells of valid shape are closed. diff --git a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C index 1b8ecac86d..cdbd3c76a9 100644 --- a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C +++ b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C @@ -24,6 +24,9 @@ License Application expandDictionary +Group + grpMiscUtilities + Description Read the dictionary provided as an argument, expand the macros etc. and write the resulting dictionary to standard output. diff --git a/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C b/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C index 1b5670fc83..c9ad6ca0a9 100644 --- a/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C +++ b/applications/utilities/miscellaneous/foamDebugSwitches/foamDebugSwitches.C @@ -24,6 +24,9 @@ License Application foamDebugSwitches +Group + grpMiscUtilities + Description Write out all library debug switches. diff --git a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C index 715af2481a..81971b85f5 100644 --- a/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C +++ b/applications/utilities/miscellaneous/foamFormatConvert/foamFormatConvert.C @@ -24,6 +24,9 @@ License Application foamFormatConvert +Group + grpMiscUtilities + Description Converts all IOobjects associated with a case into the format specified in the controlDict. diff --git a/applications/utilities/miscellaneous/foamHelp/foamHelp.C b/applications/utilities/miscellaneous/foamHelp/foamHelp.C index 277b7a024a..d4d145ee21 100644 --- a/applications/utilities/miscellaneous/foamHelp/foamHelp.C +++ b/applications/utilities/miscellaneous/foamHelp/foamHelp.C @@ -24,6 +24,9 @@ License Application foamHelp +Group + grpMiscUtilities + Description Top level wrapper utility around foam help utilities diff --git a/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C b/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C index 74d9028c2b..3b336287f8 100644 --- a/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C +++ b/applications/utilities/miscellaneous/foamInfoExec/foamInfoExec.C @@ -24,6 +24,9 @@ License Application foamInfoExec +Group + grpMiscUtilities + Description Interrogates a case and prints information to stdout. diff --git a/applications/utilities/miscellaneous/patchSummary/patchSummary.C b/applications/utilities/miscellaneous/patchSummary/patchSummary.C index 074774676a..2dc5cbcacd 100644 --- a/applications/utilities/miscellaneous/patchSummary/patchSummary.C +++ b/applications/utilities/miscellaneous/patchSummary/patchSummary.C @@ -24,6 +24,9 @@ License Application patchSummary +Group + grpMiscUtilities + Description Writes fields and boundary condition info for each patch at each requested time instance. diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index 06d35e8748..e5ea04995a 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -24,6 +24,9 @@ License Application decomposePar +Group + grpParallelUtilities + Description Automatically decomposes a mesh and fields of a case for parallel execution of OpenFOAM. diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index 47fc4aacce..a561f05462 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -24,6 +24,9 @@ License Application reconstructPar +Group + grpParallelUtilities + Description Reconstructs fields of a case that is decomposed for parallel execution of OpenFOAM. diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C index a4ccd17bb1..182fb79f7f 100644 --- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C +++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C @@ -24,6 +24,9 @@ License Application reconstructParMesh +Group + grpParallelUtilities + Description Reconstructs a mesh using geometric information only. diff --git a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C index a02bf106a7..f950a4b1ad 100644 --- a/applications/utilities/parallelProcessing/redistributePar/redistributePar.C +++ b/applications/utilities/parallelProcessing/redistributePar/redistributePar.C @@ -24,6 +24,9 @@ License Application redistributePar +Group + grpParallelUtilities + Description Redistributes existing decomposed mesh and fields according to the current settings in the decomposeParDict file. diff --git a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C index 8427f9b1b4..a1eb5461b6 100644 --- a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C +++ b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluent.C @@ -24,6 +24,9 @@ License Application foamDataToFluent +Group + grpPostProcessingUtilities + Description Translates OpenFOAM data to Fluent format. diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C index 234c9d85b3..16efc46ffd 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/foamToEnsight.C @@ -24,6 +24,9 @@ License Application foamToEnsight +Group + grpPostProcessingUtilitie + Description Translates OpenFOAM data to EnSight format. diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C index 0a3cdf6509..1146926afe 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C @@ -24,6 +24,9 @@ License Application foamToEnsightParts +Group + grpPostProcessingUtilities + Description Translates OpenFOAM data to Ensight format. An Ensight part is created for each cellZone and patch. diff --git a/applications/utilities/postProcessing/dataConversion/foamToGMV/foamToGMV.C b/applications/utilities/postProcessing/dataConversion/foamToGMV/foamToGMV.C index 9014f10ffd..7c74c7e203 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToGMV/foamToGMV.C +++ b/applications/utilities/postProcessing/dataConversion/foamToGMV/foamToGMV.C @@ -24,6 +24,9 @@ License Application foamToGMV +Group + grpPostProcessingUtilities + Description Translates foam output to GMV readable files. diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C index 3cf58fde37..b834cca26a 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/foamToTecplot360.C @@ -24,6 +24,9 @@ License Application foamToTecplot360 +Group + grpPostProcessingUtilities + Description Tecplot binary file format writer. diff --git a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C index 6e50d70471..786a137a7d 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C +++ b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C @@ -24,6 +24,9 @@ License Application foamToTetDualMesh +Group + grpPostProcessingUtilities + Description Converts polyMesh results to tetDualMesh. diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C index b4c26b21cf..46ec648fd5 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK.C @@ -24,6 +24,9 @@ License Application foamToVTK +Group + grpPostProcessingUtilities + Description Legacy VTK file format writer. diff --git a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C index 2b186d88ba..5cceb026f4 100644 --- a/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C +++ b/applications/utilities/postProcessing/dataConversion/smapToFoam/smapToFoam.C @@ -24,6 +24,9 @@ License Application smapToFoam +Group + grpPostProcessingUtilities + Description Translates a STAR-CD SMAP data file into OpenFOAM field format. diff --git a/applications/utilities/postProcessing/foamCalc/foamCalcApp.C b/applications/utilities/postProcessing/foamCalc/foamCalcApp.C index 0a24afc131..ecdb57f1cf 100644 --- a/applications/utilities/postProcessing/foamCalc/foamCalcApp.C +++ b/applications/utilities/postProcessing/foamCalc/foamCalcApp.C @@ -24,6 +24,9 @@ License Application foamCalc +Group + grpPostProcessingUtilities + Description Generic wrapper for calculating a quantity at each time. diff --git a/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C b/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C index d6dbcb41e4..3a570236a6 100644 --- a/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C +++ b/applications/utilities/postProcessing/lagrangian/particleTracks/particleTracks.C @@ -24,6 +24,9 @@ License Application particleTracks +Group + grpPostProcessingUtilities + Description Generates a VTK file of particle tracks for cases that were computed using a tracked-parcel-type cloud. diff --git a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C index 11f6bd116e..c306ed14ae 100644 --- a/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C +++ b/applications/utilities/postProcessing/lagrangian/steadyParticleTracks/steadyParticleTracks.C @@ -24,6 +24,10 @@ License Application steadyParticleTracks +Group + grpPostProcessingUtilitie + + Description Generates a VTK file of particle tracks for cases that were computed using a steady-state cloud diff --git a/applications/utilities/postProcessing/miscellaneous/dsmcFieldsCalc/dsmcFieldsCalc.C b/applications/utilities/postProcessing/miscellaneous/dsmcFieldsCalc/dsmcFieldsCalc.C index 5abf6253fe..c634412aa2 100644 --- a/applications/utilities/postProcessing/miscellaneous/dsmcFieldsCalc/dsmcFieldsCalc.C +++ b/applications/utilities/postProcessing/miscellaneous/dsmcFieldsCalc/dsmcFieldsCalc.C @@ -24,6 +24,9 @@ License Application dsmcFieldsCalc +Group + grpPostProcessingUtilities + Description Calculate intensive fields (U and T) from averaged extensive fields from a DSMC calculation. diff --git a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C index 42904e4c68..f5d2261bc5 100644 --- a/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C +++ b/applications/utilities/postProcessing/miscellaneous/engineCompRatio/engineCompRatio.C @@ -24,6 +24,9 @@ License Application engineCompRatio +Group + grpPostProcessingUtilities + Description Calculate the geometric compression ratio. @@ -83,7 +86,7 @@ int main(int argc, char *argv[]) Info<< "\nVmax = " << Vmax << ", Vmin = " << Vmin << nl << "Vmax/Vmin = " << Vmax/Vmin << endl; - + Info<< "\nEnd\n" << endl; return 0; diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C index 2baabfa331..b0c422cc65 100644 --- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C +++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/execFlowFunctionObjects.C @@ -24,6 +24,9 @@ License Application execFlowFunctionObjects +Group + grpPostProcessingUtilities + Description Execute the set of functionObjects specified in the selected dictionary (which defaults to system/controlDict) for the selected set of times. diff --git a/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C b/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C index 88be47e53d..553f9f7f52 100644 --- a/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C +++ b/applications/utilities/postProcessing/miscellaneous/foamListTimes/foamListTimes.C @@ -24,6 +24,9 @@ License Application foamListTimes +Group + grpPostProcessingUtilities + Description List times using timeSelector. diff --git a/applications/utilities/postProcessing/miscellaneous/pdfPlot/pdfPlot.C b/applications/utilities/postProcessing/miscellaneous/pdfPlot/pdfPlot.C index ea9f4f03bb..57bcfa9510 100644 --- a/applications/utilities/postProcessing/miscellaneous/pdfPlot/pdfPlot.C +++ b/applications/utilities/postProcessing/miscellaneous/pdfPlot/pdfPlot.C @@ -24,6 +24,9 @@ License Application pdfPlot +Group + grpPostProcessingUtilitie + Description Generates a graph of a probability distribution function. diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C b/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C index 93373ee6a9..7533203900 100644 --- a/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C +++ b/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C @@ -24,6 +24,9 @@ License Application postChannel +Group + grpPostProcessingUtilities + Description Post-processes data from channel flow calculations. diff --git a/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C b/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C index 0f47e54d6a..59f8c66ea4 100644 --- a/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C +++ b/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C @@ -24,6 +24,9 @@ License Application ptot +Group + grpPostProcessingUtilities + Description For each time: calculate the total pressure. diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C index ea8fc4975d..37638d2c9f 100644 --- a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C +++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C @@ -21,6 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . +Application + temporalInterpolate + +Group + grpPostProcessingUtilities + Description Interpolate fields between time-steps e.g. for animation. diff --git a/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C b/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C index 873bb53a72..121c88aea5 100644 --- a/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C +++ b/applications/utilities/postProcessing/miscellaneous/wdot/wdot.C @@ -24,6 +24,9 @@ License Application wdot +Group + grpPostProcessingUtilities + Description Calculates and writes wdot for each time. diff --git a/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C b/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C index 0025015339..fe1a749749 100644 --- a/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C +++ b/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C @@ -21,6 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . +Application + writeCellCentres + +Group + grpPostProcessingUtilities + Description Write the three components of the cell centres as volScalarFields so they can be used in postprocessing in thresholding. diff --git a/applications/utilities/postProcessing/noise/noise.C b/applications/utilities/postProcessing/noise/noise.C index 43597560f0..1b0ca07fec 100644 --- a/applications/utilities/postProcessing/noise/noise.C +++ b/applications/utilities/postProcessing/noise/noise.C @@ -24,6 +24,9 @@ License Application noise +Group + grpPostProcessingUtilities + Description Utility to perform noise analysis of pressure data using the noiseFFT library. diff --git a/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C b/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C index 53190221b7..4830e2d54e 100644 --- a/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C +++ b/applications/utilities/postProcessing/patch/patchAverage/patchAverage.C @@ -24,6 +24,9 @@ License Application patchAverage +Group + grpPostProcessingUtilities + Description Calculates the average of the specified field over the specified patch. diff --git a/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C b/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C index e17f43cf29..f1a26f6504 100644 --- a/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C +++ b/applications/utilities/postProcessing/patch/patchIntegrate/patchIntegrate.C @@ -24,6 +24,9 @@ License Application patchIntegrate +Group + grpPostProcessingUtilities + Description Calculates the integral of the specified field over the specified patch. diff --git a/applications/utilities/postProcessing/sampling/probeLocations/probeLocations.C b/applications/utilities/postProcessing/sampling/probeLocations/probeLocations.C index daf48a3f68..40ce8dc038 100644 --- a/applications/utilities/postProcessing/sampling/probeLocations/probeLocations.C +++ b/applications/utilities/postProcessing/sampling/probeLocations/probeLocations.C @@ -24,6 +24,9 @@ License Application probeLocations +Group + grpPostProcessingUtilities + Description Probe locations. diff --git a/applications/utilities/postProcessing/sampling/sample/sample.C b/applications/utilities/postProcessing/sampling/sample/sample.C index 59abc2e2f1..0f47b2bca8 100644 --- a/applications/utilities/postProcessing/sampling/sample/sample.C +++ b/applications/utilities/postProcessing/sampling/sample/sample.C @@ -24,6 +24,9 @@ License Application sample +Group + grpPostProcessingUtilities + Description Sample field data with a choice of interpolation schemes, sampling options and write formats. diff --git a/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C b/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C index 46b11f79f2..e24c4b8542 100644 --- a/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C +++ b/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C @@ -24,6 +24,9 @@ License Application pPrime2 +Group + grpPostProcessingUtilities + Description Calculates and writes the scalar field of pPrime2 (sqr(p - pMean)) at each time diff --git a/applications/utilities/postProcessing/turbulence/R/R.C b/applications/utilities/postProcessing/turbulence/R/R.C index 2d7bab324c..d75ece4737 100644 --- a/applications/utilities/postProcessing/turbulence/R/R.C +++ b/applications/utilities/postProcessing/turbulence/R/R.C @@ -24,6 +24,9 @@ License Application R +Group + grpPostProcessingUtilities + Description Calculates and writes the Reynolds stress R for the current time step. diff --git a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C index 06ceb70f49..64754db868 100644 --- a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C +++ b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/createTurbulenceFields.C @@ -24,6 +24,9 @@ License Application createTurbulenceFields +Group + grpPostProcessingUtilities + Description Creates a full set of turbulence fields. diff --git a/applications/utilities/postProcessing/velocityField/Co/Co.C b/applications/utilities/postProcessing/velocityField/Co/Co.C index 1e88dd92d3..96e6a2107f 100644 --- a/applications/utilities/postProcessing/velocityField/Co/Co.C +++ b/applications/utilities/postProcessing/velocityField/Co/Co.C @@ -24,6 +24,9 @@ License Application Co +Group + grpPostProcessingUtilities + Description Calculates and writes the Co number as a volScalarField obtained from field phi. diff --git a/applications/utilities/postProcessing/velocityField/Lambda2/Lambda2.C b/applications/utilities/postProcessing/velocityField/Lambda2/Lambda2.C index 3208b5beeb..d545ae0b95 100644 --- a/applications/utilities/postProcessing/velocityField/Lambda2/Lambda2.C +++ b/applications/utilities/postProcessing/velocityField/Lambda2/Lambda2.C @@ -24,6 +24,9 @@ License Application Lambda2 +Group + grpPostProcessingUtilities + Description Calculates and writes the second largest eigenvalue of the sum of the square of the symmetrical and anti-symmetrical parts of the velocity diff --git a/applications/utilities/postProcessing/velocityField/Mach/Mach.C b/applications/utilities/postProcessing/velocityField/Mach/Mach.C index 9914a3a098..9fdd797c92 100644 --- a/applications/utilities/postProcessing/velocityField/Mach/Mach.C +++ b/applications/utilities/postProcessing/velocityField/Mach/Mach.C @@ -24,6 +24,9 @@ License Application Mach +Group + grpPostProcessingUtilities + Description Calculates and optionally writes the local Mach number from the velocity field U at each time. diff --git a/applications/utilities/postProcessing/velocityField/Pe/Pe.C b/applications/utilities/postProcessing/velocityField/Pe/Pe.C index 69c4964429..79e9c5bdb2 100644 --- a/applications/utilities/postProcessing/velocityField/Pe/Pe.C +++ b/applications/utilities/postProcessing/velocityField/Pe/Pe.C @@ -24,6 +24,9 @@ License Application Pe +Group + grpPostProcessingUtilities + Description Calculates the Peclet number Pe from the flux phi and writes the maximum value, the surfaceScalarField Pef and volScalarField Pe. diff --git a/applications/utilities/postProcessing/velocityField/Q/Q.C b/applications/utilities/postProcessing/velocityField/Q/Q.C index b54a4ce399..04f1b7c202 100644 --- a/applications/utilities/postProcessing/velocityField/Q/Q.C +++ b/applications/utilities/postProcessing/velocityField/Q/Q.C @@ -24,6 +24,9 @@ License Application Q +Group + grpPostProcessingUtilities + Description Calculates and writes the second invariant of the velocity gradient tensor. diff --git a/applications/utilities/postProcessing/velocityField/enstrophy/enstrophy.C b/applications/utilities/postProcessing/velocityField/enstrophy/enstrophy.C index ea681d69d9..971ea8d73f 100644 --- a/applications/utilities/postProcessing/velocityField/enstrophy/enstrophy.C +++ b/applications/utilities/postProcessing/velocityField/enstrophy/enstrophy.C @@ -24,6 +24,9 @@ License Application enstrophy +Group + grpPostProcessingUtilities + Description Calculates and writes the enstrophy of the velocity field U. diff --git a/applications/utilities/postProcessing/velocityField/flowType/flowType.C b/applications/utilities/postProcessing/velocityField/flowType/flowType.C index 309393d19d..d26668d52e 100644 --- a/applications/utilities/postProcessing/velocityField/flowType/flowType.C +++ b/applications/utilities/postProcessing/velocityField/flowType/flowType.C @@ -24,6 +24,9 @@ License Application flowType +Group + grpPostProcessingUtilities + Description Calculates and writes the flowType of velocity field U. diff --git a/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C b/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C index 120c197a91..341832e655 100644 --- a/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C +++ b/applications/utilities/postProcessing/velocityField/streamFunction/streamFunction.C @@ -24,6 +24,9 @@ License Application streamFunction +Group + grpPostProcessingUtilities + Description Calculates and writes the stream function of velocity field U at each time. diff --git a/applications/utilities/postProcessing/velocityField/uprime/uprime.C b/applications/utilities/postProcessing/velocityField/uprime/uprime.C index 8b1b9f15b0..2ec5c44427 100644 --- a/applications/utilities/postProcessing/velocityField/uprime/uprime.C +++ b/applications/utilities/postProcessing/velocityField/uprime/uprime.C @@ -24,6 +24,9 @@ License Application uprime +Group + grpPostProcessingUtilities + Description Calculates and writes the scalar field of uprime (sqrt(2/3 k)). diff --git a/applications/utilities/postProcessing/velocityField/vorticity/vorticity.C b/applications/utilities/postProcessing/velocityField/vorticity/vorticity.C index 7662dff311..efc95a8bd3 100644 --- a/applications/utilities/postProcessing/velocityField/vorticity/vorticity.C +++ b/applications/utilities/postProcessing/velocityField/vorticity/vorticity.C @@ -24,6 +24,9 @@ License Application vorticity +Group + grpPostProcessingUtilities + Description Calculates and writes the vorticity of velocity field U. diff --git a/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C b/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C index 650d075ea7..9d5b29f498 100644 --- a/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C +++ b/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C @@ -24,6 +24,9 @@ License Application wallGradU +Group + grpPostProcessingUtilities + Description Calculates and writes the gradient of U at the wall. diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C index d1c37e70cc..00a2211d2c 100644 --- a/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C +++ b/applications/utilities/postProcessing/wall/wallHeatFlux/wallHeatFlux.C @@ -24,6 +24,9 @@ License Application wallHeatFlux +Group + grpPostProcessingUtilities + Description Calculates and writes the heat flux for all patches as the boundary field of a volScalarField and also prints the integrated flux for all wall diff --git a/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C b/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C index 6d8b48dff6..025f3a5a27 100644 --- a/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C +++ b/applications/utilities/postProcessing/wall/wallShearStress/wallShearStress.C @@ -24,6 +24,9 @@ License Application wallShearStress +Group + grpPostProcessingUtilities + Description Calculates and reports the turbulent wall shear stress for all patches, for the specified times. diff --git a/applications/utilities/postProcessing/wall/yPlus/yPlus.C b/applications/utilities/postProcessing/wall/yPlus/yPlus.C index 04d80ab6c0..492cd57fd7 100644 --- a/applications/utilities/postProcessing/wall/yPlus/yPlus.C +++ b/applications/utilities/postProcessing/wall/yPlus/yPlus.C @@ -24,6 +24,9 @@ License Application yPlus +Group + grpPostProcessingUtilities + Description Calculates and reports yPlus for the near-wall cells of all wall patches, for the specified times for laminar, LES and RAS. diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C index 7b597bd777..3783227fa3 100644 --- a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C +++ b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C @@ -24,6 +24,9 @@ License Application applyBoundaryLayer +Group + grpPreProcessingUtilities + Description Apply a simplified boundary-layer model to the velocity and turbulence fields based on the 1/7th power-law. diff --git a/applications/utilities/preProcessing/boxTurb/boxTurb.C b/applications/utilities/preProcessing/boxTurb/boxTurb.C index 4ed0356e1c..56cfb42d32 100644 --- a/applications/utilities/preProcessing/boxTurb/boxTurb.C +++ b/applications/utilities/preProcessing/boxTurb/boxTurb.C @@ -24,6 +24,9 @@ License Application boxTurb +Group + grpPreProcessingUtilities + Description Makes a box of turbulence which conforms to a given energy spectrum and is divergence free. diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C index adacf92248..30f0a480fc 100644 --- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C +++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C @@ -24,6 +24,9 @@ License Application changeDictionary +Group + grpPreProcessingUtilities + Description Utility to change dictionary entries, e.g. can be used to change the patch type in the field and polyMesh/boundary files. diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C index 6a8b78c683..bcb6fa7860 100644 --- a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C +++ b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C @@ -24,6 +24,9 @@ License Application createExternalCoupledPatchGeometry. +Group + grpPreProcessingUtilities + Description Application to generate the patch geometry (points and faces) for use with the externalCoupled functionObject. diff --git a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C index e7da840547..68ef4c3d69 100644 --- a/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C +++ b/applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C @@ -24,6 +24,9 @@ License Application createZeroDirectory +Group + grpPreProcessingUtilities + Description Creates a zero directory with fields appropriate for the chosen solver and turbulence model. Operates on both single and multi-region cases. diff --git a/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C b/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C index e873f10d77..f2a2574e9d 100644 --- a/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C +++ b/applications/utilities/preProcessing/dsmcInitialise/dsmcInitialise.C @@ -24,6 +24,9 @@ License Application dsmcInitialise +Group + grpPreProcessingUtilities + Description Initialise a case for dsmcFoam by reading the initialisation dictionary system/dsmcInitialise. diff --git a/applications/utilities/preProcessing/engineSwirl/engineSwirl.C b/applications/utilities/preProcessing/engineSwirl/engineSwirl.C index 4652cb2afd..f59d166d68 100644 --- a/applications/utilities/preProcessing/engineSwirl/engineSwirl.C +++ b/applications/utilities/preProcessing/engineSwirl/engineSwirl.C @@ -24,6 +24,9 @@ License Application engineSwirl +Group + grpPreProcessingUtilities + Description Generates a swirling flow for engine calulations. diff --git a/applications/utilities/preProcessing/faceAgglomerate/faceAgglomerate.C b/applications/utilities/preProcessing/faceAgglomerate/faceAgglomerate.C index 163c9fa8c1..808e9a7cf8 100644 --- a/applications/utilities/preProcessing/faceAgglomerate/faceAgglomerate.C +++ b/applications/utilities/preProcessing/faceAgglomerate/faceAgglomerate.C @@ -24,6 +24,9 @@ License Application faceAgglomerate +Group + grpPreProcessingUtilities + Description Agglomerate boundary faces using the pairPatchAgglomeration algorithm. diff --git a/applications/utilities/preProcessing/foamUpgradeCyclics/foamUpgradeCyclics.C b/applications/utilities/preProcessing/foamUpgradeCyclics/foamUpgradeCyclics.C index 7f2746338c..66e2f4f651 100644 --- a/applications/utilities/preProcessing/foamUpgradeCyclics/foamUpgradeCyclics.C +++ b/applications/utilities/preProcessing/foamUpgradeCyclics/foamUpgradeCyclics.C @@ -24,6 +24,9 @@ License Application foamUpgradeCyclics +Group + grpPreProcessingUtilities + Description Tool to upgrade mesh and fields for split cyclics. diff --git a/applications/utilities/preProcessing/mapFields/mapFields.C b/applications/utilities/preProcessing/mapFields/mapFields.C index 6e3f4ef06b..5eceb0c2b5 100644 --- a/applications/utilities/preProcessing/mapFields/mapFields.C +++ b/applications/utilities/preProcessing/mapFields/mapFields.C @@ -24,6 +24,9 @@ License Application mapFields +Group + grpPreProcessingUtilities + Description Maps volume fields from one mesh to another, reading and interpolating all fields present in the time directory of both cases. diff --git a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C index fdfdaad1da..2043644e20 100644 --- a/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C +++ b/applications/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C @@ -24,6 +24,9 @@ License Application mapFieldsPar +Group + grpPreProcessingUtilities + Description Maps volume fields from one mesh to another, reading and interpolating all fields present in the time directory of both cases. diff --git a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C index 7af246cb25..a3127cdc1f 100644 --- a/applications/utilities/preProcessing/mdInitialise/mdInitialise.C +++ b/applications/utilities/preProcessing/mdInitialise/mdInitialise.C @@ -21,6 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . +Application + mdInitialise + +Group + grpPreProcessingUtilities + Description Initialises fields for a molecular dynamics (MD) simulation. diff --git a/applications/utilities/preProcessing/setFields/setFields.C b/applications/utilities/preProcessing/setFields/setFields.C index 7d22cec68b..9517689240 100644 --- a/applications/utilities/preProcessing/setFields/setFields.C +++ b/applications/utilities/preProcessing/setFields/setFields.C @@ -21,6 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . +Application + setFields + +Group + grpPreProcessingUtilities + Description Set values on a selected set of cells/patchfaces through a dictionary. diff --git a/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C b/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C index 02f0c5d9ad..11a8becd5a 100644 --- a/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C +++ b/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C @@ -24,6 +24,9 @@ License Application viewFactorsGen +Group + grpPreProcessingUtilities + Description View factors are calculated based on a face agglomeration array (finalAgglom generated by faceAgglomerate utility). diff --git a/applications/utilities/preProcessing/wallFunctionTable/wallFunctionTableApp.C b/applications/utilities/preProcessing/wallFunctionTable/wallFunctionTableApp.C index eca14ca40c..6e2da72660 100644 --- a/applications/utilities/preProcessing/wallFunctionTable/wallFunctionTableApp.C +++ b/applications/utilities/preProcessing/wallFunctionTable/wallFunctionTableApp.C @@ -24,6 +24,9 @@ License Application wallFunctionTable +Group + grpPreProcessingUtilities + Description Generates a table suitable for use by tabulated wall functions. diff --git a/applications/utilities/surface/surfaceAdd/surfaceAdd.C b/applications/utilities/surface/surfaceAdd/surfaceAdd.C index 9ac5bbbb94..5072534076 100644 --- a/applications/utilities/surface/surfaceAdd/surfaceAdd.C +++ b/applications/utilities/surface/surfaceAdd/surfaceAdd.C @@ -24,6 +24,9 @@ License Application surfaceAdd +Group + grpSurfaceUtilities + Description Add two surfaces. Does geometric merge on points. Does not check for overlapping/intersecting triangles. diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C index f8c094c4bd..c24520790b 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C +++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C @@ -24,6 +24,9 @@ License Application surfaceBooleanFeatures +Group + grpSurfaceUtilities + Description Generates the extendedFeatureEdgeMesh for the interface between a boolean operation on two surfaces. diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C index 16989e4771..7b223a36d9 100644 --- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C +++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C @@ -24,6 +24,9 @@ License Application surfaceCheck +Group + grpSurfaceUtilities + Description Checks geometric and topological quality of a surface. diff --git a/applications/utilities/surface/surfaceClean/surfaceClean.C b/applications/utilities/surface/surfaceClean/surfaceClean.C index eecdbb5155..6c55ce14d5 100644 --- a/applications/utilities/surface/surfaceClean/surfaceClean.C +++ b/applications/utilities/surface/surfaceClean/surfaceClean.C @@ -24,6 +24,9 @@ License Application surfaceClean +Group + grpSurfaceUtilities + Description Utility to clean surfaces. diff --git a/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C b/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C index fdbeca8e28..24284ec5d4 100644 --- a/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C +++ b/applications/utilities/surface/surfaceCoarsen/surfaceCoarsen.C @@ -24,6 +24,9 @@ License Application surfaceCoarsen +Group + grpSurfaceUtilities + Description Surface coarsening using `bunnylod' diff --git a/applications/utilities/surface/surfaceConvert/surfaceConvert.C b/applications/utilities/surface/surfaceConvert/surfaceConvert.C index 1d79b08059..c1f637c3e2 100644 --- a/applications/utilities/surface/surfaceConvert/surfaceConvert.C +++ b/applications/utilities/surface/surfaceConvert/surfaceConvert.C @@ -24,6 +24,9 @@ License Application surfaceConvert +Group + grpSurfaceUtilities + Description Converts from one surface mesh format to another. diff --git a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C index 1263b7813a..bf9f1040ca 100644 --- a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C +++ b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C @@ -24,6 +24,9 @@ License Application surfaceFeatureConvert +Group + grpSurfaceUtilities + Description Convert between edgeMesh formats. diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C index 5c81c5699c..9c9db1babf 100644 --- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C +++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C @@ -24,6 +24,9 @@ License Application surfaceFeatureExtract +Group + grpSurfaceUtilities + Description Extracts and writes surface features to file. All but the basic feature extraction is WIP. diff --git a/applications/utilities/surface/surfaceFind/surfaceFind.C b/applications/utilities/surface/surfaceFind/surfaceFind.C index b002e13d31..279411cc7e 100644 --- a/applications/utilities/surface/surfaceFind/surfaceFind.C +++ b/applications/utilities/surface/surfaceFind/surfaceFind.C @@ -24,6 +24,9 @@ License Application surfaceFind +Group + grpSurfaceUtilities + Description Finds nearest face and vertex. diff --git a/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C b/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C index b7c5ca03b2..64c0f5f5fa 100644 --- a/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C +++ b/applications/utilities/surface/surfaceHookUp/surfaceHookUp.C @@ -24,6 +24,9 @@ License Application surfaceHookUp +Group + grpSurfaceUtilities + Description Find close open edges and stitches the surface along them diff --git a/applications/utilities/surface/surfaceInertia/surfaceInertia.C b/applications/utilities/surface/surfaceInertia/surfaceInertia.C index 3c83296697..e566d09ca2 100644 --- a/applications/utilities/surface/surfaceInertia/surfaceInertia.C +++ b/applications/utilities/surface/surfaceInertia/surfaceInertia.C @@ -24,6 +24,9 @@ License Application surfaceInertia +Group + grpSurfaceUtilities + Description Calculates the inertia tensor, principal axes and moments of a command line specified triSurface. diff --git a/applications/utilities/surface/surfaceInflate/surfaceInflate.C b/applications/utilities/surface/surfaceInflate/surfaceInflate.C index e30ff5fc55..c8edf91962 100644 --- a/applications/utilities/surface/surfaceInflate/surfaceInflate.C +++ b/applications/utilities/surface/surfaceInflate/surfaceInflate.C @@ -24,6 +24,9 @@ License Application surfaceInflate +Group + grpSurfaceUtilities + Description Inflates surface. WIP. Checks for overlaps and locally lowers inflation distance diff --git a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C index 0352ce0eef..e7006475c7 100644 --- a/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C +++ b/applications/utilities/surface/surfaceLambdaMuSmooth/surfaceLambdaMuSmooth.C @@ -24,6 +24,9 @@ License Application surfaceLambdaMuSmooth +Group + grpSurfaceUtilities + Description Smooths a surface using lambda/mu smoothing. diff --git a/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C b/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C index e34cf579b3..c35819d008 100644 --- a/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C +++ b/applications/utilities/surface/surfaceMeshConvert/surfaceMeshConvert.C @@ -24,6 +24,9 @@ License Application surfaceMeshConvert +Group + grpSurfaceUtilities + Description Converts between surface formats with optional scaling or transformations (rotate/translate) on a coordinateSystem. diff --git a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C index 12bd9f32e2..dfd2d5f2cc 100644 --- a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C +++ b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C @@ -24,6 +24,9 @@ License Application surfaceMeshConvertTesting +Group + grpSurfaceUtilities + Description Converts from one surface mesh format to another, but primarily used for testing functionality. diff --git a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C index d9c98b3e74..11accd59cb 100644 --- a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C +++ b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C @@ -24,6 +24,9 @@ License Application surfaceMeshExport +Group + grpSurfaceUtilities + Description Export from surfMesh to various third-party surface formats with optional scaling or transformations (rotate/translate) on a diff --git a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C index 708d5ab5ba..5534398026 100644 --- a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C +++ b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C @@ -24,6 +24,9 @@ License Application surfaceMeshImport +Group + grpSurfaceUtilities + Description Import from various third-party surface formats into surfMesh with optional scaling or transformations (rotate/translate) diff --git a/applications/utilities/surface/surfaceMeshInfo/surfaceMeshInfo.C b/applications/utilities/surface/surfaceMeshInfo/surfaceMeshInfo.C index 0129154b84..3ea27c4f8b 100644 --- a/applications/utilities/surface/surfaceMeshInfo/surfaceMeshInfo.C +++ b/applications/utilities/surface/surfaceMeshInfo/surfaceMeshInfo.C @@ -24,6 +24,9 @@ License Application surfaceMeshInfo +Group + grpSurfaceUtilities + Description Miscellaneous information about surface meshes. diff --git a/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C b/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C index 580411eda6..2a42bd8ce0 100644 --- a/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C +++ b/applications/utilities/surface/surfaceMeshTriangulate/surfaceMeshTriangulate.C @@ -24,6 +24,9 @@ License Application surfaceMeshTriangulate +Group + grpSurfaceUtilities + Description Extracts surface from a polyMesh. Depending on output surface format triangulates faces. diff --git a/applications/utilities/surface/surfaceOrient/surfaceOrient.C b/applications/utilities/surface/surfaceOrient/surfaceOrient.C index 29b60c7916..4dad7dd570 100644 --- a/applications/utilities/surface/surfaceOrient/surfaceOrient.C +++ b/applications/utilities/surface/surfaceOrient/surfaceOrient.C @@ -24,6 +24,9 @@ License Application surfaceOrient +Group + grpSurfaceUtilities + Description Set normal consistent with respect to a user provided 'outside' point. If the -inside option is used the point is considered inside. diff --git a/applications/utilities/surface/surfacePatch/surfacePatch.C b/applications/utilities/surface/surfacePatch/surfacePatch.C index 3df36f6ec6..474a820623 100644 --- a/applications/utilities/surface/surfacePatch/surfacePatch.C +++ b/applications/utilities/surface/surfacePatch/surfacePatch.C @@ -24,6 +24,9 @@ License Application surfacePatch +Group + grpSurfaceUtilities + Description Patches (regionises) a surface using a user-selectable method. diff --git a/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C b/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C index 585072d7c0..830e861654 100644 --- a/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C +++ b/applications/utilities/surface/surfacePointMerge/surfacePointMerge.C @@ -24,6 +24,9 @@ License Application surfacePointMerge +Group + grpSurfaceUtilities + Description Merges points on surface if they are within absolute distance. Since absolute distance use with care! diff --git a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C index c94e56ac4c..d6bb838e1b 100644 --- a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C +++ b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C @@ -24,6 +24,9 @@ License Application surfaceRedistributePar +Group + grpSurfaceUtilities + Description (Re)distribution of triSurface. Either takes an undecomposed surface or an already decomposed surface and redistributes it so that each diff --git a/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C b/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C index d5d1dccd20..2dbea9fce6 100644 --- a/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C +++ b/applications/utilities/surface/surfaceRefineRedGreen/surfaceRefineRedGreen.C @@ -24,6 +24,9 @@ License Application surfaceRefineRedGreen +Group + grpSurfaceUtilities + Description Refine by splitting all three edges of triangle ('red' refinement). diff --git a/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C b/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C index 2825822607..ae79b9573c 100644 --- a/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C +++ b/applications/utilities/surface/surfaceSplitByPatch/surfaceSplitByPatch.C @@ -24,6 +24,9 @@ License Application surfaceSplitByPatch +Group + grpSurfaceUtilities + Description Writes regions of triSurface to separate files. diff --git a/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.C b/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.C index c90dee56e9..d45ce83154 100644 --- a/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.C +++ b/applications/utilities/surface/surfaceSplitByTopology/surfaceSplitByTopology.C @@ -21,6 +21,12 @@ License You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . +Application + surfaceSplitByTopology + +Group + grpSurfaceUtilities + Description Strips any baffle parts of a surface. diff --git a/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C b/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C index b490fe726a..b8a869ef76 100644 --- a/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C +++ b/applications/utilities/surface/surfaceSplitNonManifolds/surfaceSplitNonManifolds.C @@ -24,6 +24,9 @@ License Application surfaceSplitNonManifolds +Group + grpSurfaceUtilities + Description Takes multiply connected surface and tries to split surface at multiply connected edges by duplicating points. diff --git a/applications/utilities/surface/surfaceSubset/surfaceSubset.C b/applications/utilities/surface/surfaceSubset/surfaceSubset.C index 0a77fde05f..70932a615c 100644 --- a/applications/utilities/surface/surfaceSubset/surfaceSubset.C +++ b/applications/utilities/surface/surfaceSubset/surfaceSubset.C @@ -24,6 +24,9 @@ License Application surfaceSubset +Group + grpSurfaceUtilities + Description A surface analysis tool which sub-sets the triSurface to choose only a part of interest. Based on subsetMesh. diff --git a/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C b/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C index bbcf96b96e..f450b6d453 100644 --- a/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C +++ b/applications/utilities/surface/surfaceToPatch/surfaceToPatch.C @@ -24,6 +24,9 @@ License Application surfaceToPatch +Group + grpSurfaceUtilities + Description Reads surface and applies surface regioning to a mesh. Uses boundaryMesh to do the hard work. diff --git a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C index 3dcc86b9a9..2f1f7699ca 100644 --- a/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C +++ b/applications/utilities/surface/surfaceTransformPoints/surfaceTransformPoints.C @@ -24,6 +24,9 @@ License Application surfaceTransformPoints +Group + grpSurfaceUtilities + Description Transform (scale/rotate) a surface. Like transformPoints but for surfaces. diff --git a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C index 2e41a7870e..7ed0fe3f46 100644 --- a/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C +++ b/applications/utilities/thermophysical/adiabaticFlameT/adiabaticFlameT.C @@ -24,6 +24,9 @@ License Application adiabaticFlameT +Group + grpThermophysicalUtilities + Description Calculates the adiabatic flame temperature for a given fuel over a range of unburnt temperatures and equivalence ratios. diff --git a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C index e91f968a87..83bb9b1db5 100644 --- a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C +++ b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C @@ -24,6 +24,9 @@ License Application chemkinToFoam +Group + grpSurfaceUtilities + Description Converts CHEMKINIII thermodynamics and reaction data files into OpenFOAM format. diff --git a/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C b/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C index 9ecd074bb4..974b9c8549 100644 --- a/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C +++ b/applications/utilities/thermophysical/equilibriumCO/equilibriumCO.C @@ -24,6 +24,9 @@ License Application equilibriumCO +Group + grpThermophysicalUtilities + Description Calculates the equilibrium level of carbon monoxide. diff --git a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C index fae3960ab6..0f2407223c 100644 --- a/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C +++ b/applications/utilities/thermophysical/equilibriumFlameT/equilibriumFlameT.C @@ -24,6 +24,9 @@ License Application equilibriumFlameT +Group + grpThermophysicalUtilities + Description Calculates the equilibrium flame temperature for a given fuel and pressure for a range of unburnt gas temperatures and equivalence diff --git a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C index c755532d65..227ddb1be8 100644 --- a/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C +++ b/applications/utilities/thermophysical/mixtureAdiabaticFlameT/mixtureAdiabaticFlameT.C @@ -24,6 +24,9 @@ License Application mixtureAdiabaticFlameT +Group + grpThermophysicalUtilities + Description Calculates the adiabatic flame temperature for a given mixture at a given temperature. diff --git a/src/ODE/ODESolvers/Euler/Euler.H b/src/ODE/ODESolvers/Euler/Euler.H index fecfc57fa0..228bbdea6d 100644 --- a/src/ODE/ODESolvers/Euler/Euler.H +++ b/src/ODE/ODESolvers/Euler/Euler.H @@ -24,6 +24,9 @@ License Class Foam::Euler +Group + grpODESolvers + Description Euler ODE solver of order (0)1. diff --git a/src/ODE/ODESolvers/EulerSI/EulerSI.H b/src/ODE/ODESolvers/EulerSI/EulerSI.H index a6703cc20c..c9776d9713 100644 --- a/src/ODE/ODESolvers/EulerSI/EulerSI.H +++ b/src/ODE/ODESolvers/EulerSI/EulerSI.H @@ -24,6 +24,9 @@ License Class Foam::EulerSI +Group + grpODESolvers + Description Semi-implicit Euler ODE solver of order (0)1. diff --git a/src/ODE/ODESolvers/ODESolver/ODESolver.H b/src/ODE/ODESolvers/ODESolver/ODESolver.H index de4ef399f8..5d9cd4a70b 100644 --- a/src/ODE/ODESolvers/ODESolver/ODESolver.H +++ b/src/ODE/ODESolvers/ODESolver/ODESolver.H @@ -24,6 +24,9 @@ License Class Foam::ODESolver +Group + grpODESolvers + Description Abstract base-class for ODE system solvers diff --git a/src/ODE/ODESolvers/RKCK45/RKCK45.H b/src/ODE/ODESolvers/RKCK45/RKCK45.H index c376a5f423..3a315237d2 100644 --- a/src/ODE/ODESolvers/RKCK45/RKCK45.H +++ b/src/ODE/ODESolvers/RKCK45/RKCK45.H @@ -24,6 +24,9 @@ License Class Foam::RKCK45 +Group + grpODESolvers + Description 4/5th Order Cash-Karp Runge-Kutta ODE solver. diff --git a/src/ODE/ODESolvers/RKDP45/RKDP45.H b/src/ODE/ODESolvers/RKDP45/RKDP45.H index b3f5c7bca4..f5f783592f 100644 --- a/src/ODE/ODESolvers/RKDP45/RKDP45.H +++ b/src/ODE/ODESolvers/RKDP45/RKDP45.H @@ -24,6 +24,9 @@ License Class Foam::RKDP45 +Group + grpODESolvers + Description 4/5th Order Dormand–Prince Runge-Kutta ODE solver. diff --git a/src/ODE/ODESolvers/RKF45/RKF45.H b/src/ODE/ODESolvers/RKF45/RKF45.H index 5198d5553f..735fe5e12e 100644 --- a/src/ODE/ODESolvers/RKF45/RKF45.H +++ b/src/ODE/ODESolvers/RKF45/RKF45.H @@ -24,6 +24,9 @@ License Class Foam::RKF45 +Group + grpODESolvers + Description 4/5th Order Runge-Kutta-Fehlberg ODE solver diff --git a/src/ODE/ODESolvers/Rosenbrock12/Rosenbrock12.H b/src/ODE/ODESolvers/Rosenbrock12/Rosenbrock12.H index b0bf1c79ef..318091b6b8 100644 --- a/src/ODE/ODESolvers/Rosenbrock12/Rosenbrock12.H +++ b/src/ODE/ODESolvers/Rosenbrock12/Rosenbrock12.H @@ -24,6 +24,9 @@ License Class Foam::Rosenbrock12 +Group + grpODESolvers + Description L-stable embedded Rosenbrock ODE solver of order (1)2. diff --git a/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H b/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H index 38541a7c99..ff97cf10c7 100644 --- a/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H +++ b/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H @@ -24,6 +24,9 @@ License Class Foam::Rosenbrock23 +Group + grpODESolvers + Description L-stable embedded Rosenbrock ODE solver of order (2)3. diff --git a/src/ODE/ODESolvers/Rosenbrock34/Rosenbrock34.H b/src/ODE/ODESolvers/Rosenbrock34/Rosenbrock34.H index 2af18e5d40..9d57979a46 100644 --- a/src/ODE/ODESolvers/Rosenbrock34/Rosenbrock34.H +++ b/src/ODE/ODESolvers/Rosenbrock34/Rosenbrock34.H @@ -24,6 +24,9 @@ License Class Foam::Rosenbrock34 +Group + grpODESolvers + Description L-stable embedded Rosenbrock ODE solver of order (3)4. diff --git a/src/ODE/ODESolvers/SIBS/SIBS.H b/src/ODE/ODESolvers/SIBS/SIBS.H index 0ef0a1d40c..83e5385c29 100644 --- a/src/ODE/ODESolvers/SIBS/SIBS.H +++ b/src/ODE/ODESolvers/SIBS/SIBS.H @@ -24,6 +24,9 @@ License Class Foam::SIBS +Group + grpODESolvers + Description Foam::SIBS diff --git a/src/ODE/ODESolvers/Trapezoid/Trapezoid.H b/src/ODE/ODESolvers/Trapezoid/Trapezoid.H index 667b6ee2ad..1f1c5e6674 100644 --- a/src/ODE/ODESolvers/Trapezoid/Trapezoid.H +++ b/src/ODE/ODESolvers/Trapezoid/Trapezoid.H @@ -24,6 +24,9 @@ License Class Foam::Trapezoid +Group + grpODESolvers + Description Trapezoidal ODE solver of order (1)2. diff --git a/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.H b/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.H index 0d7dcb035c..141ec9bb7a 100644 --- a/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.H +++ b/src/ODE/ODESolvers/adaptiveSolver/adaptiveSolver.H @@ -24,6 +24,9 @@ License Class Foam::adaptiveSolver +Group + grpODESolvers + Description SourceFiles diff --git a/src/ODE/ODESolvers/rodas23/rodas23.H b/src/ODE/ODESolvers/rodas23/rodas23.H index 75f0262813..60d6eda446 100644 --- a/src/ODE/ODESolvers/rodas23/rodas23.H +++ b/src/ODE/ODESolvers/rodas23/rodas23.H @@ -24,6 +24,9 @@ License Class Foam::rodas23 +Group + grpODESolvers + Description L-stable, stiffly-accurate embedded Rosenbrock ODE solver of order (2)3. diff --git a/src/ODE/ODESolvers/rodas34/rodas34.H b/src/ODE/ODESolvers/rodas34/rodas34.H index 35cb468f6a..87051184db 100644 --- a/src/ODE/ODESolvers/rodas34/rodas34.H +++ b/src/ODE/ODESolvers/rodas34/rodas34.H @@ -24,6 +24,9 @@ License Class Foam::rodas34 +Group + grpODESolvers + Description L-stable, stiffly-accurate embedded Rosenbrock ODE solver of order (3)4. diff --git a/src/ODE/ODESolvers/seulex/seulex.H b/src/ODE/ODESolvers/seulex/seulex.H index c3cd540198..224ccc6f90 100644 --- a/src/ODE/ODESolvers/seulex/seulex.H +++ b/src/ODE/ODESolvers/seulex/seulex.H @@ -24,6 +24,9 @@ License Class Foam::seulex +Group + grpODESolvers + Description An extrapolation-algorithm, based on the linearly implicit Euler method with step size control and order selection. diff --git a/src/ODE/doc/ODEDoc.H b/src/ODE/doc/ODEDoc.H new file mode 100644 index 0000000000..bd293c5823 --- /dev/null +++ b/src/ODE/doc/ODEDoc.H @@ -0,0 +1,32 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + details. + + You should have received a copy of the GNU General Public License along with + OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\defgroup grpODESolvers Ordinary Differential Equation (ODE) solvers +@{ + \ingroup grpNumerics + This group contains ODE solvers +@} + +\*---------------------------------------------------------------------------*/ diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H index 1c294e35bf..2912886024 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H @@ -23,13 +23,13 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpCmpTurbulenceBoundaryConditions Compressible Turbulence BCs +\defgroup grpCmpTurbulenceBoundaryConditions Boundary conditions @{ \ingroup grpCmpTurbulence This group contains compressible turbulence model boundary conditions @} -\defgroup grpCmpWallFunctions Compressible turbulence wall functions +\defgroup grpCmpWallFunctions Wall functions @{ \ingroup grpCmpTurbulenceBoundaryConditions This group contains compressible turbulence model wall functions diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H index c65a7170c2..5b589b0221 100644 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H +++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H @@ -23,13 +23,13 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpIcoTurbulenceBoundaryConditions Incompressible Turbulence BCs +\defgroup grpIcoTurbulenceBoundaryConditions Boundary conditions @{ \ingroup grpIcoTurbulence This group contains incompressible turbulence model boundary conditions @} -\defgroup grpIcoWallFunctions Incompressible turbulence wall functions +\defgroup grpIcoWallFunctions Wall functions @{ \ingroup grpIcoTurbulenceBoundaryConditions This group contains incompressible turbulence model wall functions diff --git a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/RASBoundaryConditionsDoc.H b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/RASBoundaryConditionsDoc.H index aeea3263fb..3c7a006033 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/RASBoundaryConditionsDoc.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/derivedFvPatchFields/RASBoundaryConditionsDoc.H @@ -23,7 +23,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpRASBoundaryConditions RAS boundary conditions +\defgroup grpRASBoundaryConditions Boundary conditions @{ \ingroup grpRASTurbulence This group contains RAS turbulence model boundary conditions diff --git a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H index 651e95c161..82709888ae 100644 --- a/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H +++ b/src/TurbulenceModels/turbulenceModels/derivedFvPatchFields/turbulenceBoundaryConditionsDoc.H @@ -23,7 +23,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpTurbulenceBoundaryConditions Turbulence boundary conditions +\defgroup grpTurbulenceBoundaryConditions Boundary conditions @{ \ingroup grpTurbulence This group contains turbulence model boundary conditions diff --git a/src/TurbulenceModels/turbulenceModels/doc/turbulenceModelDoc.H b/src/TurbulenceModels/turbulenceModels/doc/turbulenceModelDoc.H index 91eab7254d..926d957680 100644 --- a/src/TurbulenceModels/turbulenceModels/doc/turbulenceModelDoc.H +++ b/src/TurbulenceModels/turbulenceModels/doc/turbulenceModelDoc.H @@ -23,7 +23,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpTurbulence Turbulence +\defgroup grpTurbulence Turbulence models @{ This group contains turbulence models. @} diff --git a/src/combustionModels/FSD/FSD.H b/src/combustionModels/FSD/FSD.H index c9b4b6fa7d..2d4e17b637 100644 --- a/src/combustionModels/FSD/FSD.H +++ b/src/combustionModels/FSD/FSD.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::FSD +Group + grpCombustionModels + Description Flame Surface Dennsity (FDS) combustion model. diff --git a/src/combustionModels/PaSR/PaSR.H b/src/combustionModels/PaSR/PaSR.H index 51614ab2e6..cbcb37bc83 100644 --- a/src/combustionModels/PaSR/PaSR.H +++ b/src/combustionModels/PaSR/PaSR.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::PaSR +Group + grpCombustionModels + Description Partially stirred reactor combustion model. The model calculates a finite rate, based on both turbulence and chemistry time scales. Depending on diff --git a/src/combustionModels/combustionModel/combustionModel.H b/src/combustionModels/combustionModel/combustionModel.H index badd484829..b5d218cc0a 100644 --- a/src/combustionModels/combustionModel/combustionModel.H +++ b/src/combustionModels/combustionModel/combustionModel.H @@ -24,6 +24,9 @@ License Class Foam::combustionModel +Group + grpCombustionModels + Description Base class for combustion models diff --git a/src/combustionModels/diffusion/diffusion.H b/src/combustionModels/diffusion/diffusion.H index a3023ee32b..59b6ecda4d 100644 --- a/src/combustionModels/diffusion/diffusion.H +++ b/src/combustionModels/diffusion/diffusion.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::diffusion +Group + grpCombustionModels + Description Simple diffusion-based combustion model based on the principle mixed is burnt. Additional parameter C is used to distribute the heat release rate diff --git a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H index f7143d00ee..af81c19228 100644 --- a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H +++ b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::diffusionMulticomponent +Group + grpCombustionModels + Description Diffusion based turbulent combustion model for multicomponent species. diff --git a/src/combustionModels/doc/combustionModelsDoc.H b/src/combustionModels/doc/combustionModelsDoc.H new file mode 100644 index 0000000000..53c5e1debd --- /dev/null +++ b/src/combustionModels/doc/combustionModelsDoc.H @@ -0,0 +1,31 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\defgroup grpCombustionModels Combustion models +@{ + This group contains combustion models. +@} + +\*---------------------------------------------------------------------------*/ diff --git a/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.H b/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.H index 08dec407c0..16a89b9cee 100644 --- a/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.H +++ b/src/combustionModels/infinitelyFastChemistry/infinitelyFastChemistry.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::infinitelyFastChemistry +Group + grpCombustionModels + Description Simple infinitely fast chemistry combustion model based on the principle mixed is burnt. Additional parameter C is used to distribute the heat diff --git a/src/combustionModels/laminar/laminar.H b/src/combustionModels/laminar/laminar.H index 0caf5a80f0..a4589d4ac1 100644 --- a/src/combustionModels/laminar/laminar.H +++ b/src/combustionModels/laminar/laminar.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::laminar +Group + grpCombustionModels + Description Laminar combustion model. diff --git a/src/combustionModels/noCombustion/noCombustion.H b/src/combustionModels/noCombustion/noCombustion.H index 7e7a3b3781..641970fd6f 100644 --- a/src/combustionModels/noCombustion/noCombustion.H +++ b/src/combustionModels/noCombustion/noCombustion.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::noCombustion +Group + grpCombustionModels + Description Dummy combustion model for 'no combustion' diff --git a/src/combustionModels/singleStepCombustion/singleStepCombustion.H b/src/combustionModels/singleStepCombustion/singleStepCombustion.H index 404bfe1c13..4a17add9f1 100644 --- a/src/combustionModels/singleStepCombustion/singleStepCombustion.H +++ b/src/combustionModels/singleStepCombustion/singleStepCombustion.H @@ -24,6 +24,9 @@ License Class Foam::combustionModels::singleStepCombustion +Group + grpCombustionModels + Description Base class for combustion models using singleStepReactingMixture. diff --git a/src/finiteVolume/fields/fvPatchFields/doc/fvPatchFieldDoc.H b/src/finiteVolume/fields/fvPatchFields/doc/fvPatchFieldDoc.H index 8b6889ea03..47684ecc4f 100644 --- a/src/finiteVolume/fields/fvPatchFields/doc/fvPatchFieldDoc.H +++ b/src/finiteVolume/fields/fvPatchFields/doc/fvPatchFieldDoc.H @@ -23,7 +23,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpBoundaryConditions Boundary Conditions +\defgroup grpBoundaryConditions Boundary conditions @{ This group contains OpenFOAM boundary condition types. All conditions are derived from the base Foam::fvPatchField class. Patch values are @@ -38,38 +38,38 @@ License of the matrix solve, via a call to \.correctBoundaryConditions(). @} -\defgroup grpConstraintBoundaryConditions Constraint boundary Conditions +\defgroup grpConstraintBoundaryConditions Constraint @{ \ingroup grpBoundaryConditions This group contains constraint boundary condition types. These conditions are mainly employed to reduced dimensioned cases. @} -\defgroup grpInletBoundaryConditions Inlet boundary Conditions +\defgroup grpInletBoundaryConditions Inlet @{ \ingroup grpBoundaryConditions This group contains inlet boundary condition types @} -\defgroup grpOutletBoundaryConditions Outlet boundary Conditions +\defgroup grpOutletBoundaryConditions Outlet @{ \ingroup grpBoundaryConditions This group contains outlet boundary condition types @} -\defgroup grpGenericBoundaryConditions Generic boundary Conditions +\defgroup grpGenericBoundaryConditions Generic @{ \ingroup grpBoundaryConditions This group contains generic boundary condition types @} -\defgroup grpCoupledBoundaryConditions Coupled boundary Conditions +\defgroup grpCoupledBoundaryConditions Coupled @{ \ingroup grpBoundaryConditions This group contains coupled boundary condition types @} -\defgroup grpWallBoundaryConditions Wall boundary Conditions +\defgroup grpWallBoundaryConditions Wall @{ \ingroup grpBoundaryConditions This group contains wall boundary condition types diff --git a/src/fvMotionSolver/doc/motionSolversDoc.H b/src/fvMotionSolver/doc/motionSolversDoc.H new file mode 100644 index 0000000000..818a34eea9 --- /dev/null +++ b/src/fvMotionSolver/doc/motionSolversDoc.H @@ -0,0 +1,37 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\defgroup grpMeshMotion Mesh motion +@{ + This group contains Mesh motion models. +@} + +\defgroup grpMeshMotionSolvers Solvers +@{ + \ingroup grpMeshMotion + This group contains Mesh motion solvers. +@} + +\*---------------------------------------------------------------------------*/ diff --git a/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.H index e4b1ae9605..bed5a61674 100644 --- a/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/componentDisplacement/componentLaplacian/displacementComponentLaplacianFvMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::displacementComponentLaplacianFvMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an fvMesh. Based on solving the cell-centre Laplacian for the given component of the motion displacement. diff --git a/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.H index bc7c746ea2..d4075ff93b 100644 --- a/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/componentVelocity/componentLaplacian/velocityComponentLaplacianFvMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::velocityComponentLaplacianFvMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an fvMesh. Based on solving the cell-centre Laplacian for the given component of the motion velocity. diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/SBRStress/displacementSBRStressFvMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/displacement/SBRStress/displacementSBRStressFvMotionSolver.H index 3a4779d9db..5e4c7b64c1 100644 --- a/src/fvMotionSolver/fvMotionSolvers/displacement/SBRStress/displacementSBRStressFvMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/displacement/SBRStress/displacementSBRStressFvMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::displacementSBRStressFvMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an fvMesh. Based on solving the cell-centre solid-body rotation stress equations for the motion displacement. diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.H index 3742417349..2458d1d400 100644 --- a/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/displacement/interpolation/displacementInterpolationMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::displacementInterpolationMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an fvMesh. diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/laplacian/displacementLaplacianFvMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/displacement/laplacian/displacementLaplacianFvMotionSolver.H index 7ec7790985..1df49597a6 100644 --- a/src/fvMotionSolver/fvMotionSolvers/displacement/laplacian/displacementLaplacianFvMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/displacement/laplacian/displacementLaplacianFvMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::displacementLaplacianFvMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an fvMesh. Based on solving the cell-centre Laplacian for the motion displacement. diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.H index c876e560ef..be002c6056 100644 --- a/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/displacement/layeredSolver/displacementLayeredMotionMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::displacementLayeredMotionMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an (multi-block) extruded fvMesh. Gets given the structure of the mesh blocks and boundary conditions on these blocks. diff --git a/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.H index 719c699449..77f83e5ad5 100644 --- a/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/displacement/surfaceAlignedSBRStress/surfaceAlignedSBRStressFvMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::surfaceAlignedSBRStressFvMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an fvMesh. Based on solving the cell-centre solid-body rotation stress equations for the motion displacement. diff --git a/src/fvMotionSolver/fvMotionSolvers/velocity/laplacian/velocityLaplacianFvMotionSolver.H b/src/fvMotionSolver/fvMotionSolvers/velocity/laplacian/velocityLaplacianFvMotionSolver.H index 479234dc22..af213a9675 100644 --- a/src/fvMotionSolver/fvMotionSolvers/velocity/laplacian/velocityLaplacianFvMotionSolver.H +++ b/src/fvMotionSolver/fvMotionSolvers/velocity/laplacian/velocityLaplacianFvMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::velocityLaplacianFvMotionSolver +Group + grpMeshMotionSolvers + Description Mesh motion solver for an fvMesh. Based on solving the cell-centre Laplacian for the motion velocity. diff --git a/src/lagrangian/intermediate/doc/lagrangianIntermediateDoc.H b/src/lagrangian/intermediate/doc/lagrangianIntermediateDoc.H index 238d0a0a5b..a4b300bfee 100644 --- a/src/lagrangian/intermediate/doc/lagrangianIntermediateDoc.H +++ b/src/lagrangian/intermediate/doc/lagrangianIntermediateDoc.H @@ -23,7 +23,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpLagrangianIntermediate Lagrangian particle modelling +\defgroup grpLagrangianIntermediate Lagrangian particle models @{ This group contains Lagrangian modelling available in the 'intermediate' library @} diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/postProcessing/functionObjects/utilities/Make/files index e9b8fed150..29ca6fe361 100644 --- a/src/postProcessing/functionObjects/utilities/Make/files +++ b/src/postProcessing/functionObjects/utilities/Make/files @@ -18,6 +18,9 @@ fluxSummary/fluxSummaryFunctionObject.C Lambda2/Lambda2.C Lambda2/Lambda2FunctionObject.C +mapFields/mapFields.C +mapFields/mapFieldsFunctionObject.C + Peclet/Peclet.C Peclet/PecletFunctionObject.C diff --git a/src/rigidBodyDynamics/bodies/compositeBody/compositeBody.H b/src/rigidBodyDynamics/bodies/compositeBody/compositeBody.H index 662ed39e8a..0d7a353d94 100644 --- a/src/rigidBodyDynamics/bodies/compositeBody/compositeBody.H +++ b/src/rigidBodyDynamics/bodies/compositeBody/compositeBody.H @@ -24,6 +24,9 @@ License Class Foam::compositeBody +Group + grpRigidBodyDynamicsBodies + Description This specialized rigidBody holds the original body after it has been merged into a parent. diff --git a/src/rigidBodyDynamics/bodies/cuboid/cuboid.H b/src/rigidBodyDynamics/bodies/cuboid/cuboid.H index 7432f7cbc0..348792db4a 100644 --- a/src/rigidBodyDynamics/bodies/cuboid/cuboid.H +++ b/src/rigidBodyDynamics/bodies/cuboid/cuboid.H @@ -24,6 +24,9 @@ License Class Foam::cuboid +Group + grpRigidBodyDynamicsBodies + Description Specialization of rigidBody to construct a cuboid given the mass and lengths of the sides. diff --git a/src/rigidBodyDynamics/bodies/jointBody/jointBody.H b/src/rigidBodyDynamics/bodies/jointBody/jointBody.H index 1784de009d..a4b3d41894 100644 --- a/src/rigidBodyDynamics/bodies/jointBody/jointBody.H +++ b/src/rigidBodyDynamics/bodies/jointBody/jointBody.H @@ -24,6 +24,9 @@ License Class Foam::jointBody +Group + grpRigidBodyDynamicsBodies + Description SourceFiles diff --git a/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.H b/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.H index a29585e3f6..0375a54684 100644 --- a/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.H +++ b/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.H @@ -24,6 +24,9 @@ License Class Foam::masslessBody +Group + grpRigidBodyDynamicsBodies + Description SourceFiles diff --git a/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H b/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H index 2c8679b1e4..6307234184 100644 --- a/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H +++ b/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H @@ -24,6 +24,9 @@ License Class Foam::RBD::rigidBody +Group + grpRigidBodyDynamicsBodies + Description SourceFiles diff --git a/src/rigidBodyDynamics/bodies/sphere/sphere.H b/src/rigidBodyDynamics/bodies/sphere/sphere.H index e3310f735d..7538f367c4 100644 --- a/src/rigidBodyDynamics/bodies/sphere/sphere.H +++ b/src/rigidBodyDynamics/bodies/sphere/sphere.H @@ -24,6 +24,9 @@ License Class Foam::sphere +Group + grpRigidBodyDynamicsBodies + Description Specialization of rigidBody to construct a sphere given the mass and radius. diff --git a/src/rigidBodyDynamics/bodies/subBody/subBody.H b/src/rigidBodyDynamics/bodies/subBody/subBody.H index 0cd3f7c930..c6a0bc220e 100644 --- a/src/rigidBodyDynamics/bodies/subBody/subBody.H +++ b/src/rigidBodyDynamics/bodies/subBody/subBody.H @@ -24,6 +24,9 @@ License Class Foam::subBody +Group + grpRigidBodyDynamicsBodies + Description This specialized rigidBody holds the original body after it has been merged into a master. diff --git a/src/rigidBodyDynamics/doc/rigidBodyDynamicsDoc.H b/src/rigidBodyDynamics/doc/rigidBodyDynamicsDoc.H new file mode 100644 index 0000000000..20f1db927b --- /dev/null +++ b/src/rigidBodyDynamics/doc/rigidBodyDynamicsDoc.H @@ -0,0 +1,50 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\defgroup grpRigidBodyDynamics Rigid body dynamics +@{ + \ingroup grpMeshMotion + This group contains rigid body dynamics models. +@} + +\defgroup grpRigidBodyDynamicsBodies Bodies +@{ + \ingroup grpRigidBodyDynamics + This group contains rigid body dynamics body models. +@} + +\defgroup grpRigidBodyDynamicsJoints Joints +@{ + \ingroup grpRigidBodyDynamics + This group contains rigid body dynamics joint models. +@} + +\defgroup grpRigidBodyDynamicsRestraints Restraints +@{ + \ingroup grpRigidBodyDynamics + This group contains rigid body dynamics restraint models. +@} + +\*---------------------------------------------------------------------------*/ diff --git a/src/rigidBodyDynamics/joints/Pa/Pa.H b/src/rigidBodyDynamics/joints/Pa/Pa.H index d67af31d9a..7f02161422 100644 --- a/src/rigidBodyDynamics/joints/Pa/Pa.H +++ b/src/rigidBodyDynamics/joints/Pa/Pa.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Pa +Group + grpRigidBodyDynamicsJoints + Description Prismatic joint for translation along the specified arbitrary axis. diff --git a/src/rigidBodyDynamics/joints/Px/Px.H b/src/rigidBodyDynamics/joints/Px/Px.H index 979abcf5c0..dc03df42df 100644 --- a/src/rigidBodyDynamics/joints/Px/Px.H +++ b/src/rigidBodyDynamics/joints/Px/Px.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Px +Group + grpRigidBodyDynamicsJoints + Description Prismatic joint for translation along the x-axis. diff --git a/src/rigidBodyDynamics/joints/Pxyz/Pxyz.H b/src/rigidBodyDynamics/joints/Pxyz/Pxyz.H index 02746bf14c..8f4a83cc02 100644 --- a/src/rigidBodyDynamics/joints/Pxyz/Pxyz.H +++ b/src/rigidBodyDynamics/joints/Pxyz/Pxyz.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Pxyz +Group + grpRigidBodyDynamicsJoints + Description Prismatic joint for translation in the x/y/z directions. diff --git a/src/rigidBodyDynamics/joints/Py/Py.H b/src/rigidBodyDynamics/joints/Py/Py.H index bcbcd47785..ed324124af 100644 --- a/src/rigidBodyDynamics/joints/Py/Py.H +++ b/src/rigidBodyDynamics/joints/Py/Py.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Py +Group + grpRigidBodyDynamicsJoints + Description Prismatic joint for translation along the y-axis. diff --git a/src/rigidBodyDynamics/joints/Pz/Pz.H b/src/rigidBodyDynamics/joints/Pz/Pz.H index 611397ded5..bcb9d39df4 100644 --- a/src/rigidBodyDynamics/joints/Pz/Pz.H +++ b/src/rigidBodyDynamics/joints/Pz/Pz.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Pz +Group + grpRigidBodyDynamicsJoints + Description Prismatic joint for translation along the x-axis. diff --git a/src/rigidBodyDynamics/joints/Ra/Ra.H b/src/rigidBodyDynamics/joints/Ra/Ra.H index cd634f7b89..8a3d342edb 100644 --- a/src/rigidBodyDynamics/joints/Ra/Ra.H +++ b/src/rigidBodyDynamics/joints/Ra/Ra.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Ra +Group + grpRigidBodyDynamicsJoints + Description Revolute joint for rotation about the specified arbitrary axis. diff --git a/src/rigidBodyDynamics/joints/Rs/Rs.H b/src/rigidBodyDynamics/joints/Rs/Rs.H index f689869056..7a0ae947c6 100644 --- a/src/rigidBodyDynamics/joints/Rs/Rs.H +++ b/src/rigidBodyDynamics/joints/Rs/Rs.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Rs +Group + grpRigidBodyDynamicsJoints + Description Spherical joint for rotation about the x/y/z-axes using a quaternion (Euler parameters) to avoid gimble-lock. diff --git a/src/rigidBodyDynamics/joints/Rx/Rx.H b/src/rigidBodyDynamics/joints/Rx/Rx.H index 892cfcb709..c66667a542 100644 --- a/src/rigidBodyDynamics/joints/Rx/Rx.H +++ b/src/rigidBodyDynamics/joints/Rx/Rx.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Rx +Group + grpRigidBodyDynamicsJoints + Description Revolute joint for rotation about the x-axis diff --git a/src/rigidBodyDynamics/joints/Rxyz/Rxyz.H b/src/rigidBodyDynamics/joints/Rxyz/Rxyz.H index 43582796de..9377f33046 100644 --- a/src/rigidBodyDynamics/joints/Rxyz/Rxyz.H +++ b/src/rigidBodyDynamics/joints/Rxyz/Rxyz.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Rxyz +Group + grpRigidBodyDynamicsJoints + Description Spherical joint for rotation about the x/y/z-axes using Euler-angles in the order x, y, z. diff --git a/src/rigidBodyDynamics/joints/Ry/Ry.H b/src/rigidBodyDynamics/joints/Ry/Ry.H index 0a870bd925..832fa26a27 100644 --- a/src/rigidBodyDynamics/joints/Ry/Ry.H +++ b/src/rigidBodyDynamics/joints/Ry/Ry.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Ry +Group + grpRigidBodyDynamicsJoints + Description Revolute joint for rotation about the y-axis diff --git a/src/rigidBodyDynamics/joints/Ryxz/Ryxz.H b/src/rigidBodyDynamics/joints/Ryxz/Ryxz.H index 1371abcf80..77a2761c19 100644 --- a/src/rigidBodyDynamics/joints/Ryxz/Ryxz.H +++ b/src/rigidBodyDynamics/joints/Ryxz/Ryxz.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Ryxz +Group + grpRigidBodyDynamicsJoints + Description Spherical joint for rotation about the x/y/z-axes using Euler-angles in the order y, x, z. diff --git a/src/rigidBodyDynamics/joints/Rz/Rz.H b/src/rigidBodyDynamics/joints/Rz/Rz.H index 01ed3139b0..d7c8486710 100644 --- a/src/rigidBodyDynamics/joints/Rz/Rz.H +++ b/src/rigidBodyDynamics/joints/Rz/Rz.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Rz +Group + grpRigidBodyDynamicsJoints + Description Revolute joint for rotation about the z-axis diff --git a/src/rigidBodyDynamics/joints/Rzyx/Rzyx.H b/src/rigidBodyDynamics/joints/Rzyx/Rzyx.H index 3aeb85dd63..9797904352 100644 --- a/src/rigidBodyDynamics/joints/Rzyx/Rzyx.H +++ b/src/rigidBodyDynamics/joints/Rzyx/Rzyx.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::Rzyx +Group + grpRigidBodyDynamicsJoints + Description Spherical joint for rotation about the x/y/z-axes using Euler-angles in the order z, y, x. diff --git a/src/rigidBodyDynamics/joints/composite/compositeJoint.H b/src/rigidBodyDynamics/joints/composite/compositeJoint.H index 5d12bf5025..709b7abcb0 100644 --- a/src/rigidBodyDynamics/joints/composite/compositeJoint.H +++ b/src/rigidBodyDynamics/joints/composite/compositeJoint.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::composite +Group + grpRigidBodyDynamicsJoints + Description Prismatic joint for translation along the specified arbitrary axis. diff --git a/src/rigidBodyDynamics/joints/floating/floatingJoint.H b/src/rigidBodyDynamics/joints/floating/floatingJoint.H index 58c314d784..7850777559 100644 --- a/src/rigidBodyDynamics/joints/floating/floatingJoint.H +++ b/src/rigidBodyDynamics/joints/floating/floatingJoint.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::floating +Group + grpRigidBodyDynamicsJoints + Description Prismatic joint for translation along the specified arbitrary axis. diff --git a/src/rigidBodyDynamics/joints/joint/joint.H b/src/rigidBodyDynamics/joints/joint/joint.H index 0ea00b678b..10bdfc8495 100644 --- a/src/rigidBodyDynamics/joints/joint/joint.H +++ b/src/rigidBodyDynamics/joints/joint/joint.H @@ -24,6 +24,9 @@ License Namespace Foam::RBD::joints +Group + grpRigidBodyDynamicsJoints + Description Namespace for rigid-body joints diff --git a/src/rigidBodyDynamics/joints/null/nullJoint.H b/src/rigidBodyDynamics/joints/null/nullJoint.H index cc97aed72b..de3b1164af 100644 --- a/src/rigidBodyDynamics/joints/null/nullJoint.H +++ b/src/rigidBodyDynamics/joints/null/nullJoint.H @@ -24,6 +24,9 @@ License Class Foam::RBD::joints::null +Group + grpRigidBodyDynamicsJoints + Description Null joint for the root-body. diff --git a/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.H b/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.H index 66b34e0df7..4698baee70 100644 --- a/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.H +++ b/src/rigidBodyDynamics/restraints/linearAxialAngularSpring/linearAxialAngularSpring.H @@ -24,6 +24,9 @@ License Class Foam::RBD::restraints::linearAxialAngularSpring +Group + grpRigidBodyDynamicsRestraints + Description Linear axial angular spring restraint. diff --git a/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.H b/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.H index c0a2c37288..b329dcb0de 100644 --- a/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.H +++ b/src/rigidBodyDynamics/restraints/linearDamper/linearDamper.H @@ -24,6 +24,9 @@ License Class Foam::RBD::restraints::linearDamper +Group + grpRigidBodyDynamicsRestraints + Description Linear damper restraint. Operates in the local frame of the body. diff --git a/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.H b/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.H index b7a90f77d0..c522ffd3f8 100644 --- a/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.H +++ b/src/rigidBodyDynamics/restraints/linearSpring/linearSpring.H @@ -24,6 +24,9 @@ License Class Foam::RBD::restraints::linearSpring +Group + grpRigidBodyDynamicsRestraints + Description Linear spring restraint. diff --git a/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.H b/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.H index ccff2ff660..ae0f3356d1 100644 --- a/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.H +++ b/src/rigidBodyDynamics/restraints/sphericalAngularDamper/sphericalAngularDamper.H @@ -24,6 +24,9 @@ License Class Foam::RBD::restraints::sphericalAngularDamper +Group + grpRigidBodyDynamicsRestraints + Description Spherical angular damper restraint. Operates in the local frame of the body. diff --git a/src/rigidBodyMeshMotion/rigidBodyMeshMotion.H b/src/rigidBodyMeshMotion/rigidBodyMeshMotion.H index 35234268d9..1c7b6b8c0e 100644 --- a/src/rigidBodyMeshMotion/rigidBodyMeshMotion.H +++ b/src/rigidBodyMeshMotion/rigidBodyMeshMotion.H @@ -24,6 +24,9 @@ License Class Foam::rigidBodyMeshMotion +Group + grpMeshMotionSolvers + Description Rigid-body mesh motion solver for fvMesh. diff --git a/src/sixDoFRigidBodyMotion/doc/sixDofRigidBodyMotionDoc.H b/src/sixDoFRigidBodyMotion/doc/sixDofRigidBodyMotionDoc.H new file mode 100644 index 0000000000..585cc5ccd8 --- /dev/null +++ b/src/sixDoFRigidBodyMotion/doc/sixDofRigidBodyMotionDoc.H @@ -0,0 +1,50 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +\defgroup grpSixDoFRigidBody Six Degree of Freedom (DoF) +@{ + \ingroup grpMeshMotion + This group contains six DoF models. +@} + +\defgroup grpSixDoFRigidBodySolvers Solvers +@{ + \ingroup grpSixDoFRigidBody + This group contains six DoF solvers. +@} + +\defgroup grpSixDoFRigidBodyConstraints Constraints +@{ + \ingroup grpSixDoFRigidBody + This group contains six DoF Constraints. +@} + +\defgroup grpSixDoFRigidBodyRestraints Restraints +@{ + \ingroup grpSixDoFRigidBody + This group contains six DoF Restraints. +@} + +\*---------------------------------------------------------------------------*/ diff --git a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.H b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.H index 2ad4921aaa..1c9fd69fc7 100644 --- a/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.H +++ b/src/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver/sixDoFRigidBodyMotionSolver.H @@ -24,6 +24,9 @@ License Class Foam::sixDoFRigidBodyMotionSolver +Group + grpMeshMotionSolvers + Description 6-DoF solid-body mesh motion solver for an fvMesh. diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/CrankNicolson/CrankNicolson.H b/src/sixDoFRigidBodyMotion/sixDoFSolvers/CrankNicolson/CrankNicolson.H index a8dd2ccbff..e2f7ae8226 100644 --- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/CrankNicolson/CrankNicolson.H +++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/CrankNicolson/CrankNicolson.H @@ -24,6 +24,9 @@ License Class Foam::sixDoFSolvers::CrankNicolson +Group + grpSixDoFRigidBodySolvers + Description Crank-Nicolson 2nd-order time-integrator for 6DoF solid-body motion. diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/Newmark/Newmark.H b/src/sixDoFRigidBodyMotion/sixDoFSolvers/Newmark/Newmark.H index e605fcc294..d15bc2fcb1 100644 --- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/Newmark/Newmark.H +++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/Newmark/Newmark.H @@ -24,6 +24,9 @@ License Class Foam::sixDoFSolvers::Newmark +Group + grpSixDoFRigidBodySolvers + Description Newmark 2nd-order time-integrator for 6DoF solid-body motion. diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/sixDoFSolver.H b/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/sixDoFSolver.H index cb00660314..a1e536f755 100644 --- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/sixDoFSolver.H +++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/sixDoFSolver/sixDoFSolver.H @@ -24,6 +24,9 @@ License Class Foam::sixDoFSolver +Group + grpSixDoFRigidBodySolvers + Description SourceFiles diff --git a/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.H b/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.H index d03b77bbd5..3aac7c7e18 100644 --- a/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.H +++ b/src/sixDoFRigidBodyMotion/sixDoFSolvers/symplectic/symplectic.H @@ -24,6 +24,9 @@ License Class Foam::sixDoFSolvers::symplectic +Group + grpSixDoFRigidBodySolvers + Description Symplectic 2nd-order explicit time-integrator for 6DoF solid-body motion. diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/doc/thermophysicalBoundaryConditionsDoc.H b/src/thermophysicalModels/basic/derivedFvPatchFields/doc/thermophysicalBoundaryConditionsDoc.H index f7f9389b71..787b9e7dbe 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/doc/thermophysicalBoundaryConditionsDoc.H +++ b/src/thermophysicalModels/basic/derivedFvPatchFields/doc/thermophysicalBoundaryConditionsDoc.H @@ -23,7 +23,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -\defgroup grpThermoBoundaryConditions Thermophysical boundary conditions +\defgroup grpThermoBoundaryConditions Thermophysical @{ \ingroup grpBoundaryConditions This group contains thermophysical model boundary conditions diff --git a/src/thermophysicalModels/radiation/doc/radiationModelsDoc.H b/src/thermophysicalModels/radiation/doc/radiationModelsDoc.H index e192421c2f..20b23cb22d 100644 --- a/src/thermophysicalModels/radiation/doc/radiationModelsDoc.H +++ b/src/thermophysicalModels/radiation/doc/radiationModelsDoc.H @@ -29,7 +29,7 @@ License This group contains radiation models @} -\defgroup grpRadiationSubModels Radiation sub-models +\defgroup grpRadiationSubModels Sub-models @{ \ingroup grpRadiationModels This group contains radiation sub-models From 7d389bcead70c00c1641690ca11cdb2ec6a5e13c Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Mon, 27 Jun 2016 22:38:50 +0100 Subject: [PATCH 007/143] STYLE: Consistency in Copyright statement --- .../lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C | 2 +- .../CompressibleTwoPhaseMixtureTurbulenceModels.C | 2 +- applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C | 2 +- .../interCondensatingEvaporatingFoam.C | 2 +- .../temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C | 2 +- .../temperaturePhaseChangeTwoPhaseMixtures/constant/constant.H | 2 +- .../newtemperaturePhaseChangeTwoPhaseMixture.C | 2 +- .../temperaturePhaseChangeTwoPhaseMixture.C | 2 +- .../temperaturePhaseChangeTwoPhaseMixture.H | 2 +- .../thermoIncompressibleTwoPhaseMixture.C | 2 +- .../thermoIncompressibleTwoPhaseMixture.H | 2 +- .../twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C | 2 +- .../twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H | 2 +- applications/utilities/preProcessing/mapFields/mapFieldsDict | 2 +- .../diffusionMulticomponent/diffusionMulticomponent.C | 2 +- .../diffusionMulticomponent/diffusionMulticomponent.H | 2 +- .../Kinematic/ParticleForces/Interface/InterfaceForce.C | 2 +- .../Kinematic/ParticleForces/Interface/InterfaceForce.H | 2 +- .../reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C | 2 +- .../reactionSensitivityAnalysis/reactionsSensitivityAnalysis.H | 2 +- .../reactionsSensitivityAnalysisFunctionObject.C | 2 +- .../reactionsSensitivityAnalysisFunctionObject.H | 2 +- .../sampledSet/sampledSetsFunctionObject/sampledSetsDict | 2 +- .../wideBandDiffusiveRadiationMixedFvPatchScalarField.C | 2 +- .../greyMeanSolidAbsorptionEmission.C | 2 +- .../greyMeanSolidAbsorptionEmission.H | 2 +- .../multiBandSolidAbsorptionEmission.C | 2 +- .../multiBandSolidAbsorptionEmission.H | 2 +- .../boundaryRadiationProperties/boundaryRadiationProperties.H | 2 +- .../boundaryRadiationPropertiesPatch.H | 2 +- .../radiation/submodels/solarCalculator/solarCalculator.C | 2 +- .../radiation/submodels/solarCalculator/solarCalculator.H | 2 +- .../constantTransmissivity/constantTransmissivity.C | 2 +- .../constantTransmissivity/constantTransmissivity.H | 2 +- .../multiBandSolidTransmissivity/multiBandSolidTransmissivity.C | 2 +- .../multiBandSolidTransmissivity/multiBandSolidTransmissivity.H | 2 +- .../transmissivityModel/noTransmissivity/noTransmissivity.C | 2 +- .../transmissivityModel/noTransmissivity/noTransmissivity.H | 2 +- .../transmissivityModel/transmissivityModel.C | 2 +- .../transmissivityModel/transmissivityModel.H | 2 +- .../transmissivityModel/transmissivityModelNew.C | 2 +- 41 files changed, 41 insertions(+), 41 deletions(-) diff --git a/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C b/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C index 5db8e7ede5..d9932d06dd 100644 --- a/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C +++ b/applications/solvers/lagrangian/simpleCoalParcelFoam/simpleCoalParcelFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C b/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C index 6124bf2522..193501ea42 100644 --- a/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C +++ b/applications/solvers/multiphase/MPPICInterFoam/CompressibleTwoPhaseMixtureTurbulenceModels/CompressibleTwoPhaseMixtureTurbulenceModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C index 35797278d7..07a6b062bb 100644 --- a/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C +++ b/applications/solvers/multiphase/MPPICInterFoam/MPPICInterFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C b/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C index b935398866..2fb0013224 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/interCondensatingEvaporatingFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C index 7543b9c856..6d3f21c2fb 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.H b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.H index dd23e97024..ba6780e91b 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.H +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/constant/constant.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/newtemperaturePhaseChangeTwoPhaseMixture.C b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/newtemperaturePhaseChangeTwoPhaseMixture.C index 8dbb7c038c..88497f6222 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/newtemperaturePhaseChangeTwoPhaseMixture.C +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/newtemperaturePhaseChangeTwoPhaseMixture.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.C b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.C index fe8923d3af..bc2cf7f2d1 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.C +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.H b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.H index f829297ad8..9d748fd737 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.H +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixtures/temperaturePhaseChangeTwoPhaseMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C index 6822e0bbc5..4be68f4c26 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.H b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.H index ea2bec1b5d..0d39b94b9e 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.H +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/thermoIncompressibleTwoPhaseMixture/thermoIncompressibleTwoPhaseMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C index 19eb8ddca7..a2c2b71fcf 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H index 8616713b19..cc61acf674 100644 --- a/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H +++ b/applications/solvers/multiphase/interCondensingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/utilities/preProcessing/mapFields/mapFieldsDict b/applications/utilities/preProcessing/mapFields/mapFieldsDict index 39e471e381..8fcc91efd7 100644 --- a/applications/utilities/preProcessing/mapFields/mapFieldsDict +++ b/applications/utilities/preProcessing/mapFields/mapFieldsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 2.2.2 | +| \\ / O peration | Version: plus | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C index 3261bf1b51..f1aa8eb574 100644 --- a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C +++ b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H index af81c19228..6d849cfe9b 100644 --- a/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H +++ b/src/combustionModels/diffusionMulticomponent/diffusionMulticomponent.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.C b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.C index 41ac099cdd..74b85bce92 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.H index 4f61b2df63..15810b1ed5 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/Interface/InterfaceForce.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C index 02034a8aca..43fa9a0964 100644 --- a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C +++ b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.H b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.H index 1a75aa7192..7fa52e6304 100644 --- a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.H +++ b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysis.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.C b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.C index 01110e17c8..4f892e9a39 100644 --- a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.C +++ b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.H b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.H index 7abeca2d78..77f90831ed 100644 --- a/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.H +++ b/src/postProcessing/functionObjects/utilities/reactionSensitivityAnalysis/reactionsSensitivityAnalysisFunctionObject.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/sampling/sampledSet/sampledSetsFunctionObject/sampledSetsDict b/src/sampling/sampledSet/sampledSetsFunctionObject/sampledSetsDict index dc989e813c..66d32ea1ee 100644 --- a/src/sampling/sampledSet/sampledSetsFunctionObject/sampledSetsDict +++ b/src/sampling/sampledSet/sampledSetsFunctionObject/sampledSetsDict @@ -1,7 +1,7 @@ /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | +| \\ / O peration | Version: plus | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ diff --git a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C index 8863b95ebe..6843c685e4 100644 --- a/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C +++ b/src/thermophysicalModels/radiation/derivedFvPatchFields/wideBandDiffusiveRadiation/wideBandDiffusiveRadiationMixedFvPatchScalarField.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C index ade482077b..10ece3bc45 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd + \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.H b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.H index 077079bfb1..4bd82c36b2 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.H +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/greyMeanSolidAbsorptionEmission/greyMeanSolidAbsorptionEmission.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd + \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C index 31942309d9..c63354266b 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.H b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.H index 2c1797a1a0..52b5fed46f 100644 --- a/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.H +++ b/src/thermophysicalModels/radiation/submodels/absorptionEmissionModel/multiBandSolidAbsorptionEmission/multiBandSolidAbsorptionEmission.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H index 39a7f156f9..86f253d215 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationProperties.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H index a78b940bfe..59ad9a4415 100644 --- a/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H +++ b/src/thermophysicalModels/radiation/submodels/boundaryRadiationProperties/boundaryRadiationPropertiesPatch.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C index cc712b4cb2..905194a914 100644 --- a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C +++ b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H index 5c54294d96..dd83c23f94 100644 --- a/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H +++ b/src/thermophysicalModels/radiation/submodels/solarCalculator/solarCalculator.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.C b/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.C index a981883006..7f056a1154 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.C +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.H b/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.H index f195f526c3..44593c42eb 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.H +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/constantTransmissivity/constantTransmissivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C b/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C index d39fa2e1d4..1db1944b91 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.H b/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.H index bae7831153..9745accd9a 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.H +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/multiBandSolidTransmissivity/multiBandSolidTransmissivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.C b/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.C index 6d995d89f0..a76818e03e 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.C +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.H b/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.H index a48f4017ba..517bf43771 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.H +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/noTransmissivity/noTransmissivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.C b/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.C index ddd9226bf5..9d44749c5d 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.C +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.H b/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.H index 46e9babc13..85ac96fe97 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.H +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModelNew.C b/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModelNew.C index d976fc0652..897895d7f3 100644 --- a/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModelNew.C +++ b/src/thermophysicalModels/radiation/submodels/transmissivityModel/transmissivityModel/transmissivityModelNew.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenCFD Ltd + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License From 1bb86b47a6f209ca42762fb63642244bb82675c5 Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Tue, 28 Jun 2016 09:35:47 +0100 Subject: [PATCH 008/143] BUG: utility FOs - commented premature addition of new mapFields FO --- src/postProcessing/functionObjects/utilities/Make/files | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/postProcessing/functionObjects/utilities/Make/files index 29ca6fe361..8918624887 100644 --- a/src/postProcessing/functionObjects/utilities/Make/files +++ b/src/postProcessing/functionObjects/utilities/Make/files @@ -18,8 +18,10 @@ fluxSummary/fluxSummaryFunctionObject.C Lambda2/Lambda2.C Lambda2/Lambda2FunctionObject.C +/* mapFields/mapFields.C mapFields/mapFieldsFunctionObject.C +*/ Peclet/Peclet.C Peclet/PecletFunctionObject.C From de6313e4ceeaabdbd092538d721a1bc40a0cc1a7 Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 22 Feb 2016 12:14:53 +0000 Subject: [PATCH 009/143] ENH: Migrated eigen vector/value updates from old development line and updated dependencies --- .../primitives/Tensor/tensor/tensor.C | 134 ++++++++++-------- .../primitives/Tensor/tensor/tensor.H | 28 +++- .../polyTopoChange/edgeCollapser.C | 2 +- 3 files changed, 97 insertions(+), 67 deletions(-) diff --git a/src/OpenFOAM/primitives/Tensor/tensor/tensor.C b/src/OpenFOAM/primitives/Tensor/tensor/tensor.C index cadbef6a9b..f84d2e5316 100644 --- a/src/OpenFOAM/primitives/Tensor/tensor/tensor.C +++ b/src/OpenFOAM/primitives/Tensor/tensor/tensor.C @@ -70,24 +70,30 @@ const Foam::tensor Foam::tensor::I // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Foam::vector Foam::eigenValues(const tensor& t) +Foam::vector Foam::eigenValues(const tensor& T) { // The eigenvalues scalar i, ii, iii; // diagonal matrix - if - ( + const scalar onDiagMagSum = ( - mag(t.xy()) + mag(t.xz()) + mag(t.yx()) - + mag(t.yz()) + mag(t.zx()) + mag(t.zy()) - ) - < SMALL - ) + mag(T.xx()) + mag(T.yy()) + mag(T.zz()) + ); + + const scalar offDiagMagSum = + ( + mag(T.xy()) + mag(T.xz()) + mag(T.yx()) + + mag(T.yz()) + mag(T.zx()) + mag(T.zy()) + ); + + const scalar magSum = onDiagMagSum + offDiagMagSum; + + if (offDiagMagSum < max(VSMALL, SMALL*magSum)) { - i = t.xx(); - ii = t.yy(); - iii = t.zz(); + i = T.xx(); + ii = T.yy(); + iii = T.zz(); } // non-diagonal matrix @@ -96,16 +102,16 @@ Foam::vector Foam::eigenValues(const tensor& t) // Coefficients of the characteristic polynmial // x^3 + a*x^2 + b*x + c = 0 scalar a = - - t.xx() - t.yy() - t.zz(); + - T.xx() - T.yy() - T.zz(); scalar b = - t.xx()*t.yy() + t.xx()*t.zz() + t.yy()*t.zz() - - t.xy()*t.yx() - t.yz()*t.zy() - t.zx()*t.xz(); + T.xx()*T.yy() + T.xx()*T.zz() + T.yy()*T.zz() + - T.xy()*T.yx() - T.yz()*T.zy() - T.zx()*T.xz(); scalar c = - - t.xx()*t.yy()*t.zz() - - t.xy()*t.yz()*t.zx() - t.xz()*t.zy()*t.yx() - + t.xx()*t.yz()*t.zy() + t.yy()*t.zx()*t.xz() + t.zz()*t.xy()*t.yx(); + - T.xx()*T.yy()*T.zz() + - T.xy()*T.yz()*T.zx() - T.xz()*T.zy()*T.yx() + + T.xx()*T.yz()*T.zy() + T.yy()*T.zx()*T.xz() + T.zz()*T.xy()*T.yx(); // Auxillary variables scalar aBy3 = a/3; @@ -117,13 +123,13 @@ Foam::vector Foam::eigenValues(const tensor& t) scalar QQ = Q*Q; // Three identical roots - if (mag(P) < SMALL && mag(Q) < SMALL) + if (mag(P) < SMALL*sqr(magSum) && mag(Q) < SMALL*pow3(magSum)) { return vector(- aBy3, - aBy3, - aBy3); } // Two identical roots and one distinct root - else if (mag(PPP/QQ - 1) < SMALL) + else if (mag(PPP - QQ) < SMALL*pow6(magSum)) { scalar sqrtP = sqrt(P); scalar signQ = sign(Q); @@ -148,11 +154,11 @@ Foam::vector Foam::eigenValues(const tensor& t) // based on the above logic, PPP must be less than QQ else { - WarningInFunction - << "complex eigenvalues detected for tensor: " << t + WarningIn("eigenValues(const tensor&)") + << "complex eigenvalues detected for tensor: " << T << endl; - if (mag(P) < SMALL) + if (mag(P) < SMALL*sqr(magSum)) { i = cbrt(QQ/2); } @@ -188,21 +194,14 @@ Foam::vector Foam::eigenValues(const tensor& t) Foam::vector Foam::eigenVector ( - const tensor& t, - const scalar lambda + const tensor& T, + const scalar lambda, + const vector& direction1, + const vector& direction2 ) { - // Constantly rotating direction ensures different eigenvectors are - // generated when called sequentially with a multiple eigenvalue - static vector direction(1,0,0); - vector oldDirection(direction); - scalar temp = direction[2]; - direction[2] = direction[1]; - direction[1] = direction[0]; - direction[0] = temp; - // Construct the linear system for this eigenvalue - tensor A(t - lambda*I); + tensor A(T - lambda*I); // Determinants of the 2x2 sub-matrices used to find the eigenvectors scalar sd0, sd1, sd2; @@ -252,9 +251,9 @@ Foam::vector Foam::eigenVector } // Sub-determinants for a repeated eigenvalue - sd0 = A.yy()*direction.z() - A.yz()*direction.y(); - sd1 = A.zz()*direction.x() - A.zx()*direction.z(); - sd2 = A.xx()*direction.y() - A.xy()*direction.x(); + sd0 = A.yy()*direction1.z() - A.yz()*direction1.y(); + sd1 = A.zz()*direction1.x() - A.zx()*direction1.z(); + sd2 = A.xx()*direction1.y() - A.xy()*direction1.x(); magSd0 = mag(sd0); magSd1 = mag(sd1); magSd2 = mag(sd2); @@ -265,8 +264,8 @@ Foam::vector Foam::eigenVector vector ev ( 1, - (A.yz()*direction.x() - direction.z()*A.yx())/sd0, - (direction.y()*A.yx() - A.yy()*direction.x())/sd0 + (A.yz()*direction1.x() - direction1.z()*A.yx())/sd0, + (direction1.y()*A.yx() - A.yy()*direction1.x())/sd0 ); return ev/mag(ev); @@ -275,9 +274,9 @@ Foam::vector Foam::eigenVector { vector ev ( - (direction.z()*A.zy() - A.zz()*direction.y())/sd1, + (direction1.z()*A.zy() - A.zz()*direction1.y())/sd1, 1, - (A.zx()*direction.y() - direction.x()*A.zy())/sd1 + (A.zx()*direction1.y() - direction1.x()*A.zy())/sd1 ); return ev/mag(ev); @@ -286,8 +285,8 @@ Foam::vector Foam::eigenVector { vector ev ( - (A.xy()*direction.z() - direction.y()*A.xz())/sd2, - (direction.x()*A.xz() - A.xx()*direction.z())/sd2, + (A.xy()*direction1.z() - direction1.y()*A.xz())/sd2, + (direction1.x()*A.xz() - A.xx()*direction1.z())/sd2, 1 ); @@ -295,40 +294,57 @@ Foam::vector Foam::eigenVector } // Triple eigenvalue - return oldDirection; + return direction1^direction2; } -Foam::tensor Foam::eigenVectors(const tensor& t) +Foam::tensor Foam::eigenVectors(const tensor& T, const vector& lambdas) { - vector evals(eigenValues(t)); + vector Ux(1, 0, 0), Uy(0, 1, 0), Uz(0, 0, 1); - tensor evs - ( - eigenVector(t, evals.x()), - eigenVector(t, evals.y()), - eigenVector(t, evals.z()) - ); + Ux = eigenVector(T, lambdas.x(), Uy, Uz); + Uy = eigenVector(T, lambdas.y(), Uz, Ux); + Uz = eigenVector(T, lambdas.z(), Ux, Uy); - return evs; + return tensor(Ux, Uy, Uz); } -Foam::vector Foam::eigenValues(const symmTensor& t) +Foam::tensor Foam::eigenVectors(const tensor& T) { - return eigenValues(tensor(t)); + const vector lambdas(eigenValues(T)); + + return eigenVectors(T, lambdas); } -Foam::vector Foam::eigenVector(const symmTensor& t, const scalar lambda) +Foam::vector Foam::eigenValues(const symmTensor& T) { - return eigenVector(tensor(t), lambda); + return eigenValues(tensor(T)); } -Foam::tensor Foam::eigenVectors(const symmTensor& t) +Foam::vector Foam::eigenVector +( + const symmTensor& T, + const scalar lambda, + const vector& direction1, + const vector& direction2 +) { - return eigenVectors(tensor(t)); + return eigenVector(tensor(T), lambda, direction1, direction2); +} + + +Foam::tensor Foam::eigenVectors(const symmTensor& T, const vector& lambdas) +{ + return eigenVectors(tensor(T), lambdas); +} + + +Foam::tensor Foam::eigenVectors(const symmTensor& T) +{ + return eigenVectors(tensor(T)); } diff --git a/src/OpenFOAM/primitives/Tensor/tensor/tensor.H b/src/OpenFOAM/primitives/Tensor/tensor/tensor.H index b92cc8e64a..94d724c9c0 100644 --- a/src/OpenFOAM/primitives/Tensor/tensor/tensor.H +++ b/src/OpenFOAM/primitives/Tensor/tensor/tensor.H @@ -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-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -50,13 +50,27 @@ namespace Foam typedef Tensor tensor; -vector eigenValues(const tensor&); -vector eigenVector(const tensor&, const scalar lambda); -tensor eigenVectors(const tensor&); +vector eigenValues(const tensor& T); +vector eigenVector +( + const tensor& T, + const scalar lambda, + const vector& direction1, + const vector& direction2 +); +tensor eigenVectors(const tensor& T, const vector& lambdas); +tensor eigenVectors(const tensor& T); -vector eigenValues(const symmTensor&); -vector eigenVector(const symmTensor&, const scalar lambda); -tensor eigenVectors(const symmTensor&); +vector eigenValues(const symmTensor& T); +vector eigenVector +( + const symmTensor& T, + const scalar lambda, + const vector& direction1, + const vector& direction2 +); +tensor eigenVectors(const symmTensor& T, const vector& lambdas); +tensor eigenVectors(const symmTensor& T); //- Data associated with tensor type are contiguous template<> diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C index 5136f38376..c64fa8fd3c 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/edgeCollapser.C @@ -458,7 +458,7 @@ void Foam::edgeCollapser::faceCollapseAxisAndAspectRatio // normal, as it has the greatest value. The minimum eigenvalue // is the dominant collapse axis for high aspect ratio faces. - collapseAxis = eigenVector(J, eVals.x()); + collapseAxis = eigenVectors(J, eVals).x(); // The inertia calculation describes the mass distribution as a // function of distance squared to the axis, so the square root of From b3bea42ada63ec1786a9d46cf05608397aa1d206 Mon Sep 17 00:00:00 2001 From: andy Date: Mon, 22 Feb 2016 12:15:34 +0000 Subject: [PATCH 010/143] Migrated pointToPointPlanarInterpolation updates from old development line --- .../pointToPointPlanarInterpolation.C | 50 ++++++++++++++++++- .../pointToPointPlanarInterpolation.H | 29 ++++++++++- 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C index e61a40391e..b191f076a2 100644 --- a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C +++ b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.C @@ -272,6 +272,10 @@ void Foam::pointToPointPlanarInterpolation::calcWeights << endl; } + OBJstream str("stencil.obj"); + Pout<< "pointToPointPlanarInterpolation::calcWeights :" + << " Dumping stencil to " << str.name() << endl; + forAll(destPoints, i) { label v0 = nearestVertex_[i][0]; @@ -285,17 +289,21 @@ void Foam::pointToPointPlanarInterpolation::calcWeights << " at:" << sourcePoints[v0] << " weight:" << nearestVertexWeight_[i][0] << nl; + str.write(linePointRef(destPoints[i], sourcePoints[v0])); + if (v1 != -1) { Pout<< " " << v1 << " at:" << sourcePoints[v1] << " weight:" << nearestVertexWeight_[i][1] << nl; + str.write(linePointRef(destPoints[i], sourcePoints[v1])); } if (v2 != -1) { Pout<< " " << v2 << " at:" << sourcePoints[v2] << " weight:" << nearestVertexWeight_[i][2] << nl; + str.write(linePointRef(destPoints[i], sourcePoints[v2])); } Pout<< endl; @@ -317,7 +325,10 @@ Foam::pointToPointPlanarInterpolation::pointToPointPlanarInterpolation : perturb_(perturb), nearestOnly_(nearestOnly), - referenceCS_(calcCoordinateSystem(sourcePoints)), + referenceCS_ + ( + nearestOnly ? coordinateSystem() : calcCoordinateSystem(sourcePoints) + ), nPoints_(sourcePoints.size()) { calcWeights(sourcePoints, destPoints); @@ -341,6 +352,43 @@ Foam::pointToPointPlanarInterpolation::pointToPointPlanarInterpolation } +Foam::pointToPointPlanarInterpolation::pointToPointPlanarInterpolation +( + const scalar perturb, + const bool nearestOnly, + const coordinateSystem& referenceCS, + const label sourceSize, + const List >& nearestVertex, + const List >& nearestVertexWeight +) +: + perturb_(perturb), + nearestOnly_(nearestOnly), + referenceCS_(referenceCS), + nPoints_(sourceSize), + nearestVertex_(nearestVertex), + nearestVertexWeight_(nearestVertexWeight) +{} + + +Foam::autoPtr +Foam::pointToPointPlanarInterpolation::clone() const +{ + return autoPtr + ( + new pointToPointPlanarInterpolation + ( + perturb_, + nearestOnly_, + referenceCS_, + nPoints_, + nearestVertex_, + nearestVertexWeight_ + ) + ); +} + + // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // Foam::wordList Foam::pointToPointPlanarInterpolation::timeNames diff --git a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.H b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.H index 85f6743485..ce468fcc02 100644 --- a/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.H +++ b/src/meshTools/triSurface/triSurfaceTools/pointToPointPlanarInterpolation.H @@ -73,6 +73,7 @@ class pointToPointPlanarInterpolation // patch List> nearestVertexWeight_; + // Private Member Functions //- Calculate a local coordinate system from set of points @@ -85,6 +86,7 @@ class pointToPointPlanarInterpolation const pointField& destPoints ); + public: // Declare name of the class and its debug switch @@ -114,9 +116,35 @@ public: const scalar perturb ); + //- Construct from components + pointToPointPlanarInterpolation + ( + const scalar perturb, + const bool nearestOnly, + const coordinateSystem& referenceCS, + const label sourceSize, + const List >& nearestVertex, + const List >& nearestVertexWeight + ); + + //- Construct and return a clone + autoPtr clone() const; + // Member Functions + //- Perturbation factor (for triangulation) + scalar perturb() const + { + return perturb_; + } + + //- Whether to use nearest point only (avoids triangulation, projection) + bool nearestOnly() const + { + return nearestOnly_; + } + //- Return the coordinateSystem const coordinateSystem& referenceCS() const { @@ -158,7 +186,6 @@ public: //- Interpolate from field on source points to dest points template tmp> interpolate(const Field& sourceFld) const; - }; From ec182c5f50adac485b22ab37cbdeefd066176478 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 25 Feb 2016 12:25:30 +0000 Subject: [PATCH 011/143] ENH: Added surfaceReaders from old internal development line --- .../readers/ensight/ensightSurfaceReader.C | 416 ++++++++++++++++++ .../readers/ensight/ensightSurfaceReader.H | 191 ++++++++ .../ensight/ensightSurfaceReaderTemplates.C | 144 ++++++ .../sampledSurface/readers/surfaceReader.C | 51 +++ .../sampledSurface/readers/surfaceReader.H | 161 +++++++ .../sampledSurface/readers/surfaceReaderNew.C | 52 +++ 6 files changed, 1015 insertions(+) create mode 100644 src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.C create mode 100644 src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.H create mode 100644 src/sampling/sampledSurface/readers/ensight/ensightSurfaceReaderTemplates.C create mode 100644 src/sampling/sampledSurface/readers/surfaceReader.C create mode 100644 src/sampling/sampledSurface/readers/surfaceReader.H create mode 100644 src/sampling/sampledSurface/readers/surfaceReaderNew.C diff --git a/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.C b/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.C new file mode 100644 index 0000000000..1caabd5ad9 --- /dev/null +++ b/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.C @@ -0,0 +1,416 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "ensightSurfaceReader.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(ensightSurfaceReader, 0); + addToRunTimeSelectionTable(surfaceReader, ensightSurfaceReader, fileName); +} + + +void Foam::ensightSurfaceReader::skip(const label n, IFstream& is) const +{ + label i = 0; + token t; + while (is.good() && (i < n)) + { + is >> t; + i++; + + if (debug) + { + Info<< "Skipping token " << t << endl; + } + } + + if (i != n) + { + WarningInFunction + << "Requested to skip " << n << "tokens, but stream exited after " + << i << " tokens. Last token read: " << t + << endl; + } +} + + +void Foam::ensightSurfaceReader::debugSection +( + const word& expected, + IFstream& is +) const +{ + word actual(is); + + if (expected != actual) + { + FatalIOErrorInFunction(is) + << "Expected section header '" << expected + << "' but read the word '" << actual << "'" + << exit(FatalIOError); + } +} + + +void Foam::ensightSurfaceReader::readCase(IFstream& is) +{ + if (debug) + { + InfoInFunction<< endl; + } + + if (!is.good()) + { + FatalErrorInFile + << "Cannot read file " << is.name() + << exit(FatalError); + } + + // Read the file + debugSection("FORMAT", is); + skip(3, is); // type: ensight gold + + debugSection("GEOMETRY", is); + readSkip(is, 2, meshFileName_); + + debugSection("VARIABLE", is); + + DynamicList fieldNames(10); + DynamicList fieldFileNames(10); + word fieldName; + word fieldFileName; + while (is.good()) + { + word primitiveType(is); // scalar, vector + + if (primitiveType == "TIME") + { + break; + } + + readSkip(is, 3, fieldName); // p, U etc + fieldNames.append(fieldName); + + is >> fieldFileName; // surfaceName.****.fieldName + fieldFileNames.append(fieldFileName); + } + fieldNames_.transfer(fieldNames); + fieldFileNames_.transfer(fieldFileNames); + + if (debug) + { + Info<< "fieldNames: " << fieldNames << nl + << "fieldFileNames: " << fieldFileNames << endl; + } + + // Start reading time information + skip(3, is); // time set: 1 + readSkip(is, 3, nTimeSteps_); + readSkip(is, 3, timeStartIndex_); + readSkip(is, 2, timeIncrement_); + + if (debug) + { + Info<< "nTimeSteps: " << nTimeSteps_ << nl + << "timeStartIndex: " << timeStartIndex_ << nl + << "timeIncrement: " << timeIncrement_ << endl; + } + + // Read the time values + skip(2, is); // time values: + timeValues_.setSize(nTimeSteps_); + for (label i = 0; i < nTimeSteps_; i++) + { + scalar t(readScalar(is)); + + timeValues_[i].value() = t; + // TODO: use character representation of t directly instead of + // regenerating from scalar value + timeValues_[i].name() = Foam::name(t); + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::ensightSurfaceReader::ensightSurfaceReader(const fileName& fName) +: + surfaceReader(fName), + baseDir_(fName.path()), + meshFileName_(), + fieldNames_(), + fieldFileNames_(), + nTimeSteps_(0), + timeStartIndex_(0), + timeIncrement_(1), + timeValues_(), + surfPtr_(NULL) +{ + IFstream is(fName); + readCase(is); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::ensightSurfaceReader::~ensightSurfaceReader() +{} + + +// * * * * * * * * * * * * * Public Member Functions * * * * * * * * * * * // + +const Foam::meshedSurface& Foam::ensightSurfaceReader::geometry() +{ + if (debug) + { + InfoInFunction<< endl; + } + + if (!surfPtr_.valid()) + { + IFstream is(baseDir_/meshFileName_); + + if (!is.good()) + { + FatalErrorInFile + << "Cannot read file " << is.name() + << exit(FatalError); + } + + token t; + while (is.good()) + { + is >> t; + + if (t.isWord()) + { + word wordToken = t.wordToken(); + if (wordToken == "coordinates") + { + break; + } + } + } + + label nPoints(readLabel(is)); + + if (debug) + { + Info<< "nPoints: " << nPoints << endl; + } + + pointField points(nPoints); + { + scalarField x(nPoints); + for (label dir = 0; dir < 3; dir++) + { + forAll(points, pointI) + { + x[pointI] = readScalar(is); + } + + points.replace(dir, x); + } + } + + + // Read faces - may be a mix of tris, quads and polys + DynamicList faces(ceil(nPoints/3)); + + while (is.good()) + { + token t(is); + + if (is.eof()) + { + break; + } + + word faceType(t.wordToken()); + + if (debug) + { + Info<< "faceType: " << faceType << endl; + } + + label nFace(readLabel(is)); + + if (debug) + { + Info<< "nFace: " << nFace << endl; + } + + if (faceType == "tria3") + { + label np = 3; + for (label faceI = 0; faceI < nFace; faceI++) + { + face f(np); + for (label fpI = 0; fpI < np; fpI++) + { + f[fpI] = readLabel(is); + } + + faces.append(f); + } + } + else if (faceType == "quad4") + { + label np = 4; + for (label faceI = 0; faceI < nFace; faceI++) + { + face f(np); + for (label fpI = 0; fpI < np; fpI++) + { + f[fpI] = readLabel(is); + } + + faces.append(f); + } + } + else if (faceType == "nsided") + { + labelList np(nFace); + for (label faceI = 0; faceI < nFace; faceI++) + { + np[faceI] = readLabel(is); + } + for (label faceI = 0; faceI < nFace; faceI++) + { + face f(np[faceI]); + for (label fpI = 0; fpI < f.size(); fpI++) + { + f[fpI] = readLabel(is); + } + + faces.append(f); + } + } + else if (faceType != "") + { + WarningInFunction + << "Unknown face type: " << faceType + << ". Aborting read and continuing with current elements " + << "only" << endl; + } + } + + if (debug) + { + Info<< "read nFaces: " << faces.size() << endl; + } + + forAll(faces, faceI) + { + face& f = faces[faceI]; + + forAll(f, fpI) + { + f[fpI]--; + } + } + + surfPtr_.reset(new meshedSurface(xferMove(points), faces.xfer())); + } + + return surfPtr_(); +} + + +Foam::instantList Foam::ensightSurfaceReader::times() const +{ + return timeValues_; +} + + +Foam::wordList Foam::ensightSurfaceReader::fieldNames +( + const label timeIndex +) const +{ + return fieldNames_; +} + + +Foam::tmp > Foam::ensightSurfaceReader::field +( + const label timeIndex, + const label fieldIndex, + const scalar& refValue +) const +{ + return readField(timeIndex, fieldIndex); +} + + +Foam::tmp > Foam::ensightSurfaceReader::field +( + const label timeIndex, + const label fieldIndex, + const vector& refValue +) const +{ + return readField(timeIndex, fieldIndex); +} + + +Foam::tmp > +Foam::ensightSurfaceReader::field +( + const label timeIndex, + const label fieldIndex, + const sphericalTensor& refValue +) const +{ + return readField(timeIndex, fieldIndex); +} + + +Foam::tmp > Foam::ensightSurfaceReader::field +( + const label timeIndex, + const label fieldIndex, + const symmTensor& refValue +) const +{ + return readField(timeIndex, fieldIndex); +} + + +Foam::tmp > Foam::ensightSurfaceReader::field +( + const label timeIndex, + const label fieldIndex, + const tensor& refValue +) const +{ + return readField(timeIndex, fieldIndex); +} + + +// ************************************************************************* // diff --git a/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.H b/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.H new file mode 100644 index 0000000000..e0b9afd453 --- /dev/null +++ b/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReader.H @@ -0,0 +1,191 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::ensightensightSurfaceReader + +Description + Ensight format surface reader + +SourceFiles + ensightSurfaceReader.C + +\*---------------------------------------------------------------------------*/ + +#ifndef ensightSurfaceReader_H +#define ensightSurfaceReader_H + +#include "surfaceReader.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class ensightSurfaceReader Declaration +\*---------------------------------------------------------------------------*/ + +class ensightSurfaceReader +: + public surfaceReader +{ +protected: + + // Protected Data + + //- Base directory + fileName baseDir_; + + //- Name of mesh file + word meshFileName_; + + //- Field names + List fieldNames_; + + //- Field file names + List fieldFileNames_; + + //- Number of time steps + label nTimeSteps_; + + //- Start time index + label timeStartIndex_; + + //- Time increment + label timeIncrement_; + + //- Times + instantList timeValues_; + + //- Pointer to the surface + autoPtr surfPtr_; + + + // Protected Member Functions + + //- Read and check a section header + void debugSection(const word& expected, IFstream& is) const; + + //- Read the case file + void readCase(IFstream& is); + + //- Helper function to skip forward n steps in stream + void skip(const label n, IFstream& is) const; + + //- Helper function to return Type after skipping n tokens + template + void readSkip(IFstream& is, const label nSkip, Type& value) const; + + //- Helper function to return a field + template + tmp > readField + ( + const label timeIndex, + const label fieldIndex + ) const; + + +public: + + //- Runtime type information + TypeName("ensight"); + + // Constructors + + //- Construct from fileName + ensightSurfaceReader(const fileName& fName); + + + //- Destructor + virtual ~ensightSurfaceReader(); + + + // Member Functions + + //- Return a reference to the surface geometry + virtual const meshedSurface& geometry(); + + //- Return a list of the available times + virtual instantList times() const; + + //- Return a list of the available fields at a given time + virtual wordList fieldNames(const label timeIndex) const; + + //- Return a scalar field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const scalar& refValue = pTraits::zero + ) const; + + //- Return a scalar field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const vector& refValue = pTraits::zero + ) const; + + //- Return a sphericalTensor field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const sphericalTensor& reValue = pTraits::zero + ) const; + + //- Return a symmTensor field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const symmTensor& reValue = pTraits::zero + ) const; + + //- Return a tensor field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const tensor& reValue = pTraits::zero + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "ensightSurfaceReaderTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReaderTemplates.C b/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReaderTemplates.C new file mode 100644 index 0000000000..edb89955a5 --- /dev/null +++ b/src/sampling/sampledSurface/readers/ensight/ensightSurfaceReaderTemplates.C @@ -0,0 +1,144 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include +#include + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +template +void Foam::ensightSurfaceReader::readSkip +( + IFstream& is, + const label nSkip, + Type& value +) const +{ + skip(nSkip, is); + + is >> value; +} + + +template +Foam::tmp > Foam::ensightSurfaceReader::readField +( + const label timeIndex, + const label fieldIndex +) const +{ + if (debug) + { + InfoInFunction<< endl; + } + + const word& fieldName(fieldNames_[fieldIndex]); + const label fileIndex = timeStartIndex_ + timeIndex*timeIncrement_; + + fileName fieldFileName(fieldFileNames_[fieldIndex]); + + std::ostringstream oss; + oss << std::setfill('0') << std::setw(4) << fileIndex; + const word indexStr = oss.str(); + fieldFileName.replace("****", indexStr); + + IFstream is(baseDir_/fieldFileName); + + if (!is.good()) + { + FatalErrorInFunction + << "Cannot read file " << is.name() + << " for field " << fieldName + << exit(FatalError); + } + + // Check that data type is as expected + word primitiveType(is); + + if (debug) + { + Info<< "primitiveType: " << primitiveType << endl; + } + + if (primitiveType != pTraits::typeName) + { + FatalIOErrorInFunction(is) + << "Expected " << pTraits::typeName << "values " + << "but found type " << primitiveType + << exit(FatalIOError); + } + + tmp > tField(new Field()); + + label n; + if (surfPtr_.valid()) + { + n = surfPtr_->size(); + } + else + { + n = 1000; + } + + Type value; + word wValue; + label iValue; + + // Read header info: part index, e.g. part 1 + is >> wValue >> iValue; + + // Read data file + // - Assume that file contains a mix of words and numbers, and that all + // numbers relate to face values, e.g. header comprises of words and + // element types are also words, e.g. tria3, quad4, nsided + DynamicList values(n); + while (is.good()) + { + token t(is); + + if (is.eof()) + { + break; + } + + if (t.isWord()) + { + wValue = t.wordToken(); + } + else + { + is.putBack(t); + is >> value; + values.append(value); + } + } + + tField().transfer(values); + + return tField; +} + + +// ************************************************************************* // diff --git a/src/sampling/sampledSurface/readers/surfaceReader.C b/src/sampling/sampledSurface/readers/surfaceReader.C new file mode 100644 index 0000000000..fb90c1d80f --- /dev/null +++ b/src/sampling/sampledSurface/readers/surfaceReader.C @@ -0,0 +1,51 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "surfaceReader.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(surfaceReader, 0); + defineRunTimeSelectionTable(surfaceReader, fileName); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::surfaceReader::surfaceReader(const fileName& fName) +: + fileName_(fName) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::surfaceReader::~surfaceReader() +{} + + +// ************************************************************************* // diff --git a/src/sampling/sampledSurface/readers/surfaceReader.H b/src/sampling/sampledSurface/readers/surfaceReader.H new file mode 100644 index 0000000000..2ccdc470de --- /dev/null +++ b/src/sampling/sampledSurface/readers/surfaceReader.H @@ -0,0 +1,161 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::surfaceReader + +Description + Base class for surface readers + +SourceFiles + surfaceReader.C + +\*---------------------------------------------------------------------------*/ + +#ifndef surfaceReader_H +#define surfaceReader_H + +#include "typeInfo.H" +#include "autoPtr.H" +#include "MeshedSurfaces.H" +#include "runTimeSelectionTables.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class surfaceReader Declaration +\*---------------------------------------------------------------------------*/ + +class surfaceReader +{ +protected: + + //- File name + fileName fileName_; + + +public: + + //- Runtime type information + TypeName("surfaceReader"); + + // Declare run-time constructor selection table + + declareRunTimeSelectionTable + ( + autoPtr, + surfaceReader, + fileName, + ( + const fileName& fName + ), + (fName) + ); + + + // Selectors + + //- Return a reference to the selected surfaceReader + static autoPtr New + ( + const word& readType, + const fileName& fName + ); + + + // Constructors + + //- Construct from fileName + surfaceReader(const fileName& fName); + + + //- Destructor + virtual ~surfaceReader(); + + + // Member Functions + + //- Return a reference to the surface geometry + virtual const meshedSurface& geometry() = 0; + + //- Return a list of the available times + virtual instantList times() const = 0; + + //- Return a list of the available fields at a given time + virtual wordList fieldNames(const label timeIndex) const = 0; + + //- Return a scalar field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const scalar& refValue = pTraits::zero + ) const = 0; + + //- Return a vector field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const vector& refValue = pTraits::zero + ) const = 0; + + //- Return a sphericalTensor field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const sphericalTensor& reValue = pTraits::zero + ) const = 0; + + //- Return a symmTensor field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const symmTensor& reValue = pTraits::zero + ) const = 0; + + //- Return a tensor field at a given time + virtual tmp > field + ( + const label timeIndex, + const label fieldIndex, + const tensor& reValue = pTraits::zero + ) const = 0; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +#endif + +// ************************************************************************* // diff --git a/src/sampling/sampledSurface/readers/surfaceReaderNew.C b/src/sampling/sampledSurface/readers/surfaceReaderNew.C new file mode 100644 index 0000000000..415179e273 --- /dev/null +++ b/src/sampling/sampledSurface/readers/surfaceReaderNew.C @@ -0,0 +1,52 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "surfaceReader.H" + +// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // + +Foam::autoPtr Foam::surfaceReader::New +( + const word& readerType, + const fileName& fName +) +{ + fileNameConstructorTable::iterator cstrIter = + fileNameConstructorTablePtr_->find(readerType); + + if (cstrIter == fileNameConstructorTablePtr_->end()) + { + FatalErrorInFunction + << "Unknown reader type \"" << readerType << "\"\n\n" + << "Valid reader types: " + << fileNameConstructorTablePtr_->sortedToc() << nl + << exit(FatalError); + } + + return autoPtr(cstrIter()(fName)); +} + + +// ************************************************************************* // From 92c831250a190f0e3b0f3d3f4fae6c53f89b9472 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 25 Feb 2016 12:31:20 +0000 Subject: [PATCH 012/143] ENH: Added new structure for run-time selectable data windowing functions --- .../windowModels/windowModel/windowModel.C | 100 ++++++++++++ .../windowModels/windowModel/windowModel.H | 143 ++++++++++++++++++ .../windowModels/windowModel/windowModelNew.C | 63 ++++++++ .../windowModel/windowModelTemplates.C | 84 ++++++++++ 4 files changed, 390 insertions(+) create mode 100644 src/randomProcesses/windowModels/windowModel/windowModel.C create mode 100644 src/randomProcesses/windowModels/windowModel/windowModel.H create mode 100644 src/randomProcesses/windowModels/windowModel/windowModelNew.C create mode 100644 src/randomProcesses/windowModels/windowModel/windowModelTemplates.C diff --git a/src/randomProcesses/windowModels/windowModel/windowModel.C b/src/randomProcesses/windowModels/windowModel/windowModel.C new file mode 100644 index 0000000000..9b0e0658ff --- /dev/null +++ b/src/randomProcesses/windowModels/windowModel/windowModel.C @@ -0,0 +1,100 @@ +#include "windowModel.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(windowModel, 0); + defineRunTimeSelectionTable(windowModel, dictionary); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::windowModel::windowModel(const dictionary& dict, const label nSamples) +: + scalarField(nSamples), + nOverlapSamples_(0), + nWindow_(dict.lookupOrDefault("nWindow", -1)) +{ + scalar prc = readScalar(dict.lookup("overlapPercent")); + nOverlapSamples_ = floor(prc/scalar(100)*nSamples); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::windowModel::~windowModel() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +Foam::label Foam::windowModel::nSamples() const +{ + return size(); +} + + +Foam::label Foam::windowModel::nWindow() const +{ + return nWindow_; +} + + +Foam::label Foam::windowModel::nWindowsTotal(label nSamplesTotal) const +{ + const label nSamples = this->nSamples(); + + return floor((nSamplesTotal - nSamples)/(nSamples - nOverlapSamples_)) + 1; +} + + +Foam::label Foam::windowModel::validate(const label nSamplesTotal) +{ + label nSamples = this->nSamples(); + + if (nSamplesTotal < nSamples) + { + FatalErrorInFunction + << "Block size N = " << nSamples + << " is larger than total number of data points = " << nSamplesTotal + << exit(FatalError); + } + + label nWindowAvailable = nWindowsTotal(nSamplesTotal); + + if (nWindow_ == -1) + { + nWindow_ = nWindowAvailable; + } + + if (nWindow_ > nWindowAvailable) + { + FatalErrorInFunction + << "Number of data points calculated with " << nWindow_ + << " windows greater than the total number of data points" + << nl + << " Block size, N = " << nSamples << nl + << " Total number of data points = " << nSamplesTotal << nl + << " Maximum number of windows = " << nWindowAvailable << nl + << " Requested number of windows = " << nWindow_ + << exit(FatalError); + } + + label nRequiredSamples = + nWindow_*nSamples - (nWindow_ - 1)*nOverlapSamples_; + + Info<< "Windowing:" << nl + << " Total samples : " << nSamplesTotal << nl + << " Samples per window : " << nSamples << nl + << " Number of windows : " << nWindow_ << nl + << " Overlap size : " << nOverlapSamples_ << nl + << " Required number of samples : " << nRequiredSamples + << endl; + + return nRequiredSamples; +} + + +// ************************************************************************* // diff --git a/src/randomProcesses/windowModels/windowModel/windowModel.H b/src/randomProcesses/windowModels/windowModel/windowModel.H new file mode 100644 index 0000000000..b9e1845fe0 --- /dev/null +++ b/src/randomProcesses/windowModels/windowModel/windowModel.H @@ -0,0 +1,143 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::windowModel + +Description + Base class for windowing models + +SourceFiles + noiseFFT.C + +\*---------------------------------------------------------------------------*/ + +#ifndef windowModel_H +#define windowModel_H + +#include "autoPtr.H" +#include "runTimeSelectionTables.H" +#include "scalarField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class windowModel Declaration +\*---------------------------------------------------------------------------*/ + +class windowModel +: + public scalarField +{ + +protected: + + // Protected Data + + //- Number of overlap samples per window + label nOverlapSamples_; + + //- Number of windows + label nWindow_; + + +public: + + //- Runtime type information + TypeName("windowModel"); + + // Declare runtime constructor selection table + declareRunTimeSelectionTable + ( + autoPtr, + windowModel, + dictionary, + ( + const dictionary& dict, + const label nSamples + ), + (dict, nSamples) + ); + + + //- Construct from dictionary + windowModel(const dictionary& dict, const label nSamples); + + + // Selectors + + //- Return a reference to the selected window model + static autoPtr New + ( + const dictionary& dict, + const label nSamples + ); + + + //- Destuctor + virtual ~windowModel(); + + + // Public Member Functions + + //- Return the number of samples in the window + label nSamples() const; + + //- Return the number of windows + label nWindow() const; + + //- Return the total number of windows for a given number of samples + label nWindowsTotal(label nSamplesTotal) const; + + //- Validate that the window is applicable to the data set size, and + // return the number of required data points + label validate(label n); + + //- Return the windowed data + template + tmp > apply + ( + const Field& fld, + const label windowI + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "windowModelTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/randomProcesses/windowModels/windowModel/windowModelNew.C b/src/randomProcesses/windowModels/windowModel/windowModelNew.C new file mode 100644 index 0000000000..68aed5d766 --- /dev/null +++ b/src/randomProcesses/windowModels/windowModel/windowModelNew.C @@ -0,0 +1,63 @@ +#/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "windowModel.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::autoPtr Foam::windowModel::New +( + const dictionary& dict, + const label nSamples +) +{ + const word modelType(dict.lookup("windowModel")); + + Info<< "Selecting windowModel " << modelType << endl; + + dictionaryConstructorTable::iterator cstrIter = + dictionaryConstructorTablePtr_->find(modelType); + + if (cstrIter == dictionaryConstructorTablePtr_->end()) + { + FatalErrorIn + ( + "windowModel::New(const dictionary&, const label)" + ) << "Unknown windowModel type " + << modelType << nl << nl + << "Valid windowModel types are:" << nl + << dictionaryConstructorTablePtr_->sortedToc() + << exit(FatalError); + } + + return autoPtr + ( + cstrIter()(dict.subDict(modelType + "Coeffs"), nSamples) + ); + +} + + +// ************************************************************************* // diff --git a/src/randomProcesses/windowModels/windowModel/windowModelTemplates.C b/src/randomProcesses/windowModels/windowModel/windowModelTemplates.C new file mode 100644 index 0000000000..1343b55bb9 --- /dev/null +++ b/src/randomProcesses/windowModels/windowModel/windowModelTemplates.C @@ -0,0 +1,84 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +template +Foam::tmp > Foam::windowModel::apply +( + const Field& fld, + const label windowI +) const +{ + label nSamples = this->nSamples(); + + if (nSamples > fld.size()) + { + FatalErrorIn + ( + "template " + "Foam::tmp > Foam::windowModel::apply" + "(" + "const Field&, " + "const label" + ") const" + ) + << "Number of samples in sampling window is greater than the " + << "size of the input field" << nl + << " input field size = " << fld.size() << nl + << " window size = " << nSamples << nl + << " requested window index = " << windowI + << exit(FatalError); + } + + + tmp > tresult(new Field(nSamples, pTraits::zero)); + Field& result = tresult(); + + label nWindow = nWindowsTotal(fld.size()); + if (windowI >= nWindow) + { + FatalErrorIn + ( + "template " + "Foam::tmp > Foam::windowModel::apply" + "(" + "const Field&, " + "const label" + ") const" + ) + << "Requested window " << windowI << " outside of range. " + << "Number of available windows is " << nWindow + << abort(FatalError); + } + + label windowOffset = windowI*(nSamples - nOverlapSamples_); + + const scalarField& wf = *this; + result = wf*SubField(fld, nSamples, windowOffset); + + return tresult; +} + + +// ************************************************************************* // From 9eef6f5c22817f19d91857f0b6be926d06c67f16 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 25 Feb 2016 12:31:38 +0000 Subject: [PATCH 013/143] ENH: Added new Hanning window model --- .../windowModels/Hanning/Hanning.C | 122 +++++++++++++++++ .../windowModels/Hanning/Hanning.H | 125 ++++++++++++++++++ 2 files changed, 247 insertions(+) create mode 100644 src/randomProcesses/windowModels/Hanning/Hanning.C create mode 100644 src/randomProcesses/windowModels/Hanning/Hanning.H diff --git a/src/randomProcesses/windowModels/Hanning/Hanning.C b/src/randomProcesses/windowModels/Hanning/Hanning.C new file mode 100644 index 0000000000..19a48258ac --- /dev/null +++ b/src/randomProcesses/windowModels/Hanning/Hanning.C @@ -0,0 +1,122 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "Hanning.H" +#include "addToRunTimeSelectionTable.H" +#include "mathematicalConstants.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace windowModels +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +defineTypeNameAndDebug(Hanning, 0); +addToRunTimeSelectionTable(windowModel, Hanning, dictionary); + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Hanning::Hanning(const dictionary& dict, const label nSamples) +: + windowModel(dict, nSamples), + symmetric_(readBool(dict.lookup("symmetric"))), + extended_(readBool(dict.lookup("extended"))), + alpha_(dict.lookupOrDefault("alpha", 0.5)) +{ + // Extend range if required + label offset = extended_ ? 1 : 0; + scalar m = nSamples - 1 + 2*offset; + + scalarField t(nSamples); + forAll(t, i) + { + t[i] = i + offset; + } + + scalarField& wf = *this; + wf = (1 - alpha_)*cos(constant::mathematical::twoPi*t/m); + + // Reset second half of window if symmetric + if (symmetric_) + { + label midPointI = 0; + if (nSamples % 2 == 0) + { + midPointI = nSamples/2; + } + else + { + midPointI = (nSamples + 1)/2; + } + + for (label i = 0; i < midPointI; i++) + { + wf[nSamples - i - 1] = wf[i]; + } + } + + scalar sumSqr = sum(sqr(wf)); + + // Normalisation (if required) + wf *= sqrt(nSamples/sumSqr); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Hanning::~Hanning() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Hanning::symmetric() const +{ + return symmetric_; +} + + +bool Hanning::extended() const +{ + return extended_; +} + + +Foam::scalar Hanning::alpha() const +{ + return alpha_; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace windowModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/randomProcesses/windowModels/Hanning/Hanning.H b/src/randomProcesses/windowModels/Hanning/Hanning.H new file mode 100644 index 0000000000..8a0ca618ed --- /dev/null +++ b/src/randomProcesses/windowModels/Hanning/Hanning.H @@ -0,0 +1,125 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::windowModels::Hanning + +Description + Hanning window + + The window is described by the function + \f[ + wf = (1 - \alpha) cos(2 \pi t/m); + \f] + + Where: + \vartable + \alpha | Coefficient with a default value of 0.5 + t | time + m | window width + \endvartable + + The window can be further manipulated by the controls: + - \c symmetric: force the window to be symmetric + - \c extended: extend the window by 1 element at start and end to produce + non-zero values at the start and end positions. Note: window is + normalised to preserve energy content + +SourceFiles + Hanning.C + +\*---------------------------------------------------------------------------*/ + +#ifndef Hanning_H +#define Hanning_H + +#include "autoPtr.H" +#include "runTimeSelectionTables.H" +#include "windowModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace windowModels +{ + +/*---------------------------------------------------------------------------*\ + Class Hanning Declaration +\*---------------------------------------------------------------------------*/ + +class Hanning +: + public windowModel +{ + +protected: + + // Protected Member Data + + //- Symmetric switch + bool symmetric_; + + //- Extended switch + bool extended_; + + //- Window coefficient, default = 0.5 + scalar alpha_; + + +public: + + //- Runtime type information + TypeName("Hanning"); + + + //- Construct from dictionary + Hanning(const dictionary& dict, const label nSamples); + + //- Destuctor + virtual ~Hanning(); + + + // Public Member Functions + + //- Return the symmetric flag + bool symmetric() const; + + //- Return the extended flag + bool extended() const; + + //- Return the window coefficient + scalar alpha() const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace windowModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // From 225cd918bb8e2263ab01c75e4c91aa4994157dc1 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 25 Feb 2016 12:46:30 +0000 Subject: [PATCH 014/143] ENH: Added surfaceReaders to sampling library Make/files --- src/sampling/Make/files | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sampling/Make/files b/src/sampling/Make/files index 03fab92a74..3416dd38d1 100644 --- a/src/sampling/Make/files +++ b/src/sampling/Make/files @@ -51,6 +51,12 @@ $(surfWriters)/starcd/starcdSurfaceWriter.C $(surfWriters)/vtk/vtkSurfaceWriter.C $(surfWriters)/boundaryData/boundaryDataSurfaceWriter.C +surfReaders = sampledSurface/readers + +$(surfReaders)/surfaceReader.C +$(surfReaders)/surfaceReaderNew.C +$(surfReaders)/ensight/ensightSurfaceReader.C + graphField/writePatchGraph.C graphField/writeCellGraph.C graphField/makeGraph.C From 4bf509df4279152a6b3cbe069979868afdc1d97b Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 25 Feb 2016 12:53:23 +0000 Subject: [PATCH 015/143] ENH: Added new structure for run-time selectable noiseModels --- .../noise/noiseModels/noiseModel/noiseModel.C | 150 +++++++++++++++ .../noise/noiseModels/noiseModel/noiseModel.H | 175 ++++++++++++++++++ .../noiseModels/noiseModel/noiseModelNew.C | 53 ++++++ 3 files changed, 378 insertions(+) create mode 100644 src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C create mode 100644 src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H create mode 100644 src/randomProcesses/noise/noiseModels/noiseModel/noiseModelNew.C diff --git a/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C new file mode 100644 index 0000000000..c32c4ec21d --- /dev/null +++ b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C @@ -0,0 +1,150 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "noiseModel.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(noiseModel, 0); + defineRunTimeSelectionTable(noiseModel, dictionary); +} + +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +Foam::scalar Foam::noiseModel::checkUniformTimeStep +( + const scalarList& times +) const +{ + scalar deltaT = -1.0; + + if (times.size() > 1) + { + for (label i = 1; i < times.size(); i++) + { + scalar dT = times[i] - times[i-1]; + + if (deltaT < 0) + { + deltaT = dT; + } + + if (mag(deltaT - dT) > SMALL) + { + FatalErrorInFunction + << "Unable to process data with a variable time step" + << exit(FatalError); + } + } + } + else + { + FatalErrorInFunction + << "Unable to create FFT with a single value" + << exit(FatalError); + } + + return deltaT; +} + + +Foam::label Foam::noiseModel::findStartTimeIndex +( + const instantList& allTimes, + const scalar startTime +) const +{ + forAll(allTimes, timeI) + { + const instant& i = allTimes[timeI]; + + if (i.value() >= startTime) + { + return timeI; + } + } + + return 0; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::noiseModel::noiseModel(const dictionary& dict) +: + dict_(dict), + pRef_(dict.lookupOrDefault("pRef", 0)), + nSamples_(dict.lookupOrDefault("N", 65536)), + fLower_(dict.lookupOrDefault("fl", 25)), + fUpper_(dict.lookupOrDefault("fu", 10000)), + startTime_(dict.lookupOrDefault("startTime", 0)), + windowModelPtr_(windowModel::New(dict, nSamples_)) +{ + // Check number of samples - must be a power of 2 for our FFT + bool powerOf2 = ((nSamples_ != 0) && !(nSamples_ & (nSamples_ - 1))); + if (!powerOf2) + { + FatalIOErrorInFunction(dict) + << "N: Number of samples in sampling windows must be a " + << "power of 2" + << exit(FatalIOError); + } + + if (fLower_ < 0) + { + FatalIOErrorInFunction(dict) + << "fl: lower frequency bound must be greater than zero" + << exit(FatalIOError); + + } + + if (fUpper_ < 0) + { + FatalIOErrorInFunction(dict) + << "fu: upper frequency bound must be greater than zero" + << exit(FatalIOError); + + } + + if (fUpper_ < fLower_) + { + FatalIOErrorInFunction(dict) + << "fu: upper frequency bound must be greater than lower " + << "frequency bound (fl)" + << exit(FatalIOError); + + } +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::noiseModel::~noiseModel() +{} + + +// ************************************************************************* // diff --git a/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H new file mode 100644 index 0000000000..f7e739b7d0 --- /dev/null +++ b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.H @@ -0,0 +1,175 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::noiseModel + +Description + Base class for noise models. + + Data is read from a dictionary, e.g. + + \verbatim + pRef 0; + N 4096; + fl 25; + fu 25; + startTime 0; + \endverbatim + + where + \table + Property | Description | Required | Default value + pRef | Reference pressure | no | 0 + N | Number of samples in sampling window | no | 65536 (2^16) + fl | Lower frequency bounds | no | 25 + fu | Upper frequency bounds | no | 10000 + \endtable + +Note + The number of samples in the sampling window must be a power of 2 + + +SourceFiles + noiseModel.C + +\*---------------------------------------------------------------------------*/ + +#ifndef noiseModel_H +#define noiseModel_H + +#include "dictionary.H" +#include "scalarList.H" +#include "instantList.H" +#include "windowModel.H" +#include "runTimeSelectionTables.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class noiseModel Declaration +\*---------------------------------------------------------------------------*/ + +class noiseModel +{ + +private: + + // Private Member Functions + + //- Disallow default bitwise copy construct + noiseModel(const noiseModel&); + + //- Disallow default bitwise assignment + void operator=(const noiseModel&); + + +protected: + + // Protected Data + + //- Copy of dictionary used for construction + const dictionary dict_; + + //- Reference pressure + scalar pRef_; + + //- Number of samples in sampling window, default = 2^16 + label nSamples_; + + //- Lower frequency limit, default = 25Hz + scalar fLower_; + + //- Upper frequency limit, default = 10kHz + scalar fUpper_; + + //- Start time, default = 0s + scalar startTime_; + + //- Window model + autoPtr windowModelPtr_; + + + + // Protected Member Functions + + //- Check and return uniform time step + scalar checkUniformTimeStep + ( + const scalarList& times + ) const; + + //- Find and return start time index + label findStartTimeIndex + ( + const instantList& allTimes, + const scalar startTime + ) const; + + +public: + + //- Runtime type information + TypeName("noiseModel"); + + //- Run time selection table + declareRunTimeSelectionTable + ( + autoPtr, + noiseModel, + dictionary, + ( + const dictionary& dict + ), + (dict) + ); + + //- Selector + static autoPtr New(const dictionary& dict); + + //- Constructor + noiseModel(const dictionary& dict); + + //- Destructor + virtual ~noiseModel(); + + + // Public Member Functions + + //- Abstract call to calculate + virtual void calculate() = 0; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/randomProcesses/noise/noiseModels/noiseModel/noiseModelNew.C b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModelNew.C new file mode 100644 index 0000000000..3f5fa4f25f --- /dev/null +++ b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModelNew.C @@ -0,0 +1,53 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "noiseModel.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::autoPtr Foam::noiseModel::New(const dictionary& dict) +{ + const word modelType(dict.lookup("noiseModel")); + + Info<< "Selecting noiseModel " << modelType << endl; + + dictionaryConstructorTable::iterator cstrIter = + dictionaryConstructorTablePtr_->find(modelType); + + if (cstrIter == dictionaryConstructorTablePtr_->end()) + { + FatalErrorInFunction + << "Unknown noiseModel type " + << modelType << nl << nl + << "Valid noiseModel types are:" << nl + << dictionaryConstructorTablePtr_->sortedToc() + << exit(FatalError); + } + + return autoPtr(cstrIter()(dict.subDict(modelType + "Coeffs"))); +} + + +// ************************************************************************* // From 39aa4f3a4e17000c4d8657dcce600a756d4e9fdd Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 25 Feb 2016 12:54:17 +0000 Subject: [PATCH 016/143] ENH: Added new pointNoise model to process point data to replicate old behaviour --- .../noise/noiseModels/pointNoise/pointNoise.C | 151 ++++++++++++++++++ .../noise/noiseModels/pointNoise/pointNoise.H | 148 +++++++++++++++++ 2 files changed, 299 insertions(+) create mode 100644 src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.C create mode 100644 src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.H diff --git a/src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.C b/src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.C new file mode 100644 index 0000000000..2014d721e3 --- /dev/null +++ b/src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.C @@ -0,0 +1,151 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "pointNoise.H" +#include "noiseFFT.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace noiseModels +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +defineTypeNameAndDebug(pointNoise, 0); +addToRunTimeSelectionTable(noiseModel, pointNoise, dictionary); + +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +void pointNoise::filterTimeData +( + const CSV& pData, + scalarField& t, + scalarField& p +) +{ + const scalarField t0(pData.x()); + const scalarField p0(pData.y()); + + DynamicList tf(t0.size()); + DynamicList pf(t0.size()); + + forAll(t0, timeI) + { + if (t0[timeI] >= startTime_) + { + tf.append(t0[timeI]); + pf.append(p0[timeI]); + } + } + + t.transfer(tf); + p.transfer(pf); +} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void pointNoise::calculate() +{ + // Point data only handled by master + if (!Pstream::master()) + { + return; + } + + Info<< "Reading data file" << endl; + + CSV pData("pressure", dict_, "Data"); + fileName baseFileName(pData.fName().lessExt()); + + // Time and pressure history data + scalarField t, p; + filterTimeData(pData, t, p); + Info<< " read " << t.size() << " values" << nl << endl; + + Info<< "Creating noise FFT" << endl; + const scalar deltaT = checkUniformTimeStep(t); + + // Determine the windowing + windowModelPtr_->validate(t.size()); + + // Create the fft + noiseFFT nfft(deltaT, p); + + nfft -= pRef_; + + graph Pf(nfft.RMSmeanPf(windowModelPtr_())); + Info<< " Creating graph for " << Pf.title() << endl; + Pf.write(baseFileName + graph::wordify(Pf.title()), graphFormat_); + + graph Lf(nfft.Lf(Pf)); + Info<< " Creating graph for " << Lf.title() << endl; + Lf.write(baseFileName + graph::wordify(Lf.title()), graphFormat_); + + graph PSDf(nfft.PSDf(windowModelPtr_())); + Info<< " Creating graph for " << PSDf.title() << endl; + PSDf.write(baseFileName + graph::wordify(PSDf.title()), graphFormat_); + + graph PSD(nfft.PSD(PSDf)); + Info<< " Creating graph for " << PSD.title() << endl; + PSD.write(baseFileName + graph::wordify(PSD.title()), graphFormat_); + + labelList octave13BandIDs; + noiseFFT::octaveFrequenciesIDs(Pf.x(), fLower_, fUpper_, 3, octave13BandIDs); + + graph Ldelta(nfft.Ldelta(Lf, octave13BandIDs)); + Info<< " Creating graph for " << Ldelta.title() << endl; + Ldelta.write(baseFileName + graph::wordify(Ldelta.title()), graphFormat_); + + graph Pdelta(nfft.Pdelta(Pf, octave13BandIDs)); + Info<< " Creating graph for " << Pdelta.title() << endl; + Pdelta.write(baseFileName + graph::wordify(Pdelta.title()), graphFormat_); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +pointNoise::pointNoise(const dictionary& dict) +: + noiseModel(dict), + graphFormat_(dict.lookupOrDefault("graphFormat", "raw")) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +pointNoise::~pointNoise() +{} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace noiseModels +} // End namespace Foam + +// ************************************************************************* // diff --git a/src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.H b/src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.H new file mode 100644 index 0000000000..020e462238 --- /dev/null +++ b/src/randomProcesses/noise/noiseModels/pointNoise/pointNoise.H @@ -0,0 +1,148 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::noiseModels::pointNoise + +Description + Perform noise analysis on point-based pressure data. + + Input data is read from a dictionary, e.g. + + \verbatim + // Pressure reference + pRef 0; + + // Number of samples in sampling window + // Must be a power of 2, default = 2^16 (=65536) + N 4096; + + // Lower frequency bounds + fl 25; + + // Upper frequency bounds + fu 25; + + // Start time + startTime 0; + + windowModel + Coeffs + { + ... + } + + // Pressure data supplied in CSV file format + csvFileData + { + fileName "pressureData"; + nHeaderLine 1; + refColumn 0; + componentColumns (1); + separator " "; + mergeSeparators yes; + } + + graphFormat raw; + + \endverbatim + +SourceFiles + pointNoise.C + +SeeAlso + noiseModel.H + windowModel.H + +\*---------------------------------------------------------------------------*/ + +#ifndef pointNoise_H +#define pointNoise_H + +#include "noiseModel.H" +#include "CSV.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace noiseModels +{ + +/*---------------------------------------------------------------------------*\ + Class pointNoise Declaration +\*---------------------------------------------------------------------------*/ + +class pointNoise +: + public noiseModel +{ + +protected: + + // Protected data + + //- Graph format + word graphFormat_; + + + // Protected Member Functions + + void filterTimeData + ( + const CSV& pData, + scalarField& t, + scalarField& p + ); + + +public: + + //- Runtime type information + TypeName("pointNoise"); + + //- Constructor + pointNoise(const dictionary& dict); + + //- Destructor + virtual ~pointNoise(); + + + // Public Member Functions + + //- Calculate + virtual void calculate(); + +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace noiseModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // From 02ae5530993d68f5ae02f73a92f75b6256c250e9 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 25 Feb 2016 12:54:43 +0000 Subject: [PATCH 017/143] ENH: Added new surfaceNoise model to process surface data --- .../noiseModels/surfaceNoise/surfaceNoise.C | 490 ++++++++++++++++++ .../noiseModels/surfaceNoise/surfaceNoise.H | 201 +++++++ 2 files changed, 691 insertions(+) create mode 100644 src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C create mode 100644 src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.H diff --git a/src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C b/src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C new file mode 100644 index 0000000000..1dcc319766 --- /dev/null +++ b/src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C @@ -0,0 +1,490 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015-2016 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "surfaceNoise.H" +#include "surfaceReader.H" +#include "surfaceWriter.H" +#include "noiseFFT.H" +#include "graph.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace noiseModels +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +defineTypeNameAndDebug(surfaceNoise, 0); +addToRunTimeSelectionTable(noiseModel, surfaceNoise, dictionary); + +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +void surfaceNoise::initialise(const dictionary& dict) +{ + // All reading performed on the master processor only + if (Pstream::master()) + { + // Create the surface reader + const word readerType(dict.lookup("reader")); + readerPtr_.reset(surfaceReader::New(readerType, inputFileName_).ptr()); + + // Find the index of the pressure data + const word pName(dict.lookupOrDefault("pName", "p")); + const List fieldNames(readerPtr_->fieldNames(0)); + pIndex_ = findIndex(fieldNames, pName); + if (pIndex_ == -1) + { + FatalErrorInFunction + << "Unable to find pressure field name " << pName + << " in list of available fields: " << fieldNames + << exit(FatalError); + } + + // Create the surface writer + // - Could be done later, but since this utility can process a lot of + // data we can ensure that the user-input is correct prior to doing + // the heavy lifting + const word writerType(dict.lookup("writer")); + dictionary optDict + ( + dict.subOrEmptyDict("writeOptions").subOrEmptyDict(writerType) + ); + writerPtr_.reset(surfaceWriter::New(writerType, optDict).ptr()); + + // Set the time range + const instantList allTimes = readerPtr_->times(); + startTimeIndex_ = findStartTimeIndex(allTimes, startTime_); + + // Determine the windowing + label nAvailableTimes = allTimes.size() - startTimeIndex_; + label nRequiredTimes = windowModelPtr_->validate(nAvailableTimes); + + // Restrict times + times_.setSize(nRequiredTimes); + forAll(times_, timeI) + { + times_[timeI] = allTimes[timeI + startTimeIndex_].value(); + } + deltaT_ = checkUniformTimeStep(times_); + + const meshedSurface& surf = readerPtr_->geometry(); + nFace_ = surf.size(); + } + + Pstream::scatter(pIndex_); + Pstream::scatter(times_); + Pstream::scatter(startTimeIndex_); + Pstream::scatter(deltaT_); + Pstream::scatter(nFace_); +} + + +void surfaceNoise::readSurfaceData +( + const labelList& procFaceOffset, + List& pData +) +{ + // Data is stored as pressure on surface at a given time. Now we need to + // pivot the data so that we have the complete pressure time history per + // surface face. In serial mode, this results in all pressure data being + // loaded into memory (!) + + Info << "Reading pressure data" << endl; + + if (Pstream::parRun()) + { + PstreamBuffers pBufs(Pstream::nonBlocking); + + // Procedure: + // 1. Master processor reads pressure data for all faces for all times + // 2. Master sends each processor a subset of faces + // 3. Local processor reconstructs the full time history for the subset + // of faces + // Note: reading all data on master to avoid potential NFS problems... + + const label myProcI = Pstream::myProcNo(); + const label nLocalFace = + procFaceOffset[myProcI + 1] - procFaceOffset[myProcI]; + + // Complete pressure time history data for subset of faces + pData.setSize(nLocalFace); + const label nTimes = times_.size(); + forAll(pData, faceI) + { + pData[faceI].setSize(nTimes); + } + + // Read and send data + forAll(times_, i) + { + pBufs.clear(); + + if (Pstream::master()) + { + label timeI = i + startTimeIndex_; + + Info<< " time: " << times_[i] << endl; + + // Read pressure at all faces for time timeI + scalarField p(readerPtr_->field(timeI, pIndex_, scalar(0))); + + // Send subset of faces to each processor + for (label procI = 0; procI < Pstream::nProcs(); procI++) + { + label face0 = procFaceOffset[procI]; + label nLocalFace = + procFaceOffset[procI + 1] - procFaceOffset[procI]; + + UOPstream toProc(procI, pBufs); + toProc << SubList(p, nLocalFace, face0); + } + } + + pBufs.finishedSends(); + + // Receive data from the master + UIPstream fromProc(0, pBufs); + + scalarList pSlice(fromProc); + + forAll(pSlice, faceI) + { + pData[faceI][i] = pSlice[faceI]; + } + } + } + else + { + const label nLocalFace = procFaceOffset[0]; + + pData.setSize(nLocalFace); + forAll(times_, timeI) + { + forAll(pData, faceI) + { + pData[faceI].setSize(times_.size()); + } + } + + forAll(times_, i) + { + label timeI = i + startTimeIndex_; + + Info<< " time: " << times_[i] << endl; + const scalarField p(readerPtr_->field(timeI, pIndex_, scalar(0))); + + forAll(p, faceI) + { + pData[faceI][i] = p[faceI]; + } + } + } + + Info<< "Read " + << returnReduce(pData.size(), sumOp