Skip to content
Snippets Groups Projects
  1. Apr 26, 2017
    • Henry Weller's avatar
      externalWallHeatFluxTemperature: Added optional support for radiative flux to the outside · 104aac5f
      Henry Weller authored
      By specifying the optional outside surface emissivity radiative heat transfer to
      the ambient conditions is enabled.  The far-field is assumed to have an
      emissivity of 1 but this could be made an optional input in the future if
      needed.
      
      Relaxation of the surface temperature is now provided via the optional
      "relaxation" which aids stability of steady-state runs with strong radiative
      coupling to the boundary.
      104aac5f
  2. Apr 08, 2017
    • Henry Weller's avatar
      radiation: Corrected the name of the radiative heat flux from Qr to qr · 5c62d818
      Henry Weller authored
      The standard naming convention for heat flux is "q" and this is used for the
      conductive and convective heat fluxes is OpenFOAM.  The use of "Qr" for
      radiative heat flux is an anomaly which causes confusion, particularly for
      boundary conditions in which "Q" is used to denote power in Watts.  The name of
      the radiative heat flux has now been corrected to "qr" and all models, boundary
      conditions and tutorials updated.
      5c62d818
    • Henry Weller's avatar
      externalWallHeatFluxTemperatureFvPatchScalarField: Added "power" heat source option · 861b273e
      Henry Weller authored
      by combining with and rationalizing functionality from
      turbulentHeatFluxTemperatureFvPatchScalarField.
      externalWallHeatFluxTemperatureFvPatchScalarField now replaces
      turbulentHeatFluxTemperatureFvPatchScalarField which is no longer needed and has
      been removed.
      
      Description
          This boundary condition applies a heat flux condition to temperature
          on an external wall in one of three modes:
      
            - fixed power: supply Q
            - fixed heat flux: supply q
            - fixed heat transfer coefficient: supply h and Ta
      
          where:
          \vartable
              Q  | Power [W]
              q  | Heat flux [W/m^2]
              h  | Heat transfer coefficient [W/m^2/K]
              Ta | Ambient temperature [K]
          \endvartable
      
          For heat transfer coefficient mode optional thin thermal layer resistances
          can be specified through thicknessLayers and kappaLayers entries.
      
          The thermal conductivity \c kappa can either be retrieved from various
          possible sources, as detailed in the class temperatureCoupledBase.
      
      Usage
          \table
          Property     | Description                 | Required | Default value
          mode         | 'power', 'flux' or 'coefficient' | yes |
          Q            | Power [W]                   | for mode 'power'     |
          q            | Heat flux [W/m^2]           | for mode 'flux'     |
          h            | Heat transfer coefficient [W/m^2/K] | for mode 'coefficent' |
          Ta           | Ambient temperature [K]     | for mode 'coefficient' |
          thicknessLayers | Layer thicknesses [m] | no |
          kappaLayers  | Layer thermal conductivities [W/m/K] | no |
          qr           | Name of the radiative field | no | none
          qrRelaxation | Relaxation factor for radiative field | no | 1
          kappaMethod  | Inherited from temperatureCoupledBase | inherited |
          kappa        | Inherited from temperatureCoupledBase | inherited |
          \endtable
      
          Example of the boundary condition specification:
          \verbatim
          <patchName>
          {
              type            externalWallHeatFluxTemperature;
      
              mode            coefficient;
      
              Ta              uniform 300.0;
              h               uniform 10.0;
              thicknessLayers (0.1 0.2 0.3 0.4);
              kappaLayers     (1 2 3 4);
      
              kappaMethod     fluidThermo;
      
              value           $internalField;
          }
          \endverbatim
      861b273e
  3. Mar 10, 2017
  4. 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
  5. Dec 05, 2016
  6. Oct 06, 2016
    • Henry Weller's avatar
      reactingTwoPhaseEulerFoam::IATE: Added wallBoiling sub-model · d6b404db
      Henry Weller authored
      to handle the size of bubbles created by boiling.  To be used in
      conjunction with the alphatWallBoilingWallFunction boundary condition.
      
      The IATE variant of the wallBoiling tutorial case is provided to
      demonstrate the functionality:
      
      tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE
      d6b404db
  7. Aug 22, 2016
  8. Aug 05, 2016
  9. Aug 04, 2016
  10. Jun 19, 2016
  11. Jun 17, 2016
  12. Jun 16, 2016
  13. May 21, 2016
  14. May 18, 2016
  15. May 01, 2016
  16. Apr 30, 2016
    • Henry Weller's avatar
      Updated headers · 81f31acb
      Henry Weller authored
      81f31acb
    • Henry Weller's avatar
      GeometricField: Renamed internalField() -> primitiveField() and... · 3c053c2f
      Henry Weller authored
      GeometricField: Renamed internalField() -> primitiveField() and dimensionedInternalField() -> internalField()
      
      These new names are more consistent and logical because:
      
      primitiveField():
      primitiveFieldRef():
          Provides low-level access to the Field<Type> (primitive field)
          without dimension or mesh-consistency checking.  This should only be
          used in the low-level functions where dimensional consistency is
          ensured by careful programming and computational efficiency is
          paramount.
      
      internalField():
      internalFieldRef():
          Provides access to the DimensionedField<Type, GeoMesh> of values on
          the internal mesh-type for which the GeometricField is defined and
          supports dimension and checking and mesh-consistency checking.
      3c053c2f
  17. Apr 25, 2016
  18. Apr 16, 2016
  19. Mar 14, 2016
  20. Feb 29, 2016
  21. Feb 24, 2016
    • Henry Weller's avatar
      tmp: Improved reference count checks to provide better error diagnostics · c02bf70e
      Henry Weller authored
      in case of tmp misuse.
      
      Simplified tmp reuse pattern in field algebra to use tmp copy and
      assignment rather than the complex delayed call to 'ptr()'.
      
      Removed support for unused non-const 'REF' storage of non-tmp objects due to C++
      limitation in constructor overloading: if both tmp(T&) and tmp(const T&)
      constructors are provided resolution is ambiguous.
      
      The turbulence libraries have been upgraded and '-DCONST_TMP' option
      specified in the 'options' file to switch to the new 'tmp' behavior.
      c02bf70e
  22. Jan 10, 2016
  23. Jan 09, 2016
  24. Nov 15, 2015
  25. Nov 11, 2015
  26. Oct 30, 2015
  27. Oct 25, 2015
  28. Sep 25, 2015
  29. Aug 26, 2015
  30. Aug 22, 2015
  31. Aug 20, 2015
  32. Jun 24, 2015
  33. Jun 15, 2015