Merge branch 'master' into pairPatchAgglomeration

This commit is contained in:
sergio
2011-02-14 09:47:05 +00:00
315 changed files with 3930 additions and 10949 deletions

1
.gitignore vendored
View File

@ -42,6 +42,7 @@ linuxming*/
SiCortex*Gcc*/ SiCortex*Gcc*/
solaris*Gcc*/ solaris*Gcc*/
SunOS*Gcc*/ SunOS*Gcc*/
platforms/
# reinstate wmake/rules that might look like build folders # reinstate wmake/rules that might look like build folders
!wmake/rules/*/ !wmake/rules/*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,7 +30,7 @@ Description
corresponding to PDR basic drag model (\link basic.H \endlink) corresponding to PDR basic drag model (\link basic.H \endlink)
The default model coefficients correspond to the following: The default model coefficients correspond to the following:
@verbatim \verbatim
PDRkEpsilonCoeffs PDRkEpsilonCoeffs
{ {
Cmu 0.09; Cmu 0.09;
@ -41,7 +41,7 @@ Description
sigmaEps 1.3; sigmaEps 1.3;
Prt 1.0; // only for compressible Prt 1.0; // only for compressible
} }
@endverbatim \endverbatim
The turbulence source term \f$ G_{R} \f$ appears in the The turbulence source term \f$ G_{R} \f$ appears in the
\f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to \f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ Class
Description Description
Simple SCOPEBlendXiEq model for XiEq based on SCOPEXiEqs correlation Simple SCOPEBlendXiEq model for XiEq based on SCOPEXiEqs correlation
with a linear correction function to give a plausible profile for XiEq. with a linear correction function to give a plausible profile for XiEq.
See @link SCOPELaminarFlameSpeed.H @endlink for details on the SCOPE See \link SCOPELaminarFlameSpeed.H \endlink for details on the SCOPE
laminar flame speed model. laminar flame speed model.
SourceFiles SourceFiles

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ Class
Description Description
This is the equilibrium level of the flame wrinkling generated by This is the equilibrium level of the flame wrinkling generated by
instability. It is a constant (default 2.5). It is used in instability. It is a constant (default 2.5). It is used in
@link XiModel.H @endlink. \link XiModel.H \endlink.
SourceFiles SourceFiles
instability.C instability.C

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -47,6 +47,8 @@ Description
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::noParallel();
#include "setRootCase.H" #include "setRootCase.H"
#include "createTime.H" #include "createTime.H"
#include "createSingleCellMesh.H" #include "createSingleCellMesh.H"

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,7 +30,7 @@ Description
causing pressure loss as estimated using an adjoint formulation. causing pressure loss as estimated using an adjoint formulation.
References: References:
@verbatim \verbatim
"Implementation of a continuous adjoint for topology optimization of "Implementation of a continuous adjoint for topology optimization of
ducted flows" ducted flows"
C. Othmer, C. Othmer,
@ -38,7 +38,7 @@ Description
H.G. Weller H.G. Weller
AIAA-2007-3947 AIAA-2007-3947
http://pdf.aiaa.org/preview/CDReadyMCFD07_1379/PV2007_3947.pdf http://pdf.aiaa.org/preview/CDReadyMCFD07_1379/PV2007_3947.pdf
@endverbatim \endverbatim
Note that this solver optimises for total pressure loss whereas the Note that this solver optimises for total pressure loss whereas the
above paper describes the method for optimising power-loss. above paper describes the method for optimising power-loss.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -32,14 +32,14 @@ Description
implicit term in the pressure equation. implicit term in the pressure equation.
Reference: Reference:
@verbatim \verbatim
Kunz, R.F., Boger, D.A., Stinebring, D.R., Chyczewski, Lindau. J.W., Kunz, R.F., Boger, D.A., Stinebring, D.R., Chyczewski, Lindau. J.W.,
Gibeling, H.J., Venkateswaran, S., Govindan, T.R., Gibeling, H.J., Venkateswaran, S., Govindan, T.R.,
“A Preconditioned Implicit Method for Two-Phase Flows with Application “A Preconditioned Implicit Method for Two-Phase Flows with Application
to Cavitation Prediction,” to Cavitation Prediction,”
Computers and Fluids, Computers and Fluids,
29(8):849-875, 2000. 29(8):849-875, 2000.
@verbatim \endverbatim
SourceFiles SourceFiles
Kunz.C Kunz.C

View File

@ -2,7 +2,7 @@
========Merkle= | ========Merkle= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,12 +28,12 @@ Description
Merkle cavitation model. Merkle cavitation model.
Reference: Reference:
@verbatim \verbatim
C. L. Merkle, J. Feng, and P. E. O. Buelow, C. L. Merkle, J. Feng, and P. E. O. Buelow,
"Computational modeling of the dynamics of sheet cavitation", "Computational modeling of the dynamics of sheet cavitation",
in Proceedings Third International Symposium on Cavitation in Proceedings Third International Symposium on Cavitation
Grenoble, France 1998. Grenoble, France 1998.
@verbatim \endverbatim
SourceFiles SourceFiles
Merkle.C Merkle.C

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,12 +28,12 @@ Description
SchnerrSauer cavitation model. SchnerrSauer cavitation model.
Reference: Reference:
@verbatim \verbatim
Schnerr, G. H., And Sauer, J., Schnerr, G. H., And Sauer, J.,
"Physical and Numerical Modeling of Unsteady Cavitation Dynamics", "Physical and Numerical Modeling of Unsteady Cavitation Dynamics",
Proc. 4th International Conference on Multiphase Flow, Proc. 4th International Conference on Multiphase Flow,
New Orleans, U.S.A., 2001. New Orleans, U.S.A., 2001.
@verbatim \endverbatim
SourceFiles SourceFiles
SchnerrSauer.C SchnerrSauer.C

View File

@ -29,12 +29,12 @@ Description
Plot normal distribution test in gnuplot using: Plot normal distribution test in gnuplot using:
@verbatim \verbatim
normalDistribution(mean, sigma, x) = \ normalDistribution(mean, sigma, x) = \
sqrt(1.0/(2.0*pi*sigma**2))*exp(-(x - mean)**2.0/(2.0*sigma**2)) sqrt(1.0/(2.0*pi*sigma**2))*exp(-(x - mean)**2.0/(2.0*sigma**2))
plot normalDistribution(8.5, 2.5, x), "Distribution_scalar_test_x" w p plot normalDistribution(8.5, 2.5, x), "Distribution_scalar_test_x" w p
@endverbatim \endverbatim
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -70,7 +70,12 @@ int main(int argc, char *argv[])
); );
// Exchange data. Apply positional transforms. // Exchange data. Apply positional transforms.
globalPointSlavesMap.distribute(transforms, coords, true); globalPointSlavesMap.distribute
(
transforms,
coords,
mapDistribute::transformPosition()
);
// Print // Print
forAll(slaves, pointI) forAll(slaves, pointI)
@ -127,7 +132,12 @@ int main(int argc, char *argv[])
} }
// Exchange data Apply positional transforms. // Exchange data Apply positional transforms.
globalEdgeSlavesMap.distribute(transforms, ec, true); globalEdgeSlavesMap.distribute
(
transforms,
ec,
mapDistribute::transformPosition()
);
// Print // Print
forAll(slaves, edgeI) forAll(slaves, edgeI)
@ -163,82 +173,131 @@ int main(int argc, char *argv[])
} }
//// Test: (collocated) point to faces addressing // Test: point to faces addressing
//{ {
// const labelListList& globalPointBoundaryFaces = const mapDistribute& globalPointBoundaryFacesMap =
// globalData.globalPointBoundaryFaces(); globalData.globalPointBoundaryFacesMap();
// const mapDistribute& globalPointBoundaryFacesMap = const labelListList& slaves =
// globalData.globalPointBoundaryFacesMap(); globalData.globalPointBoundaryFaces();
// const labelListList& transformedSlaves =
// label nBnd = mesh.nFaces()-mesh.nInternalFaces(); globalData.globalPointTransformedBoundaryFaces();
//
// pointField fc(globalPointBoundaryFacesMap.constructSize()); label nBnd = mesh.nFaces()-mesh.nInternalFaces();
// SubList<point>(fc, nBnd).assign
// ( pointField fc(globalPointBoundaryFacesMap.constructSize());
// primitivePatch SubList<point>(fc, nBnd).assign
// ( (
// SubList<face> primitivePatch
// ( (
// mesh.faces(), SubList<face>
// nBnd, (
// mesh.nInternalFaces() mesh.faces(),
// ), nBnd,
// mesh.points() mesh.nInternalFaces()
// ).faceCentres() ),
// ); mesh.points()
// ).faceCentres()
// // Exchange data );
// globalPointBoundaryFacesMap.distribute(fc);
// // Exchange data
// // Print globalPointBoundaryFacesMap.distribute
// forAll(globalPointBoundaryFaces, pointI) (
// { transforms,
// const labelList& bFaces = globalPointBoundaryFaces[pointI]; fc,
// mapDistribute::transformPosition()
// Pout<< "Point:" << pointI );
// << " at:" << coupledPatch.localPoints()[pointI]
// << " connected to faces:" << endl; // Print
// forAll(slaves, pointI)
// forAll(bFaces, i) {
// { const labelList& slaveFaces = slaves[pointI];
// Pout<< " " << fc[bFaces[i]] << endl;
// } if (slaveFaces.size() > 0)
// } {
//} Pout<< "Master point:" << pointI
// << " at:" << coupledPatch.localPoints()[pointI]
// << " connected to " << slaveFaces.size()
//// Test:(collocated) point to cells addressing << " untransformed faces:" << endl;
//{
// const labelList& boundaryCells = globalData.boundaryCells(); forAll(slaveFaces, i)
// const labelListList& globalPointBoundaryCells = {
// globalData.globalPointBoundaryCells(); Pout<< " " << fc[slaveFaces[i]] << endl;
// const mapDistribute& globalPointBoundaryCellsMap = }
// globalData.globalPointBoundaryCellsMap(); }
//
// pointField cc(globalPointBoundaryCellsMap.constructSize()); const labelList& transformedSlaveFaces = transformedSlaves[pointI];
// forAll(boundaryCells, i)
// { if (transformedSlaveFaces.size() > 0)
// cc[i] = mesh.cellCentres()[boundaryCells[i]]; {
// } Pout<< "Master point:" << pointI
// << " connected to " << transformedSlaveFaces.size()
// // Exchange data << " transformed faces:" << endl;
// globalPointBoundaryCellsMap.distribute(cc);
// forAll(transformedSlaveFaces, i)
// // Print {
// forAll(globalPointBoundaryCells, pointI) Pout<< " " << fc[transformedSlaveFaces[i]] << endl;
// { }
// const labelList& bCells = globalPointBoundaryCells[pointI]; }
// }
// Pout<< "Point:" << pointI }
// << " at:" << coupledPatch.localPoints()[pointI]
// << " connected to cells:" << endl;
// // Test: point to cells addressing
// forAll(bCells, i) {
// { const labelList& boundaryCells = globalData.boundaryCells();
// Pout<< " " << cc[bCells[i]] << endl; const mapDistribute& globalPointBoundaryCellsMap =
// } globalData.globalPointBoundaryCellsMap();
// } const labelListList& slaves = globalData.globalPointBoundaryCells();
//} const labelListList& transformedSlaves =
globalData.globalPointTransformedBoundaryCells();
pointField cc(globalPointBoundaryCellsMap.constructSize());
forAll(boundaryCells, i)
{
cc[i] = mesh.cellCentres()[boundaryCells[i]];
}
// Exchange data
globalPointBoundaryCellsMap.distribute
(
transforms,
cc,
mapDistribute::transformPosition()
);
// Print
forAll(slaves, pointI)
{
const labelList& pointCells = slaves[pointI];
if (pointCells.size() > 0)
{
Pout<< "Master point:" << pointI
<< " at:" << coupledPatch.localPoints()[pointI]
<< " connected to " << pointCells.size()
<< " untransformed boundaryCells:" << endl;
forAll(pointCells, i)
{
Pout<< " " << cc[pointCells[i]] << endl;
}
}
const labelList& transformPointCells = transformedSlaves[pointI];
if (transformPointCells.size() > 0)
{
Pout<< "Master point:" << pointI
<< " connected to " << transformPointCells.size()
<< " transformed boundaryCells:" << endl;
forAll(transformPointCells, i)
{
Pout<< " " << cc[transformPointCells[i]] << endl;
}
}
}
}
Info<< "End\n" << endl; Info<< "End\n" << endl;

View File

@ -30,12 +30,12 @@ Description
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "syncTools.H"
#include "argList.H" #include "argList.H"
#include "polyMesh.H" #include "polyMesh.H"
#include "Time.H" #include "Time.H"
#include "Random.H" #include "Random.H"
#include "PackedList.H" #include "PackedList.H"
#include "syncTools.H"
using namespace Foam; using namespace Foam;
@ -285,7 +285,7 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
{ {
// Create some data. Use slightly perturbed positions. // Create some data. Use slightly perturbed positions.
EdgeMap<vector> sparseData; EdgeMap<point> sparseData;
pointField fullData(mesh.nEdges(), point::max); pointField fullData(mesh.nEdges(), point::max);
const edgeList& edges = allBoundary.edges(); const edgeList& edges = allBoundary.edges();
@ -313,13 +313,13 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
( (
mesh, mesh,
sparseData, sparseData,
minEqOp<vector>() minMagSqrEqOp<point>()
); );
syncTools::syncEdgeList syncTools::syncEdgeList
( (
mesh, mesh,
fullData, fullData,
minEqOp<vector>(), minMagSqrEqOp<point>(),
point::max point::max
); );
@ -350,7 +350,7 @@ void testSparseData(const polyMesh& mesh, Random& rndGen)
{ {
const edge& e = mesh.edges()[meshEdgeI]; const edge& e = mesh.edges()[meshEdgeI];
EdgeMap<vector>::const_iterator iter = sparseData.find(e); EdgeMap<point>::const_iterator iter = sparseData.find(e);
if (iter != sparseData.end()) if (iter != sparseData.end())
{ {

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,16 +31,16 @@ Usage
- foamToStarMesh [OPTION] \n - foamToStarMesh [OPTION] \n
Reads an OpenFOAM mesh and writes a pro-STAR (v4) bnd/cel/vrt format. Reads an OpenFOAM mesh and writes a pro-STAR (v4) bnd/cel/vrt format.
@param -noBnd \n \param -noBnd \n
Suppress writing the @c .bnd file Suppress writing the \c .bnd file
@param -scale \<factor\>\n \param -scale \<factor\>\n
Specify an alternative geometry scaling factor. Specify an alternative geometry scaling factor.
The default is @b 1000 (scale @em [m] to @em [mm]). The default is \b 1000 (scale \em [m] to \em [mm]).
Note Note
The cellTable information available in the files The cellTable information available in the files
@c constant/cellTable and @c constant/polyMesh/cellTableId \c constant/cellTable and @c constant/polyMesh/cellTableId
will be used if available. Otherwise the cellZones are used when will be used if available. Otherwise the cellZones are used when
creating the cellTable information. creating the cellTable information.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,11 +31,11 @@ Usage
- foamToSurface [OPTION] \n - foamToSurface [OPTION] \n
Reads an OpenFOAM mesh and writes the boundaries in a surface format. Reads an OpenFOAM mesh and writes the boundaries in a surface format.
@param -scale \<factor\>\n \param -scale \<factor\>\n
Specify an alternative geometry scaling factor. Specify an alternative geometry scaling factor.
Eg, use @b 1000 to scale @em [m] to @em [mm]. Eg, use \b 1000 to scale \em [m] to \em [mm].
@param -tri \n \param -tri \n
Triangulate surface. Triangulate surface.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ Description
Work in progress! Handles ascii multiblock (and optionally singleBlock) Work in progress! Handles ascii multiblock (and optionally singleBlock)
format. format.
By default expects blanking. Use -noBlank if none. By default expects blanking. Use -noBlank if none.
Use -2D @a thickness if 2D. Use -2D \a thickness if 2D.
Niklas Nordin has experienced a problem with lefthandedness of the blocks. Niklas Nordin has experienced a problem with lefthandedness of the blocks.
The code should detect this automatically - see hexBlock::readPoints but The code should detect this automatically - see hexBlock::readPoints but

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,14 +31,14 @@ Usage
- star4ToFoam [OPTION] ccmMesh\n - star4ToFoam [OPTION] ccmMesh\n
convert pro-STAR mesh to OpenFOAM convert pro-STAR mesh to OpenFOAM
@param -ascii \n \param -ascii \n
Write in ASCII format instead of binary Write in ASCII format instead of binary
@param -scale \<factor\>\n \param -scale \<factor\>\n
Specify an alternative geometry scaling factor. Specify an alternative geometry scaling factor.
The default is @b 0.001 (scale @em [mm] to @em [m]). The default is \b 0.001 (scale \em [mm] to \em [m]).
@param -solids \n \param -solids \n
Treat any solid cells present just like fluid cells. Treat any solid cells present just like fluid cells.
The default is to discard them. The default is to discard them.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -29,7 +29,7 @@ Description
and run tetgen with -f option. and run tetgen with -f option.
Sample smesh file: Sample smesh file:
@verbatim \verbatim
# cube.smesh -- A 10x10x10 cube # cube.smesh -- A 10x10x10 cube
8 3 8 3
1 0 0 0 1 0 0 0
@ -49,7 +49,7 @@ Description
4 2 6 7 3 65 4 2 6 7 3 65
0 0
0 0
@endverbatim \endverbatim
Note Note
- for some reason boundary faces point inwards. I just reverse them - for some reason boundary faces point inwards. I just reverse them

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,20 +28,20 @@ Description
A multi-block mesh generator. A multi-block mesh generator.
Uses the block mesh description found in Uses the block mesh description found in
@a constant/polyMesh/blockMeshDict \a constant/polyMesh/blockMeshDict
(or @a constant/\<region\>/polyMesh/blockMeshDict). (or \a constant/\<region\>/polyMesh/blockMeshDict).
Usage Usage
- blockMesh [OPTION] - blockMesh [OPTION]
@param -blockTopology \n \param -blockTopology \n
Write the topology as a set of edges in OBJ format. Write the topology as a set of edges in OBJ format.
@param -region \<name\> \n \param -region \<name\> \n
Specify an alternative mesh region. Specify an alternative mesh region.
@param -dict \<filename\> \n \param -dict \<filename\> \n
Specify alternative dictionary for the block mesh description. Specify alternative dictionary for the block mesh description.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,9 +30,9 @@ Description
- create baffles in original mesh with directMappedWall patches - create baffles in original mesh with directMappedWall patches
- if extruding boundary faces: - if extruding boundary faces:
- convert boundary faces to directMappedWall patches - convert boundary faces to directMappedWall patches
- extrude edges of faceZone as a <zone>_sidePatch - extrude edges of faceZone as a \<zone\>_sidePatch
- extrude edges inbetween different faceZones as a - extrude edges inbetween different faceZones as a
(nonuniformTransform)cyclic <zoneA>_<zoneB> (nonuniformTransform)cyclic \<zoneA\>_\<zoneB\>
- extrudes into master direction (i.e. away from the owner cell - extrudes into master direction (i.e. away from the owner cell
if flipMap is false) if flipMap is false)
- not parallel - not parallel
@ -106,15 +106,15 @@ becomes
Usage Usage
- extrudeToRegionMesh <regionName> <faceZones> <thickness> - extrudeToRegionMesh \<regionName\> \<faceZones\> \<thickness\>
@param \<regionName\> \n \param \<regionName\> \n
Name of mesh to create. Name of mesh to create.
@param \<faceZones\> \n \param \<faceZones\> \n
List of faceZones to extrude List of faceZones to extrude
@param \<thickness\> \n \param \<thickness\> \n
Thickness of extruded mesh. Thickness of extruded mesh.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,7 +28,7 @@ Description
Walks from starting edge/face around point on patch. Walks from starting edge/face around point on patch.
-# Use in-place: \n -# Use in-place: \n
@code \code
patchPointEdgeCirculator circ(..); patchPointEdgeCirculator circ(..);
// Walk // Walk
@ -38,10 +38,10 @@ Description
++circ; ++circ;
} }
while (circ != circ.end()); while (circ != circ.end());
@endcode \endcode
-# Use like STL iterator: \n -# Use like STL iterator: \n
@code \code
patchPointEdgeCirculator circ(..); patchPointEdgeCirculator circ(..);
for for
( (
@ -52,7 +52,7 @@ Description
{ {
Info<< "edge:" << iter.edgeID() << endl; Info<< "edge:" << iter.edgeID() << endl;
} }
@endcode \endcode
SourceFiles SourceFiles

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -32,7 +32,7 @@ Usage
- extrude2DMesh thickness - extrude2DMesh thickness
@param thickness \n \param thickness \n
Thickness (in metre) of slab. Thickness (in metre) of slab.
Note Note

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -33,18 +33,18 @@ Usage
for it. Normal behaviour is to have each point become a cell for it. Normal behaviour is to have each point become a cell
(1.5 behaviour) (1.5 behaviour)
@param -concaveMultiCells \param -concaveMultiCells
Creates multiple cells for each point on a concave edge. Might limit Creates multiple cells for each point on a concave edge. Might limit
the amount of distortion on some meshes. the amount of distortion on some meshes.
@param -splitAllFaces \param -splitAllFaces
Normally only constructs a single face between two cells. This single face Normally only constructs a single face between two cells. This single face
might be too distorted. splitAllFaces will create a single face for every might be too distorted. splitAllFaces will create a single face for every
original cell the face passes through. The mesh will thus have original cell the face passes through. The mesh will thus have
multiple faces inbetween two cells! (so is not strictly upper-triangular multiple faces inbetween two cells! (so is not strictly upper-triangular
anymore - checkMesh will complain) anymore - checkMesh will complain)
@param -doNotPreserveFaceZones: \param -doNotPreserveFaceZones:
By default all faceZones are preserved by marking all faces, edges and By default all faceZones are preserved by marking all faces, edges and
points on them as features. The -doNotPreserveFaceZones disables this points on them as features. The -doNotPreserveFaceZones disables this
behaviour. behaviour.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -40,7 +40,7 @@ Description
Comparable to running a meshModifier of the form Comparable to running a meshModifier of the form
(if masterPatch is called "M" and slavePatch "S"): (if masterPatch is called "M" and slavePatch "S"):
@verbatim \verbatim
couple couple
{ {
type slidingInterface; type slidingInterface;
@ -52,7 +52,7 @@ Description
slavePatchName S; slavePatchName S;
typeOfMatch partial or integral typeOfMatch partial or integral
} }
@endverbatim \endverbatim
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -32,30 +32,30 @@ Usage
- decomposePar [OPTION] - decomposePar [OPTION]
@param -cellDist \n \param -cellDist \n
Write the cell distribution as a labelList, for use with 'manual' Write the cell distribution as a labelList, for use with 'manual'
decomposition method or as a volScalarField for post-processing. decomposition method or as a volScalarField for post-processing.
@param -region regionName \n \param -region regionName \n
Decompose named region. Does not check for existence of processor*. Decompose named region. Does not check for existence of processor*.
@param -copyUniform \n \param -copyUniform \n
Copy any @a uniform directories too. Copy any \a uniform directories too.
@param -constant \n \param -constant \n
Override controlDict settings and use constant directory. Override controlDict settings and use constant directory.
@param -fields \n \param -fields \n
Use existing geometry decomposition and convert fields only. Use existing geometry decomposition and convert fields only.
@param -force \n \param -force \n
Remove any existing @a processor subdirectories before decomposing the Remove any existing \a processor subdirectories before decomposing the
geometry. geometry.
@param -ifRequired \n \param -ifRequired \n
Only decompose the geometry if the number of domains has changed from a Only decompose the geometry if the number of domains has changed from a
previous decomposition. No @a processor subdirectories will be removed previous decomposition. No \a processor subdirectories will be removed
unless the @a -force option is also specified. This option can be used unless the \a -force option is also specified. This option can be used
to avoid redundant geometry decomposition (eg, in scripts), but should to avoid redundant geometry decomposition (eg, in scripts), but should
be used with caution when the underlying (serial) geometry or the be used with caution when the underlying (serial) geometry or the
decomposition method etc. have been changed between decompositions. decomposition method etc. have been changed between decompositions.

View File

@ -32,7 +32,7 @@ Description
Balances mesh and writes new mesh to new time directory. Balances mesh and writes new mesh to new time directory.
Can also work like decomposePar: Can also work like decomposePar:
@verbatim \verbatim
# Create empty processor directories (have to exist for argList) # Create empty processor directories (have to exist for argList)
mkdir processor0 mkdir processor0
.. ..
@ -43,7 +43,7 @@ Description
# Distribute # Distribute
mpirun -np ddd redistributeMeshPar -parallel mpirun -np ddd redistributeMeshPar -parallel
@endverbatim \endverbatim
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "fvMesh.H" #include "fvMesh.H"

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,22 +30,22 @@ Usage
- foamToEnsight [OPTION] \n - foamToEnsight [OPTION] \n
Translates OpenFOAM data to Ensight format Translates OpenFOAM data to Ensight format
@param -ascii \n \param -ascii \n
Write Ensight data in ASCII format instead of "C Binary" Write Ensight data in ASCII format instead of "C Binary"
@param -patches patchList \n \param -patches patchList \n
Specify particular patches to write. Specify particular patches to write.
Specifying an empty list suppresses writing the internalMesh. Specifying an empty list suppresses writing the internalMesh.
@param -noPatches \n \param -noPatches \n
Suppress writing any patches. Suppress writing any patches.
@param -faceZones zoneList \n \param -faceZones zoneList \n
Specify faceZones to write, with wildcards Specify faceZones to write, with wildcards
Note Note
Parallel support for cloud data is not supported Parallel support for cloud data is not supported
- writes to @a EnSight directory to avoid collisions with foamToEnsightParts - writes to \a EnSight directory to avoid collisions with foamToEnsightParts
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -32,23 +32,23 @@ Usage
- foamToEnsightParts [OPTION] \n - foamToEnsightParts [OPTION] \n
Translates OpenFOAM data to Ensight format Translates OpenFOAM data to Ensight format
@param -ascii \n \param -ascii \n
Write Ensight data in ASCII format instead of "C Binary" Write Ensight data in ASCII format instead of "C Binary"
@param -noZero \n \param -noZero \n
Exclude the often incomplete initial conditions. Exclude the often incomplete initial conditions.
@param -index \<start\>\n \param -index \<start\>\n
Ignore the time index contained in the time file and use a Ignore the time index contained in the time file and use a
simple indexing when creating the @c Ensight/data/######## files. simple indexing when creating the \c Ensight/data/######## files.
@param -noMesh \n \param -noMesh \n
Suppress writing the geometry. Can be useful for converting partial Suppress writing the geometry. Can be useful for converting partial
results for a static geometry. results for a static geometry.
Note Note
- no parallel data. - no parallel data.
- writes to @a Ensight directory to avoid collisions with foamToEnsight. - writes to \a Ensight directory to avoid collisions with foamToEnsight.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,40 +31,40 @@ Usage
- foamToTecplot360 [OPTION] - foamToTecplot360 [OPTION]
@param -fields \<names\>\n \param -fields \<names\>\n
Convert selected fields only. For example, Convert selected fields only. For example,
@verbatim \verbatim
-fields '( p T U )' -fields '( p T U )'
@endverbatim \endverbatim
The quoting is required to avoid shell expansions and to pass the The quoting is required to avoid shell expansions and to pass the
information as a single argument. information as a single argument.
@param -cellSet \<name\>\n \param -cellSet \<name\>\n
@param -faceSet \<name\>\n \param -faceSet \<name\>\n
Restrict conversion to the cellSet, faceSet. Restrict conversion to the cellSet, faceSet.
@param -nearCellValue \n \param -nearCellValue \n
Output cell value on patches instead of patch value itself Output cell value on patches instead of patch value itself
@param -noInternal \n \param -noInternal \n
Do not generate file for mesh, only for patches Do not generate file for mesh, only for patches
@param -noPointValues \n \param -noPointValues \n
No pointFields No pointFields
@param -noFaceZones \n \param -noFaceZones \n
No faceZones No faceZones
@param -excludePatches \<patchNames\>\n \param -excludePatches \<patchNames\>\n
Specify patches (wildcards) to exclude. For example, Specify patches (wildcards) to exclude. For example,
@verbatim \verbatim
-excludePatches '( inlet_1 inlet_2 "proc.*")' -excludePatches '( inlet_1 inlet_2 "proc.*")'
@endverbatim \endverbatim
The quoting is required to avoid shell expansions and to pass the The quoting is required to avoid shell expansions and to pass the
information as a single argument. The double quotes denote a regular information as a single argument. The double quotes denote a regular
expression. expression.
@param -useTimeName \n \param -useTimeName \n
use the time index in the VTK file name instead of the time index use the time index in the VTK file name instead of the time index
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -40,59 +40,59 @@ Usage
- foamToVTK [OPTION] - foamToVTK [OPTION]
@param -ascii \n \param -ascii \n
Write VTK data in ASCII format instead of binary. Write VTK data in ASCII format instead of binary.
@param -mesh \<name\>\n \param -mesh \<name\>\n
Use a different mesh name (instead of -region) Use a different mesh name (instead of -region)
@param -fields \<fields\>\n \param -fields \<fields\>\n
Convert selected fields only. For example, Convert selected fields only. For example,
@verbatim \verbatim
-fields "( p T U )" -fields "( p T U )"
@endverbatim \endverbatim
The quoting is required to avoid shell expansions and to pass the The quoting is required to avoid shell expansions and to pass the
information as a single argument. information as a single argument.
@param -surfaceFields \n \param -surfaceFields \n
Write surfaceScalarFields (e.g., phi) Write surfaceScalarFields (e.g., phi)
@param -cellSet \<name\>\n \param -cellSet \<name\>\n
@param -faceSet \<name\>\n \param -faceSet \<name\>\n
@param -pointSet \<name\>\n \param -pointSet \<name\>\n
Restrict conversion to the cellSet, faceSet or pointSet. Restrict conversion to the cellSet, faceSet or pointSet.
@param -nearCellValue \n \param -nearCellValue \n
Output cell value on patches instead of patch value itself Output cell value on patches instead of patch value itself
@param -noInternal \n \param -noInternal \n
Do not generate file for mesh, only for patches Do not generate file for mesh, only for patches
@param -noPointValues \n \param -noPointValues \n
No pointFields No pointFields
@param -noFaceZones \n \param -noFaceZones \n
No faceZones No faceZones
@param -noLinks \n \param -noLinks \n
(in parallel) do not link processor files to master (in parallel) do not link processor files to master
@param poly \n \param poly \n
write polyhedral cells without tet/pyramid decomposition write polyhedral cells without tet/pyramid decomposition
@param -allPatches \n \param -allPatches \n
Combine all patches into a single file Combine all patches into a single file
@param -excludePatches \<patchNames\>\n \param -excludePatches \<patchNames\>\n
Specify patches (wildcards) to exclude. For example, Specify patches (wildcards) to exclude. For example,
@verbatim \verbatim
-excludePatches '( inlet_1 inlet_2 "proc.*")' -excludePatches '( inlet_1 inlet_2 "proc.*")'
@endverbatim \endverbatim
The quoting is required to avoid shell expansions and to pass the The quoting is required to avoid shell expansions and to pass the
information as a single argument. The double quotes denote a regular information as a single argument. The double quotes denote a regular
expression. expression.
@param -useTimeName \n \param -useTimeName \n
use the time index in the VTK file name instead of the time index use the time index in the VTK file name instead of the time index
Note Note
@ -110,7 +110,7 @@ Note
However can have .pvd file format which refers to time simulation However can have .pvd file format which refers to time simulation
if XML *.vtu files are available: if XML *.vtu files are available:
@verbatim \verbatim
<?xml version="1.0"?> <?xml version="1.0"?>
<VTKFile type="Collection" <VTKFile type="Collection"
version="0.1" version="0.1"
@ -129,7 +129,7 @@ Note
<DataSet timestep="500" file="pitzDaily_11.vtu"/> <DataSet timestep="500" file="pitzDaily_11.vtu"/>
</Collection> </Collection>
</VTKFile> </VTKFile>
@endverbatim \endverbatim
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -45,7 +45,7 @@ Description
namespace Foam namespace Foam
{ {
//! @cond fileScope //! \cond fileScope
// Extract up to the first non-word characters // Extract up to the first non-word characters
inline word getFirstWord(const char* str) inline word getFirstWord(const char* str)
{ {
@ -64,7 +64,7 @@ namespace Foam
} }
} }
//! @endcond //! \endcond
} // End namespace Foam } // End namespace Foam

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -39,7 +39,7 @@ Description
namespace Foam namespace Foam
{ {
//! @cond fileScope //! \cond fileScope
// Extract up to the first non-word characters // Extract up to the first non-word characters
inline word getFirstWord(const char* str) inline word getFirstWord(const char* str)
{ {
@ -58,7 +58,7 @@ namespace Foam
} }
} }
//! @endcond //! \endcond
} // End namespace Foam } // End namespace Foam

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -45,7 +45,7 @@ defineTypeNameAndDebug(Foam::vtkPV3Readers, 0);
namespace Foam namespace Foam
{ {
//! @cond fileScope //! \cond fileScope
// Extract up to the first non-word characters // Extract up to the first non-word characters
inline word getFirstWord(const char* str) inline word getFirstWord(const char* str)
{ {
@ -64,7 +64,7 @@ namespace Foam
} }
} }
//! @endcond //! \endcond
} // End namespace Foam } // End namespace Foam

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,7 +31,7 @@ Usage
- foamListTimes [OPTION] - foamListTimes [OPTION]
@param -processor \n \param -processor \n
List times from processor0/ directory List times from processor0/ directory
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,13 +27,13 @@ Description
Keywords: Keywords:
@param setFormat : set output format, choice of \n \param setFormat : set output format, choice of \n
- xmgr - xmgr
- jplot - jplot
- gnuplot - gnuplot
- raw - raw
@param surfaceFormat : surface output format, choice of \n \param surfaceFormat : surface output format, choice of \n
- null : suppress output - null : suppress output
- foamFile : separate points, faces and values file - foamFile : separate points, faces and values file
- dx : DX scalar or vector format - dx : DX scalar or vector format
@ -42,7 +42,7 @@ Description
- obj : Wavefron stl. Does not contain values! - obj : Wavefron stl. Does not contain values!
- stl : ascii stl. Does not contain values! - stl : ascii stl. Does not contain values!
@param interpolationScheme : interpolation scheme, choice of \n \param interpolationScheme : interpolation scheme, choice of \n
- cell : use cell-centre value; constant over cells (default) - cell : use cell-centre value; constant over cells (default)
- cellPoint : use cell-centre and vertex values - cellPoint : use cell-centre and vertex values
- cellPointFace : use cell-centre, vertex and face values. \n - cellPointFace : use cell-centre, vertex and face values. \n
@ -50,9 +50,9 @@ Description
-# face values determined using the current face interpolation scheme -# face values determined using the current face interpolation scheme
for the field (linear, limitedLinear, etc.) for the field (linear, limitedLinear, etc.)
@param fields : list of fields to sample \param fields : list of fields to sample
@param sets : list of sets to sample, choice of \n \param sets : list of sets to sample, choice of \n
- uniform evenly distributed points on line - uniform evenly distributed points on line
- face one point per face intersection - face one point per face intersection
- midPoint one point per cell, inbetween two face intersections - midPoint one point per cell, inbetween two face intersections
@ -74,7 +74,7 @@ Description
uniform: extra number of sampling points uniform: extra number of sampling points
curve, cloud: list of coordinates curve, cloud: list of coordinates
@param surfaces : list of surfaces to sample, choice of \n \param surfaces : list of surfaces to sample, choice of \n
- plane : values on plane defined by point, normal. - plane : values on plane defined by point, normal.
- patch : values on patch. - patch : values on patch.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,7 +30,7 @@ Description
The -noWrite option has no meaning. The -noWrite option has no meaning.
The flow type parameter is obtained according to the following equation: The flow type parameter is obtained according to the following equation:
@verbatim \verbatim
|D| - |Omega| |D| - |Omega|
lambda = ------------- lambda = -------------
|D| + |Omega| |D| + |Omega|
@ -38,7 +38,7 @@ Description
-1 = rotational flow -1 = rotational flow
0 = simple shear flow 0 = simple shear flow
1 = planar extensional flow 1 = planar extensional flow
@endverbatim \endverbatim
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -29,10 +29,10 @@ Description
type in the field and polyMesh/boundary files. type in the field and polyMesh/boundary files.
Reads dictionaries (fields) and entries to change from a dictionary. Reads dictionaries (fields) and entries to change from a dictionary.
E.g. to make the @em movingWall a @em fixedValue for @em p but all other E.g. to make the \em movingWall a \em fixedValue for @em p but all other
@em Walls a zeroGradient boundary condition, the \em Walls a zeroGradient boundary condition, the
@c system/changeDictionaryDict would contain the following: \c system/changeDictionaryDict would contain the following:
@verbatim \verbatim
dictionaryReplacement dictionaryReplacement
{ {
p // field to change p // field to change
@ -51,13 +51,13 @@ Description
} }
} }
} }
@endverbatim \endverbatim
Usage Usage
- changeDictionary [OPTION] - changeDictionary [OPTION]
@param -literalRE \n \param -literalRE \n
Do not interpret regular expressions; treat them as any other keyword. Do not interpret regular expressions; treat them as any other keyword.

View File

@ -31,7 +31,7 @@ Usage
- foamUpgradeCyclics [OPTION] - foamUpgradeCyclics [OPTION]
@param -test \n \param -test \n
Suppress writing the updated files with split cyclics Suppress writing the updated files with split cyclics
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,7 +31,7 @@ Usage
- foamUpgradeFvSolution [OPTION] - foamUpgradeFvSolution [OPTION]
@param -test \n \param -test \n
Suppress writing the updated fvSolution file Suppress writing the updated fvSolution file
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -39,7 +39,8 @@ template<class Type>
void MapConsistentVolFields void MapConsistentVolFields
( (
const IOobjectList& objects, const IOobjectList& objects,
const meshToMesh& meshToMeshInterp const meshToMesh& meshToMeshInterp,
const meshToMesh::order& mapOrder
) )
{ {
const fvMesh& meshSource = meshToMeshInterp.fromMesh(); const fvMesh& meshSource = meshToMeshInterp.fromMesh();
@ -83,12 +84,7 @@ void MapConsistentVolFields
); );
// Interpolate field // Interpolate field
meshToMeshInterp.interpolate meshToMeshInterp.interpolate(fieldTarget, fieldSource, mapOrder);
(
fieldTarget,
fieldSource,
meshToMesh::INTERPOLATE
);
// Write field // Write field
fieldTarget.write(); fieldTarget.write();
@ -101,11 +97,7 @@ void MapConsistentVolFields
GeometricField<Type, fvPatchField, volMesh> fieldTarget GeometricField<Type, fvPatchField, volMesh> fieldTarget
( (
fieldTargetIOobject, fieldTargetIOobject,
meshToMeshInterp.interpolate meshToMeshInterp.interpolate(fieldSource, mapOrder)
(
fieldSource,
meshToMesh::INTERPOLATE
)
); );
// Write field // Write field

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -39,7 +39,8 @@ template<class Type>
void MapVolFields void MapVolFields
( (
const IOobjectList& objects, const IOobjectList& objects,
const meshToMesh& meshToMeshInterp const meshToMesh& meshToMeshInterp,
const meshToMesh::order& mapOrder
) )
{ {
const fvMesh& meshSource = meshToMeshInterp.fromMesh(); const fvMesh& meshSource = meshToMeshInterp.fromMesh();
@ -83,12 +84,7 @@ void MapVolFields
); );
// Interpolate field // Interpolate field
meshToMeshInterp.interpolate meshToMeshInterp.interpolate(fieldTarget, fieldSource, mapOrder);
(
fieldTarget,
fieldSource,
meshToMesh::INTERPOLATE
);
// Write field // Write field
fieldTarget.write(); fieldTarget.write();

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -45,7 +45,8 @@ Description
void mapConsistentMesh void mapConsistentMesh
( (
const fvMesh& meshSource, const fvMesh& meshSource,
const fvMesh& meshTarget const fvMesh& meshTarget,
const meshToMesh::order& mapOrder
) )
{ {
// Create the interpolation scheme // Create the interpolation scheme
@ -61,11 +62,16 @@ void mapConsistentMesh
// Map volFields // Map volFields
// ~~~~~~~~~~~~~ // ~~~~~~~~~~~~~
MapConsistentVolFields<scalar>(objects, meshToMeshInterp); MapConsistentVolFields<scalar>(objects, meshToMeshInterp, mapOrder);
MapConsistentVolFields<vector>(objects, meshToMeshInterp); MapConsistentVolFields<vector>(objects, meshToMeshInterp, mapOrder);
MapConsistentVolFields<sphericalTensor>(objects, meshToMeshInterp); MapConsistentVolFields<sphericalTensor>
MapConsistentVolFields<symmTensor>(objects, meshToMeshInterp); (
MapConsistentVolFields<tensor>(objects, meshToMeshInterp); objects,
meshToMeshInterp,
mapOrder
);
MapConsistentVolFields<symmTensor>(objects, meshToMeshInterp, mapOrder);
MapConsistentVolFields<tensor>(objects, meshToMeshInterp, mapOrder);
} }
{ {
@ -98,7 +104,8 @@ void mapSubMesh
const fvMesh& meshSource, const fvMesh& meshSource,
const fvMesh& meshTarget, const fvMesh& meshTarget,
const HashTable<word>& patchMap, const HashTable<word>& patchMap,
const wordList& cuttingPatches const wordList& cuttingPatches,
const meshToMesh::order& mapOrder
) )
{ {
// Create the interpolation scheme // Create the interpolation scheme
@ -120,11 +127,11 @@ void mapSubMesh
// Map volFields // Map volFields
// ~~~~~~~~~~~~~ // ~~~~~~~~~~~~~
MapVolFields<scalar>(objects, meshToMeshInterp); MapVolFields<scalar>(objects, meshToMeshInterp, mapOrder);
MapVolFields<vector>(objects, meshToMeshInterp); MapVolFields<vector>(objects, meshToMeshInterp, mapOrder);
MapVolFields<sphericalTensor>(objects, meshToMeshInterp); MapVolFields<sphericalTensor>(objects, meshToMeshInterp, mapOrder);
MapVolFields<symmTensor>(objects, meshToMeshInterp); MapVolFields<symmTensor>(objects, meshToMeshInterp, mapOrder);
MapVolFields<tensor>(objects, meshToMeshInterp); MapVolFields<tensor>(objects, meshToMeshInterp, mapOrder);
} }
{ {
@ -155,7 +162,8 @@ void mapSubMesh
void mapConsistentSubMesh void mapConsistentSubMesh
( (
const fvMesh& meshSource, const fvMesh& meshSource,
const fvMesh& meshTarget const fvMesh& meshTarget,
const meshToMesh::order& mapOrder
) )
{ {
HashTable<word> patchMap; HashTable<word> patchMap;
@ -181,7 +189,14 @@ void mapConsistentSubMesh
} }
} }
mapSubMesh(meshSource, meshTarget, patchMap, cuttingPatchTable.toc()); mapSubMesh
(
meshSource,
meshTarget,
patchMap,
cuttingPatchTable.toc(),
mapOrder
);
} }
@ -240,6 +255,18 @@ int main(int argc, char *argv[])
"scalar", "scalar",
"specify the source time" "specify the source time"
); );
argList::addOption
(
"sourceRegion",
"word",
"specify the source region"
);
argList::addOption
(
"targetRegion",
"word",
"specify the target region"
);
argList::addBoolOption argList::addBoolOption
( (
"parallelSource", "parallelSource",
@ -255,6 +282,12 @@ int main(int argc, char *argv[])
"consistent", "consistent",
"source and target geometry and boundary conditions identical" "source and target geometry and boundary conditions identical"
); );
argList::addOption
(
"mapMethod",
"word",
"specify the mapping method"
);
argList args(argc, argv); argList args(argc, argv);
@ -270,13 +303,53 @@ int main(int argc, char *argv[])
const fileName rootDirSource = casePath.path(); const fileName rootDirSource = casePath.path();
const fileName caseDirSource = casePath.name(); const fileName caseDirSource = casePath.name();
Info<< "Source: " << rootDirSource << " " << caseDirSource << nl Info<< "Source: " << rootDirSource << " " << caseDirSource << endl;
<< "Target: " << rootDirTarget << " " << caseDirTarget << endl; word sourceRegion = fvMesh::defaultRegion;
if (args.optionFound("sourceRegion"))
{
sourceRegion = args["sourceRegion"];
Info<< "Source region: " << sourceRegion << endl;
}
Info<< "Target: " << rootDirTarget << " " << caseDirTarget << endl;
word targetRegion = fvMesh::defaultRegion;
if (args.optionFound("targetRegion"))
{
targetRegion = args["targetRegion"];
Info<< "Target region: " << targetRegion << endl;
}
const bool parallelSource = args.optionFound("parallelSource"); const bool parallelSource = args.optionFound("parallelSource");
const bool parallelTarget = args.optionFound("parallelTarget"); const bool parallelTarget = args.optionFound("parallelTarget");
const bool consistent = args.optionFound("consistent"); const bool consistent = args.optionFound("consistent");
meshToMesh::order mapOrder = meshToMesh::INTERPOLATE;
if (args.optionFound("mapMethod"))
{
const word mapMethod(args["mapMethod"]);
if (mapMethod == "mapNearest")
{
mapOrder = meshToMesh::MAP;
}
else if (mapMethod == "interpolate")
{
mapOrder = meshToMesh::INTERPOLATE;
}
else if (mapMethod == "cellPointInterpolate")
{
mapOrder = meshToMesh::CELL_POINT_INTERPOLATE;
}
else
{
FatalErrorIn(args.executable())
<< "Unknown mapMethod " << mapMethod << ". Valid options are: "
<< "mapNearest, interpolate and cellPointInterpolate"
<< exit(FatalError);
}
Info<< "Mapping method: " << mapMethod << endl;
}
#include "createTimes.H" #include "createTimes.H"
HashTable<word> patchMap; HashTable<word> patchMap;
@ -323,7 +396,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, targetRegion,
runTimeTarget.timeName(), runTimeTarget.timeName(),
runTimeTarget runTimeTarget
) )
@ -348,7 +421,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, sourceRegion,
runTimeSource.timeName(), runTimeSource.timeName(),
runTimeSource runTimeSource
) )
@ -358,11 +431,18 @@ int main(int argc, char *argv[])
if (consistent) if (consistent)
{ {
mapConsistentSubMesh(meshSource, meshTarget); mapConsistentSubMesh(meshSource, meshTarget, mapOrder);
} }
else else
{ {
mapSubMesh(meshSource, meshTarget, patchMap, cuttingPatches); mapSubMesh
(
meshSource,
meshTarget,
patchMap,
cuttingPatches,
mapOrder
);
} }
} }
} }
@ -390,7 +470,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, sourceRegion,
runTimeSource.timeName(), runTimeSource.timeName(),
runTimeSource runTimeSource
) )
@ -413,7 +493,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, targetRegion,
runTimeTarget.timeName(), runTimeTarget.timeName(),
runTimeTarget runTimeTarget
) )
@ -423,7 +503,7 @@ int main(int argc, char *argv[])
if (consistent) if (consistent)
{ {
mapConsistentSubMesh(meshSource, meshTarget); mapConsistentSubMesh(meshSource, meshTarget, mapOrder);
} }
else else
{ {
@ -432,7 +512,8 @@ int main(int argc, char *argv[])
meshSource, meshSource,
meshTarget, meshTarget,
patchMap, patchMap,
addProcessorPatches(meshTarget, cuttingPatches) addProcessorPatches(meshTarget, cuttingPatches),
mapOrder
); );
} }
} }
@ -494,7 +575,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, sourceRegion,
runTimeSource.timeName(), runTimeSource.timeName(),
runTimeSource runTimeSource
) )
@ -529,7 +610,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, targetRegion,
runTimeTarget.timeName(), runTimeTarget.timeName(),
runTimeTarget runTimeTarget
) )
@ -544,7 +625,12 @@ int main(int argc, char *argv[])
{ {
if (consistent) if (consistent)
{ {
mapConsistentSubMesh(meshSource, meshTarget); mapConsistentSubMesh
(
meshSource,
meshTarget,
mapOrder
);
} }
else else
{ {
@ -553,7 +639,8 @@ int main(int argc, char *argv[])
meshSource, meshSource,
meshTarget, meshTarget,
patchMap, patchMap,
addProcessorPatches(meshTarget, cuttingPatches) addProcessorPatches(meshTarget, cuttingPatches),
mapOrder
); );
} }
} }
@ -571,7 +658,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, sourceRegion,
runTimeSource.timeName(), runTimeSource.timeName(),
runTimeSource runTimeSource
) )
@ -581,7 +668,7 @@ int main(int argc, char *argv[])
( (
IOobject IOobject
( (
fvMesh::defaultRegion, targetRegion,
runTimeTarget.timeName(), runTimeTarget.timeName(),
runTimeTarget runTimeTarget
) )
@ -592,11 +679,18 @@ int main(int argc, char *argv[])
if (consistent) if (consistent)
{ {
mapConsistentMesh(meshSource, meshTarget); mapConsistentMesh(meshSource, meshTarget, mapOrder);
} }
else else
{ {
mapSubMesh(meshSource, meshTarget, patchMap, cuttingPatches); mapSubMesh
(
meshSource,
meshTarget,
patchMap,
cuttingPatches,
mapOrder
);
} }
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,13 +30,13 @@ Description
Usage Usage
- surfaceConvert inputFile outputFile [OPTION] - surfaceConvert inputFile outputFile [OPTION]
@param -clean \n \param -clean \n
Perform some surface checking/cleanup on the input surface Perform some surface checking/cleanup on the input surface
@param -scale \<scale\> \n \param -scale \<scale\> \n
Specify a scaling factor for writing the files Specify a scaling factor for writing the files
@param -group \n \param -group \n
Orders faces by region Orders faces by region
Note Note

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,25 +31,25 @@ Description
Usage Usage
- surfaceMeshConvert inputFile outputFile [OPTION] - surfaceMeshConvert inputFile outputFile [OPTION]
@param -clean \n \param -clean \n
Perform some surface checking/cleanup on the input surface. Perform some surface checking/cleanup on the input surface.
@param -scaleIn \<scale\> \n \param -scaleIn \<scale\> \n
Specify a scaling factor when reading files. Specify a scaling factor when reading files.
@param -scaleOut \<scale\> \n \param -scaleOut \<scale\> \n
Specify a scaling factor when writing files. Specify a scaling factor when writing files.
@param -dict \<dictionary\> \n \param -dict \<dictionary\> \n
Specify an alternative dictionary for constant/coordinateSystems. Specify an alternative dictionary for constant/coordinateSystems.
@param -from \<coordinateSystem\> \n \param -from \<coordinateSystem\> \n
Specify a coordinate System when reading files. Specify a coordinate System when reading files.
@param -to \<coordinateSystem\> \n \param -to \<coordinateSystem\> \n
Specify a coordinate System when writing files. Specify a coordinate System when writing files.
@param -tri \n \param -tri \n
Triangulate surface. Triangulate surface.
Note Note

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,19 +31,19 @@ Description
Usage Usage
- surfaceMeshConvertTesting inputFile outputFile [OPTION] - surfaceMeshConvertTesting inputFile outputFile [OPTION]
@param -clean \n \param -clean \n
Perform some surface checking/cleanup on the input surface Perform some surface checking/cleanup on the input surface
@param -orient \n \param -orient \n
Check face orientation on the input surface Check face orientation on the input surface
@param -scale \<scale\> \n \param -scale \<scale\> \n
Specify a scaling factor for writing the files Specify a scaling factor for writing the files
@param -triSurface \n \param -triSurface \n
Use triSurface library for input/output Use triSurface library for input/output
@param -keyed \n \param -keyed \n
Use keyedSurface for input/output Use keyedSurface for input/output
Note Note

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -32,25 +32,25 @@ Description
Usage Usage
- surfaceMeshExport outputFile [OPTION] - surfaceMeshExport outputFile [OPTION]
@param -clean \n \param -clean \n
Perform some surface checking/cleanup on the input surface. Perform some surface checking/cleanup on the input surface.
@param -name \<name\> \n \param -name \<name\> \n
Specify an alternative surface name when writing. Specify an alternative surface name when writing.
@param -scaleIn \<scale\> \n \param -scaleIn \<scale\> \n
Specify a scaling factor when reading files. Specify a scaling factor when reading files.
@param -scaleOut \<scale\> \n \param -scaleOut \<scale\> \n
Specify a scaling factor when writing files. Specify a scaling factor when writing files.
@param -dict \<dictionary\> \n \param -dict \<dictionary\> \n
Specify an alternative dictionary for constant/coordinateSystems. Specify an alternative dictionary for constant/coordinateSystems.
@param -from \<coordinateSystem\> \n \param -from \<coordinateSystem\> \n
Specify a coordinate system when reading files. Specify a coordinate system when reading files.
@param -to \<coordinateSystem\> \n \param -to \<coordinateSystem\> \n
Specify a coordinate system when writing files. Specify a coordinate system when writing files.
Note Note

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -32,25 +32,25 @@ Description
Usage Usage
- surfaceMeshImport inputFile [OPTION] - surfaceMeshImport inputFile [OPTION]
@param -clean \n \param -clean \n
Perform some surface checking/cleanup on the input surface. Perform some surface checking/cleanup on the input surface.
@param -name \<name\> \n \param -name \<name\> \n
Specify an alternative surface name when writing. Specify an alternative surface name when writing.
@param -scaleIn \<scale\> \n \param -scaleIn \<scale\> \n
Specify a scaling factor when reading files. Specify a scaling factor when reading files.
@param -scaleOut \<scale\> \n \param -scaleOut \<scale\> \n
Specify a scaling factor when writing files. Specify a scaling factor when writing files.
@param -dict \<dictionary\> \n \param -dict \<dictionary\> \n
Specify an alternative dictionary for constant/coordinateSystems. Specify an alternative dictionary for constant/coordinateSystems.
@param -from \<coordinateSystem\> \n \param -from \<coordinateSystem\> \n
Specify a coordinate system when reading files. Specify a coordinate system when reading files.
@param -to \<coordinateSystem\> \n \param -to \<coordinateSystem\> \n
Specify a coordinate system when writing files. Specify a coordinate system when writing files.
Note Note

View File

@ -3,7 +3,7 @@
# ========= | # ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. # \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# License # License

View File

@ -2,7 +2,7 @@
# ========= | # ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. # \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# License # License
@ -57,7 +57,7 @@ BEGIN {
# start comment block # start comment block
if (state == 1) if (state == 1)
{ {
printf "/*!\n" printf "/*! "
state = 2 state = 2
} }
@ -79,7 +79,7 @@ BEGIN {
# end comment block # end comment block
if (state == 2) if (state == 2)
{ {
printf "*/\n" printf "*/ "
} }
state = 0 state = 0
print print

