Commit 154f8094 authored by Sergio Ferraris's avatar Sergio Ferraris
Browse files

Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

parents 3402f87a b6fbff52
......@@ -542,7 +542,7 @@ void Foam::CV2D::newPoints()
alignmentDirsB[0].x()
);
Field<vector2D> alignmentDirs(2);
Field<vector2D> alignmentDirs(alignmentDirsA);
forAll(alignmentDirsA, aA)
{
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......@@ -323,8 +323,8 @@ Foam::fileName Foam::IOobject::filePath() const
)
{
fileName parentObjectPath =
rootPath()/caseName()
/".."/instance()/db_.dbDir()/local()/name();
rootPath()/time().globalCaseName()
/instance()/db_.dbDir()/local()/name();
if (isFile(parentObjectPath))
{
......
......@@ -386,7 +386,9 @@ Foam::Time::Time
:
TimePaths
(
args.parRunControl().parRun(),
args.rootPath(),
args.globalCaseName(),
args.caseName(),
systemName,
constantName
......@@ -702,13 +704,27 @@ Foam::instantList Foam::Time::times() const
Foam::word Foam::Time::findInstancePath(const instant& t) const
{
instantList timeDirs = findTimes(path(), constant());
const fileName directory = path();
const word& constantName = constant();
// Read directory entries into a list
fileNameList dirEntries(readDir(directory, fileName::DIRECTORY));
forAll(dirEntries, i)
{
scalar timeValue;
if (readScalar(dirEntries[i].c_str(), timeValue) && t.equal(timeValue))
{
return dirEntries[i];
}
}
forAllReverse(timeDirs, timeI)
if (t.equal(0.0))
{
if (timeDirs[timeI] == t)
// Looking for 0 or constant. 0 already checked above.
if (isDir(directory/constantName))
{
return timeDirs[timeI].name();
return constantName;
}
}
......
......@@ -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-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......@@ -35,11 +35,41 @@ Foam::TimePaths::TimePaths
const word& constantName
)
:
processorCase_(caseName.find("processor") != string::npos),
processorCase_(false),
rootPath_(rootPath),
case_(caseName),
system_(systemName),
constant_(constantName)
{
std::string::size_type pos = caseName.find("processor");
if (pos != string::npos)
{
processorCase_ = true;
globalCaseName_ = caseName(pos-1);
}
else
{
globalCaseName_ = caseName;
}
}
Foam::TimePaths::TimePaths
(
const bool processorCase,
const fileName& rootPath,
const fileName& globalCaseName,
const fileName& caseName,
const word& systemName,
const word& constantName
)
:
processorCase_(processorCase),
rootPath_(rootPath),
globalCaseName_(globalCaseName),
case_(caseName),
system_(systemName),
constant_(constantName)
{}
......
......@@ -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-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......@@ -52,10 +52,11 @@ class TimePaths
// Private data
bool processorCase_;
fileName rootPath_;
fileName case_;
word system_;
word constant_;
const fileName rootPath_;
fileName globalCaseName_;
const fileName case_;
const word system_;
const word constant_;
public:
......@@ -72,6 +73,18 @@ public:
);
//- Construct given database name, rootPath and casePath
TimePaths
(
const bool processorCase,
const fileName& rootPath,
const fileName& globalCaseName,
const fileName& caseName,
const word& systemName,
const word& constantName
);
// Member functions
//- Return true if this is a processor case
......@@ -86,6 +99,12 @@ public:
return rootPath_;
}
//- Return global case name
const fileName& globalCaseName() const
{
return globalCaseName_;
}
//- Return case name
const fileName& caseName() const
{
......
......@@ -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-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......@@ -54,15 +54,19 @@ Foam::instant::instant(const word& tname)
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::instant::equal(const scalar b) const
{
return (value_ < b + SMALL && value_ > b - SMALL);
}
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
bool Foam::operator==(const instant& a, const instant& b)
{
return
(
a.value_ < b.value_ + SMALL
&& a.value_ > b.value_ - SMALL
);
return a.equal(b.value_);
}
......
......@@ -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-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......@@ -99,10 +99,10 @@ public:
instant(const scalar, const word&);
//- Construct from time value
instant(const scalar);
explicit instant(const scalar);
//- Construct from word
instant(const word&);
explicit instant(const word&);
// Member Functions
......@@ -133,6 +133,9 @@ public:
return name_;
}
//- Comparison used for instants to be equal
bool equal(const scalar) const;
// Friend Operators
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment