From 772c78e5e319e91312b4be09d8cc67518d635cd7 Mon Sep 17 00:00:00 2001 From: graham Date: Tue, 16 Mar 2010 22:01:02 +0000 Subject: [PATCH 001/128] BUG. FaceCellWave. If propagationTol is a *const* scalar then setPropagationTol cannot be called. --- src/OpenFOAM/algorithms/MeshWave/FaceCellWave.C | 2 +- src/OpenFOAM/algorithms/MeshWave/FaceCellWave.H | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.C b/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.C index 017c20d692..654497a782 100644 --- a/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.C +++ b/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.C @@ -40,7 +40,7 @@ template const Foam::scalar Foam::FaceCellWave::geomTol_ = 1e-6; template -const Foam::scalar Foam::FaceCellWave::propagationTol_ = 0.01; +Foam::scalar Foam::FaceCellWave::propagationTol_ = 0.01; // Write to ostream template diff --git a/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.H b/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.H index 6bf08d8e92..86cb13e351 100644 --- a/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.H +++ b/src/OpenFOAM/algorithms/MeshWave/FaceCellWave.H @@ -252,7 +252,7 @@ class FaceCellWave // Private static data static const scalar geomTol_; - static const scalar propagationTol_; + static scalar propagationTol_; public: From 56a5650f5ea8478651ceb88a93bf6f6549e7083d Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 23 Mar 2010 11:42:28 +0100 Subject: [PATCH 002/128] ENH: in cshrc - prevent local variables from shadowing setenv variables --- etc/cshrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/etc/cshrc b/etc/cshrc index fd3e7d6834..ef8d9ea118 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -213,13 +213,15 @@ endsw # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ set foamClean=$WM_PROJECT_DIR/bin/foamCleanPath +#- prevent local variables from shadowing setenv variables +unset PATH MANPATH LD_LIBRARY_PATH LD_PRELOAD + if (! $?LD_LIBRARY_PATH ) setenv LD_LIBRARY_PATH '' if (! $?MANPATH) setenv MANPATH '' #- Clean PATH (path) set cleaned=`$foamClean "$PATH" "$foamOldDirs"` if ( $status == 0 ) then - unset PATH setenv PATH $cleaned endif From f1d03a3802075076d56e53d5235a523874c4b27c Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 23 Mar 2010 14:05:51 +0100 Subject: [PATCH 003/128] ENH: cleanup shell scripts, BUG: unclosed 'if' in inlineReplace --- bin/foamEtcFile | 16 ++++++++-------- bin/foamRunTutorials | 14 +++++++------- bin/foamTags | 4 ++-- bin/rm~all | 2 +- bin/tools/inlineReplace | 27 +++++++++++++-------------- wmake/wmakeLnInclude | 30 ++++++++++++++---------------- 6 files changed, 45 insertions(+), 48 deletions(-) diff --git a/bin/foamEtcFile b/bin/foamEtcFile index b749a76e97..9b43222de4 100755 --- a/bin/foamEtcFile +++ b/bin/foamEtcFile @@ -30,7 +30,7 @@ # Locate user/group/shipped file with semantics similar to the # ~OpenFOAM/fileName expansion. # -# The -mode option can be used to allow chaining from +# The -mode option can be used to allow chaining from # personal settings to site-wide settings. # # For example, within the user ~/.OpenFOAM//prefs.sh: @@ -119,27 +119,27 @@ nArgs=$# fileName="$1" # Define the various places to be searched: -files="" +unset dirList case "$mode" in *u*) # user - files="$files $HOME/.${WM_PROJECT:-OpenFOAM}/$WM_PROJECT_VERSION" - files="$files $HOME/.${WM_PROJECT:-OpenFOAM}" + dirList="$dirList $HOME/.${WM_PROJECT:-OpenFOAM}/$WM_PROJECT_VERSION" + dirList="$dirList $HOME/.${WM_PROJECT:-OpenFOAM}" ;; esac case "$mode" in *g*) # group - files="$files $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION" - files="$files $WM_PROJECT_INST_DIR/site" + dirList="$dirList $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION" + dirList="$dirList $WM_PROJECT_INST_DIR/site" ;; esac case "$mode" in *o*) # other - files="$files $WM_PROJECT_DIR/etc" + dirList="$dirList $WM_PROJECT_DIR/etc" ;; esac -set -- $files +set -- $dirList # diff --git a/bin/foamRunTutorials b/bin/foamRunTutorials index 7c52b6b9e1..2d0c8f7a71 100755 --- a/bin/foamRunTutorials +++ b/bin/foamRunTutorials @@ -46,7 +46,7 @@ if [ $# = 0 -a -f "./Allrun" ] then # Specialised script. ./Allrun -elif [ -d "./system" ] +elif [ -d system ] then # Normal case. parentDir=`dirname $PWD` @@ -55,19 +55,19 @@ then runApplication $application else # Loop over sub-directories and compile any applications - for case in * + for caseName in * do - if [ -d $case -a -d "$case/Make" ] + if [ -d $caseName -a -d "$caseName/Make" ] then - (compileApplication $case) + ( compileApplication $caseName ) fi done # Recurse to subdirectories - for case in * + for caseName in * do - if [ -d $case ] + if [ -d $caseName ] then - (cd $case && $thisScript) + ( cd $caseName && $thisScript ) fi done fi diff --git a/bin/foamTags b/bin/foamTags index 18ad697768..3331c16bf2 100755 --- a/bin/foamTags +++ b/bin/foamTags @@ -45,12 +45,12 @@ for cmd in etags ectags do type $cmd >/dev/null 2>&1 || { echo "${0##*/} cannot build tag files: '$cmd' command not found" - exit + exit 1 } done -cd $WM_PROJECT_DIR || exit +cd $WM_PROJECT_DIR || exit 1 mkdir .tags 2>/dev/null diff --git a/bin/rm~all b/bin/rm~all index afc658b76b..6d53ec55a2 100755 --- a/bin/rm~all +++ b/bin/rm~all @@ -49,7 +49,7 @@ do echo "removing all *~ files: $i" find $i \( -name '*~' -o -name '.*~' \) -print | xargs -t rm 2>/dev/null else - echo "no directory: $i" 1>&2 + echo "no directory: $i" 1>&2 fi done diff --git a/bin/tools/inlineReplace b/bin/tools/inlineReplace index 4e502bccb2..27d19f8164 100755 --- a/bin/tools/inlineReplace +++ b/bin/tools/inlineReplace @@ -1,31 +1,30 @@ #!/bin/sh -# $0 string1 string2 file1 .. filen +# $0 oldString newString file1 .. fileN # if [ $# -lt 3 ] then - echo "Usage: ${0##*/} [-f] .. " + echo "Usage: ${0##*/} [.. fileN]" echo "" - echo "Replaces all occurrences of string1 by string2 in files." - echo "(replacement of sed -i on those systems that don't support it)" + echo "Replaces all occurrences of oldString by newString in files." + echo "(replacement for sed -i on systems that don't support it)" exit 1 fi -FROMSTRING=$1 -shift -TOSTRING=$1 -shift +oldString="$1" +newString="$2" +shift 2 -for f in $* +for f do - if grep "$FROMSTRING" "$f" >/dev/null + if grep "$oldString" "$f" >/dev/null then cp "$f" "${f}_bak" - sed -e "s@$FROMSTRING@$TOSTRING@g" "${f}"_bak > "$f" - rm -f "${f}"_bak + sed -e "s@$oldString@$newString@g" "${f}_bak" > "$f" + rm -f "${f}_bak" #else - # echo "String $FROMSTRING not present in $f" - #fi + # echo "String $oldString not present in $f" + fi done # ----------------------------------------------------------------- end-of-file diff --git a/wmake/wmakeLnInclude b/wmake/wmakeLnInclude index 0580893b76..820acf91a4 100755 --- a/wmake/wmakeLnInclude +++ b/wmake/wmakeLnInclude @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License @@ -58,13 +58,14 @@ USAGE #------------------------------------------------------------------------------ -# simple option parsing -unset forceUpdate +# default 'find' option unset findOpt -# default ln option +# default 'ln' option lnOpt="-s" +unset forceUpdate + # simple parse options while [ "$#" -gt 0 ] do @@ -74,7 +75,7 @@ do ;; -f) shift - forceUpdate=1 + forceUpdate=true lnOpt="-sf" ;; -*) @@ -110,28 +111,25 @@ done incDir=$baseDir/lnInclude -if [ ! -d $baseDir ] -then +[ -d $baseDir ] || { echo "$Script error: base directory $baseDir does not exist" 1>&2 exit 2 -fi +} if [ -d $incDir ] then - if [ ! "$forceUpdate" ] - then - # echo "$Script error: include directory $incDir already exists" 1>&2 - exit 0 - fi + [ "$forceUpdate" = true ] || { + # echo "$Script error: include directory $incDir already exists" 1>&2 + exit 0 + } else mkdir $incDir fi -if [ ! -d $incDir ] -then +[ -d $incDir ] || { echo "$Script error: failed to create include directory $incDir" 1>&2 exit 0 -fi +} cd $incDir || exit 1 From 240587029a42a792be633992cfc276117ab33178 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 23 Mar 2010 14:31:06 +0100 Subject: [PATCH 004/128] BUG: Corrected reading of the lower-limit of epsilon and omega (RAS models) ENH: Fixed documentation comments for the k0, epsilon0, omega0 BUG: omegaSmall was not being used in compressible RAS models --- .../compressible/RAS/RASModel/RASModel.C | 6 +++--- .../compressible/RAS/RASModel/RASModel.H | 16 +++++++--------- .../compressible/RAS/kOmegaSST/kOmegaSST.C | 12 ++++++++++-- .../RAS/LienCubicKELowRe/LienCubicKELowRe.C | 10 ++++------ .../incompressible/RAS/RASModel/RASModel.C | 4 ++-- .../incompressible/RAS/RASModel/RASModel.H | 12 +++++------- .../incompressible/RAS/kOmegaSST/kOmegaSST.C | 8 +++++--- 7 files changed, 36 insertions(+), 32 deletions(-) diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C index ffab28703b..e5aa916702 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -82,9 +82,9 @@ RASModel::RASModel coeffDict_(subOrEmptyDict(type + "Coeffs")), k0_("k0", dimVelocity*dimVelocity, SMALL), - epsilon0_("epsilon", k0_.dimensions()/dimTime, SMALL), + epsilon0_("epsilon0", k0_.dimensions()/dimTime, SMALL), epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL), - omega0_("omega", dimless/dimTime, SMALL), + omega0_("omega0", dimless/dimTime, SMALL), omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL), y_(mesh_) diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H index 883fa0825a..d5a12902cc 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -185,35 +185,33 @@ public: // Access - //- Return the value of k0 which k is not allowed to be less than + //- Return the lower allowable limit for k const dimensionedScalar& k0() const { return k0_; } - //- Return the value of epsilon0 which epsilon is not allowed to be - // less than + //- Return the lower allowable limit for epsilon const dimensionedScalar& epsilon0() const { return epsilon0_; } //- Return the value of epsilonSmall which is added to epsilon when - // calculating nut + // calculating mut const dimensionedScalar& epsilonSmall() const { return epsilonSmall_; } - //- Return the value of omega0 which epsilon is not allowed to be - // less than + //- Return the lower allowable limit for omega const dimensionedScalar& omega0() const { return omega0_; } - //- Return the value of omegaSmall which is added to epsilon when - // calculating nut + //- Return the value of omegaSmall which is added to omega when + // calculating mut const dimensionedScalar& omegaSmall() const { return omegaSmall_; diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C index d7627f35e0..23e9f0569f 100644 --- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -258,7 +258,15 @@ kOmegaSST::kOmegaSST autoCreateAlphat("alphat", mesh_) ) { - mut_ = a1_*rho_*k_/max(a1_*omega_, F2()*sqrt(magSqr(symm(fvc::grad(U_))))); + mut_ = + ( + a1_*rho_*k_ + / max + ( + a1_*(omega_ + omegaSmall_), + F2()*sqrt(magSqr(symm(fvc::grad(U_)))) + ) + ); mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C index 2146553f0f..886b984f57 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -281,11 +281,9 @@ LienCubicKELowRe::LienCubicKELowRe ) { nut_ = Cmu_ - *( - scalar(1) - exp(-Am_*yStar_)) - /(scalar(1) - exp(-Aepsilon_*yStar_) + SMALL - ) - *sqr(k_)/(epsilon_ + epsilonSmall_) + * (scalar(1) - exp(-Am_*yStar_)) + / (scalar(1) - exp(-Aepsilon_*yStar_) + SMALL) + * sqr(k_)/(epsilon_ + epsilonSmall_) // cubic term C5, implicit part + max ( diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C index 1803075428..8944f94c23 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -81,7 +81,7 @@ RASModel::RASModel coeffDict_(subOrEmptyDict(type + "Coeffs")), k0_("k0", dimVelocity*dimVelocity, SMALL), - epsilon0_("epsilon", k0_.dimensions()/dimTime, SMALL), + epsilon0_("epsilon0", k0_.dimensions()/dimTime, SMALL), epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL), omega0_("omega0", dimless/dimTime, SMALL), omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL), diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H index ce57c6690e..a8eab758f0 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -176,14 +176,13 @@ public: // Access - //- Return the value of k0 which k is not allowed to be less than + //- Return lower allowable limit for k const dimensionedScalar& k0() const { return k0_; } - //- Return the value of epsilon0 which epsilon is not allowed to be - // less than + //- Return the lower allowable limit for epsilon const dimensionedScalar& epsilon0() const { return epsilon0_; @@ -196,14 +195,13 @@ public: return epsilonSmall_; } - //- Return the value of omega0 which epsilon is not allowed to be - // less than + //- Return the lower allowable limit for omega0 const dimensionedScalar& omega0() const { return omega0_; } - //- Return the value of omegaSmall which is added to epsilon when + //- Return the value of omegaSmall which is added to omega when // calculating nut const dimensionedScalar& omegaSmall() const { diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C index 99721f6a12..8323a23011 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -237,12 +237,14 @@ kOmegaSST::kOmegaSST ) { nut_ = + ( a1_*k_ - /max + / max ( a1_*(omega_ + omegaSmall_), F2()*mag(symm(fvc::grad(U_))) - ); + ) + ); nut_.correctBoundaryConditions(); printCoeffs(); From 0c8fb634f0b4686155f44d30284cb6bf53569820 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Wed, 24 Mar 2010 09:07:53 +0100 Subject: [PATCH 005/128] ENH: enforce consistent boundness on turbulence models. - remove epsilonSmall, omegaSmall - k0/epsilon0/omega0 become kMin/epsilonMin/omegaMin - add qMin/zetaMin for consistency These files still need some attention: dynOneEqEddy.C NonlinearKEShih.C settlingFoam BUG: incompressible::LESModels:dynOneEqEddy::correct() - avoid tmp field destruction for consistency with the compressible version Possible TODO: - set kMin to zero (instead of SMALL) and introduce kSmall to avoid division by zero --- .../turbulence/PDRkEpsilon/PDRkEpsilon.C | 21 +++--- .../multiphase/settlingFoam/kEpsilon.H | 14 ++-- .../cfdTools/general/bound/bound.C | 16 ++-- .../cfdTools/general/bound/bound.H | 12 +-- .../DeardorffDiffStress/DeardorffDiffStress.C | 4 +- .../compressible/LES/LESModel/LESModel.C | 8 +- .../compressible/LES/LESModel/LESModel.H | 16 ++-- .../LES/dynOneEqEddy/dynOneEqEddy.C | 14 ++-- .../LES/lowReOneEqEddy/lowReOneEqEddy.C | 4 +- .../compressible/LES/oneEqEddy/oneEqEddy.C | 4 +- .../compressible/RAS/LRR/LRR.C | 18 +++-- .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 18 +++-- .../RAS/LaunderSharmaKE/LaunderSharmaKE.C | 14 ++-- .../compressible/RAS/RASModel/RASModel.C | 16 ++-- .../compressible/RAS/RASModel/RASModel.H | 74 ++++++------------- .../RAS/RNGkEpsilon/RNGkEpsilon.C | 14 ++-- .../compressible/RAS/kEpsilon/kEpsilon.C | 12 +-- .../compressible/RAS/kOmegaSST/kOmegaSST.C | 8 +- .../RAS/realizableKE/realizableKE.C | 16 ++-- .../DeardorffDiffStress/DeardorffDiffStress.C | 10 +-- .../incompressible/LES/LESModel/LESModel.C | 8 +- .../incompressible/LES/LESModel/LESModel.H | 16 ++-- .../LES/LRRDiffStress/LRRDiffStress.C | 10 +-- .../LES/dynOneEqEddy/dynOneEqEddy.C | 14 ++-- .../LES/kOmegaSSTSAS/kOmegaSSTSAS.C | 24 +++--- .../LES/kOmegaSSTSAS/kOmegaSSTSAS.H | 5 +- .../LES/locDynOneEqEddy/locDynOneEqEddy.C | 4 +- .../incompressible/LES/oneEqEddy/oneEqEddy.C | 4 +- .../incompressible/RAS/LRR/LRR.C | 20 ++--- .../RAS/LamBremhorstKE/LamBremhorstKE.C | 10 ++- .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 16 ++-- .../RAS/LaunderSharmaKE/LaunderSharmaKE.C | 10 ++- .../RAS/LienCubicKE/LienCubicKE.C | 12 ++- .../RAS/LienCubicKELowRe/LienCubicKELowRe.C | 8 +- .../LienLeschzinerLowRe/LienLeschzinerLowRe.C | 10 ++- .../RAS/NonlinearKEShih/NonlinearKEShih.C | 32 +++++++- .../incompressible/RAS/RASModel/RASModel.C | 16 ++-- .../incompressible/RAS/RASModel/RASModel.H | 74 ++++++------------- .../RAS/RNGkEpsilon/RNGkEpsilon.C | 10 ++- .../incompressible/RAS/kEpsilon/kEpsilon.C | 10 ++- .../incompressible/RAS/kOmega/kOmega.C | 12 +-- .../incompressible/RAS/kOmegaSST/kOmegaSST.C | 8 +- .../incompressible/RAS/qZeta/qZeta.C | 18 ++++- .../incompressible/RAS/qZeta/qZeta.H | 34 ++++++++- .../RAS/realizableKE/realizableKE.C | 14 ++-- 45 files changed, 374 insertions(+), 338 deletions(-) diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C index fdddddfbfe..821eb5adb0 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -121,9 +121,8 @@ PDRkEpsilon::PDRkEpsilon IOobject::MUST_READ, IOobject::AUTO_WRITE ), - mesh_ + autoCreateK("k", mesh_) ), - epsilon_ ( IOobject @@ -134,9 +133,8 @@ PDRkEpsilon::PDRkEpsilon IOobject::MUST_READ, IOobject::AUTO_WRITE ), - mesh_ + autoCreateEpsilon("epsilon", mesh_) ), - mut_ ( IOobject @@ -147,9 +145,8 @@ PDRkEpsilon::PDRkEpsilon IOobject::NO_READ, IOobject::NO_WRITE ), - Cmu_*rho_*sqr(k_)/(epsilon_ + epsilonSmall_) + autoCreateMut("mut", mesh_) ), - alphat_ ( IOobject @@ -163,7 +160,9 @@ PDRkEpsilon::PDRkEpsilon autoCreateAlphat("alphat", mesh_) ) { - mut_ = Cmu_*rho_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + mut_ = Cmu_*rho_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; @@ -250,7 +249,7 @@ void PDRkEpsilon::correct() if (!turbulence_) { // Re-calculate viscosity - mut_ = rho_*Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ = rho_*Cmu_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); // Re-calculate thermal diffusivity @@ -302,7 +301,7 @@ void PDRkEpsilon::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -320,7 +319,7 @@ void PDRkEpsilon::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity mut_ = rho_*Cmu_*sqr(k_)/epsilon_; diff --git a/applications/solvers/multiphase/settlingFoam/kEpsilon.H b/applications/solvers/multiphase/settlingFoam/kEpsilon.H index 522a9afac7..e27594ffed 100644 --- a/applications/solvers/multiphase/settlingFoam/kEpsilon.H +++ b/applications/solvers/multiphase/settlingFoam/kEpsilon.H @@ -5,8 +5,8 @@ if (turbulence) y.correct(); } - dimensionedScalar k0("k0", k.dimensions(), SMALL); - dimensionedScalar epsilon0("epsilon0", epsilon.dimensions(), SMALL); + dimensionedScalar kMin("kMin", k.dimensions(), SMALL); + dimensionedScalar epsilonMin("epsilonMin", epsilon.dimensions(), SMALL); volScalarField divU = fvc::div(phi/fvc::interpolate(rho)); @@ -15,7 +15,7 @@ if (turbulence) tgradU.clear(); volScalarField Gcoef = - Cmu*k/sigmak*(g & fvc::grad(rho))/(epsilon + epsilon0); + Cmu*k/sigmak*(g & fvc::grad(rho))/(epsilon + epsilonMin); #include "wallFunctions.H" @@ -40,7 +40,7 @@ if (turbulence) epsEqn.relax(); epsEqn.solve(); - bound(epsilon, epsilon0); + bound(epsilon, epsilonMin); // Turbulent kinetic energy equation @@ -60,11 +60,13 @@ if (turbulence) - fvm::Sp(rho*epsilon/k, k) ); - bound(k, k0); + //FIXME: why no kEqn.relax()? + + bound(k, kMin); //- Re-calculate viscosity - mut = rho*Cmu*sqr(k)/(epsilon + epsilon0); + mut = rho*Cmu*sqr(k)/(epsilon + epsilonMin); #include "wallViscosity.H" } diff --git a/src/finiteVolume/cfdTools/general/bound/bound.C b/src/finiteVolume/cfdTools/general/bound/bound.C index b629033754..7054434c0f 100644 --- a/src/finiteVolume/cfdTools/general/bound/bound.C +++ b/src/finiteVolume/cfdTools/general/bound/bound.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -30,11 +30,11 @@ License // * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * // -void Foam::bound(volScalarField& vsf, const dimensionedScalar& vsf0) +void Foam::bound(volScalarField& vsf, const dimensionedScalar& lowerBound) { - scalar minVsf = min(vsf).value(); + const scalar minVsf = min(vsf).value(); - if (minVsf < vsf0.value()) + if (minVsf < lowerBound.value()) { Info<< "bounding " << vsf.name() << ", min: " << minVsf @@ -47,13 +47,13 @@ void Foam::bound(volScalarField& vsf, const dimensionedScalar& vsf0) max ( vsf.internalField(), - fvc::average(max(vsf, vsf0))().internalField() - *pos(-vsf.internalField()) + fvc::average(max(vsf, lowerBound))().internalField() + * pos(-vsf.internalField()) ), - vsf0.value() + lowerBound.value() ); - vsf.boundaryField() = max(vsf.boundaryField(), vsf0.value()); + vsf.boundaryField() = max(vsf.boundaryField(), lowerBound.value()); } } diff --git a/src/finiteVolume/cfdTools/general/bound/bound.H b/src/finiteVolume/cfdTools/general/bound/bound.H index 08a58e5550..f301c5a217 100644 --- a/src/finiteVolume/cfdTools/general/bound/bound.H +++ b/src/finiteVolume/cfdTools/general/bound/bound.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,11 +23,13 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA InNamespace - Foam::bound + Foam Description - Bound the given scalar field if it has gone unbounded. Used extensively - in RAS and LES turbulence models. + Bound the given scalar field if it has gone unbounded. + + Used extensively in RAS and LES turbulence models, but also of use + within solvers. SourceFiles bound.C @@ -49,7 +51,7 @@ namespace Foam //- Bound the given scalar field if it has gone unbounded. // Used extensively in RAS and LES turbulence models. -void bound(volScalarField& vsf, const dimensionedScalar& vsf0); +void bound(volScalarField&, const dimensionedScalar& lowerBound); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C index 41063cd2cd..cff839b5e3 100644 --- a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C +++ b/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -132,7 +132,7 @@ void DeardorffDiffStress::correct(const tmp& tgradU) } K = 0.5*tr(B_); - bound(K, k0()); + bound(K, kMin_); updateSubGridScaleFields(K); } diff --git a/src/turbulenceModels/compressible/LES/LESModel/LESModel.C b/src/turbulenceModels/compressible/LES/LESModel/LESModel.C index 6ac295dea6..daeec0a05e 100644 --- a/src/turbulenceModels/compressible/LES/LESModel/LESModel.C +++ b/src/turbulenceModels/compressible/LES/LESModel/LESModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -79,11 +79,11 @@ LESModel::LESModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - k0_("k0", dimVelocity*dimVelocity, SMALL), + kMin_("kMin", dimVelocity*dimVelocity, SMALL), delta_(LESdelta::New("delta", U.mesh(), *this)) { - readIfPresent("k0", k0_); + readIfPresent("kMin", kMin_); // Force the construction of the mesh deltaCoeffs which may be needed // for the construction of the derived models and BCs @@ -167,7 +167,7 @@ bool LESModel::read() coeffDict_ <<= *dictPtr; } - readIfPresent("k0", k0_); + readIfPresent("kMin", kMin_); delta_().read(*this); diff --git a/src/turbulenceModels/compressible/LES/LESModel/LESModel.H b/src/turbulenceModels/compressible/LES/LESModel/LESModel.H index 2cdde6c61e..6b10b930cc 100644 --- a/src/turbulenceModels/compressible/LES/LESModel/LESModel.H +++ b/src/turbulenceModels/compressible/LES/LESModel/LESModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -83,7 +83,7 @@ protected: Switch printCoeffs_; dictionary coeffDict_; - dimensionedScalar k0_; + dimensionedScalar kMin_; autoPtr delta_; @@ -170,16 +170,16 @@ public: return coeffDict_; } - //- Return the value of k0 which k is not allowed to be less than - const dimensionedScalar& k0() const + //- Return the lower allowable limit for k (default: SMALL) + const dimensionedScalar& kMin() const { - return k0_; + return kMin_; } - //- Allow k0 to be changed - dimensionedScalar& k0() + //- Allow kMin to be changed + dimensionedScalar& kMin() { - return k0_; + return kMin_; } //- Access function to filter width diff --git a/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C b/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C index edd0f4bcf0..68233e0f28 100644 --- a/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C +++ b/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -74,10 +74,10 @@ dimensionedScalar dynOneEqEddy::ce_(const volSymmTensorField& D) const pow(KK + filter_(k_), 1.5)/(2*delta()) - filter_(pow(k_, 1.5))/delta(); volScalarField ee = - 2*delta()*ck_(D)* - ( + 2*delta()*ck_(D) + *( filter_(sqrt(k_)*magSqr(D)) - - 2*sqrt(KK + filter_(k_))*magSqr(filter_(D)) + - 2*sqrt(KK + filter_(k_))*magSqr(filter_(D)) ); return average(ee*mm)/average(mm*mm); @@ -129,7 +129,11 @@ void dynOneEqEddy::correct(const tmp& tgradU) - fvm::Sp(ce_(D)*rho()*sqrt(k_)/delta(), k_) ); - bound(k_, dimensionedScalar("0", k_.dimensions(), 1.0e-10)); + //FIXME: why not this? + // kEqn.relax(); + // kEqn.solve(); + + bound(k_, kMin_); updateSubGridScaleFields(D); } diff --git a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C b/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C index 77b12af60e..696e9b8ddf 100644 --- a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C +++ b/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -117,7 +117,7 @@ void lowReOneEqEddy::correct(const tmp& tgradU) - fvm::Sp(ce_*rho()*sqrt(k_)/delta(), k_) ); - bound(k_, k0()); + bound(k_, kMin_); updateSubGridScaleFields(); } diff --git a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C b/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C index c6212dd74c..dd032dad79 100644 --- a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C +++ b/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -107,7 +107,7 @@ void oneEqEddy::correct(const tmp& tgradU) kEqn.relax(); kEqn.solve(); - bound(k_, k0()); + bound(k_, kMin_); updateSubGridScaleFields(); } diff --git a/src/turbulenceModels/compressible/RAS/LRR/LRR.C b/src/turbulenceModels/compressible/RAS/LRR/LRR.C index e2d925c3bb..06e23ecc92 100644 --- a/src/turbulenceModels/compressible/RAS/LRR/LRR.C +++ b/src/turbulenceModels/compressible/RAS/LRR/LRR.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -229,7 +229,9 @@ LRR::LRR << exit(FatalError); } - mut_ = Cmu_*rho_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + mut_ = Cmu_*rho_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; @@ -324,7 +326,7 @@ void LRR::correct() if (!turbulence_) { // Re-calculate viscosity - mut_ = rho_*Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ = rho_*Cmu_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); // Re-calculate thermal diffusivity @@ -359,7 +361,7 @@ void LRR::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Reynolds stress equation @@ -406,15 +408,15 @@ void LRR::correct() R_.dimensions(), symmTensor ( - k0_.value(), -GREAT, -GREAT, - k0_.value(), -GREAT, - k0_.value() + kMin_.value(), -GREAT, -GREAT, + kMin_.value(), -GREAT, + kMin_.value() ) ) ); k_ = 0.5*tr(R_); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C index 66c54ec222..e612cebecd 100644 --- a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C +++ b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -258,7 +258,9 @@ LaunderGibsonRSTM::LaunderGibsonRSTM << exit(FatalError); } - mut_ = Cmu_*rho_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + mut_ = Cmu_*rho_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; @@ -357,7 +359,7 @@ void LaunderGibsonRSTM::correct() if (!turbulence_) { // Re-calculate viscosity - mut_ = rho_*Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ = rho_*Cmu_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); // Re-calculate thermal diffusivity @@ -397,7 +399,7 @@ void LaunderGibsonRSTM::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Reynolds stress equation @@ -453,15 +455,15 @@ void LaunderGibsonRSTM::correct() R_.dimensions(), symmTensor ( - k0_.value(), -GREAT, -GREAT, - k0_.value(), -GREAT, - k0_.value() + kMin_.value(), -GREAT, -GREAT, + kMin_.value(), -GREAT, + kMin_.value() ) ) ); k_ == 0.5*tr(R_); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate turbulent viscosity diff --git a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C index f1dc4e9203..149ed0b289 100644 --- a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C +++ b/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -187,7 +187,9 @@ LaunderSharmaKE::LaunderSharmaKE autoCreateAlphat("alphat", mesh_) ) { - mut_ = rho_*Cmu_*fMu()*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + mut_ = rho_*Cmu_*fMu()*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; @@ -275,7 +277,7 @@ void LaunderSharmaKE::correct() if (!turbulence_) { // Re-calculate viscosity - mut_ == rho_*Cmu_*fMu()*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ == rho_*Cmu_*fMu()*sqr(k_)/epsilon_; // Re-calculate thermal diffusivity alphat_ = mut_/Prt_; @@ -320,7 +322,7 @@ void LaunderSharmaKE::correct() epsEqn().relax(); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -338,11 +340,11 @@ void LaunderSharmaKE::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity - mut_ == Cmu_*fMu()*rho_*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ == Cmu_*fMu()*rho_*sqr(k_)/epsilon_; // Re-calculate thermal diffusivity diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C index e5aa916702..5ac546d69c 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C @@ -81,11 +81,9 @@ RASModel::RASModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - k0_("k0", dimVelocity*dimVelocity, SMALL), - epsilon0_("epsilon0", k0_.dimensions()/dimTime, SMALL), - epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL), - omega0_("omega0", dimless/dimTime, SMALL), - omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL), + kMin_("kMin", dimVelocity*dimVelocity, SMALL), + epsilonMin_("epsilonMin", kMin_.dimensions()/dimTime, SMALL), + omegaMin_("omegaMin", dimless/dimTime, SMALL), y_(mesh_) { @@ -219,11 +217,9 @@ bool RASModel::read() coeffDict_ <<= *dictPtr; } - k0_.readIfPresent(*this); - epsilon0_.readIfPresent(*this); - epsilonSmall_.readIfPresent(*this); - omega0_.readIfPresent(*this); - omegaSmall_.readIfPresent(*this); + kMin_.readIfPresent(*this); + epsilonMin_.readIfPresent(*this); + omegaMin_.readIfPresent(*this); return true; } diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H index d5a12902cc..9bddec38aa 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H @@ -93,19 +93,13 @@ protected: scalar yPlusLam_; //- Lower limit of k - dimensionedScalar k0_; + dimensionedScalar kMin_; //- Lower limit of epsilon - dimensionedScalar epsilon0_; - - //- Small epsilon value used to avoid divide by zero - dimensionedScalar epsilonSmall_; + dimensionedScalar epsilonMin_; //- Lower limit for omega - dimensionedScalar omega0_; - - //- Small omega value used to avoid divide by zero - dimensionedScalar omegaSmall_; + dimensionedScalar omegaMin_; //- Near wall distance boundary field nearWallDist y_; @@ -185,66 +179,40 @@ public: // Access - //- Return the lower allowable limit for k - const dimensionedScalar& k0() const + //- Return the lower allowable limit for k (default: SMALL) + const dimensionedScalar& kMin() const { - return k0_; + return kMin_; } - //- Return the lower allowable limit for epsilon - const dimensionedScalar& epsilon0() const + //- Return the lower allowable limit for epsilon (default: SMALL) + const dimensionedScalar& epsilonMin() const { - return epsilon0_; + return epsilonMin_; } - //- Return the value of epsilonSmall which is added to epsilon when - // calculating mut - const dimensionedScalar& epsilonSmall() const + //- Return the lower allowable limit for omega (default: SMALL) + const dimensionedScalar& omegaMin() const { - return epsilonSmall_; + return omegaMin_; } - //- Return the lower allowable limit for omega - const dimensionedScalar& omega0() const + //- Allow kMin to be changed + dimensionedScalar& kMin() { - return omega0_; + return kMin_; } - //- Return the value of omegaSmall which is added to omega when - // calculating mut - const dimensionedScalar& omegaSmall() const + //- Allow epsilonMin to be changed + dimensionedScalar& epsilonMin() { - return omegaSmall_; + return epsilonMin_; } - //- Allow k0 to be changed - dimensionedScalar& k0() + //- Allow omegaMin to be changed + dimensionedScalar& omegaMin() { - return k0_; - } - - //- Allow epsilon0 to be changed - dimensionedScalar& epsilon0() - { - return epsilon0_; - } - - //- Allow epsilonSmall to be changed - dimensionedScalar& epsilonSmall() - { - return epsilonSmall_; - } - - //- Allow omega0 to be changed - dimensionedScalar& omega0() - { - return omega0_; - } - - //- Allow omegaSmall to be changed - dimensionedScalar& omegaSmall() - { - return omegaSmall_; + return omegaMin_; } //- Return the near wall distances diff --git a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C index 2fc2bdab29..fd3955a573 100644 --- a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C +++ b/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -186,7 +186,9 @@ RNGkEpsilon::RNGkEpsilon autoCreateAlphat("alphat", mesh_) ) { - mut_ = Cmu_*rho_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + mut_ = Cmu_*rho_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; @@ -276,7 +278,7 @@ void RNGkEpsilon::correct() if (!turbulence_) { // Re-calculate viscosity - mut_ = rho_*Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ = rho_*Cmu_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); // Re-calculate thermal diffusivity @@ -327,7 +329,7 @@ void RNGkEpsilon::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -339,12 +341,12 @@ void RNGkEpsilon::correct() - fvm::laplacian(DkEff(), k_) == G - fvm::SuSp(2.0/3.0*rho_*divU, k_) - - fvm::Sp(rho_*(epsilon_)/k_, k_) + - fvm::Sp(rho_*epsilon_/k_, k_) ); kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C b/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C index e0c04f1e44..43e63367ce 100644 --- a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C +++ b/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -168,7 +168,9 @@ kEpsilon::kEpsilon autoCreateAlphat("alphat", mesh_) ) { - mut_ = Cmu_*rho_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + mut_ = Cmu_*rho_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; @@ -257,7 +259,7 @@ void kEpsilon::correct() if (!turbulence_) { // Re-calculate viscosity - mut_ = rho_*Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ = rho_*Cmu_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); // Re-calculate thermal diffusivity @@ -300,7 +302,7 @@ void kEpsilon::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -318,7 +320,7 @@ void kEpsilon::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C index 23e9f0569f..6f9da54c97 100644 --- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C @@ -258,12 +258,14 @@ kOmegaSST::kOmegaSST autoCreateAlphat("alphat", mesh_) ) { + bound(omega_, omegaMin_); + mut_ = ( a1_*rho_*k_ / max ( - a1_*(omega_ + omegaSmall_), + a1_*omega_, F2()*sqrt(magSqr(symm(fvc::grad(U_)))) ) ); @@ -422,7 +424,7 @@ void kOmegaSST::correct() omegaEqn().boundaryManipulate(omega_.boundaryField()); solve(omegaEqn); - bound(omega_, omega0_); + bound(omega_, omegaMin_); // Turbulent kinetic energy equation tmp kEqn @@ -438,7 +440,7 @@ void kOmegaSST::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C b/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C index a79eff7b8a..c03e603acf 100644 --- a/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C +++ b/src/turbulenceModels/compressible/RAS/realizableKE/realizableKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -69,7 +69,7 @@ tmp realizableKE::rCmu volScalarField As = sqrt(6.0)*cos(phis); volScalarField Us = sqrt(S2/2.0 + magSqr(skew(gradU))); - return 1.0/(A0_ + As*Us*k_/(epsilon_ + epsilonSmall_)); + return 1.0/(A0_ + As*Us*k_/epsilon_); } @@ -200,10 +200,10 @@ realizableKE::realizableKE autoCreateAlphat("alphat", mesh_) ) { - bound(k_, k0_); - bound(epsilon_, epsilon0_); + bound(k_, kMin_); + bound(epsilon_, epsilonMin_); - mut_ = rCmu(fvc::grad(U_))*rho_*sqr(k_)/(epsilon_ + epsilonSmall_); + mut_ = rCmu(fvc::grad(U_))*rho_*sqr(k_)/epsilon_; mut_.correctBoundaryConditions(); alphat_ = mut_/Prt_; @@ -341,7 +341,7 @@ void realizableKE::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -353,12 +353,12 @@ void realizableKE::correct() - fvm::laplacian(DkEff(), k_) == G - fvm::SuSp(2.0/3.0*rho_*divU, k_) - - fvm::Sp(rho_*(epsilon_)/k_, k_) + - fvm::Sp(rho_*epsilon_/k_, k_) ); kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity mut_ = rCmu(gradU, S2, magS)*rho_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C index dd35b035ec..a5a0c562a1 100644 --- a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C +++ b/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -122,15 +122,15 @@ void DeardorffDiffStress::correct(const tmp& tgradU) forAll(B_, celli) { B_[celli].component(symmTensor::XX) = - max(B_[celli].component(symmTensor::XX), k0().value()); + max(B_[celli].component(symmTensor::XX), kMin_.value()); B_[celli].component(symmTensor::YY) = - max(B_[celli].component(symmTensor::YY), k0().value()); + max(B_[celli].component(symmTensor::YY), kMin_.value()); B_[celli].component(symmTensor::ZZ) = - max(B_[celli].component(symmTensor::ZZ), k0().value()); + max(B_[celli].component(symmTensor::ZZ), kMin_.value()); } K = 0.5*tr(B_); - bound(K, k0()); + bound(K, kMin_); updateSubGridScaleFields(K); } diff --git a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C index fd7791d9f3..d32fd1647a 100644 --- a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C +++ b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -78,10 +78,10 @@ LESModel::LESModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - k0_("k0", dimVelocity*dimVelocity, SMALL), + kMin_("kMin", dimVelocity*dimVelocity, SMALL), delta_(LESdelta::New("delta", U.mesh(), *this)) { - readIfPresent("k0", k0_); + readIfPresent("kMin", kMin_); // Force the construction of the mesh deltaCoeffs which may be needed // for the construction of the derived models and BCs @@ -167,7 +167,7 @@ bool LESModel::read() delta_().read(*this); - readIfPresent("k0", k0_); + readIfPresent("kMin", kMin_); return true; } diff --git a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.H b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.H index 49fe52c454..8b4b43ceda 100644 --- a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.H +++ b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -83,7 +83,7 @@ protected: Switch printCoeffs_; dictionary coeffDict_; - dimensionedScalar k0_; + dimensionedScalar kMin_; autoPtr delta_; @@ -171,16 +171,16 @@ public: return delta_(); } - //- Return the value of k0 which k is not allowed to be less than - const dimensionedScalar& k0() const + //- Return the lower allowable limit for k (default: SMALL) + const dimensionedScalar& kMin() const { - return k0_; + return kMin_; } - //- Allow k0 to be changed - dimensionedScalar& k0() + //- Allow kMin to be changed + dimensionedScalar& kMin() { - return k0_; + return kMin_; } diff --git a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C b/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C index 58368cc587..10c0116b6a 100644 --- a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C +++ b/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -132,15 +132,15 @@ void LRRDiffStress::correct(const tmp& tgradU) forAll(B_, celli) { B_[celli].component(symmTensor::XX) = - max(B_[celli].component(symmTensor::XX), k0().value()); + max(B_[celli].component(symmTensor::XX), kMin_.value()); B_[celli].component(symmTensor::YY) = - max(B_[celli].component(symmTensor::YY), k0().value()); + max(B_[celli].component(symmTensor::YY), kMin_.value()); B_[celli].component(symmTensor::ZZ) = - max(B_[celli].component(symmTensor::ZZ), k0().value()); + max(B_[celli].component(symmTensor::ZZ), kMin_.value()); } K = 0.5*tr(B_); - bound(K, k0()); + bound(K, kMin_); updateSubGridScaleFields(K); } diff --git a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C b/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C index 4aadf02bf2..08f9c62fe7 100644 --- a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C +++ b/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -80,10 +80,10 @@ dimensionedScalar dynOneEqEddy::ce(const volSymmTensorField& D) const pow(KK + filter_(k_), 1.5)/(2*delta()) - filter_(pow(k_, 1.5))/delta(); volScalarField ee = - 2*delta()*ck(D) + 2*delta()*ck(D) *( - filter_(sqrt(k_)*magSqr(D)) - - 2*sqrt(KK + filter_(k_))*magSqr(filter_(D)) + filter_(sqrt(k_)*magSqr(D)) + - 2*sqrt(KK + filter_(k_))*magSqr(filter_(D)) ); dimensionedScalar mmmm = average(magSqr(mm)); @@ -135,8 +135,10 @@ dynOneEqEddy::dynOneEqEddy // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void dynOneEqEddy::correct(const tmp& gradU) +void dynOneEqEddy::correct(const tmp& tgradU) { + const volTensorField& gradU = tgradU(); + GenEddyVisc::correct(gradU); volSymmTensorField D = symm(gradU); @@ -156,7 +158,7 @@ void dynOneEqEddy::correct(const tmp& gradU) kEqn.relax(); kEqn.solve(); - bound(k_, k0()); + bound(k_, kMin_); updateSubGridScaleFields(D); } diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C index a755d4e56e..86cd8227d1 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2008-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -263,8 +263,7 @@ kOmegaSSTSAS::kOmegaSSTSAS ) ), - omega0_("omega0", dimless/dimTime, SMALL), - omegaSmall_("omegaSmall", dimless/dimTime, SMALL), + omegaMin_("omegaMin", dimless/dimTime, SMALL), y_(mesh_), Cmu_ ( @@ -324,6 +323,8 @@ kOmegaSSTSAS::kOmegaSSTSAS mesh_ ) { + bound(omega_, omegaMin_); + updateSubGridScaleFields(magSqr(symm(fvc::grad(U)))); printCoeffs(); @@ -346,9 +347,8 @@ void kOmegaSSTSAS::correct(const tmp& gradU) volVectorField gradK = fvc::grad(k_); volVectorField gradOmega = fvc::grad(omega_); - volScalarField L = sqrt(k_)/(pow025(Cmu_)*(omega_ + omegaSmall_)); - volScalarField CDkOmega = - (2.0*alphaOmega2_)*(gradK & gradOmega)/(omega_ + omegaSmall_); + volScalarField L = sqrt(k_)/(pow025(Cmu_)*omega_); + volScalarField CDkOmega = (2.0*alphaOmega2_)*(gradK & gradOmega)/omega_; volScalarField F1 = this->F1(CDkOmega); volScalarField G = nuSgs_*2.0*S2; @@ -368,14 +368,12 @@ void kOmegaSSTSAS::correct(const tmp& gradU) kEqn.relax(); kEqn.solve(); } - bound(k_, k0()); + bound(k_, kMin_); volScalarField grad_omega_k = max ( - magSqr(gradOmega)/ - sqr(omega_ + omegaSmall_), - magSqr(gradK)/ - sqr(k_ + k0()) + magSqr(gradOmega)/sqr(omega_), + magSqr(gradK)/sqr(k_) ); // Turbulent frequency equation @@ -397,7 +395,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) + FSAS_ *max ( - dimensionedScalar("zero",dimensionSet(0, 0 , -2, 0, 0),0. ), + dimensionedScalar("zero",dimensionSet(0, 0, -2, 0, 0), 0.0), zetaTilda2_*kappa_*S2*(L/Lvk2(S2)) - 2.0/alphaPhi_*k_*grad_omega_k ) @@ -406,7 +404,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) omegaEqn.relax(); omegaEqn.solve(); } - bound(omega_, omega0_); + bound(omega_, omegaMin_); updateSubGridScaleFields(S2); } diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H index 89b9a88190..4c2ac8d55b 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2008-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -103,8 +103,7 @@ protected: dimensionedScalar zetaTilda2_; dimensionedScalar FSAS_; - dimensionedScalar omega0_; - dimensionedScalar omegaSmall_; + dimensionedScalar omegaMin_; wallDist y_; dimensionedScalar Cmu_; diff --git a/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C b/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C index f463e3f208..3decb7080e 100644 --- a/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C +++ b/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -152,7 +152,7 @@ void locDynOneEqEddy::correct(const tmp& gradU) kEqn.relax(); kEqn.solve(); - bound(k_, k0()); + bound(k_, kMin_); updateSubGridScaleFields(D, KK); } diff --git a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C b/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C index 28a0a1ed5a..96188e59e4 100644 --- a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C +++ b/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -113,7 +113,7 @@ void oneEqEddy::correct(const tmp& gradU) kEqn.relax(); kEqn.solve(); - bound(k_, k0()); + bound(k_, kMin_); updateSubGridScaleFields(); } diff --git a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C b/src/turbulenceModels/incompressible/RAS/LRR/LRR.C index 08d1b4a39a..037da5b430 100644 --- a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C +++ b/src/turbulenceModels/incompressible/RAS/LRR/LRR.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -186,9 +186,6 @@ LRR::LRR autoCreateNut("nut", mesh_) ) { - nut_ = Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); - nut_.correctBoundaryConditions(); - if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0) { FatalErrorIn @@ -201,6 +198,11 @@ LRR::LRR << exit(FatalError); } + bound(epsilon_, epsilonMin_); + + nut_ = Cmu_*sqr(k_)/epsilon_; + nut_.correctBoundaryConditions(); + printCoeffs(); } @@ -320,7 +322,7 @@ void LRR::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Reynolds stress equation @@ -368,15 +370,15 @@ void LRR::correct() R_.dimensions(), symmTensor ( - k0_.value(), -GREAT, -GREAT, - k0_.value(), -GREAT, - k0_.value() + kMin_.value(), -GREAT, -GREAT, + kMin_.value(), -GREAT, + kMin_.value() ) ) ); k_ = 0.5*tr(R_); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C b/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C index 1edcb224b5..b6d20aea2d 100644 --- a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C +++ b/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -140,7 +140,9 @@ LamBremhorstKE::LamBremhorstKE autoCreateLowReNut("nut", mesh_) ) { - nut_ = Cmu_*fMu_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + nut_ = Cmu_*fMu_*sqr(k_)/epsilon_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -260,7 +262,7 @@ void LamBremhorstKE::correct() epsEqn().relax(); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -276,7 +278,7 @@ void LamBremhorstKE::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C index 33939dfc15..98001c6a68 100644 --- a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C +++ b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -224,7 +224,9 @@ LaunderGibsonRSTM::LaunderGibsonRSTM autoCreateNut("nut", mesh_) ) { - nut_ = Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + nut_ = Cmu_*sqr(k_)/epsilon_; nut_.correctBoundaryConditions(); if (couplingFactor_.value() < 0.0 || couplingFactor_.value() > 1.0) @@ -362,7 +364,7 @@ void LaunderGibsonRSTM::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Reynolds stress equation @@ -419,15 +421,15 @@ void LaunderGibsonRSTM::correct() R_.dimensions(), symmTensor ( - k0_.value(), -GREAT, -GREAT, - k0_.value(), -GREAT, - k0_.value() + kMin_.value(), -GREAT, -GREAT, + kMin_.value(), -GREAT, + kMin_.value() ) ) ); k_ == 0.5*tr(R_); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate turbulent viscosity diff --git a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C index 3bbdcb6a47..6f840c57d3 100644 --- a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C +++ b/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -146,7 +146,9 @@ LaunderSharmaKE::LaunderSharmaKE autoCreateLowReNut("nut", mesh_) ) { - nut_ = Cmu_*fMu()*sqr(k_)/(epsilonTilda_ + epsilonSmall_); + bound(epsilonTilda_, epsilonMin_); + + nut_ = Cmu_*fMu()*sqr(k_)/epsilonTilda_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -256,7 +258,7 @@ void LaunderSharmaKE::correct() epsEqn().relax(); solve(epsEqn); - bound(epsilonTilda_, epsilon0_); + bound(epsilonTilda_, epsilonMin_); // Turbulent kinetic energy equation @@ -272,7 +274,7 @@ void LaunderSharmaKE::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C index c786116bd9..f01805f115 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -170,6 +170,8 @@ LienCubicKE::LienCubicKE autoCreateEpsilon("epsilon", mesh_) ), + //FIXME - epsilon is not bounded + gradU_(fvc::grad(U)), eta_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T())))), ksi_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T())))), @@ -226,7 +228,9 @@ LienCubicKE::LienCubicKE ) ) { - nut_ = Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_) + C5viscosity_; + bound(epsilon_, epsilonMin_); + + nut_ = Cmu_*sqr(k_)/epsilon_ + C5viscosity_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -350,7 +354,7 @@ void LienCubicKE::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -367,7 +371,7 @@ void LienCubicKE::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C index 886b984f57..8c7bbc7c7b 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C @@ -280,10 +280,12 @@ LienCubicKELowRe::LienCubicKELowRe ) ) { + bound(epsilon_, epsilonMin_); + nut_ = Cmu_ * (scalar(1) - exp(-Am_*yStar_)) / (scalar(1) - exp(-Aepsilon_*yStar_) + SMALL) - * sqr(k_)/(epsilon_ + epsilonSmall_) + * sqr(k_)/epsilon_ // cubic term C5, implicit part + max ( @@ -432,7 +434,7 @@ void LienCubicKELowRe::correct() # include "wallDissipationI.H" solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -449,7 +451,7 @@ void LienCubicKELowRe::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C b/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C index 6e47e1d926..a2a807676d 100644 --- a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C +++ b/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -180,9 +180,11 @@ LienLeschzinerLowRe::LienLeschzinerLowRe autoCreateLowReNut("nut", mesh_) ) { + bound(epsilon_, epsilonMin_); + nut_ = Cmu_*(scalar(1) - exp(-Am_*yStar_)) /(scalar(1) - exp(-Aepsilon_*yStar_) + SMALL)*sqr(k_) - /(epsilon_ + epsilonSmall_); + /(epsilon_); nut_.correctBoundaryConditions(); printCoeffs(); @@ -322,7 +324,7 @@ void LienLeschzinerLowRe::correct() #include "wallDissipationI.H" solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -339,7 +341,7 @@ void LienLeschzinerLowRe::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C index f6d778b3a6..01324af90a 100644 --- a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C +++ b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -144,6 +144,7 @@ NonlinearKEShih::NonlinearKEShih ) ), + //FIXME: should be named 'kappa_' or 'kappa'? kappa_ ( dimensioned::lookupOrAddToDict @@ -174,6 +175,7 @@ NonlinearKEShih::NonlinearKEShih IOobject::AUTO_WRITE ), mesh_ + //FIXME: what about autoCreateK("k", mesh_) ), epsilon_ @@ -187,15 +189,32 @@ NonlinearKEShih::NonlinearKEShih IOobject::AUTO_WRITE ), mesh_ + //FIXME: what about autoCreateK("epsilon", mesh_) ), + //FIXME: epsilon is not bounded + gradU_(fvc::grad(U)), eta_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T())))), ksi_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T())))), Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))), fEta_(A2_ + pow(eta_, 3.0)), - nut_("nut", Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_)), + // FIXME: epsilon is not bounded + nut_("nut", Cmu_*sqr(k_)/(epsilon_ + epsilonMin_)), + // FIXME: why not use the following? + // nut_ + // ( + // IOobject + // ( + // "nut", + // runTime_.timeName(), + // mesh_, + // IOobject::NO_READ, + // IOobject::AUTO_WRITE + // ), + // autoCreateNut("nut", mesh_) + // ), nonlinearStress_ ( @@ -215,6 +234,11 @@ NonlinearKEShih::NonlinearKEShih ) ) { + bound(epsilon_, epsilonMin_); + + //FIXME: could use this + // nut_ = Cmu_*sqr(k_)/epsilon_; + #include "wallNonlinearViscosityI.H" printCoeffs(); @@ -343,7 +367,7 @@ void NonlinearKEShih::correct() #include "wallDissipationI.H" solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -360,7 +384,7 @@ void NonlinearKEShih::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C index 8944f94c23..f45c1ee0ff 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C @@ -80,11 +80,9 @@ RASModel::RASModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - k0_("k0", dimVelocity*dimVelocity, SMALL), - epsilon0_("epsilon0", k0_.dimensions()/dimTime, SMALL), - epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL), - omega0_("omega0", dimless/dimTime, SMALL), - omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL), + kMin_("kMin", dimVelocity*dimVelocity, SMALL), + epsilonMin_("epsilonMin", kMin_.dimensions()/dimTime, SMALL), + omegaMin_("omegaMin", dimless/dimTime, SMALL), y_(mesh_) { @@ -213,11 +211,9 @@ bool RASModel::read() coeffDict_ <<= *dictPtr; } - k0_.readIfPresent(*this); - epsilon0_.readIfPresent(*this); - epsilonSmall_.readIfPresent(*this); - omega0_.readIfPresent(*this); - omegaSmall_.readIfPresent(*this); + kMin_.readIfPresent(*this); + epsilonMin_.readIfPresent(*this); + omegaMin_.readIfPresent(*this); return true; } diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H index a8eab758f0..337f044f0a 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H @@ -87,19 +87,13 @@ protected: dictionary coeffDict_; //- Lower limit of k - dimensionedScalar k0_; + dimensionedScalar kMin_; //- Lower limit of epsilon - dimensionedScalar epsilon0_; - - //- Small epsilon value used to avoid divide by zero - dimensionedScalar epsilonSmall_; + dimensionedScalar epsilonMin_; //- Lower limit for omega - dimensionedScalar omega0_; - - //- Small omega value used to avoid divide by zero - dimensionedScalar omegaSmall_; + dimensionedScalar omegaMin_; //- Near wall distance boundary field nearWallDist y_; @@ -176,66 +170,40 @@ public: // Access - //- Return lower allowable limit for k - const dimensionedScalar& k0() const + //- Return lower allowable limit for k (default: SMALL) + const dimensionedScalar& kMin() const { - return k0_; + return kMin_; } - //- Return the lower allowable limit for epsilon - const dimensionedScalar& epsilon0() const + //- Return the lower allowable limit for epsilon (default: SMALL) + const dimensionedScalar& epsilonMin() const { - return epsilon0_; + return epsilonMin_; } - //- Return the value of epsilonSmall which is added to epsilon when - // calculating nut - const dimensionedScalar& epsilonSmall() const + //- Return the lower allowable limit for omega (default: SMALL) + const dimensionedScalar& omegaMin() const { - return epsilonSmall_; + return omegaMin_; } - //- Return the lower allowable limit for omega0 - const dimensionedScalar& omega0() const + //- Allow kMin to be changed + dimensionedScalar& kMin() { - return omega0_; + return kMin_; } - //- Return the value of omegaSmall which is added to omega when - // calculating nut - const dimensionedScalar& omegaSmall() const + //- Allow epsilonMin to be changed + dimensionedScalar& epsilonMin() { - return omegaSmall_; + return epsilonMin_; } - //- Allow k0 to be changed - dimensionedScalar& k0() + //- Allow omegaMin to be changed + dimensionedScalar& omegaMin() { - return k0_; - } - - //- Allow epsilon0 to be changed - dimensionedScalar& epsilon0() - { - return epsilon0_; - } - - //- Allow epsilonSmall to be changed - dimensionedScalar& epsilonSmall() - { - return epsilonSmall_; - } - - //- Allow omega0 to be changed - dimensionedScalar& omega0() - { - return omega0_; - } - - //- Allow omegaSmall to be changed - dimensionedScalar& omegaSmall() - { - return omegaSmall_; + return omegaMin_; } //- Return the near wall distances diff --git a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C index aa7e537001..1591608717 100644 --- a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C +++ b/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -155,7 +155,9 @@ RNGkEpsilon::RNGkEpsilon autoCreateNut("nut", mesh_) ) { - nut_ = Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + nut_ = Cmu_*sqr(k_)/epsilon_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -274,7 +276,7 @@ void RNGkEpsilon::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -290,7 +292,7 @@ void RNGkEpsilon::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C b/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C index 0861863673..8c41bf4d27 100644 --- a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C +++ b/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -128,7 +128,9 @@ kEpsilon::kEpsilon autoCreateNut("nut", mesh_) ) { - nut_ = Cmu_*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + + nut_ = Cmu_*sqr(k_)/epsilon_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -237,7 +239,7 @@ void kEpsilon::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -254,7 +256,7 @@ void kEpsilon::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C index 64b095d27b..04f505376b 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C +++ b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -137,7 +137,9 @@ kOmega::kOmega autoCreateNut("nut", mesh_) ) { - nut_ = k_/(omega_ + omegaSmall_); + bound(omega_, omegaMin_); + + nut_ = k_/omega_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -246,7 +248,7 @@ void kOmega::correct() omegaEqn().boundaryManipulate(omega_.boundaryField()); solve(omegaEqn); - bound(omega_, omega0_); + bound(omega_, omegaMin_); // Turbulent kinetic energy equation @@ -263,11 +265,11 @@ void kOmega::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity - nut_ = k_/(omega_ + omegaSmall_); + nut_ = k_/omega_; nut_.correctBoundaryConditions(); } diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C index 8323a23011..4332fc3706 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C @@ -236,12 +236,14 @@ kOmegaSST::kOmegaSST autoCreateNut("nut", mesh_) ) { + bound(omega_, omegaMin_); + nut_ = ( a1_*k_ / max ( - a1_*(omega_ + omegaSmall_), + a1_*omega_, F2()*mag(symm(fvc::grad(U_))) ) ); @@ -376,7 +378,7 @@ void kOmegaSST::correct() omegaEqn().boundaryManipulate(omega_.boundaryField()); solve(omegaEqn); - bound(omega_, omega0_); + bound(omega_, omegaMin_); // Turbulent kinetic energy equation tmp kEqn @@ -392,7 +394,7 @@ void kOmegaSST::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity diff --git a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C b/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C index 9b16f1c621..d72fd30f3e 100644 --- a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C +++ b/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -126,6 +126,9 @@ qZeta::qZeta ) ), + qMin_("qMin", dimVelocity, SMALL), + zetaMin_("zetaMin", dimVelocity/dimTime, SMALL), + k_ ( IOobject @@ -193,7 +196,11 @@ qZeta::qZeta autoCreateNut("nut", mesh_) ) { - nut_ = Cmu_*fMu()*sqr(k_)/(epsilon_ + epsilonSmall_); + bound(epsilon_, epsilonMin_); + bound(q_, qMin_); + bound(zeta_, zetaMin_); + + nut_ = Cmu_*fMu()*sqr(k_)/epsilon_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -263,6 +270,9 @@ bool qZeta::read() sigmaZeta_.readIfPresent(coeffDict()); anisotropic_.readIfPresent("anisotropic", coeffDict()); + qMin_.readIfPresent(*this); + zetaMin_.readIfPresent(*this); + return true; } else @@ -302,7 +312,7 @@ void qZeta::correct() zetaEqn().relax(); solve(zetaEqn); - bound(zeta_, epsilon0_/(2*sqrt(k0_))); + bound(zeta_, zetaMin_); // q equation @@ -318,7 +328,7 @@ void qZeta::correct() qEqn().relax(); solve(qEqn); - bound(q_, sqrt(k0_)); + bound(q_, qMin_); // Re-calculate k and epsilon diff --git a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.H b/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.H index 6300868d2d..4c396c13a1 100644 --- a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.H +++ b/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -66,6 +66,11 @@ class qZeta dimensionedScalar sigmaZeta_; Switch anisotropic_; + //- Lower limit of q + dimensionedScalar qMin_; + + //- Lower limit of zeta + dimensionedScalar zetaMin_; // Fields @@ -107,6 +112,33 @@ public: // Member Functions + // Access + + //- Return lower allowable limit for q (default: SMALL) + const dimensionedScalar& qMin() const + { + return qMin_; + } + + //- Return the lower allowable limit for zeta (default: SMALL) + const dimensionedScalar& zetaMin() const + { + return zetaMin_; + } + + //- Allow qMin to be changed + dimensionedScalar& qMin() + { + return qMin_; + } + + //- Allow zetaMin to be changed + dimensionedScalar& zetaMin() + { + return zetaMin_; + } + + //- Return the turbulence viscosity virtual tmp nut() const { diff --git a/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C b/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C index 5072f9b1cf..5a53c6b0fc 100644 --- a/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C +++ b/src/turbulenceModels/incompressible/RAS/realizableKE/realizableKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -69,7 +69,7 @@ tmp realizableKE::rCmu volScalarField As = sqrt(6.0)*cos(phis); volScalarField Us = sqrt(S2/2.0 + magSqr(skew(gradU))); - return 1.0/(A0_ + As*Us*k_/(epsilon_ + epsilonSmall_)); + return 1.0/(A0_ + As*Us*k_/epsilon_); } @@ -178,10 +178,10 @@ realizableKE::realizableKE autoCreateNut("nut", mesh_) ) { - bound(k_, k0_); - bound(epsilon_, epsilon0_); + bound(k_, kMin_); + bound(epsilon_, epsilonMin_); - nut_ = rCmu(fvc::grad(U_))*sqr(k_)/(epsilon_ + epsilonSmall_); + nut_ = rCmu(fvc::grad(U_))*sqr(k_)/epsilon_; nut_.correctBoundaryConditions(); printCoeffs(); @@ -303,7 +303,7 @@ void realizableKE::correct() epsEqn().boundaryManipulate(epsilon_.boundaryField()); solve(epsEqn); - bound(epsilon_, epsilon0_); + bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation @@ -319,7 +319,7 @@ void realizableKE::correct() kEqn().relax(); solve(kEqn); - bound(k_, k0_); + bound(k_, kMin_); // Re-calculate viscosity From d353f08f372807eea498af2efa28db604ac7fc55 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Wed, 24 Mar 2010 15:17:44 +0100 Subject: [PATCH 006/128] ENH: move internal wmake scripts to scripts/ directory - more consistent script names - remove '-help' option from internal scripts --- wmake/Makefile | 18 +++++----- wmake/MakefileApps | 2 +- wmake/MakefileFiles | 11 +++--- wmake/MakefileOptions | 7 ++-- wmake/makeWmake | 2 +- wmake/scripts/addCompile | 2 +- .../makeDerivedFiles} | 35 +++++++++---------- wmake/{wmkdir => scripts/makeDir} | 26 +++++--------- wmake/scripts/makeFiles | 2 +- wmake/scripts/makeOptions | 2 +- wmake/scripts/{mkObjectDir => makeTargetDir} | 20 +++++------ wmake/src/dirToString.c | 2 +- wmake/wcleanLnIncludeAll | 2 +- wmake/wcleanMachine | 2 +- wmake/wmakeCheckPwd | 2 +- wmake/wmakeFilesAndOptions | 2 +- wmake/wmakeLnIncludeAll | 2 +- wmake/wmakePrintBuild | 2 +- wmake/wmakeScheduler | 2 +- 19 files changed, 65 insertions(+), 78 deletions(-) rename wmake/{wmakeDerivedFiles => scripts/makeDerivedFiles} (83%) rename wmake/{wmkdir => scripts/makeDir} (75%) rename wmake/scripts/{mkObjectDir => makeTargetDir} (82%) diff --git a/wmake/Makefile b/wmake/Makefile index 6b4fd0abe6..b58d8b0858 100644 --- a/wmake/Makefile +++ b/wmake/Makefile @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -31,7 +31,7 @@ #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ -# The Makefile use a POSIX shell +# The Makefile uses a POSIX shell #------------------------------------------------------------------------------ SHELL = /bin/sh @@ -120,7 +120,7 @@ MAKE_DEP = @$(MKDEP) $< | $(WM_SCRIPTS)/addCompile $< #------------------------------------------------------------------------------ # Include PROJECT directory tree file and # source, object and dependency list files. -# These are constructed by wmakeDerivedFiles +# These are constructed by scripts/makeDerivedFiles #------------------------------------------------------------------------------ include $(OBJECTS_DIR)/options @@ -148,7 +148,7 @@ LIB_HEADER_DIRS = \ #------------------------------------------------------------------------------ $(EXE): $(OBJECTS) - @$(WM_SCRIPTS)/mkObjectDir $(EXE) + @$(WM_SCRIPTS)/makeTargetDir $(EXE) $(LINKEXE) $(OBJECTS) -L$(LIB_WM_OPTIONS_DIR) \ $(EXE_LIBS) $(PROJECT_LIBS) $(SYS_LIBS) $(LINK_LIBS) $(GLIBS) -o $(EXE) @@ -156,7 +156,7 @@ exe: $(SEXE) @echo \'$(SEXE)\' is up to date. $(SEXE): $(OBJECTS) - @$(WM_SCRIPTS)/mkObjectDir $(SEXE) + @$(WM_SCRIPTS)/makeTargetDir $(SEXE) $(LINKEXE) $(OBJECTS) $(EXE_LIBS) \ $(SYS_LIBS) $(LINK_LIBS) $(GLIBS) -o $(SEXE) @@ -169,7 +169,7 @@ libso: $(LIB).$(SO) @echo \'$(LIB).$(SO)\' is up to date. $(LIB).$(SO): $(OBJECTS) - @$(WM_SCRIPTS)/mkObjectDir $(LIB) + @$(WM_SCRIPTS)/makeTargetDir $(LIB) @rm -f so_locations @cd $(OBJECTS_DIR) ; \ $(LINKLIBSO) $(LOCAL_OBJECTS) -L$(LIB_WM_OPTIONS_DIR) $(LIB_LIBS) $(GLIB_LIBS) -o $(LIB).$(SO) @@ -178,7 +178,7 @@ lib: $(LIB).a @echo \'$(LIB).a\' is up to date. $(LIB).a: $(OBJECTS) - @$(WM_SCRIPTS)/mkObjectDir $(LIB) + @$(WM_SCRIPTS)/makeTargetDir $(LIB) @rm -f $(LIB).a $(AR) $(ARFLAGS) $(LIB).a $(OBJECTS) $(RANLIB) $(LIB).a @@ -187,7 +187,7 @@ libo: $(LIB).o @echo \'$(LIB).o\' is up to date. $(LIB).o: $(OBJECTS) - @$(WM_SCRIPTS)/mkObjectDir $(LIB) + @$(WM_SCRIPTS)/makeTargetDir $(LIB) @rm -f $(LIB).o $(LD) -r -o $(LIB).o $(OBJECTS) @@ -195,7 +195,7 @@ jar: $(LIB).jar @echo \'$(LIB).jar\' is up to date. $(LIB).jar: $(OBJECTS) - @$(WM_SCRIPTS)/mkObjectDir $(LIB) + @$(WM_SCRIPTS)/makeTargetDir $(LIB) jar cfm $(LIB).jar $(LIB_LIBS) -C $(CLASSES_DIR) . #------------------------------------------------------------------------------ diff --git a/wmake/MakefileApps b/wmake/MakefileApps index 55efa80ff8..41a74a3085 100644 --- a/wmake/MakefileApps +++ b/wmake/MakefileApps @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License diff --git a/wmake/MakefileFiles b/wmake/MakefileFiles index d927682d9b..0ad78c6198 100644 --- a/wmake/MakefileFiles +++ b/wmake/MakefileFiles @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -32,6 +32,7 @@ GENERAL_RULES = $(WM_DIR)/rules/General RULES = $(WM_DIR)/rules/$(WM_ARCH)$(WM_COMPILER) +WM_SCRIPTS = $(WM_DIR)/scripts OBJECTS_DIR = $(WM_OPTIONS) FFLAGS = @@ -61,16 +62,16 @@ $(FILES) : files @$(CPP) $(GFLAGS) $(FFLAGS) files > $(FILES) $(SFILES): files - @wmakeDerivedFiles + @$(WM_SCRIPTS)/makeDerivedFiles $(OFILES): files - @wmakeDerivedFiles + @$(WM_SCRIPTS)/makeDerivedFiles $(DFILES): files - @wmakeDerivedFiles + @$(WM_SCRIPTS)/makeDerivedFiles $(IFILES): files - @wmakeDerivedFiles + @$(WM_SCRIPTS)/makeDerivedFiles #------------------------------------------------------------------------------ diff --git a/wmake/MakefileOptions b/wmake/MakefileOptions index 3e7779ff52..98746d34c6 100644 --- a/wmake/MakefileOptions +++ b/wmake/MakefileOptions @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -32,6 +32,7 @@ GENERAL_RULES = $(WM_DIR)/rules/General RULES = $(WM_DIR)/rules/$(WM_ARCH)$(WM_COMPILER) +WM_SCRIPTS = $(WM_DIR)/scripts include $(GENERAL_RULES)/general include $(RULES)/general @@ -47,8 +48,8 @@ OPTIONS = $(WM_OPTIONS)/options # Causes all derived files to be remade if any are changed or missing #------------------------------------------------------------------------------ -$(OPTIONS) : options - @wmkdir $(WM_OPTIONS) ; $(CPP) $(GFLAGS) options > $(OPTIONS) +$(OPTIONS) : options + @$(WM_SCRIPTS)/makeDir $(WM_OPTIONS) ; $(CPP) $(GFLAGS) options > $(OPTIONS) #------------------------------------------------------------------------------ diff --git a/wmake/makeWmake b/wmake/makeWmake index 21386f41be..ee44234372 100755 --- a/wmake/makeWmake +++ b/wmake/makeWmake @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License diff --git a/wmake/scripts/addCompile b/wmake/scripts/addCompile index 1e75e7eae1..cac0070a81 100755 --- a/wmake/scripts/addCompile +++ b/wmake/scripts/addCompile @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License diff --git a/wmake/wmakeDerivedFiles b/wmake/scripts/makeDerivedFiles similarity index 83% rename from wmake/wmakeDerivedFiles rename to wmake/scripts/makeDerivedFiles index fe6d53e08c..96377d6832 100755 --- a/wmake/wmakeDerivedFiles +++ b/wmake/scripts/makeDerivedFiles @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License @@ -24,22 +24,21 @@ # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # Script -# wmakeDerivedFiles +# makeDerivedFiles # # Description -# Constructs all the file list for make given the source file list -# (which written by hand or using makeFilesAndDirectories.) +# Constructs all the file list for make given the source file list, +# written was by hand or using makeFilesAndOptions. # #------------------------------------------------------------------------------ -if [ ! -d "$WM_OPTIONS" ] -then - echo "The $WM_OPTIONS directory does not exist, exiting" 1>&2 +[ -d "$WM_OPTIONS" ] || { + echo "The '$WM_OPTIONS' directory does not exist, exiting" 1>&2 exit 1 -fi +} # change to the $WM_OPTIONS directory -cd $WM_OPTIONS 2>/dev/null || { +cd "$WM_OPTIONS" 2>/dev/null || { echo "Could not change to directory '$WM_OPTIONS'" 1>&2 exit 1 } @@ -50,15 +49,15 @@ grep "=" files > filesMacros # Remove all macro definitions from the files list grep -v "=" files > filesPlusBlank -# Add a newline to files to make sure the last line is followed by a newline +# Add a newline to files to ensure the last line is followed by a newline echo "" >> filesPlusBlank -# Remove commented lines blank lines, and trailing blanks from files -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -sed -e '/^#/ d' \ - -e '/^[ \t]*$/ d' \ - -e 's/[ \t]*$//' \ +# Remove commented lines, blank lines, and trailing blanks from files +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +sed -e '/^#/ d' \ + -e '/^[ \t]*$/ d' \ + -e 's/[ \t]*$//' \ filesPlusBlank > files.$$ rm filesPlusBlank @@ -80,7 +79,7 @@ rm tmpSourceFile # ~~~~~~~~~~~~~~~~ sed -e 's%.*/%%' \ -e 's%^%$(OBJECTS_DIR)/%' \ - -e 's%\.[a-zA-Z]*$%\.o%' \ + -e 's%\.[a-zA-Z]*$%\.o%' \ files.$$ > tmpObjectFiles echo "OBJECTS = " > tmpObjectFiles2 @@ -96,7 +95,7 @@ rm tmpObjectFiles tmpObjectFiles2 # make localObjectFiles # ~~~~~~~~~~~~~~~~~~~~~ sed -e 's%.*/%%' \ - -e 's%\.[a-zA-Z]*$%\.o%' \ + -e 's%\.[a-zA-Z]*$%\.o%' \ files.$$ > tmpLocalObjectFiles echo "LOCAL_OBJECTS = " > tmpLocalObjectFiles2 @@ -132,6 +131,4 @@ sed -e 's/\.[a-zA-Z]*$/.dep/' \ rm files.$$ -cd .. - #------------------------------------------------------------------------------ diff --git a/wmake/wmkdir b/wmake/scripts/makeDir similarity index 75% rename from wmake/wmkdir rename to wmake/scripts/makeDir index e9703d2733..365dda9fd8 100755 --- a/wmake/wmkdir +++ b/wmake/scripts/makeDir @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License @@ -24,28 +24,18 @@ # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # Script -# wmkdir +# makeDir # # Description # Script to make directories that do not already exist -# Usage : wmkdir [.. ] +# Usage : makeDir [.. ] # #------------------------------------------------------------------------------ -if [ $# -ge 1 ] -then - # provide help - if [ "$1" = "-h" -o "$1" = "-help" ] - then - echo "usage: ${0##*/} [.. ]" - echo " mkdir if directories do not already exist" - echo - else - for dir - do - [ -d "$dir" ] || mkdir -p "$dir" - done - fi -fi +for dir +do + [ -d "$dir" ] || mkdir -p "$dir" +done + #------------------------------------------------------------------------------ diff --git a/wmake/scripts/makeFiles b/wmake/scripts/makeFiles index c36f153b3c..8416970039 100755 --- a/wmake/scripts/makeFiles +++ b/wmake/scripts/makeFiles @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License diff --git a/wmake/scripts/makeOptions b/wmake/scripts/makeOptions index 47c9f0c271..609a447ba0 100755 --- a/wmake/scripts/makeOptions +++ b/wmake/scripts/makeOptions @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License diff --git a/wmake/scripts/mkObjectDir b/wmake/scripts/makeTargetDir similarity index 82% rename from wmake/scripts/mkObjectDir rename to wmake/scripts/makeTargetDir index 3008303ae3..b4d1e01385 100755 --- a/wmake/scripts/mkObjectDir +++ b/wmake/scripts/makeTargetDir @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -24,21 +24,19 @@ # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # Script -# mkObjectDir +# makeTargetDir # # Description -# Makes a directory hierarchy for the given object file +# Makes a directory hierarchy for the given target file # -# Usage: mkObjectDir +# Usage: makeTargetDir # #------------------------------------------------------------------------------ -if [ $# -eq 1 ] -then - if [ ! -d ${1%/*} -a $1 != ${1%/*} ] - then - mkdir -p ${1%/*} - fi -fi +for target +do + dir=${target%/*} + [ -d "$dir" ] || [ "$dir" = "$target" ] || mkdir -p "$dir" +done #------------------------------------------------------------------------------ diff --git a/wmake/src/dirToString.c b/wmake/src/dirToString.c index b5fb428b0e..26d2876c31 100644 --- a/wmake/src/dirToString.c +++ b/wmake/src/dirToString.c @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. + \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/wmake/wcleanLnIncludeAll b/wmake/wcleanLnIncludeAll index 0ca7561c6a..6756391a47 100755 --- a/wmake/wcleanLnIncludeAll +++ b/wmake/wcleanLnIncludeAll @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License diff --git a/wmake/wcleanMachine b/wmake/wcleanMachine index 0af523c186..6ffb0c2f2a 100755 --- a/wmake/wcleanMachine +++ b/wmake/wcleanMachine @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License diff --git a/wmake/wmakeCheckPwd b/wmake/wmakeCheckPwd index 48266543fa..4a26185fdd 100755 --- a/wmake/wmakeCheckPwd +++ b/wmake/wmakeCheckPwd @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License diff --git a/wmake/wmakeFilesAndOptions b/wmake/wmakeFilesAndOptions index d9fdca1854..fe5472c55d 100755 --- a/wmake/wmakeFilesAndOptions +++ b/wmake/wmakeFilesAndOptions @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License diff --git a/wmake/wmakeLnIncludeAll b/wmake/wmakeLnIncludeAll index 07d7df7c59..84f2922115 100755 --- a/wmake/wmakeLnIncludeAll +++ b/wmake/wmakeLnIncludeAll @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License diff --git a/wmake/wmakePrintBuild b/wmake/wmakePrintBuild index da3c8d4086..4538445418 100755 --- a/wmake/wmakePrintBuild +++ b/wmake/wmakePrintBuild @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License diff --git a/wmake/wmakeScheduler b/wmake/wmakeScheduler index 5d82d8a21e..e5156628a5 100755 --- a/wmake/wmakeScheduler +++ b/wmake/wmakeScheduler @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------- # License From d1313bfda7cbe071e3d25156b45956d4105541eb Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Wed, 24 Mar 2010 15:30:35 +0100 Subject: [PATCH 007/128] COMP: use current CGAL rules from cvm branch --- wmake/rules/General/CGAL | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/wmake/rules/General/CGAL b/wmake/rules/General/CGAL index b31cd53a7f..e0a71bd968 100644 --- a/wmake/rules/General/CGAL +++ b/wmake/rules/General/CGAL @@ -1,4 +1,11 @@ CGAL_INC = \ -Wno-old-style-cast \ - -I${CGAL_SRC}/include \ - -I${BOOST_ROOT}/include/boost-${BOOST_LIB_VERSION} + -I$(CGAL_ARCH_PATH)/include \ + -I$(MPFR_ARCH_PATH)/include \ + -I$(BOOST_ARCH_PATH)/include/boost + +CGAL_LIBS = \ + -L$(MPFR_ARCH_PATH)/lib \ + -L$(BOOST_ARCH_PATH)/lib \ + -lmpfr \ + -lboost_thread From 8fe5f7f9ee31cecf1ae5d44f5fed35fddac88045 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Thu, 25 Mar 2010 08:38:04 +0100 Subject: [PATCH 008/128] ENH: relax compiler check in foamInstallationTest (can use system gcc) --- bin/foamInstallationTest | 423 ++++++++++++++++----------------------- bin/foamSystemCheck | 80 ++++---- 2 files changed, 207 insertions(+), 296 deletions(-) diff --git a/bin/foamInstallationTest b/bin/foamInstallationTest index 708c638410..5035b48201 100755 --- a/bin/foamInstallationTest +++ b/bin/foamInstallationTest @@ -34,72 +34,73 @@ # Base settings FOAM_VERSION=1.6 -SUPPLIED_VERSION_GCC=4.3.3 -MIN_VERSION_GCC=4.3.1 +SUPPLIED_VERSION_GCC=4.4.3 +MIN_VERSION_GCC=4.3.3 # General WIDTH=20 # Global variables -FATALERROR=0 -CRITICALERROR=0 -SSHRSHOK=0 +fatalError=0 +criticalError=0 # System variables -HOST_NAME=`uname -n` -OS=`uname -s` +HOST=`uname -n` +OSTYPE=`uname -s` USER_NAME=$LOGNAME -if [ ! -n $USER_NAME ]; then - USER_NAME=$USER -fi +: ${USER_NAME:=$USER} + +# which OpenFOAM application to test for the Version +foamTestApp=icoFoam #============================================================================== # HELPER FUNCTIONS #============================================================================== -hline () { +hline() +{ echo "-------------------------------------------------------------------------------" } -expenv () { - eval "echo $1" -} - - -heading () { - echo "" - echo "" +heading() +{ + echo + echo echo "$1" } -lenBase () { +lenBase() +{ echo $1 | tr -d " " | wc -m | tr -d " " } -length () { +length() +{ NOCHAR=`lenBase $1` NOCHAR=`expr $NOCHAR - 1` - if [ $NOCHAR -eq -1 ]; then - NOCHAR=0 - fi + [ $NOCHAR -ge 0 ] || NOCHAR=0 echo $NOCHAR } -stringLength () { +stringLength() +{ echo $1 | wc -m | tr -d " " } -fixlen () { +fixlen() +{ WORD=$1 ONELEN=`stringLength $1` LDIFF=`expr $ONELEN - $2` - if [ $LDIFF -le 1 ]; then - while [ $LDIFF -lt 0 ] ; do + if [ $LDIFF -le 1 ] + then + while [ $LDIFF -lt 0 ] + do WORD="$WORD " LDIFF=`expr $LDIFF + 1` done @@ -112,33 +113,34 @@ fixlen () { } -reportEnv () { +reportEnv() +{ EXP_ENV=`eval "echo $1"` EXP_PATH=`eval "echo $2"` CRIT="$3" EXISTS=" no " ON_PATH="" - if [ `length $EXP_ENV` -gt 0 ] ; then - case $OS in + if [ `length $EXP_ENV` -gt 0 ] + then + case "$OSTYPE" in SunOS) - if /usr/bin/test -e $EXP_ENV ; then + if /usr/bin/test -e $EXP_ENV + then EXISTS=" yes " - if [ "$2" != noPath ]; then + if [ "$2" != noPath ] + then ON_PATH=" no " - OLD_IFS=$IFS + oldIFS=$IFS IFS=':' for e in $EXP_PATH do - if \ - [ \ - "$e" = "$EXP_ENV" \ - -o "$e" = "${EXP_ENV}/bin" \ - -o "${EXP_ENV}/lib" = "$e" \ - ] ; then + case "$e" in + "$EXP_ENV" | "$EXP_ENV/bin" | "$EXP_ENV/lib") ON_PATH="yes " - fi + ;; + esac done - IFS=$OLD_IFS + IFS=$oldIFS else CRIT=" $3" fi @@ -148,24 +150,23 @@ reportEnv () { echo "`fixlen "$1" 21` `fixlen "$EXP_ENV" 40` $EXISTS $ON_PATH $CRIT" ;; *) - if [ -e "$EXP_ENV" ] ; then + if [ -e "$EXP_ENV" ] + then EXISTS=" yes " - if [ "$2" != noPath ]; then + if [ "$2" != noPath ] + then ON_PATH=" no " - OLD_IFS=$IFS + oldIFS=$IFS IFS=':' for e in $EXP_PATH do - if \ - [ \ - "$e" = "$EXP_ENV" \ - -o "$e" = "${EXP_ENV}/bin" \ - -o "${EXP_ENV}/lib" = "$e" \ - ] ; then + case "$e" in + "$EXP_ENV" | "$EXP_ENV/bin" | "$EXP_ENV/lib") ON_PATH="yes " - fi + ;; + esac done - IFS=$OLD_IFS + IFS=$oldIFS else CRIT=" $3" fi @@ -180,11 +181,13 @@ reportEnv () { fi ERROR="false" - if [ "$EXISTS" = no ] || [ "$ON_PATH" = no ]; then + if [ "$EXISTS" = no ] || [ "$ON_PATH" = no ] + then ERROR="true" fi - if [ "$3" = yes ] && [ "$ERROR" = true ]; then - CRITICALERROR=`expr $CRITICALERROR + 1` + if [ "$3" = yes ] && [ "$ERROR" = true ] + then + criticalError=`expr $criticalError + 1` echo "WARNING: CRITICAL ERROR" echo fi @@ -192,197 +195,111 @@ reportEnv () { } -findExec() { - OLD_IFS=$IFS +findExec() +{ + oldIFS=$IFS IFS=':' for d in $1 do - case $OS in + case "$OSTYPE" in SunOS) - if /usr/bin/test ! -d "$d/$2" -a -x "$d/$2" ; then - IFS=$OLD_IFS + if /usr/bin/test ! -d "$d/$2" -a -x "$d/$2" + then + IFS=$oldIFS echo "$d/$2" return 0 fi ;; *) - if [ ! -d "$d/$2" -a -x "$d/$2" ]; then - IFS=$OLD_IFS + if [ ! -d "$d/$2" -a -x "$d/$2" ] + then + IFS=$oldIFS echo "$d/$2" return 0 fi ;; esac done - IFS=$OLD_IFS + IFS=$oldIFS return 1 } -reportExecutable () { +reportExecutable() +{ APP_PATH="" APP_PATH=`findExec $PATH $1` APP_SPEC="$2" - if [ ! -n $APP_PATH ];then + if [ ! -n $APP_PATH ] + then echo "`fixlen "$1" 9`" "*** not installed ***" VERSION="" - case $1 in - icoFoam) - echo " CRITICAL ERROR" - CRITICALERROR=`expr $CRITICALERROR + 1` - ;; - gcc) - echo " CRITICAL ERROR" - CRITICALERROR=`expr $CRITICALERROR + 1` - ;; - tar) ;; - gtar) ;; - gzip) ;; - dx) ;; + case "$1" in + gcc | $foamTestApp) + echo " CRITICAL ERROR" + criticalError=`expr $criticalError + 1` + ;; esac echo return 1 fi - case $1 in - icoFoam) - VERSION=`$1 2>&1 \ - | \grep ' Version:' \ - | sed -e 's/.*Version:/Version:/' \ - | cut -d" " -f3` + case "$1" in + $foamTestApp) + VERSION=`$1 -case /dev/null 2>&1 \ + | sed -ne 's/^.*Version: *\([^ ][^ ]*\).*/\1/p'` + ;; + gcc) + VERSION=`$1 -v 2>&1 \ + | sed -ne 's/^gcc version \([0-9][0-9.]*\).*/\1/p' ` + + if [ "$VERSION" != "$SUPPLIED_VERSION_GCC" ] + then + echo "WARNING: gcc version does not match gcc supplied" \ + "with this release of OpenFOAM" + echo " Supplied version: $SUPPLIED_VERSION_GCC" + echo " User version : $VERSION" + echo " Minimum required: $MIN_VERSION_GCC" + echo "" + fi + ;; + gtar) + VERSION=`$APP_PATH --version | head -1` + ;; + tar) + VERSION=`$APP_PATH --version | head -1 | cut -d" " -f4` + ;; + gzip) + case "$OSTYPE" in + SunOS) + VERSION=`$1 --version 2>&1 | grep gzip | cut -d" " -f2` ;; - gcc) - VERSION=`$1 -v 2>&1 \ - | grep 'gcc version' \ - | cut -d" " -f3` - if [ ! "$VERSION" = "$SUPPLIED_VERSION_GCC" ]; then - echo "WARNING: gcc version does not match gcc supplied" \ - "with this release of OpenFOAM" - echo " Supplied version: $SUPPLIED_VERSION_GCC" - echo " User version : $VERSION" - echo " Minimum required: $MIN_VERSION_GCC" - echo "" - fi - ;; - gtar) - VERSION=`$APP_PATH --version | head -1` - ;; - tar) - VERSION=`$APP_PATH --version | head -1 | cut -d" " -f4` - ;; - gzip) - case $OS in - SunOS) - VERSION=`$1 --version 2>&1 | grep gzip | cut -d" " -f2` - ;; - *) - VERSION=`$1 --version | head -1 | cut -d" " -f2` - ;; - esac + *) + VERSION=`$1 --version | head -1 | cut -d" " -f2` ;; + esac + ;; esac - if [ "$APP_PATH" = "$APP_SPEC" ] || [ ! "$2" ]; then + if [ "$APP_PATH" = "$APP_SPEC" ] || [ ! "$2" ] + then echo "`fixlen "$1" 9` `fixlen "$VERSION" 10` `fixlen "$APP_PATH" 58`" else echo "`fixlen "$1" 9` `fixlen "$VERSION" 10`" echo "WARNING: Conflicting installations:" echo " OpenFOAM settings : $APP_SPEC" echo " current path : $APP_PATH" - case $1 in - icoFoam) - echo " CRITICAL ERROR" - CRITICALERROR=`expr $CRITICALERROR + 1` - ;; - gcc) - echo " CRITICAL ERROR" - CRITICALERROR=`expr $CRITICALERROR + 1` - ;; - gtar) ;; - gzip) ;; - dx) ;; + case "$1" in + gcc | $foamTestApp) + echo " CRITICAL ERROR" + criticalError=`expr $criticalError + 1` + ;; esac echo "" fi } -pingTest () { - RESULT="" - case $OS in - SunOS) - PINGTEST=`/usr/sbin/ping $1 2>&1` - if [ "`echo $PINGTEST | grep alive`" != "" ] ; then - RESULT="Successful" - elif [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then - RESULT="No_entry_for_\"$1\"_in_/etc/hosts" - else - RESULT="Networking_cannot_reach_$1" - fi - ;; - *) - PINGTEST=`/bin/ping -w 3 -c 1 $1 2>&1` - if [ "`echo $PINGTEST | grep '1 received'`" != "" ] ; then - RESULT="Successful" - elif [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then - RESULT="No_entry_for_\"$1\"_in_/etc/hosts" - else - RESULT="Networking_cannot_reach_$1" - fi - ;; - esac - - echo "`fixlen "Pinging_$1" 25` `fixlen "$RESULT" 45` `fixlen "$2" 5`" - - if [ "$2" = yes ] && [ "$RESULT" != Successful ]; then - CRITICALERROR=`expr $CRITICALERROR + 1` - echo "WARNING: CRITICAL ERROR" - echo - fi -} - - -telnetPortTest () { -telnet -e A $1 $2 <&1 | egrep "onnect.* [t|r]"` - if [ "`echo $RESULT | grep 'Connected to'`" ] ; then - RESULT='Successful' - elif [ "`echo $RESULT | grep 'Connection refused'`" ] ; then - RESULT='Unsuccessful_connection_refused*' - else - RESULT="Not_active*" - fi - else - RESULT='No_telnet_installed:_cannot_check*' - fi -} - - -checkRsh () { - checkTelnetPort $HOST_NAME 222 - echo "`fixlen "Test_rsh:" 25` `fixlen "$RESULT" 45` "yes"" - if [ "$RESULT" != Successful ]; then - SSHRSHOK=`expr $SSHRSHOK + 1` - fi -} - - -checkSsh () { - checkTelnetPort $HOST_NAME 22 - echo "`fixlen "Test_ssh:" 25` `fixlen "$RESULT" 45` "yes"" - if [ "$RESULT" != Successful ]; then - SSHRSHOK=`expr $SSHRSHOK + 1` - fi -} - - -checkOpenFOAMEnvironment() { +checkOpenFOAMEnvironment() +{ [ -d "$WM_PROJECT_INST_DIR" ] && [ -d "$WM_THIRD_PARTY_DIR" ] || { echo "" echo "FATAL ERROR: OpenFOAM environment not configured." @@ -396,54 +313,50 @@ checkOpenFOAMEnvironment() { } -checkUserShell() { +checkUserShell() +{ + echo "`fixlen Shell: $WIDTH` ${SHELL##*/}" case $SHELL in - */csh | */tcsh) - # USER_CONFIG_TYPE="cshrc" - echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}" - ;; - */bash | */ksh) - # USER_CONFIG_TYPE="bashrc" - echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}" - ;; - *) - # USER_CONFIG_TYPE="" - echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}" - echo "FATAL ERROR: Cannot identify the shell you are running." - echo " OpenFOAM ${FOAM_VERSION} is compatible with " - echo " csh, tcsh, ksh and bash." - echo - FATALERROR=`expr $FATALERROR + 1`;; + */csh | */tcsh | */bash | */ksh) + ;; + *) + echo "FATAL ERROR: Cannot identify the shell you are running." + echo " OpenFOAM ${FOAM_VERSION} is compatible with " + echo " csh, tcsh, ksh and bash." + echo + fatalError=`expr $fatalError + 1` + ;; esac } -checkHostName() { - if [ ! "$HOST_NAME" ]; then - echo "`fixlen "Host:" $WIDTH` ${HOST_NAME}" +checkHostName() +{ + echo "`fixlen Host: $WIDTH` $HOST" + if [ ! "$HOST" ] + then echo "FATAL ERROR: Cannot stat hostname." echo " Contact your system administrator, " echo " OpenFOAM ${FOAM_VERSION} needs a valid " echo " hostname to function." echo - FATALERROR=`expr $FATALERROR + 1` - else - echo "`fixlen "Host:" $WIDTH` ${HOST_NAME}" + fatalError=`expr $fatalError + 1` fi } -checkOS () { - case "$OS" in +checkOS() +{ + case "$OSTYPE" in Linux | LinuxAMD64 | SunOS ) - echo "`fixlen "OS:" $WIDTH` ${OS} version $(uname -r)" + echo "`fixlen OS: $WIDTH` $OSTYPE version $(uname -r)" ;; *) - echo "FATAL ERROR: Incompatible operating system \"$OS\"." - echo " OpenFOAM ${FOAM_VERSION} is currently " + echo "FATAL ERROR: Incompatible operating system \"$OSTYPE\"." + echo " OpenFOAM $FOAM_VERSION is currently " echo " available for Linux and SunOS only." echo - FATALERROR=`expr $FATALERROR + 1` + fatalError=`expr $fatalError + 1` ;; esac } @@ -466,8 +379,8 @@ hline #------------------------------------------------------------------------------ heading "Checking main OpenFOAM env variables..." -COL1=`fixlen "Environment_variable" 21` -COL2=`fixlen "Set_to_file_or_directory" 40` +COL1=`fixlen Environment_variable 21` +COL2=`fixlen Set_to_file_or_directory 40` COL3="Valid" COL4="Path" COL5="Crit" @@ -505,20 +418,21 @@ hline #------------------------------------------------------------------------------ heading "Third party software" -COL1=`fixlen "Software" 9` -COL2=`fixlen "Version" 10` -COL3=`fixlen "Location" 10` +COL1=`fixlen Software 9` +COL2=`fixlen Version 10` +COL3=`fixlen Location 10` hline echo "$COL1 $COL2 $COL3" hline -reportExecutable gcc "${WM_COMPILER_DIR}/bin/gcc" +reportExecutable gcc reportExecutable gzip -if [ "$OS" = Linux ] ; then +if [ "$OSTYPE" = Linux ] +then reportExecutable tar else reportExecutable gtar fi -reportExecutable icoFoam "${FOAM_APPBIN}/icoFoam" +reportExecutable $foamTestApp "$FOAM_APPBIN/$foamTestApp" hline @@ -526,27 +440,28 @@ hline heading "Summary" hline -if [ $FATALERROR -gt 0 ] ; then - echo "The system test has evoked $FATALERROR fatal error(s)." +if [ $fatalError -gt 0 ] +then + echo "The system test has evoked $fatalError fatal error(s)." else echo "Base configuration ok." fi -echo "" -if [ $CRITICALERROR -gt 0 ]; then - echo "The foam installation contains $CRITICALERROR critical error(s)." +if [ $criticalError -gt 0 ] +then + echo "The foam installation contains $criticalError critical error(s)." else echo "Critical systems ok." fi -echo "" -if [ $CRITICALERROR -gt 0 ] || [ $FATALERROR -gt 0 ]; then - echo "Review the output for warning messages and consult " - echo "the installation guide for trouble shooting." +if [ $criticalError -gt 0 ] || [ $fatalError -gt 0 ] +then + echo + echo "Review the output for warning messages and consult" + echo "the installation guide for troubleshooting." fi -echo "" -echo "done." - -echo "" +echo +echo Done +echo exit 0 diff --git a/bin/foamSystemCheck b/bin/foamSystemCheck index 0d739d64fa..50061b532d 100755 --- a/bin/foamSystemCheck +++ b/bin/foamSystemCheck @@ -38,31 +38,32 @@ FOAM_VERSION=1.6 HLINE="-----------------------------------------------------------------------" WIDTH=16 -unset FATALERROR +unset fatalError # FUNCTIONS # ~~~~~~~~~ -heading () { - echo "" +heading() +{ + echo echo "$1" echo "$HLINE" } -lenBase () { +lenBase() +{ echo $1 | tr -d " " | wc -m | tr -d " " } -length () { +length() +{ NOCHAR=$(lenBase $1) NOCHAR=$(expr $NOCHAR - 1) - if [ $NOCHAR -eq -1 ] - then - NOCHAR=0 - fi + [ $NOCHAR -ge 0 ] || NOCHAR=0 echo $NOCHAR } -fixlen () { +fixlen() +{ WORD=$1 ONELEN=$(length "$1") LDIFF=$(expr $ONELEN - $2) @@ -86,48 +87,43 @@ fixlen () { heading "Checking basic system..." # check shell -echo "$(fixlen "Shell:" $WIDTH) $SHELL" +echo "$(fixlen Shell: $WIDTH) $SHELL" case "$SHELL" in -*/csh | */tcsh) - USER_CONFIG_TYPE=cshrc - ;; -*/bash | */ksh) - USER_CONFIG_TYPE=bashrc +*/csh | */tcsh | */bash | */ksh) ;; *) - USER_CONFIG_TYPE="" - echo "FATALERROR: Cannot identify the current shell." - echo " OpenFOAM ${FOAM_VERSION} is compatible" - echo " with csh, tcsh, ksh and bash." + echo "ERROR: Cannot identify the current shell." + echo " OpenFOAM $FOAM_VERSION is compatible" + echo " with csh, tcsh, ksh and bash." echo - FATALERROR=yes + fatalError=true ;; esac # check hostname HOST=$(uname -n) -echo "$(fixlen "Host:" $WIDTH) $HOST" +echo "$(fixlen Host: $WIDTH) $HOST" if [ $(length $HOST) -eq 0 ] then - echo "FATALERROR: Cannot stat hostname." - echo " OpenFOAM ${FOAM_VERSION} needs a valid hostname to function." - echo " Contact your system administrator. " + echo "ERROR: Cannot stat hostname." + echo " OpenFOAM $FOAM_VERSION needs a valid hostname to function." + echo " Contact your system administrator. " echo - FATALERROR=yes + fatalError=true fi # check os -OS=$(uname -s) -case "$OS" in +OSTYPE=$(uname -s) +case "$OSTYPE" in Linux | LinuxAMD64 | SunOS ) - echo "$(fixlen "OS:" $WIDTH) ${OS} version $(uname -r)" + echo "$(fixlen OS: $WIDTH) $OSTYPE version $(uname -r)" ;; *) - echo "FATALERROR: Incompatible operating system \"$OS\"." - echo " OpenFOAM ${FOAM_VERSION} is currently available for " - echo " Linux, LinuxAMD64 and SunOS only." + echo "ERROR: Incompatible operating system \"$OSTYPE\"." + echo " OpenFOAM $FOAM_VERSION is currently available for " + echo " Linux, LinuxAMD64 and SunOS only." echo - FATALERROR=yes + fatalError=true ;; esac @@ -139,20 +135,20 @@ then USER_NAME=$USER fi -echo "$(fixlen "User:" $WIDTH) ${USER_NAME}" +echo "$(fixlen User: $WIDTH) ${USER_NAME}" if [ $(length $USER_NAME) -eq 0 ] then - echo "FATALERROR: Cannot stat user name ${USER_NAME}." - echo " OpenFOAM ${FOAM_VERSION} needs a valid user name." - echo " Contact your system administrator. " - echo "" - FATALERROR=yes + echo "ERROR: Cannot stat user name $USER_NAME." + echo " OpenFOAM $FOAM_VERSION needs a valid user name." + echo " Contact your system administrator. " + echo + fatalError=true fi -echo "" -echo "" -if [ -n "$FATALERROR" ] +echo +echo +if [ "$fatalError" = true ] then echo "System check: FAIL" echo "==================" From f3ab304d79ce1da44adc07e8863c0184f9d3fc6a Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Thu, 25 Mar 2010 10:37:44 +0100 Subject: [PATCH 009/128] ENH: simplify compiler settings, provision for boost/CGAL --- etc/bashrc | 2 +- etc/cshrc | 2 +- etc/settings.csh | 117 ++++++++++++++++++++++++++++++++++------------- etc/settings.sh | 113 ++++++++++++++++++++++++++++++--------------- 4 files changed, 163 insertions(+), 71 deletions(-) diff --git a/etc/bashrc b/etc/bashrc index c3e7c82bb3..d05a702df0 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -159,7 +159,7 @@ Linux) export WM_LDFLAGS='-m64' ;; *) - echo Unknown WM_ARCH_OPTION $WM_ARCH_OPTION, should be 32 or 64 + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64" ;; esac ;; diff --git a/etc/cshrc b/etc/cshrc index ef8d9ea118..29c1d82983 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -149,7 +149,7 @@ case Linux: breaksw default: - echo Unknown WM_ARCH_OPTION $WM_ARCH_OPTION, should be 32 or 64 + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64" breaksw endsw diff --git a/etc/settings.csh b/etc/settings.csh index 5d2950662c..a09edd6f14 100644 --- a/etc/settings.csh +++ b/etc/settings.csh @@ -74,6 +74,11 @@ _foamAddPath ${FOAM_USER_APPBIN}:${FOAM_SITE_APPBIN}:${FOAM_APPBIN} # Make sure to pick up dummy versions of external libraries last _foamAddLib ${FOAM_USER_LIBBIN}:${FOAM_SITE_LIBBIN}:${FOAM_LIBBIN}:${FOAM_LIBBIN}/dummy +# Compiler settings +# ~~~~~~~~~~~~~~~~~ +unset gcc_version gmp_version mpfr_version +unsetenv MPFR_ARCH_PATH + # Select compiler installation # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -84,40 +89,95 @@ switch ("$compilerInstall") case OpenFOAM: switch ("$WM_COMPILER") case Gcc: - setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.4.3 - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/mpfr-2.4.2/lib - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gmp-5.0.1/lib - breaksw - case Gcc442: - setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.4.2 - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/mpfr-2.4.1/lib - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gmp-4.2.4/lib - breaksw - case Gcc43: - setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.3.3 - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/mpfr-2.4.1/lib - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gmp-4.2.4/lib - breaksw - endsw + set gcc_version=gcc-4.4.3 + set gmp_version=gmp-5.0.1 + set mpfr_version=mpfr-2.4.2 + breaksw - # Check that the compiler directory can be found - if ( ! -d "$WM_COMPILER_DIR" ) then + case Gcc442: + set gcc_version=gcc-4.4.2 + set gmp_version=gmp-4.2.4 + set mpfr_version=mpfr-2.4.1 + breaksw + + case Gcc44: + set gcc_version=gcc-4.4.2 + set gmp_version=gmp-4.2.4 + set mpfr_version=mpfr-2.4.1 + breaksw + + case Gcc43: + set gcc_version=gcc-4.3.3 + set gmp_version=gmp-4.2.4 + set mpfr_version=mpfr-2.4.1 + breaksw + + default: echo echo "Warning in $WM_PROJECT_DIR/etc/settings.csh:" - echo " Cannot find $WM_COMPILER_DIR installation." - echo " Please install this compiler version or if you wish to use the system compiler," - echo " change the 'compilerInstall' setting to 'system' in this file" + echo " Unknown OpenFOAM compiler type '$WM_COMPILER'" + echo " Please check your settings" echo - endif + breaksw - _foamAddPath ${WM_COMPILER_DIR}/bin - _foamAddLib ${WM_COMPILER_DIR}/lib${WM_COMPILER_LIB_ARCH}:${WM_COMPILER_DIR}/lib - _foamAddMan ${WM_COMPILER_DIR}/man + endsw + + if ( $?gcc_version ) then + set gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version + set gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version + set mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version + + # Check that the compiler directory can be found + if ( ! -d "$gccDir" ) then + echo + echo "Warning in $WM_PROJECT_DIR/etc/settings.csh:" + echo " Cannot find $gccDir installation." + echo " Please install this compiler version or if you wish to use the system compiler," + echo " change the 'compilerInstall' setting to 'system' in this file" + echo + endif + + _foamAddMan $gccDir/man + _foamAddPath $gccDir/bin + _foamAddLib $gccDir/lib${WM_COMPILER_LIB_ARCH}:$gccDir/lib + + # add in gmp/mpfr libraries + _foamAddLib $gmpDir/lib + _foamAddLib $mpfrDir/lib + + # used by boost/CGAL: + setenv MPFR_ARCH_PATH $mpfrDir + endif + unset gcc_version gccDir gmp_version gmpDir mpfr_version mpfrDir breaksw endsw +# boost and CGAL +# ~~~~~~~~~~~~~~ + +set boost_version=boost_1_42_0 +set cgal_version=CGAL-3.5.1 + +setenv BOOST_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version +setenv CGAL_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version + +# enabled if CGAL is available +if ( -d "$CGAL_ARCH_PATH" ) then + if ( -d "$BOOST_ARCH_PATH" ) then + _foamAddLib $BOOST_ARCH_PATH/lib + else + unsetenv BOOST_ARCH_PATH + endif + _foamAddLib $CGAL_ARCH_PATH/lib +else + unsetenv BOOST_ARCH_PATH CGAL_ARCH_PATH MPFR_ARCH_PATH +endif + +unset boost_version cgal_version + + # Communications library # ~~~~~~~~~~~~~~~~~~~~~~ @@ -259,17 +319,10 @@ else endif -# CGAL library if available -# ~~~~~~~~~~~~~~~~~~~~~~~~~ -if ( $?CGAL_LIB_DIR ) then - _foamAddLib $CGAL_LIB_DIR -endif - - # Enable the hoard memory allocator if available # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #if ( -f $FOAM_LIBBIN/libhoard.so ) then -# setenv LD_PRELOAD $FOAM_LIBBIN/libhoard.so:${LD_PRELOAD} +# setenv LD_PRELOAD $FOAM_LIBBIN/libhoard.so:$LD_PRELOAD #endif diff --git a/etc/settings.sh b/etc/settings.sh index 8aab7498a6..779725847f 100644 --- a/etc/settings.sh +++ b/etc/settings.sh @@ -98,10 +98,9 @@ _foamAddPath $FOAM_USER_APPBIN:$FOAM_SITE_APPBIN:$FOAM_APPBIN # Make sure to pick up dummy versions of external libraries last _foamAddLib $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN:$FOAM_LIBBIN/dummy - # Compiler settings # ~~~~~~~~~~~~~~~~~ -unset compilerBin compilerLib compilerMan +unset gcc_version gmp_version mpfr_version MPFR_ARCH_PATH # Select compiler installation # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -112,52 +111,97 @@ case "${compilerInstall:-OpenFOAM}" in OpenFOAM) case "$WM_COMPILER" in Gcc) - export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.4.3 - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/mpfr-2.4.2/lib - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gmp-5.0.1/lib + gcc_version=gcc-4.4.3 + gmp_version=gmp-5.0.1 + mpfr_version=mpfr-2.4.2 ;; Gcc442) - export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.4.2 - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/mpfr-2.4.1/lib - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gmp-4.2.4/lib + gcc_version=gcc-4.4.2 + gmp_version=gmp-4.2.4 + mpfr_version=mpfr-2.4.1 ;; Gcc44) - export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.4.2 - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/mpfr-2.4.1/lib - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gmp-4.2.4/lib + gcc_version=gcc-4.4.2 + gmp_version=gmp-4.2.4 + mpfr_version=mpfr-2.4.1 ;; Gcc43) - export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gcc-4.3.3 - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/mpfr-2.4.1/lib - _foamAddLib $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/gmp-4.2.4/lib + gcc_version=gcc-4.3.3 + gmp_version=gmp-4.2.4 + mpfr_version=mpfr-2.4.1 + ;; + *) + echo + echo "Warning in $WM_PROJECT_DIR/etc/settings.sh:" + echo " Unknown OpenFOAM compiler type '$WM_COMPILER'" + echo " Please check your settings" + echo ;; esac - # Check that the compiler directory can be found - if [ ! -d "$WM_COMPILER_DIR" ] + if [ -n "$gcc_version" ] then - echo - echo "Warning in $WM_PROJECT_DIR/etc/settings.sh:" - echo " Cannot find $WM_COMPILER_DIR installation." - echo " Please install this compiler version or if you wish to use the system compiler," - echo " change the 'compilerInstall' setting to 'system' in this file" - echo - fi + gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version + gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version + mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version - compilerBin=$WM_COMPILER_DIR/bin - compilerLib=$WM_COMPILER_DIR/lib$WM_COMPILER_LIB_ARCH:$WM_COMPILER_DIR/lib - compilerMan=$WM_COMPILER_DIR/man + # Check that the compiler directory can be found + [ -d "$gccDir" ] || { + echo + echo "Warning in $WM_PROJECT_DIR/etc/settings.sh:" + echo " Cannot find $gccDir installation." + echo " Please install this compiler version or if you wish to use the system compiler," + echo " change the 'compilerInstall' setting to 'system' in this file" + echo + } + + _foamAddMan $gccDir/man + _foamAddPath $gccDir/bin + _foamAddLib $gccDir/lib + + # 64-bit needs lib64, but 32-bit needs lib (not lib32) + if [ "$WM_ARCH_OPTION" = 64 ] + then + _foamAddLib $gccDir/lib$WM_COMPILER_LIB_ARCH + fi + + # add in gmp/mpfr libraries + _foamAddLib $gmpDir/lib + _foamAddLib $mpfrDir/lib + + # used by boost/CGAL: + export MPFR_ARCH_PATH=$mpfrDir + fi + unset gcc_version gccDir gmp_version gmpDir mpfr_version mpfrDir ;; esac -if [ -d "$compilerBin" ] + +# boost and CGAL +# ~~~~~~~~~~~~~~ + +boost_version=boost_1_42_0 +cgal_version=CGAL-3.5.1 + +export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$boost_version +export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$cgal_version + +# enabled if CGAL is available +if [ -d "$CGAL_ARCH_PATH" ] then - _foamAddPath $compilerBin - _foamAddLib $compilerLib - _foamAddMan $compilerMan + if [ -d "$BOOST_ARCH_PATH" ] + then + _foamAddLib $BOOST_ARCH_PATH/lib + else + unset BOOST_ARCH_PATH + fi + _foamAddLib $CGAL_ARCH_PATH/lib +else + unset BOOST_ARCH_PATH CGAL_ARCH_PATH MPFR_ARCH_PATH fi -unset compilerBin compilerLib compilerMan compilerInstall +unset boost_version cgal_version + # Communications library # ~~~~~~~~~~~~~~~~~~~~~~ @@ -301,11 +345,6 @@ fi export MPI_BUFFER_SIZE -# CGAL library if available -# ~~~~~~~~~~~~~~~~~~~~~~~~~ -[ -d "$CGAL_LIB_DIR" ] && _foamAddLib $CGAL_LIB_DIR - - # Enable the hoard memory allocator if available # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #if [ -f $FOAM_LIBBIN/libhoard.so ] @@ -316,6 +355,6 @@ export MPI_BUFFER_SIZE # cleanup environment: # ~~~~~~~~~~~~~~~~~~~~ -unset _foamAddPath _foamAddLib _foamAddMan minBufferSize +unset _foamAddPath _foamAddLib _foamAddMan compilerInstall minBufferSize # ----------------------------------------------------------------- end-of-file From 7b3ab6e75c5737181889e6aa034b959f4389c9e4 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Thu, 25 Mar 2010 13:55:11 +0100 Subject: [PATCH 010/128] ENH: git ignore eclipse project files --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 3cc18eb468..a964dd7570 100644 --- a/.gitignore +++ b/.gitignore @@ -75,4 +75,8 @@ doc/[Dd]oxygen/man # ignore .tags in the main directory /.tags +# ignore eclipse project files in the main directory +/.cproject +/.project + # end-of-file From 46d96dc85583feabd5fe281178168f5c5fd8f88a Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Thu, 25 Mar 2010 14:42:29 +0100 Subject: [PATCH 011/128] BUG: remove old wmake/rules/*/{dirToString,wmkdep} binaries --- wmake/rules/linux64Gcc/dirToString | Bin 9744 -> 0 bytes wmake/rules/linux64Gcc/wmkdep | Bin 32427 -> 0 bytes wmake/rules/linux64Gcc42/dirToString | Bin 9657 -> 0 bytes wmake/rules/linux64Gcc42/wmkdep | Bin 31867 -> 0 bytes wmake/rules/linuxGcc/dirToString | Bin 7218 -> 0 bytes wmake/rules/linuxGcc/wmkdep | Bin 26672 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 wmake/rules/linux64Gcc/dirToString delete mode 100755 wmake/rules/linux64Gcc/wmkdep delete mode 100755 wmake/rules/linux64Gcc42/dirToString delete mode 100755 wmake/rules/linux64Gcc42/wmkdep delete mode 100755 wmake/rules/linuxGcc/dirToString delete mode 100755 wmake/rules/linuxGcc/wmkdep diff --git a/wmake/rules/linux64Gcc/dirToString b/wmake/rules/linux64Gcc/dirToString deleted file mode 100755 index 8a0125352dd2d2038723a69600ad144c85c8f24d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9744 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 u;aDb-PNF@s-?FmaTsK0>KR<)*ydq7UA^HJv z!FxG}LL;Wa4#`@DNs`Wi&`EK-1ngcTBEzvpN~ln^kV2}j*Lh{s2)A5nBvmMchXE=_ zZEctN?U$A^uEHv65ZuwpMySeB^Qhb-vfLxGoC@1z!&IpHM|~qdR`zeK-HQ~Zy%dNU zeC`cd7QhPs7AohmeuKd2_i{vqQ)PWBROK#3Icn#(b*i0NRh7%9PtB?-�=bZfMMC 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 es!4EmHL(i*NUEVV#>Ze2v;QBibFnl4 diff --git a/wmake/rules/linux64Gcc42/dirToString b/wmake/rules/linux64Gcc42/dirToString deleted file mode 100755 index 0560cadf77f4b2a75f422fe207df6bbbb4c814d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9657 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 NQi}3#KzQr2{{l~V2qORh diff --git a/wmake/rules/linux64Gcc42/wmkdep b/wmake/rules/linux64Gcc42/wmkdep deleted file mode 100755 index f37b2ea3d3deed1553f447a50fdcf557d383401f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31867 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 diff --git a/wmake/rules/linuxGcc/dirToString b/wmake/rules/linuxGcc/dirToString deleted file mode 100755 index f2244e3dca29490f592a9d1a9e8c9f96972426dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7218 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 VGhy3_=TmoEV+Vx%D1D}tCUH?D|(C3B0~%p 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 m|Gi)*;lFCIxyJji7hAJ%;@&5p;hMG43 From 0b9e5ea11a474c1d805ae1190ccb224685b40a8a Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 26 Mar 2010 11:48:23 +0100 Subject: [PATCH 012/128] ENH: link to general mplib* rules where possible. ENH: generalize rule for X11 ENH: Avoid move in flex/flex++ rule. --- wmake/rules/General/X | 5 +++ wmake/rules/General/flex | 2 +- wmake/rules/General/flex++ | 2 +- wmake/rules/General/flex++.test | 6 ---- wmake/rules/{linux64Gcc42 => General}/mplib | 0 .../{linux64Gcc42 => General}/mplibGAMMA | 0 wmake/rules/General/mplibMPICH | 2 +- .../{linux64Gcc42 => General}/mplibMPICH-GM | 0 .../mplibOPENMPI => General/mplibQSMPI} | 3 +- wmake/rules/SiCortex64Gcc/flex++ | 2 +- wmake/rules/SiCortex64Gcc/mplib | 4 +-- wmake/rules/SunOS64Gcc/mplib | 4 +-- wmake/rules/SunOS64Gcc/mplibOPENMPI | 4 +-- wmake/rules/linux64Gcc/X | 4 +-- wmake/rules/linux64Gcc/mplib | 4 +-- wmake/rules/linux64Gcc/mplibGAMMA | 4 +-- wmake/rules/linux64Gcc/mplibMPICH | 4 +-- wmake/rules/linux64Gcc/mplibMPICH-GM | 4 +-- wmake/rules/linux64Gcc/mplibOPENMPI | 4 +-- wmake/rules/linux64Gcc/mplibQSMPI | 5 +-- wmake/rules/linux64Gcc42/X | 3 -- wmake/rules/linux64Gcc42/c | 16 --------- wmake/rules/linux64Gcc42/c++ | 21 ------------ wmake/rules/linux64Gcc42/c++Debug | 2 -- wmake/rules/linux64Gcc42/c++Opt | 4 --- wmake/rules/linux64Gcc42/c++Prof | 2 -- wmake/rules/linux64Gcc42/cDebug | 2 -- wmake/rules/linux64Gcc42/cOpt | 2 -- wmake/rules/linux64Gcc42/cProf | 2 -- wmake/rules/linux64Gcc42/general | 10 ------ wmake/rules/linux64Gcc42/mplibHPMPI | 3 -- wmake/rules/linux64Gcc42/mplibMPICH | 3 -- wmake/rules/linux64Gcc42/mplibOPENMPI | 3 -- wmake/rules/linux64Gcc42/mplibSYSTEMOPENMPI | 1 - wmake/rules/linux64Gcc43/X | 4 +-- wmake/rules/linux64Gcc43/mplib | 4 +-- wmake/rules/linux64Gcc43/mplibGAMMA | 4 +-- wmake/rules/linux64Gcc43/mplibMPICH | 4 +-- wmake/rules/linux64Gcc43/mplibMPICH-GM | 4 +-- wmake/rules/linux64Gcc43/mplibOPENMPI | 4 +-- wmake/rules/linux64Gcc43/mplibQSMPI | 5 +-- wmake/rules/linux64Gcc44/X | 4 +-- wmake/rules/linux64Gcc44/mplib | 4 +-- wmake/rules/linux64Gcc44/mplibGAMMA | 4 +-- wmake/rules/linux64Gcc44/mplibMPICH | 4 +-- wmake/rules/linux64Gcc44/mplibMPICH-GM | 4 +-- wmake/rules/linux64Gcc44/mplibOPENMPI | 4 +-- wmake/rules/linux64Gcc44/mplibQSMPI | 5 +-- wmake/rules/linux64Icc/X | 4 +-- wmake/rules/linux64Icc/mplib | 4 +-- wmake/rules/linux64Icc/mplibMPICH | 4 +-- wmake/rules/linux64Icc/mplibOPENMPI | 4 +-- wmake/rules/linuxGcc/X | 4 +-- wmake/rules/linuxGcc/mplib | 4 +-- wmake/rules/linuxGcc/mplibGAMMA | 4 +-- wmake/rules/linuxGcc/mplibMPICH | 4 +-- wmake/rules/linuxGcc/mplibMPICH-GM | 4 +-- wmake/rules/linuxGcc/mplibOPENMPI | 4 +-- wmake/rules/linuxGcc42/X | 3 -- wmake/rules/linuxGcc42/c | 16 --------- wmake/rules/linuxGcc42/c++ | 21 ------------ wmake/rules/linuxGcc42/c++Debug | 2 -- wmake/rules/linuxGcc42/c++Opt | 2 -- wmake/rules/linuxGcc42/c++Prof | 2 -- wmake/rules/linuxGcc42/cDebug | 2 -- wmake/rules/linuxGcc42/cOpt | 2 -- wmake/rules/linuxGcc42/cProf | 2 -- wmake/rules/linuxGcc42/general | 10 ------ wmake/rules/linuxGcc42/mplib | 3 -- wmake/rules/linuxGcc42/mplibGAMMA | 3 -- wmake/rules/linuxGcc42/mplibHPMPI | 3 -- wmake/rules/linuxGcc42/mplibMPICH | 3 -- wmake/rules/linuxGcc42/mplibMPICH-GM | 3 -- wmake/rules/linuxGcc42/mplibSYSTEMOPENMPI | 1 - wmake/rules/linuxGcc43/X | 4 +-- wmake/rules/linuxGcc43/mplib | 4 +-- wmake/rules/linuxGcc43/mplibGAMMA | 4 +-- wmake/rules/linuxGcc43/mplibMPICH | 4 +-- wmake/rules/linuxGcc43/mplibMPICH-GM | 4 +-- wmake/rules/linuxGcc43/mplibOPENMPI | 4 +-- wmake/rules/linuxGcc44/X | 4 +-- wmake/rules/linuxGcc44/mplib | 4 +-- wmake/rules/linuxGcc44/mplibGAMMA | 4 +-- wmake/rules/linuxGcc44/mplibMPICH | 4 +-- wmake/rules/linuxGcc44/mplibMPICH-GM | 4 +-- wmake/rules/linuxGcc44/mplibOPENMPI | 4 +-- wmake/rules/linuxIA64Gcc/mplib | 4 +-- wmake/rules/linuxIA64Gcc/mplibMPICH | 4 +-- wmake/rules/linuxIA64Gcc/mplibOPENMPI | 4 +-- wmake/rules/linuxIA64Icc/mplib | 4 +-- wmake/rules/linuxIA64Icc/mplibMPICH | 4 +-- wmake/rules/linuxIA64Icc/mplibOPENMPI | 4 +-- wmake/rules/linuxIcc/X | 4 +-- wmake/rules/linuxIcc/mplib | 4 +-- wmake/rules/linuxIcc/mplibMPICH | 4 +-- wmake/rules/linuxIcc/mplibOPENMPI | 4 +-- wmake/rules/linuxPPC64Gcc/mplib | 4 +-- wmake/rules/linuxPPC64Gcc/mplibGAMMA | 4 +-- wmake/rules/linuxPPC64Gcc/mplibMPICH | 4 +-- wmake/rules/linuxPPC64Gcc/mplibMPICH-GM | 4 +-- wmake/rules/linuxPPC64Gcc/mplibOPENMPI | 4 +-- wmake/rules/linuxPPC64Gcc/mplibQSMPI | 5 +-- wmake/rules/linuxmingw32/general | 11 ++----- wmake/rules/linuxmingw32/mplib | 4 +-- wmake/rules/linuxmingw32/mplibGAMMA | 4 +-- wmake/rules/linuxmingw32/mplibMPICH | 4 +-- wmake/rules/linuxmingw32/mplibMPICH-GM | 4 +-- wmake/rules/linuxmingw32/mplibOPENMPI | 4 +-- wmake/rules/solarisGcc/mplib | 4 +-- wmake/rules/solarisGcc/mplibMPICH | 2 +- wmake/rules/solarisGcc/mplibOPENMPI | 4 +-- wmake/scripts/makeDerivedFiles | 2 +- wmake/scripts/makeFiles | 33 +++++++++---------- wmake/scripts/makeOptions | 6 ++-- 114 files changed, 102 insertions(+), 406 deletions(-) create mode 100644 wmake/rules/General/X delete mode 100644 wmake/rules/General/flex++.test rename wmake/rules/{linux64Gcc42 => General}/mplib (100%) rename wmake/rules/{linux64Gcc42 => General}/mplibGAMMA (100%) rename wmake/rules/{linux64Gcc42 => General}/mplibMPICH-GM (100%) rename wmake/rules/{linuxGcc42/mplibOPENMPI => General/mplibQSMPI} (71%) mode change 100644 => 120000 wmake/rules/SiCortex64Gcc/mplib mode change 100644 => 120000 wmake/rules/SunOS64Gcc/mplib mode change 100644 => 120000 wmake/rules/SunOS64Gcc/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linux64Gcc/X mode change 100644 => 120000 wmake/rules/linux64Gcc/mplib mode change 100644 => 120000 wmake/rules/linux64Gcc/mplibGAMMA mode change 100644 => 120000 wmake/rules/linux64Gcc/mplibMPICH mode change 100644 => 120000 wmake/rules/linux64Gcc/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linux64Gcc/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linux64Gcc/mplibQSMPI delete mode 100644 wmake/rules/linux64Gcc42/X delete mode 100644 wmake/rules/linux64Gcc42/c delete mode 100644 wmake/rules/linux64Gcc42/c++ delete mode 100644 wmake/rules/linux64Gcc42/c++Debug delete mode 100644 wmake/rules/linux64Gcc42/c++Opt delete mode 100644 wmake/rules/linux64Gcc42/c++Prof delete mode 100644 wmake/rules/linux64Gcc42/cDebug delete mode 100644 wmake/rules/linux64Gcc42/cOpt delete mode 100644 wmake/rules/linux64Gcc42/cProf delete mode 100644 wmake/rules/linux64Gcc42/general delete mode 100644 wmake/rules/linux64Gcc42/mplibHPMPI delete mode 100644 wmake/rules/linux64Gcc42/mplibMPICH delete mode 100644 wmake/rules/linux64Gcc42/mplibOPENMPI delete mode 120000 wmake/rules/linux64Gcc42/mplibSYSTEMOPENMPI mode change 100644 => 120000 wmake/rules/linux64Gcc43/X mode change 100644 => 120000 wmake/rules/linux64Gcc43/mplib mode change 100644 => 120000 wmake/rules/linux64Gcc43/mplibGAMMA mode change 100644 => 120000 wmake/rules/linux64Gcc43/mplibMPICH mode change 100644 => 120000 wmake/rules/linux64Gcc43/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linux64Gcc43/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linux64Gcc43/mplibQSMPI mode change 100644 => 120000 wmake/rules/linux64Gcc44/X mode change 100644 => 120000 wmake/rules/linux64Gcc44/mplib mode change 100644 => 120000 wmake/rules/linux64Gcc44/mplibGAMMA mode change 100644 => 120000 wmake/rules/linux64Gcc44/mplibMPICH mode change 100644 => 120000 wmake/rules/linux64Gcc44/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linux64Gcc44/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linux64Gcc44/mplibQSMPI mode change 100644 => 120000 wmake/rules/linux64Icc/X mode change 100644 => 120000 wmake/rules/linux64Icc/mplib mode change 100644 => 120000 wmake/rules/linux64Icc/mplibMPICH mode change 100644 => 120000 wmake/rules/linux64Icc/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linuxGcc/X mode change 100644 => 120000 wmake/rules/linuxGcc/mplib mode change 100644 => 120000 wmake/rules/linuxGcc/mplibGAMMA mode change 100644 => 120000 wmake/rules/linuxGcc/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxGcc/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linuxGcc/mplibOPENMPI delete mode 100644 wmake/rules/linuxGcc42/X delete mode 100644 wmake/rules/linuxGcc42/c delete mode 100644 wmake/rules/linuxGcc42/c++ delete mode 100644 wmake/rules/linuxGcc42/c++Debug delete mode 100644 wmake/rules/linuxGcc42/c++Opt delete mode 100644 wmake/rules/linuxGcc42/c++Prof delete mode 100644 wmake/rules/linuxGcc42/cDebug delete mode 100644 wmake/rules/linuxGcc42/cOpt delete mode 100644 wmake/rules/linuxGcc42/cProf delete mode 100644 wmake/rules/linuxGcc42/general delete mode 100644 wmake/rules/linuxGcc42/mplib delete mode 100644 wmake/rules/linuxGcc42/mplibGAMMA delete mode 100644 wmake/rules/linuxGcc42/mplibHPMPI delete mode 100644 wmake/rules/linuxGcc42/mplibMPICH delete mode 100644 wmake/rules/linuxGcc42/mplibMPICH-GM delete mode 120000 wmake/rules/linuxGcc42/mplibSYSTEMOPENMPI mode change 100644 => 120000 wmake/rules/linuxGcc43/X mode change 100644 => 120000 wmake/rules/linuxGcc43/mplib mode change 100644 => 120000 wmake/rules/linuxGcc43/mplibGAMMA mode change 100644 => 120000 wmake/rules/linuxGcc43/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxGcc43/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linuxGcc43/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linuxGcc44/X mode change 100644 => 120000 wmake/rules/linuxGcc44/mplib mode change 100644 => 120000 wmake/rules/linuxGcc44/mplibGAMMA mode change 100644 => 120000 wmake/rules/linuxGcc44/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxGcc44/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linuxGcc44/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linuxIA64Gcc/mplib mode change 100644 => 120000 wmake/rules/linuxIA64Gcc/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxIA64Gcc/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linuxIA64Icc/mplib mode change 100644 => 120000 wmake/rules/linuxIA64Icc/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxIA64Icc/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linuxIcc/X mode change 100644 => 120000 wmake/rules/linuxIcc/mplib mode change 100644 => 120000 wmake/rules/linuxIcc/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxIcc/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linuxPPC64Gcc/mplib mode change 100644 => 120000 wmake/rules/linuxPPC64Gcc/mplibGAMMA mode change 100644 => 120000 wmake/rules/linuxPPC64Gcc/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxPPC64Gcc/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linuxPPC64Gcc/mplibOPENMPI mode change 100644 => 120000 wmake/rules/linuxPPC64Gcc/mplibQSMPI mode change 100644 => 120000 wmake/rules/linuxmingw32/mplib mode change 100644 => 120000 wmake/rules/linuxmingw32/mplibGAMMA mode change 100644 => 120000 wmake/rules/linuxmingw32/mplibMPICH mode change 100644 => 120000 wmake/rules/linuxmingw32/mplibMPICH-GM mode change 100644 => 120000 wmake/rules/linuxmingw32/mplibOPENMPI mode change 100644 => 120000 wmake/rules/solarisGcc/mplib mode change 100644 => 120000 wmake/rules/solarisGcc/mplibOPENMPI diff --git a/wmake/rules/General/X b/wmake/rules/General/X new file mode 100644 index 0000000000..f55fa8b32c --- /dev/null +++ b/wmake/rules/General/X @@ -0,0 +1,5 @@ +# X11 includes and libraries in the standard location +# +XFLAGS = +XINC = $(XFLAGS) -I/usr/include/X11 +XLIBS = -lXext -lX11 diff --git a/wmake/rules/General/flex b/wmake/rules/General/flex index 06defbb03d..7f726b34c4 100644 --- a/wmake/rules/General/flex +++ b/wmake/rules/General/flex @@ -1,6 +1,6 @@ .SUFFIXES: .l -ltoo = flex $$SOURCE ; mv lex.yy.c $*.c ; $(cc) $(cFLAGS) -c $*.c -o $@ +ltoo = flex -o $*.c $$SOURCE ; $(cc) $(cFLAGS) -c $*.c -o $@ .l.dep: $(MAKE_DEP) diff --git a/wmake/rules/General/flex++ b/wmake/rules/General/flex++ index 304b131c6d..7e7142aa53 100644 --- a/wmake/rules/General/flex++ +++ b/wmake/rules/General/flex++ @@ -1,6 +1,6 @@ .SUFFIXES: .L -Ltoo = flex -+ -f $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ +Ltoo = flex -+ -o $*.C -f $$SOURCE ; $(CC) $(c++FLAGS) -c $*.C -o $@ .L.dep: $(MAKE_DEP) diff --git a/wmake/rules/General/flex++.test b/wmake/rules/General/flex++.test deleted file mode 100644 index 8503e57905..0000000000 --- a/wmake/rules/General/flex++.test +++ /dev/null @@ -1,6 +0,0 @@ -.SUFFIXES: .L - -Ltoo = flex++ $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ - -.L.dep: - $(MAKE_DEP) diff --git a/wmake/rules/linux64Gcc42/mplib b/wmake/rules/General/mplib similarity index 100% rename from wmake/rules/linux64Gcc42/mplib rename to wmake/rules/General/mplib diff --git a/wmake/rules/linux64Gcc42/mplibGAMMA b/wmake/rules/General/mplibGAMMA similarity index 100% rename from wmake/rules/linux64Gcc42/mplibGAMMA rename to wmake/rules/General/mplibGAMMA diff --git a/wmake/rules/General/mplibMPICH b/wmake/rules/General/mplibMPICH index ac17f7c1d2..e5a38a8e38 100644 --- a/wmake/rules/General/mplibMPICH +++ b/wmake/rules/General/mplibMPICH @@ -1,3 +1,3 @@ -PFLAGS = +PFLAGS = -DMPICH_SKIP_MPICXX PINC = -I$(MPI_ARCH_PATH)/include PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linux64Gcc42/mplibMPICH-GM b/wmake/rules/General/mplibMPICH-GM similarity index 100% rename from wmake/rules/linux64Gcc42/mplibMPICH-GM rename to wmake/rules/General/mplibMPICH-GM diff --git a/wmake/rules/linuxGcc42/mplibOPENMPI b/wmake/rules/General/mplibQSMPI similarity index 71% rename from wmake/rules/linuxGcc42/mplibOPENMPI rename to wmake/rules/General/mplibQSMPI index 834d2d3e22..95ea327379 100644 --- a/wmake/rules/linuxGcc42/mplibOPENMPI +++ b/wmake/rules/General/mplibQSMPI @@ -1,3 +1,4 @@ -PFLAGS = -DOMPI_SKIP_MPICXX +PFLAGS = PINC = -I$(MPI_ARCH_PATH)/include PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi + diff --git a/wmake/rules/SiCortex64Gcc/flex++ b/wmake/rules/SiCortex64Gcc/flex++ index d745628aab..69d6f37319 100644 --- a/wmake/rules/SiCortex64Gcc/flex++ +++ b/wmake/rules/SiCortex64Gcc/flex++ @@ -1,6 +1,6 @@ .SUFFIXES: .L -Ltoo = flex --c++ -f $$SOURCE ; mv lex.yy.cc $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ +Ltoo = flex --c++ -o $*.C -f $$SOURCE ; $(CC) $(c++FLAGS) -c $*.C -o $@ .L.dep: $(MAKE_DEP) diff --git a/wmake/rules/SiCortex64Gcc/mplib b/wmake/rules/SiCortex64Gcc/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/SiCortex64Gcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/SiCortex64Gcc/mplib b/wmake/rules/SiCortex64Gcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/SiCortex64Gcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/SunOS64Gcc/mplib b/wmake/rules/SunOS64Gcc/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/SunOS64Gcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/SunOS64Gcc/mplib b/wmake/rules/SunOS64Gcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/SunOS64Gcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/SunOS64Gcc/mplibOPENMPI b/wmake/rules/SunOS64Gcc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/SunOS64Gcc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/SunOS64Gcc/mplibOPENMPI b/wmake/rules/SunOS64Gcc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/SunOS64Gcc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linux64Gcc/X b/wmake/rules/linux64Gcc/X deleted file mode 100644 index 47480abd22..0000000000 --- a/wmake/rules/linux64Gcc/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/include/X11 -XLIBS = -L/usr/lib64 -lXext -lX11 diff --git a/wmake/rules/linux64Gcc/X b/wmake/rules/linux64Gcc/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linux64Gcc/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linux64Gcc/mplib b/wmake/rules/linux64Gcc/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/linux64Gcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linux64Gcc/mplib b/wmake/rules/linux64Gcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linux64Gcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linux64Gcc/mplibGAMMA b/wmake/rules/linux64Gcc/mplibGAMMA deleted file mode 100644 index 11606f2984..0000000000 --- a/wmake/rules/linux64Gcc/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linux64Gcc/mplibGAMMA b/wmake/rules/linux64Gcc/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linux64Gcc/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linux64Gcc/mplibMPICH b/wmake/rules/linux64Gcc/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linux64Gcc/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linux64Gcc/mplibMPICH b/wmake/rules/linux64Gcc/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linux64Gcc/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linux64Gcc/mplibMPICH-GM b/wmake/rules/linux64Gcc/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linux64Gcc/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linux64Gcc/mplibMPICH-GM b/wmake/rules/linux64Gcc/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linux64Gcc/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linux64Gcc/mplibOPENMPI b/wmake/rules/linux64Gcc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linux64Gcc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linux64Gcc/mplibOPENMPI b/wmake/rules/linux64Gcc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linux64Gcc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linux64Gcc/mplibQSMPI b/wmake/rules/linux64Gcc/mplibQSMPI deleted file mode 100644 index 95ea327379..0000000000 --- a/wmake/rules/linux64Gcc/mplibQSMPI +++ /dev/null @@ -1,4 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi - diff --git a/wmake/rules/linux64Gcc/mplibQSMPI b/wmake/rules/linux64Gcc/mplibQSMPI new file mode 120000 index 0000000000..d3446c68f1 --- /dev/null +++ b/wmake/rules/linux64Gcc/mplibQSMPI @@ -0,0 +1 @@ +../General/mplibQSMPI \ No newline at end of file diff --git a/wmake/rules/linux64Gcc42/X b/wmake/rules/linux64Gcc42/X deleted file mode 100644 index 5d1f9c5cc5..0000000000 --- a/wmake/rules/linux64Gcc42/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib64 -lXext -lX11 diff --git a/wmake/rules/linux64Gcc42/c b/wmake/rules/linux64Gcc42/c deleted file mode 100644 index 80bb80f32f..0000000000 --- a/wmake/rules/linux64Gcc42/c +++ /dev/null @@ -1,16 +0,0 @@ -.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 diff --git a/wmake/rules/linux64Gcc42/c++ b/wmake/rules/linux64Gcc42/c++ deleted file mode 100644 index 677b1e5bb4..0000000000 --- a/wmake/rules/linux64Gcc42/c++ +++ /dev/null @@ -1,21 +0,0 @@ -.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-60 - -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) diff --git a/wmake/rules/linux64Gcc42/c++Debug b/wmake/rules/linux64Gcc42/c++Debug deleted file mode 100644 index 19bdb9c334..0000000000 --- a/wmake/rules/linux64Gcc42/c++Debug +++ /dev/null @@ -1,2 +0,0 @@ -c++DBUG = -ggdb3 -DFULLDEBUG -c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linux64Gcc42/c++Opt b/wmake/rules/linux64Gcc42/c++Opt deleted file mode 100644 index 3446f7f58c..0000000000 --- a/wmake/rules/linux64Gcc42/c++Opt +++ /dev/null @@ -1,4 +0,0 @@ -c++DBUG = -c++OPT = -O3 -#c++OPT = -march=nocona -O3 -# -ftree-vectorize -ftree-vectorizer-verbose=3 diff --git a/wmake/rules/linux64Gcc42/c++Prof b/wmake/rules/linux64Gcc42/c++Prof deleted file mode 100644 index 3bda4dad55..0000000000 --- a/wmake/rules/linux64Gcc42/c++Prof +++ /dev/null @@ -1,2 +0,0 @@ -c++DBUG = -pg -c++OPT = -O2 diff --git a/wmake/rules/linux64Gcc42/cDebug b/wmake/rules/linux64Gcc42/cDebug deleted file mode 100644 index 72b638f458..0000000000 --- a/wmake/rules/linux64Gcc42/cDebug +++ /dev/null @@ -1,2 +0,0 @@ -cDBUG = -ggdb -DFULLDEBUG -cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linux64Gcc42/cOpt b/wmake/rules/linux64Gcc42/cOpt deleted file mode 100644 index 17318709f1..0000000000 --- a/wmake/rules/linux64Gcc42/cOpt +++ /dev/null @@ -1,2 +0,0 @@ -cDBUG = -cOPT = -O3 diff --git a/wmake/rules/linux64Gcc42/cProf b/wmake/rules/linux64Gcc42/cProf deleted file mode 100644 index ca3ac9bf5f..0000000000 --- a/wmake/rules/linux64Gcc42/cProf +++ /dev/null @@ -1,2 +0,0 @@ -cDBUG = -pg -cOPT = -O2 diff --git a/wmake/rules/linux64Gcc42/general b/wmake/rules/linux64Gcc42/general deleted file mode 100644 index d70a77cdb0..0000000000 --- a/wmake/rules/linux64Gcc42/general +++ /dev/null @@ -1,10 +0,0 @@ -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++ diff --git a/wmake/rules/linux64Gcc42/mplibHPMPI b/wmake/rules/linux64Gcc42/mplibHPMPI deleted file mode 100644 index 574492a236..0000000000 --- a/wmake/rules/linux64Gcc42/mplibHPMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H -PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi diff --git a/wmake/rules/linux64Gcc42/mplibMPICH b/wmake/rules/linux64Gcc42/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linux64Gcc42/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linux64Gcc42/mplibOPENMPI b/wmake/rules/linux64Gcc42/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linux64Gcc42/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linux64Gcc42/mplibSYSTEMOPENMPI b/wmake/rules/linux64Gcc42/mplibSYSTEMOPENMPI deleted file mode 120000 index cc63a574c3..0000000000 --- a/wmake/rules/linux64Gcc42/mplibSYSTEMOPENMPI +++ /dev/null @@ -1 +0,0 @@ -../General/mplibSYSTEMOPENMPI \ No newline at end of file diff --git a/wmake/rules/linux64Gcc43/X b/wmake/rules/linux64Gcc43/X deleted file mode 100644 index 5d1f9c5cc5..0000000000 --- a/wmake/rules/linux64Gcc43/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib64 -lXext -lX11 diff --git a/wmake/rules/linux64Gcc43/X b/wmake/rules/linux64Gcc43/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linux64Gcc43/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linux64Gcc43/mplib b/wmake/rules/linux64Gcc43/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/linux64Gcc43/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linux64Gcc43/mplib b/wmake/rules/linux64Gcc43/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linux64Gcc43/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linux64Gcc43/mplibGAMMA b/wmake/rules/linux64Gcc43/mplibGAMMA deleted file mode 100644 index 11606f2984..0000000000 --- a/wmake/rules/linux64Gcc43/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linux64Gcc43/mplibGAMMA b/wmake/rules/linux64Gcc43/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linux64Gcc43/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linux64Gcc43/mplibMPICH b/wmake/rules/linux64Gcc43/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linux64Gcc43/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linux64Gcc43/mplibMPICH b/wmake/rules/linux64Gcc43/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linux64Gcc43/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linux64Gcc43/mplibMPICH-GM b/wmake/rules/linux64Gcc43/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linux64Gcc43/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linux64Gcc43/mplibMPICH-GM b/wmake/rules/linux64Gcc43/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linux64Gcc43/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linux64Gcc43/mplibOPENMPI b/wmake/rules/linux64Gcc43/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linux64Gcc43/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linux64Gcc43/mplibOPENMPI b/wmake/rules/linux64Gcc43/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linux64Gcc43/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linux64Gcc43/mplibQSMPI b/wmake/rules/linux64Gcc43/mplibQSMPI deleted file mode 100644 index 95ea327379..0000000000 --- a/wmake/rules/linux64Gcc43/mplibQSMPI +++ /dev/null @@ -1,4 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi - diff --git a/wmake/rules/linux64Gcc43/mplibQSMPI b/wmake/rules/linux64Gcc43/mplibQSMPI new file mode 120000 index 0000000000..d3446c68f1 --- /dev/null +++ b/wmake/rules/linux64Gcc43/mplibQSMPI @@ -0,0 +1 @@ +../General/mplibQSMPI \ No newline at end of file diff --git a/wmake/rules/linux64Gcc44/X b/wmake/rules/linux64Gcc44/X deleted file mode 100644 index 5d1f9c5cc5..0000000000 --- a/wmake/rules/linux64Gcc44/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib64 -lXext -lX11 diff --git a/wmake/rules/linux64Gcc44/X b/wmake/rules/linux64Gcc44/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linux64Gcc44/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linux64Gcc44/mplib b/wmake/rules/linux64Gcc44/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/linux64Gcc44/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linux64Gcc44/mplib b/wmake/rules/linux64Gcc44/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linux64Gcc44/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linux64Gcc44/mplibGAMMA b/wmake/rules/linux64Gcc44/mplibGAMMA deleted file mode 100644 index 11606f2984..0000000000 --- a/wmake/rules/linux64Gcc44/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linux64Gcc44/mplibGAMMA b/wmake/rules/linux64Gcc44/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linux64Gcc44/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linux64Gcc44/mplibMPICH b/wmake/rules/linux64Gcc44/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linux64Gcc44/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linux64Gcc44/mplibMPICH b/wmake/rules/linux64Gcc44/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linux64Gcc44/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linux64Gcc44/mplibMPICH-GM b/wmake/rules/linux64Gcc44/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linux64Gcc44/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linux64Gcc44/mplibMPICH-GM b/wmake/rules/linux64Gcc44/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linux64Gcc44/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linux64Gcc44/mplibOPENMPI b/wmake/rules/linux64Gcc44/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linux64Gcc44/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linux64Gcc44/mplibOPENMPI b/wmake/rules/linux64Gcc44/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linux64Gcc44/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linux64Gcc44/mplibQSMPI b/wmake/rules/linux64Gcc44/mplibQSMPI deleted file mode 100644 index 95ea327379..0000000000 --- a/wmake/rules/linux64Gcc44/mplibQSMPI +++ /dev/null @@ -1,4 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi - diff --git a/wmake/rules/linux64Gcc44/mplibQSMPI b/wmake/rules/linux64Gcc44/mplibQSMPI new file mode 120000 index 0000000000..d3446c68f1 --- /dev/null +++ b/wmake/rules/linux64Gcc44/mplibQSMPI @@ -0,0 +1 @@ +../General/mplibQSMPI \ No newline at end of file diff --git a/wmake/rules/linux64Icc/X b/wmake/rules/linux64Icc/X deleted file mode 100644 index 5d1f9c5cc5..0000000000 --- a/wmake/rules/linux64Icc/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib64 -lXext -lX11 diff --git a/wmake/rules/linux64Icc/X b/wmake/rules/linux64Icc/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linux64Icc/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linux64Icc/mplib b/wmake/rules/linux64Icc/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/linux64Icc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linux64Icc/mplib b/wmake/rules/linux64Icc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linux64Icc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linux64Icc/mplibMPICH b/wmake/rules/linux64Icc/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linux64Icc/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linux64Icc/mplibMPICH b/wmake/rules/linux64Icc/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linux64Icc/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linux64Icc/mplibOPENMPI b/wmake/rules/linux64Icc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linux64Icc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linux64Icc/mplibOPENMPI b/wmake/rules/linux64Icc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linux64Icc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxGcc/X b/wmake/rules/linuxGcc/X deleted file mode 100644 index bed8bfeddf..0000000000 --- a/wmake/rules/linuxGcc/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib -lXext -lX11 diff --git a/wmake/rules/linuxGcc/X b/wmake/rules/linuxGcc/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linuxGcc/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linuxGcc/mplib b/wmake/rules/linuxGcc/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/linuxGcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxGcc/mplib b/wmake/rules/linuxGcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxGcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxGcc/mplibGAMMA b/wmake/rules/linuxGcc/mplibGAMMA deleted file mode 100644 index 11606f2984..0000000000 --- a/wmake/rules/linuxGcc/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linuxGcc/mplibGAMMA b/wmake/rules/linuxGcc/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linuxGcc/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linuxGcc/mplibMPICH b/wmake/rules/linuxGcc/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linuxGcc/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxGcc/mplibMPICH b/wmake/rules/linuxGcc/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxGcc/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxGcc/mplibMPICH-GM b/wmake/rules/linuxGcc/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linuxGcc/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linuxGcc/mplibMPICH-GM b/wmake/rules/linuxGcc/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linuxGcc/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linuxGcc/mplibOPENMPI b/wmake/rules/linuxGcc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxGcc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxGcc/mplibOPENMPI b/wmake/rules/linuxGcc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxGcc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxGcc42/X b/wmake/rules/linuxGcc42/X deleted file mode 100644 index bed8bfeddf..0000000000 --- a/wmake/rules/linuxGcc42/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib -lXext -lX11 diff --git a/wmake/rules/linuxGcc42/c b/wmake/rules/linuxGcc42/c deleted file mode 100644 index 8db5da1047..0000000000 --- a/wmake/rules/linuxGcc42/c +++ /dev/null @@ -1,16 +0,0 @@ -.SUFFIXES: .c .h - -cWARN = -Wall - -cc = gcc -m32 - -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 diff --git a/wmake/rules/linuxGcc42/c++ b/wmake/rules/linuxGcc42/c++ deleted file mode 100644 index 32d12ad9de..0000000000 --- a/wmake/rules/linuxGcc42/c++ +++ /dev/null @@ -1,21 +0,0 @@ -.SUFFIXES: .C .cxx .cc .cpp - -c++WARN = -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast - -CC = g++ -m32 - -include $(RULES)/c++$(WM_COMPILE_OPTION) - -ptFLAGS = -DNoRepository -ftemplate-depth-60 - -c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC -pthread - -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) diff --git a/wmake/rules/linuxGcc42/c++Debug b/wmake/rules/linuxGcc42/c++Debug deleted file mode 100644 index 19bdb9c334..0000000000 --- a/wmake/rules/linuxGcc42/c++Debug +++ /dev/null @@ -1,2 +0,0 @@ -c++DBUG = -ggdb3 -DFULLDEBUG -c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linuxGcc42/c++Opt b/wmake/rules/linuxGcc42/c++Opt deleted file mode 100644 index 2aedabd628..0000000000 --- a/wmake/rules/linuxGcc42/c++Opt +++ /dev/null @@ -1,2 +0,0 @@ -c++DBUG = -c++OPT = -O3 diff --git a/wmake/rules/linuxGcc42/c++Prof b/wmake/rules/linuxGcc42/c++Prof deleted file mode 100644 index 3bda4dad55..0000000000 --- a/wmake/rules/linuxGcc42/c++Prof +++ /dev/null @@ -1,2 +0,0 @@ -c++DBUG = -pg -c++OPT = -O2 diff --git a/wmake/rules/linuxGcc42/cDebug b/wmake/rules/linuxGcc42/cDebug deleted file mode 100644 index 6c71ed93e8..0000000000 --- a/wmake/rules/linuxGcc42/cDebug +++ /dev/null @@ -1,2 +0,0 @@ -cDBUG = -ggdb -DFULLDEBUG -cOPT = -O1 -finline-functions diff --git a/wmake/rules/linuxGcc42/cOpt b/wmake/rules/linuxGcc42/cOpt deleted file mode 100644 index 17318709f1..0000000000 --- a/wmake/rules/linuxGcc42/cOpt +++ /dev/null @@ -1,2 +0,0 @@ -cDBUG = -cOPT = -O3 diff --git a/wmake/rules/linuxGcc42/cProf b/wmake/rules/linuxGcc42/cProf deleted file mode 100644 index ca3ac9bf5f..0000000000 --- a/wmake/rules/linuxGcc42/cProf +++ /dev/null @@ -1,2 +0,0 @@ -cDBUG = -pg -cOPT = -O2 diff --git a/wmake/rules/linuxGcc42/general b/wmake/rules/linuxGcc42/general deleted file mode 100644 index c300368ee6..0000000000 --- a/wmake/rules/linuxGcc42/general +++ /dev/null @@ -1,10 +0,0 @@ -CPP = /lib/cpp $(GFLAGS) -LD = ld -melf_i386 - -PROJECT_LIBS = -l$(WM_PROJECT) -ldl - -include $(GENERAL_RULES)/standard - -include $(RULES)/X -include $(RULES)/c -include $(RULES)/c++ diff --git a/wmake/rules/linuxGcc42/mplib b/wmake/rules/linuxGcc42/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/linuxGcc42/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxGcc42/mplibGAMMA b/wmake/rules/linuxGcc42/mplibGAMMA deleted file mode 100644 index 11606f2984..0000000000 --- a/wmake/rules/linuxGcc42/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linuxGcc42/mplibHPMPI b/wmake/rules/linuxGcc42/mplibHPMPI deleted file mode 100644 index 8aff40632b..0000000000 --- a/wmake/rules/linuxGcc42/mplibHPMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H -PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi diff --git a/wmake/rules/linuxGcc42/mplibMPICH b/wmake/rules/linuxGcc42/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linuxGcc42/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxGcc42/mplibMPICH-GM b/wmake/rules/linuxGcc42/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linuxGcc42/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linuxGcc42/mplibSYSTEMOPENMPI b/wmake/rules/linuxGcc42/mplibSYSTEMOPENMPI deleted file mode 120000 index cc63a574c3..0000000000 --- a/wmake/rules/linuxGcc42/mplibSYSTEMOPENMPI +++ /dev/null @@ -1 +0,0 @@ -../General/mplibSYSTEMOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxGcc43/X b/wmake/rules/linuxGcc43/X deleted file mode 100644 index bed8bfeddf..0000000000 --- a/wmake/rules/linuxGcc43/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib -lXext -lX11 diff --git a/wmake/rules/linuxGcc43/X b/wmake/rules/linuxGcc43/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linuxGcc43/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linuxGcc43/mplib b/wmake/rules/linuxGcc43/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/linuxGcc43/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxGcc43/mplib b/wmake/rules/linuxGcc43/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxGcc43/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxGcc43/mplibGAMMA b/wmake/rules/linuxGcc43/mplibGAMMA deleted file mode 100644 index 11606f2984..0000000000 --- a/wmake/rules/linuxGcc43/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linuxGcc43/mplibGAMMA b/wmake/rules/linuxGcc43/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linuxGcc43/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linuxGcc43/mplibMPICH b/wmake/rules/linuxGcc43/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linuxGcc43/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxGcc43/mplibMPICH b/wmake/rules/linuxGcc43/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxGcc43/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxGcc43/mplibMPICH-GM b/wmake/rules/linuxGcc43/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linuxGcc43/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linuxGcc43/mplibMPICH-GM b/wmake/rules/linuxGcc43/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linuxGcc43/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linuxGcc43/mplibOPENMPI b/wmake/rules/linuxGcc43/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxGcc43/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxGcc43/mplibOPENMPI b/wmake/rules/linuxGcc43/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxGcc43/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxGcc44/X b/wmake/rules/linuxGcc44/X deleted file mode 100644 index bed8bfeddf..0000000000 --- a/wmake/rules/linuxGcc44/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib -lXext -lX11 diff --git a/wmake/rules/linuxGcc44/X b/wmake/rules/linuxGcc44/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linuxGcc44/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linuxGcc44/mplib b/wmake/rules/linuxGcc44/mplib deleted file mode 100644 index 294bd86150..0000000000 --- a/wmake/rules/linuxGcc44/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxGcc44/mplib b/wmake/rules/linuxGcc44/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxGcc44/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxGcc44/mplibGAMMA b/wmake/rules/linuxGcc44/mplibGAMMA deleted file mode 100644 index 11606f2984..0000000000 --- a/wmake/rules/linuxGcc44/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linuxGcc44/mplibGAMMA b/wmake/rules/linuxGcc44/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linuxGcc44/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linuxGcc44/mplibMPICH b/wmake/rules/linuxGcc44/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linuxGcc44/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxGcc44/mplibMPICH b/wmake/rules/linuxGcc44/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxGcc44/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxGcc44/mplibMPICH-GM b/wmake/rules/linuxGcc44/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linuxGcc44/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linuxGcc44/mplibMPICH-GM b/wmake/rules/linuxGcc44/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linuxGcc44/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linuxGcc44/mplibOPENMPI b/wmake/rules/linuxGcc44/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxGcc44/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxGcc44/mplibOPENMPI b/wmake/rules/linuxGcc44/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxGcc44/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxIA64Gcc/mplib b/wmake/rules/linuxIA64Gcc/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/linuxIA64Gcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxIA64Gcc/mplib b/wmake/rules/linuxIA64Gcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxIA64Gcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxIA64Gcc/mplibMPICH b/wmake/rules/linuxIA64Gcc/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linuxIA64Gcc/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxIA64Gcc/mplibMPICH b/wmake/rules/linuxIA64Gcc/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxIA64Gcc/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxIA64Gcc/mplibOPENMPI b/wmake/rules/linuxIA64Gcc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxIA64Gcc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxIA64Gcc/mplibOPENMPI b/wmake/rules/linuxIA64Gcc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxIA64Gcc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxIA64Icc/mplib b/wmake/rules/linuxIA64Icc/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/linuxIA64Icc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxIA64Icc/mplib b/wmake/rules/linuxIA64Icc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxIA64Icc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxIA64Icc/mplibMPICH b/wmake/rules/linuxIA64Icc/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linuxIA64Icc/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxIA64Icc/mplibMPICH b/wmake/rules/linuxIA64Icc/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxIA64Icc/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxIA64Icc/mplibOPENMPI b/wmake/rules/linuxIA64Icc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxIA64Icc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxIA64Icc/mplibOPENMPI b/wmake/rules/linuxIA64Icc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxIA64Icc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxIcc/X b/wmake/rules/linuxIcc/X deleted file mode 100644 index bed8bfeddf..0000000000 --- a/wmake/rules/linuxIcc/X +++ /dev/null @@ -1,3 +0,0 @@ -XFLAGS = -XINC = $(XFLAGS) -I/usr/X11R6/include -XLIBS = -L/usr/X11R6/lib -lXext -lX11 diff --git a/wmake/rules/linuxIcc/X b/wmake/rules/linuxIcc/X new file mode 120000 index 0000000000..73572d6c04 --- /dev/null +++ b/wmake/rules/linuxIcc/X @@ -0,0 +1 @@ +../General/X \ No newline at end of file diff --git a/wmake/rules/linuxIcc/mplib b/wmake/rules/linuxIcc/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/linuxIcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxIcc/mplib b/wmake/rules/linuxIcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxIcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxIcc/mplibMPICH b/wmake/rules/linuxIcc/mplibMPICH deleted file mode 100644 index e5a38a8e38..0000000000 --- a/wmake/rules/linuxIcc/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DMPICH_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxIcc/mplibMPICH b/wmake/rules/linuxIcc/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxIcc/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxIcc/mplibOPENMPI b/wmake/rules/linuxIcc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxIcc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxIcc/mplibOPENMPI b/wmake/rules/linuxIcc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxIcc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxPPC64Gcc/mplib b/wmake/rules/linuxPPC64Gcc/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/linuxPPC64Gcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxPPC64Gcc/mplib b/wmake/rules/linuxPPC64Gcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxPPC64Gcc/mplibGAMMA b/wmake/rules/linuxPPC64Gcc/mplibGAMMA deleted file mode 100644 index d62c6250ff..0000000000 --- a/wmake/rules/linuxPPC64Gcc/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linuxPPC64Gcc/mplibGAMMA b/wmake/rules/linuxPPC64Gcc/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linuxPPC64Gcc/mplibMPICH b/wmake/rules/linuxPPC64Gcc/mplibMPICH deleted file mode 100644 index ac17f7c1d2..0000000000 --- a/wmake/rules/linuxPPC64Gcc/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxPPC64Gcc/mplibMPICH b/wmake/rules/linuxPPC64Gcc/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM b/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM b/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linuxPPC64Gcc/mplibOPENMPI b/wmake/rules/linuxPPC64Gcc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxPPC64Gcc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxPPC64Gcc/mplibOPENMPI b/wmake/rules/linuxPPC64Gcc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/linuxPPC64Gcc/mplibQSMPI b/wmake/rules/linuxPPC64Gcc/mplibQSMPI deleted file mode 100644 index 95ea327379..0000000000 --- a/wmake/rules/linuxPPC64Gcc/mplibQSMPI +++ /dev/null @@ -1,4 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi - diff --git a/wmake/rules/linuxPPC64Gcc/mplibQSMPI b/wmake/rules/linuxPPC64Gcc/mplibQSMPI new file mode 120000 index 0000000000..d3446c68f1 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibQSMPI @@ -0,0 +1 @@ +../General/mplibQSMPI \ No newline at end of file diff --git a/wmake/rules/linuxmingw32/general b/wmake/rules/linuxmingw32/general index 6a37beabd4..bd79de9270 100644 --- a/wmake/rules/linuxmingw32/general +++ b/wmake/rules/linuxmingw32/general @@ -3,16 +3,9 @@ LD = mingw32-ld PROJECT_LIBS = -l$(WM_PROJECT) +include $(GENERAL_RULES)/standard + include $(RULES)/X - -include $(GENERAL_RULES)/sourceToDep - -include $(GENERAL_RULES)/flex -include $(GENERAL_RULES)/flex++ -include $(GENERAL_RULES)/byacc -include $(GENERAL_RULES)/btyacc++ -include $(GENERAL_RULES)/moc - include $(RULES)/c include $(RULES)/c++ diff --git a/wmake/rules/linuxmingw32/mplib b/wmake/rules/linuxmingw32/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/linuxmingw32/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/linuxmingw32/mplib b/wmake/rules/linuxmingw32/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/linuxmingw32/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/linuxmingw32/mplibGAMMA b/wmake/rules/linuxmingw32/mplibGAMMA deleted file mode 100644 index d62c6250ff..0000000000 --- a/wmake/rules/linuxmingw32/mplibGAMMA +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linuxmingw32/mplibGAMMA b/wmake/rules/linuxmingw32/mplibGAMMA new file mode 120000 index 0000000000..4b41692bf6 --- /dev/null +++ b/wmake/rules/linuxmingw32/mplibGAMMA @@ -0,0 +1 @@ +../General/mplibGAMMA \ No newline at end of file diff --git a/wmake/rules/linuxmingw32/mplibMPICH b/wmake/rules/linuxmingw32/mplibMPICH deleted file mode 100644 index ac17f7c1d2..0000000000 --- a/wmake/rules/linuxmingw32/mplibMPICH +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxmingw32/mplibMPICH b/wmake/rules/linuxmingw32/mplibMPICH new file mode 120000 index 0000000000..c83eb564e1 --- /dev/null +++ b/wmake/rules/linuxmingw32/mplibMPICH @@ -0,0 +1 @@ +../General/mplibMPICH \ No newline at end of file diff --git a/wmake/rules/linuxmingw32/mplibMPICH-GM b/wmake/rules/linuxmingw32/mplibMPICH-GM deleted file mode 100644 index 88493ebc70..0000000000 --- a/wmake/rules/linuxmingw32/mplibMPICH-GM +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linuxmingw32/mplibMPICH-GM b/wmake/rules/linuxmingw32/mplibMPICH-GM new file mode 120000 index 0000000000..621d0857d3 --- /dev/null +++ b/wmake/rules/linuxmingw32/mplibMPICH-GM @@ -0,0 +1 @@ +../General/mplibMPICH-GM \ No newline at end of file diff --git a/wmake/rules/linuxmingw32/mplibOPENMPI b/wmake/rules/linuxmingw32/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/linuxmingw32/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxmingw32/mplibOPENMPI b/wmake/rules/linuxmingw32/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/linuxmingw32/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/rules/solarisGcc/mplib b/wmake/rules/solarisGcc/mplib deleted file mode 100644 index 8a84b40146..0000000000 --- a/wmake/rules/solarisGcc/mplib +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -PINC = -PLIBS = diff --git a/wmake/rules/solarisGcc/mplib b/wmake/rules/solarisGcc/mplib new file mode 120000 index 0000000000..1fa0d64ec8 --- /dev/null +++ b/wmake/rules/solarisGcc/mplib @@ -0,0 +1 @@ +../General/mplib \ No newline at end of file diff --git a/wmake/rules/solarisGcc/mplibMPICH b/wmake/rules/solarisGcc/mplibMPICH index cd9ff0e478..c4ef548d9a 100644 --- a/wmake/rules/solarisGcc/mplibMPICH +++ b/wmake/rules/solarisGcc/mplibMPICH @@ -1,3 +1,3 @@ -PFLAGS = +PFLAGS = -DMPICH_SKIP_MPICXX PINC = -I$(MPI_ARCH_PATH)/include PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt -laio diff --git a/wmake/rules/solarisGcc/mplibOPENMPI b/wmake/rules/solarisGcc/mplibOPENMPI deleted file mode 100644 index 834d2d3e22..0000000000 --- a/wmake/rules/solarisGcc/mplibOPENMPI +++ /dev/null @@ -1,3 +0,0 @@ -PFLAGS = -DOMPI_SKIP_MPICXX -PINC = -I$(MPI_ARCH_PATH)/include -PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/solarisGcc/mplibOPENMPI b/wmake/rules/solarisGcc/mplibOPENMPI new file mode 120000 index 0000000000..2d938a16a6 --- /dev/null +++ b/wmake/rules/solarisGcc/mplibOPENMPI @@ -0,0 +1 @@ +../General/mplibOPENMPI \ No newline at end of file diff --git a/wmake/scripts/makeDerivedFiles b/wmake/scripts/makeDerivedFiles index 96377d6832..9d574fe0f9 100755 --- a/wmake/scripts/makeDerivedFiles +++ b/wmake/scripts/makeDerivedFiles @@ -28,7 +28,7 @@ # # Description # Constructs all the file list for make given the source file list, -# written was by hand or using makeFilesAndOptions. +# written by hand or using makeFilesAndOptions. # #------------------------------------------------------------------------------ diff --git a/wmake/scripts/makeFiles b/wmake/scripts/makeFiles index 8416970039..14c0921515 100755 --- a/wmake/scripts/makeFiles +++ b/wmake/scripts/makeFiles @@ -35,41 +35,38 @@ if [ -r Make/files ] then - echo "makeFiles: Make/files already exists, exiting" + echo "Error: Make/files already exists - exiting" exit 1 fi -bin=$WM_DIR/bin/$WM_ARCH$WM_COMPILER +dirToString=$WM_DIR/bin/$WM_ARCH$WM_COMPILER/dirToString [ -d Make ] || mkdir Make rm -f Make/files -dirs=`find . -name "*" -type d -print` - -for dir in $dirs +for dir in `find . -type d -print` do - if [ $dir != . ] - then + case "$dir" in + . | ./Make | ./lnInclude ) + # skip special directories + ;; + *) baseDir=`echo $dir | sed 's%^\./%%'` - baseDirName=`echo $baseDir | $bin/dirToString` + baseDirName=`echo $baseDir | $dirToString` - if [ $baseDirName != Make ] - then - echo $baseDirName " = " $baseDir >> Make/files - fi - fi + echo $baseDirName " = " $baseDir >> Make/files + ;; + esac done echo >> Make/files -files=`find . -name "*.[cCylfF]" -type f -print` - -for file in $files +for file in `find . -name "*.[cCylLfF]" -type f -print` do - pathName=`echo ${file%/*} | sed 's%^\.%%' | sed 's%^/%%' | $bin/dirToString` fileName=`echo ${file##*/}` + pathName=`echo ${file%/*} | sed 's%^\.%%' | sed 's%^/%%' | $dirToString` - if [ "$pathName" != "" ] + if [ -n "$pathName" ] then echo '$('$pathName')/'$fileName >> Make/files else diff --git a/wmake/scripts/makeOptions b/wmake/scripts/makeOptions index 609a447ba0..4d813840e0 100755 --- a/wmake/scripts/makeOptions +++ b/wmake/scripts/makeOptions @@ -27,7 +27,7 @@ # makeOptions # # Description -# Scan the current directory for options and construct Make/options +# Construct Make/options # # Usage : makeOptions # @@ -35,8 +35,8 @@ if [ -r Make/options ] then - echo "makeOptions: Make/options already exists, exiting" - exit 1 + echo "Error: Make/options already exists - exiting" + exit 1 fi [ -d Make ] || mkdir Make From d981028d3540275a05f7a6ade86c80a1ca7403a6 Mon Sep 17 00:00:00 2001 From: mattijs Date: Fri, 26 Mar 2010 13:35:42 +0000 Subject: [PATCH 013/128] STYLE: Added to header --- .../manipulation/splitMeshRegions/splitMeshRegions.C | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C index 7b9d5ea8ce..07a3b84426 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C @@ -22,6 +22,9 @@ License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +Application + splitMeshRegions + Description Splits mesh into multiple regions. @@ -32,6 +35,7 @@ Description - any face inbetween differing cellZones (-cellZones) Output is: + - volScalarField with regions as different scalars (-detectOnly) or - mesh with multiple regions or - mesh with cells put into cellZones (-makeCellZones) @@ -47,7 +51,13 @@ Description - useCellZonesOnly does not do a walk and uses the cellZones only. Use this if you don't mind having disconnected domains in a single region. This option requires all cells to be in one (and one only) cellZone. - + - writes maps like decomposePar back to original mesh: + - pointRegionAddressing : for every point in this region the point in + the original mesh + - cellRegionAddressing : ,, cell ,, cell ,, + - faceRegionAddressing : ,, face ,, face in + the original mesh + 'turning index'. For a face in the same orientation + this is the original facelabel+1, for a turned face this is -facelabel-1 \*---------------------------------------------------------------------------*/ #include "SortableList.H" From d6c5d294b43936bf813f39b6447ebfc2a3be4fc5 Mon Sep 17 00:00:00 2001 From: mattijs Date: Fri, 26 Mar 2010 13:36:24 +0000 Subject: [PATCH 014/128] ENH: added patchID access function --- .../polyBoundaryMesh/polyBoundaryMesh.C | 53 ++++++++++++++----- .../polyBoundaryMesh/polyBoundaryMesh.H | 7 ++- 2 files changed, 46 insertions(+), 14 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C index 07bb357ff3..1820c43ef0 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C @@ -61,8 +61,7 @@ Foam::polyBoundaryMesh::polyBoundaryMesh : polyPatchList(), regIOobject(io), - mesh_(mesh), - neighbourEdgesPtr_(NULL) + mesh_(mesh) { if (readOpt() == IOobject::MUST_READ) { @@ -110,17 +109,14 @@ Foam::polyBoundaryMesh::polyBoundaryMesh : polyPatchList(size), regIOobject(io), - mesh_(pm), - neighbourEdgesPtr_(NULL) + mesh_(pm) {} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::polyBoundaryMesh::~polyBoundaryMesh() -{ - deleteDemandDrivenData(neighbourEdgesPtr_); -} +{} void Foam::polyBoundaryMesh::clearGeom() @@ -134,7 +130,8 @@ void Foam::polyBoundaryMesh::clearGeom() void Foam::polyBoundaryMesh::clearAddressing() { - deleteDemandDrivenData(neighbourEdgesPtr_); + neighbourEdgesPtr_.clear(); + patchIDPtr_.clear(); forAll (*this, patchi) { @@ -201,10 +198,10 @@ Foam::polyBoundaryMesh::neighbourEdges() const << " boundaries." << endl; } - if (!neighbourEdgesPtr_) + if (!neighbourEdgesPtr_.valid()) { - neighbourEdgesPtr_ = new List(size()); - List& neighbourEdges = *neighbourEdgesPtr_; + neighbourEdgesPtr_.reset(new List(size())); + List& neighbourEdges = neighbourEdgesPtr_(); // Initialize. label nEdgePairs = 0; @@ -320,7 +317,36 @@ Foam::polyBoundaryMesh::neighbourEdges() const } } - return *neighbourEdgesPtr_; + return neighbourEdgesPtr_(); +} + + +const Foam::labelList& Foam::polyBoundaryMesh::patchID() const +{ + if (!patchIDPtr_.valid()) + { + patchIDPtr_.reset + ( + new labelList + ( + mesh_.nFaces() + - mesh_.nInternalFaces() + ) + ); + labelList& patchID = patchIDPtr_(); + + const polyBoundaryMesh& bm = *this; + + forAll(bm, patchI) + { + label bFaceI = bm[patchI].start() - mesh_.nInternalFaces(); + forAll(bm[patchI], i) + { + patchID[bFaceI++] = patchI; + } + } + } + return patchIDPtr_(); } @@ -654,7 +680,8 @@ void Foam::polyBoundaryMesh::movePoints(const pointField& p) void Foam::polyBoundaryMesh::updateMesh() { - deleteDemandDrivenData(neighbourEdgesPtr_); + neighbourEdgesPtr_.clear(); + patchIDPtr_.clear(); PstreamBuffers pBufs(Pstream::defaultCommsType); diff --git a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H index fdea473ed3..76981ef2bc 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.H @@ -67,8 +67,10 @@ class polyBoundaryMesh //- Reference to mesh const polyMesh& mesh_; + mutable autoPtr patchIDPtr_; + //- Edges of neighbouring patches - mutable List* neighbourEdgesPtr_; + mutable autoPtr > neighbourEdgesPtr_; // Private Member Functions @@ -157,6 +159,9 @@ public: //- Return patch index for a given face label label whichPatch(const label faceIndex) const; + //- Per boundary face label the patch index + const labelList& patchID() const; + //- Return the set of patch IDs corresponding to the given list of names // Wild cards are expanded. labelHashSet patchSet(const wordList&) const; From df56a5b192cccbe3d9e5cb68529420cbb225d6ea Mon Sep 17 00:00:00 2001 From: mattijs Date: Fri, 26 Mar 2010 13:36:53 +0000 Subject: [PATCH 015/128] STYLE: corrected header. --- .../functionObjects/field/fieldValues/faceSource/faceSource.H | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H index 8ef65d870b..0d013cd7e3 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H +++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H @@ -29,9 +29,9 @@ Description Face source variant of field value function object. Values of user- specified fields reported for collections of faces. - cellObj1 // Name also used to identify output folder + faceObj1 // Name also used to identify output folder { - type cellSource; + type faceSource; functionObjectLibs ("libfieldValueFunctionObjects.so"); enabled true; outputControl outputTime; From 26a718ac456095f56892096929865de07b821b50 Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 26 Mar 2010 13:37:48 +0000 Subject: [PATCH 016/128] ENH: Further to commit 0c8fb634f0b - turbulence models developments - use of xxxMin_ values and code clean-up --- .../DeardorffDiffStress/DeardorffDiffStress.C | 4 +- .../LES/GenEddyVisc/GenEddyVisc.C | 4 +- .../compressible/LES/LESModel/LESModel.C | 12 ++++-- .../LES/SpalartAllmaras/SpalartAllmaras.C | 5 ++- .../LES/dynOneEqEddy/dynOneEqEddy.C | 7 ++-- .../LES/lowReOneEqEddy/lowReOneEqEddy.C | 5 ++- .../compressible/LES/oneEqEddy/oneEqEddy.C | 6 +-- .../compressible/RAS/LRR/LRR.C | 1 + .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 1 + .../RAS/LaunderSharmaKE/LaunderSharmaKE.C | 1 + .../compressible/RAS/RASModel/RASModel.C | 12 ++++-- .../RAS/RNGkEpsilon/RNGkEpsilon.C | 1 + .../compressible/RAS/kEpsilon/kEpsilon.C | 1 + .../compressible/RAS/kOmegaSST/kOmegaSST.C | 1 + .../DeardorffDiffStress/DeardorffDiffStress.C | 6 +-- .../incompressible/LES/LESModel/LESModel.C | 12 ++++-- .../LES/LRRDiffStress/LRRDiffStress.C | 11 ++++-- .../LES/SpalartAllmaras/SpalartAllmaras.C | 6 +-- .../SpalartAllmarasIDDES.C | 1 - .../LES/dynOneEqEddy/dynOneEqEddy.C | 8 ++-- .../LES/dynSmagorinsky/dynSmagorinsky.C | 3 ++ .../LES/kOmegaSSTSAS/kOmegaSSTSAS.C | 1 + .../LES/locDynOneEqEddy/locDynOneEqEddy.C | 8 ++-- .../incompressible/LES/oneEqEddy/oneEqEddy.C | 8 ++-- .../LES/spectEddyVisc/spectEddyVisc.C | 1 - .../incompressible/RAS/LRR/LRR.C | 1 + .../RAS/LamBremhorstKE/LamBremhorstKE.C | 1 + .../RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C | 1 + .../RAS/LaunderSharmaKE/LaunderSharmaKE.C | 1 + .../RAS/LienCubicKE/LienCubicKE.C | 15 ++++++-- .../RAS/LienCubicKELowRe/LienCubicKELowRe.C | 27 +++++++++----- .../LienLeschzinerLowRe/LienLeschzinerLowRe.C | 1 + .../RAS/NonlinearKEShih/NonlinearKEShih.C | 37 ++++++------------- .../incompressible/RAS/RASModel/RASModel.C | 10 +++-- .../RAS/RNGkEpsilon/RNGkEpsilon.C | 1 + .../incompressible/RAS/kEpsilon/kEpsilon.C | 1 + .../incompressible/RAS/kOmega/kOmega.C | 1 + .../incompressible/RAS/kOmegaSST/kOmegaSST.C | 1 + .../incompressible/RAS/qZeta/qZeta.C | 1 + 39 files changed, 140 insertions(+), 85 deletions(-) diff --git a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C index cff839b5e3..609fa986f1 100644 --- a/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C +++ b/src/turbulenceModels/compressible/LES/DeardorffDiffStress/DeardorffDiffStress.C @@ -106,7 +106,7 @@ void DeardorffDiffStress::correct(const tmp& tgradU) volScalarField K = 0.5*tr(B_); - solve + tmp BEqn ( fvm::ddt(rho(), B_) + fvm::div(phi(), B_) @@ -118,6 +118,8 @@ void DeardorffDiffStress::correct(const tmp& tgradU) - (2*ce_ - 0.667*cm_)*I*rho()*epsilon() ); + BEqn().relax(); + BEqn().solve(); // Bounding the component kinetic energies diff --git a/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C b/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C index 055c76214e..366808ad08 100644 --- a/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C +++ b/src/turbulenceModels/compressible/LES/GenEddyVisc/GenEddyVisc.C @@ -108,7 +108,9 @@ GenEddyVisc::GenEddyVisc ), mesh_ ) -{} +{ + bound(k_, kMin_); +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // diff --git a/src/turbulenceModels/compressible/LES/LESModel/LESModel.C b/src/turbulenceModels/compressible/LES/LESModel/LESModel.C index daeec0a05e..556ee0ca51 100644 --- a/src/turbulenceModels/compressible/LES/LESModel/LESModel.C +++ b/src/turbulenceModels/compressible/LES/LESModel/LESModel.C @@ -79,7 +79,7 @@ LESModel::LESModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - kMin_("kMin", dimVelocity*dimVelocity, SMALL), + kMin_("kMin", sqr(dimVelocity), SMALL), delta_(LESdelta::New("delta", U.mesh(), *this)) { @@ -131,8 +131,12 @@ autoPtr LESModel::New { FatalErrorIn ( - "LESModel::New(const volVectorField& U, const " - "surfaceScalarField& phi, const basicThermo&)" + "LESModel::New" + "(" + "const volVectorField&, " + "const surfaceScalarField&, " + "const basicThermo&" + ")" ) << "Unknown LESModel type " << modelName << endl << endl << "Valid LESModel types are :" << endl @@ -167,7 +171,7 @@ bool LESModel::read() coeffDict_ <<= *dictPtr; } - readIfPresent("kMin", kMin_); + kMin_.readIfPresent(*this); delta_().read(*this); diff --git a/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C b/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C index 22f688e7d5..b054f2eeba 100644 --- a/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C +++ b/src/turbulenceModels/compressible/LES/SpalartAllmaras/SpalartAllmaras.C @@ -302,7 +302,7 @@ void SpalartAllmaras::correct(const tmp& tgradU) volScalarField Stilda = fv3()*::sqrt(2.0)*mag(skew(gradU)) + fv2()*nuTilda_/sqr(kappa_*dTilda_); - solve + tmp nuTildaEqn ( fvm::ddt(rho(), nuTilda_) + fvm::div(phi(), nuTilda_) @@ -318,6 +318,9 @@ void SpalartAllmaras::correct(const tmp& tgradU) - fvm::Sp(rho()*Cw1_*fw(Stilda)*nuTilda_/sqr(dTilda_), nuTilda_) ); + nuTildaEqn().relax(); + nuTildaEqn().solve(); + bound(nuTilda_, dimensionedScalar("zero", nuTilda_.dimensions(), 0.0)); nuTilda_.correctBoundaryConditions(); diff --git a/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C b/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C index 68233e0f28..08587e11e9 100644 --- a/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C +++ b/src/turbulenceModels/compressible/LES/dynOneEqEddy/dynOneEqEddy.C @@ -118,7 +118,7 @@ void dynOneEqEddy::correct(const tmp& tgradU) volScalarField divU = fvc::div(phi()/fvc::interpolate(rho())); volScalarField G = 2*muSgs_*(gradU && D); - solve + tmp kEqn ( fvm::ddt(rho(), k_) + fvm::div(phi(), k_) @@ -129,9 +129,8 @@ void dynOneEqEddy::correct(const tmp& tgradU) - fvm::Sp(ce_(D)*rho()*sqrt(k_)/delta(), k_) ); - //FIXME: why not this? - // kEqn.relax(); - // kEqn.solve(); + kEqn().relax(); + kEqn().solve(); bound(k_, kMin_); diff --git a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C b/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C index 696e9b8ddf..4ab154f209 100644 --- a/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C +++ b/src/turbulenceModels/compressible/LES/lowReOneEqEddy/lowReOneEqEddy.C @@ -106,7 +106,7 @@ void lowReOneEqEddy::correct(const tmp& tgradU) volScalarField divU = fvc::div(phi()/fvc::interpolate(rho())); volScalarField G = 2*muSgs_*(gradU && dev(symm(gradU))); - solve + tmp kEqn ( fvm::ddt(rho(), k_) + fvm::div(phi(), k_) @@ -117,6 +117,9 @@ void lowReOneEqEddy::correct(const tmp& tgradU) - fvm::Sp(ce_*rho()*sqrt(k_)/delta(), k_) ); + kEqn().relax(); + kEqn().solve(); + bound(k_, kMin_); updateSubGridScaleFields(); diff --git a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C b/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C index dd032dad79..b2a01a7ac5 100644 --- a/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C +++ b/src/turbulenceModels/compressible/LES/oneEqEddy/oneEqEddy.C @@ -93,7 +93,7 @@ void oneEqEddy::correct(const tmp& tgradU) volScalarField divU = fvc::div(phi()/fvc::interpolate(rho())); volScalarField G = 2*muSgs_*(gradU && dev(symm(gradU))); - fvScalarMatrix kEqn + tmp kEqn ( fvm::ddt(rho(), k_) + fvm::div(phi(), k_) @@ -104,8 +104,8 @@ void oneEqEddy::correct(const tmp& tgradU) - fvm::Sp(ce_*rho()*sqrt(k_)/delta(), k_) ); - kEqn.relax(); - kEqn.solve(); + kEqn().relax(); + kEqn().solve(); bound(k_, kMin_); diff --git a/src/turbulenceModels/compressible/RAS/LRR/LRR.C b/src/turbulenceModels/compressible/RAS/LRR/LRR.C index 06e23ecc92..c567a4df2f 100644 --- a/src/turbulenceModels/compressible/RAS/LRR/LRR.C +++ b/src/turbulenceModels/compressible/RAS/LRR/LRR.C @@ -229,6 +229,7 @@ LRR::LRR << exit(FatalError); } + bound(k_, kMin_); bound(epsilon_, epsilonMin_); mut_ = Cmu_*rho_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C index e612cebecd..8f019890db 100644 --- a/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C +++ b/src/turbulenceModels/compressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C @@ -258,6 +258,7 @@ LaunderGibsonRSTM::LaunderGibsonRSTM << exit(FatalError); } + bound(k_, kMin_); bound(epsilon_, epsilonMin_); mut_ = Cmu_*rho_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C index 149ed0b289..93f30ec930 100644 --- a/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C +++ b/src/turbulenceModels/compressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C @@ -187,6 +187,7 @@ LaunderSharmaKE::LaunderSharmaKE autoCreateAlphat("alphat", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); mut_ = rho_*Cmu_*fMu()*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C index 5ac546d69c..2c35c3cec0 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C @@ -81,7 +81,7 @@ RASModel::RASModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - kMin_("kMin", dimVelocity*dimVelocity, SMALL), + kMin_("kMin", sqr(dimVelocity), SMALL), epsilonMin_("epsilonMin", kMin_.dimensions()/dimTime, SMALL), omegaMin_("omegaMin", dimless/dimTime, SMALL), @@ -133,9 +133,13 @@ autoPtr RASModel::New { FatalErrorIn ( - "RASModel::New(const volScalarField&, " - "const volVectorField&, const surfaceScalarField&, " - "basicThermo&)" + "RASModel::New" + "(" + "const volScalarField&, " + "const volVectorField&, " + "const surfaceScalarField&, " + "basicThermo&" + ")" ) << "Unknown RASModel type " << modelName << endl << endl << "Valid RASModel types are :" << endl diff --git a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C index fd3955a573..3159265c96 100644 --- a/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C +++ b/src/turbulenceModels/compressible/RAS/RNGkEpsilon/RNGkEpsilon.C @@ -186,6 +186,7 @@ RNGkEpsilon::RNGkEpsilon autoCreateAlphat("alphat", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); mut_ = Cmu_*rho_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C b/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C index 43e63367ce..973c802fd9 100644 --- a/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C +++ b/src/turbulenceModels/compressible/RAS/kEpsilon/kEpsilon.C @@ -168,6 +168,7 @@ kEpsilon::kEpsilon autoCreateAlphat("alphat", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); mut_ = Cmu_*rho_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C index 6f9da54c97..123de2099d 100644 --- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C @@ -258,6 +258,7 @@ kOmegaSST::kOmegaSST autoCreateAlphat("alphat", mesh_) ) { + bound(k_, kMin_); bound(omega_, omegaMin_); mut_ = diff --git a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C index a5a0c562a1..06b7beedfb 100644 --- a/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C +++ b/src/turbulenceModels/incompressible/LES/DeardorffDiffStress/DeardorffDiffStress.C @@ -102,7 +102,7 @@ void DeardorffDiffStress::correct(const tmp& tgradU) volScalarField K = 0.5*tr(B_); volScalarField Epsilon = 2*nuEff()*magSqr(D); - fvSymmTensorMatrix BEqn + tmp BEqn ( fvm::ddt(B_) + fvm::div(phi(), B_) @@ -114,8 +114,8 @@ void DeardorffDiffStress::correct(const tmp& tgradU) - (2*ce_ - 0.667*cm_)*I*Epsilon ); - BEqn.relax(); - BEqn.solve(); + BEqn().relax(); + BEqn().solve(); // Bounding the component kinetic energies diff --git a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C index d32fd1647a..34966eb22c 100644 --- a/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C +++ b/src/turbulenceModels/incompressible/LES/LESModel/LESModel.C @@ -78,7 +78,7 @@ LESModel::LESModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - kMin_("kMin", dimVelocity*dimVelocity, SMALL), + kMin_("kMin", sqr(dimVelocity), SMALL), delta_(LESdelta::New("delta", U.mesh(), *this)) { readIfPresent("kMin", kMin_); @@ -128,8 +128,12 @@ autoPtr LESModel::New { FatalErrorIn ( - "LESModel::New(const volVectorField& U, const " - "surfaceScalarField& phi, transportModel&)" + "LESModel::New" + "(" + "const volVectorField&, " + "const surfaceScalarField& ," + "transportModel&" + ")" ) << "Unknown LESModel type " << modelName << endl << endl << "Valid LESModel types are :" << endl @@ -167,7 +171,7 @@ bool LESModel::read() delta_().read(*this); - readIfPresent("kMin", kMin_); + kMin_.readIfPresent(*this); return true; } diff --git a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C b/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C index 10c0116b6a..5e31e281dc 100644 --- a/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C +++ b/src/turbulenceModels/incompressible/LES/LRRDiffStress/LRRDiffStress.C @@ -90,7 +90,10 @@ LRRDiffStress::LRRDiffStress ) ) { - updateSubGridScaleFields(0.5*tr(B_)); + volScalarField K = 0.5*tr(B_); + bound(K, kMin_); + + updateSubGridScaleFields(K); printCoeffs(); } @@ -111,7 +114,7 @@ void LRRDiffStress::correct(const tmp& tgradU) volScalarField K = 0.5*tr(B_); volScalarField Epsilon = 2*nuEff()*magSqr(D); - fvSymmTensorMatrix BEqn + tmp BEqn ( fvm::ddt(B_) + fvm::div(phi(), B_) @@ -124,8 +127,8 @@ void LRRDiffStress::correct(const tmp& tgradU) - (0.667 - 2*c1_)*I*pow(K, 1.5)/delta() ); - BEqn.relax(); - BEqn.solve(); + BEqn().relax(); + BEqn().solve(); // Bounding the component kinetic energies diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C b/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C index 0932bb524e..431656cc6f 100644 --- a/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C +++ b/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C @@ -295,7 +295,7 @@ void SpalartAllmaras::correct(const tmp& gradU) const volScalarField dTilda = this->dTilda(S); const volScalarField STilda = this->STilda(S, dTilda); - fvScalarMatrix nuTildaEqn + tmp nuTildaEqn ( fvm::ddt(nuTilda_) + fvm::div(phi(), nuTilda_) @@ -311,8 +311,8 @@ void SpalartAllmaras::correct(const tmp& gradU) - fvm::Sp(Cw1_*fw(STilda, dTilda)*nuTilda_/sqr(dTilda), nuTilda_) ); - nuTildaEqn.relax(); - nuTildaEqn.solve(); + nuTildaEqn().relax(); + nuTildaEqn().solve(); bound(nuTilda_, dimensionedScalar("zero", nuTilda_.dimensions(), 0.0)); nuTilda_.correctBoundaryConditions(); diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C b/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C index 22f9b638e2..48dac551fa 100644 --- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C +++ b/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C @@ -176,7 +176,6 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES 1.63 ) ) - {} diff --git a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C b/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C index 08f9c62fe7..ab77772835 100644 --- a/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C +++ b/src/turbulenceModels/incompressible/LES/dynOneEqEddy/dynOneEqEddy.C @@ -127,6 +127,8 @@ dynOneEqEddy::dynOneEqEddy filterPtr_(LESfilter::New(U.mesh(), coeffDict())), filter_(filterPtr_()) { + bound(k_, kMin_); + updateSubGridScaleFields(symm(fvc::grad(U))); printCoeffs(); @@ -145,7 +147,7 @@ void dynOneEqEddy::correct(const tmp& tgradU) volScalarField P = 2.0*nuSgs_*magSqr(D); - fvScalarMatrix kEqn + tmp kEqn ( fvm::ddt(k_) + fvm::div(phi(), k_) @@ -155,8 +157,8 @@ void dynOneEqEddy::correct(const tmp& tgradU) - fvm::Sp(ce(D)*sqrt(k_)/delta(), k_) ); - kEqn.relax(); - kEqn.solve(); + kEqn().relax(); + kEqn().solve(); bound(k_, kMin_); diff --git a/src/turbulenceModels/incompressible/LES/dynSmagorinsky/dynSmagorinsky.C b/src/turbulenceModels/incompressible/LES/dynSmagorinsky/dynSmagorinsky.C index fedd18ee7d..f2bf70721f 100644 --- a/src/turbulenceModels/incompressible/LES/dynSmagorinsky/dynSmagorinsky.C +++ b/src/turbulenceModels/incompressible/LES/dynSmagorinsky/dynSmagorinsky.C @@ -118,6 +118,8 @@ dynSmagorinsky::dynSmagorinsky filterPtr_(LESfilter::New(U.mesh(), coeffDict())), filter_(filterPtr_()) { + bound(k_, kMin_); + updateSubGridScaleFields(dev(symm(fvc::grad(U)))); printCoeffs(); @@ -133,6 +135,7 @@ void dynSmagorinsky::correct(const tmp& gradU) volSymmTensorField D = dev(symm(gradU)); k_ = cI(D)*sqr(delta())*magSqr(D); + bound(k_, kMin_); updateSubGridScaleFields(D); } diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C index 86cd8227d1..708c090351 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -323,6 +323,7 @@ kOmegaSSTSAS::kOmegaSSTSAS mesh_ ) { + bound(k_, kMin_); bound(omega_, omegaMin_); updateSubGridScaleFields(magSqr(symm(fvc::grad(U)))); diff --git a/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C b/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C index 3decb7080e..93db2120ed 100644 --- a/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C +++ b/src/turbulenceModels/incompressible/LES/locDynOneEqEddy/locDynOneEqEddy.C @@ -119,6 +119,8 @@ locDynOneEqEddy::locDynOneEqEddy filterPtr_(LESfilter::New(U.mesh(), coeffDict())), filter_(filterPtr_()) { + bound(k_, kMin_); + volScalarField KK = 0.5*(filter_(magSqr(U)) - magSqr(filter_(U))); updateSubGridScaleFields(symm(fvc::grad(U)), KK); @@ -139,7 +141,7 @@ void locDynOneEqEddy::correct(const tmp& gradU) volScalarField P = 2.0*nuSgs_*magSqr(D); - fvScalarMatrix kEqn + tmp kEqn ( fvm::ddt(k_) + fvm::div(phi(), k_) @@ -149,8 +151,8 @@ void locDynOneEqEddy::correct(const tmp& gradU) - fvm::Sp(ce(D, KK)*sqrt(k_)/delta(), k_) ); - kEqn.relax(); - kEqn.solve(); + kEqn().relax(); + kEqn().solve(); bound(k_, kMin_); diff --git a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C b/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C index 96188e59e4..89ad1892e3 100644 --- a/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C +++ b/src/turbulenceModels/incompressible/LES/oneEqEddy/oneEqEddy.C @@ -86,6 +86,8 @@ oneEqEddy::oneEqEddy ) ) { + bound(k_, kMin_); + updateSubGridScaleFields(); printCoeffs(); @@ -100,7 +102,7 @@ void oneEqEddy::correct(const tmp& gradU) volScalarField G = 2.0*nuSgs_*magSqr(symm(gradU)); - fvScalarMatrix kEqn + tmp kEqn ( fvm::ddt(k_) + fvm::div(phi(), k_) @@ -110,8 +112,8 @@ void oneEqEddy::correct(const tmp& gradU) - fvm::Sp(ce_*sqrt(k_)/delta(), k_) ); - kEqn.relax(); - kEqn.solve(); + kEqn().relax(); + kEqn().solve(); bound(k_, kMin_); diff --git a/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C b/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C index 4a16af3576..f6ab218082 100644 --- a/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C +++ b/src/turbulenceModels/incompressible/LES/spectEddyVisc/spectEddyVisc.C @@ -72,7 +72,6 @@ spectEddyVisc::spectEddyVisc LESModel(typeName, U, phi, transport), GenEddyVisc(U, phi, transport), - cB_ ( dimensioned::lookupOrAddToDict diff --git a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C b/src/turbulenceModels/incompressible/RAS/LRR/LRR.C index 037da5b430..ae79bb4389 100644 --- a/src/turbulenceModels/incompressible/RAS/LRR/LRR.C +++ b/src/turbulenceModels/incompressible/RAS/LRR/LRR.C @@ -198,6 +198,7 @@ LRR::LRR << exit(FatalError); } + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C b/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C index b6d20aea2d..5f036cff10 100644 --- a/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C +++ b/src/turbulenceModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C @@ -140,6 +140,7 @@ LamBremhorstKE::LamBremhorstKE autoCreateLowReNut("nut", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_*fMu_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C index 98001c6a68..41f6962224 100644 --- a/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C +++ b/src/turbulenceModels/incompressible/RAS/LaunderGibsonRSTM/LaunderGibsonRSTM.C @@ -224,6 +224,7 @@ LaunderGibsonRSTM::LaunderGibsonRSTM autoCreateNut("nut", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C index 6f840c57d3..e62cbf2578 100644 --- a/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C +++ b/src/turbulenceModels/incompressible/RAS/LaunderSharmaKE/LaunderSharmaKE.C @@ -146,6 +146,7 @@ LaunderSharmaKE::LaunderSharmaKE autoCreateLowReNut("nut", mesh_) ) { + bound(k_, kMin_); bound(epsilonTilda_, epsilonMin_); nut_ = Cmu_*fMu()*sqr(k_)/epsilonTilda_; diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C index f01805f115..d91f974fbe 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKE/LienCubicKE.C @@ -170,11 +170,17 @@ LienCubicKE::LienCubicKE autoCreateEpsilon("epsilon", mesh_) ), - //FIXME - epsilon is not bounded - gradU_(fvc::grad(U)), - eta_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T())))), - ksi_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T())))), + eta_ + ( + k_/(epsilon_ + epsilonMin_) + *sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))) + ), + ksi_ + ( + k_/(epsilon_ + epsilonMin_) + *sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))) + ), Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))), fEta_(A2_ + pow(eta_, 3.0)), @@ -228,6 +234,7 @@ LienCubicKE::LienCubicKE ) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_*sqr(k_)/epsilon_ + C5viscosity_; diff --git a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C index 8c7bbc7c7b..046f5a6fa1 100644 --- a/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C +++ b/src/turbulenceModels/incompressible/RAS/LienCubicKELowRe/LienCubicKELowRe.C @@ -220,14 +220,22 @@ LienCubicKELowRe::LienCubicKELowRe y_(mesh_), gradU_(fvc::grad(U)), - eta_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T())))), - ksi_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T())))), + eta_ + ( + k_/(epsilon_ + epsilonMin_) + *sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))) + ), + ksi_ + ( + k_/(epsilon_ + epsilonMin_) + *sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))) + ), Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))), - fEta_(A2_ + pow(eta_, 3.0)), + fEta_(A2_ + pow3(eta_)), C5viscosity_ ( - -2.0*pow(Cmu_, 3.0)*pow(k_, 4.0)/pow(epsilon_, 3.0) + -2.0*pow3(Cmu_)*pow4(k_)/pow3(epsilon_ + epsilonMin_) *(magSqr(gradU_ + gradU_.T()) - magSqr(gradU_ - gradU_.T())) ), @@ -252,7 +260,7 @@ LienCubicKELowRe::LienCubicKELowRe symm ( // quadratic terms - pow(k_, 3.0)/sqr(epsilon_) + pow3(k_)/sqr(epsilon_ + epsilonMin_) *( Ctau1_/fEta_ *( @@ -263,8 +271,8 @@ LienCubicKELowRe::LienCubicKELowRe + Ctau3_/fEta_*(gradU_.T() & gradU_) ) // cubic term C4 - - 20.0*pow(k_, 4.0)/pow(epsilon_, 3.0) - *pow(Cmu_, 3.0) + - 20.0*pow4(k_)/pow3(epsilon_ + epsilonMin_) + *pow3(Cmu_) *( ((gradU_ & gradU_) & gradU_.T()) + ((gradU_ & gradU_.T()) & gradU_.T()) @@ -280,6 +288,7 @@ LienCubicKELowRe::LienCubicKELowRe ) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_ @@ -430,8 +439,8 @@ void LienCubicKELowRe::correct() epsEqn().relax(); -# include "LienCubicKELowReSetWallDissipation.H" -# include "wallDissipationI.H" + #include "LienCubicKELowReSetWallDissipation.H" + #include "wallDissipationI.H" solve(epsEqn); bound(epsilon_, epsilonMin_); diff --git a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C b/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C index a2a807676d..72a455d945 100644 --- a/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C +++ b/src/turbulenceModels/incompressible/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C @@ -180,6 +180,7 @@ LienLeschzinerLowRe::LienLeschzinerLowRe autoCreateLowReNut("nut", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_*(scalar(1) - exp(-Am_*yStar_)) diff --git a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C index 01324af90a..c885d87f16 100644 --- a/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C +++ b/src/turbulenceModels/incompressible/RAS/NonlinearKEShih/NonlinearKEShih.C @@ -144,7 +144,6 @@ NonlinearKEShih::NonlinearKEShih ) ), - //FIXME: should be named 'kappa_' or 'kappa'? kappa_ ( dimensioned::lookupOrAddToDict @@ -175,7 +174,6 @@ NonlinearKEShih::NonlinearKEShih IOobject::AUTO_WRITE ), mesh_ - //FIXME: what about autoCreateK("k", mesh_) ), epsilon_ @@ -189,39 +187,30 @@ NonlinearKEShih::NonlinearKEShih IOobject::AUTO_WRITE ), mesh_ - //FIXME: what about autoCreateK("epsilon", mesh_) ), - //FIXME: epsilon is not bounded - gradU_(fvc::grad(U)), - eta_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T())))), - ksi_(k_/epsilon_*sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T())))), + eta_ + ( + k_/(epsilon_ + epsilonMin_) + *sqrt(2.0*magSqr(0.5*(gradU_ + gradU_.T()))) + ), + ksi_ + ( + k_/(epsilon_+ epsilonMin_) + *sqrt(2.0*magSqr(0.5*(gradU_ - gradU_.T()))) + ), Cmu_(2.0/(3.0*(A1_ + eta_ + alphaKsi_*ksi_))), fEta_(A2_ + pow(eta_, 3.0)), - // FIXME: epsilon is not bounded nut_("nut", Cmu_*sqr(k_)/(epsilon_ + epsilonMin_)), - // FIXME: why not use the following? - // nut_ - // ( - // IOobject - // ( - // "nut", - // runTime_.timeName(), - // mesh_, - // IOobject::NO_READ, - // IOobject::AUTO_WRITE - // ), - // autoCreateNut("nut", mesh_) - // ), nonlinearStress_ ( "nonlinearStress", symm ( - pow(k_, 3.0)/sqr(epsilon_) + pow3(k_)/sqr(epsilon_ + epsilonMin_) *( Ctau1_/fEta_ *( @@ -234,11 +223,9 @@ NonlinearKEShih::NonlinearKEShih ) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); - //FIXME: could use this - // nut_ = Cmu_*sqr(k_)/epsilon_; - #include "wallNonlinearViscosityI.H" printCoeffs(); diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C index f45c1ee0ff..c7d97e08e9 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C @@ -80,7 +80,7 @@ RASModel::RASModel printCoeffs_(lookupOrDefault("printCoeffs", false)), coeffDict_(subOrEmptyDict(type + "Coeffs")), - kMin_("kMin", dimVelocity*dimVelocity, SMALL), + kMin_("kMin", sqr(dimVelocity), SMALL), epsilonMin_("epsilonMin", kMin_.dimensions()/dimTime, SMALL), omegaMin_("omegaMin", dimless/dimTime, SMALL), @@ -131,8 +131,12 @@ autoPtr RASModel::New { FatalErrorIn ( - "RASModel::New(const volVectorField&, " - "const surfaceScalarField&, transportModel&)" + "RASModel::New" + "(" + "const volVectorField&, " + "const surfaceScalarField&, " + "transportModel&" + ")" ) << "Unknown RASModel type " << modelName << endl << endl << "Valid RASModel types are :" << endl diff --git a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C index 1591608717..6c8d874be3 100644 --- a/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C +++ b/src/turbulenceModels/incompressible/RAS/RNGkEpsilon/RNGkEpsilon.C @@ -155,6 +155,7 @@ RNGkEpsilon::RNGkEpsilon autoCreateNut("nut", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C b/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C index 8c41bf4d27..53f2e04149 100644 --- a/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C +++ b/src/turbulenceModels/incompressible/RAS/kEpsilon/kEpsilon.C @@ -128,6 +128,7 @@ kEpsilon::kEpsilon autoCreateNut("nut", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); nut_ = Cmu_*sqr(k_)/epsilon_; diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C index 04f505376b..77225d5ede 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C +++ b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C @@ -137,6 +137,7 @@ kOmega::kOmega autoCreateNut("nut", mesh_) ) { + bound(k_, kMin_); bound(omega_, omegaMin_); nut_ = k_/omega_; diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C index 4332fc3706..4d37b28752 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C @@ -236,6 +236,7 @@ kOmegaSST::kOmegaSST autoCreateNut("nut", mesh_) ) { + bound(k_, kMin_); bound(omega_, omegaMin_); nut_ = diff --git a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C b/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C index d72fd30f3e..422f8b1463 100644 --- a/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C +++ b/src/turbulenceModels/incompressible/RAS/qZeta/qZeta.C @@ -196,6 +196,7 @@ qZeta::qZeta autoCreateNut("nut", mesh_) ) { + bound(k_, kMin_); bound(epsilon_, epsilonMin_); bound(q_, qMin_); bound(zeta_, zetaMin_); From c521e80c9f6dc884d8ed041fb701fafff692774f Mon Sep 17 00:00:00 2001 From: mattijs Date: Fri, 26 Mar 2010 13:38:55 +0000 Subject: [PATCH 017/128] ENH: Added missing surfaceField types (surfaceVectorField, surfaceTensorField etc) --- .../decomposePar/decomposePar.C | 16 +++++++++++++ .../reconstructPar/reconstructPar.C | 24 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index 02d8005e92..afd3667f6e 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -334,6 +334,14 @@ int main(int argc, char *argv[]) // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PtrList surfaceScalarFields; readFields(mesh, objects, surfaceScalarFields); + PtrList surfaceVectorFields; + readFields(mesh, objects, surfaceVectorFields); + PtrList surfaceSphericalTensorFields; + readFields(mesh, objects, surfaceSphericalTensorFields); + PtrList surfaceSymmTensorFields; + readFields(mesh, objects, surfaceSymmTensorFields); + PtrList surfaceTensorFields; + readFields(mesh, objects, surfaceTensorFields); // Construct the point fields @@ -619,6 +627,10 @@ int main(int argc, char *argv[]) || volSymmTensorFields.size() || volTensorFields.size() || surfaceScalarFields.size() + || surfaceVectorFields.size() + || surfaceSphericalTensorFields.size() + || surfaceSymmTensorFields.size() + || surfaceTensorFields.size() ) { labelIOList faceProcAddressing @@ -650,6 +662,10 @@ int main(int argc, char *argv[]) fieldDecomposer.decomposeFields(volTensorFields); fieldDecomposer.decomposeFields(surfaceScalarFields); + fieldDecomposer.decomposeFields(surfaceVectorFields); + fieldDecomposer.decomposeFields(surfaceSphericalTensorFields); + fieldDecomposer.decomposeFields(surfaceSymmTensorFields); + fieldDecomposer.decomposeFields(surfaceTensorFields); } diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index d2dcd818ca..d40be34b0a 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -191,6 +191,10 @@ int main(int argc, char *argv[]) || objects.lookupClass(volSymmTensorField::typeName).size() || objects.lookupClass(volTensorField::typeName).size() || objects.lookupClass(surfaceScalarField::typeName).size() + || objects.lookupClass(surfaceVectorField::typeName).size() + || objects.lookupClass(surfaceSphericalTensorField::typeName).size() + || objects.lookupClass(surfaceSymmTensorField::typeName).size() + || objects.lookupClass(surfaceTensorField::typeName).size() ) { Info<< "Reconstructing FV fields" << nl << endl; @@ -235,6 +239,26 @@ int main(int argc, char *argv[]) objects, selectedFields ); + fvReconstructor.reconstructFvSurfaceFields + ( + objects, + selectedFields + ); + fvReconstructor.reconstructFvSurfaceFields + ( + objects, + selectedFields + ); + fvReconstructor.reconstructFvSurfaceFields + ( + objects, + selectedFields + ); + fvReconstructor.reconstructFvSurfaceFields + ( + objects, + selectedFields + ); } else { From d01adb74e30d85561a6f021e5b7162ad613e877a Mon Sep 17 00:00:00 2001 From: mattijs Date: Fri, 26 Mar 2010 13:39:51 +0000 Subject: [PATCH 018/128] ENH: Added tet volume check to checkMesh and snappyHexMesh --- .../snappyHexMesh/snappyHexMeshDict | 9 +- .../manipulation/checkMesh/checkGeometry.C | 19 ++ .../meshes/primitiveMesh/primitiveMesh.H | 9 +- .../primitiveMeshCheck/primitiveMeshCheck.C | 111 ++++++++- .../motionSmoother/motionSmootherCheck.C | 54 ++++- .../polyMeshGeometry/polyMeshGeometry.C | 212 ++++++++++++++++++ .../polyMeshGeometry/polyMeshGeometry.H | 37 +++ .../iglooWithFridges/system/snappyHexMeshDict | 9 +- .../system/snappyHexMeshDict | 9 +- .../motorBike/system/snappyHexMeshDict | 9 +- .../cavitatingBullet/system/snappyHexMeshDict | 9 +- 11 files changed, 469 insertions(+), 18 deletions(-) diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict index dab2d1d064..31a841b80f 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict @@ -327,14 +327,17 @@ meshQualityControls // Set to 180 to disable. maxConcave 80; - //- Minimum projected area v.s. actual area. Set to -1 to disable. - minFlatness 0.5; - //- Minimum pyramid volume. Is absolute volume of cell pyramid. // Set to a sensible fraction of the smallest cell volume expected. // Set to very negative number (e.g. -1E30) to disable. minVol 1e-13; + //- Minimum tet volume. Is absolute volume of the tet formed by the + // face-centre decomposition triangle and the cell centre. + // Set to a sensible fraction of the smallest cell volume expected. + // Set to very negative number (e.g. -1E30) to disable. + minTetVol 1e-20; + //- Minimum face area. Set to <0 to disable. minArea -1; diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C index 44ad601a02..e16d90bbbd 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C @@ -159,6 +159,25 @@ Foam::label Foam::checkGeometry(const polyMesh& mesh, const bool allGeometry) } } + { + faceSet faces(mesh, "wrongOrientedTriangleFaces", mesh.nFaces()/100 + 1); + if (mesh.checkFaceTets(true, 0, &faces)) + { + noFailedChecks++; + + label nFaces = returnReduce(faces.size(), sumOp