Skip to content
Snippets Groups Projects
  1. Mar 09, 2017
  2. Mar 08, 2017
  3. Mar 07, 2017
  4. Mar 06, 2017
  5. Mar 03, 2017
  6. Feb 28, 2017
  7. Feb 27, 2017
  8. Feb 24, 2017
    • Henry Weller's avatar
      rhoSimpleFoam: Added support for transonic flow of liquids and real gases · 7d6845de
      Henry Weller authored
      Both stardard SIMPLE and the SIMPLEC (using the 'consistent' option in
      fvSolution) are now supported for both subsonic and transonic flow of all
      fluid types.
      7d6845de
    • Henry Weller's avatar
      rhoSimpleFoam: added support for compressible liquid flows · a1c8cde3
      Henry Weller authored
      rhoSimpleFoam now instantiates the lower-level fluidThermo which instantiates
      either a psiThermo or rhoThermo according to the 'type' specification in
      thermophysicalProperties, e.g.
      
      thermoType
      {
          type            hePsiThermo;
          mixture         pureMixture;
          transport       sutherland;
          thermo          janaf;
          equationOfState perfectGas;
          specie          specie;
          energy          sensibleInternalEnergy;
      }
      
      instantiates a psiThermo for a perfect gas with JANAF thermodynamics, whereas
      
      thermoType
      {
          type            heRhoThermo;
          mixture         pureMixture;
          properties      liquid;
          energy          sensibleInternalEnergy;
      }
      
      mixture
      {
          H2O;
      }
      
      instantiates a rhoThermo for water, see new tutorial
      compressible/rhoSimpleFoam/squareBendLiq.
      
      In order to support complex equations of state the pressure can no longer be
      unlimited and rhoSimpleFoam now limits the pressure rather than the density to
      handle start-up more robustly.
      
      For backward compatibility 'rhoMin' and 'rhoMax' can still be used in the SIMPLE
      sub-dictionary of fvSolution which are converted into 'pMax' and 'pMin' but it
      is better to set either 'pMax' and 'pMin' directly or use the more convenient
      'pMinFactor' and 'pMinFactor' from which 'pMax' and 'pMin' are calculated using
      the fixed boundary pressure or reference pressure e.g.
      
      SIMPLE
      {
          nNonOrthogonalCorrectors 0;
      
          pMinFactor      0.1;
          pMaxFactor      1.5;
      
          transonic       yes;
          consistent      yes;
      
          residualControl
          {
              p               1e-3;
              U               1e-4;
              e               1e-3;
              "(k|epsilon|omega)" 1e-3;
          }
      }
      a1c8cde3
  9. Feb 23, 2017
  10. Feb 22, 2017
  11. Feb 21, 2017
  12. Feb 20, 2017
  13. Feb 19, 2017
    • Henry Weller's avatar
      liquidThermo: rhoThermo instantiated on liquidProperties · f6dacfb4
      Henry Weller authored
      This allows single, multi-phase and VoF compressible simulations to be performed
      with the accurate thermophysical property functions for liquids provided by the
      liquidProperty classes.  e.g. in the
      multiphase/compressibleInterFoam/laminar/depthCharge2D tutorial water can now be
      specified by
      
      thermoType
      {
          type            heRhoThermo;
          mixture         pureMixture;
          properties      liquid;
          energy          sensibleInternalEnergy;
      }
      
      mixture
      {
          H2O;
      }
      
      as an alternative to the previous less accurate representation defined by
      
      thermoType
      {
          type            heRhoThermo;
          mixture         pureMixture;
          transport       const;
          thermo          hConst;
          equationOfState perfectFluid;
          specie          specie;
          energy          sensibleInternalEnergy;
      }
      
      mixture
      {
          specie
          {
              molWeight   18.0;
          }
          equationOfState
          {
              R           3000;
              rho0        1027;
          }
          thermodynamics
          {
              Cp          4195;
              Hf          0;
          }
          transport
          {
              mu          3.645e-4;
              Pr          2.289;
          }
      }
      
      However the increase in accuracy of the new simpler and more convenient
      specification and representation comes at a cost: the NSRDS functions used by
      the liquidProperties classes are relatively expensive to evaluate and the
      depthCharge2D case takes ~14% longer to run.
      f6dacfb4
  14. Feb 18, 2017
    • Henry Weller's avatar
      thermophysicalProperties: New base-class for liquidProperties and in the future gasProperties · d2be6454
      Henry Weller authored
      Description
          Base-class for thermophysical properties of solids, liquids and gases
          providing an interface compatible with the templated thermodynamics
          packages.
      
      liquidProperties, solidProperties and thermophysicalFunction libraries have been
      combined with the new thermophysicalProperties class into a single
      thermophysicalProperties library to simplify compilation and linkage of models,
      libraries and applications dependent on these classes.
      d2be6454
    • Henry Weller's avatar
      liquidProperties, solidProperties: Simplified input · de44d09a
      Henry Weller authored
      The entries for liquid and solid species can now be simply be the name unless
      property coefficients are overridden in which are specified in a dictionary as
      before e.g. in the tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek case
      the water is simply specified
      
      liquids
      {
          H2O;
      }
      
      and solid ash uses standard coefficients but the coefficients for carbon are
      overridden thus
      
      solids
      {
          C
          {
              rho             2010;
              Cp              710;
              kappa           0.04;
              Hf              0;
              emissivity      1.0;
          }
      
          ash;
      }
      de44d09a
  15. Feb 17, 2017
    • Henry Weller's avatar
      liquidProperties: Simplified dictionary format · 9b4f327e
      Henry Weller authored
      The defaultCoeffs entry is now redundant and supported only for backward
      compatibility.  To specify a liquid with default coefficients simply leave the
      coefficients dictionary empty:
      
          liquids
          {
              H2O {}
          }
      
      Any or all of the coefficients may be overridden by specifying the properties in
      the coefficients dictionary, e.g.
      
          liquids
          {
              H2O
              {
                  rho
                  {
                      a 1000;
                      b 0;
                      c 0;
                      d 0;
                  }
              }
          }
      9b4f327e
    • Henry Weller's avatar
      liquidProperties: simplified and generalized the IO · a6fd99b8
      Henry Weller authored
      When liquids are constructed from dictionary the coefficients are now first
      initialized to their standard values and overridden by the now optional entries
      provided in the dictionary.  For example to specify water with all the standard
      temperature varying properties but override only the density with a constant
      value of 1000 specify in thermophysicalProperties
      
      liquids
      {
          H2O
          {
              defaultCoeffs   no;
      
              H2OCoeffs
              {
                  rho
                  {
                      a 1000;
                      b 0;
                      c 0;
                      d 0;
                  }
              }
          }
      }
      a6fd99b8
    • Henry Weller's avatar
    • Henry Weller's avatar
    • Henry Weller's avatar
    • 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
  16. Feb 13, 2017
  17. Feb 12, 2017
    • Henry Weller's avatar
      functionObjects::scalarTransport: Added support for optional laminar and... · ae9522f0
      Henry Weller authored
      functionObjects::scalarTransport: Added support for optional laminar and turbulent diffusion coefficients
      
      Description
          Evolves a passive scalar transport equation.
      
          - To specify the field name set the \c field entry
          - To employ the same numerical schemes as another field set
            the \c schemesField entry,
          - A constant diffusivity may be specified with the \c D entry,
      
          - Alternatively if a turbulence model is available a turbulent diffusivity
            may be constructed from the laminar and turbulent viscosities using the
            optional diffusivity coefficients \c alphaD and \c alphaDt (which default
            to 1):
            \verbatim
                D = alphaD*nu + alphaDt*nut
            \endverbatim
      
      Resolves feature request https://bugs.openfoam.org/view.php?id=2453
      ae9522f0
  18. Feb 09, 2017