Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
Henry 2012-06-25 11:35:07 +01:00
commit f3c8eb1547
6 changed files with 131 additions and 10 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -69,6 +69,11 @@ int main(int argc, char *argv[])
"noLagrangian",
"skip reconstructing lagrangian positions and fields"
);
argList::addBoolOption
(
"newTimes",
"only reconstruct new times (i.e. that do not exist already)"
);
# include "setRootCase.H"
# include "createTime.H"
@ -95,6 +100,10 @@ int main(int argc, char *argv[])
args.optionLookup("lagrangianFields")() >> selectedLagrangianFields;
}
const bool newTimes = args.optionFound("newTimes");
// determine the processor count directly
label nProcs = 0;
while (isDir(args.path()/(word("processor") + name(nProcs))))
@ -134,6 +143,8 @@ int main(int argc, char *argv[])
args
);
instantList masterTimeDirs = runTime.times();
if (timeDirs.empty())
{
FatalErrorIn(args.executable())
@ -165,6 +176,14 @@ int main(int argc, char *argv[])
// Loop over all times
forAll(timeDirs, timeI)
{
if (newTimes && findIndex(masterTimeDirs, timeDirs[timeI]) != -1)
{
Info<< "Skipping time " << timeDirs[timeI].name()
<< endl << endl;
continue;
}
// Set time for global database
runTime.setTime(timeDirs[timeI], timeI);

View File

@ -112,13 +112,9 @@ Foam::dynamicCodeContext::dynamicCodeContext(const dictionary& dict)
addLineDirective(include_, includePtr->startLineNumber(), dict.name());
}
// Do not add line directive to options_ (Make/options) since at it is a
// single line at this point. Can be fixed.
// Do not add line directive to options_ (Make/options) and libs since
// they are preprocessed as a single line at this point. Can be fixed.
if (libsPtr)
{
addLineDirective(libs_, libsPtr->startLineNumber(), dict.name());
}
if (localPtr)
{
addLineDirective(localCode_, localPtr->startLineNumber(), dict.name());

View File

@ -25,6 +25,7 @@ License
#include "TableBase.H"
#include "Time.H"
#include "interpolationWeights.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //

View File

@ -38,7 +38,6 @@ SourceFiles
#include "DataEntry.H"
#include "Tuple2.H"
#include "dimensionSet.H"
#include "interpolationWeights.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -55,6 +54,8 @@ Ostream& operator<<
const TableBase<Type>&
);
class interpolationWeights;
/*---------------------------------------------------------------------------*\
Class TableBase Declaration
\*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -37,6 +37,8 @@ Description
#include "uLabel.H"
#include "Hasher.H"
#include "pTraits.H"
#include "fileName.H"
#include "wordRe.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -99,6 +101,107 @@ public:
};
//- Hash specialization for hashing strings
template<>
class Hash<Foam::string>
{
public:
Hash()
{}
unsigned operator()(const string& p, unsigned seed) const
{
return string::hash()(p, seed);
}
unsigned operator()(const string& p) const
{
return string::hash()(p);
}
};
//- Hash specialization for hashing words
template<>
class Hash<Foam::word>
{
public:
Hash()
{}
unsigned operator()(const word& p, unsigned seed) const
{
return word::hash()(p, seed);
}
unsigned operator()(const word& p) const
{
return word::hash()(p);
}
};
//- Hash specialization for hashing fileNames
template<>
class Hash<Foam::fileName>
{
public:
Hash()
{}
unsigned operator()(const fileName& p, unsigned seed) const
{
return fileName::hash()(p, seed);
}
unsigned operator()(const fileName& p) const
{
return fileName::hash()(p);
}
};
//- Hash specialization for hashing wordRes
template<>
class Hash<Foam::wordRe>
{
public:
Hash()
{}
unsigned operator()(const wordRe& p, unsigned seed) const
{
return wordRe::hash()(p, seed);
}
unsigned operator()(const wordRe& p) const
{
return wordRe::hash()(p);
}
};
//- Hash specialization for hashing keyTypes
template<>
class Hash<Foam::keyType>
{
public:
Hash()
{}
unsigned operator()(const keyType& p, unsigned seed) const
{
return keyType::hash()(p, seed);
}
unsigned operator()(const keyType& p) const
{
return keyType::hash()(p);
}
};
//- Hash specialization for hashing pointer addresses.
// Treat a pointer like a long.
// This should work for both 32-bit and 64-bit pointers.

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -181,6 +181,7 @@ void Foam::activeBaffleVelocityFvPatchVectorField::autoMap
).neighbFvPatch().patch().patchSlice(areas);
}
void Foam::activeBaffleVelocityFvPatchVectorField::rmap
(
const fvPatchVectorField& ptf,