diff --git a/src/Allwmake b/src/Allwmake index 35b8f55b886f902b5dfca438b36a36ba4f7caa93..f6e7907e32721347fec0d57a42d1210ae88c93c2 100755 --- a/src/Allwmake +++ b/src/Allwmake @@ -2,6 +2,12 @@ cd ${0%/*} || exit 1 # run from this directory set -x +# update version string if under Git +git describe 2> /dev/null | \ +(read project_string \ + && sed -e 's/WM_PROJECT_VERSION/\"'"${project_string}"'"/' \ + OpenFOAM/global/global_raw.C >OpenFOAM/global/global.C) + wmakeLnInclude -f OpenFOAM wmakeLnInclude -f OSspecific/$WM_OS Pstream/Allwmake diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index e24fd6b5ec4411c30138924dd05fdb3eb94a3959..a9708a3c30773a099382a2d87d624b088bb40406 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -1,4 +1,5 @@ -global/global.Cver +global/global.C + global/dimensionedConstants/dimensionedConstants.C global/argList/argList.C global/clock/clock.C diff --git a/src/OpenFOAM/global/global.C b/src/OpenFOAM/global/global.C index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..38f900ef4efa8ce214a9edbb801843a70f6231d0 100644 --- a/src/OpenFOAM/global/global.C +++ b/src/OpenFOAM/global/global.C @@ -0,0 +1,78 @@ +/*-------------------------------*- C++ -*-----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM; if not, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Description + Define the globals used in the FOAM library. It is important that these + are constructed in the appropriate order to avoid the use of unconstructed + data in the global namespace. + + This file gets preprocessed by the Allwmake script to replace + PROJECT_VERSION with the appropriate version number string. + +\*---------------------------------------------------------------------------*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#include "foamVersion.H" + +const char* const Foam::FOAMversion = "dev_2008-10-29-197-gc1bfee3"; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Setup an error handler for the global new operator + +#include "new.C" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Global IO streams + +#include "IOstreams.C" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "JobInfo.H" +bool Foam::JobInfo::constructed = false; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Global error definitions (initialised by construction) + +#include "messageStream.C" +#include "error.C" +#include "IOerror.C" +#include "token.C" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Read the debug and info switches + +#include "debug.C" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Read and set cell models + +#include "globalCellModeller.C" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Create the jobInfo file in the $FOAM_JOB_DIR/runningJobs directory + +#include "JobInfo.C" + +// ************************************************************************* // diff --git a/src/OpenFOAM/global/global.Cver b/src/OpenFOAM/global/global_raw.C similarity index 94% rename from src/OpenFOAM/global/global.Cver rename to src/OpenFOAM/global/global_raw.C index e67b67b22a8352e2c27cb78564f6505f461cbb83..29c67cf3e0b02cde9e0870b1b27df1d8cbb76d93 100644 --- a/src/OpenFOAM/global/global.Cver +++ b/src/OpenFOAM/global/global_raw.C @@ -27,9 +27,8 @@ Description are constructed in the appropriate order to avoid the use of unconstructed data in the global namespace. - This file has the extension .ver to force it to be parsed by the script - which converts WM_PROJECT_VERSION into the appropriate version number - string. + This file gets preprocessed by the Allwmake script to replace + PROJECT_VERSION with the appropriate version number string. \*---------------------------------------------------------------------------*/ diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C index 1ec3f9d0f09ed27a549d4a274974b77d1d975b2d..6ed3f0c14f5fd9cdd6506ede3ef1afbc859c83c6 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C @@ -3355,7 +3355,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::makeMesh faceZoneFlip_.clear(); faceZoneFlip_.resize(0); - cellZone_.clear(); cellZone_.clearStorage(); } diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C index aad79a3bcfdbb0ae5fa27e1dca92bb54cb466dda..d5f3ef05f294d64459539bf79cb151f22bef5dbc 100644 --- a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C @@ -352,6 +352,96 @@ Foam::genericFvPatchField<Type>::genericFvPatchField << exit(FatalIOError); } } + else if + ( + firstToken.isWord() + && firstToken.wordToken() == "uniform" + ) + { + token fieldToken(is); + + if (!fieldToken.isPunctuation()) + { + scalarFields_.insert + ( + iter().keyword(), + new scalarField + ( + this->size(), + fieldToken.scalarToken() + ) + ); + } + else + { + // Read as scalarList. + is.putBack(fieldToken); + + scalarList l(is); + + if (l.size() == vector::nComponents) + { + vector vs(l[0], l[1], l[2]); + + vectorFields_.insert + ( + iter().keyword(), + new vectorField(this->size(), vs) + ); + } + else if (l.size() == sphericalTensor::nComponents) + { + sphericalTensor vs(l[0]); + + sphericalTensorFields_.insert + ( + iter().keyword(), + new sphericalTensorField(this->size(), vs) + ); + } + else if (l.size() == symmTensor::nComponents) + { + symmTensor vs(l[0], l[1], l[2], l[3], l[4], l[5]); + + symmTensorFields_.insert + ( + iter().keyword(), + new symmTensorField(this->size(), vs) + ); + } + else if (l.size() == tensor::nComponents) + { + tensor vs + ( + l[0], l[1], l[2], + l[3], l[4], l[5], + l[6], l[7], l[8] + ); + + tensorFields_.insert + ( + iter().keyword(), + new tensorField(this->size(), vs) + ); + } + else + { + FatalIOErrorIn + ( + "genericFvPatchField<Type>::genericFvPatchField" + "(const fvPatch&, const Field<Type>&, " + "const dictionary&)", + dict + ) << "\n unrecognised native type " << l + << "\n on patch " << this->patch().name() + << " of field " + << this->dimensionedInternalField().name() + << " in file " + << this->dimensionedInternalField().objectPath() + << exit(FatalIOError); + } + } + } } } } @@ -557,7 +647,7 @@ void Foam::genericFvPatchField<Type>::rmap HashPtrTable<scalarField>::const_iterator dptfIter = dptf.scalarFields_.find(iter.key()); - if (dptfIter != scalarFields_.end()) + if (dptfIter != dptf.scalarFields_.end()) { iter()->rmap(*dptfIter(), addr); } @@ -573,7 +663,7 @@ void Foam::genericFvPatchField<Type>::rmap HashPtrTable<vectorField>::const_iterator dptfIter = dptf.vectorFields_.find(iter.key()); - if (dptfIter != vectorFields_.end()) + if (dptfIter != dptf.vectorFields_.end()) { iter()->rmap(*dptfIter(), addr); } @@ -590,7 +680,7 @@ void Foam::genericFvPatchField<Type>::rmap HashPtrTable<sphericalTensorField>::const_iterator dptfIter = dptf.sphericalTensorFields_.find(iter.key()); - if (dptfIter != sphericalTensorFields_.end()) + if (dptfIter != dptf.sphericalTensorFields_.end()) { iter()->rmap(*dptfIter(), addr); } @@ -607,7 +697,7 @@ void Foam::genericFvPatchField<Type>::rmap HashPtrTable<symmTensorField>::const_iterator dptfIter = dptf.symmTensorFields_.find(iter.key()); - if (dptfIter != symmTensorFields_.end()) + if (dptfIter != dptf.symmTensorFields_.end()) { iter()->rmap(*dptfIter(), addr); } @@ -623,7 +713,7 @@ void Foam::genericFvPatchField<Type>::rmap HashPtrTable<tensorField>::const_iterator dptfIter = dptf.tensorFields_.find(iter.key()); - if (dptfIter != tensorFields_.end()) + if (dptfIter != dptf.tensorFields_.end()) { iter()->rmap(*dptfIter(), addr); } diff --git a/wmake/rules/General/standard b/wmake/rules/General/standard index 8e5e436d32aa2754691dbb1ad89418083daceb95..82d2a6c11ebe2317bb6fde241c7d481782b9613a 100644 --- a/wmake/rules/General/standard +++ b/wmake/rules/General/standard @@ -1,5 +1,3 @@ -include $(GENERAL_RULES)/version - include $(GENERAL_RULES)/sourceToDep include $(GENERAL_RULES)/java diff --git a/wmake/rules/General/version b/wmake/rules/General/version deleted file mode 100644 index 805eb585613340ca8d7ffd986ce4078bb73be4c3..0000000000000000000000000000000000000000 --- a/wmake/rules/General/version +++ /dev/null @@ -1,6 +0,0 @@ -.SUFFIXES: .Cver - -Cvertoo = sed s/WM_PROJECT_VERSION/\"$(WM_PROJECT_VERSION)\"/ $$SOURCE > $*.C ; $(CC) $(c++FLAGS) -c $*.C -o $@ - -.Cver.dep: - $(MAKE_DEP)