Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-2.0.0

This commit is contained in:
Henry
2011-06-14 22:13:59 +01:00
13 changed files with 210 additions and 180 deletions

View File

@ -9,18 +9,18 @@
* Overview * Overview
OpenFOAM-2.0.0 is the latest major release of OpenFOAM including many new OpenFOAM-2.0.0 is the latest major release of OpenFOAM including many new
developments a number of bug-fixes. This release passes our standard tests developments and a number of bug-fixes. This release passes our standard
and the tutorials have been broadly checked. Please report any bugs by tests and the tutorials have been broadly checked. Please report any bugs
following the link: http://www.openfoam.com/bugs. by following the link: http://www.openfoam.com/bugs.
* GNU/Linux version * GNU/Linux version
This release of OpenFOAM is distributed primarily in 2 ways: (1) as a Debian This release of OpenFOAM is distributed primarily in 2 ways: (1) as a Debian
pack containing binaries and source; (2) from the SourceForge source code pack containing binaries and source; (2) from the SourceForge source code
repository (see [[./README.org][README]]). repository (see [[./README.org][README]]).
The Ubuntu/Debian pack is available for 32 and 64 bit versions of the 10.04 The Ubuntu/Debian pack is available for 32 and 64 bit versions of the 10.10
LTS operating system using the system compiler and libraries that will be and 11.04 LTS operating system using the system compiler and libraries that
installed automatically from standard Debian packs. will be installed automatically from standard Debian packs.
To use the source version from the SourceForge repository, we provide a source To use the source version from the SourceForge repository, we provide a source
pack of third-party packages that can be compiled on the user's system. This pack of third-party packages that can be compiled on the user's system. This
@ -46,27 +46,71 @@
thermoType hPsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>>>; thermoType hPsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>>>;
mixture mixture
{
equationOfState
{ {
nMoles 1; nMoles 1;
molWeight 28.9; molWeight 28.9;
}
thermodynamics
{
Cp 1007; Cp 1007;
Hf 0; Hf 0;
}
transport
{
As 1.4792e-06; As 1.4792e-06;
Ts 116; Ts 116;
} }
}
#+END_SRC #+END_SRC
*** *Updated* particle tracking algorithm
+ uses non-blocking parallel transfers
+ does 'minimum-tet' decomposition of face to work with warped faces
(snappyHexMesh!)
+ reuses tracking state in interpolation - improves consistency and speed
*** Lagrangian intermediate library *** Lagrangian intermediate library
+ Extensively updated + Extensively updated
+ *Updated* input format + *Updated* input format
+ Extended to include steady cloud tracking + Extended to include steady cloud tracking
+ Semi-implicit treatment for particle sources
+ *New* collision modelling + *New* collision modelling
+ *Coupled* to new surface film modelling library + Particle forces overhauled
+ *New* Paramagnetic force
+ *New* Brownian-motion force
+ *New* sub-models + *New* sub-models
+ NonSphereDrag: drag model to account for non-spherical particles + nonSphereDrag: drag model to account for non-spherical particles
+ ParticleTracks: post-processing model to generate track data, typically
during steady calculations
+ *Updated* sub-models + *Updated* sub-models
+ Injection models: injection for injector nozzles
+ Devolatilisation models: now act on a per-specie basis + Devolatilisation models: now act on a per-specie basis
+ Cloud function objects
+ facePostProcessing: Particle/mesh face post-processing
+ particleTracks: post-processing model to generate track data, typically
during steady calculations
+ *Coupled* to new surface film modelling library
*** *New* Surface film library
+ Creation of films by particle addition, or initial film distribution
+ Coupled with the lagrangian/intermediate cloud hierarchy library
+ Hierarchical design, consisting of
+ kinematic film: mass, momentum
+ constant thermodynamic properties
+ thermodynamic film: mass, momentum and enthalpy
+ constant, or temperature dependant thermodynamic properties
+ Sub-models:
+ detachment/dripping whereby particles (re)enter the originating cloud
+ particle sizes set according to PDF
+ other properties set to ensure mass, momentum and energy conservation
+ forces
+ many pressure- and stress-based forces including, e.g. contact
angle force for rivulet flow
+ heat transfer to/from walls and film surface
+ film evaporation and boiling
+ Additional wall functions for primary region momentum and temperature
taking film into account
+ Coupling to *New* pyrolysis library
+ Parallel aware
*** *New* Pyrolysis library
+ ...
*** DSMC *** DSMC
*** Dynamic Mesh *** Dynamic Mesh
@ -88,23 +132,6 @@
+ temperature dependent properties + temperature dependent properties
+ temperature and direction (in local coordinate system) dependent + temperature and direction (in local coordinate system) dependent
properties properties
*** *New* Surface film library
+ Creation of films by particle addition, or initial film distribution
+ Coupled with the lagrangian/intermediate cloud hierarchy library
+ Hierarchical design, consisting of
+ kinematic film: mass, momentum
+ constant thermodynamic properties
+ thermodynamic film: mass, momentum and enthalpy
+ constant, or temperature dependant thermodynamic properties
+ Sub-models:
+ detachment/dripping whereby particles (re)enter the originating cloud
+ particle sizes set according to PDF
+ other properties set to ensure mass, momentum and energy conservation
+ heat transfer to/from walls and film surface
+ film evaporation and boiling
+ Additional wall functions for primary region momentum and temperature
taking film into account
+ Parallel aware
*** *New* ptscotch decomposition method. *** *New* ptscotch decomposition method.
*** *New* multiLevel decomposition method. *** *New* multiLevel decomposition method.
Decomposes in levels, e.g. first decompose onto number of nodes and Decomposes in levels, e.g. first decompose onto number of nodes and
@ -121,16 +148,10 @@
decomposition on the master. decomposition on the master.
*** *Updated* decomposePar maps polyPatches instead of recreating them so *** *Updated* decomposePar maps polyPatches instead of recreating them so
polyPatches holding data can map the data. polyPatches holding data can map the data.
*** *Updated* particle tracking algorithm
+ uses non-blocking parallel transfers
+ does 'minimum-tet' decomposition of face to work with warped faces
(snappyHexMesh!)
+ reuses tracking state in interpolation - improves consistency and speed
*** *Updated* split cyclics into two separate patches. *** *Updated* split cyclics into two separate patches.
See [[./doc/changes/splitCyclic.txt]] + *New* cyclics (and all coupled patches) have optional
* *New* cyclics (and all coupled patches) have optional
matchTolerance entry to allow looser area matching tolerance. matchTolerance entry to allow looser area matching tolerance.
* *Updated* interpolation (volPointInterpolation) now works without the + *Updated* interpolation (volPointInterpolation) now works without the
globalPointPatch. Moving mesh cases can now be run non-parallel and globalPointPatch. Moving mesh cases can now be run non-parallel and
continued in parallel and reconstructed without any limitation. continued in parallel and reconstructed without any limitation.
*** *New* compact binary I/O for faces and cells. *** *New* compact binary I/O for faces and cells.

