mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -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"
|
||||||
|
|||||||
@ -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,7 @@ Description
|
|||||||
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
|
||||||
|
|||||||
@ -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
|
||||||
@ -33,7 +33,7 @@ Description
|
|||||||
"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
|
||||||
|
|||||||
@ -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,7 +33,7 @@ Description
|
|||||||
"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
|
||||||
|
|||||||
@ -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,7 +106,7 @@ 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.
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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,12 +282,18 @@ 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);
|
||||||
|
|
||||||
if (!args.check())
|
if (!args.check())
|
||||||
{
|
{
|
||||||
FatalError.exit();
|
FatalError.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
fileName rootDirTarget(args.rootPath());
|
fileName rootDirTarget(args.rootPath());
|
||||||
@ -270,12 +303,52 @@ 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"
|
||||||
|
|
||||||
@ -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
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
@ -52,7 +52,7 @@ then
|
|||||||
# */applications/solvers/*.H | */applications/utilities/*.H )
|
# */applications/solvers/*.H | */applications/utilities/*.H )
|
||||||
# awkScript=$WM_PROJECT_DIR/bin/tools/doxyFilter-ignore.awk
|
# awkScript=$WM_PROJECT_DIR/bin/tools/doxyFilter-ignore.awk
|
||||||
# ;;
|
# ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
awk -f $awkScript $1 | \
|
awk -f $awkScript $1 | \
|
||||||
sed -f $WM_PROJECT_DIR/bin/tools/doxyFilter.sed \
|
sed -f $WM_PROJECT_DIR/bin/tools/doxyFilter.sed \
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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>?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|
||||||
@ -581,7 +588,9 @@ WARN_LOGFILE =
|
|||||||
# 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
|
||||||
|
|||||||
@ -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,8 +109,7 @@ namespace Foam
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//! @cond internalClass
|
//- Internal tracking via stat(3p) or inotify(7)
|
||||||
//- Internal tracking via stat(3p) or inotify(7)
|
|
||||||
class fileMonitorWatcher
|
class fileMonitorWatcher
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -140,7 +139,7 @@ namespace Foam
|
|||||||
{
|
{
|
||||||
if (useInotify_)
|
if (useInotify_)
|
||||||
{
|
{
|
||||||
#ifdef FOAM_USE_INOTIFY
|
#ifdef FOAM_USE_INOTIFY
|
||||||
inotifyFd_ = inotify_init();
|
inotifyFd_ = inotify_init();
|
||||||
dirWatches_.setCapacity(sz);
|
dirWatches_.setCapacity(sz);
|
||||||
dirFiles_.setCapacity(sz);
|
dirFiles_.setCapacity(sz);
|
||||||
@ -167,13 +166,13 @@ namespace Foam
|
|||||||
<< endl;
|
<< endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
FatalErrorIn("fileMonitorWatcher(const bool, const label)")
|
FatalErrorIn("fileMonitorWatcher(const bool, const label)")
|
||||||
<< "You selected inotify but this file was compiled"
|
<< "You selected inotify but this file was compiled"
|
||||||
<< " without FOAM_USE_INOTIFY"
|
<< " without FOAM_USE_INOTIFY"
|
||||||
<< "Please select another fileModification test method"
|
<< "Please select another fileModification test method"
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -184,7 +183,7 @@ namespace Foam
|
|||||||
//- remove all watches
|
//- remove all watches
|
||||||
inline ~fileMonitorWatcher()
|
inline ~fileMonitorWatcher()
|
||||||
{
|
{
|
||||||
#ifdef FOAM_USE_INOTIFY
|
#ifdef FOAM_USE_INOTIFY
|
||||||
if (useInotify_ && inotifyFd_ >= 0)
|
if (useInotify_ && inotifyFd_ >= 0)
|
||||||
{
|
{
|
||||||
forAll(dirWatches_, i)
|
forAll(dirWatches_, i)
|
||||||
@ -200,7 +199,7 @@ namespace Foam
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool addWatch(const label watchFd, const fileName& fName)
|
inline bool addWatch(const label watchFd, const fileName& fName)
|
||||||
@ -212,7 +211,7 @@ namespace Foam
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FOAM_USE_INOTIFY
|
#ifdef FOAM_USE_INOTIFY
|
||||||
// Add/retrieve watch on directory containing file.
|
// Add/retrieve watch on directory containing file.
|
||||||
// Note that fName might be non-existing in special situations
|
// Note that fName might be non-existing in special situations
|
||||||
// (master-only reading for IODictionaries)
|
// (master-only reading for IODictionaries)
|
||||||
@ -250,7 +249,7 @@ namespace Foam
|
|||||||
|
|
||||||
dirWatches_(watchFd) = dirWatchID;
|
dirWatches_(watchFd) = dirWatchID;
|
||||||
dirFiles_(watchFd) = fName.name();
|
dirFiles_(watchFd) = fName.name();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -288,7 +287,6 @@ namespace Foam
|
|||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
//! @endcond
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -298,7 +296,7 @@ void Foam::fileMonitor::checkFiles() const
|
|||||||
{
|
{
|
||||||
if (useInotify_)
|
if (useInotify_)
|
||||||
{
|
{
|
||||||
#ifdef FOAM_USE_INOTIFY
|
#ifdef FOAM_USE_INOTIFY
|
||||||
// Large buffer for lots of events
|
// Large buffer for lots of events
|
||||||
char buffer[EVENT_BUF_LEN];
|
char buffer[EVENT_BUF_LEN];
|
||||||
|
|
||||||
@ -392,7 +390,7 @@ void Foam::fileMonitor::checkFiles() const
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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,20 +34,18 @@ 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) \
|
||||||
\
|
\
|
||||||
/* Add to the table, find by lookup name */ \
|
/* Add to the table, find by lookup name */ \
|
||||||
add##memberFunction##argNames##GlobalMemberFunctionToTable \
|
add##memberFunction##argNames##GlobalMemberFunctionToTable \
|
||||||
add_##lookup##_##memberFunction##argNames##GlobalMemberFunctionTo##Table_\
|
add_##lookup##_##memberFunction##argNames##GlobalMemberFunctionTo##Table_ \
|
||||||
(#lookup, functionPtr)
|
(#lookup, functionPtr)
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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::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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
@ -201,12 +201,14 @@ 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:
|
||||||
// - +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
|
||||||
// - 0: edge not found on the face
|
// - 0: edge not found on the face
|
||||||
inline int edgeDirection(const edge&) const;
|
inline int edgeDirection(const edge&) const;
|
||||||
|
|
||||||
//- compare triFaces
|
//- compare triFaces
|
||||||
|
// Returns:
|
||||||
// - 0: different
|
// - 0: different
|
||||||
// - +1: identical
|
// - +1: identical
|
||||||
// - -1: same face, but different orientation
|
// - -1: same face, but different orientation
|
||||||
|
|||||||
@ -547,7 +547,8 @@ public:
|
|||||||
|
|
||||||
// Other
|
// Other
|
||||||
|
|
||||||
//- Helper for merging mesh point data. Determines
|
//- Helper for merging mesh point data.
|
||||||
|
// Determines:
|
||||||
// - my unique indices
|
// - my unique indices
|
||||||
// - global numbering over all unique indices
|
// - global numbering over all unique indices
|
||||||
// - the global number for all local points (so this will
|
// - the global number for all local points (so this will
|
||||||
@ -558,7 +559,8 @@ public:
|
|||||||
labelList& uniquePoints
|
labelList& uniquePoints
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Helper for merging patch point data. Takes maps from
|
//- Helper for merging patch point data.
|
||||||
|
// Takes maps from:
|
||||||
// local points to/from mesh. Determines
|
// local points to/from mesh. Determines
|
||||||
// - my unique points. These are mesh points, not patch points
|
// - my unique points. These are mesh points, not patch points
|
||||||
// since the master might not be on the patch.
|
// since the master might not be on the patch.
|
||||||
|
|||||||
@ -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
|
||||||
@ -415,6 +415,7 @@ public:
|
|||||||
// Check
|
// Check
|
||||||
|
|
||||||
//- Calculate surface type formed by patch.
|
//- Calculate surface type formed by patch.
|
||||||
|
// Types:
|
||||||
// - all edges have two neighbours (manifold)
|
// - all edges have two neighbours (manifold)
|
||||||
// - some edges have more than two neighbours (illegal)
|
// - some edges have more than two neighbours (illegal)
|
||||||
// - other (open)
|
// - other (open)
|
||||||
|
|||||||
@ -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
|
||||||
@ -134,7 +134,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//- compare Pairs
|
//- Compare Pairs
|
||||||
|
// Returning:
|
||||||
// - 0: different
|
// - 0: different
|
||||||
// - +1: identical
|
// - +1: identical
|
||||||
// - -1: same pair, but reversed order
|
// - -1: same pair, but reversed order
|
||||||
|
|||||||
@ -27,7 +27,7 @@ Class
|
|||||||
Description
|
Description
|
||||||
Templated basic entry that holds a constant value.
|
Templated basic entry that holds a constant value.
|
||||||
|
|
||||||
Usage - for entry <entryName> having the value <value>:
|
Usage - for entry \<entryName\> having the value <value>:
|
||||||
@verbatim
|
@verbatim
|
||||||
<entryName> constant <value>
|
<entryName> constant <value>
|
||||||
@endverbatim
|
@endverbatim
|
||||||
|
|||||||
@ -27,7 +27,7 @@ Class
|
|||||||
Description
|
Description
|
||||||
Templated table container data entry. Items are stored in a list of
|
Templated table container data entry. Items are stored in a list of
|
||||||
Tuple2's. First column is always stored as scalar entries. Data is read
|
Tuple2's. First column is always stored as scalar entries. Data is read
|
||||||
in the form, e.g. for an entry <entryName> that is (scalar, vector):
|
in the form, e.g. for an entry \<entryName\> that is (scalar, vector):
|
||||||
|
|
||||||
@verbatim
|
@verbatim
|
||||||
<entryName> table
|
<entryName> table
|
||||||
|
|||||||
@ -26,7 +26,7 @@ Class
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
Polynomial container data entry for scalars. Items are stored in a list of
|
Polynomial container data entry for scalars. Items are stored in a list of
|
||||||
Tuple2's. Data is input in the form, e.g. for an entry <entryName> that
|
Tuple2's. Data is input in the form, e.g. for an entry \<entryName\> that
|
||||||
describes y = x^2 + 2x^3
|
describes y = x^2 + 2x^3
|
||||||
|
|
||||||
@verbatim
|
@verbatim
|
||||||
|
|||||||
@ -65,9 +65,10 @@ public:
|
|||||||
// Public classes
|
// Public classes
|
||||||
|
|
||||||
//- Less function class used in sorting encoded transforms and indices
|
//- Less function class used in sorting encoded transforms and indices
|
||||||
// - minimum processor
|
// Minimum of:
|
||||||
// - minimum local index
|
// - processor
|
||||||
// - minimum transform
|
// - local index
|
||||||
|
// - transform
|
||||||
class less
|
class less
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -49,21 +49,21 @@ namespace Foam
|
|||||||
|
|
||||||
//- An optimized version of Hasher
|
//- An optimized version of Hasher
|
||||||
// @param[in] data - an array of uint32_t values
|
// @param[in] data - an array of uint32_t values
|
||||||
// @param[in] len - the number of values (not bytes)
|
// @param[in] length - the number of values (not bytes)
|
||||||
// @param[in] seed - the previous hash, or an arbitrary value
|
// @param[in] seed - the previous hash, or an arbitrary value
|
||||||
unsigned HasherInt(const uint32_t*, size_t length, unsigned seed = 0);
|
unsigned HasherInt(const uint32_t* data, size_t length, unsigned seed = 0);
|
||||||
|
|
||||||
//- An optimized version of Hasher, returning dual hash values
|
//- An optimized version of Hasher, returning dual hash values
|
||||||
// @param[in] data - an array of uint32_t values
|
// @param[in] data - an array of uint32_t values
|
||||||
// @param[in] len - the number of values (not bytes)
|
// @param[in] length - the number of values (not bytes)
|
||||||
// @param[in] hash1 - the previous hash, or an arbitrary value
|
// @param[in] hash1 - the previous hash, or an arbitrary value
|
||||||
// on output, the primary hash value
|
// on output, the primary hash value
|
||||||
// @param[in] hash1 - the previous hash, or an arbitrary value
|
// @param[in] hash1 - the previous hash, or an arbitrary value
|
||||||
// on output, the secondary hash value
|
// on output, the secondary hash value
|
||||||
unsigned HasherDual
|
unsigned HasherDual
|
||||||
(
|
(
|
||||||
const uint32_t*,
|
const uint32_t* data,
|
||||||
size_t len,
|
size_t length,
|
||||||
unsigned& hash1,
|
unsigned& hash1,
|
||||||
unsigned& hash2
|
unsigned& hash2
|
||||||
);
|
);
|
||||||
|
|||||||
@ -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
|
||||||
@ -281,7 +281,8 @@ public:
|
|||||||
|
|
||||||
// Point merging
|
// Point merging
|
||||||
|
|
||||||
//- Find topologically&geometrically shared points.
|
//- Find topologically and geometrically shared points.
|
||||||
|
//
|
||||||
// - should only be called for parallel correct mesh
|
// - should only be called for parallel correct mesh
|
||||||
// (since uses mesh.globalData)
|
// (since uses mesh.globalData)
|
||||||
// - returns Map from point to master point (all in mesh point
|
// - returns Map from point to master point (all in mesh point
|
||||||
@ -293,6 +294,7 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
//- Helper: Merge points.
|
//- Helper: Merge points.
|
||||||
|
//
|
||||||
// - Gets map from point to destination point
|
// - Gets map from point to destination point
|
||||||
// - Removes all points that don't map to themselves
|
// - Removes all points that don't map to themselves
|
||||||
// - Modifies all faces that use the points to be removed.
|
// - Modifies all faces that use the points to be removed.
|
||||||
|
|||||||
@ -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
|
||||||
@ -382,6 +382,7 @@ public:
|
|||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Like consistentRefinement but slower:
|
//- Like consistentRefinement but slower:
|
||||||
|
//
|
||||||
// - specify number of cells between consecutive refinement levels
|
// - specify number of cells between consecutive refinement levels
|
||||||
// (consistentRefinement equivalent to 1)
|
// (consistentRefinement equivalent to 1)
|
||||||
// - specify max level difference between point-connected cells.
|
// - specify max level difference between point-connected cells.
|
||||||
|
|||||||
@ -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,14 +36,11 @@ License
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
defineTypeNameAndDebug(removeCells, 0);
|
||||||
defineTypeNameAndDebug(removeCells, 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
// Remove count of elements of f.
|
|
||||||
void Foam::removeCells::uncount
|
void Foam::removeCells::uncount
|
||||||
(
|
(
|
||||||
const labelList& f,
|
const labelList& f,
|
||||||
@ -59,7 +56,6 @@ void Foam::removeCells::uncount
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Construct from mesh
|
|
||||||
Foam::removeCells::removeCells
|
Foam::removeCells::removeCells
|
||||||
(
|
(
|
||||||
const polyMesh& mesh,
|
const polyMesh& mesh,
|
||||||
@ -73,10 +69,6 @@ Foam::removeCells::removeCells
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
//- Get labels of exposed faces. These are
|
|
||||||
// - internal faces that become boundary faces
|
|
||||||
// - coupled faces that become uncoupled (since on of the sides
|
|
||||||
// gets deleted)
|
|
||||||
Foam::labelList Foam::removeCells::getExposedFaces
|
Foam::labelList Foam::removeCells::getExposedFaces
|
||||||
(
|
(
|
||||||
const labelList& cellLabels
|
const labelList& cellLabels
|
||||||
|
|||||||
@ -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
|
||||||
@ -94,7 +94,8 @@ public:
|
|||||||
|
|
||||||
// Topology changes
|
// Topology changes
|
||||||
|
|
||||||
//- Get labels of exposed faces. These are
|
//- Get labels of exposed faces.
|
||||||
|
// These are
|
||||||
// - internal faces that become boundary faces
|
// - internal faces that become boundary faces
|
||||||
// - coupled faces that become uncoupled (since one of the sides
|
// - coupled faces that become uncoupled (since one of the sides
|
||||||
// gets deleted)
|
// gets deleted)
|
||||||
@ -114,7 +115,6 @@ public:
|
|||||||
//- Force recalculation of locally stored data on topological change
|
//- Force recalculation of locally stored data on topological change
|
||||||
void updateMesh(const mapPolyMesh&)
|
void updateMesh(const mapPolyMesh&)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
@ -178,7 +178,8 @@ public:
|
|||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
//- Given set of faces to pierce calculates:
|
//- Find faces including those with cells which have the same mastercell
|
||||||
|
// Given set of faces to pierce calculates:
|
||||||
// - region for connected cells
|
// - region for connected cells
|
||||||
// - mastercell for each region. This is the lowest numbered cell
|
// - mastercell for each region. This is the lowest numbered cell
|
||||||
// of all cells that get merged.
|
// of all cells that get merged.
|
||||||
|
|||||||
@ -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::PorousZones<ZoneType>
|
Foam::PorousZones
|
||||||
|
|
||||||
Description
|
Description
|
||||||
A centralized ZoneType collection.
|
A centralized ZoneType collection.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open So
|
\\ / 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,6 +42,16 @@ SourceFiles
|
|||||||
fvMesh.C
|
fvMesh.C
|
||||||
fvMeshGeometry.C
|
fvMeshGeometry.C
|
||||||
|
|
||||||
|
See Also
|
||||||
|
hmm
|
||||||
|
|
||||||
|
Usage
|
||||||
|
oeuoeuoeu
|
||||||
|
|
||||||
|
ToDo
|
||||||
|
oeuoeuoeu
|
||||||
|
oeueouoeu
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef fvMesh_H
|
#ifndef fvMesh_H
|
||||||
|
|||||||
@ -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
|
||||||
@ -156,14 +156,14 @@ namespace fvc
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
//- Interpolate tmp field onto faces using 'interpolate(<name>)'
|
//- Interpolate tmp field onto faces using 'interpolate(\<name\>)'
|
||||||
template<class Type>
|
template<class Type>
|
||||||
static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
|
static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
|
||||||
(
|
(
|
||||||
const tmp<GeometricField<Type, fvPatchField, volMesh> >& tvf
|
const tmp<GeometricField<Type, fvPatchField, volMesh> >& tvf
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Interpolate tmp field onto faces using 'interpolate(<name>)'
|
//- Interpolate tmp field onto faces using 'interpolate(\<name\>)'
|
||||||
template<class Type>
|
template<class Type>
|
||||||
static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
|
static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
|
||||||
(
|
(
|
||||||
|
|||||||
@ -381,7 +381,7 @@ public:
|
|||||||
IOstream::compressionType cmp
|
IOstream::compressionType cmp
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Write positions to <cloudName>_positions.obj file
|
//- Write positions to \<cloudName\>_positions.obj file
|
||||||
void writePositions() const;
|
void writePositions() const;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -288,7 +288,7 @@ protected:
|
|||||||
typename ParcelType::constantProperties constProps_;
|
typename ParcelType::constantProperties constProps_;
|
||||||
|
|
||||||
//- Sub-models dictionary
|
//- Sub-models dictionary
|
||||||
const dictionary& subModelProperties_;
|
const dictionary subModelProperties_;
|
||||||
|
|
||||||
//- Random number generator - used by some injection routines
|
//- Random number generator - used by some injection routines
|
||||||
cachedRandom rndGen_;
|
cachedRandom rndGen_;
|
||||||
|
|||||||
@ -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
|
||||||
@ -31,7 +31,6 @@ License
|
|||||||
#include "KinematicCloud.H"
|
#include "KinematicCloud.H"
|
||||||
|
|
||||||
#include "ConeInjection.H"
|
#include "ConeInjection.H"
|
||||||
#include "ConeInjectionMP.H"
|
|
||||||
#include "FieldActivatedInjection.H"
|
#include "FieldActivatedInjection.H"
|
||||||
#include "InflationInjection.H"
|
#include "InflationInjection.H"
|
||||||
#include "KinematicLookupTableInjection.H"
|
#include "KinematicLookupTableInjection.H"
|
||||||
@ -53,12 +52,6 @@ License
|
|||||||
ParcelType \
|
ParcelType \
|
||||||
); \
|
); \
|
||||||
makeInjectionModelType \
|
makeInjectionModelType \
|
||||||
( \
|
|
||||||
ConeInjectionMP, \
|
|
||||||
KinematicCloud, \
|
|
||||||
ParcelType \
|
|
||||||
); \
|
|
||||||
makeInjectionModelType \
|
|
||||||
( \
|
( \
|
||||||
FieldActivatedInjection, \
|
FieldActivatedInjection, \
|
||||||
KinematicCloud, \
|
KinematicCloud, \
|
||||||
|
|||||||
@ -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
|
||||||
@ -32,7 +32,6 @@ License
|
|||||||
#include "KinematicCloud.H"
|
#include "KinematicCloud.H"
|
||||||
|
|
||||||
#include "ConeInjection.H"
|
#include "ConeInjection.H"
|
||||||
#include "ConeInjectionMP.H"
|
|
||||||
#include "FieldActivatedInjection.H"
|
#include "FieldActivatedInjection.H"
|
||||||
#include "ManualInjection.H"
|
#include "ManualInjection.H"
|
||||||
#include "NoInjection.H"
|
#include "NoInjection.H"
|
||||||
@ -52,12 +51,6 @@ License
|
|||||||
ParcelType \
|
ParcelType \
|
||||||
); \
|
); \
|
||||||
makeInjectionModelType \
|
makeInjectionModelType \
|
||||||
( \
|
|
||||||
ConeInjectionMP, \
|
|
||||||
KinematicCloud, \
|
|
||||||
ParcelType \
|
|
||||||
); \
|
|
||||||
makeInjectionModelType \
|
|
||||||
( \
|
( \
|
||||||
FieldActivatedInjection, \
|
FieldActivatedInjection, \
|
||||||
KinematicCloud, \
|
KinematicCloud, \
|
||||||
|
|||||||
@ -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
|
||||||
@ -31,7 +31,6 @@ License
|
|||||||
#include "KinematicCloud.H"
|
#include "KinematicCloud.H"
|
||||||
|
|
||||||
#include "ConeInjection.H"
|
#include "ConeInjection.H"
|
||||||
#include "ConeInjectionMP.H"
|
|
||||||
#include "FieldActivatedInjection.H"
|
#include "FieldActivatedInjection.H"
|
||||||
#include "ManualInjection.H"
|
#include "ManualInjection.H"
|
||||||
#include "NoInjection.H"
|
#include "NoInjection.H"
|
||||||
@ -51,12 +50,6 @@ License
|
|||||||
ParcelType \
|
ParcelType \
|
||||||
); \
|
); \
|
||||||
makeInjectionModelType \
|
makeInjectionModelType \
|
||||||
( \
|
|
||||||
ConeInjectionMP, \
|
|
||||||
KinematicCloud, \
|
|
||||||
ParcelType \
|
|
||||||
); \
|
|
||||||
makeInjectionModelType \
|
|
||||||
( \
|
( \
|
||||||
FieldActivatedInjection, \
|
FieldActivatedInjection, \
|
||||||
KinematicCloud, \
|
KinematicCloud, \
|
||||||
|
|||||||
@ -70,7 +70,7 @@ class particleForces
|
|||||||
const fvMesh& mesh_;
|
const fvMesh& mesh_;
|
||||||
|
|
||||||
//- The particleForces dictionary
|
//- The particleForces dictionary
|
||||||
const dictionary& dict_;
|
const dictionary dict_;
|
||||||
|
|
||||||
//- Gravity
|
//- Gravity
|
||||||
const vector g_;
|
const vector g_;
|
||||||
|
|||||||
@ -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-2011 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -41,7 +41,16 @@ Foam::label Foam::ConeInjection<CloudType>::parcelsToInject
|
|||||||
{
|
{
|
||||||
if ((time0 >= 0.0) && (time0 < duration_))
|
if ((time0 >= 0.0) && (time0 < duration_))
|
||||||
{
|
{
|
||||||
return round((time1 - time0)*parcelsPerSecond_);
|
const scalar targetVolume = flowRateProfile_().integrate(0, time1);
|
||||||
|
|
||||||
|
const label targetParcels =
|
||||||
|
parcelsPerInjector_*targetVolume/this->volumeTotal_;
|
||||||
|
|
||||||
|
const label nToInject = targetParcels - nInjected_;
|
||||||
|
|
||||||
|
nInjected_ += nToInject;
|
||||||
|
|
||||||
|
return positionAxis_.size()*nToInject;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -78,15 +87,14 @@ Foam::ConeInjection<CloudType>::ConeInjection
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
InjectionModel<CloudType>(dict, owner, typeName),
|
InjectionModel<CloudType>(dict, owner, typeName),
|
||||||
|
positionAxis_(this->coeffDict().lookup("positionAxis")),
|
||||||
|
injectorCells_(positionAxis_.size()),
|
||||||
|
injectorTetFaces_(positionAxis_.size()),
|
||||||
|
injectorTetPts_(positionAxis_.size()),
|
||||||
duration_(readScalar(this->coeffDict().lookup("duration"))),
|
duration_(readScalar(this->coeffDict().lookup("duration"))),
|
||||||
position_(this->coeffDict().lookup("position")),
|
parcelsPerInjector_
|
||||||
injectorCell_(-1),
|
|
||||||
injectorTetFace_(-1),
|
|
||||||
injectorTetPt_(-1),
|
|
||||||
direction_(this->coeffDict().lookup("direction")),
|
|
||||||
parcelsPerSecond_
|
|
||||||
(
|
(
|
||||||
readScalar(this->coeffDict().lookup("parcelsPerSecond"))
|
readScalar(this->coeffDict().lookup("parcelsPerInjector"))
|
||||||
),
|
),
|
||||||
flowRateProfile_
|
flowRateProfile_
|
||||||
(
|
(
|
||||||
@ -102,39 +110,48 @@ Foam::ConeInjection<CloudType>::ConeInjection
|
|||||||
this->coeffDict().subDict("sizeDistribution"), owner.rndGen()
|
this->coeffDict().subDict("sizeDistribution"), owner.rndGen()
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
tanVec1_(vector::zero),
|
nInjected_(this->parcelsAddedTotal()),
|
||||||
tanVec2_(vector::zero)
|
tanVec1_(positionAxis_.size()),
|
||||||
|
tanVec2_(positionAxis_.size())
|
||||||
{
|
{
|
||||||
// Normalise direction vector
|
// Normalise direction vector and determine direction vectors
|
||||||
direction_ /= mag(direction_);
|
// tangential to injector axis direction
|
||||||
|
forAll(positionAxis_, i)
|
||||||
// Determine direction vectors tangential to direction
|
|
||||||
vector tangent = vector::zero;
|
|
||||||
scalar magTangent = 0.0;
|
|
||||||
|
|
||||||
cachedRandom& rnd = this->owner().rndGen();
|
|
||||||
while (magTangent < SMALL)
|
|
||||||
{
|
{
|
||||||
vector v = rnd.sample01<vector>();
|
vector& axis = positionAxis_[i].second();
|
||||||
|
|
||||||
tangent = v - (v & direction_)*direction_;
|
axis /= mag(axis);
|
||||||
magTangent = mag(tangent);
|
|
||||||
|
vector tangent = vector::zero;
|
||||||
|
scalar magTangent = 0.0;
|
||||||
|
|
||||||
|
cachedRandom& rnd = this->owner().rndGen();
|
||||||
|
while (magTangent < SMALL)
|
||||||
|
{
|
||||||
|
vector v = rnd.sample01<vector>();
|
||||||
|
|
||||||
|
tangent = v - (v & axis)*axis;
|
||||||
|
magTangent = mag(tangent);
|
||||||
|
}
|
||||||
|
|
||||||
|
tanVec1_[i] = tangent/magTangent;
|
||||||
|
tanVec2_[i] = axis^tanVec1_[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
tanVec1_ = tangent/magTangent;
|
|
||||||
tanVec2_ = direction_^tanVec1_;
|
|
||||||
|
|
||||||
// Set total volume to inject
|
// Set total volume to inject
|
||||||
this->volumeTotal_ = flowRateProfile_().integrate(0.0, duration_);
|
this->volumeTotal_ = flowRateProfile_().integrate(0.0, duration_);
|
||||||
|
|
||||||
// Set/cache the injector cell
|
// Set/cache the injector cells
|
||||||
this->findCellAtPosition
|
forAll(positionAxis_, i)
|
||||||
(
|
{
|
||||||
injectorCell_,
|
this->findCellAtPosition
|
||||||
injectorTetFace_,
|
(
|
||||||
injectorTetPt_,
|
injectorCells_[i],
|
||||||
position_
|
injectorTetFaces_[i],
|
||||||
);
|
injectorTetPts_[i],
|
||||||
|
positionAxis_[i].first()
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -145,18 +162,18 @@ Foam::ConeInjection<CloudType>::ConeInjection
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
InjectionModel<CloudType>(im),
|
InjectionModel<CloudType>(im),
|
||||||
|
positionAxis_(im.positionAxis_),
|
||||||
|
injectorCells_(im.injectorCells_),
|
||||||
|
injectorTetFaces_(im.injectorTetFaces_),
|
||||||
|
injectorTetPts_(im.injectorTetPts_),
|
||||||
duration_(im.duration_),
|
duration_(im.duration_),
|
||||||
position_(im.position_),
|
parcelsPerInjector_(im.parcelsPerInjector_),
|
||||||
injectorCell_(im.injectorCell_),
|
|
||||||
injectorTetFace_(im.injectorTetFace_),
|
|
||||||
injectorTetPt_(im.injectorTetPt_),
|
|
||||||
direction_(im.direction_),
|
|
||||||
parcelsPerSecond_(im.parcelsPerSecond_),
|
|
||||||
flowRateProfile_(im.flowRateProfile_().clone().ptr()),
|
flowRateProfile_(im.flowRateProfile_().clone().ptr()),
|
||||||
Umag_(im.Umag_().clone().ptr()),
|
Umag_(im.Umag_().clone().ptr()),
|
||||||
thetaInner_(im.thetaInner_().clone().ptr()),
|
thetaInner_(im.thetaInner_().clone().ptr()),
|
||||||
thetaOuter_(im.thetaOuter_().clone().ptr()),
|
thetaOuter_(im.thetaOuter_().clone().ptr()),
|
||||||
sizeDistribution_(im.sizeDistribution_().clone().ptr()),
|
sizeDistribution_(im.sizeDistribution_().clone().ptr()),
|
||||||
|
nInjected_(im.nInjected_),
|
||||||
tanVec1_(im.tanVec1_),
|
tanVec1_(im.tanVec1_),
|
||||||
tanVec2_(im.tanVec2_)
|
tanVec2_(im.tanVec2_)
|
||||||
{}
|
{}
|
||||||
@ -181,7 +198,7 @@ Foam::scalar Foam::ConeInjection<CloudType>::timeEnd() const
|
|||||||
template<class CloudType>
|
template<class CloudType>
|
||||||
void Foam::ConeInjection<CloudType>::setPositionAndCell
|
void Foam::ConeInjection<CloudType>::setPositionAndCell
|
||||||
(
|
(
|
||||||
const label,
|
const label parcelI,
|
||||||
const label,
|
const label,
|
||||||
const scalar,
|
const scalar,
|
||||||
vector& position,
|
vector& position,
|
||||||
@ -190,17 +207,19 @@ void Foam::ConeInjection<CloudType>::setPositionAndCell
|
|||||||
label& tetPtI
|
label& tetPtI
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
position = position_;
|
const label i = parcelI % positionAxis_.size();
|
||||||
cellOwner = injectorCell_;
|
|
||||||
tetFaceI = injectorTetFace_;
|
position = positionAxis_[i].first();
|
||||||
tetPtI = injectorTetPt_;
|
cellOwner = injectorCells_[i];
|
||||||
|
tetFaceI = injectorTetFaces_[i];
|
||||||
|
tetPtI = injectorTetPts_[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class CloudType>
|
template<class CloudType>
|
||||||
void Foam::ConeInjection<CloudType>::setProperties
|
void Foam::ConeInjection<CloudType>::setProperties
|
||||||
(
|
(
|
||||||
const label,
|
const label parcelI,
|
||||||
const label,
|
const label,
|
||||||
const scalar time,
|
const scalar time,
|
||||||
typename CloudType::parcelType& parcel
|
typename CloudType::parcelType& parcel
|
||||||
@ -208,6 +227,9 @@ void Foam::ConeInjection<CloudType>::setProperties
|
|||||||
{
|
{
|
||||||
cachedRandom& rnd = this->owner().rndGen();
|
cachedRandom& rnd = this->owner().rndGen();
|
||||||
|
|
||||||
|
// set particle velocity
|
||||||
|
const label i = parcelI % positionAxis_.size();
|
||||||
|
|
||||||
scalar t = time - this->SOI_;
|
scalar t = time - this->SOI_;
|
||||||
scalar ti = thetaInner_().value(t);
|
scalar ti = thetaInner_().value(t);
|
||||||
scalar to = thetaOuter_().value(t);
|
scalar to = thetaOuter_().value(t);
|
||||||
@ -217,8 +239,8 @@ void Foam::ConeInjection<CloudType>::setProperties
|
|||||||
scalar dcorr = cos(coneAngle);
|
scalar dcorr = cos(coneAngle);
|
||||||
scalar beta = twoPi*rnd.sample01<scalar>();
|
scalar beta = twoPi*rnd.sample01<scalar>();
|
||||||
|
|
||||||
vector normal = alpha*(tanVec1_*cos(beta) + tanVec2_*sin(beta));
|
vector normal = alpha*(tanVec1_[i]*cos(beta) + tanVec2_[i]*sin(beta));
|
||||||
vector dirVec = dcorr*direction_;
|
vector dirVec = dcorr*positionAxis_[i].second();
|
||||||
dirVec += normal;
|
dirVec += normal;
|
||||||
dirVec /= mag(dirVec);
|
dirVec /= mag(dirVec);
|
||||||
|
|
||||||
|
|||||||
@ -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-2011 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -25,14 +25,12 @@ Class
|
|||||||
Foam::ConeInjection
|
Foam::ConeInjection
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Cone injection
|
Multi-point cone injection model
|
||||||
|
|
||||||
- User specifies
|
- User specifies
|
||||||
- time of start of injection
|
- time of start of injection
|
||||||
- injector position
|
- list of injector positions and directions (along injection axes)
|
||||||
- direction (along injection axis)
|
- number of parcels to inject per injector
|
||||||
- parcel flow rate
|
- parcel velocities
|
||||||
- parcel velocity
|
|
||||||
- inner and outer cone angles
|
- inner and outer cone angles
|
||||||
- Parcel diameters obtained by distribution model model
|
- Parcel diameters obtained by distribution model model
|
||||||
|
|
||||||
@ -46,6 +44,7 @@ SourceFiles
|
|||||||
|
|
||||||
#include "InjectionModel.H"
|
#include "InjectionModel.H"
|
||||||
#include "distributionModel.H"
|
#include "distributionModel.H"
|
||||||
|
#include "vectorList.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -68,26 +67,23 @@ class ConeInjection
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
|
//- List of position and axis for each injector
|
||||||
|
List<Tuple2<vector, vector> > positionAxis_;
|
||||||
|
|
||||||
|
//- List of cell labels corresponding to injector positions
|
||||||
|
labelList injectorCells_;
|
||||||
|
|
||||||
|
//- List of tetFace labels corresponding to injector positions
|
||||||
|
labelList injectorTetFaces_;
|
||||||
|
|
||||||
|
//- List of tetPt labels corresponding to injector positions
|
||||||
|
labelList injectorTetPts_;
|
||||||
|
|
||||||
//- Injection duration [s]
|
//- Injection duration [s]
|
||||||
const scalar duration_;
|
const scalar duration_;
|
||||||
|
|
||||||
//- Injector position [m]
|
//- Number of parcels to introduce per injector
|
||||||
vector position_;
|
const label parcelsPerInjector_;
|
||||||
|
|
||||||
//- Cell containing injector position []
|
|
||||||
label injectorCell_;
|
|
||||||
|
|
||||||
//- tetFace of tet containing injector position []
|
|
||||||
label injectorTetFace_;
|
|
||||||
|
|
||||||
//- tetPt of tet containing injector position []
|
|
||||||
label injectorTetPt_;
|
|
||||||
|
|
||||||
//- Injector direction []
|
|
||||||
vector direction_;
|
|
||||||
|
|
||||||
//- Number of parcels to introduce per second []
|
|
||||||
const label parcelsPerSecond_;
|
|
||||||
|
|
||||||
//- Flow rate profile relative to SOI []
|
//- Flow rate profile relative to SOI []
|
||||||
const autoPtr<DataEntry<scalar> > flowRateProfile_;
|
const autoPtr<DataEntry<scalar> > flowRateProfile_;
|
||||||
@ -104,14 +100,17 @@ class ConeInjection
|
|||||||
//- Parcel size distribution model model
|
//- Parcel size distribution model model
|
||||||
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
||||||
|
|
||||||
|
//- Number of parcels per injector already injected
|
||||||
|
mutable label nInjected_;
|
||||||
|
|
||||||
|
|
||||||
// Tangential vectors to the direction vector
|
// Tangential vectors to the direction vector
|
||||||
|
|
||||||
//- First tangential vector
|
//- First tangential vector
|
||||||
vector tanVec1_;
|
vectorList tanVec1_;
|
||||||
|
|
||||||
//- Second tangential vector
|
//- Second tangential vector
|
||||||
vector tanVec2_;
|
vectorList tanVec2_;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@ -1,292 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
|
||||||
\\/ M anipulation |
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of OpenFOAM.
|
|
||||||
|
|
||||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "ConeInjectionMP.H"
|
|
||||||
#include "DataEntry.H"
|
|
||||||
#include "mathematicalConstants.H"
|
|
||||||
#include "unitConversion.H"
|
|
||||||
|
|
||||||
using namespace Foam::constant::mathematical;
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
Foam::label Foam::ConeInjectionMP<CloudType>::parcelsToInject
|
|
||||||
(
|
|
||||||
const scalar time0,
|
|
||||||
const scalar time1
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if ((time0 >= 0.0) && (time0 < duration_))
|
|
||||||
{
|
|
||||||
const scalar targetVolume = flowRateProfile_().integrate(0, time1);
|
|
||||||
|
|
||||||
const label targetParcels =
|
|
||||||
parcelsPerInjector_*targetVolume/this->volumeTotal_;
|
|
||||||
|
|
||||||
const label nToInject = targetParcels - nInjected_;
|
|
||||||
|
|
||||||
nInjected_ += nToInject;
|
|
||||||
|
|
||||||
return positions_.size()*nToInject;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
Foam::scalar Foam::ConeInjectionMP<CloudType>::volumeToInject
|
|
||||||
(
|
|
||||||
const scalar time0,
|
|
||||||
const scalar time1
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if ((time0 >= 0.0) && (time0 < duration_))
|
|
||||||
{
|
|
||||||
return flowRateProfile_().integrate(time0, time1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return 0.0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
Foam::ConeInjectionMP<CloudType>::ConeInjectionMP
|
|
||||||
(
|
|
||||||
const dictionary& dict,
|
|
||||||
CloudType& owner
|
|
||||||
)
|
|
||||||
:
|
|
||||||
InjectionModel<CloudType>(dict, owner, typeName),
|
|
||||||
positionsFile_(this->coeffDict().lookup("positionsFile")),
|
|
||||||
positions_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
positionsFile_,
|
|
||||||
owner.db().time().constant(),
|
|
||||||
owner.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
)
|
|
||||||
),
|
|
||||||
injectorCells_(positions_.size()),
|
|
||||||
injectorTetFaces_(positions_.size()),
|
|
||||||
injectorTetPts_(positions_.size()),
|
|
||||||
axesFile_(this->coeffDict().lookup("axesFile")),
|
|
||||||
axes_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
axesFile_,
|
|
||||||
owner.db().time().constant(),
|
|
||||||
owner.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
)
|
|
||||||
),
|
|
||||||
duration_(readScalar(this->coeffDict().lookup("duration"))),
|
|
||||||
parcelsPerInjector_
|
|
||||||
(
|
|
||||||
readScalar(this->coeffDict().lookup("parcelsPerInjector"))
|
|
||||||
),
|
|
||||||
flowRateProfile_
|
|
||||||
(
|
|
||||||
DataEntry<scalar>::New("flowRateProfile", this->coeffDict())
|
|
||||||
),
|
|
||||||
Umag_(DataEntry<scalar>::New("Umag", this->coeffDict())),
|
|
||||||
thetaInner_(DataEntry<scalar>::New("thetaInner", this->coeffDict())),
|
|
||||||
thetaOuter_(DataEntry<scalar>::New("thetaOuter", this->coeffDict())),
|
|
||||||
sizeDistribution_
|
|
||||||
(
|
|
||||||
distributionModels::distributionModel::New
|
|
||||||
(
|
|
||||||
this->coeffDict().subDict("sizeDistribution"), owner.rndGen()
|
|
||||||
)
|
|
||||||
),
|
|
||||||
nInjected_(this->parcelsAddedTotal()),
|
|
||||||
tanVec1_(positions_.size()),
|
|
||||||
tanVec2_(positions_.size())
|
|
||||||
{
|
|
||||||
// Normalise direction vector and determine direction vectors
|
|
||||||
// tangential to direction
|
|
||||||
forAll(axes_, i)
|
|
||||||
{
|
|
||||||
axes_[i] /= mag(axes_[i]);
|
|
||||||
|
|
||||||
vector tangent = vector::zero;
|
|
||||||
scalar magTangent = 0.0;
|
|
||||||
|
|
||||||
cachedRandom& rnd = this->owner().rndGen();
|
|
||||||
while (magTangent < SMALL)
|
|
||||||
{
|
|
||||||
vector v = rnd.sample01<vector>();
|
|
||||||
|
|
||||||
tangent = v - (v & axes_[i])*axes_[i];
|
|
||||||
magTangent = mag(tangent);
|
|
||||||
}
|
|
||||||
|
|
||||||
tanVec1_[i] = tangent/magTangent;
|
|
||||||
tanVec2_[i] = axes_[i]^tanVec1_[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set total volume to inject
|
|
||||||
this->volumeTotal_ = flowRateProfile_().integrate(0.0, duration_);
|
|
||||||
|
|
||||||
// Set/cache the injector cells
|
|
||||||
forAll(positions_, i)
|
|
||||||
{
|
|
||||||
this->findCellAtPosition
|
|
||||||
(
|
|
||||||
injectorCells_[i],
|
|
||||||
injectorTetFaces_[i],
|
|
||||||
injectorTetPts_[i],
|
|
||||||
positions_[i]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
Foam::ConeInjectionMP<CloudType>::ConeInjectionMP
|
|
||||||
(
|
|
||||||
const ConeInjectionMP<CloudType>& im
|
|
||||||
)
|
|
||||||
:
|
|
||||||
InjectionModel<CloudType>(im),
|
|
||||||
positionsFile_(im.positionsFile_),
|
|
||||||
positions_(im.positions_),
|
|
||||||
injectorCells_(im.injectorCells_),
|
|
||||||
injectorTetFaces_(im.injectorTetFaces_),
|
|
||||||
injectorTetPts_(im.injectorTetPts_),
|
|
||||||
axesFile_(im.axesFile_),
|
|
||||||
axes_(im.axes_),
|
|
||||||
duration_(im.duration_),
|
|
||||||
parcelsPerInjector_(im.parcelsPerInjector_),
|
|
||||||
flowRateProfile_(im.flowRateProfile_().clone().ptr()),
|
|
||||||
Umag_(im.Umag_().clone().ptr()),
|
|
||||||
thetaInner_(im.thetaInner_().clone().ptr()),
|
|
||||||
thetaOuter_(im.thetaOuter_().clone().ptr()),
|
|
||||||
sizeDistribution_(im.sizeDistribution_().clone().ptr()),
|
|
||||||
nInjected_(im.nInjected_),
|
|
||||||
tanVec1_(im.tanVec1_),
|
|
||||||
tanVec2_(im.tanVec2_)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
Foam::ConeInjectionMP<CloudType>::~ConeInjectionMP()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
Foam::scalar Foam::ConeInjectionMP<CloudType>::timeEnd() const
|
|
||||||
{
|
|
||||||
return this->SOI_ + duration_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
void Foam::ConeInjectionMP<CloudType>::setPositionAndCell
|
|
||||||
(
|
|
||||||
const label parcelI,
|
|
||||||
const label,
|
|
||||||
const scalar,
|
|
||||||
vector& position,
|
|
||||||
label& cellOwner,
|
|
||||||
label& tetFaceI,
|
|
||||||
label& tetPtI
|
|
||||||
)
|
|
||||||
{
|
|
||||||
const label i = parcelI % positions_.size();
|
|
||||||
|
|
||||||
position = positions_[i];
|
|
||||||
cellOwner = injectorCells_[i];
|
|
||||||
tetFaceI = injectorTetFaces_[i];
|
|
||||||
tetPtI = injectorTetPts_[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
void Foam::ConeInjectionMP<CloudType>::setProperties
|
|
||||||
(
|
|
||||||
const label parcelI,
|
|
||||||
const label,
|
|
||||||
const scalar time,
|
|
||||||
typename CloudType::parcelType& parcel
|
|
||||||
)
|
|
||||||
{
|
|
||||||
cachedRandom& rnd = this->owner().rndGen();
|
|
||||||
|
|
||||||
// set particle velocity
|
|
||||||
const label i = parcelI%positions_.size();
|
|
||||||
|
|
||||||
scalar t = time - this->SOI_;
|
|
||||||
scalar ti = thetaInner_().value(t);
|
|
||||||
scalar to = thetaOuter_().value(t);
|
|
||||||
scalar coneAngle = degToRad(rnd.position<scalar>(ti, to));
|
|
||||||
|
|
||||||
scalar alpha = sin(coneAngle);
|
|
||||||
scalar dcorr = cos(coneAngle);
|
|
||||||
scalar beta = twoPi*rnd.sample01<scalar>();
|
|
||||||
|
|
||||||
vector normal = alpha*(tanVec1_[i]*cos(beta) + tanVec2_[i]*sin(beta));
|
|
||||||
vector dirVec = dcorr*axes_[i];
|
|
||||||
dirVec += normal;
|
|
||||||
dirVec /= mag(dirVec);
|
|
||||||
|
|
||||||
parcel.U() = Umag_().value(t)*dirVec;
|
|
||||||
|
|
||||||
// set particle diameter
|
|
||||||
parcel.d() = sizeDistribution_().sample();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
bool Foam::ConeInjectionMP<CloudType>::fullyDescribed() const
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
bool Foam::ConeInjectionMP<CloudType>::validInjection(const label)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,218 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
|
||||||
\\/ M anipulation |
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of OpenFOAM.
|
|
||||||
|
|
||||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::ConeInjectionMP
|
|
||||||
|
|
||||||
Description
|
|
||||||
Cone injection multi-point
|
|
||||||
|
|
||||||
- User specifies
|
|
||||||
- time of start of injection
|
|
||||||
- injector positions
|
|
||||||
- directions (along injection axes)
|
|
||||||
- parcel flow rate
|
|
||||||
- parcel velocities
|
|
||||||
- inner and outer cone angles
|
|
||||||
- Parcel diameters obtained by distribution model model
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
ConeInjectionMP.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef ConeInjectionMP_H
|
|
||||||
#define ConeInjectionMP_H
|
|
||||||
|
|
||||||
#include "InjectionModel.H"
|
|
||||||
#include "distributionModel.H"
|
|
||||||
#include "vectorList.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
// Forward declaration of classes
|
|
||||||
|
|
||||||
template<class Type>
|
|
||||||
class DataEntry;
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class ConeInjectionMP Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
template<class CloudType>
|
|
||||||
class ConeInjectionMP
|
|
||||||
:
|
|
||||||
public InjectionModel<CloudType>
|
|
||||||
{
|
|
||||||
// Private data
|
|
||||||
|
|
||||||
//- Name of file containing positions data
|
|
||||||
const word positionsFile_;
|
|
||||||
|
|
||||||
//- Field of injector positions
|
|
||||||
vectorIOField positions_;
|
|
||||||
|
|
||||||
//- List of cell labels corresponding to injector positions
|
|
||||||
labelList injectorCells_;
|
|
||||||
|
|
||||||
//- List of tetFace labels corresponding to injector positions
|
|
||||||
labelList injectorTetFaces_;
|
|
||||||
|
|
||||||
//- List of tetPt labels corresponding to injector positions
|
|
||||||
labelList injectorTetPts_;
|
|
||||||
|
|
||||||
//- Name of file containing axes data
|
|
||||||
const word axesFile_;
|
|
||||||
|
|
||||||
//- Field of injector positions
|
|
||||||
vectorIOField axes_;
|
|
||||||
|
|
||||||
//- Injection duration [s]
|
|
||||||
const scalar duration_;
|
|
||||||
|
|
||||||
//- Number of parcels to introduce per injector
|
|
||||||
const label parcelsPerInjector_;
|
|
||||||
|
|
||||||
//- Flow rate profile relative to SOI []
|
|
||||||
const autoPtr<DataEntry<scalar> > flowRateProfile_;
|
|
||||||
|
|
||||||
//- Parcel velocity magnitude relative to SOI [m/s]
|
|
||||||
const autoPtr<DataEntry<scalar> > Umag_;
|
|
||||||
|
|
||||||
//- Inner cone angle relative to SOI [deg]
|
|
||||||
const autoPtr<DataEntry<scalar> > thetaInner_;
|
|
||||||
|
|
||||||
//- Outer cone angle relative to SOI [deg]
|
|
||||||
const autoPtr<DataEntry<scalar> > thetaOuter_;
|
|
||||||
|
|
||||||
//- Parcel size distribution model model
|
|
||||||
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
|
||||||
|
|
||||||
//- Number of parcels per injector already injected
|
|
||||||
mutable label nInjected_;
|
|
||||||
|
|
||||||
|
|
||||||
// Tangential vectors to the direction vector
|
|
||||||
|
|
||||||
//- First tangential vector
|
|
||||||
vectorList tanVec1_;
|
|
||||||
|
|
||||||
//- Second tangential vector
|
|
||||||
vectorList tanVec2_;
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected Member Functions
|
|
||||||
|
|
||||||
//- Number of parcels to introduce over the time step relative to SOI
|
|
||||||
virtual label parcelsToInject(const scalar time0, const scalar time1);
|
|
||||||
|
|
||||||
//- Volume of parcels to introduce over the time step relative to SOI
|
|
||||||
virtual scalar volumeToInject(const scalar time0, const scalar time1);
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Runtime type information
|
|
||||||
TypeName("ConeInjectionMP");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct from dictionary
|
|
||||||
ConeInjectionMP(const dictionary& dict, CloudType& owner);
|
|
||||||
|
|
||||||
//- Construct copy
|
|
||||||
ConeInjectionMP(const ConeInjectionMP<CloudType>& im);
|
|
||||||
|
|
||||||
//- Construct and return a clone
|
|
||||||
virtual autoPtr<InjectionModel<CloudType> > clone() const
|
|
||||||
{
|
|
||||||
return autoPtr<InjectionModel<CloudType> >
|
|
||||||
(
|
|
||||||
new ConeInjectionMP<CloudType>(*this)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
|
||||||
virtual ~ConeInjectionMP();
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
|
||||||
|
|
||||||
//- Return the end-of-injection time
|
|
||||||
scalar timeEnd() const;
|
|
||||||
|
|
||||||
|
|
||||||
// Injection geometry
|
|
||||||
|
|
||||||
//- Set the injection position and owner cell, tetFace and tetPt
|
|
||||||
virtual void setPositionAndCell
|
|
||||||
(
|
|
||||||
const label parcelI,
|
|
||||||
const label nParcels,
|
|
||||||
const scalar time,
|
|
||||||
vector& position,
|
|
||||||
label& cellOwner,
|
|
||||||
label& tetFaceI,
|
|
||||||
label& tetPtI
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Set the parcel properties
|
|
||||||
virtual void setProperties
|
|
||||||
(
|
|
||||||
const label parcelI,
|
|
||||||
const label nParcels,
|
|
||||||
const scalar time,
|
|
||||||
typename CloudType::parcelType& parcel
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Flag to identify whether model fully describes the parcel
|
|
||||||
virtual bool fullyDescribed() const;
|
|
||||||
|
|
||||||
//- Return flag to identify whether or not injection of parcelI is
|
|
||||||
// permitted
|
|
||||||
virtual bool validInjection(const label parcelI);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#ifdef NoRepository
|
|
||||||
# include "ConeInjectionMP.C"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -26,7 +26,6 @@ Class
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
Manual injection
|
Manual injection
|
||||||
|
|
||||||
- User specifies
|
- User specifies
|
||||||
- Total mass to inject
|
- Total mass to inject
|
||||||
- Parcel positions in file @c positionsFile
|
- Parcel positions in file @c positionsFile
|
||||||
|
|||||||
@ -26,7 +26,6 @@ Class
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
Patch injection
|
Patch injection
|
||||||
|
|
||||||
- User specifies
|
- User specifies
|
||||||
- Total mass to inject
|
- Total mass to inject
|
||||||
- Name of patch
|
- Name of patch
|
||||||
|
|||||||
@ -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
|
||||||
@ -130,18 +130,21 @@ public:
|
|||||||
inline label end() const;
|
inline label end() const;
|
||||||
|
|
||||||
//- Compare the given start and end points with this curve
|
//- Compare the given start and end points with this curve
|
||||||
|
// Return:
|
||||||
// - 0: different
|
// - 0: different
|
||||||
// - +1: identical
|
// - +1: identical
|
||||||
// - -1: same edge, but different orientation
|
// - -1: same edge, but different orientation
|
||||||
inline int compare(const curvedEdge&) const;
|
inline int compare(const curvedEdge&) const;
|
||||||
|
|
||||||
//- Compare the given start and end points with this curve
|
//- Compare the given start and end points with this curve
|
||||||
|
// Return:
|
||||||
// - 0: different
|
// - 0: different
|
||||||
// - +1: identical
|
// - +1: identical
|
||||||
// - -1: same edge, but different orientation
|
// - -1: same edge, but different orientation
|
||||||
inline int compare(const edge&) const;
|
inline int compare(const edge&) const;
|
||||||
|
|
||||||
//- Compare the given start and end points with this curve
|
//- Compare the given start and end points with this curve
|
||||||
|
// Return:
|
||||||
// - 0: different
|
// - 0: different
|
||||||
// - +1: identical
|
// - +1: identical
|
||||||
// - -1: same edge, but different orientation
|
// - -1: same edge, but different orientation
|
||||||
@ -159,6 +162,7 @@ public:
|
|||||||
|
|
||||||
void operator=(const curvedEdge&);
|
void operator=(const curvedEdge&);
|
||||||
|
|
||||||
|
|
||||||
// Ostream operator
|
// Ostream operator
|
||||||
|
|
||||||
friend Ostream& operator<<(Ostream&, const curvedEdge&);
|
friend Ostream& operator<<(Ostream&, const curvedEdge&);
|
||||||
|
|||||||
@ -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
|
||||||
@ -107,6 +107,7 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
//- Helper class for finding nearest
|
//- Helper class for finding nearest
|
||||||
|
// Nearest:
|
||||||
// - point+local index
|
// - point+local index
|
||||||
// - sqr(distance)
|
// - sqr(distance)
|
||||||
// - processor
|
// - processor
|
||||||
|
|||||||
@ -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
|
||||||
@ -511,7 +511,8 @@ public:
|
|||||||
|
|
||||||
// Queries
|
// Queries
|
||||||
|
|
||||||
//- Calculate nearest point on nearest shape. Returns
|
//- Calculate nearest point on nearest shape.
|
||||||
|
// Returns
|
||||||
// - bool : any point found nearer than nearestDistSqr
|
// - bool : any point found nearer than nearestDistSqr
|
||||||
// - label: index in shapes
|
// - label: index in shapes
|
||||||
// - point: actual nearest point found
|
// - point: actual nearest point found
|
||||||
@ -532,7 +533,8 @@ public:
|
|||||||
point& nearestPoint
|
point& nearestPoint
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Find nearest to line. Returns
|
//- Find nearest to line.
|
||||||
|
// Returns
|
||||||
// - bool : any point found?
|
// - bool : any point found?
|
||||||
// - label: index in shapes
|
// - label: index in shapes
|
||||||
// - point: actual nearest point found
|
// - point: actual nearest point found
|
||||||
@ -621,10 +623,10 @@ public:
|
|||||||
|
|
||||||
bool write(Ostream& os) const;
|
bool write(Ostream& os) const;
|
||||||
|
|
||||||
|
|
||||||
// IOstream Operators
|
// IOstream Operators
|
||||||
|
|
||||||
friend Ostream& operator<< <Type>(Ostream&, const indexedOctree<Type>&);
|
friend Ostream& operator<< <Type>(Ostream&, const indexedOctree<Type>&);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
@ -195,10 +195,11 @@ public:
|
|||||||
bool pointInCell(const point& p, const label celli) const;
|
bool pointInCell(const point& p, const label celli) const;
|
||||||
|
|
||||||
//- Find nearest cell in terms of cell centre.
|
//- Find nearest cell in terms of cell centre.
|
||||||
// - use octree
|
// Options:
|
||||||
// - use linear search
|
// - use octree
|
||||||
// - if seed is provided walk. (uses findNearestCellWalk;
|
// - use linear search
|
||||||
// does not handle holes in domain)
|
// - if seed is provided walk. (uses findNearestCellWalk;
|
||||||
|
// does not handle holes in domain)
|
||||||
label findNearestCell
|
label findNearestCell
|
||||||
(
|
(
|
||||||
const point& location,
|
const point& location,
|
||||||
|
|||||||
@ -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
|
||||||
@ -131,7 +131,8 @@ public:
|
|||||||
|
|
||||||
// Single point queries.
|
// Single point queries.
|
||||||
|
|
||||||
//- Calculate nearest point on surface. Returns
|
//- Calculate nearest point on surface.
|
||||||
|
// Returns
|
||||||
// - bool : any point found nearer than nearestDistSqr
|
// - bool : any point found nearer than nearestDistSqr
|
||||||
// - label: relevant index in surface (=face 0..5)
|
// - label: relevant index in surface (=face 0..5)
|
||||||
// - point: actual nearest point found
|
// - point: actual nearest point found
|
||||||
@ -141,7 +142,8 @@ public:
|
|||||||
const scalar nearestDistSqr
|
const scalar nearestDistSqr
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Calculate nearest point on edge. Returns
|
//- Calculate nearest point on edge.
|
||||||
|
// Returns
|
||||||
// - bool : any point found nearer than nearestDistSqr
|
// - bool : any point found nearer than nearestDistSqr
|
||||||
// - label: relevant index in surface(=?)
|
// - label: relevant index in surface(=?)
|
||||||
// - point: actual nearest point found
|
// - point: actual nearest point found
|
||||||
@ -151,7 +153,8 @@ public:
|
|||||||
const scalar nearestDistSqr
|
const scalar nearestDistSqr
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Find nearest to segment. Returns
|
//- Find nearest to segment.
|
||||||
|
// Returns
|
||||||
// - bool : any point found?
|
// - bool : any point found?
|
||||||
// - label: relevant index in shapes (=face 0..5)
|
// - label: relevant index in shapes (=face 0..5)
|
||||||
// - point: actual nearest point found
|
// - point: actual nearest point found
|
||||||
@ -241,7 +244,6 @@ public:
|
|||||||
notImplemented("searchableBox::writeData(Ostream&) const");
|
notImplemented("searchableBox::writeData(Ostream&) const");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
@ -26,7 +26,6 @@ Class
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
Contains information about location on a triSurface:
|
Contains information about location on a triSurface:
|
||||||
|
|
||||||
- pointIndexHit:
|
- pointIndexHit:
|
||||||
- location
|
- location
|
||||||
- bool: hit/miss
|
- bool: hit/miss
|
||||||
|
|||||||
@ -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
|
||||||
@ -518,8 +518,7 @@ public:
|
|||||||
|
|
||||||
// Tracking
|
// Tracking
|
||||||
|
|
||||||
//- Test point on plane of triangle to see if on edge or point
|
//- Test point on plane of triangle to see if on edge or point or inside
|
||||||
// or inside.
|
|
||||||
static surfaceLocation classify
|
static surfaceLocation classify
|
||||||
(
|
(
|
||||||
const triSurface&,
|
const triSurface&,
|
||||||
@ -527,7 +526,8 @@ public:
|
|||||||
const point& trianglePoint
|
const point& trianglePoint
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Track on surface to get closer to point. Possible situations:
|
//- Track on surface to get closer to point.
|
||||||
|
// Possible situations:
|
||||||
// - 1. reached endpoint
|
// - 1. reached endpoint
|
||||||
// - 2. reached edge (normal situation)
|
// - 2. reached edge (normal situation)
|
||||||
// - 3. reached end of surface (edge on single face)
|
// - 3. reached end of surface (edge on single face)
|
||||||
|
|||||||
@ -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
|
||||||
@ -28,10 +28,10 @@ Description
|
|||||||
adds/subtracts a field or value to/from a base field.
|
adds/subtracts a field or value to/from a base field.
|
||||||
|
|
||||||
New field name specified by -resultName option, or automatically as:
|
New field name specified by -resultName option, or automatically as:
|
||||||
<baseFieldName>_add_<addSubtractFieldName>
|
\<baseFieldName\>_add_<addSubtractFieldName>
|
||||||
<baseFieldName>_add_value
|
\<baseFieldName\>_add_value
|
||||||
<baseFieldName>_subtract_<addSubtractFieldName>
|
\<baseFieldName\>_subtract_<addSubtractFieldName>
|
||||||
<baseFieldName>_subtract_value
|
\<baseFieldName\>_subtract_value
|
||||||
|
|
||||||
Example usage:
|
Example usage:
|
||||||
addSubtract p add -value 100000 -resultName pAbs
|
addSubtract p add -value 100000 -resultName pAbs
|
||||||
|
|||||||
@ -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
|
||||||
@ -72,32 +72,32 @@ Type Foam::fieldValues::cellSource::processValues
|
|||||||
{
|
{
|
||||||
case opSum:
|
case opSum:
|
||||||
{
|
{
|
||||||
result = sum(values);
|
result = gSum(values);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opVolAverage:
|
case opVolAverage:
|
||||||
{
|
{
|
||||||
result = sum(values*V)/sum(V);
|
result = gSum(values*V)/gSum(V);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opVolIntegrate:
|
case opVolIntegrate:
|
||||||
{
|
{
|
||||||
result = sum(values*V);
|
result = gSum(values*V);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opWeightedAverage:
|
case opWeightedAverage:
|
||||||
{
|
{
|
||||||
result = sum(values*weightField)/sum(weightField);
|
result = gSum(values*weightField)/gSum(weightField);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opMin:
|
case opMin:
|
||||||
{
|
{
|
||||||
result = min(values);
|
result = gMin(values);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opMax:
|
case opMax:
|
||||||
{
|
{
|
||||||
result = max(values);
|
result = gMax(values);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -128,10 +128,10 @@ bool Foam::fieldValues::cellSource::writeValues(const word& fieldName)
|
|||||||
combineFields(setFieldValues<scalar>(weightFieldName_))
|
combineFields(setFieldValues<scalar>(weightFieldName_))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Type result = processValues(values, V, weightField);
|
||||||
|
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
Type result = processValues(values, V, weightField);
|
|
||||||
|
|
||||||
if (valueOutput_)
|
if (valueOutput_)
|
||||||
{
|
{
|
||||||
IOField<Type>
|
IOField<Type>
|
||||||
|
|||||||
@ -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
|
||||||
@ -91,32 +91,32 @@ Type Foam::fieldValues::faceSource::processValues
|
|||||||
{
|
{
|
||||||
case opSum:
|
case opSum:
|
||||||
{
|
{
|
||||||
result = sum(values);
|
result = gSum(values);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opAreaAverage:
|
case opAreaAverage:
|
||||||
{
|
{
|
||||||
result = sum(values*magSf)/sum(magSf);
|
result = gSum(values*magSf)/gSum(magSf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opAreaIntegrate:
|
case opAreaIntegrate:
|
||||||
{
|
{
|
||||||
result = sum(values*magSf);
|
result = gSum(values*magSf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opWeightedAverage:
|
case opWeightedAverage:
|
||||||
{
|
{
|
||||||
result = sum(values*weightField)/sum(weightField);
|
result = gSum(values*weightField)/gSum(weightField);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opMin:
|
case opMin:
|
||||||
{
|
{
|
||||||
result = min(values);
|
result = gMin(values);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case opMax:
|
case opMax:
|
||||||
{
|
{
|
||||||
result = max(values);
|
result = gMax(values);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@ -158,11 +158,10 @@ bool Foam::fieldValues::faceSource::writeValues(const word& fieldName)
|
|||||||
magSf = combineFields(magSf);
|
magSf = combineFields(magSf);
|
||||||
weightField = combineFields(weightField);
|
weightField = combineFields(weightField);
|
||||||
|
|
||||||
|
Type result = processValues(values, magSf, weightField);
|
||||||
|
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
Type result = processValues(values, magSf, weightField);
|
|
||||||
|
|
||||||
if (valueOutput_)
|
if (valueOutput_)
|
||||||
{
|
{
|
||||||
IOField<Type>
|
IOField<Type>
|
||||||
|
|||||||
@ -56,6 +56,7 @@ namespace Foam
|
|||||||
|
|
||||||
|
|
||||||
//- Private class for finding nearest
|
//- Private class for finding nearest
|
||||||
|
// Comprising:
|
||||||
// - global index
|
// - global index
|
||||||
// - sqr(distance)
|
// - sqr(distance)
|
||||||
typedef Tuple2<scalar, label> nearInfo;
|
typedef Tuple2<scalar, label> nearInfo;
|
||||||
|
|||||||
@ -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
|
||||||
@ -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::compressible::RASModels::mutRoughWallFunctionFvPatchScalarField
|
Foam::compressible::RASModels::mutkRoughWallFunctionFvPatchScalarField
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Boundary condition for turbulent (kinematic) viscosity when using wall
|
Boundary condition for turbulent (kinematic) viscosity when using wall
|
||||||
|
|||||||
@ -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::LESmodels::SpalartAllmaras
|
Foam::incompressible::LESModels::SpalartAllmaras
|
||||||
|
|
||||||
Description
|
Description
|
||||||
SpalartAllmaras DES (SA + LES) turbulence model for incompressible flows
|
SpalartAllmaras DES (SA + LES) turbulence model for incompressible flows
|
||||||
|
|||||||
@ -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
|
||||||
@ -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::LESmodels::SpalartAllmarasDDES
|
Foam::incompressible::LESModels::SpalartAllmarasDDES
|
||||||
|
|
||||||
Description
|
Description
|
||||||
SpalartAllmaras DDES LES turbulence model for incompressible flows
|
SpalartAllmaras DDES LES turbulence model for incompressible flows
|
||||||
|
|||||||
@ -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
|
||||||
@ -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::LESmodels::SpalartAllmarasIDDES
|
Foam::incompressible::LESModels::SpalartAllmarasIDDES
|
||||||
|
|
||||||
Description
|
Description
|
||||||
SpalartAllmarasIDDES LES turbulence model for incompressible flows
|
SpalartAllmarasIDDES LES turbulence model for incompressible flows
|
||||||
|
|||||||
@ -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
|
||||||
@ -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::LESmodels::kOmegaSSTSAS
|
Foam::incompressible::LESModels::kOmegaSSTSAS
|
||||||
|
|
||||||
Description
|
Description
|
||||||
kOmegaSSTSAS LES turbulence model for incompressible flows
|
kOmegaSSTSAS LES turbulence model for incompressible flows
|
||||||
|
|||||||
9
tutorials/incompressible/simpleFoam/motorBike/Allclean
Executable file
9
tutorials/incompressible/simpleFoam/motorBike/Allclean
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Source tutorial clean functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
|
||||||
|
rm -f system/fvSolution
|
||||||
|
rm -rf 0 > /dev/null 2>&1
|
||||||
|
|
||||||
|
cleanCase
|
||||||
@ -1,11 +1,15 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd ${0%/*} || exit 1 # run from this directory
|
|
||||||
|
|
||||||
# Source tutorial run functions
|
# Source tutorial run functions
|
||||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
cp system/fvSolution.org system/fvSolution
|
||||||
|
cp -r 0.org 0 > /dev/null 2>&1
|
||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication snappyHexMesh -overwrite
|
runApplication snappyHexMesh -overwrite
|
||||||
runApplication simpleFoam
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
sed -i 's/\(nNonOrthogonalCorrectors\).*;/\1 10;/g' system/fvSolution
|
||||||
|
runApplication potentialFoam -writep
|
||||||
|
sed -i 's/\(nNonOrthogonalCorrectors\).*;/\1 0;/g' system/fvSolution
|
||||||
|
|
||||||
|
runApplication simpleFoam
|
||||||
|
|||||||
@ -0,0 +1,454 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class polyBoundaryMesh;
|
||||||
|
location "constant/polyMesh";
|
||||||
|
object boundary;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
72
|
||||||
|
(
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 320;
|
||||||
|
startFace 1028304;
|
||||||
|
}
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 64;
|
||||||
|
startFace 1028624;
|
||||||
|
}
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 64;
|
||||||
|
startFace 1028688;
|
||||||
|
}
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 5330;
|
||||||
|
startFace 1028752;
|
||||||
|
}
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
nFaces 160;
|
||||||
|
startFace 1034082;
|
||||||
|
}
|
||||||
|
motorBike_frt-fairing:001%1
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 5427;
|
||||||
|
startFace 1034242;
|
||||||
|
}
|
||||||
|
motorBike_windshield:002%2
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 50;
|
||||||
|
startFace 1039669;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-rim:005%5
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 136;
|
||||||
|
startFace 1039719;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-rim:010%10
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 340;
|
||||||
|
startFace 1039855;
|
||||||
|
}
|
||||||
|
motorBike_fr-wh-rim:011%11
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 473;
|
||||||
|
startFace 1040195;
|
||||||
|
}
|
||||||
|
motorBike_fr-wh-brake-disk:012%12
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 54;
|
||||||
|
startFace 1040668;
|
||||||
|
}
|
||||||
|
motorBike_frame:016-shadow%13
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 97;
|
||||||
|
startFace 1040722;
|
||||||
|
}
|
||||||
|
motorBike_rear-susp:014%14
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 839;
|
||||||
|
startFace 1040819;
|
||||||
|
}
|
||||||
|
motorBike_rear-susp:014-shadow%15
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 469;
|
||||||
|
startFace 1041658;
|
||||||
|
}
|
||||||
|
motorBike_frame:016%16
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 68;
|
||||||
|
startFace 1042127;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-rim:005-shadow%17
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 71;
|
||||||
|
startFace 1042195;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-chain-hub:022%22
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 141;
|
||||||
|
startFace 1042266;
|
||||||
|
}
|
||||||
|
motorBike_rearseat%24
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 430;
|
||||||
|
startFace 1042407;
|
||||||
|
}
|
||||||
|
motorBike_frt-fairing%25
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 626;
|
||||||
|
startFace 1042837;
|
||||||
|
}
|
||||||
|
motorBike_windshield%26
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 378;
|
||||||
|
startFace 1043463;
|
||||||
|
}
|
||||||
|
motorBike_headlights%27
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 161;
|
||||||
|
startFace 1043841;
|
||||||
|
}
|
||||||
|
motorBike_driversseat%28
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 368;
|
||||||
|
startFace 1044002;
|
||||||
|
}
|
||||||
|
motorBike_rear-body%29
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 2077;
|
||||||
|
startFace 1044370;
|
||||||
|
}
|
||||||
|
motorBike_fuel-tank%30
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 912;
|
||||||
|
startFace 1046447;
|
||||||
|
}
|
||||||
|
motorBike_exhaust%31
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 2392;
|
||||||
|
startFace 1047359;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-rim%32
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 1430;
|
||||||
|
startFace 1049751;
|
||||||
|
}
|
||||||
|
motorBike_fr-mud-guard%33
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 639;
|
||||||
|
startFace 1051181;
|
||||||
|
}
|
||||||
|
motorBike_fr-wh-rim%34
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 591;
|
||||||
|
startFace 1051820;
|
||||||
|
}
|
||||||
|
motorBike_fr-wh-brake-disk%35
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 431;
|
||||||
|
startFace 1052411;
|
||||||
|
}
|
||||||
|
motorBike_fr-brake-caliper%36
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 164;
|
||||||
|
startFace 1052842;
|
||||||
|
}
|
||||||
|
motorBike_fr-wh-tyre%37
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 1116;
|
||||||
|
startFace 1053006;
|
||||||
|
}
|
||||||
|
motorBike_hbars%38
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 535;
|
||||||
|
startFace 1054122;
|
||||||
|
}
|
||||||
|
motorBike_fr-forks%39
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 1140;
|
||||||
|
startFace 1054657;
|
||||||
|
}
|
||||||
|
motorBike_chain%40
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 474;
|
||||||
|
startFace 1055797;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-tyre%41
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 1787;
|
||||||
|
startFace 1056271;
|
||||||
|
}
|
||||||
|
motorBike_square-dial%42
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 6;
|
||||||
|
startFace 1058058;
|
||||||
|
}
|
||||||
|
motorBike_round-dial%43
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 17;
|
||||||
|
startFace 1058064;
|
||||||
|
}
|
||||||
|
motorBike_dial-holder%44
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 87;
|
||||||
|
startFace 1058081;
|
||||||
|
}
|
||||||
|
motorBike_rear-susp%45
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 1786;
|
||||||
|
startFace 1058168;
|
||||||
|
}
|
||||||
|
motorBike_rear-brake-lights%46
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 53;
|
||||||
|
startFace 1059954;
|
||||||
|
}
|
||||||
|
motorBike_rear-light-bracket%47
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 163;
|
||||||
|
startFace 1060007;
|
||||||
|
}
|
||||||
|
motorBike_frame%48
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 2040;
|
||||||
|
startFace 1060170;
|
||||||
|
}
|
||||||
|
motorBike_rear-mud-guard%49
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 663;
|
||||||
|
startFace 1062210;
|
||||||
|
}
|
||||||
|
motorBike_rear-susp-spring-damp%50
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 107;
|
||||||
|
startFace 1062873;
|
||||||
|
}
|
||||||
|
motorBike_fairing-inner-plate%51
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 445;
|
||||||
|
startFace 1062980;
|
||||||
|
}
|
||||||
|
motorBike_clutch-housing%52
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 970;
|
||||||
|
startFace 1063425;
|
||||||
|
}
|
||||||
|
motorBike_radiator%53
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 40;
|
||||||
|
startFace 1064395;
|
||||||
|
}
|
||||||
|
motorBike_water-pipe%54
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 104;
|
||||||
|
startFace 1064435;
|
||||||
|
}
|
||||||
|
motorBike_water-pump%55
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 74;
|
||||||
|
startFace 1064539;
|
||||||
|
}
|
||||||
|
motorBike_engine%56
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 2389;
|
||||||
|
startFace 1064613;
|
||||||
|
}
|
||||||
|
motorBike_rear-shock-link%57
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 25;
|
||||||
|
startFace 1067002;
|
||||||
|
}
|
||||||
|
motorBike_rear-brake-fluid-pot-bracket%58
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 44;
|
||||||
|
startFace 1067027;
|
||||||
|
}
|
||||||
|
motorBike_rear-brake-fluid-pot%59
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 53;
|
||||||
|
startFace 1067071;
|
||||||
|
}
|
||||||
|
motorBike_footpeg%60
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 86;
|
||||||
|
startFace 1067124;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-chain-hub%61
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 122;
|
||||||
|
startFace 1067210;
|
||||||
|
}
|
||||||
|
motorBike_rear-brake-caliper%62
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 142;
|
||||||
|
startFace 1067332;
|
||||||
|
}
|
||||||
|
motorBike_rider-helmet%65
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 583;
|
||||||
|
startFace 1067474;
|
||||||
|
}
|
||||||
|
motorBike_rider-visor%66
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 95;
|
||||||
|
startFace 1068057;
|
||||||
|
}
|
||||||
|
motorBike_rider-boots%67
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 1025;
|
||||||
|
startFace 1068152;
|
||||||
|
}
|
||||||
|
motorBike_rider-gloves%68
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 319;
|
||||||
|
startFace 1069177;
|
||||||
|
}
|
||||||
|
motorBike_rider-body%69
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 4555;
|
||||||
|
startFace 1069496;
|
||||||
|
}
|
||||||
|
motorBike_frame:0%70
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 37;
|
||||||
|
startFace 1074051;
|
||||||
|
}
|
||||||
|
motorBike_frt-fairing:001-shadow%74
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 3306;
|
||||||
|
startFace 1074088;
|
||||||
|
}
|
||||||
|
motorBike_windshield-shadow%75
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 239;
|
||||||
|
startFace 1077394;
|
||||||
|
}
|
||||||
|
motorBike_fr-mud-guard-shadow%81
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 332;
|
||||||
|
startFace 1077633;
|
||||||
|
}
|
||||||
|
motorBike_fr-wh-brake-disk-shadow%83
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 182;
|
||||||
|
startFace 1077965;
|
||||||
|
}
|
||||||
|
motorBike_rear-mud-guard-shadow%84
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 387;
|
||||||
|
startFace 1078147;
|
||||||
|
}
|
||||||
|
motorBike_rear-susp-spring-damp-shadow%85
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 41;
|
||||||
|
startFace 1078534;
|
||||||
|
}
|
||||||
|
motorBike_radiator-shadow%86
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 21;
|
||||||
|
startFace 1078575;
|
||||||
|
}
|
||||||
|
motorBike_rear-shock-link-shadow%87
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 10;
|
||||||
|
startFace 1078596;
|
||||||
|
}
|
||||||
|
motorBike_rear-brake-fluid-pot-bracket-shadow%88
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 22;
|
||||||
|
startFace 1078606;
|
||||||
|
}
|
||||||
|
motorBike_rr-wh-chain-hub-shadow%89
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 53;
|
||||||
|
startFace 1078628;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -22,7 +22,7 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 1000;
|
endTime 500;
|
||||||
|
|
||||||
deltaT 1;
|
deltaT 1;
|
||||||
|
|
||||||
|
|||||||
@ -16,14 +16,12 @@ FoamFile
|
|||||||
|
|
||||||
ddtSchemes
|
ddtSchemes
|
||||||
{
|
{
|
||||||
default steadyState;
|
default steadyState;
|
||||||
}
|
}
|
||||||
|
|
||||||
gradSchemes
|
gradSchemes
|
||||||
{
|
{
|
||||||
default Gauss linear;
|
default Gauss linear;
|
||||||
grad(p) Gauss linear;
|
|
||||||
grad(U) Gauss linear;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
divSchemes
|
divSchemes
|
||||||
@ -37,7 +35,7 @@ divSchemes
|
|||||||
|
|
||||||
laplacianSchemes
|
laplacianSchemes
|
||||||
{
|
{
|
||||||
default Gauss linear limited 0.333;
|
default Gauss linear corrected;
|
||||||
}
|
}
|
||||||
|
|
||||||
interpolationSchemes
|
interpolationSchemes
|
||||||
@ -47,7 +45,7 @@ interpolationSchemes
|
|||||||
|
|
||||||
snGradSchemes
|
snGradSchemes
|
||||||
{
|
{
|
||||||
default limited 0.333;
|
default corrected;
|
||||||
}
|
}
|
||||||
|
|
||||||
fluxRequired
|
fluxRequired
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: 1.6 |
|
|
||||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class vectorField;
|
|
||||||
location "constant";
|
|
||||||
object reactingCloud1Axes;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
(
|
|
||||||
(0 0 -1)
|
|
||||||
(0 0 -1)
|
|
||||||
)
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: 1.6 |
|
|
||||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class vectorField;
|
|
||||||
location "constant";
|
|
||||||
object reactingCloud1Positions;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
(
|
|
||||||
(0.3 0.35 1.45)
|
|
||||||
(0.6 0.35 1.45)
|
|
||||||
)
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -120,8 +120,11 @@ subModels
|
|||||||
{
|
{
|
||||||
SOI 0.000;
|
SOI 0.000;
|
||||||
duration 20.000;
|
duration 20.000;
|
||||||
positionsFile "reactingCloud1Positions";
|
positionAxis
|
||||||
axesFile "reactingCloud1Axes";
|
(
|
||||||
|
(0.3 0.35 1.45) (0 0 -1)
|
||||||
|
(0.6 0.35 1.45) (0 0 -1)
|
||||||
|
);
|
||||||
massTotal 10;
|
massTotal 10;
|
||||||
parcelsPerInjector 20000;
|
parcelsPerInjector 20000;
|
||||||
parcelsPerSecond 500;
|
parcelsPerSecond 500;
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: dev |
|
|
||||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class vectorField;
|
|
||||||
location "constant";
|
|
||||||
object reactingCloud1Axes;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
(
|
|
||||||
(0 0 -1)
|
|
||||||
(0 0 -1)
|
|
||||||
)
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: dev |
|
|
||||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class vectorField;
|
|
||||||
location "constant";
|
|
||||||
object reactingCloud1Positions;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
(
|
|
||||||
(0.3 0.35 1.45)
|
|
||||||
(0.6 0.35 1.45)
|
|
||||||
)
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -120,8 +120,11 @@ subModels
|
|||||||
{
|
{
|
||||||
SOI 0.000;
|
SOI 0.000;
|
||||||
duration 20.000;
|
duration 20.000;
|
||||||
positionsFile "reactingCloud1Positions";
|
positionAxis
|
||||||
axesFile "reactingCloud1Axes";
|
(
|
||||||
|
(0.3 0.35 1.45) (0 0 -1)
|
||||||
|
(0.6 0.35 1.45) (0 0 -1)
|
||||||
|
);
|
||||||
massTotal 10;
|
massTotal 10;
|
||||||
parcelsPerInjector 20000;
|
parcelsPerInjector 20000;
|
||||||
parcelsPerSecond 500;
|
parcelsPerSecond 500;
|
||||||
|
|||||||
Reference in New Issue
Block a user