Merge branch 'develop' of develop.openfoam.com:Development/OpenFOAM-plus into develop

This commit is contained in:
sergio
2016-09-28 09:06:35 -07:00
833 changed files with 19702 additions and 4862 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,14 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
if [ -f "$FFTW_ARCH_PATH/include/fftw3.h" ] || \
[ "${FFTW_ARCH_PATH##*-}" = system -a -f "/usr/include/fftw3.h" ]
then
wmake
else
echo
echo "Skipping dnsFoam solver (no FFTW)"
echo
fi
#------------------------------------------------------------------------------

View File

@ -41,7 +41,6 @@
p_rghDDtEqn = p_rghDDtEqn =
( (
fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh)) fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh))
+ fvc::div(phiHbyA)
== ==
fvOptions(psi, p_rgh, rho.name()) fvOptions(psi, p_rgh, rho.name())
); );
@ -52,6 +51,7 @@
fvScalarMatrix p_rghEqn fvScalarMatrix p_rghEqn
( (
p_rghDDtEqn() p_rghDDtEqn()
+ fvc::div(phiHbyA)
- fvm::laplacian(rhorAUf, p_rgh) - fvm::laplacian(rhorAUf, p_rgh)
); );

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,3 +1,3 @@
Test-namedEnum.C Test-NamedEnum.C
EXE = $(FOAM_USER_APPBIN)/Test-NamedEnum EXE = $(FOAM_USER_APPBIN)/Test-NamedEnum

View File

@ -0,0 +1,114 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\/ 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/>.
Description
\*---------------------------------------------------------------------------*/
#include "NamedEnum.H"
#include "IOstreams.H"
using namespace Foam;
class namedEnumTest
{
public:
enum option
{
a,
b,
c,
d
};
static const Foam::NamedEnum<option, 4> namedEnum;
};
template<>
const char* Foam::NamedEnum<namedEnumTest::option, 4>::names[] =
{
"a",
"b",
"c",
"d"
};
const Foam::NamedEnum<namedEnumTest::option, 4> namedEnumTest::namedEnum;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Main program:
int main(int argc, char *argv[])
{
const List<namedEnumTest::option> options
= namedEnumTest::namedEnum.enums();
Info<< "enums: " << options << nl;
Info<< "loop over enums (as list):" << nl;
forAll(options, i)
{
const namedEnumTest::option& opt = options[i];
Info<< "option[" << opt
<< "] = '" << namedEnumTest::namedEnum[opt] << "'" << nl;
}
#if __cplusplus > 201100L
// C++11
Info<< "loop over enums (C++11 for range):" << nl;
for (auto const& opt : options)
{
Info<< "option[" << opt
<< "] = '" << namedEnumTest::namedEnum[opt] << "'" << nl;
}
#else
Info<< "loop over enums (via iterator):" << nl;
forAllConstIter(List<namedEnumTest::option>, options, iter)
{
const namedEnumTest::option& opt = *iter;
Info<< "option[" << opt
<< "] = '" << namedEnumTest::namedEnum[opt] << "'" << nl;
}
#endif
Info<< nl
<< namedEnumTest::namedEnum["a"] << nl
<< namedEnumTest::namedEnum[namedEnumTest::a] << nl;
Info<< "--- test read construction ---" << endl;
namedEnumTest::option dummy(namedEnumTest::namedEnum.read(Sin));
Info<< namedEnumTest::namedEnum[dummy] << endl;
Info<< "End\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -0,0 +1,3 @@
Test-boundBox.C
EXE = $(FOAM_USER_APPBIN)/Test-boundBox

View File

@ -0,0 +1,7 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lmeshTools

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -22,38 +22,28 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Description Description
Test bounding box behaviour
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "NamedEnum.H" #include "argList.H"
#include "IOstreams.H" #include "Time.H"
#include "polyMesh.H"
#include "boundBox.H"
#include "treeBoundBox.H"
#include "cellModeller.H"
using namespace Foam; using namespace Foam;
class namedEnumTest //- simple helper to create a cube
boundBox cube(scalar start, scalar width)
{ {
public: return boundBox
(
enum options point(start, start, start),
{ point(start + width, start + width, start + width)
a, );
b, }
c
};
static const Foam::NamedEnum<options, 3> namedEnum;
};
template<>
const char* Foam::NamedEnum<namedEnumTest::options, 3>::names[] =
{
"a",
"b",
"c"
};
const Foam::NamedEnum<namedEnumTest::options, 3> namedEnumTest::namedEnum;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -61,13 +51,14 @@ const Foam::NamedEnum<namedEnumTest::options, 3> namedEnumTest::namedEnum;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
Info<< namedEnumTest::namedEnum["a"] << endl; #include "setRootCase.H"
Info<< namedEnumTest::namedEnum[namedEnumTest::a] << endl; // #include "createTime.H"
// #include "createMesh.H"
namedEnumTest::options hmm(namedEnumTest::namedEnum.read(Sin)); const cellModel& hex = *(cellModeller::lookup("hex"));
Info<< namedEnumTest::namedEnum[hmm] << endl;
Info<< "End\n" << endl; Info<<"boundBox faces: " << boundBox::faces << endl;
Info<<"hex faces: " << hex.modelFaces() << endl;
return 0; return 0;
} }