View File

@ -43,16 +43,26 @@ Description
using namespace Foam; using namespace Foam;
// Main program: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
#include "addRegionOption.H" #include "addRegionOption.H"
argList::addOption
(
"dict",
"word",
"name of dictionary to provide patch agglomeration controls"
);
#include "setRootCase.H" #include "setRootCase.H"
#include "createTime.H" #include "createTime.H"
#include "createNamedMesh.H" #include "createNamedMesh.H"
word agglomDictName
(
args.optionLookupOrDefault<word>("dict", "faceAgglomerateDict")
);
const polyBoundaryMesh& patches = mesh.boundaryMesh(); const polyBoundaryMesh& patches = mesh.boundaryMesh();
labelListIOList finalAgglom labelListIOList finalAgglom
@ -70,12 +80,12 @@ int main(int argc, char *argv[])
); );
// Read view factor dictionary // Read control dictionary
IOdictionary viewFactorDict IOdictionary agglomDict
( (
IOobject IOobject
( (
"viewFactorsDict", agglomDictName,
runTime.constant(), runTime.constant(),
mesh, mesh,
IOobject::MUST_READ, IOobject::MUST_READ,
@ -83,8 +93,7 @@ int main(int argc, char *argv[])
) )
); );
bool writeAgglo = bool writeAgglom = readBool(agglomDict.lookup("writeFacesAgglomeration"));
readBool(viewFactorDict.lookup("writeFacesAgglomeration"));
const polyBoundaryMesh& boundary = mesh.boundaryMesh(); const polyBoundaryMesh& boundary = mesh.boundaryMesh();
@ -97,13 +106,13 @@ int main(int argc, char *argv[])
if (pp.size() > 0 && !pp.coupled()) if (pp.size() > 0 && !pp.coupled())
{ {
if (viewFactorDict.found(pp.name())) if (agglomDict.found(pp.name()))
{ {
Info << "\nAgglomerating name : " << pp.name() << endl; Info << "\nAgglomerating patch : " << pp.name() << endl;
pairPatchAgglomeration agglomObject pairPatchAgglomeration agglomObject
( (
pp, pp,
viewFactorDict.subDict(pp.name()) agglomDict.subDict(pp.name())
); );
agglomObject.agglomerate(); agglomObject.agglomerate();
finalAgglom[patchI] = finalAgglom[patchI] =
@ -111,13 +120,9 @@ int main(int argc, char *argv[])
} }
else else
{ {
FatalErrorIn FatalErrorIn(args.executable())
( << "Patch " << pp.name() << " not found in dictionary: "
"main(int argc, char *argv[])" << agglomDict.name() << exit(FatalError);
) << pp.name()
<< " not found in dictionary : "
<< viewFactorDict.name()
<< exit(FatalError);
} }
} }
} }
@ -155,7 +160,7 @@ int main(int argc, char *argv[])
finalAgglom.write(); finalAgglom.write();
if (writeAgglo) if (writeAgglom)
{ {
volScalarField facesAgglomeration volScalarField facesAgglomeration
( (
@ -183,10 +188,13 @@ int main(int argc, char *argv[])
} }
} }
Info << "\nWriting facesAgglomeration..." << endl; Info << "\nWriting facesAgglomeration" << endl;
facesAgglomeration.write(); facesAgglomeration.write();
} }
Info<< "End\n" << endl; Info<< "End\n" << endl;
return 0; return 0;
} }
// ************************************************************************* //

