diff --git a/applications/solvers/molecularDynamics/gnemdFoam/Make/files b/applications/solvers/molecularDynamics/gnemdFoam/Make/files deleted file mode 100755 index b59e704979..0000000000 --- a/applications/solvers/molecularDynamics/gnemdFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -gnemdFoam.C - -EXE = $(FOAM_APPBIN)/gnemdFoam diff --git a/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options b/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options index 89431d0625..14f2ed2f93 100755 --- a/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options +++ b/applications/solvers/molecularDynamics/mdEquilibrationFoam/Make/options @@ -1,6 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/molecularDynamics/molecule/lnInclude \ -I$(LIB_SRC)/lagrangian/molecularDynamics/potential/lnInclude \ + -I$(LIB_SRC)/lagrangian/molecularDynamics/molecularMeasurements/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude @@ -10,4 +11,6 @@ EXE_LIBS = \ -lfiniteVolume \ -llagrangian \ -lmolecule \ - -lpotential + -lpotential \ + -lmolecularMeasurements + diff --git a/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C b/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C index 5c7df8aea6..8d61f2ebe7 100644 --- a/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C +++ b/applications/solvers/molecularDynamics/mdEquilibrationFoam/mdEquilibrationFoam.C @@ -23,7 +23,7 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Application - mdEquilibrationFOAM + mdEquilibrationFoam Description Equilibrates and/or preconditions MD systems @@ -40,9 +40,9 @@ int main(int argc, char *argv[]) # include "createTime.H" # include "createMesh.H" - moleculeCloud molecules(mesh); + potential pot(mesh); - molecules.removeHighEnergyOverlaps(); + moleculeCloud molecules(mesh, pot); # include "temperatureAndPressureVariables.H" @@ -60,7 +60,7 @@ int main(int argc, char *argv[]) Info << "Time = " << runTime.timeName() << endl; - molecules.integrateEquationsOfMotion(); + molecules.evolve(); # include "meanMomentumEnergyAndNMols.H" diff --git a/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H b/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H index b205b5ae31..8289d014b0 100644 --- a/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H +++ b/applications/solvers/molecularDynamics/mdEquilibrationFoam/readmdEquilibrationDict.H @@ -1,4 +1,4 @@ -Info<< "Reading MD Equilibration Dictionary" << nl << endl; +Info<< nl << "Reading MD Equilibration Dictionary" << nl << endl; IOdictionary mdEquilibrationDict ( diff --git a/applications/solvers/molecularDynamics/mdFoam/Make/files b/applications/solvers/molecularDynamics/mdFoam/Make/files new file mode 100755 index 0000000000..6b867ec0a8 --- /dev/null +++ b/applications/solvers/molecularDynamics/mdFoam/Make/files @@ -0,0 +1,3 @@ +mdFoam.C + +EXE = $(FOAM_APPBIN)/mdFoam diff --git a/applications/solvers/molecularDynamics/gnemdFoam/Make/options b/applications/solvers/molecularDynamics/mdFoam/Make/options similarity index 73% rename from applications/solvers/molecularDynamics/gnemdFoam/Make/options rename to applications/solvers/molecularDynamics/mdFoam/Make/options index 89431d0625..14f2ed2f93 100755 --- a/applications/solvers/molecularDynamics/gnemdFoam/Make/options +++ b/applications/solvers/molecularDynamics/mdFoam/Make/options @@ -1,6 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/molecularDynamics/molecule/lnInclude \ -I$(LIB_SRC)/lagrangian/molecularDynamics/potential/lnInclude \ + -I$(LIB_SRC)/lagrangian/molecularDynamics/molecularMeasurements/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude @@ -10,4 +11,6 @@ EXE_LIBS = \ -lfiniteVolume \ -llagrangian \ -lmolecule \ - -lpotential + -lpotential \ + -lmolecularMeasurements + diff --git a/applications/solvers/molecularDynamics/gnemdFoam/gnemdFoam.C b/applications/solvers/molecularDynamics/mdFoam/mdFoam.C similarity index 85% rename from applications/solvers/molecularDynamics/gnemdFoam/gnemdFoam.C rename to applications/solvers/molecularDynamics/mdFoam/mdFoam.C index a48bf589ee..a1c13246e3 100644 --- a/applications/solvers/molecularDynamics/gnemdFoam/gnemdFoam.C +++ b/applications/solvers/molecularDynamics/mdFoam/mdFoam.C @@ -23,10 +23,10 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Application - gnemdFOAM + mdFoam Description - MD for Fluid Mechanics and hybridising with a continuum solver. + molecular dynamics solver for fluid dynamics \*---------------------------------------------------------------------------*/ @@ -40,11 +40,9 @@ int main(int argc, char *argv[]) # include "createTime.H" # include "createMesh.H" - moleculeCloud molecules(mesh); + potential pot(mesh); -# include "createMDFields.H" - - molecules.removeHighEnergyOverlaps(); + moleculeCloud molecules(mesh, pot); # include "temperatureAndPressureVariables.H" @@ -60,20 +58,14 @@ int main(int argc, char *argv[]) Info << "Time = " << runTime.timeName() << endl; - molecules.integrateEquationsOfMotion(); + molecules.evolve(); # include "meanMomentumEnergyAndNMols.H" # include "temperatureAndPressure.H" -# include "calculateMDFields.H" - -# include "averageMDFields.H" - runTime.write(); -# include "resetMDFields.H" - if (runTime.outputTime()) { nAveragingSteps = 0; diff --git a/applications/solvers/multiphase/compressibleInterDyMFoam/Make/options b/applications/solvers/multiphase/compressibleInterDyMFoam/Make/options index 13d31339e4..af146aaa38 100644 --- a/applications/solvers/multiphase/compressibleInterDyMFoam/Make/options +++ b/applications/solvers/multiphase/compressibleInterDyMFoam/Make/options @@ -1,5 +1,3 @@ -INTERFOAM = $(FOAM_SOLVERS)/multiphase/interFoam - EXE_INC = \ -I$(LIB_SRC)/transportModels \ -I$(LIB_SRC)/transportModels/incompressible/lnInclude \ diff --git a/applications/solvers/multiphase/compressibleInterFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/Make/options index 9412e3e374..0e21fc2d64 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/Make/options @@ -1,5 +1,3 @@ -INTERFOAM = $(FOAM_SOLVERS)/multiphase/interFoam - EXE_INC = \ -I$(LIB_SRC)/transportModels \ -I$(LIB_SRC)/transportModels/incompressible/lnInclude \ diff --git a/applications/utilities/miscellaneous/patchSummary/patchSummary.C b/applications/utilities/miscellaneous/patchSummary/patchSummary.C index b64a72ad91..17eba36311 100644 --- a/applications/utilities/miscellaneous/patchSummary/patchSummary.C +++ b/applications/utilities/miscellaneous/patchSummary/patchSummary.C @@ -42,6 +42,7 @@ int main(int argc, char *argv[]) { # include "addTimeOptions.H" +# include "addRegionOption.H" # include "setRootCase.H" # include "createTime.H" @@ -53,7 +54,7 @@ int main(int argc, char *argv[]) runTime.setTime(Times[startTime], startTime); -# include "createMesh.H" +# include "createNamedMesh.H" for (label i=startTime; i()); + } + + Info<< nl << "Total number of molecules added: " << totalMolecules + << nl << endl; + + IOstream::defaultPrecision(15); + + if (!mesh.write()) + { + FatalErrorIn(args.executable()) + << "Failed writing moleculeCloud." + << nl << exit(FatalError); + } + + Info<< nl << "ClockTime = " << runTime.elapsedClockTime() << " s" + << nl << endl; + + Info << nl << "End\n" << endl; + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/utilities/preProcessing/molConfig/Make/files b/applications/utilities/preProcessing/mdInitialise/molConfig_old/Make/files similarity index 100% rename from applications/utilities/preProcessing/molConfig/Make/files rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/Make/files diff --git a/applications/utilities/preProcessing/molConfig/Make/options b/applications/utilities/preProcessing/mdInitialise/molConfig_old/Make/options similarity index 100% rename from applications/utilities/preProcessing/molConfig/Make/options rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/Make/options diff --git a/applications/utilities/preProcessing/molConfig/correctVelocities.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/correctVelocities.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/correctVelocities.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/correctVelocities.H diff --git a/applications/utilities/preProcessing/molConfig/createMolecules.C b/applications/utilities/preProcessing/mdInitialise/molConfig_old/createMolecules.C similarity index 100% rename from applications/utilities/preProcessing/molConfig/createMolecules.C rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/createMolecules.C diff --git a/applications/utilities/preProcessing/molConfig/createPositions.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/createPositions.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/createPositions.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/createPositions.H diff --git a/applications/utilities/preProcessing/molConfig/createVelocities.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/createVelocities.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/createVelocities.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/createVelocities.H diff --git a/applications/utilities/preProcessing/molConfig/genMolConfig.C b/applications/utilities/preProcessing/mdInitialise/molConfig_old/genMolConfig.C similarity index 100% rename from applications/utilities/preProcessing/molConfig/genMolConfig.C rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/genMolConfig.C diff --git a/applications/utilities/preProcessing/molConfig/latticeStructures/BCC.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/latticeStructures/BCC.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/latticeStructures/BCC.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/latticeStructures/BCC.H diff --git a/applications/utilities/preProcessing/molConfig/latticeStructures/FCC.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/latticeStructures/FCC.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/latticeStructures/FCC.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/latticeStructures/FCC.H diff --git a/applications/utilities/preProcessing/molConfig/latticeStructures/SC.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/latticeStructures/SC.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/latticeStructures/SC.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/latticeStructures/SC.H diff --git a/applications/utilities/preProcessing/molConfig/molConfig.C b/applications/utilities/preProcessing/mdInitialise/molConfig_old/molConfig.C similarity index 100% rename from applications/utilities/preProcessing/molConfig/molConfig.C rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/molConfig.C diff --git a/applications/utilities/preProcessing/molConfig/molConfig.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/molConfig.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/molConfig.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/molConfig.H diff --git a/applications/utilities/preProcessing/molConfig/molConfigI.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/molConfigI.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/molConfigI.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/molConfigI.H diff --git a/applications/utilities/preProcessing/molConfig/origin.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/origin.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/origin.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/origin.H diff --git a/applications/utilities/preProcessing/molConfig/readZoneSubDict.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/readZoneSubDict.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/readZoneSubDict.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/readZoneSubDict.H diff --git a/applications/utilities/preProcessing/molConfig/startingPoint.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/startingPoint.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/startingPoint.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/startingPoint.H diff --git a/applications/utilities/preProcessing/molConfig/velocityDistributions/maxwellian.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/velocityDistributions/maxwellian.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/velocityDistributions/maxwellian.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/velocityDistributions/maxwellian.H diff --git a/applications/utilities/preProcessing/molConfig/velocityDistributions/uniform.H b/applications/utilities/preProcessing/mdInitialise/molConfig_old/velocityDistributions/uniform.H similarity index 100% rename from applications/utilities/preProcessing/molConfig/velocityDistributions/uniform.H rename to applications/utilities/preProcessing/mdInitialise/molConfig_old/velocityDistributions/uniform.H diff --git a/bin/buildParaView3.5-cvs b/bin/buildParaView3.5-cvs index fa024f7799..f12a158973 100755 --- a/bin/buildParaView3.5-cvs +++ b/bin/buildParaView3.5-cvs @@ -53,6 +53,8 @@ PYTHON_LIBRARY="" # MESA graphics support: WITH_MESA=OFF +MESA_INCLUDE_DIR="/usr/include/GL" +MESA_LIBRARY="/usr/lib64/libOSMesa.so" # # No further editing below this line diff --git a/bin/foamEbrowse b/bin/foamEbrowse index 10816c61e0..e303a77264 100755 --- a/bin/foamEbrowse +++ b/bin/foamEbrowse @@ -27,7 +27,7 @@ # foamEbrowse # # Description -# Build the Ebrowse dadbase for all the .C and .H files +# Build the Ebrowse database for all the .C and .H files # #------------------------------------------------------------------------------ headersFile=${TMPDIR:-/tmp}/headersFile.$$ diff --git a/bin/foamTemplates/source/foamTemplate.H b/bin/foamTemplates/source/foamTemplate.H index 7390df1aeb..963fc74cdf 100644 --- a/bin/foamTemplates/source/foamTemplate.H +++ b/bin/foamTemplates/source/foamTemplate.H @@ -55,7 +55,7 @@ Ostream& operator<<(Ostream&, const className&); /*---------------------------------------------------------------------------*\ - Class className Declaration + Class className Declaration \*---------------------------------------------------------------------------*/ class className @@ -64,6 +64,7 @@ class className { // Private data + //- Description of data_ dataType data_; @@ -80,7 +81,7 @@ public: // Static data members - //- Static data someStaticData + //- Static data staticData static const dataType staticData; @@ -105,9 +106,8 @@ public: static autoPtr New(); - // Destructor - - ~className(); + //- Destructor + ~className(); // Member Functions diff --git a/bin/foamTemplates/source/foamUtilTemplate.cfg b/bin/foamTemplates/source/foamUtilTemplate.cfg deleted file mode 100644 index 159b04a929..0000000000 --- a/bin/foamTemplates/source/foamUtilTemplate.cfg +++ /dev/null @@ -1,27 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.5 | -| \\ / A nd | Web: http://www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -// className tool definition - -description ""; - -classNameDict -{ - type dictionary; - description "className control dictionary"; - dictionaryPath "system"; - - entries - { - arguments - { - type rootCaseTimeArguments; - } - } -} - -// ************************************************************************* // diff --git a/bin/foamTemplates/source/newSource b/bin/foamTemplates/source/newSource index ee357a429b..a06d1bcc73 100755 --- a/bin/foamTemplates/source/newSource +++ b/bin/foamTemplates/source/newSource @@ -40,7 +40,7 @@ usage: $Script * create a new standard OpenFOAM source file -type: (C|H|I|IO|App|cfg) +type: (C|H|I|IO|App) USAGE exit 1 @@ -74,10 +74,6 @@ app|App) wmakeFilesAndOptions fi ;; -cfg) - template=foamUtilTemplate - fileType=$1 - ;; *) usage "unknown type" ;; diff --git a/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.H b/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.H index 42ad127142..79250a7019 100644 --- a/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.H +++ b/bin/foamTemplates/sourceTemplate/foamTemplateTemplate.H @@ -112,9 +112,8 @@ public: static autoPtr > New(); - // Destructor - - ~ClassName(); + //- Destructor + ~ClassName(); // Member Functions diff --git a/bin/tools/buildParaViewFunctions b/bin/tools/buildParaViewFunctions index b126a98614..f1da2c0e3e 100644 --- a/bin/tools/buildParaViewFunctions +++ b/bin/tools/buildParaViewFunctions @@ -154,9 +154,6 @@ addMesaSupport() { [ "$WITH_MESA" = ON ] || return - MESA_INCLUDE_DIR=/usr/include/GL - MESA_LIBRARY=/usr/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so - if [ -d "$MESA_INCLUDE_DIR" -a -f "$MESA_LIBRARY" ] then OBJ_ADD="$OBJ_ADD-mesa" @@ -167,6 +164,10 @@ addMesaSupport() else echo "*** Error: no MESA information found" + echo "*** Deactivate MESA support by setting WITH_MESA=OFF, or" + echo "*** correct paths given by:" + echo "*** - MESA_INCLUDE_DIR ($MESA_INCLUDE_DIR)" + echo "*** - MESA_LIBRARY ($MESA_LIBRARY)" exit 1 fi } diff --git a/etc/apps/paraview3/cshrc b/etc/apps/paraview3/cshrc index 3b93e7108d..5ad99a1030 100644 --- a/etc/apps/paraview3/cshrc +++ b/etc/apps/paraview3/cshrc @@ -54,9 +54,9 @@ setenv ParaView_DIR $ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER set paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping if ( -r $paraviewPython ) then if ($?PYTHONPATH) then - setenv PYTHONPATH ${PYTHONPATH}:$paraviewPython:$ParaView_DIR/lib/${paraviewMajor} + setenv PYTHONPATH ${PYTHONPATH}:${paraviewPython}:$ParaView_DIR/lib/${paraviewMajor} else - setenv PYTHONPATH $paraviewPython:$ParaView_DIR/lib/${paraviewMajor} + setenv PYTHONPATH ${paraviewPython}:$ParaView_DIR/lib/${paraviewMajor} endif endif diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index 7c9655e958..8fe778aa16 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -14,6 +14,7 @@ primitives/long/longIO.C primitives/longLong/longLongIO.C primitives/ulong/ulongIO.C primitives/label/label.C +primitives/uLabel/uLabel.C primitives/Scalar/doubleScalar/doubleScalar.C primitives/Scalar/floatScalar/floatScalar.C primitives/Scalar/scalar/scalar.C diff --git a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudBuildCellOccupancy.C b/src/OpenFOAM/primitives/uLabel/uLabel.C similarity index 72% rename from src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudBuildCellOccupancy.C rename to src/OpenFOAM/primitives/uLabel/uLabel.C index 37a90c2002..b4e72c18a6 100644 --- a/src/lagrangian/molecularDynamics/molecule/moleculeCloud/moleculeCloudBuildCellOccupancy.C +++ b/src/OpenFOAM/primitives/uLabel/uLabel.C @@ -22,42 +22,35 @@ License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -\*----------------------------------------------------------------------------*/ +\*---------------------------------------------------------------------------*/ -#include "moleculeCloud.H" +#include "uLabel.H" +#include "error.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -void moleculeCloud::buildCellOccupancy() +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +const char* const pTraits::typeName = "uLabel"; +const uLabel pTraits::zero = 0; +const uLabel pTraits::one = 1; + +const char* pTraits::componentNames[] = { "x" }; + +pTraits::pTraits(Istream& is) { - forAll(cellOccupancy_, cO) - { - cellOccupancy_[cO].clear(); - } - - iterator mol(this->begin()); - - for - ( - mol = this->begin(); - mol != this->end(); - ++mol - ) - { - cellOccupancy_[mol().cell()].append(&mol()); - } - - forAll(cellOccupancy_, cO) - { - cellOccupancy_[cO].shrink(); - } - - referredInteractionList_.referMolecules(); + is >> p_; } + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + } // End namespace Foam // ************************************************************************* // diff --git a/src/OpenFOAM/primitives/uLabel/uLabel.H b/src/OpenFOAM/primitives/uLabel/uLabel.H new file mode 100644 index 0000000000..7b99b79eb1 --- /dev/null +++ b/src/OpenFOAM/primitives/uLabel/uLabel.H @@ -0,0 +1,169 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2009 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 + +Typedef + Foam::uLabel + +Description + A uLabel is an unsigned label. See label.H. + +\*---------------------------------------------------------------------------*/ + +#ifndef uLabel_H +#define uLabel_H + +#include +#include + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +#if FOAM_LABEL64 +# define WANTEDURANGE 18000000000000000000 +#else +# define WANTEDURANGE 4000000000 +#endif + + +#if UINT_MAX > WANTEDURANGE + +// Define uLabel as an unsigned int + +#include "uint.H" + +namespace Foam +{ + typedef unsigned int uLabel; + + static const uLabel uLabelMax = UINT_MAX; + + inline uLabel readULabel(Istream& is) + { + return readUint(is); + } + +} // End namespace Foam + + +#elif ULONG_MAX > WANTEDURANGE + +// Define uLabel as an unsigned long + +#include "uint.H" +#include "ulong.H" + +namespace Foam +{ + typedef unsigned long uLabel; + + static const uLabel uLabelMax = LONG_MAX; + + inline uLabel readULabel(Istream& is) + { + return readUlong(is); + } + +} // End namespace Foam + + +#elif ULLONG_MAX > WANTEDURANGE + +// Define uLabel as an unsigned long long + +#error "Not implemented yet" + +#endif + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "pTraits.H" +#include "direction.H" + +namespace Foam +{ + +// template specialisation for pTraits