View File

@ -30,7 +30,8 @@ writeInterval #codeStream
codeOptions codeOptions
#{ #{
-I$(LIB_SRC)/finiteVolume/lnInclude -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
#}; #};
localCode localCode

View File

@ -0,0 +1,3 @@
Test-cstring.C
EXE = $(FOAM_USER_APPBIN)/Test-cstring

View File

@ -0,0 +1,2 @@
/* EXE_INC = -I$(LIB_SRC)/cfdTools/include */
/* EXE_LIBS = -lfiniteVolume */

View File

@ -0,0 +1,99 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Description
Test some string functionality
\*---------------------------------------------------------------------------*/
#include "CStringList.H"
#include "DynamicList.H"
#include "IOstreams.H"
#include "fileNameList.H"
#include "stringList.H"
#include "wordList.H"
using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int print(int argc, char *argv[])
{
Info<< "argc=" << argc << endl;
for (int i=0; i<argc; ++i)
{
Info<< " argv[" << i << "] = \"" << argv[i] << "\"" << endl;
}
return argc;
}
int print(const CStringList& cstrLst)
{
return print(cstrLst.size(), cstrLst.strings());
}
// Main program:
int main(int argc, char *argv[])
{
DynamicList<string> dynlst;
dynlst.reserve(16);
dynlst.append("string1 with content");
dynlst.append("string2 other content");
dynlst.append("string3 done");
{
CStringList inC(dynlst);
Info<< "input: " << dynlst << endl;
print(inC);
}
Info<<"command-line with " << CStringList::count(argv) << " items"<< endl;
print(argc, argv);
{
dynlst.clear();
for (int i=0; i<argc; ++i)
{
dynlst.append(argv[i]);
}
Info<< "input: " << dynlst << endl;
CStringList inC(dynlst);
inC.reset(dynlst);
print(inC);
Info<< "length: " << inC.length() << endl;
std::cout.write(inC.data(), inC.length());
}
Info<< "\nEnd\n" << endl;
return 0;
}
// ************************************************************************* //

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -34,6 +34,7 @@ Description
#include "IOobject.H" #include "IOobject.H"
#include "IOstreams.H" #include "IOstreams.H"
#include "OSspecific.H" #include "OSspecific.H"
#include "POSIX.H"
using namespace Foam; using namespace Foam;
@ -99,6 +100,98 @@ int main()
} }
// Test some copying and deletion
{
const fileName dirA("dirA");
const fileName lnA("lnA");
const fileName lnB("lnB");
const fileName dirB("dirB");
Foam::rmDir(dirA);
Foam::rm(lnA);
Foam::rm(lnB);
Foam::rmDir(dirB);
Info<< "Creating directory " << dirA << endl;
Foam::mkDir(dirA);
const int oldPosix = POSIX::debug;
POSIX::debug = 1;
// Create link and test it
Info<< "Creating softlink " << lnA << endl;
Foam::ln(dirA, lnA);
fileName::Type lnAType = lnA.type(false);
if (lnAType != fileName::LINK)
{
FatalErrorIn("Test-fileName") << "Type of softlink " << lnA
<< " should be " << fileName::LINK
<< " but is " << lnAType << exit(FatalError);
}
fileName::Type dirAType = lnA.type(true);
if (dirAType != fileName::DIRECTORY)
{
FatalErrorIn("Test-fileName") << "Type of what softlink " << lnA
<< " points to should be " << fileName::DIRECTORY
<< " but is " << dirAType << exit(FatalError);
}
// Copy link only
{
Info<< "Copying (non-follow) softlink " << lnA << " to " << lnB
<< endl;
Foam::cp(lnA, lnB, false);
if (lnB.type(false) != fileName::LINK)
{
FatalErrorIn("Test-fileName") << "Type of softlink " << lnB
<< " should be " << fileName::LINK
<< " but is " << lnB.type(false) << exit(FatalError);
}
if (lnB.type(true) != fileName::DIRECTORY)
{
FatalErrorIn("Test-fileName") << "Type of softlink " << lnB
<< " should be " << fileName::DIRECTORY
<< " but is " << lnB.type(true) << exit(FatalError);
}
// Delete
Foam::rm(lnB);
}
// Copy contents of link
{
Info<< "Copying (contents of) softlink " << lnA << " to " << lnB
<< endl;
Foam::cp(lnA, lnB, true);
if (lnB.type(false) != fileName::DIRECTORY)
{
FatalErrorIn("Test-fileName") << "Type of softlink " << lnB
<< " should be " << fileName::DIRECTORY
<< " but is " << lnB.type(false) << exit(FatalError);
}
// Delete
Foam::rm(lnB);
}
POSIX::debug = oldPosix;
Foam::rmDir(dirA);
Foam::rm(lnA);
}
// test findEtcFile // test findEtcFile
Info<< "\n\nfindEtcFile tests:" << nl Info<< "\n\nfindEtcFile tests:" << nl
<< " controlDict => " << findEtcFile("controlDict") << nl << " controlDict => " << findEtcFile("controlDict") << nl

