Skip to content
Snippets Groups Projects
  1. Feb 22, 2016
  2. Feb 20, 2016
    • Henry Weller's avatar
      Boundary conditions: Added extrapolatedCalculatedFvPatchField · 99a10ece
      Henry Weller authored
      To be used instead of zeroGradientFvPatchField for temporary fields for
      which zero-gradient extrapolation is use to evaluate the boundary field
      but avoiding fields derived from temporary field using field algebra
      inheriting the zeroGradient boundary condition by the reuse of the
      temporary field storage.
      
      zeroGradientFvPatchField should not be used as the default patch field
      for any temporary fields and should be avoided for non-temporary fields
      except where it is clearly appropriate;
      extrapolatedCalculatedFvPatchField and calculatedFvPatchField are
      generally more suitable defaults depending on the manner in which the
      boundary values are specified or evaluated.
      
      The entire OpenFOAM-dev code-base has been updated following the above
      recommendations.
      
      Henry G. Weller
      CFD Direct
      99a10ece
  3. Feb 17, 2016
  4. Feb 15, 2016
  5. Feb 14, 2016
  6. Feb 13, 2016
    • Henry Weller's avatar
      Solvers: Added support for extrapolated pressure boundary conditions · fc2ce737
      Henry Weller authored
      The boundary conditions of HbyA are now constrained by the new "constrainHbyA"
      function which applies the velocity boundary values for patches for which the
      velocity cannot be modified by assignment and pressure extrapolation is
      not specified via the new
      "fixedFluxExtrapolatedPressureFvPatchScalarField".
      
      The new function "constrainPressure" sets the pressure gradient
      appropriately for "fixedFluxPressureFvPatchScalarField" and
      "fixedFluxExtrapolatedPressureFvPatchScalarField" boundary conditions to
      ensure the evaluated flux corresponds to the known velocity values at
      the boundary.
      
      The "fixedFluxPressureFvPatchScalarField" boundary condition operates
      exactly as before, ensuring the correct flux at fixed-flux boundaries by
      compensating for the body forces (gravity in particular) with the
      pressure gradient.
      
      The new "fixedFluxExtrapolatedPressureFvPatchScalarField" boundary
      condition may be used for cases with or without body-forces to set the
      pressure gradient to compensate not only for the body-force but also the
      extrapolated "HbyA" which provides a second-order boundary condition for
      pressure.  This is useful for a range a problems including impinging
      flow, extrapolated inlet conditions with body-forces or for highly
      viscous flows, pressure-induced separation etc.  To test this boundary
      condition at walls in the motorBike tutorial case set
      
          lowerWall
          {
              type            fixedFluxExtrapolatedPressure;
          }
      
          motorBikeGroup
          {
              type            fixedFluxExtrapolatedPressure;
          }
      
      Currently the new extrapolated pressure boundary condition is supported
      for all incompressible and sub-sonic compressible solvers except those
      providing implicit and tensorial porosity support.  The approach will be
      extended to cover these solvers and options in the future.
      
      Note: the extrapolated pressure boundary condition is experimental and
      requires further testing to assess the range of applicability,
      stability, accuracy etc.
      
      Henry G. Weller
      CFD Direct Ltd.
      fc2ce737
  7. Feb 12, 2016
  8. Feb 10, 2016
  9. Feb 09, 2016
  10. Feb 08, 2016
    • Henry Weller's avatar
      Function1: Rationalized the stream output · ef649ba9
      Henry Weller authored
      ef649ba9
    • Henry Weller's avatar
      Function1Types::Sine: Changed parameters to be of type Function1 for greater flexibility · 15cd7c14
      Henry Weller authored
          Templated sine function with support for an offset level.
      
              \f[
                  a sin(2 \pi f (t - t_0)) s + l
              \f]
      
          where
      
          \vartable
              symbol  | Description       | Data type
              a       | Amplitude         | Function1<scalar>
              f       | Frequency [1/s]   | Function1<scalar>
              s       | Type scale factor | Function1<Type>
              l       | Type offset level | Function1<Type>
              t_0     | Start time [s]    | scalar
              t       | Time [s]          | scalar
          \endvartable
      15cd7c14
    • Henry Weller's avatar
      Rename DataEntry -> Function1 · 968c888f
      Henry Weller authored
      Function1 is an abstract base-class of run-time selectable unary
      functions which may be composed of other Function1's allowing the user
      to specify complex functions of a single scalar variable, e.g. time.
      The implementations need not be a simple or continuous functions;
      interpolated tables and polynomials are also supported.  In fact form of
      mapping between a single scalar input and a single primitive type output
      is supportable.
      
      The primary application of Function1 is in time-varying boundary
      conditions, it also used for other functions of time, e.g. injected mass
      is spray simulations but is not limited to functions of time.
      968c888f
    • Henry Weller's avatar
      DataEntry/Sine: Corrected typo · c3f6a149
      Henry Weller authored
      c3f6a149
    • Henry Weller's avatar
      DataEntry/Sine: New DataEntryType which evaluates a sin function with offset · 96f2e3f3
      Henry Weller authored
      Description
          Templated sine function with support for an offset level.
      
              \f[
                  a sin(2 \pi f (t - t_0)) s + l
              \f]
      
          where
      
          \vartable
              a       | Amplitude
              f       | Frequency [1/s]
              s       | Type scale factor
              l       | Type offset level
              t_0     | Start time [s]
              t       | Time [s]
          \endvartable
      
          Example for a scalar:
          \verbatim
              <entryName> sine;
              <entryName>Coeffs
              {
                  frequency 10;
                  amplitude 0.1;
                  scale     2e-6;
                  level     2e-6;
              }
          \endverbatim
      
          Example for a vector:
          \verbatim
              <entryName> sine;
              <entryName>Coeffs
              {
                  frequency 10;
                  amplitude 1;
                  scale     (1 0.1 0);
                  level     (10 1 0);
              }
          \endverbatim
      96f2e3f3