1. 24 Jun, 2018 1 commit
    • Mark OLESEN's avatar
      SUBMODULE: updates for catalyst · d9568a4b
      Mark OLESEN authored
      - SIGFPE handling, cmake configuration
      
      CONFIG: adjust for simplified Catalyst channel naming
      
      - no sub-channels, select volField output based in the
        (internal | boundary) dictionary switches instead
      d9568a4b
  2. 21 May, 2018 1 commit
  3. 11 May, 2018 1 commit
  4. 11 Apr, 2018 1 commit
    • Mark OLESEN's avatar
      ENH: allow "<case>", "<system>" ... in the string expansions (issue #792) · 5f88e427
      Mark OLESEN authored
      - the expansions were previously required as slash to follow, but
        now either are possible.
      
          "<case>", "<case>/" both yield the same as "$FOAM_CASE" and
          will not have a trailing slash in the result. The expansion of
          "$FOAM_CASE/" will however have a trailing slash.
      
      - adjust additional files using these expansions
      5f88e427
  5. 10 Apr, 2018 1 commit
  6. 07 Nov, 2017 2 commits
  7. 30 Aug, 2017 2 commits
  8. 29 Jul, 2017 1 commit
    • Mark OLESEN's avatar
      ENH: support "one-shot" changes to the dictionary inputMode (issue #429) · 4e48beff
      Mark OLESEN authored
      - Instead of relying on #inputMode to effect a global change it is now
        possible (and recommended) to a temporary change in the inputMode
        for the following entry.
      
           #default   : provide default value if entry is not already defined
           #overwrite : silently remove a previously existing entry
           #warn      : warn about duplicate entries
           #error     : error if any duplicate entries occur
           #merge     : merge sub-dictionaries when possible (the default mode)
      
        This is generally less cumbersome than the switching the global
        inputMode. For example to provide a set of fallback values.
      
            #includeIfPresent "user-files"
            ...
            #default value uniform 10;
      
        vs.
      
            #includeIfPresent "user-files"
            #inputMode protect
            ...
            value uniform 10;
            #inputMode merge    // _Assuming_ we actually had this before
      
        These directives can also be used to suppress the normal dictionary
        merge semantics:
      
           #overwrite dict { entry val; ... }
      4e48beff
  9. 15 Sep, 2017 1 commit
    • Will Bainbridge's avatar
      ENH: foamyHexMesh: Set no refinement iterations in global dictionary · 66b3934a
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      ENH: foamyHexMesh: Made default region volume type that of it's parent
      
      Foamy surface conformation entries have a "meshableSide" entry which
      controls which side of the surface is to be meshed. Typically this is
      set "inside" for boundaries and "both" for baffles. A sub-region's
      default entry is now taken from it's parent, rather than a specific
      value (it was "inside"). This is consistent with how other entries are
      handled.
      
      surfaceConformation
      {
          locationInMesh      (0 0 0);
      
          geometryToConformTo
          {
              baffle
              {
                  featureMethod           extractFeatures;
                  includedAngle           120;
                  meshableSide            both; // <-- per-surface setting
      
                  regions
                  {
                      disk
                      {
                          meshableSide    both; // <-- per-region setting*
      
                          // *in this example, this entry is not needed, as it
                          // is taken from the per-surface setting above
                      }
                  }
              }
      
              // ...
          }
      }
      
      ENH: foamyHexMesh: Added (reinstated) baffle patches
      
      A patch can now be assigned to a baffle surface. This assignment will
      take precedence over any face-zones.
      
      surfaceConformation
      {
          locationInMesh      (0 0 0);
      
          geometryToConformTo
          {
              disk
              {
                  featureMethod           extractFeatures;
                  includedAngle           120;
                  meshableSide            both; // <-- baffle
                  patchInfo
                  {
                      type wall;
                      inGroups (walls);
                  }
              }
      
              // ...
          }
      }
      
      STYLE: foamyHexMesh: Switched off output of all the secondary meshes
      66b3934a
  10. 07 Jul, 2017 1 commit
  11. 14 Jun, 2017 1 commit
    • mattijs's avatar
      ENH: overset: Initial release of overset capability. · fd665b4a
      mattijs authored
      Adds overset discretisation to selected physics:
      - diffusion : overLaplacianDyMFoam
      - incompressible steady : overSimpleFoam
      - incompressible transient : overPimpleDyMFoam
      - compressible transient: overRhoPimpleDyMFoam
      - two-phase VOF: overInterDyMFoam
      
      The overset method chosen is a parallel, fully implicit implementation
      whereby the interpolation (from donor to acceptor) is inserted as an
      adapted discretisation on the donor cells, such that the resulting matrix
      can be solved using the standard linear solvers.
      
      Above solvers come with a set of tutorials, showing how to create and set-up
      simple simulations from scratch.
      fd665b4a
  12. 13 Jun, 2017 1 commit
  13. 05 May, 2017 1 commit
  14. 28 Apr, 2017 1 commit
    • Will Bainbridge's avatar
      Lagrangian: Rewrite of the particle tracking algorithm to function in · 743dea87
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      terms of the local barycentric coordinates of the current tetrahedron,
      rather than the global coordinate system.
      
      Barycentric tracking works on any mesh, irrespective of mesh quality.
      Particles do not get "lost", and tracking does not require ad-hoc
      "corrections" or "rescues" to function robustly, because the calculation
      of particle-face intersections is unambiguous and reproducible, even at
      small angles of incidence.
      
      Each particle position is defined by topology (i.e. the decomposed tet
      cell it is in) and geometry (i.e. where it is in the cell). No search
      operations are needed on restart or reconstruct, unlike when particle
      positions are stored in the global coordinate system.
      
      The particle positions file now contains particles' local coordinates
      and topology, rather than the global coordinates and cell. This change
      to the output format is not backwards compatible. Existing cases with
      Lagrangian data will not restart, but they will still run from time
      zero without any modification. This change was necessary in order to
      guarantee that the loaded particle is valid, and therefore
      fundamentally prevent "loss" and "search-failure" type bugs (e.g.,
      2517, 2442, 2286, 1836, 1461, 1341, 1097).
      
      The tracking functions have also been converted to function in terms
      of displacement, rather than end position. This helps remove floating
      point error issues, particularly towards the end of a tracking step.
      
      Wall bounded streamlines have been removed. The implementation proved
      incompatible with the new tracking algorithm. ParaView has a surface
      LIC plugin which provides equivalent, or better, functionality.
      
      Additionally, bug report <https://bugs.openfoam.org/view.php?id=2517>
      is resolved by this change.
      743dea87
  15. 20 Apr, 2017 1 commit
    • Henry Weller's avatar
      The "<type>Coeffs" sub-dictionary is now optional for most model parameters · 5c518365
      Henry Weller authored
      except turbulence and lagrangian which will also be updated shortly.
      
      For example in the nonNewtonianIcoFoam offsetCylinder tutorial the viscosity
      model coefficients may be specified in the corresponding "<type>Coeffs"
      sub-dictionary:
      
      transportModel  CrossPowerLaw;
      
      CrossPowerLawCoeffs
      {
          nu0         [0 2 -1 0 0 0 0]  0.01;
          nuInf       [0 2 -1 0 0 0 0]  10;
          m           [0 0 1 0 0 0 0]   0.4;
          n           [0 0 0 0 0 0 0]   3;
      }
      
      BirdCarreauCoeffs
      {
          nu0         [0 2 -1 0 0 0 0]  1e-06;
          nuInf       [0 2 -1 0 0 0 0]  1e-06;
          k           [0 0 1 0 0 0 0]   0;
          n           [0 0 0 0 0 0 0]   1;
      }
      
      which allows a quick change between models, or using the simpler
      
      transportModel  CrossPowerLaw;
      
      nu0         [0 2 -1 0 0 0 0]  0.01;
      nuInf       [0 2 -1 0 0 0 0]  10;
      m           [0 0 1 0 0 0 0]   0.4;
      n           [0 0 0 0 0 0 0]   3;
      
      if quick switching between models is not required.
      
      To support this more convenient parameter specification the inconsistent
      specification of seedSampleSet in the streamLine and wallBoundedStreamLine
      functionObjects had to be corrected from
      
          // Seeding method.
          seedSampleSet   uniform;  //cloud; //triSurfaceMeshPointSet;
      
          uniformCoeffs
          {
              type        uniform;
              axis        x;  //distance;
      
              // Note: tracks slightly offset so as not to be on a face
              start       (-1.001 -0.05 0.0011);
              end         (-1.001 -0.05 1.0011);
              nPoints     20;
          }
      
      to the simpler
      
          // Seeding method.
          seedSampleSet
          {
              type        uniform;
              axis        x;  //distance;
      
              // Note: tracks slightly offset so as not to be on a face
              start       (-1.001 -0.05 0.0011);
              end         (-1.001 -0.05 1.0011);
              nPoints     20;
          }
      
      which also support the "<type>Coeffs" form
      
          // Seeding method.
          seedSampleSet
          {
              type        uniform;
      
              uniformCoeffs
              {
                  axis        x;  //distance;
      
                  // Note: tracks slightly offset so as not to be on a face
                  start       (-1.001 -0.05 0.0011);
                  end         (-1.001 -0.05 1.0011);
                  nPoints     20;
              }
          }
      5c518365
  16. 31 Mar, 2017 1 commit
  17. 24 Mar, 2017 1 commit
  18. 14 Mar, 2017 1 commit
  19. 23 Dec, 2016 1 commit
  20. 16 Dec, 2016 1 commit
  21. 14 Dec, 2016 3 commits
  22. 23 Nov, 2016 1 commit
  23. 27 Sep, 2016 1 commit
  24. 12 Aug, 2016 1 commit
  25. 11 Aug, 2016 1 commit
  26. 31 Jul, 2016 1 commit
  27. 28 Jun, 2016 1 commit
  28. 27 Jun, 2016 2 commits
  29. 21 Jun, 2016 1 commit
  30. 17 Jun, 2016 1 commit
  31. 16 Jun, 2016 3 commits
  32. 13 Jun, 2016 2 commits