View File

@ -0,0 +1,3 @@
Test-fvc2D.C
EXE = $(FOAM_USER_APPBIN)/Test-fvc2D

View File

@ -0,0 +1,7 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lmeshTools

View File

@ -0,0 +1,75 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Application
test
Description
Finite volume method test code.
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "vector2D.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
typedef GeometricField<vector2D, fvPatchField, volMesh> volVector2DField;
defineTemplate2TypeNameAndDebug
(
volVector2DField::DimensionedInternalField,
0
);
defineTemplateTypeNameAndDebug(volVector2DField, 0);
typedef fvPatchField<vector2D> fvPatchVector2DField;
makeFvPatchField(fvPatchVector2DField)
}
int main(int argc, char *argv[])
{
#include "setRootCase.H"
#include "createTime.H"
#include "createMesh.H"
GeometricField<vector2D, fvPatchField, volMesh> fld
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
Info<< "end" << endl;
}
// ************************************************************************* //

View File

@ -0,0 +1,37 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
\page pageUtilities Utilities
\section secUtilities Overview
The available utilities are grouped into the following categories:
- \ref grpMeshUtilities
- \ref grpMiscUtilities
- \ref grpPreProcessingUtilities
- \ref grpPostProcessingUtilities
- \ref grpThermoUtilities
- \ref grpSurfaceUtilities
\*---------------------------------------------------------------------------*/

View File