View File

@ -24,7 +24,7 @@ dict.add
dict.add("mergeDistance", SMALL); dict.add("mergeDistance", SMALL);
labelHashSet includePatches; labelHashSet includePatches;
forAll(patches, patchI) // forAll(patches, patchI)
{ {
if (!isA<processorPolyPatch>(patches[patchI])) if (!isA<processorPolyPatch>(patches[patchI]))
{ {

View File

@ -125,7 +125,6 @@ scalar calculateViewFactorFij
(cosThetaI*cosThetaJ*dAjMag*dAiMag) (cosThetaI*cosThetaJ*dAjMag*dAiMag)
/(sqr(rMag)*constant::mathematical::pi) /(sqr(rMag)*constant::mathematical::pi)
); );
} }
@ -152,7 +151,7 @@ void insertMatrixElements
} }
// Main program: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
@ -180,8 +179,6 @@ int main(int argc, char *argv[])
const bool dumpRays = const bool dumpRays =
viewFactorDict.lookupOrDefault<bool>("dumpRays", false); viewFactorDict.lookupOrDefault<bool>("dumpRays", false);
// Debug
// ~~~~~
const label debug = viewFactorDict.lookupOrDefault<label>("debug", 0); const label debug = viewFactorDict.lookupOrDefault<label>("debug", 0);
volScalarField Qr volScalarField Qr
@ -211,8 +208,8 @@ int main(int argc, char *argv[])
) )
); );
// - Create the coarse mesh using agglomeration // // Create the coarse mesh using agglomeration
//-----------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (debug) if (debug)
{ {
@ -234,8 +231,8 @@ int main(int argc, char *argv[])
); );
// - Calculate total number of fine and coarse faces // // Calculate total number of fine and coarse faces
//---------------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
label nCoarseFaces = 0; //total number of coarse faces label nCoarseFaces = 0; //total number of coarse faces
label nFineFaces = 0; //total number of fine faces label nFineFaces = 0; //total number of fine faces
@ -280,8 +277,8 @@ int main(int argc, char *argv[])
<< viewFactorsPatches << endl; << viewFactorsPatches << endl;
} }
// - Collect local Cf and Sf on coarse mesh //. // Collect local Cf and Sf on coarse mesh
//------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DynamicList<point> localCoarseCf(nCoarseFaces); DynamicList<point> localCoarseCf(nCoarseFaces);
DynamicList<point> localCoarseSf(nCoarseFaces); DynamicList<point> localCoarseSf(nCoarseFaces);
@ -348,8 +345,8 @@ int main(int argc, char *argv[])
} }
} }
// - Collect remote Cf and Sf on coarse mesh //. // Collect remote Cf and Sf on coarse mesh
//------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
List<pointField> remoteCoarseCf(Pstream::nProcs()); List<pointField> remoteCoarseCf(Pstream::nProcs());
List<pointField> remoteCoarseSf(Pstream::nProcs()); List<pointField> remoteCoarseSf(Pstream::nProcs());
@ -357,8 +354,8 @@ int main(int argc, char *argv[])
remoteCoarseCf[Pstream::myProcNo()] = localCoarseCf; remoteCoarseCf[Pstream::myProcNo()] = localCoarseCf;
remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf; remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf;
// - Collect remote Cf and Sf on fine mesh //. // Collect remote Cf and Sf on fine mesh
//------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
List<pointField> remoteFineCf(Pstream::nProcs()); List<pointField> remoteFineCf(Pstream::nProcs());
List<pointField> remoteFineSf(Pstream::nProcs()); List<pointField> remoteFineSf(Pstream::nProcs());
@ -367,7 +364,7 @@ int main(int argc, char *argv[])
remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf; remoteCoarseSf[Pstream::myProcNo()] = localCoarseSf;
// Distribute local coarse Cf and Sf for shooting rays // Distribute local coarse Cf and Sf for shooting rays
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pstream::gatherList(remoteCoarseCf); Pstream::gatherList(remoteCoarseCf);
Pstream::scatterList(remoteCoarseCf); Pstream::scatterList(remoteCoarseCf);
@ -382,19 +379,15 @@ int main(int argc, char *argv[])
// Determine rays between coarse face centres // Determine rays between coarse face centres
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DynamicList<label> rayStartFace DynamicList<label> rayStartFace(nCoarseFaces + 0.01*nCoarseFaces);
(
nCoarseFaces
+ 0.01*nCoarseFaces
);
DynamicList<label> rayEndFace(rayStartFace.size()); DynamicList<label> rayEndFace(rayStartFace.size());
globalIndex globalNumbering(nCoarseFaces); globalIndex globalNumbering(nCoarseFaces);
//- Return rayStartFace in local index andrayEndFace in global index // // Return rayStartFace in local index andrayEndFace in global index
// ------------------------------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include "shootRays.H" #include "shootRays.H"
@ -476,7 +469,7 @@ int main(int argc, char *argv[])
// visibleFaceFaces has: // visibleFaceFaces has:
// (local face, local viewed face) = compact viewed face // (local face, local viewed face) = compact viewed face
//------------------------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nVisibleFaceFaces = 0; nVisibleFaceFaces = 0;
forAll(rayStartFace, i) forAll(rayStartFace, i)
@ -489,7 +482,7 @@ int main(int argc, char *argv[])
// Construct data in compact addressing // Construct data in compact addressing
// I need coarse Sf (Ai), fine Sf (dAi) and fine Cf(r) to calculate Fij // I need coarse Sf (Ai), fine Sf (dAi) and fine Cf(r) to calculate Fij
// --------------------------------------------------------------------// // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pointField compactCoarseCf(map.constructSize(), pTraits<vector>::zero); pointField compactCoarseCf(map.constructSize(), pTraits<vector>::zero);
pointField compactCoarseSf(map.constructSize(), pTraits<vector>::zero); pointField compactCoarseSf(map.constructSize(), pTraits<vector>::zero);
@ -560,7 +553,7 @@ int main(int argc, char *argv[])
// Fill local view factor matrix // Fill local view factor matrix
//----------------------------- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scalarListIOList F scalarListIOList F
( (
@ -858,4 +851,5 @@ int main(int argc, char *argv[])
return 0; return 0;
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -3,7 +3,7 @@
# ========= | # ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. # \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# License # License
@ -32,8 +32,6 @@
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Base settings # Base settings
FOAM_VERSION=1.6
SUPPLIED_VERSION_GCC=4.4.3
MIN_VERSION_GCC=4.3.3 MIN_VERSION_GCC=4.3.3
# General # General
@ -247,19 +245,54 @@ reportExecutable()
VERSION=`$1 -case /dev/null 2>&1 \ VERSION=`$1 -case /dev/null 2>&1 \
| sed -ne 's/^.*Version: *\([^ ][^ ]*\).*/\1/p'` | sed -ne 's/^.*Version: *\([^ ][^ ]*\).*/\1/p'`
;; ;;
flex)
VERSION=`$1 --version /dev/null 2>&1 \
| sed -ne 's/flex \([0-9][0-9.]*\).*/\1/p' `
;;
gcc) gcc)
VERSION=`$1 -v 2>&1 \ VERSION=`$1 -v 2>&1 \
| sed -ne 's/^gcc version \([0-9][0-9.]*\).*/\1/p' ` | sed -ne 's/^gcc version \([0-9][0-9.]*\).*/\1/p' `
if [ "$VERSION" != "$SUPPLIED_VERSION_GCC" ] MINV1=`echo $MIN_VERSION_GCC | cut -d. -f1`
then MINV2=`echo $MIN_VERSION_GCC | cut -d. -f2`
echo "WARNING: gcc version does not match gcc supplied" \ MINV3=`echo $MIN_VERSION_GCC | cut -d. -f3`
"with this release of OpenFOAM"
echo " Supplied version: $SUPPLIED_VERSION_GCC" V1=`echo $VERSION | cut -d. -f1`
V2=`echo $VERSION | cut -d. -f2`
V3=`echo $VERSION | cut -d. -f3`
gccOK=""
pass=""
if [ $V1 -lt $MINV1 ]; then
gccOk="ERROR"
elif [ $V1 -gt $MINV1 ]; then
pass="yes"
fi
if [ "$pass" == "" ] && [ "$gccOk" == "" ]; then
if [ $V2 -lt $MINV2 ]; then
gccOk="ERROR"
elif [ $V2 -gt $MINV2 ]; then
pass="yes"
fi
fi
if [ "$pass" == "" ] && [ "$gccOk" == "" ] && [ $V3 != "" ] && [ $MINV3 != "" ]; then
if [ $V3 -lt $MINV3 ]; then
gccOk="ERROR"
fi
fi
if [ "$gccOk" != "" ]; then
echo "ERROR: gcc version is too old for this release of OpenFOAM"
echo " User version : $VERSION" echo " User version : $VERSION"
echo " Minimum required: $MIN_VERSION_GCC" echo " Minimum required: $MIN_VERSION_GCC"
echo "" echo ""
fatalError=`expr $fatalError + 1`
fi fi
;; ;;
gtar) gtar)
VERSION=`$APP_PATH --version | head -1` VERSION=`$APP_PATH --version | head -1`
@ -304,7 +337,7 @@ checkOpenFOAMEnvironment()
echo "FATAL ERROR: OpenFOAM environment not configured." echo "FATAL ERROR: OpenFOAM environment not configured."
echo "" echo ""
echo " Please refer to the installation section of the README file:" echo " Please refer to the installation section of the README file:"
echo " <OpenFOAM installation dir>/OpenFOAM-${FOAM_VERSION}/README" echo " <OpenFOAM installation dir>/OpenFOAM-${WM_PROJECT_VERSION}/README"
echo " to source the OpenFOAM environment." echo " to source the OpenFOAM environment."
echo "" echo ""
exit 1 exit 1
@ -320,7 +353,7 @@ checkUserShell()
;; ;;
*) *)
echo "FATAL ERROR: Cannot identify the shell you are running." echo "FATAL ERROR: Cannot identify the shell you are running."
echo " OpenFOAM ${FOAM_VERSION} is compatible with " echo " OpenFOAM ${WM_PROJECT_VERSION} is compatible with "
echo " csh, tcsh, ksh and bash." echo " csh, tcsh, ksh and bash."
echo echo
fatalError=`expr $fatalError + 1` fatalError=`expr $fatalError + 1`
@ -336,7 +369,7 @@ checkHostName()
then then
echo "FATAL ERROR: Cannot stat hostname." echo "FATAL ERROR: Cannot stat hostname."
echo " Contact your system administrator, " echo " Contact your system administrator, "
echo " OpenFOAM ${FOAM_VERSION} needs a valid " echo " OpenFOAM ${WM_PROJECT_VERSION} needs a valid "
echo " hostname to function." echo " hostname to function."
echo echo
fatalError=`expr $fatalError + 1` fatalError=`expr $fatalError + 1`
@ -352,7 +385,7 @@ checkOS()
;; ;;
*) *)
echo "FATAL ERROR: Incompatible operating system \"$OSTYPE\"." echo "FATAL ERROR: Incompatible operating system \"$OSTYPE\"."
echo " OpenFOAM $FOAM_VERSION is currently " echo " OpenFOAM ${FWM_PROJECT_VERSION} is currently "
echo " available for Linux and SunOS only." echo " available for Linux and SunOS only."
echo echo
fatalError=`expr $fatalError + 1` fatalError=`expr $fatalError + 1`
@ -423,6 +456,7 @@ COL3=`fixlen Location 10`
hline hline
echo "$COL1 $COL2 $COL3" echo "$COL1 $COL2 $COL3"
hline hline
reportExecutable flex
reportExecutable gcc reportExecutable gcc
reportExecutable gzip reportExecutable gzip
if [ "$OSTYPE" = Linux ] if [ "$OSTYPE" = Linux ]

