Skip to content
Snippets Groups Projects
  1. Feb 22, 2017
  2. Feb 21, 2017
  3. Feb 20, 2017
  4. 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
  5. 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
  6. 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
  7. Feb 13, 2017
  8. 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
  9. Feb 09, 2017
  10. Feb 08, 2017
  11. Feb 07, 2017
  12. Feb 06, 2017
  13. Feb 03, 2017
  14. Feb 02, 2017
  15. Jan 30, 2017