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
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -31,6 +31,7 @@ Description
|
||||
|
||||
#include "IStringStream.H"
|
||||
#include "Polynomial.H"
|
||||
#include "polynomialFunction.H"
|
||||
#include "Random.H"
|
||||
#include "cpuTime.H"
|
||||
|
||||
@ -38,7 +39,7 @@ using namespace Foam;
|
||||
|
||||
const int PolySize = 8;
|
||||
const scalar coeff[] = { 0.11, 0.45, -0.94, 1.58, -2.58, 0.08, 3.15, -4.78 };
|
||||
const char* polyDef = "testPoly (0.11 0.45 -0.94 1.58 -2.58 0.08 3.15 -4.78)";
|
||||
const char* polyDef = "(0.11 0.45 -0.94 1.58 -2.58 0.08 3.15 -4.78)";
|
||||
|
||||
|
||||
scalar polyValue(const scalar x)
|
||||
@ -58,7 +59,7 @@ scalar polyValue(const scalar x)
|
||||
|
||||
scalar intPolyValue(const scalar x)
|
||||
{
|
||||
// Hard-coded integrated form of above polynomial
|
||||
// Hard-coded integral form of above polynomial
|
||||
return
|
||||
coeff[0]*x
|
||||
+ coeff[1]/2.0*sqr(x)
|
||||
@ -109,27 +110,44 @@ int main(int argc, char *argv[])
|
||||
const label nIters = 1000;
|
||||
scalar sum = 0.0;
|
||||
|
||||
Info<< "null poly = " << (Polynomial<8>()) << nl << endl;
|
||||
Info<< "null poly = " << (Polynomial<8>()) << nl
|
||||
<< "null poly = " << (polynomialFunction(8)) << nl
|
||||
<< endl;
|
||||
|
||||
// Polynomial<8> poly("testPoly", IStringStream(polyDef)());
|
||||
Polynomial<8> poly(coeff);
|
||||
Polynomial<9> intPoly(poly.integrate(0.0));
|
||||
Polynomial<9> intPoly(poly.integral(0.0));
|
||||
|
||||
Info<< "poly = " << poly << endl;
|
||||
Info<< "intPoly = " << intPoly << nl << endl;
|
||||
IStringStream is(polyDef);
|
||||
polynomialFunction polyfunc(is);
|
||||
|
||||
Info<< "2*poly = " << 2*poly << endl;
|
||||
Info<< "poly+poly = " << poly + poly << nl << endl;
|
||||
Info<< "poly = " << poly << nl
|
||||
<< "intPoly = " << intPoly << nl
|
||||
<< endl;
|
||||
|
||||
Info<< "3*poly = " << 3*poly << endl;
|
||||
Info<< "poly+poly+poly = " << poly + poly + poly << nl << endl;
|
||||
Info<< "2*poly = " << 2*poly << nl
|
||||
<< "poly+poly = " << poly + poly << nl
|
||||
<< "3*poly = " << 3*poly << nl
|
||||
<< "poly+poly+poly = " << poly + poly + poly << nl
|
||||
<< "3*poly - 2*poly = " << 3*poly - 2*poly << nl
|
||||
<< endl;
|
||||
|
||||
Info<< nl << "--- as polynomialFunction" << nl << endl;
|
||||
Info<< "polyf = " << polyfunc << nl
|
||||
<< "intPoly = " << poly.integral(0.0) << nl
|
||||
<< endl;
|
||||
|
||||
Info<< "2*polyf = " << 2*polyfunc << nl
|
||||
<< "polyf+polyf = " << polyfunc + polyfunc << nl
|
||||
<< "3*polyf = " << 3*polyfunc << nl
|
||||
<< "polyf+polyf+polyf = " << polyfunc + polyfunc + polyfunc << nl
|
||||
<< "3*polyf - 2*polyf = " << 3*polyfunc - 2*polyfunc << nl
|
||||
<< endl;
|
||||
|
||||
Info<< "3*poly - 2*poly = " << 3*poly - 2*poly << nl << endl;
|
||||
|
||||
Polynomial<8> polyCopy = poly;
|
||||
Info<< "poly, polyCopy = " << poly << ", " << polyCopy << nl << endl;
|
||||
polyCopy = 2.5*poly;
|
||||
Info<< "2.5*polyCopy = " << polyCopy << nl << endl;
|
||||
Info<< "2.5*poly = " << polyCopy << nl << endl;
|
||||
|
||||
Random rnd(123456);
|
||||
for (int i=0; i<10; i++)
|
||||
@ -139,8 +157,8 @@ int main(int argc, char *argv[])
|
||||
scalar px = polyValue(x);
|
||||
scalar ipx = intPolyValue(x);
|
||||
|
||||
scalar pxTest = poly.evaluate(x);
|
||||
scalar ipxTest = intPoly.evaluate(x);
|
||||
scalar pxTest = poly.value(x);
|
||||
scalar ipxTest = intPoly.value(x);
|
||||
|
||||
Info<<"\nx = " << x << endl;
|
||||
Info<< " px, pxTest = " << px << ", " << pxTest << endl;
|
||||
@ -173,10 +191,21 @@ int main(int argc, char *argv[])
|
||||
sum = 0.0;
|
||||
for (label iter = 0; iter < nIters; ++iter)
|
||||
{
|
||||
sum += poly.evaluate(loop+iter);
|
||||
sum += poly.value(loop+iter);
|
||||
}
|
||||
}
|
||||
Info<< "evaluate: " << sum
|
||||
Info<< "value: " << sum
|
||||
<< " in " << timer.cpuTimeIncrement() << " s\n";
|
||||
|
||||
for (int loop = 0; loop < n; ++loop)
|
||||
{
|
||||
sum = 0.0;
|
||||
for (label iter = 0; iter < nIters; ++iter)
|
||||
{
|
||||
sum += polyfunc.value(loop+iter);
|
||||
}
|
||||
}
|
||||
Info<< "via function: " << sum
|
||||
<< " in " << timer.cpuTimeIncrement() << " s\n";
|
||||
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ Usage
|
||||
|
||||
Note
|
||||
The cellTable information available in the files
|
||||
\c constant/cellTable and @c constant/polyMesh/cellTableId
|
||||
\c constant/cellTable and \c constant/polyMesh/cellTableId
|
||||
will be used if available. Otherwise the cellZones are used when
|
||||
creating the cellTable information.
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -22,8 +22,8 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Description
|
||||
Picks up cells with cell centre 'inside' of surface. Requires surface
|
||||
to be closed and singly connected.
|
||||
Picks up cells with cell centre 'inside' of surface.
|
||||
Requires surface to be closed and singly connected.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -42,9 +42,16 @@ using namespace Foam;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::addNote
|
||||
(
|
||||
"Create a cellSet for cells with their centres inside the defined "
|
||||
"surface.\n"
|
||||
"Surface must be closed and singly connected."
|
||||
);
|
||||
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("surface file");
|
||||
argList::validArgs.append("destination cellSet");
|
||||
argList::validArgs.append("surfaceFile");
|
||||
argList::validArgs.append("cellSet");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
@ -75,14 +82,13 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
|
||||
Info<< "Selected " << insideCells.size()
|
||||
<< " cells out of " << mesh.nCells() << endl
|
||||
<< endl
|
||||
Info<< "Selected " << insideCells.size() << " of " << mesh.nCells()
|
||||
<< " cells" << nl << nl
|
||||
<< "Writing selected cells to cellSet " << insideCells.name()
|
||||
<< endl << endl
|
||||
<< "Use this cellSet e.g. with subsetMesh : " << endl << endl
|
||||
<< " subsetMesh <root> <case> " << insideCells.name()
|
||||
<< endl << endl;
|
||||
<< nl << nl
|
||||
<< "Use this cellSet e.g. with subsetMesh : " << nl << nl
|
||||
<< " subsetMesh " << insideCells.name()
|
||||
<< nl << endl;
|
||||
|
||||
insideCells.write();
|
||||
|
||||
|
||||
@ -21,7 +21,6 @@ EXE_LIBS = \
|
||||
-ledgeMesh \
|
||||
-lengine \
|
||||
-lerrorEstimation \
|
||||
-lEulerianInterfacialModels \
|
||||
-lextrudeModel \
|
||||
-lfieldFunctionObjects \
|
||||
-lfileFormats \
|
||||
|
||||
@ -18,6 +18,7 @@ LINK_DIRECTORIES(
|
||||
)
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
$ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}
|
||||
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
|
||||
${PROJECT_SOURCE_DIR}/../vtkPV3Foam
|
||||
|
||||
@ -29,7 +29,7 @@ Description
|
||||
type in the field and polyMesh/boundary files.
|
||||
|
||||
Reads dictionaries (fields) and entries to change from a dictionary.
|
||||
E.g. to make the \em movingWall a \em fixedValue for @em p but all other
|
||||
E.g. to make the \em movingWall a \em fixedValue for \em p but all other
|
||||
\em Walls a zeroGradient boundary condition, the
|
||||
\c system/changeDictionaryDict would contain the following:
|
||||
\verbatim
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -30,6 +30,7 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
|
||||
82
bin/findEmptyMake
Executable file
82
bin/findEmptyMake
Executable file
@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2011-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/>.
|
||||
#
|
||||
# Script
|
||||
# findEmptyMake
|
||||
#
|
||||
# Description
|
||||
# Usage: findEmptyMake [dir1 .. dirN]
|
||||
#
|
||||
# Find Make/ directories without a 'files' or 'options' file.
|
||||
# This can occur when a directory has been moved.
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
Usage: ${0##*/} [OPTION] [dir1 .. dirN]
|
||||
|
||||
Find Make/ directories without a 'files' or 'options' file.
|
||||
This can occur when a directory has been moved.
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
}
|
||||
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help)
|
||||
usage
|
||||
;;
|
||||
-*)
|
||||
usage "unknown option: '$*'"
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# default is the current directory
|
||||
[ "$#" -gt 0 ] || set -- .
|
||||
|
||||
for checkDir
|
||||
do
|
||||
if [ -d "$checkDir" ]
|
||||
then
|
||||
echo "searching: $checkDir" 1>&2
|
||||
else
|
||||
echo "skipping non-dir: $checkDir" 1>&2
|
||||
continue
|
||||
fi
|
||||
|
||||
find $checkDir -depth -name Make -type d -print | while read makeDir
|
||||
do
|
||||
[ -r "$makeDir/files" -a -r "$makeDir/options" ] || echo "$makeDir"
|
||||
done
|
||||
|
||||
done
|
||||
# -----------------------------------------------------------------------------
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -30,9 +30,9 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
Usage: ${0##*/} <file1> ... <fileN>
|
||||
|
||||
* find all .dep files referring to any of <file1> ... <fileN>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -31,8 +31,9 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
while [ "$#" -ge 1 ]; do echo "$1" 1>&2; shift; done
|
||||
cat <<USAGE 1>&2
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
|
||||
Usage: ${0##*/} [OPTION]
|
||||
options:
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -40,8 +40,9 @@ Script=${0##*/}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
while [ "$#" -ge 1 ]; do echo "$1" 1>&2; shift; done
|
||||
cat <<USAGE 1>&2
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
|
||||
Usage: $Script srcDir dstDir
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -38,6 +38,7 @@
|
||||
Script=${0##*/}
|
||||
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
Usage: $Script [OPTION] <pid>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -33,10 +33,10 @@
|
||||
# personal settings to site-wide settings.
|
||||
#
|
||||
# For example, within the user ~/.OpenFOAM/<VER>/prefs.sh:
|
||||
# @verbatim
|
||||
# \code
|
||||
# foamPrefs=`$WM_PROJECT_DIR/bin/foamEtcFile -m go prefs.sh` \
|
||||
# && _foamSource $foamPrefs
|
||||
# @endverbatim
|
||||
# \endcode
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
usage() {
|
||||
|
||||
@ -39,6 +39,7 @@
|
||||
# foamEtcFile
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -29,6 +29,7 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -35,6 +35,7 @@ Script=${0##*/}
|
||||
toolsDir=${0%/*}/tools
|
||||
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -30,6 +30,7 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
Usage: ${0##*/} <type> {args}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -37,6 +37,7 @@ templateDir="appTemplates"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
|
||||
11
bin/foamPack
11
bin/foamPack
@ -33,12 +33,13 @@ packDir=$WM_PROJECT-$WM_PROJECT_VERSION
|
||||
toolsDir="${0%/*}/tools" # this script is located in the tools/ parent dir
|
||||
|
||||
usage() {
|
||||
while [ $# -gt 0 ]; do echo "$1" 1>&2; shift; done
|
||||
cat <<USAGE 1>&2
|
||||
exec 1>&2
|
||||
while [ "$#" -gt 0 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
Usage: ${0##*/} [OPTION]
|
||||
options:
|
||||
-o <dir> specify alternative output directory
|
||||
-nogit bypass using 'git archive'
|
||||
-o, -output <dir> specify alternative output directory
|
||||
-nogit bypass using 'git archive'
|
||||
|
||||
* Pack and compress OpenFOAM directory for release
|
||||
|
||||
@ -46,7 +47,7 @@ USAGE
|
||||
exit 1
|
||||
}
|
||||
|
||||
unset prefix outputDir nogit
|
||||
unset outputDir nogit
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
|
||||
@ -46,7 +46,7 @@ case "${0##*/}" in
|
||||
;;
|
||||
*)
|
||||
# regular
|
||||
codeBase="OpenFOAM ThirdParty"
|
||||
codeBase="OpenFOAM"
|
||||
packDir=$WM_PROJECT-$WM_PROJECT_VERSION
|
||||
listBinDirs=$toolsDir/foamListBinDirs
|
||||
;;
|
||||
@ -54,11 +54,15 @@ esac
|
||||
|
||||
|
||||
usage() {
|
||||
while [ $# -gt 0 ]; do echo "$1" 1>&2; shift; done
|
||||
cat <<USAGE 1>&2
|
||||
exec 1>&2
|
||||
while [ "$#" -gt 0 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
Usage: ${0##*/} [OPTION] <archOptions>
|
||||
${0##*/} [OPTION] -current
|
||||
options:
|
||||
-o <dir> specify alternative output directory
|
||||
-b, -bzip2 use bzip2 instead of gzip compression
|
||||
-c, -current use current value of \$WM_OPTIONS
|
||||
-o, -output <dir> specify alternative output directory
|
||||
|
||||
* Pack and compress binary version of $codeBase for release
|
||||
|
||||
@ -70,7 +74,9 @@ USAGE
|
||||
}
|
||||
|
||||
|
||||
unset prefix outputDir
|
||||
unset archOptions outputDir
|
||||
packExt=tgz
|
||||
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
@ -78,6 +84,14 @@ do
|
||||
-h | -help)
|
||||
usage
|
||||
;;
|
||||
-b | -bzip2)
|
||||
packExt=tbz
|
||||
shift
|
||||
;;
|
||||
-c | -current) # use $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="$WM_OPTIONS"
|
||||
shift
|
||||
;;
|
||||
-o | -output)
|
||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||
outputDir=${2%%/}
|
||||
@ -92,14 +106,17 @@ do
|
||||
esac
|
||||
done
|
||||
|
||||
[ $# -eq 1 ] || usage "Error: specify architecture"
|
||||
if [ -n "$archOptions" ]
|
||||
then
|
||||
[ $# -eq 0 ] || usage "Error: cannot specify both -current and architecture"
|
||||
else
|
||||
archOptions="$1"
|
||||
[ $# -eq 1 ] || usage "Error: specify architecture"
|
||||
fi
|
||||
|
||||
# same as $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="$1"
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
timeStamp=$(date +%Y-%m-%d)
|
||||
packExt=tgz
|
||||
packBase=${packDir}.${archOptions}_${timeStamp}
|
||||
|
||||
# add optional output directory
|
||||
@ -126,11 +143,20 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# bzip2 or gzip compression
|
||||
case "$packFile" in
|
||||
*tbz)
|
||||
tarOpt=cpjf
|
||||
;;
|
||||
*)
|
||||
tarOpt=cpzf
|
||||
;;
|
||||
esac
|
||||
|
||||
# Clean up on Ctrl-C
|
||||
trap 'rm -f $packFile 2>/dev/null' INT
|
||||
|
||||
tar cpzf $packFile $dirList
|
||||
tar $tarOpt $packFile $dirList
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Finished packing file $packFile" 1>&2
|
||||
|
||||
156
bin/foamPackDeps
Executable file
156
bin/foamPackDeps
Executable file
@ -0,0 +1,156 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2011-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/>.
|
||||
#
|
||||
# Script
|
||||
# foamPackDeps [OPTION]
|
||||
#
|
||||
# Description
|
||||
# Pack and compress *.dep files from OpenFOAM
|
||||
#
|
||||
# Script
|
||||
# foamPackDeps [OPTION]
|
||||
#
|
||||
# Description
|
||||
# Pack and compress *.dep files from OpenFOAM ThirdParty
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
toolsDir="${0%/*}/tools" # this script is located in the tools/ parent dir
|
||||
|
||||
case "${0##*/}" in
|
||||
*ThirdParty*)
|
||||
# for ThirdParty
|
||||
codeBase="OpenFOAM ThirdParty"
|
||||
packDir=ThirdParty-$WM_PROJECT_VERSION
|
||||
;;
|
||||
*)
|
||||
# regular
|
||||
codeBase="OpenFOAM"
|
||||
packDir=$WM_PROJECT-$WM_PROJECT_VERSION
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -gt 0 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
Usage: ${0##*/} [OPTION]
|
||||
options:
|
||||
-b, -bzip2 use bzip2 instead of gzip compression
|
||||
-c, -current for compatibility - currently ignored
|
||||
-o, -output <dir> specify alternative output directory
|
||||
|
||||
* Pack and compress *.dep files from $codeBase
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
unset archOptions outputDir
|
||||
packExt=tgz
|
||||
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help)
|
||||
usage
|
||||
;;
|
||||
-b | -bzip2)
|
||||
packExt=tbz
|
||||
shift
|
||||
;;
|
||||
-c | -current) # use $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="$WM_OPTIONS"
|
||||
shift
|
||||
;;
|
||||
-o | -output)
|
||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||
outputDir=${2%%/}
|
||||
shift 2
|
||||
;;
|
||||
-*)
|
||||
usage "unknown option: '$*'"
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# check for essential directories
|
||||
[ -d $packDir ] || {
|
||||
echo "Error: directory $packDir does not exist" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
timeStamp=$(date +%Y-%m-%d)
|
||||
packBase=${packDir}.deps_${timeStamp}
|
||||
|
||||
# add optional output directory
|
||||
[ -d "$outputDir" ] && packBase="$outputDir/$packBase"
|
||||
packFile=$packBase.$packExt
|
||||
|
||||
# avoid overwriting old pack file
|
||||
if [ -f $packFile ]
|
||||
then
|
||||
echo "Error: $packFile already exists" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cat <<INFO 1>&2
|
||||
-------------------------------------------------------------------------------
|
||||
Packing *.dep files into $packFile
|
||||
|
||||
INFO
|
||||
|
||||
|
||||
# bzip2 or gzip compression
|
||||
case "$packFile" in
|
||||
*tbz)
|
||||
tarOpt=cpjf
|
||||
;;
|
||||
*)
|
||||
tarOpt=cpzf
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# Clean up on Ctrl-C
|
||||
trap 'rm -f $packFile 2>/dev/null' INT
|
||||
|
||||
find -H $packDir -name '*.dep' -type f -print | tar $tarOpt $packFile -T -
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Finished packing *.dep files into $packFile" 1>&2
|
||||
else
|
||||
echo "Error: failure packing *.dep files into $packFile" 1>&2
|
||||
rm -f $packFile 2>/dev/null
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -33,12 +33,14 @@ packDir=$WM_PROJECT-$WM_PROJECT_VERSION
|
||||
htmlDir=doc/Doxygen/html
|
||||
|
||||
usage() {
|
||||
while [ $# -gt 0 ]; do echo "$1" 1>&2; shift; done
|
||||
cat <<USAGE 1>&2
|
||||
exec 1>&2
|
||||
while [ "$#" -gt 0 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
Usage: ${0##*/} [OPTION]
|
||||
options:
|
||||
-prefix <dir> use alternative prefix
|
||||
-o <dir> specify alternative output directory
|
||||
-b, -bzip2 use bzip2 instead of gzip compression
|
||||
-o, -output <dir> specify alternative output directory
|
||||
-prefix <dir> use alternative prefix
|
||||
|
||||
* Pack and compress the OpenFOAM doxygen html for release
|
||||
|
||||
@ -46,7 +48,10 @@ USAGE
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
unset prefix outputDir
|
||||
packExt=tgz
|
||||
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
@ -54,16 +59,20 @@ do
|
||||
-h | -help)
|
||||
usage
|
||||
;;
|
||||
-prefix | --prefix)
|
||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||
prefix=${2%%/}
|
||||
shift 2
|
||||
-b | -bzip2)
|
||||
packExt=tbz
|
||||
shift
|
||||
;;
|
||||
-o | -output)
|
||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||
outputDir=${2%%/}
|
||||
shift 2
|
||||
;;
|
||||
-prefix | --prefix)
|
||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||
prefix=${2%%/}
|
||||
shift 2
|
||||
;;
|
||||
-*)
|
||||
usage "unknown option: '$*'"
|
||||
;;
|
||||
@ -87,7 +96,6 @@ then
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
packExt=tgz
|
||||
packName=${packDir}_Doxygen
|
||||
|
||||
# add optional output directory
|
||||
@ -107,22 +115,32 @@ Packing doxygen html into $packFile
|
||||
|
||||
INFO
|
||||
|
||||
# bzip2 or gzip compression
|
||||
case "$packFile" in
|
||||
*tbz)
|
||||
tarOpt=cpjf
|
||||
;;
|
||||
*)
|
||||
tarOpt=cpzf
|
||||
;;
|
||||
esac
|
||||
|
||||
# Clean up on Ctrl-C
|
||||
trap 'rm -f $packFile 2>/dev/null' INT
|
||||
|
||||
if [ -n "$prefix" ]
|
||||
then
|
||||
# requires GNU tar
|
||||
tar cpzf $packFile --transform="s@^@$prefix/@" $htmlDir
|
||||
tar $tarOpt $packFile --transform="s@^@$prefix/@" $htmlDir
|
||||
else
|
||||
tar cpzf $packFile $packDir/$htmlDir
|
||||
tar $tarOpt $packFile $packDir/$htmlDir
|
||||
fi
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Finished packing doxygen html into file $packFile" 1>&2
|
||||
echo "Finished packing doxygen html into $packFile" 1>&2
|
||||
else
|
||||
echo "Error: failure packing doxygen html file $packFile" 1>&2
|
||||
echo "Error: failure packing doxygen html into $packFile" 1>&2
|
||||
rm -f $packFile 2>/dev/null
|
||||
fi
|
||||
|
||||
|
||||
164
bin/foamPackMake
Executable file
164
bin/foamPackMake
Executable file
@ -0,0 +1,164 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2011-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/>.
|
||||
#
|
||||
# Script
|
||||
# foamPackMake [OPTION] <archOptions>
|
||||
#
|
||||
# Description
|
||||
# Pack and compress OpenFOAM Make/<archOptions> directories
|
||||
#
|
||||
# Script
|
||||
# foamPackThirdPartyMake [OPTION] <archOptions>
|
||||
#
|
||||
# Description
|
||||
# Pack and compress OpenFOAM ThirdParty Make/<archOptions> directories
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
toolsDir="${0%/*}/tools" # this script is located in the tools/ parent dir
|
||||
|
||||
case "${0##*/}" in
|
||||
*ThirdParty*)
|
||||
# for ThirdParty
|
||||
codeBase="OpenFOAM ThirdParty"
|
||||
packDir=ThirdParty-$WM_PROJECT_VERSION
|
||||
;;
|
||||
*)
|
||||
# regular
|
||||
codeBase="OpenFOAM"
|
||||
packDir=$WM_PROJECT-$WM_PROJECT_VERSION
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -gt 0 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
Usage: ${0##*/} [OPTION] <archOptions>
|
||||
${0##*/} [OPTION] -current
|
||||
options:
|
||||
-b, -bzip2 use bzip2 instead of gzip compression
|
||||
-c, -current use current value of \$WM_OPTIONS
|
||||
-o, -output <dir> specify alternative output directory
|
||||
|
||||
* Pack and compress $codeBase Make/<archOptions> directories
|
||||
|
||||
The value of 'archOptions' normally corresponds to \$WM_OPTIONS
|
||||
The current value of \$WM_OPTIONS = $WM_OPTIONS
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
unset archOptions outputDir
|
||||
packExt=tgz
|
||||
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help)
|
||||
usage
|
||||
;;
|
||||
-b | -bzip2)
|
||||
packExt=tbz
|
||||
shift
|
||||
;;
|
||||
-c | -current) # use $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="$WM_OPTIONS"
|
||||
shift
|
||||
;;
|
||||
-o | -output)
|
||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||
outputDir=${2%%/}
|
||||
shift 2
|
||||
;;
|
||||
-*)
|
||||
usage "unknown option: '$*'"
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "$archOptions" ]
|
||||
then
|
||||
[ $# -eq 0 ] || usage "Error: cannot specify both -current and architecture"
|
||||
else
|
||||
archOptions="$1"
|
||||
[ $# -eq 1 ] || usage "Error: specify architecture"
|
||||
fi
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
timeStamp=$(date +%Y-%m-%d)
|
||||
packBase=${packDir}.Make-${archOptions}_${timeStamp}
|
||||
|
||||
# add optional output directory
|
||||
[ -d "$outputDir" ] && packBase="$outputDir/$packBase"
|
||||
packFile=$packBase.$packExt
|
||||
|
||||
# avoid overwriting old pack file
|
||||
if [ -f $packFile ]
|
||||
then
|
||||
echo "Error: $packFile already exists" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cat <<INFO 1>&2
|
||||
-------------------------------------------------------------------------------
|
||||
Pack and compress Make/$archOptions* directories into $packFile
|
||||
|
||||
INFO
|
||||
|
||||
|
||||
# bzip2 or gzip compression
|
||||
case "$packFile" in
|
||||
*tbz)
|
||||
tarOpt=cpjf
|
||||
;;
|
||||
*)
|
||||
tarOpt=cpzf
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# Clean up on Ctrl-C
|
||||
trap 'rm -f $packFile 2>/dev/null' INT
|
||||
|
||||
find -H $packDir -depth -name Make -type d -print | \
|
||||
xargs -i find '{}' -depth -name "$archOptions*" -type d -print | \
|
||||
tar $tarOpt $packFile -T -
|
||||
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Finished packing Make/$archOptions directories into $packFile" 1>&2
|
||||
else
|
||||
echo "Error: failure packing Make/$archOptions directories into $packFile" 1>&2
|
||||
rm -f $packFile 2>/dev/null
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -33,8 +33,9 @@ packDir=ThirdParty-$WM_PROJECT_VERSION
|
||||
toolsDir="${0%/*}/tools" # this script is located in the tools/ parent dir
|
||||
|
||||
usage() {
|
||||
while [ $# -gt 0 ]; do echo "$1" 1>&2; shift; done
|
||||
cat <<USAGE 1>&2
|
||||
exec 1>&2
|
||||
while [ "$#" -gt 0 ]; do echo "$1"; shift; done
|
||||
cat <<USAGE
|
||||
Usage: ${0##*/} [OPTION]
|
||||
options:
|
||||
-o <dir> specify alternative output directory
|
||||
|
||||
1
bin/foamPackThirdPartyDeps
Symbolic link
1
bin/foamPackThirdPartyDeps
Symbolic link
@ -0,0 +1 @@
|
||||
foamPackDeps
|
||||
1
bin/foamPackThirdPartyMake
Symbolic link
1
bin/foamPackThirdPartyMake
Symbolic link
@ -0,0 +1 @@
|
||||
foamPackMake
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -33,6 +33,7 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -33,6 +33,7 @@
|
||||
# undefined behaviour
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -29,8 +29,9 @@
|
||||
# Remove all .dep files or remove .dep files referring to <file>
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE 1>&2
|
||||
cat<<USAGE
|
||||
Usage: ${0##*/} [file]
|
||||
|
||||
Remove all .dep files or remove .dep files referring to <file>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -34,8 +34,9 @@
|
||||
# - optionally remove empty directories
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE 1>&2
|
||||
cat<<USAGE
|
||||
Usage: ${0##*/} [OPTION] [dir1 .. dirN]
|
||||
options:
|
||||
-rmdir find and remove empty directories (recursively)
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -30,6 +30,7 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -23,7 +23,7 @@
|
||||
# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# foamListBinDirs <directory> <archOptions>
|
||||
# foamListBinDirs <directory> [archOptions]
|
||||
#
|
||||
# Description
|
||||
# Lists directories containing binary files of OpenFOAM
|
||||
@ -33,9 +33,9 @@
|
||||
#------------------------------------------------------------------------------
|
||||
toolsDir="${0%/*}" # this script is already located in the tools/ directory
|
||||
|
||||
[ $# -eq 2 ] || {
|
||||
[ $# -eq 1 -o $# -eq 2 ] || {
|
||||
cat <<USAGE 1>&2
|
||||
Usage : ${0##*/} <packDir> <archOptions>
|
||||
Usage : ${0##*/} <packDir> [archOptions]
|
||||
|
||||
* Lists directories containing binary files for OpenFOAM
|
||||
|
||||
@ -49,8 +49,13 @@ USAGE
|
||||
#------------------------------------------------------------------------------
|
||||
packDir="$1"
|
||||
|
||||
# same as $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="$2"
|
||||
# default to same as $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="${2:-$WM_OPTIONS}"
|
||||
|
||||
[ -n "$archOptions" ] || {
|
||||
echo "Error: no archOptions specified" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# base arch (w/o precision, optimization, etc)
|
||||
# same as "$WM_ARCH$WM_COMPILER"
|
||||
@ -65,42 +70,18 @@ arch3264=$(echo "$archOS" | sed -e 's@64@-64@')
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# check for essential directories
|
||||
[ -d $packDir ] || {
|
||||
echo "Error: directory $packDir does not exist" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# check places for libraries - same as $FOAM_LIBBIN
|
||||
# this has moved around a bit in the recent past
|
||||
#
|
||||
[ -d $packDir/lib/$archOptions ] || \
|
||||
[ -d $packDir/platforms/$archOptions/lib ] || {
|
||||
cat <<LIB_CHECK 1>&2
|
||||
Error: no directory for libraries exists:
|
||||
$packDir/lib/$archOptions
|
||||
$packDir/platforms/$archOptions/lib
|
||||
LIB_CHECK
|
||||
exit 1
|
||||
}
|
||||
|
||||
#
|
||||
# check places for executables - same as $FOAM_APPBIN
|
||||
# this has moved around a bit in the recent past
|
||||
#
|
||||
[ -d $packDir/applications/bin/$archOptions ] || \
|
||||
[ -d $packDir/platforms/$archOptions/bin ] || {
|
||||
cat <<BIN_CHECK 1>&2
|
||||
Error: no directory for executables exists:
|
||||
$packDir/platforms/$archOptions/bin
|
||||
$packDir/applications/bin/$archOptions
|
||||
BIN_CHECK
|
||||
exit 1
|
||||
}
|
||||
|
||||
for dir in \
|
||||
$packDir \
|
||||
$packDir/platforms/$archOptions/bin \
|
||||
$packDir/platforms/$archOptions/lib \
|
||||
;
|
||||
do
|
||||
[ -d $dir ] || {
|
||||
echo "Error: directory $dir does not exist" 1>&2
|
||||
exit 1
|
||||
}
|
||||
done
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# list of directories
|
||||
@ -108,13 +89,11 @@ dirList=$(
|
||||
for dir in \
|
||||
$packDir/platforms/$archOptions/bin \
|
||||
$packDir/platforms/$archOptions/lib \
|
||||
$packDir/wmake/bin/$archCompiler \
|
||||
$packDir/wmake/bin/$archOS \
|
||||
$packDir/wmake/platforms/$archCompiler \
|
||||
$packDir/wmake/platforms/$archOS \
|
||||
$packDir/wmake/rules/General \
|
||||
$packDir/wmake/rules/$archCompiler \
|
||||
$packDir/wmake/rules/$archOS \
|
||||
$packDir/applications/bin/$archOptions \
|
||||
$packDir/lib/$archOptions \
|
||||
;
|
||||
do
|
||||
[ -d $dir ] && echo $dir
|
||||
|
||||
@ -46,7 +46,7 @@ USAGE
|
||||
packDir=$(echo "$1" | sed -e 's@//*@/@g' -e 's@/$@@')
|
||||
|
||||
# check for essential directories
|
||||
[ -d $packDir ] || {
|
||||
[ -d "$packDir" ] || {
|
||||
echo "Error: directory $packDir does not exist" 1>&2
|
||||
exit 1
|
||||
}
|
||||
@ -71,16 +71,15 @@ find -H $packDir \
|
||||
-a ! -name "*.tar" \
|
||||
-a ! -name "*.tar.gz" \
|
||||
-a ! -name "*.tgz" \
|
||||
-a ! -name "*.tar.bz2" \
|
||||
-a ! -name "*.tbz" \
|
||||
-a ! -name "core" \
|
||||
-a ! -name "core.[1-9]*" \
|
||||
-a ! -name "libccmio*" \
|
||||
| sed \
|
||||
-e "\@$packDir/lib/@d" \
|
||||
-e '\@/\.git/@d' \
|
||||
-e '\@/\.tags/@d' \
|
||||
-e '\@/README\.org@d' \
|
||||
-e '\@/bin/[^/]*/@{ \@/bin/tools/@!d }' \
|
||||
-e '\@/lib/@d' \
|
||||
-e '\@/platforms/@d' \
|
||||
-e '\@/t/@d' \
|
||||
-e '\@/Make[.A-Za-z]*/[^/]*/@d' \
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# foamListThirdPartyBinDirs <directory> <archOptions>
|
||||
# foamListThirdPartyBinDirs <directory> [archOptions]
|
||||
#
|
||||
# Description
|
||||
# Lists directories containing binary files for OpenFOAM ThirdParty
|
||||
@ -33,9 +33,9 @@
|
||||
#------------------------------------------------------------------------------
|
||||
toolsDir="${0%/*}" # this script is already located in the tools/ directory
|
||||
|
||||
[ $# -eq 2 ] || {
|
||||
[ $# -eq 1 -o $# -eq 2 ] || {
|
||||
cat <<USAGE 1>&2
|
||||
Usage : ${0##*/} <packDir> <archOptions>
|
||||
Usage : ${0##*/} <packDir> [archOptions]
|
||||
|
||||
* List directories containing binary files for OpenFOAM ThirdParty
|
||||
|
||||
@ -49,8 +49,13 @@ USAGE
|
||||
#------------------------------------------------------------------------------
|
||||
packDir="$1"
|
||||
|
||||
# same as $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="$2"
|
||||
# default to same as $WM_OPTIONS - eg, 'linux64GccDPOpt'
|
||||
archOptions="${2:-$WM_OPTIONS}"
|
||||
|
||||
[ -n "$archOptions" ] || {
|
||||
echo "Error: no archOptions specified" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# base arch (w/o precision, optimization, etc)
|
||||
# same as "$WM_ARCH$WM_COMPILER"
|
||||
@ -66,7 +71,10 @@ arch3264=$(echo "$archOS" | sed -e 's@64@-64@')
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# check for essential directories
|
||||
for dir in $packDir $packDir/platforms/$archOptions/lib
|
||||
for dir in \
|
||||
$packDir \
|
||||
$packDir/platforms/$archOptions/lib \
|
||||
;
|
||||
do
|
||||
[ -d $dir ] || {
|
||||
echo "Error: directory $dir does not exist" 1>&2
|
||||
|
||||
@ -78,15 +78,25 @@ INFO
|
||||
wc $tmpFile | awk '{print "Packing",$1,"files - this could take some time ..."}' 1>&2
|
||||
|
||||
|
||||
# bzip2 or gzip compression
|
||||
case "$packFile" in
|
||||
*tbz)
|
||||
tarOpt=cpjf
|
||||
;;
|
||||
*)
|
||||
tarOpt=cpzf
|
||||
;;
|
||||
esac
|
||||
|
||||
# Clean up on Ctrl-C
|
||||
trap 'rm -f $packFile $tmpFile 2>/dev/null' INT
|
||||
|
||||
tar cpzf $packFile --files-from $tmpFile
|
||||
tar $tarOpt $packFile --files-from $tmpFile
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "Finished packing $packDir into file $packFile" 1>&2
|
||||
echo "Finished packing $packDir into $packFile" 1>&2
|
||||
else
|
||||
echo "Error: failure packing $packDir into file $packFile" 1>&2
|
||||
echo "Error: failure packing $packDir into $packFile" 1>&2
|
||||
rm -f $packFile 2>/dev/null
|
||||
fi
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2009-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -32,10 +32,11 @@
|
||||
Script=${0##*/}
|
||||
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
Usage: ${0##*/} [OPTIONS] file1 [.. fileN]
|
||||
Usage: $Script [OPTIONS] file1 [.. fileN]
|
||||
options:
|
||||
-html create html (default)
|
||||
-latex create LaTeX
|
||||
|
||||
@ -148,7 +148,7 @@ checkIllegalCode()
|
||||
do
|
||||
case "$f" in
|
||||
# exclude potential makefiles
|
||||
(wmake/[Mm]akefile* | wmake/rules/*)
|
||||
(*[Mm]akefile* | wmake/rules/*)
|
||||
;;
|
||||
(*)
|
||||
# parse line numbers from grep output:
|
||||
|
||||
@ -111,7 +111,7 @@ checkIllegalCode()
|
||||
do
|
||||
case "$f" in
|
||||
# exclude potential makefiles
|
||||
(wmake/[Mm]akefile* | wmake/rules/*)
|
||||
(*[Mm]akefile* | wmake/rules/*)
|
||||
;;
|
||||
(*)
|
||||
# parse line numbers from grep output:
|
||||
|
||||
71
bin/touchdep
71
bin/touchdep
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -28,25 +28,72 @@
|
||||
# Description
|
||||
# touch all .dep files
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
# default is pwd
|
||||
if [ "$#" -eq 0 ]
|
||||
then
|
||||
set -- .
|
||||
elif [ "$1" = "-h" -o "$1" = "-help" ]
|
||||
then
|
||||
echo "Usage: ${0##*/} [dir1] .. [dirN]"
|
||||
echo " touch all .dep files"
|
||||
Usage: ${0##*/} [OPTION] [dir1] .. [dirN]
|
||||
options:
|
||||
-make limit selection to 'Make/\$WM_OPTIONS*' (Make/$WM_OPTIONS*)
|
||||
-help print the usage
|
||||
|
||||
Find and touch all .dep files in the specified directories.
|
||||
Uses the cwd by default if no directories are specified.
|
||||
|
||||
Current value of WM_OPTIONS=$WM_OPTIONS
|
||||
|
||||
|
||||
NOTE The '-make' is a future feature.
|
||||
This is currently no separation of .dep files by platforms.
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
unset restrictOpt
|
||||
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help)
|
||||
usage
|
||||
;;
|
||||
-m | -make)
|
||||
[ -n "$WM_OPTIONS" ] || usage "Error: -make option only valid when \$WM_OPTIONS is set"
|
||||
restrictOpt=true
|
||||
shift
|
||||
;;
|
||||
-*)
|
||||
usage "unknown option: '$*'"
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
# no directories specified: default is pwd
|
||||
[ "$#" -gt 0 ] || set -- .
|
||||
|
||||
for i
|
||||
do
|
||||
if [ -d "$i" ]
|
||||
then
|
||||
echo "touching all .dep files: $i"
|
||||
find $i -name '*.dep' -print | xargs -t touch
|
||||
if [ "$restrictOpt" = true ]
|
||||
then
|
||||
echo "touching all .dep files under Make/$WM_OPTIONS* : $i"
|
||||
find $i -depth -name Make -type d -print | \
|
||||
xargs -i find '{}' -depth -name "$WM_OPTIONS*" -type d -print | \
|
||||
xargs -i find '{}' -name '*.dep' -type f -print | \
|
||||
xargs -t touch
|
||||
else
|
||||
echo "touching all .dep files: $i"
|
||||
find $i -name '*.dep' -type f -print | xargs -t touch
|
||||
fi
|
||||
else
|
||||
echo "no directory: $i"
|
||||
fi
|
||||
|
||||
68
bin/toucho
68
bin/toucho
@ -3,7 +3,7 @@
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
# \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
# License
|
||||
@ -28,27 +28,71 @@
|
||||
# Description
|
||||
# touch all .o files
|
||||
#------------------------------------------------------------------------------
|
||||
usage() {
|
||||
exec 1>&2
|
||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||
cat<<USAGE
|
||||
|
||||
# default is pwd
|
||||
if [ "$#" -eq 0 ]
|
||||
then
|
||||
set -- .
|
||||
elif [ "$1" = "-h" -o "$1" = "-help" ]
|
||||
then
|
||||
echo "Usage: ${0##*/} [dir1] .. [dirN]"
|
||||
echo " touch all .o files"
|
||||
Usage: ${0##*/} [OPTION] [dir1] .. [dirN]
|
||||
options:
|
||||
-make limit selection to 'Make/\$WM_OPTIONS*'
|
||||
-help print the usage
|
||||
|
||||
Find and touch all .o files in the specified directories.
|
||||
Uses the cwd by default if no directories are specified.
|
||||
|
||||
Current value of WM_OPTIONS=$WM_OPTIONS
|
||||
|
||||
USAGE
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
unset restrictOpt
|
||||
|
||||
# parse options
|
||||
while [ "$#" -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-h | -help)
|
||||
usage
|
||||
;;
|
||||
-m | -make)
|
||||
[ -n "$WM_OPTIONS" ] || usage "Error: -make option only valid when \$WM_OPTIONS is set"
|
||||
restrictOpt=true
|
||||
shift
|
||||
;;
|
||||
-*)
|
||||
usage "unknown option: '$*'"
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
# no directories specified: default is pwd
|
||||
[ "$#" -gt 0 ] || set -- .
|
||||
|
||||
for i
|
||||
do
|
||||
if [ -d "$i" ]
|
||||
then
|
||||
echo "touching all .o files: $i"
|
||||
find $i -name '*.o' -print | xargs -t touch
|
||||
if [ "$restrictOpt" = true ]
|
||||
then
|
||||
echo "touching all .o files under Make/$WM_OPTIONS* : $i"
|
||||
find $i -depth -name Make -type d -print | \
|
||||
xargs -i find '{}' -depth -name "$WM_OPTIONS*" -type d -print | \
|
||||
xargs -i find '{}' -name '*.o' -type f -print | \
|
||||
xargs -t touch
|
||||
else
|
||||
echo "touching all .o files: $i"
|
||||
find $i -name '*.o' -type f -print | xargs -t touch
|
||||
fi
|
||||
else
|
||||
echo "no directory: $i"
|
||||
fi
|
||||
done
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
46
etc/apps/paraview3/bashrc-EXAMPLE
Normal file
46
etc/apps/paraview3/bashrc-EXAMPLE
Normal file
@ -0,0 +1,46 @@
|
||||
#----------------------------------*-sh-*--------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | Copyright (C) 2011-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/>.
|
||||
#
|
||||
# File
|
||||
# paraview3/bashrc-EXAMPLE
|
||||
#
|
||||
# Description
|
||||
# Example of chaining to the standard paraview3/bashrc with a
|
||||
# different ParaView_VERSION
|
||||
#
|
||||
# Note
|
||||
# This file could be copied to a user or site location, but should never
|
||||
# replace the default shipped version as this will cause an infinite loop
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#
|
||||
# Use other (shipped) bashrc with a different ParaView_VERSION
|
||||
#
|
||||
|
||||
foamFile=$($WM_PROJECT_DIR/bin/foamEtcFile -mode o apps/paraview3/bashrc 2>/dev/null)
|
||||
[ $? -eq 0 ] && . $foamFile ParaView_VERSION=3.9.0
|
||||
|
||||
unset foamFile
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
12
etc/bashrc
12
etc/bashrc
@ -122,12 +122,12 @@ export WM_THIRD_PARTY_DIR=$WM_PROJECT_INST_DIR/ThirdParty-$WM_PROJECT_VERSION
|
||||
# Source files, possibly with some verbosity
|
||||
_foamSource()
|
||||
{
|
||||
while [ $# -ge 1 ]
|
||||
do
|
||||
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "Sourcing: $1"
|
||||
. $1
|
||||
shift
|
||||
done
|
||||
while [ $# -ge 1 ]
|
||||
do
|
||||
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "Sourcing: $1"
|
||||
. $1
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
# Evaluate command-line parameters
|
||||
|
||||
@ -39,6 +39,7 @@ parallel/decompose/AllwmakeLnInclude
|
||||
dummyThirdParty/Allwmake $*
|
||||
|
||||
wmake $makeOption lagrangian/basic
|
||||
wmake $makeOption lagrangian/distributionModels
|
||||
wmake $makeOption finiteVolume
|
||||
wmake $makeOption genericPatchFields
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ Description
|
||||
|
||||
SeeAlso
|
||||
The manpage regex(7) for more information about POSIX regular expressions.
|
||||
These differ somewhat from \c Perl and @c sed regular expressions.
|
||||
These differ somewhat from \c Perl and \c sed regular expressions.
|
||||
|
||||
SourceFiles
|
||||
regExp.C
|
||||
|
||||
@ -66,6 +66,7 @@ primitives/functions/DataEntry/makeDataEntries.C
|
||||
primitives/functions/DataEntry/polynomial/polynomial.C
|
||||
primitives/functions/DataEntry/polynomial/polynomialIO.C
|
||||
|
||||
primitives/functions/Polynomial/polynomialFunction.C
|
||||
|
||||
strings = primitives/strings
|
||||
$(strings)/string/string.C
|
||||
@ -164,11 +165,16 @@ $(functionEntries)/includeIfPresentEntry/includeIfPresentEntry.C
|
||||
$(functionEntries)/inputModeEntry/inputModeEntry.C
|
||||
$(functionEntries)/removeEntry/removeEntry.C
|
||||
|
||||
calcEntry = $(functionEntries)/calcEntry
|
||||
$(calcEntry)/calcEntryParser.atg
|
||||
$(calcEntry)/calcEntryInternal.C
|
||||
$(calcEntry)/calcEntry.C
|
||||
|
||||
/*
|
||||
* Requires customized coco-cpp
|
||||
* could be dropped or activated in the future
|
||||
*/
|
||||
/*
|
||||
calcEntry = $(functionEntries)/calcEntry
|
||||
$(calcEntry)/calcEntryParser.atg
|
||||
$(calcEntry)/calcEntryInternal.C
|
||||
$(calcEntry)/calcEntry.C
|
||||
*/
|
||||
|
||||
IOdictionary = db/IOobjects/IOdictionary
|
||||
$(IOdictionary)/IOdictionary.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -137,7 +137,7 @@ Foam::IOdictionary::IOdictionary(const IOobject& io)
|
||||
}
|
||||
|
||||
// Everyone check or just master
|
||||
bool masterOnly =
|
||||
bool masterOnly =
|
||||
regIOobject::fileModificationChecking == timeStampMaster
|
||||
|| regIOobject::fileModificationChecking == inotifyMaster;
|
||||
|
||||
@ -195,7 +195,7 @@ Foam::IOdictionary::IOdictionary(const IOobject& io, const dictionary& dict)
|
||||
}
|
||||
|
||||
// Everyone check or just master
|
||||
bool masterOnly =
|
||||
bool masterOnly =
|
||||
regIOobject::fileModificationChecking == timeStampMaster
|
||||
|| regIOobject::fileModificationChecking == inotifyMaster;
|
||||
|
||||
@ -239,6 +239,15 @@ Foam::IOdictionary::IOdictionary(const IOobject& io, const dictionary& dict)
|
||||
}
|
||||
|
||||
|
||||
Foam::IOdictionary::IOdictionary(const IOobject& io, Istream& is)
|
||||
:
|
||||
regIOobject(io),
|
||||
dictionary(is)
|
||||
{
|
||||
dictionary::name() = IOobject::objectPath();
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::IOdictionary::~IOdictionary()
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -75,6 +75,9 @@ public:
|
||||
//- Construct given an IOobject and dictionary
|
||||
IOdictionary(const IOobject&, const dictionary&);
|
||||
|
||||
//- Construct given an IOobject and Istream
|
||||
IOdictionary(const IOobject&, Istream&);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~IOdictionary();
|
||||
|
||||
@ -486,14 +486,29 @@ Foam::dictionary& Foam::dictionary::subDict(const word& keyword)
|
||||
|
||||
Foam::dictionary Foam::dictionary::subOrEmptyDict
|
||||
(
|
||||
const word& keyword
|
||||
const word& keyword,
|
||||
const bool mustRead
|
||||
) const
|
||||
{
|
||||
const entry* entryPtr = lookupEntryPtr(keyword, false, true);
|
||||
|
||||
if (entryPtr == NULL)
|
||||
{
|
||||
return dictionary(*this, dictionary(name() + "::" + keyword));
|
||||
if (mustRead)
|
||||
{
|
||||
FatalIOErrorIn
|
||||
(
|
||||
"dictionary::subOrEmptyDict(const word& keyword, const bool)",
|
||||
*this
|
||||
) << "keyword " << keyword << " is undefined in dictionary "
|
||||
<< name()
|
||||
<< exit(FatalIOError);
|
||||
return entryPtr->dict();
|
||||
}
|
||||
else
|
||||
{
|
||||
return dictionary(*this, dictionary(name() + "::" + keyword));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -368,7 +368,11 @@ public:
|
||||
|
||||
//- Find and return a sub-dictionary as a copy, or
|
||||
// return an empty dictionary if the sub-dictionary does not exist
|
||||
dictionary subOrEmptyDict(const word&) const;
|
||||
dictionary subOrEmptyDict
|
||||
(
|
||||
const word&,
|
||||
const bool mustRead = false
|
||||
) const;
|
||||
|
||||
//- Return the table of contents
|
||||
wordList toc() const;
|
||||
|
||||
@ -27,7 +27,7 @@ Class
|
||||
Description
|
||||
Specify a file to include if it exists. Expects a single string to follow.
|
||||
|
||||
The \c \#includeIfPresent directive is similar to the @c \#include
|
||||
The \c \#includeIfPresent directive is similar to the \c \#include
|
||||
directive, but does not generate an error if the file does not exist.
|
||||
|
||||
See Also
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -95,17 +95,22 @@ Foam::tmp
|
||||
>
|
||||
Foam::GeometricField<Type, PatchField, GeoMesh>::readField(Istream& is)
|
||||
{
|
||||
if (is.version() < 2.0)
|
||||
{
|
||||
FatalIOErrorIn
|
||||
return readField
|
||||
(
|
||||
IOdictionary
|
||||
(
|
||||
"GeometricField<Type, PatchField, GeoMesh>::readField(Istream&)",
|
||||
IOobject
|
||||
(
|
||||
this->name(),
|
||||
this->time().timeName(),
|
||||
this->db(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
),
|
||||
is
|
||||
) << "IO versions < 2.0 are not supported."
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
return readField(dictionary(is));
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -384,45 +389,6 @@ Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField
|
||||
}
|
||||
|
||||
|
||||
template<class Type, template<class> class PatchField, class GeoMesh>
|
||||
Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField
|
||||
(
|
||||
const IOobject& io,
|
||||
const Mesh& mesh,
|
||||
Istream& is
|
||||
)
|
||||
:
|
||||
DimensionedField<Type, GeoMesh>(io, mesh, dimless, false),
|
||||
timeIndex_(this->time().timeIndex()),
|
||||
field0Ptr_(NULL),
|
||||
fieldPrevIterPtr_(NULL),
|
||||
boundaryField_(*this, readField(is))
|
||||
{
|
||||
// Check compatibility between field and mesh
|
||||
|
||||
if (this->size() != GeoMesh::size(this->mesh()))
|
||||
{
|
||||
FatalIOErrorIn
|
||||
(
|
||||
"GeometricField<Type, PatchField, GeoMesh>::GeometricField"
|
||||
"(const IOobject&, const Mesh&, Istream&)",
|
||||
is
|
||||
) << " number of field elements = " << this->size()
|
||||
<< " number of mesh elements = " << GeoMesh::size(this->mesh())
|
||||
<< exit(FatalIOError);
|
||||
}
|
||||
|
||||
readOldTimeIfPresent();
|
||||
|
||||
if (debug)
|
||||
{
|
||||
Info<< "Finishing read-construct of "
|
||||
"GeometricField<Type, PatchField, GeoMesh>"
|
||||
<< endl << this->info() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class Type, template<class> class PatchField, class GeoMesh>
|
||||
Foam::GeometricField<Type, PatchField, GeoMesh>::GeometricField
|
||||
(
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -325,14 +325,6 @@ public:
|
||||
const Mesh&
|
||||
);
|
||||
|
||||
//- Construct and read from given stream
|
||||
GeometricField
|
||||
(
|
||||
const IOobject&,
|
||||
const Mesh&,
|
||||
Istream&
|
||||
);
|
||||
|
||||
//- Construct from dictionary
|
||||
GeometricField
|
||||
(
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -21,9 +21,9 @@ License
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
@mainpage OpenFOAM®: open source CFD
|
||||
\mainpage OpenFOAM®: open source CFD
|
||||
|
||||
@section about About OpenFOAM
|
||||
\section about About OpenFOAM
|
||||
|
||||
OpenFOAM is a free, open source CFD software package produced by
|
||||
a commercial company,
|
||||
@ -35,7 +35,7 @@ License
|
||||
heat transfer, to solid dynamics and electromagnetics.
|
||||
<a href="http://www.openfoam.com/features">More ...</a>
|
||||
|
||||
@section users Our commitment to the users
|
||||
\section users Our commitment to the users
|
||||
|
||||
OpenFOAM comes with full commercial support from OpenCFD, including
|
||||
<a href="http://www.openfoam.com/support/software.php">
|
||||
@ -48,7 +48,7 @@ License
|
||||
These activities fund the development, maintenance and release of
|
||||
OpenFOAM to make it an extremely viable commercial open source product.
|
||||
|
||||
@section opensource Our commitment to open source
|
||||
\section opensource Our commitment to open source
|
||||
|
||||
OpenCFD is committed to open source software, continually developing and
|
||||
maintaining OpenFOAM under the
|
||||
|
||||
@ -550,11 +550,12 @@ Foam::label Foam::polyBoundaryMesh::whichPatch(const label faceIndex) const
|
||||
|
||||
Foam::labelHashSet Foam::polyBoundaryMesh::patchSet
|
||||
(
|
||||
const wordList& patchNames
|
||||
const wordReList& patchNames,
|
||||
const bool warnNotFound
|
||||
) const
|
||||
{
|
||||
wordList allPatchNames = names();
|
||||
labelHashSet ps(size());
|
||||
const wordList allPatchNames(this->names());
|
||||
labelHashSet ids(size());
|
||||
|
||||
forAll(patchNames, i)
|
||||
{
|
||||
@ -562,20 +563,23 @@ Foam::labelHashSet Foam::polyBoundaryMesh::patchSet
|
||||
// of all patch names for matches
|
||||
labelList patchIDs = findStrings(patchNames[i], allPatchNames);
|
||||
|
||||
if (patchIDs.empty())
|
||||
if (patchIDs.empty() && warnNotFound)
|
||||
{
|
||||
WarningIn("polyBoundaryMesh::patchSet(const wordList&)")
|
||||
<< "Cannot find any patch names matching " << patchNames[i]
|
||||
WarningIn
|
||||
(
|
||||
"polyBoundaryMesh::patchSet"
|
||||
"(const wordReList&, const bool) const"
|
||||
) << "Cannot find any patch names matching " << patchNames[i]
|
||||
<< endl;
|
||||
}
|
||||
|
||||
forAll(patchIDs, j)
|
||||
{
|
||||
ps.insert(patchIDs[j]);
|
||||
ids.insert(patchIDs[j]);
|
||||
}
|
||||
}
|
||||
|
||||
return ps;
|
||||
return ids;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -38,6 +38,7 @@ SourceFiles
|
||||
#include "polyPatchList.H"
|
||||
#include "regIOobject.H"
|
||||
#include "labelPair.H"
|
||||
#include "wordReList.H"
|
||||
#include "HashSet.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -166,9 +167,13 @@ public:
|
||||
//- Per boundary face label the patch index
|
||||
const labelList& patchID() const;
|
||||
|
||||
//- Return the set of patch IDs corresponding to the given list of names
|
||||
// Wild cards are expanded.
|
||||
labelHashSet patchSet(const wordList&) const;
|
||||
//- Return the set of patch IDs corresponding to the given names
|
||||
// By default warns if given names are not found.
|
||||
labelHashSet patchSet
|
||||
(
|
||||
const wordReList& patchNames,
|
||||
const bool warnNotFound = true
|
||||
) const;
|
||||
|
||||
//- Check whether all procs have all patches and in same order. Return
|
||||
// true if in error.
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -41,6 +41,18 @@ Foam::Polynomial<PolySize>::Polynomial()
|
||||
}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::Polynomial<PolySize>::Polynomial
|
||||
(
|
||||
const Polynomial<PolySize>& poly
|
||||
)
|
||||
:
|
||||
VectorSpace<Polynomial<PolySize>, scalar, PolySize>(poly),
|
||||
logActive_(poly.logActive_),
|
||||
logCoeff_(poly.logCoeff_)
|
||||
{}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::Polynomial<PolySize>::Polynomial(const scalar coeffs[PolySize])
|
||||
:
|
||||
@ -68,7 +80,7 @@ Foam::Polynomial<PolySize>::Polynomial(const UList<scalar>& coeffs)
|
||||
(
|
||||
"Polynomial<PolySize>::Polynomial(const UList<scalar>&)"
|
||||
) << "Size mismatch: Needed " << PolySize
|
||||
<< " but got " << coeffs.size()
|
||||
<< " but given " << coeffs.size()
|
||||
<< nl << exit(FatalError);
|
||||
}
|
||||
|
||||
@ -79,6 +91,39 @@ Foam::Polynomial<PolySize>::Polynomial(const UList<scalar>& coeffs)
|
||||
}
|
||||
|
||||
|
||||
// template<int PolySize>
|
||||
// Foam::Polynomial<PolySize>::Polynomial(const polynomialFunction& poly)
|
||||
// :
|
||||
// VectorSpace<Polynomial<PolySize>, scalar, PolySize>(),
|
||||
// logActive_(poly.logActive()),
|
||||
// logCoeff_(poly.logCoeff())
|
||||
// {
|
||||
// if (poly.size() != PolySize)
|
||||
// {
|
||||
// FatalErrorIn
|
||||
// (
|
||||
// "Polynomial<PolySize>::Polynomial(const polynomialFunction&)"
|
||||
// ) << "Size mismatch: Needed " << PolySize
|
||||
// << " but given " << poly.size()
|
||||
// << nl << exit(FatalError);
|
||||
// }
|
||||
//
|
||||
// for (int i = 0; i < PolySize; ++i)
|
||||
// {
|
||||
// this->v_[i] = poly[i];
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::Polynomial<PolySize>::Polynomial(Istream& is)
|
||||
:
|
||||
VectorSpace<Polynomial<PolySize>, scalar, PolySize>(is),
|
||||
logActive_(false),
|
||||
logCoeff_(0.0)
|
||||
{}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::Polynomial<PolySize>::Polynomial(const word& name, Istream& is)
|
||||
:
|
||||
@ -111,38 +156,17 @@ Foam::Polynomial<PolySize>::Polynomial(const word& name, Istream& is)
|
||||
}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::Polynomial<PolySize>::Polynomial(Istream& is)
|
||||
:
|
||||
VectorSpace<Polynomial<PolySize>, scalar, PolySize>(is),
|
||||
logActive_(false),
|
||||
logCoeff_(0.0)
|
||||
{}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::Polynomial<PolySize>::Polynomial
|
||||
(
|
||||
const Polynomial<PolySize>& poly
|
||||
)
|
||||
:
|
||||
VectorSpace<Polynomial<PolySize>, scalar, PolySize>(poly),
|
||||
logActive_(poly.logActive_),
|
||||
logCoeff_(poly.logCoeff_)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<int PolySize>
|
||||
bool& Foam::Polynomial<PolySize>::logActive()
|
||||
bool Foam::Polynomial<PolySize>::logActive() const
|
||||
{
|
||||
return logActive_;
|
||||
}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::scalar& Foam::Polynomial<PolySize>::logCoeff()
|
||||
Foam::scalar Foam::Polynomial<PolySize>::logCoeff() const
|
||||
{
|
||||
return logCoeff_;
|
||||
}
|
||||
@ -151,27 +175,27 @@ Foam::scalar& Foam::Polynomial<PolySize>::logCoeff()
|
||||
template<int PolySize>
|
||||
Foam::scalar Foam::Polynomial<PolySize>::value(const scalar x) const
|
||||
{
|
||||
scalar y = this->v_[0];
|
||||
scalar val = this->v_[0];
|
||||
|
||||
// avoid costly pow() in calculation
|
||||
scalar powX = x;
|
||||
for (label i=1; i<PolySize; ++i)
|
||||
{
|
||||
y += this->v_[i]*powX;
|
||||
val += this->v_[i]*powX;
|
||||
powX *= x;
|
||||
}
|
||||
|
||||
if (logActive_)
|
||||
{
|
||||
y += logCoeff_*log(x);
|
||||
val += logCoeff_*log(x);
|
||||
}
|
||||
|
||||
return y;
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
Foam::scalar Foam::Polynomial<PolySize>::integrateLimits
|
||||
Foam::scalar Foam::Polynomial<PolySize>::integrate
|
||||
(
|
||||
const scalar x1,
|
||||
const scalar x2
|
||||
@ -181,7 +205,7 @@ Foam::scalar Foam::Polynomial<PolySize>::integrateLimits
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"scalar Polynomial<PolySize>::integrateLimits"
|
||||
"scalar Polynomial<PolySize>::integrate"
|
||||
"("
|
||||
"const scalar, "
|
||||
"const scalar"
|
||||
@ -190,22 +214,33 @@ Foam::scalar Foam::Polynomial<PolySize>::integrateLimits
|
||||
<< nl << abort(FatalError);
|
||||
}
|
||||
|
||||
intPolyType poly = this->integrate();
|
||||
|
||||
return poly.value(x2) - poly.value(x1);
|
||||
// avoid costly pow() in calculation
|
||||
scalar powX1 = x1;
|
||||
scalar powX2 = x2;
|
||||
|
||||
scalar val = this->v_[0]*(powX2 - powX1);
|
||||
for (label i=1; i<PolySize; ++i)
|
||||
{
|
||||
val += this->v_[i]/(i + 1) * (powX2 - powX1);
|
||||
powX1 *= x1;
|
||||
powX2 *= x2;
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
template<int PolySize>
|
||||
typename Foam::Polynomial<PolySize>::intPolyType
|
||||
Foam::Polynomial<PolySize>::integrate(const scalar intConstant)
|
||||
Foam::Polynomial<PolySize>::integral(const scalar intConstant) const
|
||||
{
|
||||
intPolyType newCoeffs;
|
||||
|
||||
newCoeffs[0] = intConstant;
|
||||
forAll(*this, i)
|
||||
{
|
||||
newCoeffs[i + 1] = this->v_[i]/(i + 1);
|
||||
newCoeffs[i+1] = this->v_[i]/(i + 1);
|
||||
}
|
||||
|
||||
return newCoeffs;
|
||||
@ -214,14 +249,14 @@ Foam::Polynomial<PolySize>::integrate(const scalar intConstant)
|
||||
|
||||
template<int PolySize>
|
||||
typename Foam::Polynomial<PolySize>::polyType
|
||||
Foam::Polynomial<PolySize>::integrateMinus1(const scalar intConstant)
|
||||
Foam::Polynomial<PolySize>::integralMinus1(const scalar intConstant) const
|
||||
{
|
||||
polyType newCoeffs;
|
||||
|
||||
if (this->v_[0] > VSMALL)
|
||||
{
|
||||
newCoeffs.logActive() = true;
|
||||
newCoeffs.logCoeff() = this->v_[0];
|
||||
newCoeffs.logActive_ = true;
|
||||
newCoeffs.logCoeff_ = this->v_[0];
|
||||
}
|
||||
|
||||
newCoeffs[0] = intConstant;
|
||||
|
||||
@ -29,14 +29,14 @@ Description
|
||||
|
||||
poly = logCoeff*log(x) + sum(coeff_[i]*x^i)
|
||||
|
||||
where 0 \<= i \<= n
|
||||
where 0 \<= i \<= N
|
||||
|
||||
- integer powers, starting at zero
|
||||
- value(x) to evaluate the poly for a given value
|
||||
- integrate(x1, x2) between two scalar values
|
||||
- integrate() to return a new, intergated coeff polynomial
|
||||
- integral() to return a new, integral coeff polynomial
|
||||
- increases the size (order)
|
||||
- integrateMinus1() to return a new, integrated coeff polynomial where
|
||||
- integralMinus1() to return a new, integral coeff polynomial where
|
||||
the base poly starts at order -1
|
||||
|
||||
SourceFiles
|
||||
@ -85,10 +85,10 @@ class Polynomial
|
||||
|
||||
// Private data
|
||||
|
||||
//- Include the log term? - only activated using integrateMinus1()
|
||||
//- Include the log term? - only activated using integralMinus1()
|
||||
bool logActive_;
|
||||
|
||||
//- Log coefficient - only activated using integrateMinus1()
|
||||
//- Log coefficient - only activated using integralMinus1()
|
||||
scalar logCoeff_;
|
||||
|
||||
|
||||
@ -104,6 +104,9 @@ public:
|
||||
//- Construct null, with all coefficients = 0.0
|
||||
Polynomial();
|
||||
|
||||
//- Copy constructor
|
||||
Polynomial(const Polynomial&);
|
||||
|
||||
//- Construct from C-array of coefficients
|
||||
explicit Polynomial(const scalar coeffs[PolySize]);
|
||||
|
||||
@ -111,24 +114,21 @@ public:
|
||||
explicit Polynomial(const UList<scalar>& coeffs);
|
||||
|
||||
//- Construct from Istream
|
||||
Polynomial(Istream& is);
|
||||
Polynomial(Istream&);
|
||||
|
||||
//- Construct from name and Istream
|
||||
Polynomial(const word& name, Istream& is);
|
||||
|
||||
//- Copy constructor
|
||||
Polynomial(const Polynomial& poly);
|
||||
Polynomial(const word& name, Istream&);
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
// Access
|
||||
|
||||
//- Return access to the log term active flag
|
||||
bool& logActive();
|
||||
//- Return true if the log term is active
|
||||
bool logActive() const;
|
||||
|
||||
//- Return access to the log coefficient
|
||||
scalar& logCoeff();
|
||||
//- Return the log coefficient
|
||||
scalar logCoeff() const;
|
||||
|
||||
|
||||
// Evaluation
|
||||
@ -136,16 +136,17 @@ public:
|
||||
//- Return polynomial value
|
||||
scalar value(const scalar x) const;
|
||||
|
||||
//- Return integrated polynomial coefficients
|
||||
// argument becomes zeroth element (constant of integration)
|
||||
intPolyType integrate(const scalar intConstant = 0.0);
|
||||
|
||||
//- Return integrated polynomial coefficients when lowest order
|
||||
// is -1. Argument added to zeroth element
|
||||
polyType integrateMinus1(const scalar intConstant = 0.0);
|
||||
|
||||
//- Integrate between two values
|
||||
scalar integrateLimits(const scalar x1, const scalar x2) const;
|
||||
scalar integrate(const scalar x1, const scalar x2) const;
|
||||
|
||||
|
||||
//- Return integral coefficients.
|
||||
// Argument becomes zeroth element (constant of integration)
|
||||
intPolyType integral(const scalar intConstant = 0.0) const;
|
||||
|
||||
//- Return integral coefficients when lowest order is -1.
|
||||
// Argument becomes zeroth element (constant of integration)
|
||||
polyType integralMinus1(const scalar intConstant = 0.0) const;
|
||||
|
||||
|
||||
//- Ostream Operator
|
||||
|
||||
@ -0,0 +1,415 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-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 "polynomialFunction.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTypeNameAndDebug(polynomialFunction, 0);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
||||
|
||||
|
||||
Foam::polynomialFunction Foam::polynomialFunction::cloneIntegral
|
||||
(
|
||||
const polynomialFunction& poly,
|
||||
const scalar intConstant
|
||||
)
|
||||
{
|
||||
polynomialFunction newPoly(poly.size()+1);
|
||||
|
||||
newPoly[0] = intConstant;
|
||||
forAll(poly, i)
|
||||
{
|
||||
newPoly[i+1] = poly[i]/(i + 1);
|
||||
}
|
||||
|
||||
return newPoly;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction Foam::polynomialFunction::cloneIntegralMinus1
|
||||
(
|
||||
const polynomialFunction& poly,
|
||||
const scalar intConstant
|
||||
)
|
||||
{
|
||||
polynomialFunction newPoly(poly.size()+1);
|
||||
|
||||
if (poly[0] > VSMALL)
|
||||
{
|
||||
newPoly.logActive_ = true;
|
||||
newPoly.logCoeff_ = poly[0];
|
||||
}
|
||||
|
||||
newPoly[0] = intConstant;
|
||||
for (label i=1; i < poly.size(); ++i)
|
||||
{
|
||||
newPoly[i] = poly[i]/i;
|
||||
}
|
||||
|
||||
return newPoly;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::polynomialFunction::polynomialFunction(const label order)
|
||||
:
|
||||
scalarList(order, 0.0),
|
||||
logActive_(false),
|
||||
logCoeff_(0.0)
|
||||
{
|
||||
if (this->empty())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"polynomialFunction::polynomialFunction(const label order)"
|
||||
) << "polynomialFunction coefficients are invalid (empty)"
|
||||
<< nl << exit(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction::polynomialFunction(const polynomialFunction& poly)
|
||||
:
|
||||
scalarList(poly),
|
||||
logActive_(poly.logActive_),
|
||||
logCoeff_(poly.logCoeff_)
|
||||
{}
|
||||
|
||||
|
||||
Foam::polynomialFunction::polynomialFunction(const UList<scalar>& coeffs)
|
||||
:
|
||||
scalarList(coeffs),
|
||||
logActive_(false),
|
||||
logCoeff_(0.0)
|
||||
{
|
||||
if (this->empty())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"polynomialFunction::polynomialFunction(const UList<scalar>&)"
|
||||
) << "polynomialFunction coefficients are invalid (empty)"
|
||||
<< nl << exit(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction::polynomialFunction(Istream& is)
|
||||
:
|
||||
scalarList(is),
|
||||
logActive_(false),
|
||||
logCoeff_(0.0)
|
||||
{
|
||||
if (this->empty())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"polynomialFunction::polynomialFunction(Istream&)"
|
||||
) << "polynomialFunction coefficients are invalid (empty)"
|
||||
<< nl << exit(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::polynomialFunction::~polynomialFunction()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
bool Foam::polynomialFunction::logActive() const
|
||||
{
|
||||
return logActive_;
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::polynomialFunction::logCoeff() const
|
||||
{
|
||||
return logCoeff_;
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::polynomialFunction::value(const scalar x) const
|
||||
{
|
||||
const scalarList& coeffs = *this;
|
||||
scalar val = coeffs[0];
|
||||
|
||||
// avoid costly pow() in calculation
|
||||
scalar powX = x;
|
||||
for (label i=1; i<coeffs.size(); ++i)
|
||||
{
|
||||
val += coeffs[i]*powX;
|
||||
powX *= x;
|
||||
}
|
||||
|
||||
if (logActive_)
|
||||
{
|
||||
val += this->logCoeff_*log(x);
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar Foam::polynomialFunction::integrate
|
||||
(
|
||||
const scalar x1,
|
||||
const scalar x2
|
||||
) const
|
||||
{
|
||||
const scalarList& coeffs = *this;
|
||||
|
||||
if (logActive_)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"scalar polynomialFunction::integrate"
|
||||
"("
|
||||
"const scalar, "
|
||||
"const scalar"
|
||||
") const"
|
||||
) << "Cannot integrate polynomial with logarithmic coefficients"
|
||||
<< nl << abort(FatalError);
|
||||
}
|
||||
|
||||
// avoid costly pow() in calculation
|
||||
scalar powX1 = x1;
|
||||
scalar powX2 = x2;
|
||||
|
||||
scalar val = coeffs[0]*(powX2 - powX1);
|
||||
for (label i=1; i<coeffs.size(); ++i)
|
||||
{
|
||||
val += coeffs[i]/(i + 1)*(powX2 - powX1);
|
||||
powX1 *= x1;
|
||||
powX2 *= x2;
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::polynomialFunction::integral(const scalar intConstant) const
|
||||
{
|
||||
return cloneIntegral(*this, intConstant);
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::polynomialFunction::integralMinus1(const scalar intConstant) const
|
||||
{
|
||||
return cloneIntegralMinus1(*this, intConstant);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::polynomialFunction&
|
||||
Foam::polynomialFunction::operator+=(const polynomialFunction& poly)
|
||||
{
|
||||
scalarList& coeffs = *this;
|
||||
|
||||
if (coeffs.size() > poly.size())
|
||||
{
|
||||
forAll(poly, i)
|
||||
{
|
||||
coeffs[i] += poly[i];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
coeffs.setSize(poly.size(), 0.0);
|
||||
|
||||
forAll(coeffs, i)
|
||||
{
|
||||
coeffs[i] += poly[i];
|
||||
}
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction&
|
||||
Foam::polynomialFunction::operator-=(const polynomialFunction& poly)
|
||||
{
|
||||
scalarList& coeffs = *this;
|
||||
|
||||
if (coeffs.size() > poly.size())
|
||||
{
|
||||
forAll(poly, i)
|
||||
{
|
||||
coeffs[i] -= poly[i];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
coeffs.setSize(poly.size(), 0.0);
|
||||
|
||||
forAll(coeffs, i)
|
||||
{
|
||||
coeffs[i] -= poly[i];
|
||||
}
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction&
|
||||
Foam::polynomialFunction::operator*=(const scalar s)
|
||||
{
|
||||
scalarList& coeffs = *this;
|
||||
forAll(coeffs, i)
|
||||
{
|
||||
coeffs[i] *= s;
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction&
|
||||
Foam::polynomialFunction::operator/=(const scalar s)
|
||||
{
|
||||
scalarList& coeffs = *this;
|
||||
forAll(coeffs, i)
|
||||
{
|
||||
coeffs[i] /= s;
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
|
||||
|
||||
Foam::Ostream& Foam::operator<<(Ostream& os, const polynomialFunction& poly)
|
||||
{
|
||||
// output like VectorSpace
|
||||
os << token::BEGIN_LIST;
|
||||
|
||||
if (!poly.empty())
|
||||
{
|
||||
for (int i=0; i<poly.size()-1; i++)
|
||||
{
|
||||
os << poly[i] << token::SPACE;
|
||||
}
|
||||
os << poly.last();
|
||||
}
|
||||
os << token::END_LIST;
|
||||
|
||||
|
||||
// Check state of Ostream
|
||||
os.check("operator<<(Ostream&, const polynomialFunction&)");
|
||||
|
||||
return os;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Global Operators * * * * * * * * * * * * * //
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::operator+
|
||||
(
|
||||
const polynomialFunction& p1,
|
||||
const polynomialFunction& p2
|
||||
)
|
||||
{
|
||||
polynomialFunction poly(p1);
|
||||
return poly += p2;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::operator-
|
||||
(
|
||||
const polynomialFunction& p1,
|
||||
const polynomialFunction& p2
|
||||
)
|
||||
{
|
||||
polynomialFunction poly(p1);
|
||||
return poly -= p2;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::operator*
|
||||
(
|
||||
const scalar s,
|
||||
const polynomialFunction& p
|
||||
)
|
||||
{
|
||||
polynomialFunction poly(p);
|
||||
return poly *= s;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::operator/
|
||||
(
|
||||
const scalar s,
|
||||
const polynomialFunction& p
|
||||
)
|
||||
{
|
||||
polynomialFunction poly(p);
|
||||
return poly /= s;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::operator*
|
||||
(
|
||||
const polynomialFunction& p,
|
||||
const scalar s
|
||||
)
|
||||
{
|
||||
polynomialFunction poly(p);
|
||||
return poly *= s;
|
||||
}
|
||||
|
||||
|
||||
Foam::polynomialFunction
|
||||
Foam::operator/
|
||||
(
|
||||
const polynomialFunction& p,
|
||||
const scalar s
|
||||
)
|
||||
{
|
||||
polynomialFunction poly(p);
|
||||
return poly /= s;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,246 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-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::polynomialFunction
|
||||
|
||||
Description
|
||||
Polynomial function representation
|
||||
|
||||
poly = logCoeff*log(x) + sum(coeff_[i]*x^i)
|
||||
|
||||
where 0 \<= i \<= N
|
||||
|
||||
- integer powers, starting at zero
|
||||
- value(x) to evaluate the poly for a given value
|
||||
- integrate(x1, x2) between two scalar values
|
||||
- integral() to return a new, integral coeff polynomial
|
||||
- increases the size (order)
|
||||
- integralMinus1() to return a new, integral coeff polynomial where
|
||||
the base poly starts at order -1
|
||||
|
||||
SeeAlso
|
||||
Foam::Polynomial for a templated implementation
|
||||
|
||||
SourceFiles
|
||||
polynomialFunction.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef polynomialFunction_H
|
||||
#define polynomialFunction_H
|
||||
|
||||
#include "scalarList.H"
|
||||
#include "Ostream.H"
|
||||
#include "runTimeSelectionTables.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// Forward declaration of classes
|
||||
class polynomialFunction;
|
||||
|
||||
// Forward declaration of friend functions
|
||||
Ostream& operator<<(Ostream&, const polynomialFunction&);
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class polynomialFunction Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class polynomialFunction
|
||||
:
|
||||
private scalarList
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Include the log term? - only activated using integralMinus1()
|
||||
bool logActive_;
|
||||
|
||||
//- Log coefficient - only activated using integralMinus1()
|
||||
scalar logCoeff_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
//- Return integral coefficients.
|
||||
// Argument becomes zeroth element (constant of integration)
|
||||
static polynomialFunction cloneIntegral
|
||||
(
|
||||
const polynomialFunction&,
|
||||
const scalar intConstant = 0.0
|
||||
);
|
||||
|
||||
//- Return integral coefficients when lowest order is -1.
|
||||
// Argument becomes zeroth element (constant of integration)
|
||||
static polynomialFunction cloneIntegralMinus1
|
||||
(
|
||||
const polynomialFunction&,
|
||||
const scalar intConstant = 0.0
|
||||
);
|
||||
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const polynomialFunction&);
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("polynomialFunction");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct a particular size, with all coefficients = 0.0
|
||||
explicit polynomialFunction(const label);
|
||||
|
||||
//- Copy constructor
|
||||
polynomialFunction(const polynomialFunction&);
|
||||
|
||||
//- Construct from a list of coefficients
|
||||
explicit polynomialFunction(const UList<scalar>& coeffs);
|
||||
|
||||
//- Construct from Istream
|
||||
polynomialFunction(Istream&);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~polynomialFunction();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Return the number of coefficients
|
||||
using scalarList::size;
|
||||
|
||||
//- Return coefficient
|
||||
using scalarList::operator[];
|
||||
|
||||
|
||||
// Access
|
||||
|
||||
|
||||
//- Return true if the log term is active
|
||||
bool logActive() const;
|
||||
|
||||
//- Return the log coefficient
|
||||
scalar logCoeff() const;
|
||||
|
||||
|
||||
// Evaluation
|
||||
|
||||
//- Return polynomial value
|
||||
scalar value(const scalar x) const;
|
||||
|
||||
//- Integrate between two values
|
||||
scalar integrate(const scalar x1, const scalar x2) const;
|
||||
|
||||
|
||||
//- Return integral coefficients.
|
||||
// Argument becomes zeroth element (constant of integration)
|
||||
polynomialFunction integral
|
||||
(
|
||||
const scalar intConstant = 0.0
|
||||
) const;
|
||||
|
||||
//- Return integral coefficients when lowest order is -1.
|
||||
// Argument becomes zeroth element (constant of integration)
|
||||
polynomialFunction integralMinus1
|
||||
(
|
||||
const scalar intConstant = 0.0
|
||||
) const;
|
||||
|
||||
|
||||
// Member Operators
|
||||
|
||||
polynomialFunction& operator+=(const polynomialFunction&);
|
||||
polynomialFunction& operator-=(const polynomialFunction&);
|
||||
|
||||
polynomialFunction& operator*=(const scalar);
|
||||
polynomialFunction& operator/=(const scalar);
|
||||
|
||||
|
||||
//- Ostream Operator
|
||||
friend Ostream& operator<<(Ostream&, const polynomialFunction&);
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * * * Global Operators * * * * * * * * * * * * * //
|
||||
|
||||
polynomialFunction operator+
|
||||
(
|
||||
const polynomialFunction&,
|
||||
const polynomialFunction&
|
||||
);
|
||||
|
||||
|
||||
polynomialFunction operator-
|
||||
(
|
||||
const polynomialFunction&,
|
||||
const polynomialFunction&
|
||||
);
|
||||
|
||||
|
||||
polynomialFunction operator*
|
||||
(
|
||||
const scalar,
|
||||
const polynomialFunction&
|
||||
);
|
||||
|
||||
|
||||
polynomialFunction operator/
|
||||
(
|
||||
const scalar,
|
||||
const polynomialFunction&
|
||||
);
|
||||
|
||||
|
||||
polynomialFunction operator*
|
||||
(
|
||||
const polynomialFunction&,
|
||||
const scalar
|
||||
);
|
||||
|
||||
|
||||
polynomialFunction operator/
|
||||
(
|
||||
const polynomialFunction&,
|
||||
const scalar
|
||||
);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -35,7 +35,7 @@ Description
|
||||
write OpenFOAM meshes and/or results to another CFD format
|
||||
- currently just STAR-CD
|
||||
|
||||
@par Files
|
||||
\par Files
|
||||
|
||||
"constant/boundaryRegion" is an IOMap<dictionary> that contains
|
||||
the boundary type and names. eg,
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -36,6 +36,7 @@ SourceFiles
|
||||
#define inverseDistanceDiffusivity_H
|
||||
|
||||
#include "uniformDiffusivity.H"
|
||||
#include "wordReList.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -43,7 +44,7 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class inverseDistanceDiffusivity Declaration
|
||||
Class inverseDistanceDiffusivity Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class inverseDistanceDiffusivity
|
||||
@ -53,9 +54,8 @@ class inverseDistanceDiffusivity
|
||||
// Private data
|
||||
|
||||
//- Patches selected to base the distance on
|
||||
// These can contain regular expressions and the actual patch names
|
||||
// will be searched for.
|
||||
wordList patchNames_;
|
||||
// These can contain patch names or regular expressions to search for.
|
||||
wordReList patchNames_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-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 "coalParcel.H"
|
||||
|
||||
// Using thermodynamic variant
|
||||
#include "makeThermoParcelForces.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
// Kinematic sub-models
|
||||
makeThermoParcelForces(coalParcel);
|
||||
};
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,8 +26,8 @@ License
|
||||
#include "coalParcel.H"
|
||||
|
||||
// Kinematic
|
||||
#include "makeThermoParcelForces.H" // thermo variant
|
||||
#include "makeParcelDispersionModels.H"
|
||||
#include "makeParcelDragModels.H"
|
||||
#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant
|
||||
#include "makeParcelCollisionModels.H"
|
||||
#include "makeParcelPatchInteractionModels.H"
|
||||
@ -52,8 +52,8 @@ License
|
||||
namespace Foam
|
||||
{
|
||||
// Kinematic sub-models
|
||||
makeThermoParcelForces(coalParcel);
|
||||
makeParcelDispersionModels(coalParcel);
|
||||
makeParcelDragModels(coalParcel);
|
||||
makeReactingMultiphaseParcelInjectionModels(coalParcel);
|
||||
makeParcelCollisionModels(coalParcel);
|
||||
makeParcelPatchInteractionModels(coalParcel);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -78,10 +78,6 @@ $(REACTINGMPINJECTION)/ReactingMultiphaseLookupTableInjection/reactingMultiphase
|
||||
IntegrationScheme/makeIntegrationSchemes.C
|
||||
|
||||
|
||||
/* particle forces */
|
||||
particleForces/particleForces.C
|
||||
|
||||
|
||||
/* phase properties */
|
||||
phaseProperties/phaseProperties/phaseProperties.C
|
||||
phaseProperties/phaseProperties/phasePropertiesIO.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -30,7 +30,6 @@ License
|
||||
|
||||
#include "CollisionModel.H"
|
||||
#include "DispersionModel.H"
|
||||
#include "DragModel.H"
|
||||
#include "InjectionModel.H"
|
||||
#include "PatchInteractionModel.H"
|
||||
#include "PostProcessingModel.H"
|
||||
@ -209,15 +208,6 @@ void Foam::KinematicCloud<ParcelType>::setModels()
|
||||
).ptr()
|
||||
);
|
||||
|
||||
dragModel_.reset
|
||||
(
|
||||
DragModel<KinematicCloud<ParcelType> >::New
|
||||
(
|
||||
subModelProperties_,
|
||||
*this
|
||||
).ptr()
|
||||
);
|
||||
|
||||
injectionModel_.reset
|
||||
(
|
||||
InjectionModel<KinematicCloud<ParcelType> >::New
|
||||
@ -306,7 +296,7 @@ void Foam::KinematicCloud<ParcelType>::preEvolve()
|
||||
Info<< "\nSolving cloud " << this->name() << endl;
|
||||
|
||||
this->dispersion().cacheFields(true);
|
||||
forces_.cacheFields(true, solution_.interpolationSchemes());
|
||||
forces_.cacheFields(true);
|
||||
updateCellOccupancy();
|
||||
}
|
||||
|
||||
@ -390,7 +380,7 @@ void Foam::KinematicCloud<ParcelType>::evolveCloud
|
||||
}
|
||||
else
|
||||
{
|
||||
// this->surfaceFilm().injectStreadyState(td);
|
||||
// this->surfaceFilm().injectSteadyState(td);
|
||||
|
||||
this->injection().injectSteadyState(td, solution_.deltaT());
|
||||
|
||||
@ -473,7 +463,7 @@ void Foam::KinematicCloud<ParcelType>::postEvolve()
|
||||
}
|
||||
|
||||
this->dispersion().cacheFields(false);
|
||||
forces_.cacheFields(false, solution_.interpolationSchemes());
|
||||
forces_.cacheFields(false);
|
||||
|
||||
this->postProcessing().post();
|
||||
|
||||
@ -488,14 +478,15 @@ void Foam::KinematicCloud<ParcelType>::cloudReset(KinematicCloud<ParcelType>& c)
|
||||
|
||||
rndGen_ = c.rndGen_;
|
||||
|
||||
collisionModel_ = c.collisionModel_->clone();
|
||||
dispersionModel_= c.dispersionModel_->clone();
|
||||
dragModel_ = c.dragModel_->clone();
|
||||
injectionModel_ = c.injectionModel_->clone();
|
||||
patchInteractionModel_ = c.patchInteractionModel_->clone();
|
||||
postProcessingModel_ = c.postProcessingModel_->clone();
|
||||
forces_.transfer(c.forces_);
|
||||
|
||||
UIntegrator_ = c.UIntegrator_->clone();
|
||||
collisionModel_.reset(c.collisionModel_.ptr());
|
||||
dispersionModel_.reset(c.dispersionModel_.ptr());
|
||||
injectionModel_.reset(c.injectionModel_.ptr());
|
||||
patchInteractionModel_.reset(c.patchInteractionModel_.ptr());
|
||||
postProcessingModel_.reset(c.postProcessingModel_.ptr());
|
||||
|
||||
UIntegrator_.reset(c.UIntegrator_.ptr());
|
||||
}
|
||||
|
||||
|
||||
@ -529,7 +520,10 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
),
|
||||
solution_(mesh_, particleProperties_.subDict("solution")),
|
||||
constProps_(particleProperties_, solution_.active()),
|
||||
subModelProperties_(particleProperties_.subOrEmptyDict("subModels")),
|
||||
subModelProperties_
|
||||
(
|
||||
particleProperties_.subOrEmptyDict("subModels", solution_.active())
|
||||
),
|
||||
rndGen_
|
||||
(
|
||||
label(0),
|
||||
@ -540,10 +534,19 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
U_(U),
|
||||
mu_(mu),
|
||||
g_(g),
|
||||
forces_(mesh_, particleProperties_, g_.value(), solution_.active()),
|
||||
forces_
|
||||
(
|
||||
*this,
|
||||
mesh_,
|
||||
subModelProperties_.subOrEmptyDict
|
||||
(
|
||||
"particleForces",
|
||||
solution_.active()
|
||||
),
|
||||
solution_.active()
|
||||
),
|
||||
collisionModel_(NULL),
|
||||
dispersionModel_(NULL),
|
||||
dragModel_(NULL),
|
||||
injectionModel_(NULL),
|
||||
patchInteractionModel_(NULL),
|
||||
postProcessingModel_(NULL),
|
||||
@ -606,7 +609,7 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
const word& name
|
||||
)
|
||||
:
|
||||
Cloud<ParcelType>(c.mesh(), name, c),
|
||||
Cloud<ParcelType>(c.mesh_, name, c),
|
||||
kinematicCloud(),
|
||||
cloudCopyPtr_(NULL),
|
||||
mesh_(c.mesh_),
|
||||
@ -623,7 +626,6 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
forces_(c.forces_),
|
||||
collisionModel_(c.collisionModel_->clone()),
|
||||
dispersionModel_(c.dispersionModel_->clone()),
|
||||
dragModel_(c.dragModel_->clone()),
|
||||
injectionModel_(c.injectionModel_->clone()),
|
||||
patchInteractionModel_(c.patchInteractionModel_->clone()),
|
||||
postProcessingModel_(c.postProcessingModel_->clone()),
|
||||
@ -661,7 +663,6 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
c.UCoeff_()
|
||||
)
|
||||
)
|
||||
|
||||
{}
|
||||
|
||||
|
||||
@ -698,10 +699,9 @@ Foam::KinematicCloud<ParcelType>::KinematicCloud
|
||||
U_(c.U_),
|
||||
mu_(c.mu_),
|
||||
g_(c.g_),
|
||||
forces_(mesh),
|
||||
forces_(*this, mesh),
|
||||
collisionModel_(NULL),
|
||||
dispersionModel_(NULL),
|
||||
dragModel_(NULL),
|
||||
injectionModel_(NULL),
|
||||
patchInteractionModel_(NULL),
|
||||
postProcessingModel_(NULL),
|
||||
@ -830,8 +830,10 @@ void Foam::KinematicCloud<ParcelType>::info() const
|
||||
<< linearKineticEnergy << nl
|
||||
<< " Rotational kinetic energy = "
|
||||
<< rotationalKineticEnergy << nl;
|
||||
|
||||
this->injection().info(Info);
|
||||
this->surfaceFilm().info(Info);
|
||||
this->patchInteraction().info(Info);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -29,10 +29,14 @@ Description
|
||||
|
||||
- holds a 'cloudSolution' class that stores all relevant solution info
|
||||
|
||||
- particle forces
|
||||
- buoyancy
|
||||
- drag
|
||||
- pressure gradient
|
||||
|
||||
- sub-models:
|
||||
- Collision model
|
||||
- Dispersion model
|
||||
- Drag model
|
||||
- Injection model
|
||||
- Patch interaction model
|
||||
- Post-processing model
|
||||
@ -55,7 +59,6 @@ SourceFiles
|
||||
#include "fvMesh.H"
|
||||
#include "volFields.H"
|
||||
#include "fvMatrices.H"
|
||||
#include "particleForces.H"
|
||||
|
||||
#include "IntegrationSchemesFwd.H"
|
||||
|
||||
@ -72,9 +75,6 @@ class CollisionModel;
|
||||
template<class CloudType>
|
||||
class DispersionModel;
|
||||
|
||||
template<class CloudType>
|
||||
class DragModel;
|
||||
|
||||
template<class CloudType>
|
||||
class InjectionModel;
|
||||
|
||||
@ -98,6 +98,14 @@ class KinematicCloud
|
||||
public Cloud<ParcelType>,
|
||||
public kinematicCloud
|
||||
{
|
||||
public:
|
||||
|
||||
//- Type of parcel the cloud was instantiated for
|
||||
typedef ParcelType parcelType;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Cloud copy pointer
|
||||
@ -316,7 +324,7 @@ protected:
|
||||
|
||||
|
||||
//- Optional particle forces
|
||||
particleForces forces_;
|
||||
typename ParcelType::forceType forces_;
|
||||
|
||||
|
||||
// References to the cloud sub-models
|
||||
@ -329,9 +337,6 @@ protected:
|
||||
autoPtr<DispersionModel<KinematicCloud<ParcelType> > >
|
||||
dispersionModel_;
|
||||
|
||||
//- Drag transfer model
|
||||
autoPtr<DragModel<KinematicCloud<ParcelType> > > dragModel_;
|
||||
|
||||
//- Injector model
|
||||
autoPtr<InjectionModel<KinematicCloud<ParcelType> > >
|
||||
injectionModel_;
|
||||
@ -450,10 +455,6 @@ public:
|
||||
virtual ~KinematicCloud();
|
||||
|
||||
|
||||
//- Type of parcel the cloud was instantiated for
|
||||
typedef ParcelType parcelType;
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
// Access
|
||||
@ -521,7 +522,7 @@ public:
|
||||
|
||||
|
||||
//- Optional particle forces
|
||||
inline const particleForces& forces() const;
|
||||
inline const typename ParcelType::forceType& forces() const;
|
||||
|
||||
|
||||
// Sub-models
|
||||
@ -542,10 +543,6 @@ public:
|
||||
inline DispersionModel<KinematicCloud<ParcelType> >&
|
||||
dispersion();
|
||||
|
||||
//- Return const-access to the drag model
|
||||
inline const DragModel<KinematicCloud<ParcelType> >&
|
||||
drag() const;
|
||||
|
||||
//- Return const access to the injection model
|
||||
inline const InjectionModel<KinematicCloud<ParcelType> >&
|
||||
injection() const;
|
||||
@ -558,6 +555,10 @@ public:
|
||||
inline const PatchInteractionModel<KinematicCloud<ParcelType> >&
|
||||
patchInteraction() const;
|
||||
|
||||
//- Return reference to the patch interaction model
|
||||
inline PatchInteractionModel<KinematicCloud<ParcelType> >&
|
||||
patchInteraction();
|
||||
|
||||
//- Return reference to post-processing model
|
||||
inline PostProcessingModel<KinematicCloud<ParcelType> >&
|
||||
postProcessing();
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -257,7 +257,7 @@ Foam::KinematicCloud<ParcelType>::g() const
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::particleForces&
|
||||
inline const typename ParcelType::forceType&
|
||||
Foam::KinematicCloud<ParcelType>::forces() const
|
||||
{
|
||||
return forces_;
|
||||
@ -296,14 +296,6 @@ Foam::KinematicCloud<ParcelType>::dispersion()
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::DragModel<Foam::KinematicCloud<ParcelType> >&
|
||||
Foam::KinematicCloud<ParcelType>::drag() const
|
||||
{
|
||||
return dragModel_;
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::InjectionModel<Foam::KinematicCloud<ParcelType> >&
|
||||
Foam::KinematicCloud<ParcelType>::injection() const
|
||||
@ -320,6 +312,14 @@ Foam::KinematicCloud<ParcelType>::patchInteraction() const
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline Foam::PatchInteractionModel<Foam::KinematicCloud<ParcelType> >&
|
||||
Foam::KinematicCloud<ParcelType>::patchInteraction()
|
||||
{
|
||||
return patchInteractionModel_();
|
||||
}
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline Foam::InjectionModel<Foam::KinematicCloud<ParcelType> >&
|
||||
Foam::KinematicCloud<ParcelType>::injection()
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -85,8 +85,8 @@ void Foam::ReactingCloud<ParcelType>::cloudReset(ReactingCloud<ParcelType>& c)
|
||||
{
|
||||
ThermoCloud<ParcelType>::cloudReset(c);
|
||||
|
||||
compositionModel_ = c.compositionModel_->clone();
|
||||
phaseChangeModel_ = c.phaseChangeModel_->clone();
|
||||
compositionModel_.reset(c.compositionModel_.ptr());
|
||||
phaseChangeModel_.reset(c.phaseChangeModel_.ptr());
|
||||
|
||||
dMassPhaseChange_ = c.dMassPhaseChange_;
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -61,8 +61,8 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::cloudReset
|
||||
{
|
||||
ReactingCloud<ParcelType>::cloudReset(c);
|
||||
|
||||
devolatilisationModel_ = c.devolatilisationModel_->clone();
|
||||
surfaceReactionModel_ = c.surfaceReactionModel_->clone();
|
||||
devolatilisationModel_.reset(c.devolatilisationModel_.ptr());
|
||||
surfaceReactionModel_.reset(c.surfaceReactionModel_.ptr());
|
||||
|
||||
dMassDevolatilisation_ = c.dMassDevolatilisation_;
|
||||
dMassSurfaceReaction_ = c.dMassSurfaceReaction_;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -60,8 +60,8 @@ void Foam::ThermoCloud<ParcelType>::cloudReset(ThermoCloud<ParcelType>& c)
|
||||
{
|
||||
KinematicCloud<ParcelType>::cloudReset(c);
|
||||
|
||||
heatTransferModel_ = c.heatTransferModel_->clone();
|
||||
TIntegrator_ = c.TIntegrator_->clone();
|
||||
heatTransferModel_.reset(c.heatTransferModel_.ptr());
|
||||
TIntegrator_.reset(c.TIntegrator_.ptr());
|
||||
|
||||
radiation_ = c.radiation_;
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user