Skip to content
Snippets Groups Projects
  1. Oct 20, 2017
    • Will Bainbridge's avatar
      BUG: RBD: restraints: Corrected restraint force transformations · 4dd8b3f2
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      The restraints generate either joint-local (tau) or global (fx) forces.
      At the moment they all generate the latter. This change corrects three
      of the four restraints so that the forces are in the gobal coordinate
      system and not the local coordinate system of the body.
      
      The problem with this is that the forward dynamics code then transforms
      most of the forces back to the body local coordinate system. A better
      solution would be to associate restraints which are more sensibly
      defined in a local frame with the joints instead of the bodies, and
      return the forces as part of the tau variable.
      4dd8b3f2
  2. Oct 19, 2017
    • Will Bainbridge's avatar
      ENH: semiPermeableBaffle: Added two new boundary conditions and a tutorial · 79ad0f06
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      Two boundary conditions for the modelling of semi-permeable baffles have
      been added. These baffles are permeable to a number of species within
      the flow, and are impermeable to others. The flux of a given species is
      calculated as a constant multipled by the drop in mass fraction across
      the baffle.
      
      The species mass-fraction condition requires the transfer constant and
      the name of the patch on the other side of the baffle:
      
      boundaryField
      {
          // ...
      
          membraneA
          {
              type            semiPermeableBaffleMassFraction;
              samplePatch     membranePipe;
              c               0.1;
              value           uniform 0;
          }
          membraneB
          {
              type            semiPermeableBaffleMassFraction;
              samplePatch     membraneSleeve;
              c               0.1;
              value           uniform 1;
          }
      }
      
      If the value of c is omitted, or set to zero, then the patch is
      considered impermeable to the species in question. The samplePatch entry
      can also be omitted in this case.
      
      The velocity condition does not require any special input:
      
      boundaryField
      {
          // ...
      
          membraneA
          {
              type            semiPermeableBaffleVelocity;
              value           uniform (0 0 0);
          }
          membraneB
          {
              type            semiPermeableBaffleVelocity;
              value           uniform (0 0 0);
          }
      }
      
      These two boundary conditions must be used in conjunction, and the
      mass-fraction condition must be applied to all species in the
      simulation. The calculation will fail with an error message if either is
      used in isolation.
      
      A tutorial, combustion/reactingFoam/RAS/membrane, has been added which
      demonstrates this transfer process.
      
      This work was done with support from Stefan Lipp, at BASF.
      79ad0f06
  3. Oct 18, 2017
  4. Oct 17, 2017
  5. Oct 13, 2017
  6. Oct 12, 2017
  7. Oct 11, 2017
  8. Oct 09, 2017
  9. Oct 06, 2017
  10. Sep 15, 2017
    • 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
  11. Oct 05, 2017
  12. Oct 03, 2017
  13. Sep 28, 2017
  14. Sep 20, 2017
    • Will Bainbridge's avatar
      ENH: lagrangian: Rewrite of integration schemes and transfer terms · a1679efa
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      The integration of force and heat transfer onto the particle is
      facilitated by a run-time-selectable integration scheme. These schemes
      were written to generate the value at the end of an intregration step
      and also an average value over the step from which the total transfer
      was computed.
      
      The average value in the Euler scheme was implemented incorrectly, which
      resulted in the momentum and heat transfer processes being
      non-conservative. Implementing the average correctly, however, would
      have inteoduced a number of trancendental functions which would have
      negated the purpose of the Euler scheme as the cheap and stable option.
      
      The schemes have been rewritten to generate changes over the step,
      rather than the final value. This change is then used to calculate the
      transfers. Regardless of the scheme, this formulation is guaranteed to
      be conservative, and the Euler scheme remains computationally
      inexpensive.
      
      This change was made with help from Timo Niemi, VTT
      This resolves bug report https://bugs.openfoam.org/view.php?id=2666
      
      ENH: integrationSchemes: Further simplification and optimisation
      
      Removed templating from integration schemes, improved the name
      convention, and optimised the utilisation so that the virtual call is
      only made once per integration in the KinematicParcel and the
      ThermoParcel.
      
      BUG: integrationSchemes: Corrections to coupled/non-coupled force splitting
      
      The integration splitting implemented in commit a5806207 has been shown
      to be incorrect in some cases. A new procedure has been implemented
      which can correctly split the implicit-explicit integral into a number
      of pieces, in order to calculate the contribution of each. This is
      intended for integrating coupled and non-coupled particle momentum and
      heat transfers.
      
      However, currently there is only ever one implicit coefficient used in
      these transfers (there is no implicit non-coupled contribution). The
      evaluation has therefore been short-cutted to only do the integration
      with respect to the coupled contributions. The splitting functionality
      has been retained in case additional separate implicit coefficients are
      required in the future.
      
      This change was made with help from Timo Niemi, VTT
      This resolves bug report https://bugs.openfoam.org/view.php?id=2666
      a1679efa
  15. Sep 22, 2017
  16. Sep 19, 2017
  17. Sep 15, 2017
  18. Sep 14, 2017
  19. Sep 09, 2017
  20. Sep 06, 2017
  21. May 09, 2018
  22. May 08, 2018
  23. May 07, 2018