View File

@ -11,34 +11,20 @@
/^License/,/\*\//{ /^License/,/\*\//{
/^License/,\%http://www.gnu.org/licenses%{ /^License/,\%http://www.gnu.org/licenses%{
s?^License.*?\*\/\ s?^License.*?\*\/\
\/\*! @file %filePath%\ \/\*! \\file %filePath%\
<b>Original source file</b> <a href="%filePath%">%fileName%</a>\ <b>Original source file</b> <a href="%filePath%">%fileName%</a>\
\
\
\
\
\
\
\
\
? ?
/^ /d /^ /d
} }
# old FSF address
/^License/,/MA 0211.-130. USA/{
s?^License.*?\*\/\
\/\*! @file %filePath%\
<b>Original source file</b> <a href="%filePath%">%fileName%</a>\
?
/^ /d
}
# remove entry
/^Primitive *$/{
N
N
d
}
# remove entry
/^Implementation *$/{
N
N
d
}
# remove entry # remove entry
/^Application *$/{ /^Application *$/{
@ -47,12 +33,6 @@ N
d d
} }
# remove entry
/^Type *$/{
N
N
d
}
# remove entry # remove entry
/^Global *$/{ /^Global *$/{
@ -62,96 +42,109 @@ d
} }
# Primitive
# typename
# =>
# \\relates typename
#
/^Primitive *$/,/^[^ ]/{
s/^Primitive *$//
s/^ /\\relates /
}
# Class # Class
# Foam::className # Foam::className
# => # =>
# @class Foam::className # \\class Foam::className
# #
/^Class *$/,/^[^ ]/{ /^Class *$/,/^[^ ]/{
/^Class/d s/^Class *$//
s/^ /@class / s/^ /\\class /
} }
# Namespace # Namespace
# namespaceName # namespaceName
# => # =>
# @namespace namespaceName # \namespace namespaceName
# #
/^Namespace *$/,/^[^ ]/{ /^Namespace *$/,/^[^ ]/{
/^Namespace/d s/^Namespace//
s/^ /@namespace / s/^ /\\namespace /
} }
# Typedef # Typedef
# Foam::def # Foam::def
# => # =>
# @class Foam::def # \typedef Foam::def
# This is not strictly correct, but makes it easier to find the typedefs
/^Typedef *$/,/^[^ ]/{ /^Typedef *$/,/^[^ ]/{
/^Typedef/d s/^Typedef//
s/^ /@class / s/^ /\\typedef /
} }
# add anchor and use @brief # add anchor and use \brief
# the first paragraph will be 'brief' and the others 'detail' # the first paragraph will be 'brief' and the others 'detail'
/^Description *$/,/^[^ ]/{ /^Description *$/,/^[^ ]/{
/^Description/c\ /^Description/c\
<a class="anchor" name="Description"></a>\ <a class="anchor" name="Description"></a> \\brief
@brief
s/^ // s/^ //
} }
/^Usage *$/,/^[^ ]/{ /^Usage *$/,/^[^ ]/{
/^Usage/c\ /^Usage/c\
@par Usage \\par Usage
s/^ // s/^ //
} }
/^See *Also *$/,/^[^ ]/{ /^See *Also *$/,/^[^ ]/{
/^See *Also/c\ /^See *Also/c\
@see \\see
s/^ //
}
/^Author *$/,/^[^ ]/{
/^Author/c\
@author
s/^ // s/^ //
} }
/^Note *$/,/^[^ ]/{ /^Note *$/,/^[^ ]/{
/^Note/c\ /^Note/c\
@note \\note
s/^ // s/^ //
} }
# remove ToDo paragraph to avoid them showing on related pages # remove ToDo paragraph to avoid them showing on related pages
/^To[Dd]o *$/,/^ *$/d /^To[Dd]o *$/,/^[^ ]/{
s/^To[Dd]o *$//
s/^ .*//
}
/^Warning *$/,/^[^ ]/{ /^Warning *$/,/^[^ ]/{
/^Warning/c\ /^Warning/c\
@warning \\warning
s/^ // s/^ //
} }
/^Deprecated *$/,/^[^ ]/{ /^Deprecated *$/,/^[^ ]/{
/^Deprecated/c\ /^Deprecated/c\
@deprecated \\deprecated
s/^ // s/^ //
} }
/SourceFiles/,/^[ ]*$/{
s?SourceFiles?@par Source files\ /^SourceFiles *$/,/^$/{
<ul>\ s?SourceFiles?\\par Source files\
<li><a href="%filePath%">%fileName%</a></li>? <ul><li><a href="%filePath%">%fileName%</a></li>?
s?^[ ]*$?</ul>\ s? *\([a-zA-Z0-9]*\.[a-zA-Z]*\)? <li><a href="%dirName%/\1">\1</a></li>?
? s?^$?</ul>?
}
/fileName%<\/a><\/li>$/{
N
s?\n$?</ul>?g
s/<\/li>\n/<\/li> /
s? *\([a-zA-Z0-9]*\.[a-zA-Z]*\)? <li><a href="%dirName%/\1">\1</a></li>? s? *\([a-zA-Z0-9]*\.[a-zA-Z]*\)? <li><a href="%dirName%/\1">\1</a></li>?
} }