@ -0,0 +1,73 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
\defgroup grpUtilities Utilities
@{
This group contains utilities
@}
\defgroup grpMeshUtilities Mesh
@{
\ingroup grpUtilities
This group contains meshing utilities
@}
\defgroup grpPreProcessingUtilities Pre-processing
@{
\ingroup grpUtilities
This group contains pre-processing utilities
@}
\defgroup grpPostProcessingUtilities Post-processing
@{
\ingroup grpUtilities
This group contains post-processing utilities
@}
\defgroup grpParallelUtilities Parallel
@{
\ingroup grpUtilities
This group contains parallel utilities
@}
\defgroup grpSurfaceUtilities Surface
@{
\ingroup grpUtilities
This group contains surface utilities
@}
\defgroup grpThermophysicalUtilities Thermophysical
@{
\ingroup grpUtilities
This group contains thermophysical utilities
@}
\defgroup grpMiscUtilities Miscellaneous
@{
\ingroup grpUtilities
This group contains miscellaneous utilities
@}
\*---------------------------------------------------------------------------*/

View File

@ -24,6 +24,9 @@ License
Application Application
PDRMesh PDRMesh
Group
grpMeshAdvancedUtilities
Description Description
Mesh and field preparation utility for PDR type simulations. Mesh and field preparation utility for PDR type simulations.

View File

@ -24,6 +24,9 @@ License
Application Application
collapseEdges collapseEdges
Group
grpMeshAdvancedUtilities
Description Description
Collapses short edges and combines edges that are in line. Collapses short edges and combines edges that are in line.

View File

@ -24,6 +24,9 @@ License
Application Application
combinePatchFaces combinePatchFaces
Group
grpMeshAdvancedUtilities
Description Description
Checks for multiple patch faces on same cell and combines them. Checks for multiple patch faces on same cell and combines them.
Multiple patch faces can result from e.g. removal of refined Multiple patch faces can result from e.g. removal of refined

View File

@ -24,6 +24,9 @@ License
Application Application
modifyMesh modifyMesh
Group
grpMeshAdvancedUtilities
Description Description
Manipulates mesh elements. Manipulates mesh elements.

View File

@ -24,6 +24,9 @@ License
Application Application
refineHexMesh refineHexMesh
Group
grpMeshAdvancedUtilities
Description Description
Refines a hex mesh by 2x2x2 cell splitting. Refines a hex mesh by 2x2x2 cell splitting.

View File

@ -24,6 +24,9 @@ License
Application Application
refineWallLayer refineWallLayer
Group
grpMeshAdvancedUtilities
Description Description
Utility to refine cells next to patches. Utility to refine cells next to patches.

View File

@ -24,6 +24,9 @@ License
Application Application
refinementLevel refinementLevel
Group
grpMeshAdvancedUtilities
Description Description
Tries to figure out what the refinement level is on refined cartesian Tries to figure out what the refinement level is on refined cartesian
meshes. Run BEFORE snapping. meshes. Run BEFORE snapping.

View File

@ -24,6 +24,9 @@ License
Application Application
removeFaces removeFaces
Group
grpMeshAdvancedUtilities
Description Description
Utility to remove faces (combines cells on both sides). Utility to remove faces (combines cells on both sides).

View File

@ -24,6 +24,9 @@ License
Application Application
selectCells selectCells
Group
grpMeshAdvancedUtilities
Description Description
Select cells in relation to surface. Select cells in relation to surface.

View File

@ -24,6 +24,9 @@ License
Application Application
snappyRefineMesh snappyRefineMesh
Group
grpMeshAdvancedUtilities
Description Description
Utility to refine cells near to a surface. Utility to refine cells near to a surface.

View File

@ -24,6 +24,9 @@ License
Application Application
splitCells splitCells
Group
grpMeshAdvancedUtilities
Description Description
Utility to split cells with flat faces. Utility to split cells with flat faces.

View File