View File

@ -3,7 +3,7 @@
# ========= | # ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. # \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# License # License
@ -33,8 +33,6 @@
# STATIC VARIABLES # STATIC VARIABLES
# ~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~
FOAM_VERSION=1.6
HLINE="-----------------------------------------------------------------------" HLINE="-----------------------------------------------------------------------"
WIDTH=16 WIDTH=16
unset fatalError unset fatalError
@ -92,7 +90,7 @@ case "$SHELL" in
;; ;;
*) *)
echo "ERROR: Cannot identify the current shell." echo "ERROR: Cannot identify the current shell."
echo " OpenFOAM $FOAM_VERSION is compatible" echo " OpenFOAM $WM_PROJECT_VERSION is compatible"
echo " with csh, tcsh, ksh and bash." echo " with csh, tcsh, ksh and bash."
echo echo
fatalError=true fatalError=true
@ -105,8 +103,8 @@ echo "$(fixlen Host: $WIDTH) $HOST"
if [ $(length $HOST) -eq 0 ] if [ $(length $HOST) -eq 0 ]
then then
echo "ERROR: Cannot stat hostname." echo "ERROR: Cannot stat hostname."
echo " OpenFOAM $FOAM_VERSION needs a valid hostname to function." echo " OpenFOAM $WM_PROJECT_VERSION needs a valid hostname to"
echo " Contact your system administrator. " echo " function. Contact your system administrator."
echo echo
fatalError=true fatalError=true
fi fi
@ -119,7 +117,7 @@ Linux | LinuxAMD64 | SunOS )
;; ;;
*) *)
echo "ERROR: Incompatible operating system \"$OSTYPE\"." echo "ERROR: Incompatible operating system \"$OSTYPE\"."
echo " OpenFOAM $FOAM_VERSION is currently available for " echo " OpenFOAM $WM_PROJECT_VERSION is currently available for "
echo " Linux, LinuxAMD64 and SunOS only." echo " Linux, LinuxAMD64 and SunOS only."
echo echo
fatalError=true fatalError=true
@ -138,7 +136,7 @@ echo "$(fixlen User: $WIDTH) ${USER_NAME}"
if [ $(length $USER_NAME) -eq 0 ] if [ $(length $USER_NAME) -eq 0 ]
then then
echo "ERROR: Cannot stat user name $USER_NAME." echo "ERROR: Cannot stat user name $USER_NAME."
echo " OpenFOAM $FOAM_VERSION needs a valid user name." echo " OpenFOAM $WM_PROJECT_VERSION needs a valid user name."
echo " Contact your system administrator. " echo " Contact your system administrator. "
echo echo
fatalError=true fatalError=true

