Merge commit 'origin/master' into olesenm

This commit is contained in:
Mark Olesen
2008-05-27 09:57:59 +02:00
69 changed files with 354 additions and 299 deletions

View File

@ -56,32 +56,35 @@ int main(int argc, char *argv[])
{ {
# include "readControls.H" # include "readControls.H"
# include "CourantNo.H" # include "CourantNo.H"
p.storePrevIter();
// Make the fluxes absolute
fvc::makeAbsolute(phi, U);
# include "setDeltaT.H" # include "setDeltaT.H"
runTime++; runTime++;
Info<< "Time = " << runTime.timeName() << nl << endl; Info<< "Time = " << runTime.timeName() << nl << endl;
bool meshChanged = mesh.update(); // Make the fluxes absolute
if (mesh.changing())
{
phi = fvc::interpolate(U) & mesh.Sf();
}
if (correctPhi && meshChanged) mesh.update();
if (mesh.changing() && correctPhi)
{ {
# include "correctPhi.H" # include "correctPhi.H"
} }
// Keep the absolute fluxes for use in ddtPhiCorr // Keep the absolute fluxes for use in ddtPhiCorr
surfaceScalarField phiAbs("phiAbs", phi); surfaceScalarField phiAbs0("phiAbs0", phi);
// Make the fluxes relative to the mesh motion // Make the fluxes relative to the mesh motion
fvc::makeRelative(phi, U); if (mesh.changing())
{
fvc::makeRelative(phi, U);
}
if (meshChanged && checkMeshCourantNo) if (mesh.changing() && checkMeshCourantNo)
{ {
# include "meshCourantNo.H" # include "meshCourantNo.H"
} }
@ -89,6 +92,8 @@ int main(int argc, char *argv[])
// --- PIMPLE loop // --- PIMPLE loop
for (int ocorr=0; ocorr<nOuterCorr; ocorr++) for (int ocorr=0; ocorr<nOuterCorr; ocorr++)
{ {
p.storePrevIter();
# include "UEqn.H" # include "UEqn.H"
// --- PISO loop // --- PISO loop
@ -101,10 +106,50 @@ int main(int argc, char *argv[])
if (ddtPhiCorr) if (ddtPhiCorr)
{ {
phi += fvc::ddtPhiCorr(rAU, U, phiAbs); if (mesh.changing())
{
dimensionedScalar rDeltaT = 1.0/mesh.time().deltaT();
volScalarField V0byV
(
IOobject
(
"V0byV",
mesh.time().timeName(),
mesh
),
mesh,
dimensionedScalar("V0byV", dimless, 1),
zeroGradientFvPatchScalarField::typeName
);
V0byV.dimensionedInternalField() = mesh.V0()/mesh.V();
V0byV.correctBoundaryConditions();
phi += rDeltaT*
(
fvc::interpolate(rAU*V0byV)*phiAbs0
- (fvc::interpolate(rAU*V0byV*U.oldTime()) & mesh.Sf())
);
}
else
{
phi += fvc::ddtPhiCorr(rAU, U, phiAbs0);
}
} }
adjustPhi(phi, U, p); if (p.needReference())
{
if (mesh.changing())
{
fvc::makeRelative(phi, U);
adjustPhi(phi, U, p);
fvc::makeAbsolute(phi, U);
}
else
{
adjustPhi(phi, U, p);
}
}
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++) for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
{ {
@ -138,11 +183,11 @@ int main(int argc, char *argv[])
p.relax(); p.relax();
} }
// Make the fluxes relative to the mesh motion
fvc::makeRelative(phi, U);
U -= rAU*fvc::grad(p); U -= rAU*fvc::grad(p);
U.correctBoundaryConditions(); U.correctBoundaryConditions();
// Make the fluxes relative to the mesh motion
fvc::makeRelative(phi, U);
} }
} }

View File

@ -41,6 +41,7 @@ Description
#include "twoPhaseMixture.H" #include "twoPhaseMixture.H"
#include "incompressible/turbulenceModel/turbulenceModel.H" #include "incompressible/turbulenceModel/turbulenceModel.H"
#include "probes.H" #include "probes.H"
#include "EulerDdtScheme.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -66,7 +67,6 @@ int main(int argc, char *argv[])
{ {
#include "readControls.H" #include "readControls.H"
#include "CourantNo.H" #include "CourantNo.H"
#include "setDeltaT.H" #include "setDeltaT.H"
runTime++; runTime++;
@ -76,7 +76,7 @@ int main(int argc, char *argv[])
// Make the fluxes absolute // Make the fluxes absolute
if (mesh.changing()) if (mesh.changing())
{ {
fvc::makeAbsolute(phi, U); phi = fvc::interpolate(U) & mesh.Sf();
} }
scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime(); scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime();
@ -100,7 +100,7 @@ int main(int argc, char *argv[])
} }
// Keep the absolute fluxes for use in ddtPhiCorr // Keep the absolute fluxes for use in ddtPhiCorr
surfaceScalarField phiAbs("phiAbs", phi); surfaceScalarField phiAbs0("phiAbs0", phi);
// Make the fluxes relative to the mesh motion // Make the fluxes relative to the mesh motion
if (mesh.changing()) if (mesh.changing())
@ -125,8 +125,6 @@ int main(int argc, char *argv[])
#include "pEqn.H" #include "pEqn.H"
} }
#include "continuityErrs.H"
p = pd + rho*gh; p = pd + rho*gh;
if (pd.needReference()) if (pd.needReference())

View File

@ -2,21 +2,42 @@
volScalarField rAU = 1.0/UEqn.A(); volScalarField rAU = 1.0/UEqn.A();
surfaceScalarField rAUf = fvc::interpolate(rAU); surfaceScalarField rAUf = fvc::interpolate(rAU);
volVectorField HU = UEqn.H(); U = rAU*UEqn.H();
U = rAU*HU;
surfaceScalarField phiU("phiU", (fvc::interpolate(U) & mesh.Sf())); surfaceScalarField phiU("phiU", (fvc::interpolate(U) & mesh.Sf()));
if (ddtPhiCorr) if (ddtPhiCorr)
{ {
phiU += fvc::ddtPhiCorr(rAU, rho, U, phiAbs); //phiU += fvc::ddtPhiCorr(rAU, rho, U, phiAbs0);
dimensionedScalar rDeltaT = 1.0/mesh.time().deltaT();
volScalarField V0byV
(
IOobject
(
"V0byV",
mesh.time().timeName(),
mesh
),
mesh,
dimensionedScalar("V0byV", dimless, 1),
zeroGradientFvPatchScalarField::typeName
);
V0byV.dimensionedInternalField() = mesh.V0()/mesh.V();
V0byV.correctBoundaryConditions();
phiU += rDeltaT*
(
fvc::interpolate(rAU*rho.oldTime()*V0byV)*phiAbs0
- (fvc::interpolate(rAU*rho.oldTime()*V0byV*U.oldTime()) & mesh.Sf())
);
} }
phi = phiU + phi = phiU +
( (
fvc::interpolate(interface.sigmaK())*fvc::snGrad(gamma) fvc::interpolate(interface.sigmaK())*fvc::snGrad(gamma)
- ghf*fvc::snGrad(rho) - ghf*fvc::snGrad(rho)
)*rAUf*mesh.magSf(); )*rAUf*mesh.magSf();
if (pd.needReference()) if (pd.needReference())
{ {
@ -59,6 +80,8 @@
U += rAU*fvc::reconstruct((phi - phiU)/rAUf); U += rAU*fvc::reconstruct((phi - phiU)/rAUf);
U.correctBoundaryConditions(); U.correctBoundaryConditions();
#include "continuityErrs.H"
// Make the fluxes relative to the mesh motion // Make the fluxes relative to the mesh motion
fvc::makeRelative(phi, U); fvc::makeRelative(phi, U);
} }

View File

@ -1,27 +0,0 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.0 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
// magGradU tool definition
description "Magnitude of grad(U) calculation";
magGradUDict
{
type dictionary;
description "magGradU control dictionary";
dictionaryPath "system";
entries
{
arguments
{
type rootCaseTimeArguments;
}
}
}
// ************************************************************************* //

View File