@ -8,15 +8,15 @@ cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
# Get version info and arch-path # Get version info and arch-path
. $WM_PROJECT_DIR/etc/config.sh/functions . $WM_PROJECT_DIR/etc/config.sh/functions
_foamSource $($WM_PROJECT_DIR/bin/foamEtcFile config.sh/libccmio) _foamSource $($WM_PROJECT_DIR/bin/foamEtcFile config.sh/ccmio)
set -x set -x
# Build libccmio (.so) # Build libccmio (.a|.so)
$WM_THIRD_PARTY_DIR/makeCCMIO $WM_THIRD_PARTY_DIR/makeCCMIO lib # libso
if [ -e $CCMIO_ARCH_PATH/include/libccmio/ccmio.h \ if [ -e $CCMIO_ARCH_PATH/include/libccmio/ccmio.h \
-a -e $FOAM_EXT_LIBBIN/libccmio.so ] -a \( -e $CCMIO_ARCH_PATH/lib/libccmio.a -o $FOAM_EXT_LIBBIN/libccmio.so \) ]
then then
wmake ccm26ToFoam wmake ccm26ToFoam
fi fi

View File

@ -6,4 +6,4 @@ EXE_INC = \
EXE_LIBS = \ EXE_LIBS = \
-lfiniteVolume \ -lfiniteVolume \
-lmeshTools \ -lmeshTools \
-L$(FOAM_EXT_LIBBIN) -lccmio -L$(CCMIO_ARCH_PATH)/lib -L$(FOAM_EXT_LIBBIN) -lccmio

View File

@ -21,6 +21,12 @@ 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/>.
Application
ccm26ToFoam
Group
grpMeshConversionUtilities
Description Description
Reads CCM files as written by Prostar/ccm using ccm 2.6 (not 2.4) Reads CCM files as written by Prostar/ccm using ccm 2.6 (not 2.4)

View File

@ -24,6 +24,9 @@ License
Application Application
ansysToFoam ansysToFoam
Group
grpMeshConversionUtilities
Description Description
Converts an ANSYS input mesh file, exported from I-DEAS, Converts an ANSYS input mesh file, exported from I-DEAS,
to OpenFOAM format. to OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
cfx4ToFoam cfx4ToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a CFX 4 mesh to OpenFOAM format. Converts a CFX 4 mesh to OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
datToFoam datToFoam
Group
grpMeshConversionUtilities
Description Description
Reads in a datToFoam mesh file and outputs a points file. Used in Reads in a datToFoam mesh file and outputs a points file. Used in
conjunction with blockMesh. conjunction with blockMesh.

View File

@ -24,6 +24,9 @@ License
Application Application
fluent3DMeshToFoam fluent3DMeshToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a Fluent mesh to OpenFOAM format. Converts a Fluent mesh to OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
fluentMeshToFoam fluentMeshToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a Fluent mesh to OpenFOAM format Converts a Fluent mesh to OpenFOAM format
including multiple region and region boundary handling. including multiple region and region boundary handling.

View File

@ -24,6 +24,9 @@ License
Application Application
foamMeshToFluent foamMeshToFluent
Group
grpMeshConversionUtilities
Description Description
Writes out the OpenFOAM mesh in Fluent mesh format. Writes out the OpenFOAM mesh in Fluent mesh format.

View File

@ -24,6 +24,9 @@ License
Application Application
foamToStarMesh foamToStarMesh
Group
grpMeshConversionUtilities
Description Description
Reads an OpenFOAM mesh and writes a pro-STAR (v4) bnd/cel/vrt format. Reads an OpenFOAM mesh and writes a pro-STAR (v4) bnd/cel/vrt format.

View File

@ -24,6 +24,9 @@ License
Application Application
foamToSurface foamToSurface
Group
grpMeshConversionUtilities
Description Description
Reads an OpenFOAM mesh and writes the boundaries in a surface format. Reads an OpenFOAM mesh and writes the boundaries in a surface format.

View File

@ -24,6 +24,9 @@ License
Application Application
gambitToFoam gambitToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a GAMBIT mesh to OpenFOAM format. Converts a GAMBIT mesh to OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
gmshToFoam gmshToFoam
group
grpMeshConversionUtilities
Description Description
Reads .msh file as written by Gmsh. Reads .msh file as written by Gmsh.

View File

