mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'feature-profiling' into 'develop'
high-level profiling/timing functionality See merge request !47
This commit is contained in:
3
applications/test/cpuInfo/Make/files
Normal file
3
applications/test/cpuInfo/Make/files
Normal file
@ -0,0 +1,3 @@
|
||||
Test-cpuInfo.C
|
||||
|
||||
EXE = $(FOAM_USER_APPBIN)/Test-cpuInfo
|
||||
0
applications/test/cpuInfo/Make/options
Normal file
0
applications/test/cpuInfo/Make/options
Normal file
47
applications/test/cpuInfo/Test-cpuInfo.C
Normal file
47
applications/test/cpuInfo/Test-cpuInfo.C
Normal file
@ -0,0 +1,47 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Application
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "cpuInfo.H"
|
||||
#include "IOstreams.H"
|
||||
|
||||
using namespace Foam;
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Main program:
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
cpuInfo().write(Info);
|
||||
Info<< endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
3
applications/test/sysInfo/Make/files
Normal file
3
applications/test/sysInfo/Make/files
Normal file
@ -0,0 +1,3 @@
|
||||
Test-sysInfo.C
|
||||
|
||||
EXE = $(FOAM_USER_APPBIN)/Test-sysInfo
|
||||
0
applications/test/sysInfo/Make/options
Normal file
0
applications/test/sysInfo/Make/options
Normal file
46
applications/test/sysInfo/Test-sysInfo.C
Normal file
46
applications/test/sysInfo/Test-sysInfo.C
Normal file
@ -0,0 +1,46 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Application
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "ProfilingSysInfo.H"
|
||||
#include "IOstreams.H"
|
||||
|
||||
using namespace Foam;
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Main program:
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Profiling::sysInfo().write(Info);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 2015 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright 2015-2016 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -59,6 +59,7 @@ Description
|
||||
#include "IOmanip.H"
|
||||
#include "decompositionModel.H"
|
||||
#include "fvMeshTools.H"
|
||||
#include "profiling.H"
|
||||
|
||||
using namespace Foam;
|
||||
|
||||
@ -633,6 +634,7 @@ int main(int argc, char *argv[])
|
||||
"fileName",
|
||||
"name of the file to save the simplified surface to"
|
||||
);
|
||||
#include "addProfilingOption.H"
|
||||
#include "addDictOption.H"
|
||||
|
||||
#include "setRootCase.H"
|
||||
@ -816,7 +818,6 @@ int main(int argc, char *argv[])
|
||||
|
||||
const Switch keepPatches(meshDict.lookupOrDefault("keepPatches", false));
|
||||
|
||||
|
||||
// Read decomposePar dictionary
|
||||
dictionary decomposeDict;
|
||||
{
|
||||
@ -927,6 +928,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
// for the impatient who want to see some output files:
|
||||
profiling::writeNow();
|
||||
|
||||
// Read geometry
|
||||
// ~~~~~~~~~~~~~
|
||||
@ -957,6 +960,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (surfaceSimplify)
|
||||
{
|
||||
addProfiling(surfaceSimplify, "snappyHexMesh::surfaceSimplify");
|
||||
IOdictionary foamyHexMeshDict
|
||||
(
|
||||
IOobject
|
||||
@ -1001,6 +1005,8 @@ int main(int argc, char *argv[])
|
||||
refineDict.lookupOrDefault("gapLevelIncrement", 0),
|
||||
initialCellSize/defaultCellSize
|
||||
);
|
||||
|
||||
profiling::writeNow();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1535,6 +1541,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
Info<< "Mesh refined in = "
|
||||
<< timer.cpuTimeIncrement() << " s." << endl;
|
||||
|
||||
profiling::writeNow();
|
||||
}
|
||||
|
||||
if (wantSnap)
|
||||
@ -1583,6 +1591,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
Info<< "Mesh snapped in = "
|
||||
<< timer.cpuTimeIncrement() << " s." << endl;
|
||||
|
||||
profiling::writeNow();
|
||||
}
|
||||
|
||||
if (wantLayers)
|
||||
@ -1639,11 +1649,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
Info<< "Layers added in = "
|
||||
<< timer.cpuTimeIncrement() << " s." << endl;
|
||||
|
||||
profiling::writeNow();
|
||||
}
|
||||
|
||||
|
||||
|
||||
{
|
||||
addProfiling(checkMesh, "snappyHexMesh::checkMesh");
|
||||
|
||||
// Check final mesh
|
||||
Info<< "Checking final mesh ..." << endl;
|
||||
faceSet wrongFaces(mesh, "wrongFaces", mesh.nFaces()/100);
|
||||
@ -1665,11 +1678,15 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
Info<< "Finished meshing without any errors" << endl;
|
||||
}
|
||||
|
||||
profiling::writeNow();
|
||||
}
|
||||
|
||||
|
||||
if (surfaceSimplify)
|
||||
{
|
||||
addProfiling(surfaceSimplify, "snappyHexMesh::surfaceSimplify");
|
||||
|
||||
const polyBoundaryMesh& bMesh = mesh.boundaryMesh();
|
||||
|
||||
labelHashSet includePatches(bMesh.size());
|
||||
@ -1727,6 +1744,7 @@ int main(int argc, char *argv[])
|
||||
cellCentres.write();
|
||||
}
|
||||
|
||||
profiling::writeNow();
|
||||
|
||||
Info<< "Finished meshing in = "
|
||||
<< runTime.elapsedCpuTime() << " s." << endl;
|
||||
|
||||
Reference in New Issue
Block a user