Skip to content
Snippets Groups Projects
  1. Sep 04, 2017
  2. Apr 04, 2018
  3. Jul 13, 2017
  4. Dec 14, 2017
  5. Dec 15, 2017
  6. Dec 13, 2017
    • Will Bainbridge's avatar
      ENH: rigidBodyModelState: Added time value member · fe595af8
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      The absolute value of the the time has been added to the rigid body
      model state. This value is not directly necessary for calculating the
      evolution of the rigid body system, it just facilitates the
      implementation of sub-models which are in some way time-dependent.
      fe595af8
  7. Dec 01, 2017
  8. Nov 29, 2017
  9. Nov 22, 2017
  10. Nov 16, 2017
    • Henry Weller's avatar
      ENH: surfaceFilmModels::waxSolventEvaporation, waxSolventViscosity: new wax/solvent film models · 512252a6
      Henry Weller authored and Andrew Heather's avatar Andrew Heather committed
      to support the evaporation of the solvent from the wax film and the changes in
      viscosity caused by the reduction in solvent content.
      
      BUG: filmViscosityModel::thixotropicViscosity: Corrected sign of impingement rate
      
      to compensate for rhoSp having the wrong sign
      
      BUG: surfaceFilmModels::waxSolventEvaporation: Corrected handling of impingement
      
      ENH: surfaceFilmModels::waxSolventViscosity: Changed mixing to mole-fraction based
      
      ENH: surfaceFilmModels::thermoSingleLayer: Added call to solveContinuity before updateSubmodels
      
      to allow sub-models to solve transport equations for conserved properties
      512252a6
  11. Nov 14, 2017
  12. Nov 09, 2017
  13. Nov 06, 2017
    • Will Bainbridge's avatar
      ENH: reconstructParMesh: Match face point averages on coupled patches · f30e0ab8
      Will Bainbridge authored and Andrew Heather's avatar Andrew Heather committed
      In the event that matching centroids across a coupled patch pair fails,
      we fall back to matching the face point average. The latter can be
      obtained more reliably on degenerate faces as the calculation does not
      involve division by the face area.
      
      This fallback was already implemented as part of processorPolyPatch.
      This change also applies it to the faceCoupleInfo class used by
      reconstructParMesh.
      f30e0ab8
  14. Nov 07, 2017
  15. Nov 02, 2017
  16. Oct 31, 2017
  17. Oct 30, 2017
    • Henry Weller's avatar
      ENH: compressibleInterPhaseTransportFoam: New variant of compressibleInterFoam... · dbc111e6
      Henry Weller authored and Andrew Heather's avatar Andrew Heather committed
      ENH: compressibleInterPhaseTransportFoam: New variant of compressibleInterFoam supporting separate phase stress models
      
      In this version of compressibleInterFoam separate stress models (laminar,
      non-Newtonian, LES or RAS) are instantiated for each of the two phases allowing
      for completely different modeling for the phases.
      
      e.g. in the climbingRod tutorial case provided a Newtonian laminar model is
      instantiated for the air and a Maxwell non-Newtonian model is instantiated for
      the viscoelastic liquid.  To stabilize the Maxwell model in regions where the
      liquid phase-fraction is 0 the new symmTensorPhaseLimitStabilization fvOption is
      applied.
      
      Other phase stress modeling combinations are also possible, e.g. the air may be
      turbulent but the liquid laminar and an RAS or LES model applied to the air
      only.  However, to stabilize this combination a suitable fvOption would need to
      be applied to the turbulence properties where the air phase-fraction is 0.
      
      Henry G. Weller, Chris Greenshields
      CFD Direct Ltd.
      dbc111e6
  18. Oct 27, 2017
  19. Oct 26, 2017
  20. 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
  21. 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
  22. Oct 18, 2017
  23. Oct 17, 2017
  24. Oct 13, 2017
  25. Oct 12, 2017
  26. Oct 11, 2017
  27. Oct 09, 2017
  28. Oct 06, 2017
  29. 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
  30. Oct 05, 2017
  31. Oct 03, 2017
  32. Sep 28, 2017
  33. 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
  34. Sep 22, 2017
  35. Sep 19, 2017