@ -24,6 +24,9 @@ License
Application Application
ideasUnvToFoam ideasUnvToFoam
Group
grpMeshConversionUtilities
Description Description
I-Deas unv format mesh conversion. I-Deas unv format mesh conversion.

View File

@ -24,6 +24,9 @@ License
Application Application
kivaToFoam kivaToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a KIVA3v grid to OpenFOAM format. Converts a KIVA3v grid to OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
mshToFoam mshToFoam
Group
grpMeshConversionUtilities
Description Description
Converts .msh file generated by the Adventure system. Converts .msh file generated by the Adventure system.

View File

@ -24,6 +24,9 @@ License
Application Application
netgenNeutralToFoam netgenNeutralToFoam
Group
grpMeshConversionUtilities
Description Description
Converts neutral file format as written by Netgen v4.4. Converts neutral file format as written by Netgen v4.4.

View File

@ -24,6 +24,9 @@ License
Application Application
plot3dToFoam plot3dToFoam
Group
grpMeshConversionUtilities
Description Description
Plot3d mesh (ascii/formatted format) converter. Plot3d mesh (ascii/formatted format) converter.

View File

@ -24,6 +24,9 @@ License
Application Application
sammToFoam sammToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a Star-CD (v3) SAMM mesh to OpenFOAM format. Converts a Star-CD (v3) SAMM mesh to OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
star3ToFoam star3ToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a Star-CD (v3) pro-STAR mesh into OpenFOAM format. Converts a Star-CD (v3) pro-STAR mesh into OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
star4ToFoam star4ToFoam
Group
grpMeshConversionUtilities
Description Description
Converts a Star-CD (v4) pro-STAR mesh into OpenFOAM format. Converts a Star-CD (v4) pro-STAR mesh into OpenFOAM format.

View File

@ -24,6 +24,9 @@ License
Application Application
tetgenToFoam tetgenToFoam
Group
grpMeshConversionUtilities
Description Description
Converts .ele and .node and .face files, written by tetgen. Converts .ele and .node and .face files, written by tetgen.

View File

@ -21,6 +21,12 @@ 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/>.
Application
vtkUnstructuredToFoam
Group
grpMeshConversionUtilities
Description Description
Converts ascii .vtk (legacy format) file generated by vtk/paraview. Converts ascii .vtk (legacy format) file generated by vtk/paraview.

View File

@ -24,6 +24,9 @@ License
Application Application
writeMeshObj writeMeshObj
Group
grpMeshConversionUtilities
Description Description
For mesh debugging: writes mesh as three separate OBJ files which can For mesh debugging: writes mesh as three separate OBJ files which can
be viewed with e.g. javaview. be viewed with e.g. javaview.

View File

@ -0,0 +1,51 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
\defgroup grpMeshGenerationUtilities Generation
@{
\ingroup grpMeshUtilities
This group contains mesh generation utilities
@}
\defgroup grpMeshConversionUtilities Conversion
@{
\ingroup grpMeshUtilities
This group contains mesh conversion utilities
@}
\defgroup grpMeshManipulationUtilities Manipulation
@{
\ingroup grpMeshUtilities
This group contains mesh generation utilities
@}
\defgroup grpMeshAdvancedUtilities Advanced
@{
\ingroup grpMeshUtilities
This group contains advanced mesh utilities
@}
\*---------------------------------------------------------------------------*/

View File

@ -24,6 +24,9 @@ License
Application Application
blockMesh blockMesh
Group
grpMeshGenerationUtilities
Description Description
A multi-block mesh generator. A multi-block mesh generator.

View File

@ -24,6 +24,9 @@ License
Application Application
extrudeMesh extrudeMesh
Group
grpMeshGenerationUtilities
Description Description
Extrude mesh from existing patch (by default outwards facing normals; Extrude mesh from existing patch (by default outwards facing normals;
optional flips faces) or from patch read from file. optional flips faces) or from patch read from file.

View File