@ -1,3 +0,0 @@
magGradU.C
EXE = $(FOAM_APPBIN)/magGradU

View File

@ -1,7 +0,0 @@
EXE_INC = \
-I$(FOAM_SRC)/postProcessing/postCalc \
-I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = \
$(FOAM_LIBBIN)/postCalc.o \
-lfiniteVolume

View File

@ -1,87 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Application
magGradU
Description
Calculates and writes the scalar magnitude of the gradient of the
velocity field U.
The -noWrite option just outputs the max/min values without writing
the field.
\*---------------------------------------------------------------------------*/
#include "calc.H"
#include "fvc.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh)
{
bool writeResults = !args.options().found("noWrite");
IOobject Uheader
(
"U",
runTime.timeName(),
mesh,
IOobject::MUST_READ
);
if (Uheader.headerOk())
{
Info<< " Reading U" << endl;
volVectorField U(Uheader, mesh);
Info<< " Calculating magGradU" << endl;
volScalarField magGradU
(
IOobject
(
"magGradU",
runTime.timeName(),
mesh,
IOobject::NO_READ
),
mag(fvc::grad(U))
);
Info<< "magGrad(U) max/min : "
<< max(magGradU).value() << " "
<< min(magGradU).value() << endl;
if (writeResults)
{
magGradU.write();
}
}
else
{
Info<< " No U" << endl;
}
}
// ************************************************************************* //

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -58,7 +58,7 @@ int main(int argc, char *argv[])
<< "reactions" << cr.reactions() << ';' << endl; << "reactions" << cr.reactions() << ';' << endl;
OFstream thermoFile(FOAMThermodynamicsFileName); OFstream thermoFile(FOAMThermodynamicsFileName);
thermoFile<< cr.specieThermo() << endl; thermoFile<< cr.speciesThermo() << endl;
Info << "End\n" << endl; Info << "End\n" << endl;

View File

@ -45,10 +45,9 @@ else
unset CMAKE_HOME unset CMAKE_HOME
fi fi
# export ParaView_VERSION="3.3-cvs" export ParaView_VERSION="3.3-cvs"
export ParaView_VERSION=3.3
export ParaView_INST_DIR=$WM_PROJECT_INST_DIR/paraview-$ParaView_VERSION export ParaView_INST_DIR=$WM_PROJECT_INST_DIR/ParaView$ParaView_VERSION
export ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_OPTIONS export ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_OPTIONS
if [ "$PYTHONPATH" ]; then if [ "$PYTHONPATH" ]; then
@ -60,7 +59,9 @@ fi
if [ -r $ParaView_DIR ]; then if [ -r $ParaView_DIR ]; then
export PATH=$ParaView_DIR/bin:$PATH export PATH=$ParaView_DIR/bin:$PATH
export LD_LIBRARY_PATH=$ParaView_DIR/lib/paraview-$ParaView_VERSION:$LD_LIBRARY_PATH
# LD_LIBRARY_PATH may not be necessary
## export LD_LIBRARY_PATH=$ParaView_DIR/lib/paraview-3.3:$LD_LIBRARY_PATH
export PV_PLUGIN_PATH=$FOAM_LIBBIN export PV_PLUGIN_PATH=$FOAM_LIBBIN
fi fi

View File

@ -42,13 +42,12 @@ setenv CMAKE_HOME $WM_PROJECT_INST_DIR/$WM_ARCH/cmake-2.4.6
if ( -r $CMAKE_HOME ) then if ( -r $CMAKE_HOME ) then
set path=($CMAKE_HOME/bin $path) set path=($CMAKE_HOME/bin $path)
else else
unset CMAKE_HOME unsetenv CMAKE_HOME
endif endif
# setenv ParaView_VERSION 3.3-cvs setenv ParaView_VERSION 3.3-cvs
setenv ParaView_VERSION 3.3
export ParaView_INST_DIR=$WM_PROJECT_INST_DIR/paraview-$ParaView_VERSION export ParaView_INST_DIR=$WM_PROJECT_INST_DIR/ParaView$ParaView_VERSION
setenv ParaView_DIR $ParaView_INST_DIR/platforms/$WM_OPTIONS setenv ParaView_DIR $ParaView_INST_DIR/platforms/$WM_OPTIONS
if ($?PYTHONPATH) then if ($?PYTHONPATH) then
@ -59,7 +58,9 @@ endif
if ( -r $ParaView_INST_DIR ) then if ( -r $ParaView_INST_DIR ) then
set path=($ParaView_DIR/bin $path) set path=($ParaView_DIR/bin $path)
setenv LD_LIBRARY_PATH $ParaView_DIR/lib/paraview-$ParaView_VERSION:$LD_LIBRARY_PATH
# LD_LIBRARY_PATH may not be necessary
## setenv LD_LIBRARY_PATH $ParaView_DIR/lib/paraview-3.3:$LD_LIBRARY_PATH
setenv PV_PLUGIN_PATH $FOAM_LIBBIN setenv PV_PLUGIN_PATH $FOAM_LIBBIN
endif endif

View File

@ -33,6 +33,8 @@
export WM_PROJECT=OpenFOAM export WM_PROJECT=OpenFOAM
#export WM_PROJECT_VERSION=dev #export WM_PROJECT_VERSION=dev
: ${WM_PROJECT_VERSION:=dev}; export WM_PROJECT_VERSION
#!!User: #!!User:
# either set $FOAM_INST_DIR before sourcing this file or set # either set $FOAM_INST_DIR before sourcing this file or set
@ -63,7 +65,7 @@ export WM_PROJECT_USER_DIR=$HOME/$WM_PROJECT/$USER-$WM_PROJECT_VERSION
# Compiler (if set to "" use the system compiler) # Compiler (if set to "" use the system compiler)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export WM_COMPILER=Gcc export WM_COMPILER=Gcc43
export WM_COMPILER_ARCH= export WM_COMPILER_ARCH=
export WM_COMPILER_LIB_ARCH= export WM_COMPILER_LIB_ARCH=

View File

@ -86,7 +86,14 @@ set WM_COMPILER_INST=OpenFOAM
switch ("$WM_COMPILER_INST") switch ("$WM_COMPILER_INST")
case OpenFOAM: case OpenFOAM:
setenv WM_COMPILER_DIR $FOAM_INST_DIR/$WM_ARCH/gcc-4.2.2$WM_COMPILER_ARCH switch ("$WM_COMPILER")
case Gcc43:
setenv WM_COMPILER_DIR $FOAM_INST_DIR/$WM_ARCH/gcc-4.3.0$WM_COMPILER_ARCH
breaksw
case Gcc:
setenv WM_COMPILER_DIR $FOAM_INST_DIR/$WM_ARCH/gcc-4.2.2$WM_COMPILER_ARCH
breaksw
endsw
# Check that the compiler directory can be found # Check that the compiler directory can be found
if ( ! -d "$WM_COMPILER_DIR" ) then if ( ! -d "$WM_COMPILER_DIR" ) then
@ -128,7 +135,6 @@ setenv FOAMX_PATH $FOAM_UTILITIES/preProcessing/FoamX
# #
# need csh equivalent for this? # need csh equivalent for this?
# for FOAMX_CONFIG in \ # for FOAMX_CONFIG in \
# $HOME/.$WM_PROJECT-$WM_PROJECT_VERSION/apps/FoamX \
# $HOME/.$WM_PROJECT/$WM_PROJECT_VERSION/apps/FoamX \ # $HOME/.$WM_PROJECT/$WM_PROJECT_VERSION/apps/FoamX \
# $HOME/.$WM_PROJECT/apps/FoamX \ # $HOME/.$WM_PROJECT/apps/FoamX \
# $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/apps/FoamX \ # $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/apps/FoamX \

View File