View File

@ -1104,7 +1104,7 @@ TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create # When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads. # a tag file that is based on the input files it reads.
GENERATE_TAGFILE = GENERATE_TAGFILE = DTAGS
# If the ALLEXTERNALS tag is set to YES all external classes will be listed # If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes # in the class index. If set to NO only the inherited external classes
@ -1254,7 +1254,7 @@ DOTFILE_DIRS =
# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note # MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note
# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
DOT_GRAPH_MAX_NODES = 50 DOT_GRAPH_MAX_NODES = 10
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
# graphs generated by dot. A depth value of 3 means that only nodes reachable # graphs generated by dot. A depth value of 3 means that only nodes reachable
@ -1264,7 +1264,7 @@ DOT_GRAPH_MAX_NODES = 50
# code bases. Also note that the size of a graph can be further restricted by # code bases. Also note that the size of a graph can be further restricted by
# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
MAX_DOT_GRAPH_DEPTH = 3 MAX_DOT_GRAPH_DEPTH = 1
# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
# background. This is disabled by default, which results in a white background. # background. This is disabled by default, which results in a white background.

View File

@ -2,12 +2,13 @@
# #
#+TITLE: OpenFOAM C++ style guide #+TITLE: OpenFOAM C++ style guide
#+AUTHOR: OpenCFD Ltd. #+AUTHOR: OpenCFD Ltd.
#+DATE: June 2010 #+DATE: Feb 2011
#+LINK: http://www.opencfd.co.uk #+LINK: http://www.opencfd.co.uk
#+OPTIONS: author:nil ^:{} #+OPTIONS: author:nil ^:{}
#+STARTUP: hidestars
#+STARTUP: odd
* OpenFOAM C++ style guide * OpenFOAM C++ style guide
*** General *** General
+ 80 character lines max + 80 character lines max
+ The normal indentation is 4 spaces per logical level. + The normal indentation is 4 spaces per logical level.
@ -23,30 +24,23 @@
+ stream output + stream output
+ =<<= is always four characters after the start of the stream, + =<<= is always four characters after the start of the stream,
so that the =<<= symbols align, i.e. so that the =<<= symbols align, i.e.
#+BEGIN_SRC c++
#+BEGIN_EXAMPLE
Info<< ... Info<< ...
os << ... os << ...
#+END_EXAMPLE #+END_SRC
so so
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
WarningIn("className::functionName()") WarningIn("className::functionName()")
<< "Warning message" << "Warning message"
#+END_EXAMPLE #+END_SRC
*not*
NOT #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
WarningIn("className::functionName()") WarningIn("className::functionName()")
<< "Warning message" << "Warning message"
#+END_EXAMPLE #+END_SRC
+ no unnecessary class section headers, i.e. remove + no unnecessary class section headers, i.e. remove
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// Check // Check
@ -54,72 +48,120 @@
// Edit // Edit
// Write // Write
#+END_EXAMPLE #+END_SRC
if they contain nothing, even if planned for 'future use' if they contain nothing, even if planned for 'future use'
+ class titles are centred + class titles are centred
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class exampleClass Declaration Class exampleClass Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#+END_EXAMPLE #+END_SRC
NOT *not*
#+BEGIN_EXAMPLE #+BEGIN_SRC C++
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class exampleClass Declaration Class exampleClass Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#+END_EXAMPLE #+END_SRC
*** The /.H/ Files *** The /.H/ Files
+ header file spacing + header file spacing
+ Leave two empty lines between sections + Leave two empty lines between sections
(as per functions in the /.C/ file etc) (as per functions in the /.C/ file etc)
+ use =//- Comment= comments in header file to add descriptions to class
+ use =//- Comment= comments in header file data and functions do be included in the Doxygen documentation:
+ add descriptions to class data and functions + text on the line starting with =//-= becomes the Doxygen brief
description;
+ text on subsequent lines becomes the Doxygen detailed description /e.g./
#+BEGIN_SRC C++
//- A function which returns a thing
// This is a detailed description of the function
// which processes stuff and returns other stuff
// depending on things.
thing function(stuff1, stuff2);
#+END_SRC
+ list entries start with =-= or =-#= for numbered lists but cannot start
on the line immediately below the brief description so
#+BEGIN_SRC C++
//- Compare triFaces
// Returns:
// - 0: different
// - +1: identical
// - -1: same face, but different orientation
static inline int compare(const triFace&, const triFace&);
#+END_SRC
or
#+BEGIN_SRC C++
//- Compare triFaces returning 0, +1 or -1
//
// - 0: different
// - +1: identical
// - -1: same face, but different orientation
static inline int compare(const triFace&, const triFace&);
#+END_SRC
*not*
#+BEGIN_SRC C++
//- Compare triFaces returning 0, +1 or -1
// - 0: different
// - +1: identical
// - -1: same face, but different orientation
static inline int compare(const triFace&, const triFace&);
#+END_SRC
+ list can be nested for example
#+BEGIN_SRC C++
//- Search for \em name
// in the following hierarchy:
// -# personal settings:
// - ~/.OpenFOAM/\<VERSION\>/
// <em>for version-specific files</em>
// - ~/.OpenFOAM/
// <em>for version-independent files</em>
// -# site-wide settings:
// - $WM_PROJECT_INST_DIR/site/\<VERSION\>
// <em>for version-specific files</em>
// - $WM_PROJECT_INST_DIR/site/
// <em>for version-independent files</em>
// -# shipped settings:
// - $WM_PROJECT_DIR/etc/
//
// \return the full path name or fileName() if the name cannot be found
// Optionally abort if the file cannot be found
fileName findEtcFile(const fileName&, bool mandatory=false);
#+END_SRC
+ for more details see the Doxygen documentation.
+ destructor + destructor
+ If adding a comment to the destructor - + If adding a comment to the destructor -
use =//-= and code as a normal function: use =//-= and code as a normal function:
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
//- Destructor //- Destructor
~className(); ~className();
#+END_EXAMPLE #+END_SRC
+ inline functions + inline functions
+ Use inline functions where appropriate in a separate /classNameI.H/ file. + Use inline functions where appropriate in a separate /classNameI.H/
Avoid cluttering the header file with function bodies. file. Avoid cluttering the header file with function bodies.
*** The /.C/ Files *** The /.C/ Files
+ Do not open/close namespaces in a /.C/ file + Do not open/close namespaces in a /.C/ file
+ Fully scope the function name, i.e. + Fully scope the function name, i.e.
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
Foam::returnType Foam::className::functionName() Foam::returnType Foam::className::functionName()
#+END_EXAMPLE #+END_SRC
*not*
NOT #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
namespace Foam namespace Foam
{ {
... ...
returnType className::functionName() returnType className::functionName()
... ...
} }
#+END_EXAMPLE #+END_SRC
EXCEPTION EXCEPTION
When there are multiple levels of namespace, they may be used in the /.C/ When there are multiple levels of namespace, they may be used in the
file, i.e. /.C/ file, i.e.
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
namespace Foam namespace Foam
{ {
namespace compressible namespace compressible
@ -130,42 +172,35 @@
} // End namespace RASModels } // End namespace RASModels
} // End namespace compressible } // End namespace compressible
} // End namespace Foam } // End namespace Foam
#+END_EXAMPLE #+END_SRC
+ Use two empty lines between functions + Use two empty lines between functions
*** Coding Practice *** Coding Practice
+ passing data as arguments or return values. + passing data as arguments or return values.
+ Pass bool, label and scalar as copy, anything larger by reference. + Pass bool, label and scalar as copy, anything larger by reference.
+ const + const
+ Use everywhere it is applicable. + Use everywhere it is applicable.
+ variable initialisation using + variable initialisation using
#+BEGIN_EXAMPLE #+BEGIN_SRC C++
const className& variableName = otherClass.data(); const className& variableName = otherClass.data();
#+END_EXAMPLE #+END_SRC
*not*
NOT #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
const className& variableName(otherClass.data()); const className& variableName(otherClass.data());
#+END_EXAMPLE #+END_SRC
+ virtual functions + virtual functions
+ If a class is virtual, make all derived classes virtual. + If a class is virtual, make all derived classes virtual.
*** Conditional Statements *** Conditional Statements
#+BEGIN_EXAMPLE #+BEGIN_SRC C++
if (condition) if (condition)
{ {
code; code;
} }
#+END_EXAMPLE #+END_SRC
OR OR
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
if if
( (
long condition long condition
@ -173,29 +208,24 @@
{ {
code; code;
} }
#+END_EXAMPLE #+END_SRC
*not* (no space between =if= and =(= used)
NOT (no space between =if= and =(= used) #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
if(condition) if(condition)
{ {
code; code;
} }
#+END_EXAMPLE #+END_SRC
*** =for= and =while= Loops *** =for= and =while= Loops
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
for (i = 0; i < maxI; i++) for (i = 0; i < maxI; i++)
{ {
code; code;
} }
#+END_EXAMPLE #+END_SRC
OR OR
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
for for
( (
i = 0; i = 0;
@ -205,33 +235,26 @@
{ {
code; code;
} }
#+END_EXAMPLE #+END_SRC
*not* this (no space between =for= and =(= used)
NOT this (no space between =for= and =(= used) #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
for(i = 0; i < maxI; i++) for(i = 0; i < maxI; i++)
{ {
code; code;
} }
#+END_EXAMPLE #+END_SRC
Note that when indexing through iterators, it is often slightly more Note that when indexing through iterators, it is often slightly more
efficient to use the pre-increment form. Eg, =++iter= instead of =iter++= efficient to use the pre-increment form. Eg, =++iter= instead of =iter++=
*** =forAll=, =forAllIter=, =forAllConstIter=, etc. loops *** =forAll=, =forAllIter=, =forAllConstIter=, etc. loops
like =for= loops, but like =for= loops, but
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
forAll( forAll(
#+END_EXAMPLE #+END_SRC
*not*
NOT #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
forAll ( forAll (
#+END_EXAMPLE #+END_SRC
Using the =forAllIter= and =forAllConstIter= macros is generally Using the =forAllIter= and =forAllConstIter= macros is generally
advantageous - less typing, easier to find later. However, since advantageous - less typing, easier to find later. However, since
they are macros, they will fail if the iterated object contains they are macros, they will fail if the iterated object contains
@ -239,150 +262,120 @@
The following will FAIL!: The following will FAIL!:
#+BEGIN_EXAMPLE #+BEGIN_SRC C++
forAllIter(HashTable<labelPair, edge, Hash<edge> >, foo, iter) forAllIter(HashTable<labelPair, edge, Hash<edge> >, foo, iter)
#+END_EXAMPLE #+END_SRC
These convenience macros are also generally avoided in other These convenience macros are also generally avoided in other
container classes and OpenFOAM primitive classes. container classes and OpenFOAM primitive classes.
*** Splitting Over Multiple Lines *** Splitting Over Multiple Lines
***** Splitting return type and function name
**** Splitting return type and function name
+ split initially after the function return type and left align + split initially after the function return type and left align
+ do not put =const= onto its own line - use a split to keep it with + do not put =const= onto its own line - use a split to keep it with
the function name and arguments. the function name and arguments.
#+BEGIN_SRC C++
so
#+BEGIN_EXAMPLE
const Foam::longReturnTypeName& const Foam::longReturnTypeName&
Foam::longClassName::longFunctionName const Foam::longClassName::longFunctionName const
#+END_EXAMPLE #+END_SRC
*not*
NOT #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
const Foam::longReturnTypeName& const Foam::longReturnTypeName&
Foam::longClassName::longFunctionName const Foam::longClassName::longFunctionName const
#+END_EXAMPLE #+END_SRC
*nor*
NOR #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
const Foam::longReturnTypeName& Foam::longClassName::longFunctionName const Foam::longReturnTypeName& Foam::longClassName::longFunctionName
const const
#+END_EXAMPLE #+END_SRC
*nor*
NOR #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
const Foam::longReturnTypeName& Foam::longClassName:: const Foam::longReturnTypeName& Foam::longClassName::
longFunctionName const longFunctionName const
#+END_EXAMPLE #+END_SRC
+ if it needs to be split again, split at the function name (leaving + if it needs to be split again, split at the function name (leaving
behind the preceding scoping =::=s), and again, left align, i.e. behind the preceding scoping =::=s), and again, left align, i.e.
#+BEGIN_SRC C++
For example,
#+BEGIN_EXAMPLE
const Foam::longReturnTypeName& const Foam::longReturnTypeName&
Foam::veryveryveryverylongClassName:: Foam::veryveryveryverylongClassName::
veryveryveryverylongFunctionName const veryveryveryverylongFunctionName const
#+END_EXAMPLE #+END_SRC
**** Splitting long lines at an "="
***** Splitting long lines at an "="
Indent after split Indent after split
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
variableName = variableName =
longClassName.longFunctionName(longArgument); longClassName.longFunctionName(longArgument);
#+END_EXAMPLE #+END_SRC
OR (where necessary) OR (where necessary)
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
variableName = variableName =
longClassName.longFunctionName longClassName.longFunctionName
( (
longArgument1, longArgument1,
longArgument2 longArgument2
); );
#+END_EXAMPLE #+END_SRC
*not*
NOT #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
variableName = variableName =
longClassName.longFunctionName(longArgument); longClassName.longFunctionName(longArgument);
#+END_EXAMPLE #+END_SRC
*nor*
NOR #+BEGIN_SRC C++
#+BEGIN_EXAMPLE
variableName = longClassName.longFunctionName variableName = longClassName.longFunctionName
( (
longArgument1, longArgument1,
longArgument2 longArgument2
); );
#+END_EXAMPLE #+END_SRC
*** Maths and Logic *** Maths and Logic
+ operator spacing + operator spacing
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
a + b, a - b a + b, a - b
a*b, a/b a*b, a/b
a & b, a ^ b a & b, a ^ b
a = b, a != b a = b, a != b
a < b, a > b, a >= b, a <= b a < b, a > b, a >= b, a <= b
a || b, a && b a || b, a && b
#+END_EXAMPLE #+END_SRC
+ splitting formulae over several lines + splitting formulae over several lines
Split and indent as per "splitting long lines at an =" Split and indent as per "splitting long lines at an ="
with the operator on the lower line. Align operator so that first with the operator on the lower line. Align operator so that first
variable, function or bracket on the next line is 4 spaces indented i.e. variable, function or bracket on the next line is 4 spaces indented i.e.
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
variableName = variableName =
a*(a + b) a*(a + b)
- exp(c/d) *exp(c/d)
*(k + t); *(k + t);
#+END_EXAMPLE #+END_SRC
This is sometimes more legible when surrounded by extra parentheses: This is sometimes more legible when surrounded by extra parentheses:
#+BEGIN_EXAMPLE #+BEGIN_SRC C++
variableName = variableName =
( (
a*(a + b) a*(a + b)
- exp(c/d) *exp(c/d)
*(k + t) *(k + t)
); );
#+END_EXAMPLE #+END_SRC
+ splitting logical tests over several lines + splitting logical tests over several lines
outdent the operator so that the next variable to test is aligned with outdent the operator so that the next variable to test is aligned with
the four space indentation, i.e. the four space indentation, i.e.
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
if if
( (
a == true a == true
&& b == c && b == c
) )
#+END_EXAMPLE #+END_SRC
** Documentation ** Documentation
*** General *** General
+ For readability in the comment blocks, certain tags are used that are + For readability in the comment blocks, certain tags are used that are
translated by pre-filtering the file before sending it to Doxygen. translated by pre-filtering the file before sending it to Doxygen.
@ -397,8 +390,7 @@
description. description.
For example, For example,
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
Class Class
Foam::myClass Foam::myClass
@ -407,7 +399,7 @@
The class is implemented as a set of recommendations that may The class is implemented as a set of recommendations that may
sometimes be useful. sometimes be useful.
#+END_EXAMPLE #+END_SRC
+ The class name must be qualified by its namespace, otherwise Doxygen + The class name must be qualified by its namespace, otherwise Doxygen
will think you are documenting some other class. will think you are documenting some other class.
@ -415,49 +407,33 @@
+ If you don't have anything to say about the class (at the moment), use + If you don't have anything to say about the class (at the moment), use
the namespace-qualified class name for the description. This aids with the namespace-qualified class name for the description. This aids with
finding these under-documented classes later. finding these under-documented classes later.
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
Class Class
Foam::myUnderDocumentedClass Foam::myUnderDocumentedClass
Description Description
Foam::myUnderDocumentedClass Foam::myUnderDocumentedClass
#+END_EXAMPLE #+END_SRC
+ Use 'Class' and 'Namespace' tags in the header files. + Use 'Class' and 'Namespace' tags in the header files.
The Description block then applies to documenting the class. The Description block then applies to documenting the class.
+ Use 'InClass' and 'InNamespace' in the source files. + Use 'InClass' and 'InNamespace' in the source files.
The Description block then applies to documenting the file itself. The Description block then applies to documenting the file itself.
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
InClass InClass
Foam::myClass Foam::myClass
Description Description
Implements the read and writing of files. Implements the read and writing of files.
#+END_EXAMPLE #+END_SRC
*** Doxygen Special Commands *** Doxygen Special Commands
Doxygen has a large number of special commands with a =\= prefix.
Doxygen has a large number of special commands with a =\= prefix or Since the filtering removes the leading spaces within the blocks, the
(alternatively) an =@= prefix.
The =@= prefix form is recommended for most Doxygen specials, since it
has the advantage of standing out. It also happens to be what projects
like gcc and VTK are using.
The =\= prefix form, however, looks a bit better for the =\n= newline
command and when escaping single characters - eg, =\@=, =\<=, =\>=, etc.
Since the filtering removes the leading 4 spaces within the blocks, the
Doxygen commmands can be inserted within the block without problems. Doxygen commmands can be inserted within the block without problems.
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
InClass InClass
Foam::myClass Foam::myClass
@ -465,68 +441,57 @@
Implements the read and writing of files. Implements the read and writing of files.
An example input file: An example input file:
@verbatim \verbatim
patchName patchName
{ {
type myPatchType; type myPatchType;
refValue 100; refValue 100;
value uniform 1; value uniform 1;
} }
@endverbatim \endverbatim
Within the implementation, a loop over all patches is done: Within the implementation, a loop over all patches is done:
@code \code
forAll(patches, patchI) forAll(patches, patchI)
{ {
... // some operation ... // some operation
} }
@endcode \endcode
#+END_EXAMPLE #+END_SRC
*** HTML Special Commands *** HTML Special Commands
Since Doxygen also handles HTML tags to a certain extent, the angle Since Doxygen also handles HTML tags to a certain extent, the angle
brackets need quoting in the documentation blocks. Non-HTML tags cause brackets need quoting in the documentation blocks. Non-HTML tags cause
Doxygen to complain, but seem to work anyhow. Doxygen to complain, but seem to work anyhow.
eg, eg,
+ The template with type =<HR>= is a bad example. + The template with type =<HR>= is a bad example.
+ The template with type =\<HR\>= is a better example. + The template with type =\<HR\>= is a better example.
+ The template with type =<Type>= causes Doxygen to complain about an + The template with type =<Type>= causes Doxygen to complain about an
unknown html type, but it seems to work okay anyhow. unknown html type, but it seems to work okay anyhow.
*** Documenting Namespaces *** Documenting Namespaces
+ If namespaces are explictly declared with the =Namespace()= macro, + If namespaces are explictly declared with the =Namespace()= macro,
they should be documented there. they should be documented there.
+ If the namespaces is used to hold sub-models, the namespace can be + If the namespaces is used to hold sub-models, the namespace can be
documented in the same file as the class with the model selector. documented in the same file as the class with the model selector.
eg, eg,
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
documented namespace 'Foam::functionEntries' within the documented namespace 'Foam::functionEntries' within the
class 'Foam::functionEntry' class 'Foam::functionEntry'
#+END_EXAMPLE #+END_SRC
+ If nothing else helps, find some sensible header. + If nothing else helps, find some sensible header.
eg, eg,
#+BEGIN_SRC C++
#+BEGIN_EXAMPLE
namespace 'Foam' is documented in the foamVersion.H file namespace 'Foam' is documented in the foamVersion.H file
#+END_EXAMPLE #+END_SRC
*** Documenting typedefs and classes defined via macros *** Documenting typedefs and classes defined via macros
... not yet properly resolved ... not yet properly resolved
*** Documenting Applications *** Documenting Applications
Any number of classes might be defined by a particular application, but Any number of classes might be defined by a particular application, but
these classes will not, however, be available to other parts of these classes will not, however, be available to other parts of
OpenFOAM. At the moment, the sole purpuse for running Doxygen on the OpenFOAM. At the moment, the sole purpuse for running Doxygen on the
@ -542,23 +507,17 @@
The layout of the application documentation has not yet been finalized, The layout of the application documentation has not yet been finalized,
but foamToVTK shows an initial attempt. but foamToVTK shows an initial attempt.
*** Orthography (an opinion) *** Orthography
Given the origins of OpenFOAM, the British spellings (eg, neighbour and not
Given the origins of OpenFOAM, the British spellings (eg, neighbour and neighbor) are generally favoured.
not neighbor) are generally favoured. For code sections that interact
with external libraries, it can be useful to adopt American spellings,
especially for names that constitute a significant part of the external
library - eg, 'color' within graphics sub-systems.
Both '-ize' and the '-ise' variant are found in the code comments. If Both '-ize' and the '-ise' variant are found in the code comments. If
used as a variable or class method name, it is probably better to use used as a variable or class method name, it is probably better to use
'-ize', which is considered the main form by the Oxford University '-ize', which is considered the main form by the Oxford University
Press. Press. Eg,
#+BEGIN_SRC C++
Eg,
#+BEGIN_EXAMPLE
myClass.initialize() myClass.initialize()
#+END_EXAMPLE #+END_SRC
The word "its" (possesive) vs. "it's" (colloquial for "it is" or "it has") The word "its" (possesive) vs. "it's" (colloquial for "it is" or "it has")
seems to confuse non-native (and some native) English speakers. seems to confuse non-native (and some native) English speakers.

Binary file not shown.

View File

@ -207,14 +207,16 @@ OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO OPTIMIZE_OUTPUT_VHDL = NO
# Doxygen selects the parser to use depending on the extension of the files it parses. # Doxygen selects the parser to use depending on the extension of the files it
# With this tag you can assign which parser to use for a given extension. # parses. With this tag you can assign which parser to use for a given
# Doxygen has a built-in mapping, but you can override or extend it using this tag. # extension. Doxygen has a built-in mapping, but you can override or extend it
# The format is ext=language, where ext is a file extension, and language is one of # using this tag. The format is ext=language, where ext is a file extension,
# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, # and language is one of the parsers supported by doxygen: IDL, Java,
# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat # Javascript, C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C,
# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # C++. For instance to make doxygen treat .inc files as Fortran files (default
# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. # is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note
# that for custom extensions you also need to set FILE_PATTERNS otherwise the
# files are not read by doxygen.
EXTENSION_MAPPING = EXTENSION_MAPPING =
@ -238,10 +240,10 @@ CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO SIP_SUPPORT = NO
# For Microsoft's IDL there are propget and propput attributes to indicate getter # For Microsoft's IDL there are propget and propput attributes to indicate
# and setter methods for a property. Setting this option to YES (the default) # getter and setter methods for a property. Setting this option to YES (the
# will make doxygen to replace the get and set methods by a property in the # default) will make doxygen to replace the get and set methods by a property in
# documentation. This will only work if the methods are indeed getting or # the documentation. This will only work if the methods are indeed getting or
# setting a simple type. If this is not the case, or you want to show the # setting a simple type. If this is not the case, or you want to show the
# methods anyway, you should set this option to NO. # methods anyway, you should set this option to NO.
@ -411,7 +413,12 @@ SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO SORT_BRIEF_DOCS = NO
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
# (brief and detailed) documentation of class members so that constructors and
# destructors are listed first. If set to NO (the default) the constructors will
# appear in the respective orders defined by SORT_MEMBER_DOCS and
# SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is
# set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
SORT_MEMBERS_CTORS_1ST = NO SORT_MEMBERS_CTORS_1ST = NO
@ -505,12 +512,12 @@ SHOW_NAMESPACES = YES
FILE_VERSION_FILTER = FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# doxygen. The layout file controls the global structure of the generated output files # by doxygen. The layout file controls the global structure of the generated
# in an output format independent way. The create the layout file that represents # output files in an output format independent way. The create the layout file
# doxygen's defaults, run doxygen with the -l option. You can optionally specify a # that represents doxygen's defaults, run doxygen with the -l option. You can
# file name after the option, if omitted DoxygenLayout.xml will be used as the name # optionally specify a file name after the option, if omitted DoxygenLayout.xml
# of the layout file. # will be used as the name of the layout file.
LAYOUT_FILE = LAYOUT_FILE =
@ -574,14 +581,16 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories # directories like "/usr/src/myproject". Separate the files or directories
# with spaces. # with spaces.
#INPUT = $(WM_PROJECT_DIR)/src \ INPUT = $(WM_PROJECT_DIR)/src \
# $(WM_PROJECT_DIR)/applications/utilities \ $(WM_PROJECT_DIR)/applications/utilities \
# $(WM_PROJECT_DIR)/applications/solvers $(WM_PROJECT_DIR)/applications/solvers
# limit input for testing purposes # limit input for testing purposes
INPUT = $(WM_PROJECT_DIR)/src/OpenFOAM/global \ # INPUT = $(WM_PROJECT_DIR)/src/OpenFOAM/global \
$(WM_PROJECT_DIR)/src/OpenFOAM/containers \ # $(WM_PROJECT_DIR)/src/OpenFOAM/containers \
$(WM_PROJECT_DIR)/src/OpenFOAM/primitives # $(WM_PROJECT_DIR)/src/OpenFOAM/primitives \
# $(WM_PROJECT_DIR)/sampling \
# $(WM_PROJECT_DIR)/src/finiteVolume/fvMesh
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@ -836,15 +845,15 @@ HTML_ALIGN_MEMBERS = YES
HTML_DYNAMIC_SECTIONS = NO HTML_DYNAMIC_SECTIONS = NO
# If the GENERATE_DOCSET tag is set to YES, additional index files # If the GENERATE_DOCSET tag is set to YES, additional index files will be
# will be generated that can be used as input for Apple's Xcode 3 # generated that can be used as input for Apple's Xcode 3 integrated development
# integrated development environment, introduced with OSX 10.5 (Leopard). # environment, introduced with OSX 10.5 (Leopard). To create a documentation
# To create a documentation set, doxygen will generate a Makefile in the # set, doxygen will generate a Makefile in the HTML output directory. Running
# HTML output directory. Running make will produce the docset in that # make will produce the docset in that directory and running "make install" will
# directory and running "make install" will install the docset in # install the docset in ~/Library/Developer/Shared/Documentation/DocSets so that
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # Xcode will find it at startup. See
# it at startup. # http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more
# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. # information.
GENERATE_DOCSET = NO GENERATE_DOCSET = NO
@ -906,10 +915,10 @@ BINARY_TOC = NO
TOC_EXPAND = NO TOC_EXPAND = NO
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
# are set, an additional index file will be generated that can be used as input for # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
# HTML documentation. # (.qch) of the generated HTML documentation.
GENERATE_QHP = NO GENERATE_QHP = NO
@ -931,20 +940,23 @@ QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc QHP_VIRTUAL_FOLDER = doc
# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
# For more information please see # add. For more information please see
# http://doc.trolltech.com/qthelpproject.html#custom-filters # http://doc.trolltech.com/qthelpproject.html#custom-filters
QHP_CUST_FILTER_NAME = QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom
# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. # filter to add.For more information please see <a
# href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help
# Project / Custom Filters</a>.
QHP_CUST_FILTER_ATTRS = QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# filter section matches. # project's filter section matches. <a
# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. # href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help
# Project / Filter Attributes</a>.
QHP_SECT_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS =
@ -955,13 +967,14 @@ QHP_SECT_FILTER_ATTRS =
QHG_LOCATION = QHG_LOCATION =
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
# will be generated, which together with the HTML files, form an Eclipse help # generated, which together with the HTML files, form an Eclipse help
# plugin. To install this plugin and make it available under the help contents # plugin. To install this plugin and make it available under the help contents
# menu in Eclipse, the contents of the directory containing the HTML and XML # menu in Eclipse, the contents of the directory containing the HTML and XML
# files needs to be copied into the plugins directory of eclipse. The name of # files needs to be copied into the plugins directory of eclipse. The name of
# the directory within the plugins directory should be the same as # the directory within the plugins directory should be the same as the
# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. # ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the
# help appears.
GENERATE_ECLIPSEHELP = NO GENERATE_ECLIPSEHELP = NO
@ -1011,16 +1024,23 @@ TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10 FORMULA_FONTSIZE = 10
# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript # When the SEARCHENGINE tag is enabled doxygen will generate a search box for
# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should # the HTML output. The underlying search engine uses javascript and DHTML and
# typically be disabled. For large projects the javascript based search engine # should work on any modern browser. Note that when using HTML help
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
# there is already a search function so this one should typically be
# disabled. For large projects the javascript based search engine can be slow,
# then enabling SERVER_BASED_SEARCH may provide a better solution.
SEARCHENGINE = YES SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup # implemented using a PHP enabled web server instead of at the web client using
# and does not have live searching capabilities. # Javascript. Doxygen will generate the search PHP script and index file to put
# on the web server. The advantage of the server based approach is that it
# scales better to large projects and allows full text search. The disadvances
# is that it is more difficult to setup and does not have live searching
# capabilities.
SERVER_BASED_SEARCH = NO SERVER_BASED_SEARCH = NO
# old default # old default
@ -1105,7 +1125,9 @@ LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO LATEX_HIDE_INDICES = NO
# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. # If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with
# syntax highlighting in the LaTeX output. Note that which sources are shown
# also depends on other settings such as SOURCE_BROWSER.
LATEX_SOURCE_CODE = NO LATEX_SOURCE_CODE = NO
@ -1353,7 +1375,7 @@ TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create # When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads. # a tag file that is based on the input files it reads.
GENERATE_TAGFILE = GENERATE_TAGFILE = DTAGS
# If the ALLEXTERNALS tag is set to YES all external classes will be listed # If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes # in the class index. If set to NO only the inherited external classes
@ -1408,8 +1430,8 @@ HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES HAVE_DOT = YES
# By default doxygen will write a font called FreeSans.ttf to the output # By default doxygen will write a font called FreeSans.ttf to the output
# directory and reference it in all dot files that doxygen generates. This # directory and reference it in all dot files that doxygen generates. This font
# font does not include all possible unicode characters however, so when you need # does not include all possible unicode characters however, so when you need
# these (or just want a differently looking font) you can specify the font name # these (or just want a differently looking font) you can specify the font name
# using DOT_FONTNAME. You need need to make sure dot is able to find the font, # using DOT_FONTNAME. You need need to make sure dot is able to find the font,
# which can be done by putting it in a standard location or by setting the # which can be done by putting it in a standard location or by setting the

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -109,7 +109,6 @@ namespace Foam
//! @cond internalClass
//- Internal tracking via stat(3p) or inotify(7) //- Internal tracking via stat(3p) or inotify(7)
class fileMonitorWatcher class fileMonitorWatcher
{ {
@ -288,7 +287,6 @@ namespace Foam
} }
}; };
//! @endcond
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -29,7 +29,7 @@ Description
SeeAlso SeeAlso
The manpage regex(7) for more information about POSIX regular expressions. The manpage regex(7) for more information about POSIX regular expressions.
These differ somewhat from @c Perl and @c sed regular expressions. These differ somewhat from \c Perl and @c sed regular expressions.
SourceFiles SourceFiles
regExp.C regExp.C

View File

@ -28,9 +28,9 @@ Description
Set up trapping for floating point exceptions (signal FPE). Set up trapping for floating point exceptions (signal FPE).
Controlled by two env vars: Controlled by two env vars:
@param FOAM_SIGFPE \n \param FOAM_SIGFPE \n
exception trapping exception trapping
@param FOAM_SETNAN \n \param FOAM_SETNAN \n
initialization of all malloced memory to NaN. If FOAM_SIGFPE initialization of all malloced memory to NaN. If FOAM_SIGFPE
also set, this will cause usage of uninitialized scalars to trigger also set, this will cause usage of uninitialized scalars to trigger
an abort. an abort.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,7 +28,7 @@ Description
Implements a timeout mechanism via sigalarm. Implements a timeout mechanism via sigalarm.
Example usage: Example usage:
@code \code
timer myTimer(5); // 5 sec timer myTimer(5); // 5 sec
.. ..
if (timedOut(myTimer)) if (timedOut(myTimer))
@ -39,7 +39,7 @@ Description
{ {
// do something possible blocking // do something possible blocking
} }
@endcode \endcode
Constructor set signal handler on sigalarm and alarm(). Destructor Constructor set signal handler on sigalarm and alarm(). Destructor
clears these. clears these.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -236,10 +236,10 @@ public:
//- Read a bracket-delimited list, or handle a single value as list of size 1. //- Read a bracket-delimited list, or handle a single value as list of size 1.
// For example, // For example,
// @code // \code
// wList = readList<word>(IStringStream("(patch1 patch2 patch3)")()); // wList = readList<word>(IStringStream("(patch1 patch2 patch3)")());
// wList = readList<word>(IStringStream("patch0")()); // wList = readList<word>(IStringStream("patch0")());
// @endcode // \endcode
// Mostly useful for handling command-line arguments. // Mostly useful for handling command-line arguments.
template<class T> template<class T>
List<T> readList(Istream&); List<T> readList(Istream&);

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -37,7 +37,7 @@ Description
in one go, minimizing communication, and then picked apart and recombined. in one go, minimizing communication, and then picked apart and recombined.
Example: Example:
@code \code
// Assuming myContainer defined which holds all the data I want to // Assuming myContainer defined which holds all the data I want to
// transfer (say a pointField and a faceList). myContainer also defines // transfer (say a pointField and a faceList). myContainer also defines
// access operators to // access operators to
@ -76,7 +76,7 @@ Description
gatheredData, sizes, myContainerFaces(), offsetOp<face>() gatheredData, sizes, myContainerFaces(), offsetOp<face>()
) )
); );
@endcode \endcode
SourceFiles SourceFiles
ListListOps.C ListListOps.C

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -54,7 +54,7 @@ namespace Foam
// Forward declaration // Forward declaration
class PackedBoolList; class PackedBoolList;
//- @typedef A List of PackedBoolList //- \typedef A List of PackedBoolList
typedef List<PackedBoolList> PackedBoolListList; typedef List<PackedBoolList> PackedBoolListList;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -42,11 +42,11 @@ Note
Using the iteratorBase as a proxy allows assignment of values Using the iteratorBase as a proxy allows assignment of values
between list elements. Thus the following bit of code works as expected: between list elements. Thus the following bit of code works as expected:
@code \code
list[1] = list[5]; // value assignment, not iterator position list[1] = list[5]; // value assignment, not iterator position
list[2] = list[5] = 4; // propagates value list[2] = list[5] = 4; // propagates value
list[1] = list[5] = list[6]; // propagates value list[1] = list[5] = list[6]; // propagates value
@endcode \endcode
Using get() or the '[]' operator are similarly fast. Looping and reading Using get() or the '[]' operator are similarly fast. Looping and reading
via an iterator is approx. 15% slower, but can be more flexible. via an iterator is approx. 15% slower, but can be more flexible.
@ -56,21 +56,21 @@ Note
advantage of also returning a bool if the value changed. This can be advantage of also returning a bool if the value changed. This can be
useful for branching on changed values. useful for branching on changed values.
@code \code
list[5] = 4; list[5] = 4;
changed = list.set(5, 8); changed = list.set(5, 8);
if (changed) ... if (changed) ...
@endcode \endcode
The lazy evaluation used means that reading an out-of-range element The lazy evaluation used means that reading an out-of-range element
returns zero, but does not affect the list size. Even in a non-const returns zero, but does not affect the list size. Even in a non-const
context, only the assigment itself causes the element to be created. context, only the assigment itself causes the element to be created.
For example, For example,
@code \code
list.resize(4); list.resize(4);
Info<< list[10] << "\n"; // print zero, but doesn't adjust list Info<< list[10] << "\n"; // print zero, but doesn't adjust list
list[8] = 1; list[8] = 1;
@endcode \endcode
Also note that all unused internal storage elements are guaranteed to Also note that all unused internal storage elements are guaranteed to
always be bit-wise zero. This property must not be violated by any always be bit-wise zero. This property must not be violated by any
@ -79,14 +79,14 @@ Note
In addition to the normal output format, PackedList also supports a In addition to the normal output format, PackedList also supports a
compact ASCII format that may be convenient for user input in some compact ASCII format that may be convenient for user input in some
situations. The general format is a group of index/value pairs: situations. The general format is a group of index/value pairs:
@verbatim \verbatim
{ (index1 value1) (index2 value2) (index3 value3) } { (index1 value1) (index2 value2) (index3 value3) }
@endverbatim \endverbatim
The bool specialization just uses the indices corresponding to The bool specialization just uses the indices corresponding to
non-zero entries instead of a index/value pair: non-zero entries instead of a index/value pair:
@verbatim \verbatim
{ index1 index2 index3 } { index1 index2 index3 }
@endverbatim \endverbatim
In both cases, the supplied indices can be randomly ordered. In both cases, the supplied indices can be randomly ordered.
SeeAlso SeeAlso
@ -356,14 +356,14 @@ public:
// //
// The indexed output may be convenient in some situations. // The indexed output may be convenient in some situations.
// The general format is a group of index/value pairs: // The general format is a group of index/value pairs:
// @verbatim // \verbatim
// { (index1 value1) (index2 value2) (index3 value3) } // { (index1 value1) (index2 value2) (index3 value3) }
// @endverbatim // \endverbatim
// The bool specialization just uses the indices corresponding to // The bool specialization just uses the indices corresponding to
// non-zero entries instead of a index/value pair: // non-zero entries instead of a index/value pair:
// @verbatim // \verbatim
// { index1 index2 index3 } // { index1 index2 index3 }
// @endverbatim // \endverbatim
// //
// Note the indexed output is only supported for ASCII streams. // Note the indexed output is only supported for ASCII streams.
Ostream& write Ostream& write

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -367,28 +367,28 @@ inline void reverse(UList<T>&);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
/** /**
* @def forAll(list, i) * \def forAll(list, i)
* Loop across all elements in @a list * Loop across all elements in \a list
* @par Usage * \par Usage
* @code * \code
* forAll(anyList, i) * forAll(anyList, i)
* { * {
* statements; * statements;
* } * }
* @endcode * \endcode
* @sa forAllReverse * \sa forAllReverse
*/ */
/** /**
* @def forAllReverse(list, i) * \def forAllReverse(list, i)
* Reverse loop across all elements in @a list * Reverse loop across all elements in \a list
* @par Usage * \par Usage
* @code * \code
* forAllReverse(anyList, i) * forAllReverse(anyList, i)
* { * {
* statements; * statements;
* } * }
* @endcode * \endcode
* @sa forAll * \sa forAll
*/ */
#define forAll(list, i) \ #define forAll(list, i) \
for (Foam::label i=0; i<(list).size(); i++) for (Foam::label i=0; i<(list).size(); i++)
@ -397,17 +397,17 @@ inline void reverse(UList<T>&);
for (Foam::label i=(list).size()-1; i>=0; i--) for (Foam::label i=(list).size()-1; i>=0; i--)
/** /**
* @def forAllIter(Container, container, iter) * \def forAllIter(Container, container, iter)
* Iterate across all elements in the @a container object of type * Iterate across all elements in the \a container object of type
* @a Container. * \a Container.
* @par Usage * \par Usage
* @code * \code
* forAll(ContainerType, container, iter) * forAll(ContainerType, container, iter)
* { * {
* statements; * statements;
* } * }
* @endcode * \endcode
* @sa forAllConstIter * \sa forAllConstIter
*/ */
#define forAllIter(Container,container,iter) \ #define forAllIter(Container,container,iter) \
for \ for \
@ -418,17 +418,17 @@ inline void reverse(UList<T>&);
) )
/** /**
* @def forAllConstIter(Container, container, iter) * \def forAllConstIter(Container, container, iter)
* Iterate across all elements in the @a container object of type * Iterate across all elements in the \a container object of type
* @a Container with const access. * \a Container with const access.
* @par Usage * \par Usage
* @code * \code
* forAllConstIter(ContainerType, container, iter) * forAllConstIter(ContainerType, container, iter)
* { * {
* statements; * statements;
* } * }
* @endcode * \endcode
* @sa forAllIter * \sa forAllIter
*/ */
#define forAllConstIter(Container,container,iter) \ #define forAllConstIter(Container,container,iter) \
for \ for \

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -33,32 +33,32 @@ Description
path, a reference to a objectRegistry, and parameters determining its path, a reference to a objectRegistry, and parameters determining its
storage status. storage status.
@par Read options \par Read options
Define what is done on object construction and explicit reads: Define what is done on object construction and explicit reads:
@param MUST_READ \param MUST_READ
Object must be read from Istream on construction. \n Object must be read from Istream on construction. \n
Error if Istream does not exist or can't be read. Error if Istream does not exist or can't be read.
Does not check timestamp or re-read. Does not check timestamp or re-read.
@param MUST_READ_IF_MODIFIED \param MUST_READ_IF_MODIFIED
Object must be read from Istream on construction. \n Object must be read from Istream on construction. \n
Error if Istream does not exist or can't be read. If object is Error if Istream does not exist or can't be read. If object is
registered its timestamp will be checked every timestep and possibly registered its timestamp will be checked every timestep and possibly
re-read. re-read.
@param READ_IF_PRESENT \param READ_IF_PRESENT
Read object from Istream if Istream exists, otherwise don't. \n Read object from Istream if Istream exists, otherwise don't. \n
Error only if Istream exists but can't be read. Error only if Istream exists but can't be read.
Does not check timestamp or re-read. Does not check timestamp or re-read.
@param NO_READ \param NO_READ
Don't read Don't read
@par Write options \par Write options
Define what is done on object destruction and explicit writes: Define what is done on object destruction and explicit writes:
@param AUTO_WRITE \param AUTO_WRITE
Object is written automatically when requested to by the Object is written automatically when requested to by the
objectRegistry. objectRegistry.
@param NO_WRITE \param NO_WRITE
No automatic write on destruction but can be written explicitly No automatic write on destruction but can be written explicitly
SourceFiles SourceFiles

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -393,39 +393,39 @@ public:
//- Return true if run should continue, //- Return true if run should continue,
// also invokes the functionObjectList::end() method // also invokes the functionObjectList::end() method
// when the time goes out of range // when the time goes out of range
// @note // \note
// For correct behaviour, the following style of time-loop // For correct behaviour, the following style of time-loop
// is recommended: // is recommended:
// @code // \code
// while (runTime.run()) // while (runTime.run())
// { // {
// runTime++; // runTime++;
// solve; // solve;
// runTime.write(); // runTime.write();
// } // }
// @endcode // \endcode
virtual bool run() const; virtual bool run() const;
//- Return true if run should continue and if so increment time //- Return true if run should continue and if so increment time
// also invokes the functionObjectList::end() method // also invokes the functionObjectList::end() method
// when the time goes out of range // when the time goes out of range
// @note // \note
// For correct behaviour, the following style of time-loop // For correct behaviour, the following style of time-loop
// is recommended: // is recommended:
// @code // \code
// while (runTime.loop()) // while (runTime.loop())
// { // {
// solve; // solve;
// runTime.write(); // runTime.write();
// } // }
// @endcode // \endcode
virtual bool loop(); virtual bool loop();
//- Return true if end of run, //- Return true if end of run,
// does not invoke any functionObject methods // does not invoke any functionObject methods
// @note // \note
// The rounding heuristics near endTime mean that // The rounding heuristics near endTime mean that
// @code run() @endcode and @code !end() @endcode may // \code run() \endcode and \code !end() \endcode may
// not yield the same result // not yield the same result
virtual bool end() const; virtual bool end() const;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,7 +30,7 @@ Description
The timeSelector provides a convenient means of selecting multiple The timeSelector provides a convenient means of selecting multiple
times. A typical use would be the following: times. A typical use would be the following:
@verbatim \verbatim
timeSelector::addOptions(); timeSelector::addOptions();
// add other options // add other options
#include "setRootCase.H" #include "setRootCase.H"
@ -41,27 +41,27 @@ Description
{ {
... ...
} }
@endverbatim \endverbatim
The result program would receive @b -time, @b -latestTime, @b -constant The result program would receive \b -time, @b -latestTime, @b -constant
and @b -noZero options. The @b -constant option explicitly includes the and \b -noZero options. The @b -constant option explicitly includes the
@c constant/ directory in the time list and the @b -noZero option \c constant/ directory in the time list and the \b -noZero option
explicitly excludes the @c 0/ directory from the time list. explicitly excludes the \c 0/ directory from the time list.
There may however also be many cases in which neither the @c constant/ There may however also be many cases in which neither the \c constant/
directory nor the @c 0/ directory contain particularly relevant directory nor the \c 0/ directory contain particularly relevant
information. This might occur, for example, when post-processing information. This might occur, for example, when post-processing
results. In this case, addOptions is called with optional boolean results. In this case, addOptions is called with optional boolean
arguments. arguments.
@verbatim \verbatim
timeSelector::addOptions(false, true); timeSelector::addOptions(false, true);
@endverbatim \endverbatim
The first argument avoids adding the @b -constant option. The second The first argument avoids adding the \b -constant option. The second
argument adds an additional @b -zeroTime option and also prevents the argument adds an additional \b -zeroTime option and also prevents the
@c 0/ directory from being included in the default time range and in the \c 0/ directory from being included in the default time range and in the
@b -latestTime selection. \b -latestTime selection.
SourceFiles SourceFiles
timeSelector.C timeSelector.C
@ -119,15 +119,15 @@ public:
//- Add the options handled by timeSelector to argList::validOptions //- Add the options handled by timeSelector to argList::validOptions
// //
// @param constant // \param constant
// Add the @b -constant option to include the @c constant/ directory // Add the \b -constant option to include the \c constant/ directory
// //
// @param zeroTime // \param zeroTime
// Enable the @b -zeroTime option and alter the normal time selection // Enable the \b -zeroTime option and alter the normal time selection
// behaviour (and @b -latestTime behaviour) to exclude the @c 0/ // behaviour (and \b -latestTime behaviour) to exclude the \c 0/
// directory. The @c 0/ directory will only be included when // directory. The \c 0/ directory will only be included when
// @b -zeroTime is specified. // \b -zeroTime is specified.
// The @b -noZero option has precedence over the @b -zeroTime option. // The \b -noZero option has precedence over the @b -zeroTime option.
static void addOptions static void addOptions
( (
const bool constant=true, const bool constant=true,

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -35,7 +35,7 @@ Description
A functionEntry causes entries to be added/manipulated on the specified A functionEntry causes entries to be added/manipulated on the specified
dictionary given an input stream. dictionary given an input stream.
In dictionaries, a @c '\#' sigil is typically used for a functionEntry. In dictionaries, a \c '\#' sigil is typically used for a functionEntry.
SourceFiles SourceFiles
functionEntry.C functionEntry.C

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,13 +28,13 @@ Description
Specify an include file when reading dictionaries, expects a Specify an include file when reading dictionaries, expects a
single string to follow. single string to follow.
An example of the @c \#include directive: An example of the \c \#include directive:
@verbatim \verbatim
#include "includeFile" #include "includeFile"
@endverbatim \endverbatim
The usual expansion of environment variables and other constructs The usual expansion of environment variables and other constructs
(eg, the @c ~OpenFOAM/ expansion) is retained. (eg, the \c ~OpenFOAM/ expansion) is retained.
See Also See Also
fileName, string::expand() fileName, string::expand()

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ Class
Description Description
Specify a file to include if it exists. Expects a single string to follow. Specify a file to include if it exists. Expects a single string to follow.
The @c \#includeIfPresent directive is similar to the @c \#include The \c \#includeIfPresent directive is similar to the @c \#include
directive, but does not generate an error if the file does not exist. directive, but does not generate an error if the file does not exist.
See Also See Also

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,18 +28,18 @@ Description
Specify the input mode when reading dictionaries, expects Specify the input mode when reading dictionaries, expects
a single word to follow. a single word to follow.
An example of @c \#inputMode directive: An example of \c \#inputMode directive:
@verbatim \verbatim
#inputMode merge #inputMode merge
@endverbatim \endverbatim
The possible input modes: The possible input modes:
@param merge merge sub-dictionaries when possible \param merge merge sub-dictionaries when possible
@param overwrite keep last entry and silently remove previous ones \param overwrite keep last entry and silently remove previous ones
@param protect keep initial entry and silently ignore subsequent ones \param protect keep initial entry and silently ignore subsequent ones
@param warn keep initial entry and warn about subsequent ones \param warn keep initial entry and warn about subsequent ones
@param error issue a FatalError for duplicate entries \param error issue a FatalError for duplicate entries
@param default currently identical to merge \param default currently identical to merge
SourceFiles SourceFiles
inputModeEntry.C inputModeEntry.C

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,14 +27,14 @@ Class
Description Description
Remove a dictionary entry. Remove a dictionary entry.
The @c \#remove directive takes a list or a single wordRe. The \c \#remove directive takes a list or a single wordRe.
For example, For example,
@verbatim \verbatim
#remove entry0 #remove entry0
#remove ( entry1 entry2 entry3 otherEntry ) #remove ( entry1 entry2 entry3 otherEntry )
#remove "entry[1-3]" #remove "entry[1-3]"
#remove ( "entry[1-3]" otherEntry ) #remove ( "entry[1-3]" otherEntry )
@endverbatim \endverbatim
The removal only occurs in the current context. The removal only occurs in the current context.
Removing sub-entries or parent entries is not supported. Removing sub-entries or parent entries is not supported.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -72,7 +72,7 @@ class StaticAssertionTest {};
// external use: // external use:
// ~~~~~~~~~~~~~ // ~~~~~~~~~~~~~
/** /**
* @def StaticAssert(Test) * \def StaticAssert(Test)
* Assert that some test is true at compile-time * Assert that some test is true at compile-time
*/ */
#define StaticAssert(Test) \ #define StaticAssert(Test) \

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -35,10 +35,10 @@ Description
handling has beed switched on (off by default). handling has beed switched on (off by default).
Usage Usage
@code \code
error << "message1" << "message2" << FoamDataType << exit(errNo); error << "message1" << "message2" << FoamDataType << exit(errNo);
error << "message1" << "message2" << FoamDataType << abort(); error << "message1" << "message2" << FoamDataType << abort();
@endcode \endcode
SourceFiles SourceFiles
error.C error.C
@ -296,7 +296,7 @@ extern IOerror FatalIOError;
// Convenience macros to add the file name and line number to the function name // Convenience macros to add the file name and line number to the function name
/** /**
* @def FatalErrorIn(functionName) * \def FatalErrorIn(functionName)
* Report an error message using Foam::FatalError for functionName in * Report an error message using Foam::FatalError for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
*/ */
@ -304,7 +304,7 @@ extern IOerror FatalIOError;
::Foam::FatalError((fn), __FILE__, __LINE__) ::Foam::FatalError((fn), __FILE__, __LINE__)
/** /**
* @def FatalIOErrorIn(functionName, ios) * \def FatalIOErrorIn(functionName, ios)
* Report an error message using Foam::FatalIOError for functionName in * Report an error message using Foam::FatalIOError for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
* for a particular IOstream * for a particular IOstream
@ -313,12 +313,12 @@ extern IOerror FatalIOError;
::Foam::FatalIOError((fn), __FILE__, __LINE__, (ios)) ::Foam::FatalIOError((fn), __FILE__, __LINE__, (ios))
/** /**
* @def notImplemented(functionName) * \def notImplemented(functionName)
* Issue a FatalErrorIn for the functionName. * Issue a FatalErrorIn for the functionName.
* This is used for functions that are not currently implemented. * This is used for functions that are not currently implemented.
* The functionName is printed and then abort is called. * The functionName is printed and then abort is called.
* *
* @note * \note
* This macro can be particularly useful when methods must be defined to * This macro can be particularly useful when methods must be defined to
* complete the interface of a derived class even if they should never be * complete the interface of a derived class even if they should never be
* called for this derived class. * called for this derived class.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,10 +30,10 @@ Description
handling has been switched on (off by default). handling has been switched on (off by default).
Usage Usage
@code \code
error << "message1" << "message2" << FoamDataType << exit(error, errNo); error << "message1" << "message2" << FoamDataType << exit(error, errNo);
error << "message1" << "message2" << FoamDataType << abort(error); error << "message1" << "message2" << FoamDataType << abort(error);
@endcode \endcode
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -34,10 +34,10 @@ Description
the messageStream class in the standard manner. the messageStream class in the standard manner.
Usage Usage
@code \code
messageStream messageStream
<< "message1" << "message2" << FoamDataType << endl; << "message1" << "message2" << FoamDataType << endl;
@endcode \endcode
SourceFiles SourceFiles
messageStream.C messageStream.C
@ -214,7 +214,7 @@ extern messageStream Info;
// Convenience macros to add the file name and line number to the function name // Convenience macros to add the file name and line number to the function name
/** /**
* @def SeriousErrorIn(functionName) * \def SeriousErrorIn(functionName)
* Report an error message using Foam::SeriousError for functionName in * Report an error message using Foam::SeriousError for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
*/ */
@ -222,7 +222,7 @@ extern messageStream Info;
::Foam::SeriousError((fn), __FILE__, __LINE__) ::Foam::SeriousError((fn), __FILE__, __LINE__)
/** /**
* @def SeriousIOErrorIn(functionName, ios) * \def SeriousIOErrorIn(functionName, ios)
* Report an IO error message using Foam::SeriousError for functionName in * Report an IO error message using Foam::SeriousError for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
* for a particular IOstream * for a particular IOstream
@ -231,7 +231,7 @@ extern messageStream Info;
::Foam::SeriousError((fn), __FILE__, __LINE__, ios) ::Foam::SeriousError((fn), __FILE__, __LINE__, ios)
/** /**
* @def WarningIn(functionName) * \def WarningIn(functionName)
* Report a warning using Foam::Warning for functionName in * Report a warning using Foam::Warning for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
*/ */
@ -239,7 +239,7 @@ extern messageStream Info;
::Foam::Warning((fn), __FILE__, __LINE__) ::Foam::Warning((fn), __FILE__, __LINE__)
/** /**
* @def IOWarningIn(functionName, ios) * \def IOWarningIn(functionName, ios)
* Report an IO warning using Foam::Warning for functionName in * Report an IO warning using Foam::Warning for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
* for a particular IOstream * for a particular IOstream
@ -248,7 +248,7 @@ extern messageStream Info;
::Foam::Warning((fn), __FILE__, __LINE__, (ios)) ::Foam::Warning((fn), __FILE__, __LINE__, (ios))
/** /**
* @def InfoIn(functionName) * \def InfoIn(functionName)
* Report a information message using Foam::Info for functionName in * Report a information message using Foam::Info for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
*/ */
@ -256,7 +256,7 @@ extern messageStream Info;
::Foam::Info((fn), __FILE__, __LINE__) ::Foam::Info((fn), __FILE__, __LINE__)
/** /**
* @def IOInfoIn(functionName, ios) * \def IOInfoIn(functionName, ios)
* Report an IO information message using Foam::Info for functionName in * Report an IO information message using Foam::Info for functionName in
* file __FILE__ at line __LINE__ * file __FILE__ at line __LINE__
* for a particular IOstream * for a particular IOstream

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,9 +30,9 @@ Description
Note Note
Since the timeIndex is used directly from Foam::Time, it is unaffected Since the timeIndex is used directly from Foam::Time, it is unaffected
by user-time conversions. For example, Foam::engineTime might cause @a by user-time conversions. For example, Foam::engineTime might cause \a
writeInterval to be degrees crank angle, but the functionObject writeInterval to be degrees crank angle, but the functionObject
execution @a interval would still be in timestep. execution \a interval would still be in timestep.
SourceFiles SourceFiles
OutputFilterFunctionObject.C OutputFilterFunctionObject.C

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -108,7 +108,7 @@ public:
//- Construct from Time, a dictionary with "functions" entry //- Construct from Time, a dictionary with "functions" entry
// and the execution setting. // and the execution setting.
// @param[in] parentDict - the parent dictionary containing // \param[in] parentDict - the parent dictionary containing
// a "functions" entry, which can either be a list or a dictionary // a "functions" entry, which can either be a list or a dictionary
// of functionObject specifications. // of functionObject specifications.
functionObjectList functionObjectList

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -74,7 +74,7 @@ private:
//- Type of output //- Type of output
outputControls outputControl_; outputControls outputControl_;
//- The execution interval (in time steps) when using @c timeStep mode, //- The execution interval (in time steps) when using \c timeStep mode,
// a value <= 1 means execute at every time step // a value <= 1 means execute at every time step
label outputInterval_; label outputInterval_;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -21,7 +21,8 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
@file Foam::addToGlobalFunctionSelectionTable Global
Foam::addToGlobalFunctionSelectionTable
Description Description
Macros for easy insertion into global function selection tables Macros for easy insertion into global function selection tables
@ -33,7 +34,6 @@ Description
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// add to hash-table of functions with 'lookup' as the key // add to hash-table of functions with 'lookup' as the key
#define addNamedToGlobalFunctionSelectionTable\ #define addNamedToGlobalFunctionSelectionTable\
(memberFunction,argNames,lookup,functionPtr) \ (memberFunction,argNames,lookup,functionPtr) \
@ -46,7 +46,6 @@ Description
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -21,7 +21,8 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
@file Foam::globalFunctionSelectionTables Global
Foam::globalFunctionSelectionTables
Description Description
Macros to enable the easy declaration of global function selection tables. Macros to enable the easy declaration of global function selection tables.
@ -35,7 +36,6 @@ Description
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// external use: // external use:
// ~~~~~~~~~~~~~ // ~~~~~~~~~~~~~
// declare a run-time selection: // declare a run-time selection:
@ -138,7 +138,6 @@ Description
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -21,7 +21,8 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
@file Foam::addToStaticMemberFunctionSelectionTable Global
Foam::addToStaticMemberFunctionSelectionTable
Description Description
Macros for easy insertion into member function selection tables Macros for easy insertion into member function selection tables
@ -47,7 +48,6 @@ Description
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -21,7 +21,8 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
@file Foam::staticMemberFunctionSelectionTables Global
Foam::staticMemberFunctionSelectionTables
Description Description
Macros to enable the easy declaration of member function selection tables. Macros to enable the easy declaration of member function selection tables.
@ -35,7 +36,6 @@ Description
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// external use: // external use:
// ~~~~~~~~~~~~~ // ~~~~~~~~~~~~~
// declare a run-time selection: // declare a run-time selection:
@ -140,7 +140,6 @@ Description
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -39,19 +39,19 @@ Description
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//- Add typeName information from argument @a TypeNameString to a class. //- Add typeName information from argument \a TypeNameString to a class.
// Without debug information // Without debug information
#define ClassNameNoDebug(TypeNameString) \ #define ClassNameNoDebug(TypeNameString) \
static const char* typeName_() { return TypeNameString; } \ static const char* typeName_() { return TypeNameString; } \
static const ::Foam::word typeName static const ::Foam::word typeName
//- Add typeName information from argument @a TypeNameString to a namespace. //- Add typeName information from argument \a TypeNameString to a namespace.
// Without debug information. // Without debug information.
#define NamespaceNameNoDebug(TypeNameString) \ #define NamespaceNameNoDebug(TypeNameString) \
inline const char* typeName_() { return TypeNameString; } \ inline const char* typeName_() { return TypeNameString; } \
extern const ::Foam::word typeName extern const ::Foam::word typeName
//- Add typeName information from argument @a TemplateNameString to a //- Add typeName information from argument \a TemplateNameString to a
// template class. Without debug information. // template class. Without debug information.
#define TemplateNameNoDebug(TemplateNameString) \ #define TemplateNameNoDebug(TemplateNameString) \
class TemplateNameString##Name \ class TemplateNameString##Name \
@ -68,19 +68,19 @@ public: \
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//- Add typeName information from argument @a TypeNameString to a class. //- Add typeName information from argument \a TypeNameString to a class.
// Also declares debug information. // Also declares debug information.
#define ClassName(TypeNameString) \ #define ClassName(TypeNameString) \
ClassNameNoDebug(TypeNameString); \ ClassNameNoDebug(TypeNameString); \
static int debug static int debug
//- Add typeName information from argument @a TypeNameString to a namespace. //- Add typeName information from argument \a TypeNameString to a namespace.
// Also declares debug information. // Also declares debug information.
#define NamespaceName(TypeNameString) \ #define NamespaceName(TypeNameString) \
NamespaceNameNoDebug(TypeNameString); \ NamespaceNameNoDebug(TypeNameString); \
extern int debug extern int debug
//- Add typeName information from argument @a TypeNameString to a //- Add typeName information from argument \a TypeNameString to a
// template class. Also declares debug information. // template class. Also declares debug information.
#define TemplateName(TemplateNameString) \ #define TemplateName(TemplateNameString) \
class TemplateNameString##Name \ class TemplateNameString##Name \
@ -97,7 +97,7 @@ public: \
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//- Define the typeName, with alternative lookup as @a Name //- Define the typeName, with alternative lookup as \a Name
#define defineTypeNameWithName(Type, Name) \ #define defineTypeNameWithName(Type, Name) \
const ::Foam::word Type::typeName(Name) const ::Foam::word Type::typeName(Name)
@ -106,18 +106,18 @@ public: \
defineTypeNameWithName(Type, Type::typeName_()) defineTypeNameWithName(Type, Type::typeName_())
#ifdef __INTEL_COMPILER #ifdef __INTEL_COMPILER
//- Define the typeName as @a Name for template classes //- Define the typeName as \a Name for template classes
# define defineTemplateTypeNameWithName(Type, Name) \ # define defineTemplateTypeNameWithName(Type, Name) \
defineTypeNameWithName(Type, Name) defineTypeNameWithName(Type, Name)
//- Define the typeName as @a Name for template sub-classes //- Define the typeName as \a Name for template sub-classes
# define defineTemplate2TypeNameWithName(Type, Name) \ # define defineTemplate2TypeNameWithName(Type, Name) \
defineTypeNameWithName(Type, Name) defineTypeNameWithName(Type, Name)
#else #else
//- Define the typeName as @a Name for template classes //- Define the typeName as \a Name for template classes
# define defineTemplateTypeNameWithName(Type, Name) \ # define defineTemplateTypeNameWithName(Type, Name) \
template<> \ template<> \
defineTypeNameWithName(Type, Name) defineTypeNameWithName(Type, Name)
//- Define the typeName as @a Name for template sub-classes //- Define the typeName as \a Name for template sub-classes
# define defineTemplate2TypeNameWithName(Type, Name) \ # define defineTemplate2TypeNameWithName(Type, Name) \
template<> \ template<> \
template<> \ template<> \
@ -139,7 +139,7 @@ public: \
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//- Define the debug information, lookup as @a Name //- Define the debug information, lookup as \a Name
#define defineDebugSwitchWithName(Type, Name, DebugSwitch) \ #define defineDebugSwitchWithName(Type, Name, DebugSwitch) \
int Type::debug(::Foam::debug::debugSwitch(Name, DebugSwitch)) int Type::debug(::Foam::debug::debugSwitch(Name, DebugSwitch))
@ -148,18 +148,18 @@ public: \
defineDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch) defineDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch)
#ifdef __INTEL_COMPILER #ifdef __INTEL_COMPILER
//- Define the debug information for templates, lookup as @a Name //- Define the debug information for templates, lookup as \a Name
# define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \ # define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \
defineDebugSwitchWithName(Type, Name, DebugSwitch) defineDebugSwitchWithName(Type, Name, DebugSwitch)
//- Define the debug information for templates sub-classes, lookup as @a Name //- Define the debug information for templates sub-classes, lookup as \a Name
# define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \ # define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \
defineDebugSwitchWithName(Type, Name, DebugSwitch) defineDebugSwitchWithName(Type, Name, DebugSwitch)
#else #else
//- Define the debug information for templates, lookup as @a Name //- Define the debug information for templates, lookup as \a Name
# define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \ # define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \
template<> \ template<> \
defineDebugSwitchWithName(Type, Name, DebugSwitch) defineDebugSwitchWithName(Type, Name, DebugSwitch)
//- Define the debug information for templates sub-classes, lookup as @a Name //- Define the debug information for templates sub-classes, lookup as \a Name
# define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \ # define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \
template<> \ template<> \
template<> \ template<> \
@ -199,7 +199,7 @@ public: \
defineTypeName(Type); \ defineTypeName(Type); \
defineDebugSwitch(Type, DebugSwitch) defineDebugSwitch(Type, DebugSwitch)
//- Define the typeName and debug information, lookup as @a Name //- Define the typeName and debug information, lookup as \a Name
#define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch) \ #define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch) \
defineTemplateTypeNameWithName(Type, Name); \ defineTemplateTypeNameWithName(Type, Name); \
defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch)
@ -216,7 +216,7 @@ public: \
// for templated sub-classes // for templated sub-classes
//- Define the typeName and debug information, lookup as @a Name //- Define the typeName and debug information, lookup as \a Name
#define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch) \ #define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch) \
defineTemplate2TypeNameWithName(Type, Name); \ defineTemplate2TypeNameWithName(Type, Name); \
defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch)

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -29,22 +29,22 @@ Description
Used to enhance the standard RTTI to cover I/O. Used to enhance the standard RTTI to cover I/O.
The user can get the type's type name using the type info access function The user can get the type's type name using the type info access function
@code \code
type() type()
@endcode \endcode
The reference type cast template function: The reference type cast template function:
@code \code
refCast<T>(r) refCast<T>(r)
@endcode \endcode
wraps dynamic_cast to handle the bad_cast exception and generate a wraps dynamic_cast to handle the bad_cast exception and generate a
FatalError. FatalError.
The isA function: The isA function:
@code \code
isA<T>(r) isA<T>(r)
@endcode \endcode
returns true if r is of type T or derived from type T. returns true if r is of type T or derived from type T.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -46,11 +46,17 @@ Foam::List<T> Foam::transform
template <class T> template <class T>
void Foam::transformList void Foam::transformList(const tensor& rotTensor, UList<T>& field)
( {
const tensorField& rotTensor, forAll(field, i)
UList<T>& field {
) field[i] = transform(rotTensor, field[i]);
}
}
template <class T>
void Foam::transformList(const tensorField& rotTensor, UList<T>& field)
{ {
if (rotTensor.size() == 1) if (rotTensor.size() == 1)
{ {
@ -79,11 +85,17 @@ void Foam::transformList
template <class T> template <class T>
void Foam::transformList void Foam::transformList(const tensor& rotTensor, Map<T>& field)
( {
const tensorField& rotTensor, forAllIter(typename Map<T>, field, iter)
Map<T>& field {
) iter() = transform(rotTensor[0], iter());
}
}
template <class T>
void Foam::transformList(const tensorField& rotTensor, Map<T>& field)
{ {
if (rotTensor.size() == 1) if (rotTensor.size() == 1)
{ {
@ -105,11 +117,17 @@ void Foam::transformList
template <class T> template <class T>
void Foam::transformList void Foam::transformList(const tensor& rotTensor, EdgeMap<T>& field)
( {
const tensorField& rotTensor, forAllIter(typename EdgeMap<T>, field, iter)
EdgeMap<T>& field {
) iter() = transform(rotTensor[0], iter());
}
}
template <class T>
void Foam::transformList(const tensorField& rotTensor, EdgeMap<T>& field)
{ {
if (rotTensor.size() == 1) if (rotTensor.size() == 1)
{ {

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -60,33 +60,57 @@ List<T> transform
//- Apply transformation to list. Either single transformation tensor //- Apply transformation to list. Either single transformation tensor
// or one tensor per element. // or one tensor per element.
template<class T> template<class T>
void transformList(const tensor&, UList<T>&);
template<class T>
void transformList(const tensorField&, UList<T>&); void transformList(const tensorField&, UList<T>&);
template<class T>
void transformList(const tensor&, Map<T>&);
template<class T> template<class T>
void transformList(const tensorField&, Map<T>&); void transformList(const tensorField&, Map<T>&);
template<class T>
void transformList(const tensor&, EdgeMap<T>&);
template<class T> template<class T>
void transformList(const tensorField&, EdgeMap<T>&); void transformList(const tensorField&, EdgeMap<T>&);
template<>
inline void transformList(const tensor&, labelUList&)
{}
template<> template<>
inline void transformList(const tensorField&, labelUList&) inline void transformList(const tensorField&, labelUList&)
{} {}
template<> template<>
inline void transformList(const tensor&, Map<label>&)
{}
template<>
inline void transformList(const tensorField&, Map<label>&) inline void transformList(const tensorField&, Map<label>&)
{} {}
template<> template<>
inline void transformList(const tensor&, EdgeMap<label>&)
{}
template<>
inline void transformList(const tensorField&, EdgeMap<label>&) inline void transformList(const tensorField&, EdgeMap<label>&)
{} {}
template<>
inline void transformList(const tensor&, UList<scalar>&)
{}
template<> template<>
inline void transformList(const tensorField&, UList<scalar>&) inline void transformList(const tensorField&, UList<scalar>&)
{} {}
template<> template<>
inline void transformList(const tensor&, Map<scalar>&)
{}
template<>
inline void transformList(const tensorField&, Map<scalar>&) inline void transformList(const tensorField&, Map<scalar>&)
{} {}
template<> template<>
inline void transformList(const tensor&, EdgeMap<scalar>&)
{}
template<>
inline void transformList(const tensorField&, EdgeMap<scalar>&) inline void transformList(const tensorField&, EdgeMap<scalar>&)
{} {}

View File

@ -26,38 +26,38 @@ Class
Description Description
Extract command arguments and options from the supplied Extract command arguments and options from the supplied
@a argc and @a argv parameters. \a argc and @a argv parameters.
Sequences with "(" ... ")" are transformed into a stringList. Sequences with "(" ... ")" are transformed into a stringList.
For example, For example,
@verbatim \verbatim
program -listFiles \( *.txt \) program -listFiles \( *.txt \)
@endverbatim \endverbatim
would create a stringList: would create a stringList:
@verbatim \verbatim
( "file1.txt" "file2.txt" ... "fileN.txt" ) ( "file1.txt" "file2.txt" ... "fileN.txt" )
@endverbatim \endverbatim
The backslash-escaping is required to avoid interpretation by the shell. The backslash-escaping is required to avoid interpretation by the shell.
@par Default command-line options \par Default command-line options
@param -case \<dir\> \n \param -case \<dir\> \n
select an case directory instead of the current working directory select an case directory instead of the current working directory
@param -parallel \n \param -parallel \n
specify case as a parallel job specify case as a parallel job
@param -doc \n \param -doc \n
display the documentation in browser display the documentation in browser
@param -srcDoc \n \param -srcDoc \n
display the source documentation in browser display the source documentation in browser
@param -help \n \param -help \n
print the usage print the usage
The environment variable @b FOAM_CASE is set to the path of the The environment variable \b FOAM_CASE is set to the path of the
global case (same for serial and parallel jobs). global case (same for serial and parallel jobs).
The environment variable @b FOAM_CASENAME is set to the name of the The environment variable \b FOAM_CASENAME is set to the name of the
global case. global case.
Note Note
- The document browser used is defined by the @b FOAM_DOC_BROWSER - The document browser used is defined by the \b FOAM_DOC_BROWSER
environment variable or the <tt>Documentation/docBrowser</tt> entry environment variable or the <tt>Documentation/docBrowser</tt> entry
in the <tt>~OpenFOAM/controlDict</tt> file. in the <tt>~OpenFOAM/controlDict</tt> file.
The \%f token is used as a placeholder for the file name. The \%f token is used as a placeholder for the file name.
@ -168,14 +168,14 @@ public:
//- Max screen width for displaying usage (default: 80) //- Max screen width for displaying usage (default: 80)
static string::size_type usageMax; static string::size_type usageMax;
//! @cond internalClass //! \cond internalClass
class initValidTables class initValidTables
{ {
public: public:
initValidTables(); initValidTables();
}; };
//! @endcond //! \endcond
// Constructors // Constructors
@ -230,7 +230,7 @@ public:
inline T argRead(const label index) const; inline T argRead(const label index) const;
//- Return arguments that are additional to the executable //- Return arguments that are additional to the executable
// @deprecated use operator[] directly (deprecated Feb 2010) // \deprecated use operator[] directly (deprecated Feb 2010)
stringList::subList additionalArgs() const stringList::subList additionalArgs() const
{ {
return stringList::subList(args_, args_.size()-1, 1); return stringList::subList(args_, args_.size()-1, 1);
@ -292,7 +292,7 @@ public:
inline const string& operator[](const label index) const; inline const string& operator[](const label index) const;
//- Return the argument string associated with the named option //- Return the argument string associated with the named option
// @sa option() // \sa option()
inline const string& operator[](const word& opt) const; inline const string& operator[](const word& opt) const;
// Edit // Edit

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -38,7 +38,7 @@ namespace Foam
namespace debug namespace debug
{ {
//! @cond ignoreDocumentation - local scope //! \cond ignoreDocumentation - local scope
dictionary* controlDictPtr_(NULL); dictionary* controlDictPtr_(NULL);
dictionary* debugSwitchesPtr_(NULL); dictionary* debugSwitchesPtr_(NULL);
dictionary* infoSwitchesPtr_(NULL); dictionary* infoSwitchesPtr_(NULL);
@ -63,7 +63,7 @@ public:
}; };
deleteControlDictPtr deleteControlDictPtr_; deleteControlDictPtr deleteControlDictPtr_;
//! @endcond //! \endcond
} // End namespace debug } // End namespace debug

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -49,7 +49,7 @@ namespace debug
{ {
//- The central control dictionary. //- The central control dictionary.
// Located in ~/.OpenFOAM/VERSION or $WM_PROJECT_DIR/etc // Located in ~/.OpenFOAM/VERSION or $WM_PROJECT_DIR/etc
// @sa Foam::findEtcFile() // \sa Foam::findEtcFile()
dictionary& controlDict(); dictionary& controlDict();
//- The DebugSwitches sub-dictionary in the central controlDict. //- The DebugSwitches sub-dictionary in the central controlDict.

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -25,7 +25,7 @@ Class
Foam::xmgrGraph Foam::xmgrGraph
Description Description
Output and @b agr file for @em xmgrace Output and \b agr file for \em xmgrace
(http://plasma-gate.weizmann.ac.il/Grace/) (http://plasma-gate.weizmann.ac.il/Grace/)
SourceFiles SourceFiles

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -90,7 +90,8 @@ fileName cwd();
// else return false // else return false
bool chDir(const fileName& dir); bool chDir(const fileName& dir);
//- Search for @em name in the following hierarchy: //- Search for \em name
// in the following hierarchy:
// -# personal settings: // -# personal settings:
// - ~/.OpenFOAM/\<VERSION\>/ // - ~/.OpenFOAM/\<VERSION\>/
// <em>for version-specific files</em> // <em>for version-specific files</em>
@ -104,7 +105,7 @@ bool chDir(const fileName& dir);
// -# shipped settings: // -# shipped settings:
// - $WM_PROJECT_DIR/etc/ // - $WM_PROJECT_DIR/etc/
// //
// @return the full path name or fileName() if the name cannot be found // \return the full path name or fileName() if the name cannot be found
// Optionally abort if the file cannot be found // Optionally abort if the file cannot be found
fileName findEtcFile(const fileName&, bool mandatory=false); fileName findEtcFile(const fileName&, bool mandatory=false);

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -25,13 +25,13 @@ Class
Foam::interpolationTable Foam::interpolationTable
Description Description
An interpolation/look-up table of scalar vs <Type> values. An interpolation/look-up table of scalar vs \<Type\> values.
The reference scalar values must be monotonically increasing. The reference scalar values must be monotonically increasing.
The handling of out-of-bounds values depends on the current setting The handling of out-of-bounds values depends on the current setting
of @a outOfBounds. of \a outOfBounds.
If @a REPEAT is chosen for the out-of-bounds handling, the final time If \a REPEAT is chosen for the out-of-bounds handling, the final time
value is treated as being equivalent to time=0 for the following periods. value is treated as being equivalent to time=0 for the following periods.
Note Note

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -30,7 +30,7 @@ Description
Example usage (scalar): values specified within a dictionary: Example usage (scalar): values specified within a dictionary:
@verbatim \verbatim
{ {
x0 0; // lower limit x0 0; // lower limit
dx 0.2; // fixed interval dx 0.2; // fixed interval
@ -43,7 +43,7 @@ Description
7870 // value at x0 + n*dx 7870 // value at x0 + n*dx
); );
} }
@endverbatim \endverbatim
SourceFiles SourceFiles
uniformInterpolationTable.C uniformInterpolationTable.C

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::DiagonalMatrix<Type> Foam::DiagonalMatrix
Description Description
DiagonalMatrix<Type> is a 2D diagonal matrix of objects DiagonalMatrix<Type> is a 2D diagonal matrix of objects

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -38,7 +38,7 @@ Description
the same point. The neighbour labels are also ordered in ascending the same point. The neighbour labels are also ordered in ascending
order but only for groups of edges belonging to each point. An example order but only for groups of edges belonging to each point. An example
is given below: is given below:
@verbatim \verbatim
owner eighbour owner eighbour
0 1 0 1
0 20 0 20
@ -60,7 +60,7 @@ Description
8 28 8 28
9 10 9 10
9 29 9 29
@endverbatim \endverbatim
There exists an alternative way of addressing the owner There exists an alternative way of addressing the owner
list: instead of repeating the same label in the owner list, it is list: instead of repeating the same label in the owner list, it is
@ -68,9 +68,9 @@ Description
neighbour list. This reduces the size of owner addressing from a list neighbour list. This reduces the size of owner addressing from a list
over all edges to a list over all points + 1: over all edges to a list over all points + 1:
@verbatim \verbatim
Owner start list: 0 2 4 6 8 10 12 14 16 18 Owner start list: 0 2 4 6 8 10 12 14 16 18
@endverbatim \endverbatim
We shall use the second form of the addressing for fast lookup We shall use the second form of the addressing for fast lookup
of edge label from the known owner and neighbour, using the following of edge label from the known owner and neighbour, using the following

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -36,12 +36,12 @@ License
int Foam::solution::debug(::Foam::debug::debugSwitch("solution", 0)); int Foam::solution::debug(::Foam::debug::debugSwitch("solution", 0));
// List of sub-dictionaries to rewrite // List of sub-dictionaries to rewrite
//! @cond localScope //! \cond localScope
static const Foam::List<Foam::word> subDictNames static const Foam::List<Foam::word> subDictNames
( (
Foam::IStringStream("(preconditioner smoother)")() Foam::IStringStream("(preconditioner smoother)")()
); );
//! @endcond //! \endcond
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -43,21 +43,21 @@ Description
memory becoming inaccessible, the xferMoveTo() function should be used to memory becoming inaccessible, the xferMoveTo() function should be used to
invoke the correct List\<T\>::transfer(DynamicList\<T\>&) method. invoke the correct List\<T\>::transfer(DynamicList\<T\>&) method.
@code \code
DynamicList<label> dynLst; DynamicList<label> dynLst;
... ...
labelList plainLst( xferMoveTo<labelList>(dynLst) ); labelList plainLst( xferMoveTo<labelList>(dynLst) );
@endcode \endcode
Of course, since this example is a very common operation, the Of course, since this example is a very common operation, the
DynamicList::xfer() method transfers to a plain List anyhow. DynamicList::xfer() method transfers to a plain List anyhow.
It would thus be simpler (and clearer) just to use the following code: It would thus be simpler (and clearer) just to use the following code:
@code \code
DynamicList<label> dynLst; DynamicList<label> dynLst;
... ...
labelList plainLst(dynLst.xfer()); labelList plainLst(dynLst.xfer());
@endcode \endcode
SeeAlso SeeAlso
xferCopy, xferCopyTo, xferMove, xferMoveTo, xferTmp xferCopy, xferCopyTo, xferMove, xferMoveTo, xferTmp
@ -135,53 +135,53 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
/** /**
* Construct by copying the contents of the @a arg * Construct by copying the contents of the \a arg
* *
* @sa xferCopyTo, xferMove, xferMoveTo, xferTmp and Foam::Xfer * \sa xferCopyTo, xferMove, xferMoveTo, xferTmp and Foam::Xfer
*/ */
template<class T> template<class T>
inline Xfer<T> xferCopy(const T&); inline Xfer<T> xferCopy(const T&);
/** /**
* Construct by transferring the contents of the @a arg * Construct by transferring the contents of the \a arg
* *
* @sa xferCopy, xferCopyTo, xferMoveTo, xferTmp and Foam::Xfer * \sa xferCopy, xferCopyTo, xferMoveTo, xferTmp and Foam::Xfer
*/ */
template<class T> template<class T>
inline Xfer<T> xferMove(T&); inline Xfer<T> xferMove(T&);
/** /**
* Construct by transferring the contents of the @a arg * Construct by transferring the contents of the \a arg
* *
* @sa xferCopy, xferCopyTo, xferMove, xferMoveTo and Foam::Xfer * \sa xferCopy, xferCopyTo, xferMove, xferMoveTo and Foam::Xfer
*/ */
template<class T> template<class T>
inline Xfer<T> xferTmp(Foam::tmp<T>&); inline Xfer<T> xferTmp(Foam::tmp<T>&);
/** /**
* Construct by copying the contents of the @a arg * Construct by copying the contents of the \a arg
* between dissimilar types * between dissimilar types
* *
* @sa xferCopy, xferMove, xferMoveTo, xferTmp and Foam::Xfer * \sa xferCopy, xferMove, xferMoveTo, xferTmp and Foam::Xfer
*/ */
template<class To, class From> template<class To, class From>
inline Xfer<To> xferCopyTo(const From&); inline Xfer<To> xferCopyTo(const From&);
/** /**
* Construct by transferring the contents of the @a arg * Construct by transferring the contents of the \a arg
* between dissimilar types * between dissimilar types
* *
* @par Example Use * \par Example Use
* @code * \code
* DynamicList<label> dynLst; * DynamicList<label> dynLst;
* ... * ...
* labelList plainLst( xferMoveTo<labelList>(dynLst) ); * labelList plainLst( xferMoveTo<labelList>(dynLst) );
* @endcode * \endcode
* *
* @sa xferCopy, xferCopyTo, xferMove, xferTmp and Foam::Xfer * \sa xferCopy, xferCopyTo, xferMove, xferTmp and Foam::Xfer
*/ */
template<class To, class From> template<class To, class From>
inline Xfer<To> xferMoveTo(From&); inline Xfer<To> xferMoveTo(From&);

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,22 +31,22 @@ Description
cell-face to mesh-face mapping. cell-face to mesh-face mapping.
For example, For example,
@verbatim \verbatim
hexMatcher hex(mesh); hexMatcher hex(mesh);
cellShape shape; cellShape shape;
.. ..
bool isHex = hex.match(cellI, shape); bool isHex = hex.match(cellI, shape);
@endverbatim \endverbatim
Now shape is set to the correct Hex cellShape (if @a isHex is true) Now shape is set to the correct Hex cellShape (if \a isHex is true)
Alternatively there is direct access to the vertex and face mapping: Alternatively there is direct access to the vertex and face mapping:
@verbatim \verbatim
const labelList& hexVertLabels = hex.vertLabels(); const labelList& hexVertLabels = hex.vertLabels();
const labelList& hexFaceLabels = hex.faceLabels(); const labelList& hexFaceLabels = hex.faceLabels();
@endverbatim \endverbatim
Now Now
- @c hexVertLabels[n] is vertex label of hex vertex n - \c hexVertLabels[n] is vertex label of hex vertex n
- @c hexFaceLabels[n] is face label of hex vertex n - \c hexFaceLabels[n] is face label of hex vertex n
Process of cellShape recognition consists of following steps: Process of cellShape recognition consists of following steps:
- renumber vertices of cell to local vertex numbers - renumber vertices of cell to local vertex numbers

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -122,6 +122,7 @@ public:
inline linePointRef line(const pointField&) const; inline linePointRef line(const pointField&) const;
//- compare edges //- compare edges
// Returns:
// - 0: different // - 0: different
// - +1: identical // - +1: identical
// - -1: same edge, but different orientation // - -1: same edge, but different orientation

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -307,6 +307,7 @@ public:
inline edge faceEdge(const label n) const; inline edge faceEdge(const label n) const;
//- Return the edge direction on the face //- Return the edge direction on the face
// Returns:
// - 0: edge not found on the face // - 0: edge not found on the face
// - +1: forward (counter-clockwise) on the face // - +1: forward (counter-clockwise) on the face
// - -1: reverse (clockwise) on the face // - -1: reverse (clockwise) on the face

Some files were not shown because too many files have changed in this diff Show More