@ -24,6 +24,9 @@ License
Application Application
extrudeToRegionMesh extrudeToRegionMesh
Group
grpMeshGenerationUtilities
Description Description
Extrude faceZones (internal or boundary faces) or faceSets (boundary faces Extrude faceZones (internal or boundary faces) or faceSets (boundary faces
only) into a separate mesh (as a different region). only) into a separate mesh (as a different region).

View File

@ -24,6 +24,9 @@ License
Application Application
extrude2DMesh extrude2DMesh
Group
grpMeshGenerationUtilities
Description Description
Takes 2D mesh (all faces 2 points only, no front and back faces) and Takes 2D mesh (all faces 2 points only, no front and back faces) and
creates a 3D mesh by extruding with specified thickness. creates a 3D mesh by extruding with specified thickness.

View File

@ -24,6 +24,9 @@ License
Application Application
foamyHexMesh foamyHexMesh
Group
grpMeshGenerationUtilities
Description Description
Conformal Voronoi automatic mesh generator Conformal Voronoi automatic mesh generator

View File

@ -24,6 +24,9 @@ License
Application Application
foamyQuadMesh foamyQuadMesh
Group
grpMeshGenerationUtilities
Description Description
Conformal-Voronoi 2D extruding automatic mesher with grid or read Conformal-Voronoi 2D extruding automatic mesher with grid or read
initial points and point position relaxation with optional initial points and point position relaxation with optional

View File