View File

@ -48,6 +48,6 @@ epsMax/bounding epsilon,/max:
epsAvg/bounding epsilon,/average: epsAvg/bounding epsilon,/average:
#- gamma bounding #- gamma bounding
gammaMin/Min\(gamma\) =/Min(gamma) = alpha1Min/Min\(alpha1\) =/Min(alpha1) =
gammaMax/Max\(gamma\) =/Max(gamma) = alpha1Max/Max\(alpha1\) =/Max(alpha1) =

View File

@ -3,7 +3,7 @@
#+TITLE: OpenFOAM C++ style guide #+TITLE: OpenFOAM C++ style guide
#+AUTHOR: OpenCFD Ltd. #+AUTHOR: OpenCFD Ltd.
#+DATE: Feb 2011 #+DATE: Feb 2011
#+LINK: http://www.opencfd.co.uk #+LINK: http://www.OpenFOAM.com
#+OPTIONS: author:nil ^:{} #+OPTIONS: author:nil ^:{}
#+STARTUP: hidestars #+STARTUP: hidestars
#+STARTUP: odd #+STARTUP: odd

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.0 | | \\ / O peration | Version: 2.0.0 |
| \\ / A nd | Web: www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -18,8 +18,8 @@ FoamFile
thermoType hsPsiMixtureThermo<singleStepReactingMixture<gasThermoPhysics>>; thermoType hsPsiMixtureThermo<singleStepReactingMixture<gasThermoPhysics>>;
inertSpecie N2; inertSpecie N2;
fuel C3H8; fuel C3H8;
chemistryReader foamChemistryReader; chemistryReader foamChemistryReader;
@ -29,17 +29,4 @@ foamChemistryFile "$FOAM_CASE/constant/reactions";
foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas"; foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas";
liquids // ************************************************************************* //
{
liquidComponents
();
H2O H2O defaultCoeffs;
}
solids
{
solidComponents
();
}

