1. 04 Nov, 2016 4 commits
    • Henry Weller's avatar
      pointConstraint: Added constrainDisplacement · 77816563
      Henry Weller authored
      which directly applies the constraint to the displacement without
      external tensor ops.
      
      Patch contributed by Mattijs Janssens
      77816563
    • Henry Weller's avatar
      foamLog: Added clockTime · 9efe9440
      Henry Weller authored
      Patch contributed by Paul Edwards, Intel
      9efe9440
    • Henry Weller's avatar
      etc/bashrc: Added support for sourcing etc/bashrc with relative path · 53583142
      Henry Weller authored
      Patch contributed by Bruno Santos
      Resolves bug-report http://bugs.openfoam.org/view.php?id=2310
      53583142
    • Henry Weller's avatar
      reactingEulerFoam: Corrected and rationalized pressure-work · b5206472
      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.
      b5206472
  2. 01 Nov, 2016 1 commit
  3. 31 Oct, 2016 5 commits
  4. 30 Oct, 2016 1 commit
  5. 29 Oct, 2016 1 commit
  6. 28 Oct, 2016 1 commit
  7. 27 Oct, 2016 1 commit
  8. 25 Oct, 2016 3 commits
  9. 21 Oct, 2016 2 commits
  10. 20 Oct, 2016 1 commit
  11. 19 Oct, 2016 3 commits
  12. 18 Oct, 2016 4 commits
  13. 17 Oct, 2016 1 commit
  14. 16 Oct, 2016 1 commit
  15. 15 Oct, 2016 2 commits
  16. 13 Oct, 2016 2 commits
    • Henry Weller's avatar
      blockMesh: New experimental support for projecting block face point to geometric surfaces · 00920318
      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)
              arc 4 7 ($ma 0 $a)
      
              arc 0 4 ($ma $ma 0)
              arc 1 5 ($a $ma 0)
              arc 2 6 ($a $a 0)
              arc 3 7 ($ma $a 0)
          );
      
      which will produce a mesh in which the block edges conform to the sphere
      but the faces of the block lie somewhere between the original cube and
      the spherical surface which is a consequence of the edge-based
      transfinite interpolation.
      
      Now the projection of the block faces to the geometry specified above
      can also be specified:
      
          faces
          (
              project (0 4 7 3) sphere
              project (2 6 5 1) sphere
              project (1 5 4 0) sphere
              project (3 7 6 2) sphere
              project (0 3 2 1) sphere
              project (4 5 6 7) sphere
          );
      
      which produces a mesh that actually conforms to the sphere.
      
      See OpenFOAM-dev/tutorials/mesh/blockMesh/sphere
      
      This functionality is experimental and will undergo further development
      and generalization in the future to support more complex surfaces,
      feature edge specification and extraction etc.  Please get involved if
      you would like to see blockMesh become a more flexible block-structured
      mesher.
      
      Henry G. Weller, CFD Direct.
      00920318
    • Henry Weller's avatar
  17. 12 Oct, 2016 2 commits
  18. 11 Oct, 2016 1 commit
  19. 09 Oct, 2016 4 commits