mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
jobInfo: Write jobInfo files into the case/jobInfo directory
With the writeJobInfo option in OpenFOAM-dev/etc/controlDict::InfoSwitches set to 1 each OpenFOAM executable writes a <executable>.<pid> file containing the job summary into the <case>/jobInfo directory, e.g. after running the tutorials/incompressible/pisoFoam/RAS/cavity tutorials tutorials/incompressible/pisoFoam/RAS/cavity/jobInfo contains blockMesh.20169 pisoFoam.20170
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
# \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -56,6 +56,7 @@ cleanCase()
|
||||
cleanDynamicCode
|
||||
|
||||
rm -rf processor* > /dev/null 2>&1
|
||||
rm -rf jobInfo > /dev/null 2>&1
|
||||
rm -rf postProcessing > /dev/null 2>&1
|
||||
rm -rf TDAC > /dev/null 2>&1
|
||||
rm -rf probes* > /dev/null 2>&1
|
||||
|
||||
@ -895,7 +895,7 @@ void Foam::argList::parse
|
||||
{
|
||||
jobInfo_.add("roots", roots);
|
||||
}
|
||||
jobInfo_.write(rootPath_/globalCase_);
|
||||
jobInfo_.write(executable_, rootPath_/globalCase_);
|
||||
|
||||
// Switch on signal trapping. We have to wait until after Pstream::init
|
||||
// since this sets up its own ones.
|
||||
|
||||
@ -90,13 +90,6 @@ Foam::jobInfo::jobInfo()
|
||||
|
||||
writeJobInfo = true;
|
||||
}
|
||||
else if (writeJobInfo)
|
||||
{
|
||||
string jobFile = name() + '.' + Foam::name(pid());
|
||||
|
||||
runningJobPath_ = jobFile;
|
||||
finishedJobPath_ = jobFile;
|
||||
}
|
||||
}
|
||||
|
||||
constructed = true;
|
||||
@ -139,14 +132,29 @@ bool Foam::jobInfo::write(Ostream& os) const
|
||||
}
|
||||
|
||||
|
||||
void Foam::jobInfo::write(const fileName& casePath) const
|
||||
void Foam::jobInfo::write
|
||||
(
|
||||
const word& executable,
|
||||
const fileName& casePath
|
||||
) const
|
||||
{
|
||||
if (writeJobInfo && Pstream::master())
|
||||
{
|
||||
if (!writeJobControl)
|
||||
{
|
||||
runningJobPath_ = casePath/runningJobPath_;
|
||||
finishedJobPath_ = casePath/finishedJobPath_;
|
||||
const fileName jobInfoPath(casePath/"jobInfo");
|
||||
|
||||
if (!isDir(jobInfoPath) && !mkDir(jobInfoPath))
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Cannot make jobInfo directory " << jobInfoPath
|
||||
<< Foam::exit(FatalError);
|
||||
}
|
||||
|
||||
const word jobFile = executable + '.' + Foam::name(pid());
|
||||
|
||||
runningJobPath_ = jobInfoPath/jobFile;
|
||||
finishedJobPath_ = jobInfoPath/jobFile;
|
||||
}
|
||||
|
||||
if (!write(OFstream(runningJobPath_)()))
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
void write(const fileName& casePath) const;
|
||||
void write(const word& executable, const fileName& casePath) const;
|
||||
|
||||
void end();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user