@ -97,7 +97,14 @@ WM_COMPILER_INST=OpenFOAM
case "$WM_COMPILER_INST" in case "$WM_COMPILER_INST" in
OpenFOAM) OpenFOAM)
export WM_COMPILER_DIR=$FOAM_INST_DIR/$WM_ARCH/gcc-4.2.2$WM_COMPILER_ARCH case "$WM_COMPILER" in
Gcc43)
export WM_COMPILER_DIR=$FOAM_INST_DIR/$WM_ARCH/gcc-4.3.0$WM_COMPILER_ARCH
;;
Gcc)
export WM_COMPILER_DIR=$FOAM_INST_DIR/$WM_ARCH/gcc-4.2.2$WM_COMPILER_ARCH
;;
esac
# Check that the compiler directory can be found # Check that the compiler directory can be found
if [ ! -d "$WM_COMPILER_DIR" ] if [ ! -d "$WM_COMPILER_DIR" ]
@ -134,7 +141,6 @@ export PATH=$MICO_ARCH_PATH/bin:$PATH
export FOAMX_PATH=$FOAM_UTILITIES/preProcessing/FoamX export FOAMX_PATH=$FOAM_UTILITIES/preProcessing/FoamX
# perhaps we can cut down a bit here # perhaps we can cut down a bit here
for FOAMX_CONFIG in \ for FOAMX_CONFIG in \
$HOME/.$WM_PROJECT-$WM_PROJECT_VERSION/apps/FoamX \
$HOME/.$WM_PROJECT/$WM_PROJECT_VERSION/apps/FoamX \ $HOME/.$WM_PROJECT/$WM_PROJECT_VERSION/apps/FoamX \
$HOME/.$WM_PROJECT/apps/FoamX \ $HOME/.$WM_PROJECT/apps/FoamX \
$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/apps/FoamX \ $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/apps/FoamX \

View File

