Minimum changes to compile everything with gcc-4.3.0

This commit is contained in:
henry 2008-05-26 19:27:23 +01:00
parent f6107f4033
commit 0f687ccd76
22 changed files with 158 additions and 135 deletions

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

@ -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

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

@ -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

@ -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

@ -52,7 +52,7 @@ namespace Foam
/* * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * */ /* * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * */
const char* Foam::chemkinReader::reactionTypeNames[4] = const char* Foam::chemkinReader::reactionTypeNames[4] =
{ {
"irreversible", "irreversible",
"reversible", "reversible",
@ -154,7 +154,7 @@ void Foam::chemkinReader::checkCoeffs
<< " rate expression on line " << " rate expression on line "
<< lineNo_-1 << ", should be " << lineNo_-1 << ", should be "
<< nCoeffs << " but " << reactionCoeffs.size() << " supplied." << nl << nCoeffs << " but " << reactionCoeffs.size() << " supplied." << nl
<< "Coefficients are " << "Coefficients are "
<< reactionCoeffs << nl << reactionCoeffs << nl
<< exit(FatalError); << exit(FatalError);
} }
@ -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
) )
@ -291,7 +291,7 @@ void Foam::chemkinReader::addPressureDependentReaction
<< "Wrong number of coefficients for Troe rate expression" << "Wrong number of coefficients for Troe rate expression"
" on line " << lineNo_-1 << ", should be 3 or 4 but " " on line " << lineNo_-1 << ", should be 3 or 4 but "
<< TroeCoeffs.size() << " supplied." << nl << TroeCoeffs.size() << " supplied." << nl
<< "Coefficients are " << "Coefficients are "
<< TroeCoeffs << nl << TroeCoeffs << nl
<< exit(FatalError); << exit(FatalError);
} }
@ -347,7 +347,7 @@ void Foam::chemkinReader::addPressureDependentReaction
<< "Wrong number of coefficients for SRI rate expression" << "Wrong number of coefficients for SRI rate expression"
" on line " << lineNo_-1 << ", should be 3 or 5 but " " on line " << lineNo_-1 << ", should be 3 or 5 but "
<< SRICoeffs.size() << " supplied." << nl << SRICoeffs.size() << " supplied." << nl
<< "Coefficients are " << "Coefficients are "
<< SRICoeffs << nl << SRICoeffs << nl
<< exit(FatalError); << exit(FatalError);
} }
@ -397,7 +397,7 @@ void Foam::chemkinReader::addPressureDependentReaction
if (fofType < 4) if (fofType < 4)
{ {
FatalErrorIn("chemkinReader::addPressureDependentReaction") FatalErrorIn("chemkinReader::addPressureDependentReaction")
<< "Fall-off function type " << "Fall-off function type "
<< fallOffFunctionNames[fofType] << fallOffFunctionNames[fofType]
<< " on line " << lineNo_-1 << " on line " << lineNo_-1
<< " not implemented" << " not implemented"
@ -459,7 +459,7 @@ void Foam::chemkinReader::addReaction
// Calculate the unit conversion factor for the A coefficient // Calculate the unit conversion factor for the A coefficient
// for the change from mol/cm^3 to kmol/m^3 concentraction units // for the change from mol/cm^3 to kmol/m^3 concentraction units
const scalar concFactor = 0.001; const scalar concFactor = 0.001;
scalar sumExp = 0.0; scalar sumExp = 0.0;
forAll (lhs, i) forAll (lhs, i)
{ {
@ -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);
} }
@ -874,7 +876,7 @@ Foam::chemkinReader::chemkinReader(const dictionary& thermoDict)
); );
fileName thermoFileName = fileName::null; fileName thermoFileName = fileName::null;
if (thermoDict.found("CHEMKINThermoFile")) if (thermoDict.found("CHEMKINThermoFile"))
{ {
thermoFileName = thermoFileName =

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>