1. 17 Dec, 2017 1 commit
  2. 02 Aug, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: consolidate, cleanup some string methods · e70fc616
      Mark OLESEN authored
      - consolidate word::validated() into word::validate() and also allow
        as short form for string::validate<word>(). Also less confusing than
        having similarly named methods that essentially do the same thing.
      
      - more consistent const access when iterating over strings
      
      - add valid(char) for keyType and wordRe
      e70fc616
  3. 17 Jul, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: make treatment of stream allocators more uniform (issue #532) · 86ef9e86
      Mark OLESEN authored
      - use allocator class to wrap the stream pointers instead of passing
        them into ISstream, OSstream and using a dynamic cast to delete
        then. This is especially important if we will have a bidirectional
        stream (can't delete twice!).
      
      STYLE:
      
      - file stream constructors with std::string (C++11)
      
      - for rewind, explicit about in|out direction. This is not currently
        important, but avoids surprises with any future bidirectional access.
      
      - combined string streams in StringStream.H header.
        Similar to <sstream> include that has both input and output string
        streams.
      86ef9e86
  4. 21 Jul, 2017 1 commit
  5. 17 Feb, 2017 1 commit
    • Henry Weller's avatar
      thermophysicalModels: Changed specie thermodynamics from mole to mass basis · c52e4b58
      Henry Weller authored
      The fundamental properties provided by the specie class hierarchy were
      mole-based, i.e. provide the properties per mole whereas the fundamental
      properties provided by the liquidProperties and solidProperties classes are
      mass-based, i.e. per unit mass.  This inconsistency made it impossible to
      instantiate the thermodynamics packages (rhoThermo, psiThermo) used by the FV
      transport solvers on liquidProperties.  In order to combine VoF with film and/or
      Lagrangian models it is essential that the physical propertied of the three
      representations of the liquid are consistent which means that it is necessary to
      instantiate the thermodynamics packages on liquidProperties.  This requires
      either liquidProperties to be rewritten mole-based or the specie classes to be
      rewritten mass-based.  Given that most of OpenFOAM solvers operate
      mass-based (solve for mass-fractions and provide mass-fractions to sub-models it
      is more consistent and efficient if the low-level thermodynamics is also
      mass-based.
      
      This commit includes all of the changes necessary for all of the thermodynamics
      in OpenFOAM to operate mass-based and supports the instantiation of
      thermodynamics packages on liquidProperties.
      
      Note that most users, developers and contributors to OpenFOAM will not notice
      any difference in the operation of the code except that the confusing
      
          nMoles     1;
      
      entries in the thermophysicalProperties files are no longer needed or used and
      have been removed in this commet.  The only substantial change to the internals
      is that species thermodynamics are now "mixed" with mass rather than mole
      fractions.  This is more convenient except for defining reaction equilibrium
      thermodynamics for which the molar rather than mass composition is usually know.
      The consequence of this can be seen in the adiabaticFlameT, equilibriumCO and
      equilibriumFlameT utilities in which the species thermodynamics are
      pre-multiplied by their molecular mass to effectively convert them to mole-basis
      to simplify the definition of the reaction equilibrium thermodynamics, e.g. in
      equilibriumCO
      
          // Reactants (mole-based)
          thermo FUEL(thermoData.subDict(fuelName)); FUEL *= FUEL.W();
      
          // Oxidant (mole-based)
          thermo O2(thermoData.subDict("O2")); O2 *= O2.W();
          thermo N2(thermoData.subDict("N2")); N2 *= N2.W();
      
          // Intermediates (mole-based)
          thermo H2(thermoData.subDict("H2")); H2 *= H2.W();
      
          // Products (mole-based)
          thermo CO2(thermoData.subDict("CO2")); CO2 *= CO2.W();
          thermo H2O(thermoData.subDict("H2O")); H2O *= H2O.W();
          thermo CO(thermoData.subDict("CO")); CO *= CO.W();
      
          // Product dissociation reactions
      
          thermo CO2BreakUp
          (
              CO2 == CO + 0.5*O2
          );
      
          thermo H2OBreakUp
          (
              H2O == H2 + 0.5*O2
          );
      
      Please report any problems with this substantial but necessary rewrite of the
      thermodynamic at https://bugs.openfoam.org
      
      Henry G. Weller
      CFD Direct Ltd.
      c52e4b58
  6. 12 Jul, 2016 1 commit
  7. 18 Jan, 2016 1 commit
  8. 10 Jan, 2016 1 commit
  9. 20 Nov, 2015 1 commit
  10. 11 Nov, 2015 1 commit
  11. 13 Sep, 2013 1 commit
  12. 01 Feb, 2013 1 commit
  13. 25 Jan, 2013 1 commit
  14. 20 Jan, 2013 1 commit
  15. 17 Jan, 2013 2 commits
  16. 24 Sep, 2012 2 commits
  17. 14 Aug, 2011 1 commit
  18. 14 Feb, 2011 1 commit
  19. 19 Jan, 2011 1 commit
  20. 14 Jan, 2011 1 commit
  21. 07 Jan, 2011 1 commit
  22. 05 Jan, 2011 2 commits
  23. 11 Oct, 2010 1 commit
  24. 07 May, 2010 1 commit
  25. 12 Apr, 2010 1 commit
  26. 29 Mar, 2010 1 commit
  27. 25 Feb, 2010 1 commit
  28. 04 Feb, 2010 1 commit
  29. 16 Dec, 2009 1 commit
  30. 13 Nov, 2009 1 commit
  31. 28 Aug, 2009 1 commit
  32. 10 Jun, 2009 2 commits
  33. 10 Jan, 2009 1 commit
    • Mark Olesen's avatar
      Simplify checking of container (List/HashTable, strings) sizes · 95dcb6de
      Mark Olesen authored
      - can use 'XX.empty()' instead of 'XX.size() == 0', 'XX.size() < 1' or
        'XX.size() <= 0' or for simpler coding.
        It also has the same number of characters as '!XX.size()' and /might/ be
        more readable
      
      - many size checking had 'XX.size() > 0', 'XX.size() != 0', or 'XX.size() >= 1'
        when a simple 'XX.size()' suffices
      95dcb6de
  34. 31 Dec, 2008 1 commit
  35. 22 Jul, 2008 1 commit
  36. 25 Jun, 2008 1 commit