@ -318,7 +318,8 @@ bool HashTable<T, Key, Hash>::erase(const iterator& cit)
delete it.elmtPtr_; delete it.elmtPtr_;
// Search back for previous non-zero table entry // Search back for previous non-zero table entry
while (--it.hashIndex_ >= 0 && !table_[it.hashIndex_]); while (--it.hashIndex_ >= 0 && !table_[it.hashIndex_])
{}
if (it.hashIndex_ >= 0) if (it.hashIndex_ >= 0)
{ {

View File

@ -220,7 +220,8 @@ HashTable<T, Key, Hash>::iterator::operator++()
( (
++hashIndex_ < curHashTable_.tableSize_ ++hashIndex_ < curHashTable_.tableSize_
&& !(elmtPtr_ = curHashTable_.table_[hashIndex_]) && !(elmtPtr_ = curHashTable_.table_[hashIndex_])
); )
{}
if (hashIndex_ == curHashTable_.tableSize_) if (hashIndex_ == curHashTable_.tableSize_)
{ {
@ -259,7 +260,8 @@ HashTable<T, Key, Hash>::begin()
{ {
label i = 0; label i = 0;
while (table_ && !table_[i] && ++i < tableSize_); while (table_ && !table_[i] && ++i < tableSize_)
{}
if (i == tableSize_) if (i == tableSize_)
{ {
@ -396,7 +398,8 @@ HashTable<T, Key, Hash>::const_iterator::operator++()
( (
++hashIndex_ < curHashTable_.tableSize_ ++hashIndex_ < curHashTable_.tableSize_
&& !(elmtPtr_ = curHashTable_.table_[hashIndex_]) && !(elmtPtr_ = curHashTable_.table_[hashIndex_])
); )
{}
} }
return *this; return *this;
@ -430,7 +433,8 @@ HashTable<T, Key, Hash>::begin() const
{ {
label i = 0; label i = 0;
while (table_ && !table_[i] && ++i < tableSize_); while (table_ && !table_[i] && ++i < tableSize_)
{}
if (i == tableSize_) if (i == tableSize_)
{ {

View File

@ -34,6 +34,7 @@ License
#include "JobInfo.H" #include "JobInfo.H"
#include "labelList.H" #include "labelList.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
@ -389,7 +390,8 @@ Foam::argList::argList
rootPath_/globalCase_/"processor" rootPath_/globalCase_/"processor"
+ name(++nProcDirs) + name(++nProcDirs)
) )
); )
{}
if (nProcDirs != Pstream::nProcs()) if (nProcDirs != Pstream::nProcs())
{ {

View File

@ -29,6 +29,7 @@ Description
#include <new> #include <new>
#include <iostream> #include <iostream>
#include <cstdlib>
namespace Foam namespace Foam
{ {

View File

@ -64,7 +64,8 @@ Type interpolateXY
label n = xOld.size(); label n = xOld.size();
label lo = 0; label lo = 0;
for (lo=0; lo<n && xOld[lo]>x; ++lo); for (lo=0; lo<n && xOld[lo]>x; ++lo)
{}
label low = lo; label low = lo;
if (low < n) if (low < n)
@ -79,7 +80,8 @@ Type interpolateXY
} }
label hi = 0; label hi = 0;
for (hi=0; hi<n && xOld[hi]<x; ++hi); for (hi=0; hi<n && xOld[hi]<x; ++hi)
{}
label high = hi; label high = hi;
if (high < n) if (high < n)

View File

@ -49,8 +49,6 @@ namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
class polyMesh;
// Forward declaration of friend functions and operators // Forward declaration of friend functions and operators
template<class ZoneType, class MeshType> class ZoneMesh; template<class ZoneType, class MeshType> class ZoneMesh;
@ -94,7 +92,7 @@ public:
// Constructors // Constructors
//- Read constructor given IOobject and a mesh reference //- Read constructor given IOobject and a MeshType reference
ZoneMesh ZoneMesh
( (
const IOobject&, const IOobject&,

View File

@ -272,7 +272,7 @@ inline vector triangle<Point, PointRef>::circumCentre() const
scalar c = c1 + c2 + c3; scalar c = c1 + c2 + c3;
return return
( (
((c2 + c3)*a_ + (c3 + c1)*b_ + (c1 + c2)*c_)/(2*c) ((c2 + c3)*a_ + (c3 + c1)*b_ + (c1 + c2)*c_)/(2*c)
); );
@ -397,7 +397,7 @@ inline pointHit triangle<Point, PointRef>::ray
bool eligible = bool eligible =
alg == intersection::FULL_RAY alg == intersection::FULL_RAY
|| alg == intersection::HALF_RAY && dist > -planarPointTol || (alg == intersection::HALF_RAY && dist > -planarPointTol)
|| ( || (
alg == intersection::VISIBLE alg == intersection::VISIBLE
&& ((q1 & normal()) < -VSMALL) && ((q1 & normal()) < -VSMALL)
@ -434,7 +434,7 @@ template<class Point, class PointRef>
inline pointHit triangle<Point, PointRef>::intersection inline pointHit triangle<Point, PointRef>::intersection
( (
const point& orig, const point& orig,
const vector& dir, const vector& dir,
const intersection::algorithm alg const intersection::algorithm alg
) const ) const
{ {
@ -617,7 +617,7 @@ inline bool triangle<Point, PointRef>::classify
scalar beta = 0; scalar beta = 0;
bool hit = false; bool hit = false;
if (Foam::mag(u1) < SMALL) if (Foam::mag(u1) < SMALL)
{ {
beta = u0/u2; beta = u0/u2;

View File

@ -73,7 +73,8 @@ long long readLongLong(Istream& is)
static const label zeroOffset = int('0'); static const label zeroOffset = int('0');
// Get next non-whitespace character // Get next non-whitespace character
while (is.read(c) && isspace(c)); while (is.read(c) && isspace(c))
{}
do do
{ {

View File

@ -49,6 +49,8 @@ SourceFiles
#include "char.H" #include "char.H"
#include <string> #include <string>
#include <cstring>
#include <cstdlib>
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -103,7 +103,7 @@ inline bool Foam::string::stripInvalid(string& s)
++nValid; ++nValid;
} }
} }
s.resize(nValid); s.resize(nValid);
return true; return true;

View File

@ -471,8 +471,8 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
( (
rA*rho.oldTime()*U.oldTime() rA*rho.oldTime()*U.oldTime()
) & mesh().Sf() ) & mesh().Sf()
) )
) )
) )
); );
} }

View File

@ -180,7 +180,7 @@ public:
return meshInfo_; return meshInfo_;
} }
const label size() const label size() const
{ {
return IDLList<ParticleType>::size(); return IDLList<ParticleType>::size();
}; };

View File

@ -1055,7 +1055,7 @@ pointIndexHit indexedOctree<Type>::findLine
direction startBit = treeBb.posBits(start); direction startBit = treeBb.posBits(start);
direction endBit = treeBb.posBits(end); direction endBit = treeBb.posBits(end);
if (startBit&endBit != 0) if ((startBit & endBit) != 0)
{ {
// Both start and end outside domain and in same block. // Both start and end outside domain and in same block.
return pointIndexHit(false, vector::zero, -1); return pointIndexHit(false, vector::zero, -1);

View File

@ -4,6 +4,7 @@
# include <fstream> # include <fstream>
# include <cmath> # include <cmath>
# include <ctime> # include <ctime>
# include <cstring>
using namespace std; using namespace std;
@ -24,7 +25,7 @@ double d_epsilon ( void )
// D_EPSILON is a number R which is a power of 2 with the property that, // D_EPSILON is a number R which is a power of 2 with the property that,
// to the precision of the computer's arithmetic, // to the precision of the computer's arithmetic,
// 1 < 1 + R // 1 < 1 + R
// but // but
// 1 = ( 1 + R / 2 ) // 1 = ( 1 + R / 2 )
// //
// Modified: // Modified:
@ -79,7 +80,7 @@ double d_max ( double x, double y )
if ( y < x ) if ( y < x )
{ {
return x; return x;
} }
else else
{ {
return y; return y;
@ -113,7 +114,7 @@ double d_min ( double x, double y )
if ( y < x ) if ( y < x )
{ {
return y; return y;
} }
else else
{ {
return x; return x;
@ -623,7 +624,7 @@ void d2vec_sort_quick_a ( int n, double a[] )
} }
//****************************************************************************** //******************************************************************************
int diaedg ( double x0, double y0, double x1, double y1, double x2, double y2, int diaedg ( double x0, double y0, double x1, double y1, double x2, double y2,
double x3, double y3 ) double x3, double y3 )
//****************************************************************************** //******************************************************************************
@ -660,7 +661,7 @@ int diaedg ( double x0, double y0, double x1, double y1, double x2, double y2,
// //
// Parameters: // Parameters:
// //
// Input, double X0, Y0, X1, Y1, X2, Y2, X3, Y3, the coordinates of the // Input, double X0, Y0, X1, Y1, X2, Y2, X3, Y3, the coordinates of the
// vertices of a quadrilateral, given in counter clockwise order. // vertices of a quadrilateral, given in counter clockwise order.
// //
// Output, int DIAEDG, chooses a diagonal: // Output, int DIAEDG, chooses a diagonal:
@ -696,12 +697,12 @@ int diaedg ( double x0, double y0, double x1, double y1, double x2, double y2,
dx32 = x3 - x2; dx32 = x3 - x2;
dy32 = y3 - y2; dy32 = y3 - y2;
tola = tol * d_max ( fabs ( dx10 ), tola = tol * d_max ( fabs ( dx10 ),
d_max ( fabs ( dy10 ), d_max ( fabs ( dy10 ),
d_max ( fabs ( dx30 ), fabs ( dy30 ) ) ) ); d_max ( fabs ( dx30 ), fabs ( dy30 ) ) ) );
tolb = tol * d_max ( fabs ( dx12 ), tolb = tol * d_max ( fabs ( dx12 ),
d_max ( fabs ( dy12 ), d_max ( fabs ( dy12 ),
d_max ( fabs ( dx32 ), fabs ( dy32 ) ) ) ); d_max ( fabs ( dx32 ), fabs ( dy32 ) ) ) );
ca = dx10 * dx30 + dy10 * dy30; ca = dx10 * dx30 + dy10 * dy30;
@ -718,7 +719,7 @@ int diaedg ( double x0, double y0, double x1, double y1, double x2, double y2,
else else
{ {
tola = d_max ( tola, tolb ); tola = d_max ( tola, tolb );
s = ( dx10 * dy30 - dx30 * dy10 ) * cb s = ( dx10 * dy30 - dx30 * dy10 ) * cb
+ ( dx32 * dy12 - dx12 * dy32 ) * ca; + ( dx32 * dy12 - dx12 * dy32 ) * ca;
if ( tola < s ) if ( tola < s )
@ -771,7 +772,7 @@ void dmat_transpose_print ( int m, int n, double a[], const char *title )
} }
//****************************************************************************** //******************************************************************************
void dmat_transpose_print_some ( int m, int n, double a[], int ilo, int jlo, void dmat_transpose_print_some ( int m, int n, double a[], int ilo, int jlo,
int ihi, int jhi, const char *title ) int ihi, int jhi, const char *title )
//****************************************************************************** //******************************************************************************
@ -909,7 +910,7 @@ void dmat_uniform ( int m, int n, double b, double c, int *seed, double r[] )
// //
// Input/output, int *SEED, the "seed" value. Normally, this // Input/output, int *SEED, the "seed" value. Normally, this
// value should not be 0, otherwise the output value of SEED // value should not be 0, otherwise the output value of SEED
// will still be 0, and D_UNIFORM will be 0. On output, SEED has // will still be 0, and D_UNIFORM will be 0. On output, SEED has
// been updated. // been updated.
// //
// Output, double DMAT_UNIFORM[M*N], a matrix of pseudorandom values. // Output, double DMAT_UNIFORM[M*N], a matrix of pseudorandom values.
@ -943,7 +944,7 @@ void dmat_uniform ( int m, int n, double b, double c, int *seed, double r[] )
} }
//****************************************************************************** //******************************************************************************
int dtris2 ( int point_num, double point_xy[], int *tri_num, int dtris2 ( int point_num, double point_xy[], int *tri_num,
int tri_vert[], int tri_nabe[] ) int tri_vert[], int tri_nabe[] )
//****************************************************************************** //******************************************************************************
@ -1046,11 +1047,11 @@ int dtris2 ( int point_num, double point_xy[], int *tri_num,
for ( j = 0; j <= 1; j++ ) for ( j = 0; j <= 1; j++ )
{ {
cmax = d_max ( fabs ( point_xy[2*(m-1)+j] ), cmax = d_max ( fabs ( point_xy[2*(m-1)+j] ),
fabs ( point_xy[2*(m1-1)+j] ) ); fabs ( point_xy[2*(m1-1)+j] ) );
if ( tol * ( cmax + 1.0 ) if ( tol * ( cmax + 1.0 )
< fabs ( point_xy[2*(m-1)+j] - point_xy[2*(m1-1)+j] ) ) < fabs ( point_xy[2*(m-1)+j] - point_xy[2*(m1-1)+j] ) )
{ {
k = j; k = j;
break; break;
@ -1095,7 +1096,7 @@ int dtris2 ( int point_num, double point_xy[], int *tri_num,
m = j; m = j;
lr = lrline ( point_xy[2*(m-1)+0], point_xy[2*(m-1)+1], lr = lrline ( point_xy[2*(m-1)+0], point_xy[2*(m-1)+1],
point_xy[2*(m1-1)+0], point_xy[2*(m1-1)+1], point_xy[2*(m1-1)+0], point_xy[2*(m1-1)+1],
point_xy[2*(m2-1)+0], point_xy[2*(m2-1)+1], 0.0 ); point_xy[2*(m2-1)+0], point_xy[2*(m2-1)+1], 0.0 );
if ( lr != 0 ) if ( lr != 0 )
@ -1182,8 +1183,8 @@ int dtris2 ( int point_num, double point_xy[], int *tri_num,
m2 = tri_vert[3*(ltri-1)+0]; m2 = tri_vert[3*(ltri-1)+0];
} }
lr = lrline ( point_xy[2*(m-1)+0], point_xy[2*(m-1)+1], lr = lrline ( point_xy[2*(m-1)+0], point_xy[2*(m-1)+1],
point_xy[2*(m1-1)+0], point_xy[2*(m1-1)+1], point_xy[2*(m1-1)+0], point_xy[2*(m1-1)+1],
point_xy[2*(m2-1)+0], point_xy[2*(m2-1)+1], 0.0 ); point_xy[2*(m2-1)+0], point_xy[2*(m2-1)+1], 0.0 );
if ( 0 < lr ) if ( 0 < lr )
@ -1199,7 +1200,7 @@ int dtris2 ( int point_num, double point_xy[], int *tri_num,
redg = (l % 3) + 1; redg = (l % 3) + 1;
} }
vbedg ( point_xy[2*(m-1)+0], point_xy[2*(m-1)+1], point_num, vbedg ( point_xy[2*(m-1)+0], point_xy[2*(m-1)+1], point_num,
point_xy, *tri_num, tri_vert, tri_nabe, &ltri, &ledg, &rtri, &redg ); point_xy, *tri_num, tri_vert, tri_nabe, &ltri, &ledg, &rtri, &redg );
n = *tri_num + 1; n = *tri_num + 1;
@ -1255,7 +1256,7 @@ int dtris2 ( int point_num, double point_xy[], int *tri_num,
ltri = n; ltri = n;
ledg = 2; ledg = 2;
error = swapec ( m, &top, &ltri, &ledg, point_num, point_xy, *tri_num, error = swapec ( m, &top, &ltri, &ledg, point_num, point_xy, *tri_num,
tri_vert, tri_nabe, stack ); tri_vert, tri_nabe, stack );
if ( error != 0 ) if ( error != 0 )
@ -1473,9 +1474,9 @@ void dvec_print ( int n, double a[], const char *title )
} }
cout << "\n"; cout << "\n";
for ( i = 0; i <= n-1; i++ ) for ( i = 0; i <= n-1; i++ )
{ {
cout << setw(6) << i + 1 << " " cout << setw(6) << i + 1 << " "
<< setw(14) << a[i] << "\n"; << setw(14) << a[i] << "\n";
} }
@ -1600,8 +1601,8 @@ int i_modp ( int i, int j )
// //
// Formula: // Formula:
// //
// If // If
// NREM = I_MODP ( I, J ) // NREM = I_MODP ( I, J )
// NMULT = ( I - NREM ) / J // NMULT = ( I - NREM ) / J
// then // then
// I = J * NMULT + NREM // I = J * NMULT + NREM
@ -1620,7 +1621,7 @@ int i_modp ( int i, int j )
// Examples: // Examples:
// //
// I J MOD I_MODP I_MODP Factorization // I J MOD I_MODP I_MODP Factorization
// //
// 107 50 7 7 107 = 2 * 50 + 7 // 107 50 7 7 107 = 2 * 50 + 7
// 107 -50 7 7 107 = -2 * -50 + 7 // 107 -50 7 7 107 = -2 * -50 + 7
// -107 50 -7 43 -107 = -3 * 50 + 43 // -107 50 -7 43 -107 = -3 * 50 + 43
@ -1640,7 +1641,7 @@ int i_modp ( int i, int j )
// //
// Input, int J, the number that divides I. // Input, int J, the number that divides I.
// //
// Output, int I_MODP, the nonnegative remainder when I is // Output, int I_MODP, the nonnegative remainder when I is
// divided by J. // divided by J.
// //
{ {
@ -1692,7 +1693,7 @@ int i_sign ( int i )
// //
// Output, int I_SIGN, the sign of I. // Output, int I_SIGN, the sign of I.
{ {
if ( i < 0 ) if ( i < 0 )
{ {
return (-1); return (-1);
} }
@ -1809,7 +1810,7 @@ void imat_transpose_print ( int m, int n, int a[], const char *title )
} }
//****************************************************************************** //******************************************************************************
void imat_transpose_print_some ( int m, int n, int a[], int ilo, int jlo, void imat_transpose_print_some ( int m, int n, int a[], int ilo, int jlo,
int ihi, int jhi, const char *title ) int ihi, int jhi, const char *title )
//****************************************************************************** //******************************************************************************
@ -1962,7 +1963,7 @@ void ivec_heap_d ( int n, int a[] )
// Only nodes (N/2)-1 down to 0 can be "parent" nodes. // Only nodes (N/2)-1 down to 0 can be "parent" nodes.
// //
for ( i = (n/2)-1; 0 <= i; i-- ) for ( i = (n/2)-1; 0 <= i; i-- )
{ {
// //
// Copy the value out of the parent node. // Copy the value out of the parent node.
// Position IFREE is now "open". // Position IFREE is now "open".
@ -2180,7 +2181,7 @@ void ivec_sorted_unique ( int n, int a[], int *nuniq )
for ( i = 1; i < n; i++ ) for ( i = 1; i < n; i++ )
{ {
if ( a[i] != a[*nuniq] ) if ( a[i] != a[*nuniq] )
{ {
*nuniq = *nuniq + 1; *nuniq = *nuniq + 1;
a[*nuniq] = a[i]; a[*nuniq] = a[i];
@ -2192,7 +2193,7 @@ void ivec_sorted_unique ( int n, int a[], int *nuniq )
} }
//****************************************************************************** //******************************************************************************
int lrline ( double xu, double yu, double xv1, double yv1, double xv2, int lrline ( double xu, double yu, double xv1, double yv1, double xv2,
double yv2, double dv ) double yv2, double dv )
//****************************************************************************** //******************************************************************************
@ -2253,9 +2254,9 @@ int lrline ( double xu, double yu, double xv1, double yv1, double xv2,
dxu = xu - xv1; dxu = xu - xv1;
dyu = yu - yv1; dyu = yu - yv1;
tolabs = tol * d_max ( fabs ( dx ), tolabs = tol * d_max ( fabs ( dx ),
d_max ( fabs ( dy ), d_max ( fabs ( dy ),
d_max ( fabs ( dxu ), d_max ( fabs ( dxu ),
d_max ( fabs ( dyu ), fabs ( dv ) ) ) ) ); d_max ( fabs ( dyu ), fabs ( dv ) ) ) ) );
t = dy * dxu - dx * dyu + dv * sqrt ( dx * dx + dy * dy ); t = dy * dxu - dx * dyu + dv * sqrt ( dx * dx + dy * dy );
@ -2426,7 +2427,7 @@ int *points_delaunay_naive_2d ( int n, double p[], int *ntri )
//******************************************************************** //********************************************************************
// //
// Purpose: // Purpose:
// //
// POINTS_DELAUNAY_NAIVE_2D computes the Delaunay triangulation in 2D. // POINTS_DELAUNAY_NAIVE_2D computes the Delaunay triangulation in 2D.
// //
@ -2456,7 +2457,7 @@ int *points_delaunay_naive_2d ( int n, double p[], int *ntri )
// //
// Joseph O'Rourke, // Joseph O'Rourke,
// Computational Geometry, // Computational Geometry,
// Cambridge University Press, // Cambridge University Press,
// Second Edition, 1998, page 187. // Second Edition, 1998, page 187.
// //
// Parameters: // Parameters:
@ -2467,7 +2468,7 @@ int *points_delaunay_naive_2d ( int n, double p[], int *ntri )
// //
// Output, int *NTRI, the number of triangles. // Output, int *NTRI, the number of triangles.
// //
// Output, int POINTS_DELAUNAY_NAIVE_2D[3*NTRI], the indices of the // Output, int POINTS_DELAUNAY_NAIVE_2D[3*NTRI], the indices of the
// nodes making each triangle. // nodes making each triangle.
// //
{ {
@ -2506,34 +2507,34 @@ int *points_delaunay_naive_2d ( int n, double p[], int *ntri )
// //
// For each triple (I,J,K): // For each triple (I,J,K):
// //
for ( i = 0; i < n - 2; i++ ) for ( i = 0; i < n - 2; i++ )
{ {
for ( j = i+1; j < n; j++ ) for ( j = i+1; j < n; j++ )
{ {
for ( k = i+1; k < n; k++ ) for ( k = i+1; k < n; k++ )
{ {
if ( j != k ) if ( j != k )
{ {
xn = ( p[1+j*2] - p[1+i*2] ) * ( z[k] - z[i] ) xn = ( p[1+j*2] - p[1+i*2] ) * ( z[k] - z[i] )
- ( p[1+k*2] - p[1+i*2] ) * ( z[j] - z[i] ); - ( p[1+k*2] - p[1+i*2] ) * ( z[j] - z[i] );
yn = ( p[0+k*2] - p[0+i*2] ) * ( z[j] - z[i] ) yn = ( p[0+k*2] - p[0+i*2] ) * ( z[j] - z[i] )
- ( p[0+j*2] - p[0+i*2] ) * ( z[k] - z[i] ); - ( p[0+j*2] - p[0+i*2] ) * ( z[k] - z[i] );
zn = ( p[0+j*2] - p[0+i*2] ) * ( p[1+k*2] - p[1+i*2] ) zn = ( p[0+j*2] - p[0+i*2] ) * ( p[1+k*2] - p[1+i*2] )
- ( p[0+k*2] - p[0+i*2] ) * ( p[1+j*2] - p[1+i*2] ); - ( p[0+k*2] - p[0+i*2] ) * ( p[1+j*2] - p[1+i*2] );
flag = ( zn < 0 ); flag = ( zn < 0 );
if ( flag ) if ( flag )
{ {
for ( m = 0; m < n; m++ ) for ( m = 0; m < n; m++ )
{ {
flag = flag && ( ( p[0+m*2] - p[0+i*2] ) * xn flag = flag && ( ( p[0+m*2] - p[0+i*2] ) * xn
+ ( p[1+m*2] - p[1+i*2] ) * yn + ( p[1+m*2] - p[1+i*2] ) * yn
+ ( z[m] - z[i] ) * zn <= 0 ); + ( z[m] - z[i] ) * zn <= 0 );
} }
} }
if ( flag ) if ( flag )
{ {
if ( pass == 2 ) if ( pass == 2 )
{ {
@ -2545,8 +2546,8 @@ int *points_delaunay_naive_2d ( int n, double p[], int *ntri )
} }
} }
} }
} }
} }
} }
@ -2587,7 +2588,7 @@ int s_len_trim ( const char *s )
n = strlen ( s ); n = strlen ( s );
t = const_cast<char*>(s) + n - 1; t = const_cast<char*>(s) + n - 1;
while ( 0 < n ) while ( 0 < n )
{ {
if ( *t != ' ' ) if ( *t != ' ' )
{ {
@ -2601,8 +2602,8 @@ int s_len_trim ( const char *s )
} }
//****************************************************************************** //******************************************************************************
int swapec ( int i, int *top, int *btri, int *bedg, int point_num, int swapec ( int i, int *top, int *btri, int *bedg, int point_num,
double point_xy[], int tri_num, int tri_vert[], int tri_nabe[], double point_xy[], int tri_num, int tri_vert[], int tri_nabe[],
int stack[] ) int stack[] )
//****************************************************************************** //******************************************************************************
@ -2698,7 +2699,7 @@ int swapec ( int i, int *top, int *btri, int *bedg, int point_num,
for ( ; ; ) for ( ; ; )
{ {
if ( *top <= 0 ) if ( *top <= 0 )
{ {
break; break;
} }
@ -2741,7 +2742,7 @@ int swapec ( int i, int *top, int *btri, int *bedg, int point_num,
c = tri_vert[3*(u-1)+1]; c = tri_vert[3*(u-1)+1];
} }
swap = diaedg ( x, y, swap = diaedg ( x, y,
point_xy[2*(a-1)+0], point_xy[2*(a-1)+1], point_xy[2*(a-1)+0], point_xy[2*(a-1)+1],
point_xy[2*(c-1)+0], point_xy[2*(c-1)+1], point_xy[2*(c-1)+0], point_xy[2*(c-1)+1],
point_xy[2*(b-1)+0], point_xy[2*(b-1)+1] ); point_xy[2*(b-1)+0], point_xy[2*(b-1)+1] );
@ -3021,16 +3022,16 @@ double *triangle_circumcenter_2d ( double t[] )
center = new double[DIM_NUM]; center = new double[DIM_NUM];
asq = ( t[0+1*2] - t[0+0*2] ) * ( t[0+1*2] - t[0+0*2] ) asq = ( t[0+1*2] - t[0+0*2] ) * ( t[0+1*2] - t[0+0*2] )
+ ( t[1+1*2] - t[1+0*2] ) * ( t[1+1*2] - t[1+0*2] ); + ( t[1+1*2] - t[1+0*2] ) * ( t[1+1*2] - t[1+0*2] );
csq = ( t[0+2*2] - t[0+0*2] ) * ( t[0+2*2] - t[0+0*2] ) csq = ( t[0+2*2] - t[0+0*2] ) * ( t[0+2*2] - t[0+0*2] )
+ ( t[1+2*2] - t[1+0*2] ) * ( t[1+2*2] - t[1+0*2] ); + ( t[1+2*2] - t[1+0*2] ) * ( t[1+2*2] - t[1+0*2] );
top1 = ( t[1+1*2] - t[1+0*2] ) * csq - ( t[1+2*2] - t[1+0*2] ) * asq; top1 = ( t[1+1*2] - t[1+0*2] ) * csq - ( t[1+2*2] - t[1+0*2] ) * asq;
top2 = ( t[0+1*2] - t[0+0*2] ) * csq - ( t[0+2*2] - t[0+0*2] ) * asq; top2 = ( t[0+1*2] - t[0+0*2] ) * csq - ( t[0+2*2] - t[0+0*2] ) * asq;
bot = ( t[1+1*2] - t[1+0*2] ) * ( t[0+2*2] - t[0+0*2] ) bot = ( t[1+1*2] - t[1+0*2] ) * ( t[0+2*2] - t[0+0*2] )
- ( t[1+2*2] - t[1+0*2] ) * ( t[0+1*2] - t[0+0*2] ); - ( t[1+2*2] - t[1+0*2] ) * ( t[0+1*2] - t[0+0*2] );
center[0] = t[0+0*2] + 0.5 * top1 / bot; center[0] = t[0+0*2] + 0.5 * top1 / bot;
@ -3042,7 +3043,7 @@ double *triangle_circumcenter_2d ( double t[] )
} }
//****************************************************************************** //******************************************************************************
bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[], bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[],
int tri_num, int nod_tri[] ) int tri_num, int nod_tri[] )
//****************************************************************************** //******************************************************************************
@ -3140,7 +3141,7 @@ bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[
file_out << "%%Title: " << file_out_name << "\n"; file_out << "%%Title: " << file_out_name << "\n";
file_out << "%%CreationDate: " << date_time << "\n"; file_out << "%%CreationDate: " << date_time << "\n";
file_out << "%%Pages: 1\n"; file_out << "%%Pages: 1\n";
file_out << "%%Bounding Box: " << x_ps_min << " " << y_ps_min << " " file_out << "%%Bounding Box: " << x_ps_min << " " << y_ps_min << " "
<< x_ps_max << " " << y_ps_max << "\n"; << x_ps_max << " " << y_ps_max << "\n";
file_out << "%%Document-Fonts: Times-Roman\n"; file_out << "%%Document-Fonts: Times-Roman\n";
file_out << "%%LanguageLevel: 1\n"; file_out << "%%LanguageLevel: 1\n";
@ -3199,17 +3200,17 @@ bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[
for ( g = 0; g < g_num; g++ ) for ( g = 0; g < g_num; g++ )
{ {
x_ps = int( x_ps = int(
( ( x_max - g_xy[0+g*2] ) * double( x_ps_min ) ( ( x_max - g_xy[0+g*2] ) * double( x_ps_min )
+ ( g_xy[0+g*2] - x_min ) * double( x_ps_max ) ) + ( g_xy[0+g*2] - x_min ) * double( x_ps_max ) )
/ ( x_max - x_min ) ); / ( x_max - x_min ) );
y_ps = int( y_ps = int(
( ( y_max - g_xy[1+g*2] ) * double( y_ps_min ) ( ( y_max - g_xy[1+g*2] ) * double( y_ps_min )
+ ( g_xy[1+g*2] - y_min ) * double( y_ps_max ) ) + ( g_xy[1+g*2] - y_min ) * double( y_ps_max ) )
/ ( y_max - y_min ) ); / ( y_max - y_min ) );
file_out << "newpath " << x_ps << " " file_out << "newpath " << x_ps << " "
<< y_ps << " 5 0 360 arc closepath fill\n"; << y_ps << " 5 0 360 arc closepath fill\n";
} }
@ -3231,14 +3232,14 @@ bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[
k = nod_tri[3*(t-1)+e-1]; k = nod_tri[3*(t-1)+e-1];
x_ps = int( x_ps = int(
( ( x_max - g_xy[0+(k-1)*2] ) * double( x_ps_min ) ( ( x_max - g_xy[0+(k-1)*2] ) * double( x_ps_min )
+ ( g_xy[0+(k-1)*2] - x_min ) * double( x_ps_max ) ) + ( g_xy[0+(k-1)*2] - x_min ) * double( x_ps_max ) )
/ ( x_max - x_min ) ); / ( x_max - x_min ) );
y_ps = int( y_ps = int(
( ( y_max - g_xy[1+(k-1)*2] ) * double( y_ps_min ) ( ( y_max - g_xy[1+(k-1)*2] ) * double( y_ps_min )
+ ( g_xy[1+(k-1)*2] - y_min ) * double( y_ps_max ) ) + ( g_xy[1+(k-1)*2] - y_min ) * double( y_ps_max ) )
/ ( y_max - y_min ) ); / ( y_max - y_min ) );
if ( j == 1 ) if ( j == 1 )
@ -3269,7 +3270,7 @@ bool triangulation_plot_eps ( const char *file_out_name, int g_num, double g_xy[
} }
//****************************************************************************** //******************************************************************************
void triangulation_print ( int point_num, double xc[], int tri_num, void triangulation_print ( int point_num, double xc[], int tri_num,
int tri_vert[], int tri_nabe[] ) int tri_vert[], int tri_nabe[] )
//****************************************************************************** //******************************************************************************
@ -3356,7 +3357,7 @@ void triangulation_print ( int point_num, double xc[], int tri_num,
imat_transpose_print ( 3, tri_num, tri_nabe, " Triangle neighbors" ); imat_transpose_print ( 3, tri_num, tri_nabe, " Triangle neighbors" );
// //
// Determine VERTEX_NUM, the number of vertices. This is not // Determine VERTEX_NUM, the number of vertices. This is not
// the same as the number of points! // the same as the number of points!
// //
vertex_list = new int[3*tri_num]; vertex_list = new int[3*tri_num];
@ -3439,7 +3440,7 @@ void triangulation_print ( int point_num, double xc[], int tri_num,
} }
//****************************************************************************** //******************************************************************************
void vbedg ( double x, double y, int point_num, double point_xy[], int tri_num, void vbedg ( double x, double y, int point_num, double point_xy[], int tri_num,
int tri_vert[], int tri_nabe[], int *ltri, int *ledg, int *rtri, int *redg ) int tri_vert[], int tri_nabe[], int *ltri, int *ledg, int *rtri, int *redg )
//****************************************************************************** //******************************************************************************

View File

@ -118,7 +118,7 @@ public:
// Member Functions // Member Functions
virtual const speciesTable& species() const = 0; virtual const speciesTable& species() const = 0;
virtual const HashPtrTable<reactionThermo>& specieThermo() const = 0; virtual const HashPtrTable<reactionThermo>& speciesThermo() const = 0;
virtual const SLPtrList<reaction>& reactions() const = 0; virtual const SLPtrList<reaction>& reactions() const = 0;
}; };

View File

@ -607,15 +607,15 @@ bool finishReaction = false;
HashPtrTable<reactionThermo>::iterator specieThermoIter HashPtrTable<reactionThermo>::iterator specieThermoIter
( (
specieThermo_.find(currentSpecieName) speciesThermo_.find(currentSpecieName)
); );
if (specieThermoIter != specieThermo_.end()) if (specieThermoIter != speciesThermo_.end())
{ {
specieThermo_.erase(specieThermoIter); speciesThermo_.erase(specieThermoIter);
} }
specieThermo_.insert speciesThermo_.insert
( (
currentSpecieName, currentSpecieName,
new reactionThermo new reactionThermo
@ -742,7 +742,7 @@ bool finishReaction = false;
<< "Plasma momentum-transfer in reaction on line " << "Plasma momentum-transfer in reaction on line "
<< lineNo_ << "not yet supported" << lineNo_ << "not yet supported"
<< exit(FatalError); << exit(FatalError);
BEGIN(readReactionKeyword); BEGIN(readReactionKeyword);
break; break;
} }
@ -894,7 +894,7 @@ bool finishReaction = false;
FatalErrorIn("chemkinReader::lex()") FatalErrorIn("chemkinReader::lex()")
<< "HIGH keyword given for a chemically" << "HIGH keyword given for a chemically"
" activated bimolecular reaction which does not" " activated bimolecular reaction which does not"
" contain a pressure dependent specie" " contain a pressure dependent specie"
<< " on line " << lineNo_ << " on line " << lineNo_
<< exit(FatalError); << exit(FatalError);
} }
@ -935,7 +935,7 @@ bool finishReaction = false;
<< exit(FatalError); << exit(FatalError);
} }
if if
( (
fofType == unknownFallOffFunctionType fofType == unknownFallOffFunctionType
|| fofType == Lindemann || fofType == Lindemann
@ -969,7 +969,7 @@ bool finishReaction = false;
<< exit(FatalError); << exit(FatalError);
} }
if if
( (
fofType == unknownFallOffFunctionType fofType == unknownFallOffFunctionType
|| fofType == Lindemann || fofType == Lindemann
@ -1046,7 +1046,7 @@ bool finishReaction = false;
} }
rrType = LandauTeller; rrType = LandauTeller;
reactionCoeffsName = reactionCoeffsName =
word(reactionTypeNames[rType]) word(reactionTypeNames[rType])
+ reactionRateTypeNames[rrType]; + reactionRateTypeNames[rrType];
BEGIN(readReactionCoeffs); BEGIN(readReactionCoeffs);
@ -1316,7 +1316,7 @@ bool finishReaction = false;
<readPDependentSpecie>{pDependentSpecie} { <readPDependentSpecie>{pDependentSpecie} {
word rhsPDependentSpecieName = pDependentSpecieName; word rhsPDependentSpecieName = pDependentSpecieName;
pDependentSpecieName = pDependentSpecieName =
foamName(foamSpecieString(YYText())); foamName(foamSpecieString(YYText()));
pDependentSpecieName = pDependentSpecieName =
pDependentSpecieName(0, pDependentSpecieName.size() - 1); pDependentSpecieName(0, pDependentSpecieName.size() - 1);
@ -1412,7 +1412,7 @@ bool finishReaction = false;
else else
{ {
FatalErrorIn("chemkinReader::lex()") FatalErrorIn("chemkinReader::lex()")
<< "unknown specie " << currentSpecieName << "unknown specie " << currentSpecieName
<< " given in reaction-order specification" << " given in reaction-order specification"
<< " on line " << lineNo_ << nl << " on line " << lineNo_ << nl
<< "Valid species are : " << nl << "Valid species are : " << nl
@ -1449,7 +1449,7 @@ bool finishReaction = false;
} }
FatalErrorIn("chemkinReader::lex()") FatalErrorIn("chemkinReader::lex()")
<< "Specie " << currentSpecieName << "Specie " << currentSpecieName
<< " on line " << lineNo_ << " on line " << lineNo_
<< " not present in " << side << " of reaction " << nl << lrhs << " not present in " << side << " of reaction " << nl << lrhs
<< exit(FatalError); << exit(FatalError);

View File

@ -182,7 +182,7 @@ void Foam::chemkinReader::addReactionType
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
rhs.shrink(), rhs.shrink(),
specieThermo_ speciesThermo_
), ),
rr rr
) )
@ -201,7 +201,7 @@ void Foam::chemkinReader::addReactionType
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
rhs.shrink(), rhs.shrink(),
specieThermo_ speciesThermo_
), ),
rr rr
) )
@ -500,7 +500,7 @@ void Foam::chemkinReader::addReaction
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
rhs.shrink(), rhs.shrink(),
specieThermo_ speciesThermo_
), ),
ArrheniusReactionRate ArrheniusReactionRate
( (
@ -553,7 +553,7 @@ void Foam::chemkinReader::addReaction
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
rhs.shrink(), rhs.shrink(),
specieThermo_ speciesThermo_
), ),
thirdBodyArrheniusReactionRate thirdBodyArrheniusReactionRate
( (
@ -658,7 +658,7 @@ void Foam::chemkinReader::addReaction
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
rhs.shrink(), rhs.shrink(),
specieThermo_ speciesThermo_
), ),
LandauTellerReactionRate LandauTellerReactionRate
( (
@ -814,7 +814,8 @@ void Foam::chemkinReader::read
yy_buffer_state* bufferPtr(yy_create_buffer(&thermoStream, yyBufSize)); yy_buffer_state* bufferPtr(yy_create_buffer(&thermoStream, yyBufSize));
yy_switch_to_buffer(bufferPtr); yy_switch_to_buffer(bufferPtr);
while(lex() != 0); while(lex() != 0)
{}
yy_delete_buffer(bufferPtr); yy_delete_buffer(bufferPtr);
@ -838,7 +839,8 @@ void Foam::chemkinReader::read
initReactionKeywordTable(); initReactionKeywordTable();
while(lex() != 0); while(lex() != 0)
{}
yy_delete_buffer(bufferPtr); yy_delete_buffer(bufferPtr);
} }

View File

@ -198,7 +198,7 @@ private:
HashTable<phase> speciePhase_; HashTable<phase> speciePhase_;
//- Table of the thermodynamic data given in the CHEMKIN file //- Table of the thermodynamic data given in the CHEMKIN file
HashPtrTable<reactionThermo> specieThermo_; HashPtrTable<reactionThermo> speciesThermo_;
//- Table of species composition //- Table of species composition
HashTable<List<specieElement> > specieComposition_; HashTable<List<specieElement> > specieComposition_;
@ -363,9 +363,9 @@ public:
} }
//- Table of the thermodynamic data given in the CHEMKIN file //- Table of the thermodynamic data given in the CHEMKIN file
const HashPtrTable<reactionThermo>& specieThermo() const const HashPtrTable<reactionThermo>& speciesThermo() const
{ {
return specieThermo_; return speciesThermo_;
} }
//- Table of species composition //- Table of species composition

View File

@ -45,12 +45,12 @@ Foam::foamChemistryReader::foamChemistryReader
const fileName& thermoFileName const fileName& thermoFileName
) )
: :
specieThermo_(IFstream(thermoFileName)()), speciesThermo_(IFstream(thermoFileName)()),
speciesTable_(dictionary(IFstream(reactionsFileName)()).lookup("species")), speciesTable_(dictionary(IFstream(reactionsFileName)()).lookup("species")),
reactions_ reactions_
( (
dictionary(IFstream(reactionsFileName)()).lookup("reactions"), dictionary(IFstream(reactionsFileName)()).lookup("reactions"),
reaction::iNew(speciesTable_, specieThermo_) reaction::iNew(speciesTable_, speciesThermo_)
) )
{} {}
@ -58,7 +58,7 @@ Foam::foamChemistryReader::foamChemistryReader
// Construct from components // Construct from components
Foam::foamChemistryReader::foamChemistryReader(const dictionary& thermoDict) Foam::foamChemistryReader::foamChemistryReader(const dictionary& thermoDict)
: :
specieThermo_ speciesThermo_
( (
IFstream IFstream
( (
@ -84,7 +84,7 @@ Foam::foamChemistryReader::foamChemistryReader(const dictionary& thermoDict)
fileName(thermoDict.lookup("foamChemistryFile")).expand() fileName(thermoDict.lookup("foamChemistryFile")).expand()
)() )()
).lookup("reactions"), ).lookup("reactions"),
reaction::iNew(speciesTable_, specieThermo_) reaction::iNew(speciesTable_, speciesThermo_)
) )
{} {}

View File

@ -60,7 +60,7 @@ class foamChemistryReader
public chemistryReader public chemistryReader
{ {
//- Table of the thermodynamic data given in the foamChemistry file //- Table of the thermodynamic data given in the foamChemistry file
HashPtrTable<reactionThermo> specieThermo_; HashPtrTable<reactionThermo> speciesThermo_;
//- Table of species //- Table of species
speciesTable speciesTable_; speciesTable speciesTable_;
@ -113,9 +113,9 @@ public:
} }
//- Table of the thermodynamic data given in the foamChemistry file //- Table of the thermodynamic data given in the foamChemistry file
const HashPtrTable<reactionThermo>& specieThermo() const const HashPtrTable<reactionThermo>& speciesThermo() const
{ {
return specieThermo_; return speciesThermo_;
} }
//- List of the reactions //- List of the reactions

View File

@ -45,7 +45,7 @@ reactingMixture::reactingMixture
( (
thermoDict, thermoDict,
autoPtr<chemistryReader>::operator()().species(), autoPtr<chemistryReader>::operator()().species(),
autoPtr<chemistryReader>::operator()().specieThermo(), autoPtr<chemistryReader>::operator()().speciesThermo(),
mesh mesh
), ),
PtrList<chemistryReader::reaction> PtrList<chemistryReader::reaction>

View File

@ -0,0 +1,3 @@
XFLAGS =
XINC = $(XFLAGS) -I/usr/X11R6/include
XLIBS = -L/usr/X11R6/lib64 -lXext -lX11

View File

@ -0,0 +1,16 @@
.SUFFIXES: .c .h
cWARN = -Wall
cc = gcc -m64
include $(RULES)/c$(WM_COMPILE_OPTION)
cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC
ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $$SOURCE -o $@
LINK_LIBS = $(cDBUG)
LINKLIBSO = $(cc) -shared
LINKEXE = $(cc) -Xlinker -z -Xlinker nodefs

View File

@ -0,0 +1,21 @@
.SUFFIXES: .C .cxx .cc .cpp
c++WARN = -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast
CC = g++ -m64
include $(RULES)/c++$(WM_COMPILE_OPTION)
ptFLAGS = -DNoRepository -ftemplate-depth-40
c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@
cxxtoo = $(Ctoo)
cctoo = $(Ctoo)
cpptoo = $(Ctoo)
LINK_LIBS = $(c++DBUG)
LINKLIBSO = $(CC) $(c++FLAGS) -shared
LINKEXE = $(CC) $(c++FLAGS)

View File

@ -0,0 +1,2 @@
c++DBUG = -ggdb3 -DFULLDEBUG
c++OPT = -O0 -fdefault-inline

View File

@ -0,0 +1,4 @@
c++DBUG =
c++OPT = -march=opteron -O3
#c++OPT = -march=nocona -O3
# -ftree-vectorize -ftree-vectorizer-verbose=3

View File

@ -0,0 +1,2 @@
c++DBUG = -pg
c++OPT = -O2

View File

@ -0,0 +1,2 @@
cDBUG = -ggdb -DFULLDEBUG
cOPT = -O1 -fdefault-inline -finline-functions

View File

@ -0,0 +1,2 @@
cDBUG =
cOPT = -march=opteron -O3 -fno-gcse

View File

@ -0,0 +1,2 @@
cDBUG = -pg
cOPT = -O2

Binary file not shown.

View File

@ -0,0 +1,11 @@
CPP = /lib/cpp $(GFLAGS)
LD = ld -A64
PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl
include $(GENERAL_RULES)/standard
include $(RULES)/X
include $(RULES)/c
include $(RULES)/c++
include $(GENERAL_RULES)/cint

View File

@ -0,0 +1,3 @@
PFLAGS =
PINC =
PLIBS =

View File

@ -0,0 +1,3 @@
PFLAGS =
PINC = -I$(GAMMA_ARCH_PATH)/include
PLIBS = -L$(GAMMA_ARCH_PATH)/lib -lgamma

View File

@ -0,0 +1,3 @@
PFLAGS =
PINC = -I$(LAM_ARCH_PATH)/include
PLIBS = -L$(LAM_ARCH_PATH)/lib -lmpi -llam -lpthread -lutil

View File

@ -0,0 +1,3 @@
PFLAGS =
PINC = -I$(MPICH_ARCH_PATH)/include
PLIBS = -L$(MPICH_ARCH_PATH)/lib -lmpich -lrt

View File

@ -0,0 +1,3 @@
PFLAGS =
PINC = -I$(MPICH_ARCH_PATH)/include
PLIBS = -L$(MPICH_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm

View File

@ -0,0 +1,3 @@
PFLAGS = -DOMPI_SKIP_MPICXX
PINC = -I$(OPENMPI_ARCH_PATH)/include
PLIBS = -L$(OPENMPI_ARCH_PATH)/lib -lmpi

BIN
wmake/rules/linux64Gcc43/wmkdep Executable file

Binary file not shown.