Skip to content
Snippets Groups Projects
  1. Jun 14, 2017
  2. Jun 13, 2017
    • Mark OLESEN's avatar
      TUT: consistent writeCompression option · 0ea219ad
      Mark OLESEN authored
      - Use on/off vs longer compressed/uncompressed.
        For consistency, replaced yes/no with on/off.
      
      - Avoid the combination of binary/compressed,
        which is disallowed and provokes a warning anyhow
      0ea219ad
  3. Jun 12, 2017
  4. Jun 08, 2017
  5. Jun 06, 2017
  6. May 18, 2017
  7. Feb 23, 2017
  8. Feb 20, 2017
  9. Feb 17, 2017
    • 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
  10. Dec 23, 2016
  11. Dec 19, 2016
  12. Dec 16, 2016
  13. Dec 14, 2016
  14. Nov 22, 2016
  15. Nov 21, 2016
  16. Nov 20, 2016
  17. Nov 02, 2016
    • Mark Olesen's avatar
      ENH: consistent output format for coupled geometry description (issue #278) · 54c40e73
      Mark Olesen authored
      - In the corner case with few faces or points, the normal List I/O
        results in a compact list representation.
      
        This is less than desirable for external programs with simple
        line-based parsers.
      
      - Write exactly the following
      
      *Faces*
      // Patch: <word-Region> <word-Patch>
      <int-nFaces>
      (
      <int-faceSize>(<int> .. <int>)
      ...
      )
      
      *Points*
      // Patch: <word-Region> <word-Patch>
      <int-nPoints>
      (
      (<float-x> <float-y> <float-z>)
      ...
      )
      
      STYLE: only use serial form of createExternalCoupledPatchGeometry in tutorial
      
      - less confusing for the user, who wonders why it is being done twice.
      54c40e73
  18. Oct 28, 2016
  19. Oct 25, 2016
  20. Oct 03, 2016
  21. Sep 28, 2016
  22. Sep 27, 2016
  23. Sep 26, 2016
  24. Sep 23, 2016
  25. Sep 05, 2016
    • Henry Weller's avatar
      PBiCGStab: New preconditioned bi-conjugate gradient stabilized solver for asymmetric lduMatrices · 0857f479
      Henry Weller authored
      using a run-time selectable preconditioner
      
      References:
          Van der Vorst, H. A. (1992).
          Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG
          for the solution of nonsymmetric linear systems.
          SIAM Journal on scientific and Statistical Computing, 13(2), 631-644.
      
          Barrett, R., Berry, M. W., Chan, T. F., Demmel, J., Donato, J.,
          Dongarra, J., Eijkhout, V., Pozo, R., Romine, C. & Van der Vorst, H.
          (1994).
          Templates for the solution of linear systems:
          building blocks for iterative methods
          (Vol. 43). Siam.
      
      See also: https://en.wikipedia.org/wiki/Biconjugate_gradient_stabilized_method
      
      Tests have shown that PBiCGStab with the DILU preconditioner is more
      robust, reliable and shows faster convergence (~2x) than PBiCG with
      DILU, in particular in parallel where PBiCG occasionally diverges.
      
      This remarkable improvement over PBiCG prompted the update of all
      tutorial cases currently using PBiCG to use PBiCGStab instead.  If any
      issues arise with this update please report on Mantis: http://bugs.openfoam.org
      0857f479
  26. Jun 27, 2016
  27. Jun 15, 2016
  28. Jun 14, 2016
  29. Jun 13, 2016
  30. Jun 03, 2016
  31. May 21, 2016
    • Henry Weller's avatar
      Standardized the selection of required and optional fields in BCs, fvOptions, functionObjects etc. · 3eec5854
      Henry Weller authored
      In most boundary conditions, fvOptions etc. required and optional fields
      to be looked-up from the objectRegistry are selected by setting the
      keyword corresponding to the standard field name in the BC etc. to the
      appropriate name in the objectRegistry.  Usually a default is provided
      with sets the field name to the keyword name, e.g. in the
      totalPressureFvPatchScalarField the velocity is selected by setting the
      keyword 'U' to the appropriate name which defaults to 'U':
      
              Property     | Description             | Required    | Default value
              U            | velocity field name     | no          | U
              phi          | flux field name         | no          | phi
              .
              .
              .
      
      However, in some BCs and functionObjects and many fvOptions another
      convention is used in which the field name keyword is appended by 'Name'
      e.g.
      
              Property     | Description             | Required    | Default value
              pName        | pressure field name     | no          | p
              UName        | velocity field name     | no          | U
      
      This difference in convention is unnecessary and confusing, hinders code
      and dictionary reuse and complicates code maintenance.  In this commit
      the appended 'Name' is removed from the field selection keywords
      standardizing OpenFOAM on the first convention above.
      3eec5854
  32. May 15, 2016
    • Henry Weller's avatar
      functionObjects: rewritten to all be derived from 'functionObject' · 78d2971b
      Henry Weller authored
        - Avoids the need for the 'OutputFilterFunctionObject' wrapper
        - Time-control for execution and writing is now provided by the
          'timeControlFunctionObject' which instantiates the processing
          'functionObject' and controls its operation.
        - Alternative time-control functionObjects can now be written and
          selected at run-time without the need to compile wrapped version of
          EVERY existing functionObject which would have been required in the
          old structure.
        - The separation of 'execute' and 'write' functions is now formalized in the
          'functionObject' base-class and all derived classes implement the
          two functions.
        - Unnecessary implementations of functions with appropriate defaults
          in the 'functionObject' base-class have been removed reducing
          clutter and simplifying implementation of new functionObjects.
        - The 'coded' 'functionObject' has also been updated, simplified and tested.
        - Further simplification is now possible by creating some general
          intermediate classes derived from 'functionObject'.
      78d2971b