View File

@ -18,6 +18,7 @@ FoamFile
thermoType hsPsiMixtureThermo<singleStepReactingMixture<gasThermoPhysics>>; thermoType hsPsiMixtureThermo<singleStepReactingMixture<gasThermoPhysics>>;
inertSpecie N2; inertSpecie N2;
fuel CH4; fuel CH4;
chemistryReader foamChemistryReader; chemistryReader foamChemistryReader;
@ -26,12 +27,5 @@ foamChemistryFile "$FOAM_CASE/constant/reactions";
foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas"; foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas";
liquids
{
liquidComponents
();
H2O H2O defaultCoeffs;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -18,6 +18,7 @@ FoamFile
thermoType hsPsiMixtureThermo<singleStepReactingMixture<gasThermoPhysics>>; thermoType hsPsiMixtureThermo<singleStepReactingMixture<gasThermoPhysics>>;
inertSpecie N2; inertSpecie N2;
fuel CH4; fuel CH4;
chemistryReader foamChemistryReader; chemistryReader foamChemistryReader;
@ -26,12 +27,5 @@ foamChemistryFile "$FOAM_CASE/constant/reactions";
foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas"; foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas";
liquids
{
liquidComponents
();
H2O H2O defaultCoeffs;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -29,7 +29,7 @@ done
for i in bottomAir topAir for i in bottomAir topAir
do do
faceAgglomerate -region $i > log.faceAgglomerate.$i 2>&1 faceAgglomerate -region $i -dict viewFactorsDict > log.faceAgglomerate.$i 2>&1
done done
for i in bottomAir topAir for i in bottomAir topAir