@ -24,6 +24,9 @@ License
Application Application
snappyHexMesh snappyHexMesh
Group
grpMeshGenerationUtilities
Description Description
Automatic split hex mesher. Refines and snaps to surface. Automatic split hex mesher. Refines and snaps to surface.
@ -610,6 +613,7 @@ void writeMesh
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
#include "addRegionOption.H"
#include "addOverwriteOption.H" #include "addOverwriteOption.H"
Foam::argList::addBoolOption Foam::argList::addBoolOption
( (
@ -759,20 +763,29 @@ int main(int argc, char *argv[])
// } // }
// else // else
{ {
Foam::Info word regionName;
<< "Create mesh for time = " if (args.optionReadIfPresent("region", regionName))
<< runTime.timeName() << Foam::nl << Foam::endl; {
Info<< "Create mesh " << regionName << " for time = "
<< runTime.timeName() << nl << endl;
}
else
{
regionName = fvMesh::defaultRegion;
Info<< "Create mesh for time = "
<< runTime.timeName() << nl << endl;
}
meshPtr.set meshPtr.set
( (
new fvMesh new fvMesh
( (
Foam::IOobject IOobject
( (
Foam::fvMesh::defaultRegion, regionName,
runTime.timeName(), runTime.timeName(),
runTime, runTime,
Foam::IOobject::MUST_READ IOobject::MUST_READ
) )
) )
); );

View File

@ -24,6 +24,9 @@ License
Application Application
attachMesh attachMesh
Group
grpMeshManipulationUtilities
Description Description
Attach topologically detached mesh using prescribed mesh modifiers. Attach topologically detached mesh using prescribed mesh modifiers.

View File

@ -24,6 +24,9 @@ License
Application Application
autoPatch autoPatch
Group
grpMeshManipulationUtilities
Description Description
Divides external faces into patches based on (user supplied) feature Divides external faces into patches based on (user supplied) feature
angle. angle.

View File

@ -24,6 +24,9 @@ License
Application Application
checkMesh checkMesh
Group
grpMeshManipulationUtilities
Description Description
Checks validity of a mesh. Checks validity of a mesh.

View File

@ -24,6 +24,9 @@ License
Application Application
createBaffles createBaffles
Group
grpMeshManipulationUtilities
Description Description
Makes internal faces into boundary faces. Does not duplicate points, unlike Makes internal faces into boundary faces. Does not duplicate points, unlike
mergeOrSplitBaffles. mergeOrSplitBaffles.

View File

@ -24,6 +24,9 @@ License
Application Application
createPatch createPatch
Group
grpMeshManipulationUtilities
Description Description
Utility to create patches out of selected boundary faces. Faces come either Utility to create patches out of selected boundary faces. Faces come either
from existing patches or from a faceSet. from existing patches or from a faceSet.

View File

@ -24,6 +24,9 @@ License
Application Application
deformedGeom deformedGeom
Group
grpMeshManipulationUtilities
Description Description
Deforms a polyMesh using a displacement field U and a scaling factor Deforms a polyMesh using a displacement field U and a scaling factor
supplied as an argument. supplied as an argument.

View File

@ -24,6 +24,9 @@ License
Application Application
flattenMesh flattenMesh
Group
grpMeshManipulationUtilities
Description Description
Flattens the front and back planes of a 2D cartesian mesh. Flattens the front and back planes of a 2D cartesian mesh.

View File

@ -24,6 +24,9 @@ License
Application Application
insideCells insideCells
Group
grpMeshManipulationUtilities
Description Description
Picks up cells with cell centre 'inside' of surface. Picks up cells with cell centre 'inside' of surface.
Requires surface to be closed and singly connected. Requires surface to be closed and singly connected.

View File

@ -24,6 +24,9 @@ License
Application Application
mergeMeshes mergeMeshes
Group
grpMeshManipulationUtilities
Description Description
Merges two meshes. Merges two meshes.

View File

@ -24,6 +24,9 @@ License
Application Application
mergeOrSplitBaffles mergeOrSplitBaffles
Group
grpMeshManipulationUtilities
Description Description
Detects faces that share points (baffles). Either merge them or Detects faces that share points (baffles). Either merge them or
duplicate the points. duplicate the points.

View File

@ -24,6 +24,9 @@ License
Application Application
mirrorMesh mirrorMesh
Group
grpMeshManipulationUtilities
Description Description
Mirrors a mesh around a given plane. Mirrors a mesh around a given plane.

View File

@ -24,6 +24,9 @@ License
Application Application
moveDynamicMesh moveDynamicMesh
Group
grpMeshManipulationUtilities
Description Description
Mesh motion and topological mesh changes utility. Mesh motion and topological mesh changes utility.

View File

@ -24,6 +24,9 @@ License
Application Application
moveEngineMesh moveEngineMesh
Group
grpMeshManipulationUtilities
Description Description
Solver for moving meshes for engine calculations. Solver for moving meshes for engine calculations.

View File

@ -24,6 +24,9 @@ License
Application Application
moveMesh moveMesh
Group
grpMeshManipulationUtilities
Description Description
Solver for moving meshes. Solver for moving meshes.

View File

@ -24,6 +24,9 @@ License
Application Application
objToVTK objToVTK
Group
grpMeshManipulationUtilities
Description Description
Read obj line (not surface!) file and convert into vtk. Read obj line (not surface!) file and convert into vtk.

View File

@ -24,6 +24,9 @@ License
Application Application
orientFaceZone orientFaceZone
Group
grpMeshManipulationUtilities
Description Description
Corrects orientation of faceZone. Corrects orientation of faceZone.

View File

@ -24,6 +24,9 @@ License
Application Application
polyDualMesh polyDualMesh
Group
grpMeshManipulationUtilities
Description Description
Calculates the dual of a polyMesh. Adheres to all the feature and patch Calculates the dual of a polyMesh. Adheres to all the feature and patch
edges. edges.

View File

@ -24,6 +24,9 @@ License
Application Application
refineMesh refineMesh
Group
grpMeshManipulationUtilities
Description Description
Utility to refine cells in multiple directions. Utility to refine cells in multiple directions.

View File

@ -24,6 +24,9 @@ License
Application Application
renumberMesh renumberMesh
Group
grpMeshManipulationUtilities
Description Description
Renumbers the cell list in order to reduce the bandwidth, reading and Renumbers the cell list in order to reduce the bandwidth, reading and
renumbering all fields from all the time directories. renumbering all fields from all the time directories.

View File

@ -24,6 +24,9 @@ License
Application Application
rotateMesh rotateMesh
Group
grpMeshManipulationUtilities
Description Description
Rotates the mesh and fields from the direction n1 to direction n2. Rotates the mesh and fields from the direction n1 to direction n2.

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