Skip to content
Snippets Groups Projects
  1. Jan 17, 2017
    • Henry Weller's avatar
      Multi-phase solvers: Improved handling of inflow/outflow BCs in MULES · ad92287a
      Henry Weller authored
      Avoids slight phase-fraction unboundedness at entertainment BCs and improved
      robustness.
      
      Additionally the phase-fractions in the multi-phase (rather than two-phase)
      solvers are adjusted to avoid the slow growth of inconsistency ("drift") caused
      by solving for all of the phase-fractions rather than deriving one from the
      others.
      ad92287a
  2. Jan 07, 2017
    • Henry Weller's avatar
      Rationalized the keyword to specify a file name in a dictionary to 'file' · 78a39643
      Henry Weller authored
      e.g. in tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/0/T
      
          hot
          {
              type            externalCoupledTemperature;
              commsDir        "${FOAM_CASE}/comms";
              file            "data";
              initByExternal  yes;
              log             true;
              value           uniform 307.75; // 34.6 degC
          }
      
      Previously both 'file' and 'fileName' were used inconsistently in different
      classes and given that there is no confusion or ambiguity introduced by using
      the simpler 'file' rather than 'fileName' this change simplifies the use and
      maintenance of OpenFOAM.
      78a39643
  3. Jan 05, 2017
  4. Dec 27, 2016
  5. Dec 19, 2016
    • Henry Weller's avatar
      reactingFoam::setRDeltaT: Add support for limiting the local time-step by the reaction rates · d36d8e37
      Henry Weller authored
      e.g. in the reactingFoam/laminar/counterFlowFlame2DLTS tutorial:
      
      PIMPLE
      {
          momentumPredictor no;
          nOuterCorrectors  1;
          nCorrectors     1;
          nNonOrthogonalCorrectors 0;
      
          maxDeltaT       1e-2;
          maxCo           1;
          alphaTemp       0.05;
          alphaY          0.05;
          Yref
          {
              O2          0.1;
              ".*"        1;
          }
          rDeltaTSmoothingCoeff 1;
          rDeltaTDampingCoeff 1;
      }
      
      will limit the LTS time-step according to the rate of consumption of 'O2'
      normalized by the reference mass-fraction of 0.1 and all other species
      normalized by the reference mass-fraction of 1.  Additionally the time-step
      factor of 'alphaY' is applied to all species.  Only the species specified in the
      'Yref' sub-dictionary are included in the LTS limiter and if 'alphaY' is omitted
      or set to 1 the reaction rates are not included in the LTS limiter.
      d36d8e37
  6. Dec 16, 2016
  7. Dec 15, 2016
    • Henry Weller's avatar
      Rationalized heat release rate functions · 1a2c77ab
      Henry Weller authored
      Combined 'dQ()' and 'Sh()' into 'Qdot()' which returns the heat-release rate in
      the normal units [kg/m/s3] and used as the heat release rate source term in
      the energy equations, to set the field 'Qdot' in several combustion solvers
      and for the evaluation of the local time-step when running LTS.
      1a2c77ab
  8. Dec 14, 2016
  9. Dec 13, 2016
  10. Dec 12, 2016
  11. Dec 06, 2016
  12. Dec 05, 2016
  13. Dec 04, 2016
  14. Dec 03, 2016
  15. Dec 01, 2016
  16. Nov 25, 2016
    • Henry Weller's avatar
      foamDictionary: Added support for manipulating lists of dictionaries · a7256d6f
      Henry Weller authored
        - provides support for manipulating polyMesh/boundary
      
        - changed behaviour of disableFunctionEntries option to preserve
          #include
      
        - dictionary: added reading of lists of dictionaries.
          + each list element may be accessed using the 'entryDDD' keyword
            according to their list index.
      
      Patch contributed by Mattijs Janssens
      a7256d6f
    • Henry Weller's avatar
      topoSet: cellZoneSet, pointZoneSet extensions · ce83f50f
      Henry Weller authored
      cellZones and pointZones can now be created in one action without the
      need to first create a cellSet or pointSet and converting that to the
      corresponding zone, e.g.
      
      actions
      (
          // Example: create cellZone from a box region
          {
              name    c0;
              type    cellZoneSet;
              action  new;
              source  boxToCell;
              sourceInfo
              {
                  box   (0.04 0 0)(0.06 100 100);
              }
          }
      );
      ce83f50f
  17. Nov 13, 2016
  18. Nov 11, 2016
  19. Nov 09, 2016
    • Henry Weller's avatar
      reactingEulerFoam, twoPhaseEulerFoam: Reinstated interfacial pressure-work · 0b2e584f
      Henry Weller authored
      Added the interfacial pressure-work terms according to:
      
      Ishii, M., Hibiki, T.,
      Thermo-fluid dynamics of two-phase flow,
      ISBN-10: 0-387-28321-8, 2006
      
      While this is the most common approach to handling the interfacial
      pressure-work it introduces numerical stability issues in regions of low
      phase-fraction and rapid flow deformation.  To alleviate this problem an
      optional limiter may be applied to the pressure-work term in either of
      the energy forms.  This may specified in the
      "thermophysicalProperties.<phase>" file, e.g.
      
      pressureWorkAlphaLimit 1e-3;
      
      which sets the pressure work term to 0 for phase-fractions below 1e-3.
      
      For particularly unstable cases a limit of 1e-2 may be necessary.
      0b2e584f
    • Henry Weller's avatar
      Revert "twoPhaseEulerFoam::EEqns: Updated pressure-work" · 772766a8
      Henry Weller authored
      This reverts commit 41643ef2.
      772766a8
  20. Nov 07, 2016
  21. Nov 05, 2016
  22. Nov 04, 2016
    • Henry Weller's avatar
      PVblockMeshReader: Added "Refresh" button to update the blockMesh · d175b347
      Henry Weller authored
      Reconstructs the blockMesh and updates the display from the current
      blockMeshDict so that any changes can viewed without exiting
      paraFoam -block
      d175b347
    • Henry Weller's avatar
      paraFoam -block: Added support for vertex and block names · 2dc141d5
      Henry Weller authored
      Patch contributed by Mattijs Janssens
      2dc141d5
    • Henry Weller's avatar
      reactingEulerFoam: Corrected and rationalized pressure-work · 527e1c87
      Henry Weller authored
      In many publications and Euler-Euler codes the pressure-work term in the
      total enthalpy is stated and implemented as -alpha*dp/dt rather than the
      conservative form derived from the total internal energy equation
      -d(alpha*p)/dt.  In order for the enthalpy and internal energy equations
      to be consistent this error/simplification propagates to the total
      internal energy equation as a spurious additional term p*d(alpha)/dt
      which is included in the OpenFOAM Euler-Euler solvers and causes
      stability and conservation issues.
      
      I have now re-derived the energy equations for multiphase flow from
      first-principles and implemented in the reactingEulerFoam solvers the
      correct conservative form of pressure-work in both the internal energy
      and enthalpy equations.
      
      Additionally an optional limiter may be applied to the pressure-work
      term in either of the energy forms to avoid spurious fluctuations in the
      phase temperature in regions where the phase-fraction -> 0.  This may
      specified in the "thermophysicalProperties.<phase>" file, e.g.
      
      pressureWorkAlphaLimit 1e-3;
      
      which sets the pressure work term to 0 for phase-fractions below 1e-3.
      527e1c87
  23. Oct 31, 2016
  24. Oct 28, 2016
  25. Oct 25, 2016
  26. Oct 18, 2016
    • Henry Weller's avatar
      foamDictionary: Added '-diff <dict>' option · bf8e1ba0
      Henry Weller authored
        - Write differences with respect to the specified dictionary
          (or sub entry if -entry specified)
      
        - Write the differences with respect to a template dictionary:
            foamDictionary 0/U -diff $FOAM_ETC/templates/closedVolume/0/U
      
        - Write the differences in boundaryField with respect to a
          template dictionary:
            foamDictionary 0/U -diff $FOAM_ETC/templates/closedVolume/0/U \
              -entry boundaryField
      
      Patch contributed by Mattijs Janssens
      bf8e1ba0
  27. Oct 13, 2016
    • Henry Weller's avatar
      blockMesh: New experimental support for projecting block face point to geometric surfaces · f5be4b05
      Henry Weller authored
      For example, to mesh a sphere with a single block the geometry is defined in the
      blockMeshDict as a searchableSurface:
      
          geometry
          {
              sphere
              {
                  type searchableSphere;
                  centre (0 0 0);
                  radius 1;
              }
          }
      
      The vertices, block topology and curved edges are defined in the usual
      way, for example
      
          v 0.5773502;
          mv -0.5773502;
      
          a 0.7071067;
          ma -0.7071067;
      
          vertices
          (
              ($mv $mv $mv)
              ( $v $mv $mv)
              ( $v  $v $mv)
              ($mv  $v $mv)
              ($mv $mv  $v)
              ( $v $mv  $v)
              ( $v  $v  $v)
              ($mv  $v  $v)
          );
      
          blocks
          (
              hex (0 1 2 3 4 5 6 7) (10 10 10) simpleGrading (1 1 1)
          );
      
          edges
          (
              arc 0 1 (0 $ma $ma)
              arc 2 3 (0 $a $ma)
              arc 6 7 (0 $a $a)
              arc 4 5 (0 $ma $a)
      
              arc 0 3 ($ma 0 $ma)
              arc 1 2 ($a 0 $ma)
              arc 5 6 ($a 0 $a)
          ...
      f5be4b05