diff --git a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C index 1bf676cd54..1f67b52336 100644 --- a/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C +++ b/applications/utilities/thermophysical/chemkinToFoam/chemkinToFoam.C @@ -48,11 +48,13 @@ int main(int argc, char *argv[]) OFstream reactionsFile(args[3]); reactionsFile - << "species" << cr.species() << token::END_STATEMENT << nl << nl - << "reactions" << cr.reactions() << token::END_STATEMENT << endl; + << "species" << cr.species() << token::END_STATEMENT << nl << nl; + + cr.reactions().write(reactionsFile); + OFstream thermoFile(args[4]); - thermoFile<< cr.speciesThermo() << endl; + cr.speciesThermo().write(thermoFile); Info<< "End\n" << endl; diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile index 1445ad0bc2..51a8ae2b50 100644 --- a/doc/doxygen/Doxyfile +++ b/doc/doxygen/Doxyfile @@ -574,12 +574,14 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -# INPUT = $(WM_PROJECT_DIR)/src \ +#INPUT = $(WM_PROJECT_DIR)/src \ # $(WM_PROJECT_DIR)/applications/utilities \ # $(WM_PROJECT_DIR)/applications/solvers # limit input for testing purposes -INPUT = $(WM_PROJECT_DIR)/src/OpenFOAM/global +INPUT = $(WM_PROJECT_DIR)/src/OpenFOAM/global \ + $(WM_PROJECT_DIR)/src/OpenFOAM/containers \ + $(WM_PROJECT_DIR)/src/OpenFOAM/primitives # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff --git a/etc/settings.csh b/etc/settings.csh index 8b51bb7b41..d1d9a413fc 100644 --- a/etc/settings.csh +++ b/etc/settings.csh @@ -108,6 +108,12 @@ case OpenFOAM: set gmp_version=gmp-4.2.4 set mpfr_version=mpfr-2.4.1 breaksw + case Clang: + # using clang - not gcc + setenv WM_CC 'clang' + setenv WM_CXX 'clang++' + set clang_version=llvm-2.8 + breaksw default: echo echo "Warning in $WM_PROJECT_DIR/etc/settings.csh:" @@ -159,6 +165,25 @@ case OpenFOAM: endif unset gcc_version gccDir unset gmp_version gmpDir mpfr_version mpfrDir mpc_version mpcDir + + if ( $?clang_version ) then + set clangDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$clang_version + + # Check that the compiler directory can be found + if ( ! -d "$clangDir" ) then + echo + echo "Warning in $WM_PROJECT_DIR/etc/settings.csh:" + echo " Cannot find $clangDir 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 $clangDir/man + _foamAddPath $clangDir/bin + endif + unset clang_version clangDir + breaksw endsw diff --git a/etc/settings.sh b/etc/settings.sh index aae19a764b..4a1ce214c3 100644 --- a/etc/settings.sh +++ b/etc/settings.sh @@ -131,6 +131,12 @@ OpenFOAM) gmp_version=gmp-4.2.4 mpfr_version=mpfr-2.4.1 ;; + Clang) + # using clang - not gcc + export WM_CC='clang' + export WM_CXX='clang++' + clang_version=llvm-2.8 + ;; *) echo echo "Warning in $WM_PROJECT_DIR/etc/settings.sh:" @@ -183,6 +189,25 @@ OpenFOAM) fi unset gcc_version gccDir unset gmp_version gmpDir mpfr_version mpfrDir mpc_version mpcDir + + if [ -n "$clang_version" ] + then + clangDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$clang_version + + # Check that the compiler directory can be found + [ -d "$clangDir" ] || { + echo + echo "Warning in $WM_PROJECT_DIR/etc/settings.sh:" + echo " Cannot find $clangDir 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 $clangDir/share/man + _foamAddPath $clangDir/bin + fi + unset clang_version clangDir ;; esac diff --git a/src/OSspecific/POSIX/fileMonitor.C b/src/OSspecific/POSIX/fileMonitor.C index 48807d2e68..982d5e28dc 100644 --- a/src/OSspecific/POSIX/fileMonitor.C +++ b/src/OSspecific/POSIX/fileMonitor.C @@ -49,19 +49,19 @@ Class defineTypeNameAndDebug(Foam::fileMonitor, 0); -template<> -const char* Foam::NamedEnum::names[] = -{ - "unmodified", - "modified", - "deleted" -}; const Foam::NamedEnum Foam::fileMonitor::fileStateNames_; - namespace Foam { + template<> + const char* Foam::NamedEnum::names[] = + { + "unmodified", + "modified", + "deleted" + }; + //- Reduction operator for PackedList of fileState class reduceFileStates { diff --git a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.H b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.H index 29896fc836..0e826742d9 100644 --- a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.H +++ b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTable.H @@ -72,6 +72,11 @@ class HashPtrTable template void read(Istream&, const INew& inewt); + //- Read from dictionary using given dictionary constructor class + template + void read(const dictionary& dict, const INew& inewt); + + public: @@ -91,6 +96,10 @@ public: //- Construct from Istream using default Istream constructor class HashPtrTable(Istream&); + //- Construct from dictionary using default dictionary constructor + // class + HashPtrTable(const dictionary& dict); + //- Construct as copy HashPtrTable(const HashPtrTable&); @@ -112,6 +121,9 @@ public: //- Clear all entries from table void clear(); + //- Write + void write(Ostream& os) const; + // Member Operators diff --git a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.C b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.C index 1930e117b3..82c02609dd 100644 --- a/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.C +++ b/src/OpenFOAM/containers/HashTables/HashPtrTable/HashPtrTableIO.C @@ -27,6 +27,7 @@ License #include "Istream.H" #include "Ostream.H" #include "INew.H" +#include "dictionary.H" // * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // @@ -137,6 +138,39 @@ void Foam::HashPtrTable::read(Istream& is, const INew& inewt) } +template +template +void Foam::HashPtrTable::read +( + const dictionary& dict, + const INew& inewt +) +{ + forAllConstIter(dictionary, dict, iter) + { + insert(iter().keyword(), inewt(dict.subDict(iter().keyword())).ptr()); + } +} + + +template +void Foam::HashPtrTable::write(Ostream& os) const +{ + + for + ( + typename HashPtrTable::const_iterator + iter = this->begin(); + iter != this->end(); + ++iter + ) + { + const T* ptr = iter(); + ptr->write(os); + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template @@ -154,6 +188,13 @@ Foam::HashPtrTable::HashPtrTable(Istream& is) } +template +Foam::HashPtrTable::HashPtrTable(const dictionary& dict) +{ + read(dict, INew()); +} + + // * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * // template diff --git a/src/OpenFOAM/containers/Lists/PackedList/PackedBoolList.H b/src/OpenFOAM/containers/Lists/PackedList/PackedBoolList.H index 7e47674b8b..fb790a3e05 100644 --- a/src/OpenFOAM/containers/Lists/PackedList/PackedBoolList.H +++ b/src/OpenFOAM/containers/Lists/PackedList/PackedBoolList.H @@ -51,6 +51,12 @@ SeeAlso namespace Foam { +// Forward declaration +class PackedBoolList; + +//- @typedef A List of PackedBoolList +typedef List PackedBoolListList; + /*---------------------------------------------------------------------------*\ Class PackedBoolList Declaration \*---------------------------------------------------------------------------*/ diff --git a/src/OpenFOAM/containers/Lists/UList/UList.H b/src/OpenFOAM/containers/Lists/UList/UList.H index 8f7e009287..d0cb05fc17 100644 --- a/src/OpenFOAM/containers/Lists/UList/UList.H +++ b/src/OpenFOAM/containers/Lists/UList/UList.H @@ -59,6 +59,7 @@ template class SubList; template class UList; template Ostream& operator<<(Ostream&, const UList&); +typedef UList