Commit Graph

17013 Commits

Author SHA1 Message Date
4e73d0e40e Merge remote-tracking branch 'origin/master' into develop 2020-01-10 10:02:08 +00:00
45a0f70a28 ENH: shortestPathSet: snappyHexMesh leak detection. Improved walking. 2020-01-09 11:37:40 +00:00
c186c884b2 ENH: collated: pass through label/scalar size. Fixes #1545. 2020-01-09 10:23:26 +00:00
8bbf26f197 Merge remote-tracking branch 'origin/master' into develop 2020-01-08 09:50:39 +00:00
8e78a27822 BUG: pressure FO - resolved hydrostatic contribution for incompressible cases. See #1544 2020-01-07 16:17:25 +00:00
1270024273 ENH: SemiImplicitSource - simplified handling of enums 2020-01-03 17:06:05 +00:00
be38f5fb11 Merge remote-tracking branch 'origin/master' into develop 2020-01-03 15:09:00 +00:00
ab0dd1f1a8 DEFEATURE: deprecate v2f model in favour of kEpsilonPhitF
- kEpsilonPhitF is a kEpsilon-based model which originated
    from (Durbin, 1995)’s v2-f methodology. However, the majority of
    v2-f model variants proved to be numerically stiff for segregated
    solution algorithms due to the coupled formulations of v2 and f fields,
    particularly on wall boundaries.

    The v2-f variant (i.e. OpenFOAM’s v2f model) due to
    (Lien and Kalitzin, 2001) reformulated the original v2-f model to enable
    segregated computations; however, a number of shortcomings regarding
    the model fidelity were reported in the literature.

    To overcome the shortcomings of the v2-f methodology, the v2-f approach
    was re-evaluated by (Laurence et al., 2005) by transforming v2 scale into
    its equivalent non-dimensional form, i.e. phit, to reduce the numerical
    stiffness.
    This variant, i.e. kEpsilonPhitF, is believed to provide numerical
    robustness, and insensitivity to grid anomalies while retaining the
    theoretical model fidelity of the original v2-f model.

    Accordingly the v2f RANS model is deprecated in favour of the variant
    kEpsilonPhitF model.
2020-01-03 09:40:58 +00:00
254d38d772 BUG: continuation of updateMethods with empty activeDesignVariables
When activeDesignVariables are not set explicitly, all design variables
are treated as active. These were allocated properly when starting from
0 but not when starting from an intermediate optimisation cycle
(e.g. running 5 optimisation cycles, stopping and restarting).

TUT: added a new tutorial including the restart of an optimisation run
to help identify future regression
2020-01-03 09:38:11 +00:00
fed6a9efd4 BUG: Wrong FatalIOError message in displacementMethod and optMeshMovement
- The core of the FatalIOError message was not printed due to exiting
  with FatalError instead of FatalIOError
- Changed the TypeName in all derived classes of displacementMethod so
  that the toc printed by the FatalIOError corresponds to what the user
  should add in dynamicMeshDict
2020-01-03 09:35:14 +00:00
122e496590 BUG: Fix issue 1535 in turbulentTemperatureRadCoupledMixed.
When a contact resistance is used the T field on each coupled
    patch is different due to the thermal resistance. Thus, instead
    of solving for a unique Tw at the wall, we solve for Tw1 at one side
    then, the Tnbr internal becomes Tw2, which is the T of the nbr
    patch.
2020-01-02 12:43:38 -08:00
0ff953411b BUG: Fix issue 1535 in turbulentTemperatureRadCoupledMixed.
When a contact resistance is used the T field on each coupled
patch is different due to the thermal resistance. Thus, instead
of solving for a unique Tw at the wall, we solve for Tw1 at one side
then, the Tnbr internal becomes Tw2, which is the T of the nbr patch.
2020-01-02 12:34:45 -08:00
ae2ab06312 REL: Release preparations 2019-12-23 09:49:23 +00:00
8b77946c67 BUG: Patch interaction models - correct container type introduced by c1b07cd103 2019-12-23 09:48:38 +00:00
a51bf0bed6 BUG: Updated production term regression introduced in b7aa89e177 2019-12-20 16:28:21 +00:00
630f7f7ff6 BUG: Fixing debug flag and write L in Bromley 2019-12-20 07:33:30 -08:00
df5a056fd3 GIT: interfaceTracking: relocate library 2019-12-19 15:32:34 +00:00
79588b9b53 ENH: Adding interTrack code
1) New skewCorrectedSnGrad for non-orthogonal and skewness corrector
2) New freeSurfacePressure and freeSurfacePressure working with
   interfaceTrackingFvMesh
3) New interfaceTrackingFvMesh
2019-12-19 15:32:34 +00:00
3a5bcde5ab ENH: waveMaker boundary condition - updated for backwards compatibility 2019-12-19 13:17:04 +00:00
7757a9b897 STYLE: extrudeModel: missing space 2019-12-19 13:01:06 +00:00
74b12c6afd ENH: improved separation of scanner/parser debug selection
- now use debug 2 for scanner and debug 4 for parser.
  Provided better feedback about what is being parsed (debug mode)

- relocate debug application to applications/tools/foamExprParserInfo
2019-12-19 13:16:26 +01:00
9ab75c5c3b STYLE: weightedFlux: adapt for word input 2019-12-19 09:21:32 +00:00
b7aa89e177 ENH: Turbulence models - ensure unlimited nut used in production terms 2019-12-19 08:45:54 +00:00
ea4130707e ENH: Added new multiphaseStabilizedTurbulence fvOption
See GL #1433

Applies corrections to turbulence kinetic energy equation and turbulence
viscosity field for incompressible multiphase flow cases.

Turbulence kinetic energy is over-predicted in VOF solvers at the phase
interface and throughout the water column in nearly-potential flow regions
beneath surface waves.

This fvOption applies corrections based on the references:

    Buoyancy source term in turbulence kinetic energy equation:

        Devolder, B., Rauwoens, P., and Troch, P. (2017).
        Application of a buoyancy-modified k-w SST turbulence model to
        simulate wave run-up around a monopile subjected to regular waves
        using OpenFOAM.
        Coastal Engineering, 125, 81-94.

    Correction to turbulence viscosity field:

        Larsen, B.E. and Fuhrman, D.R. (2018).
        On the over-production of turbulence beneath surface waves in
        Reynolds-averaged Navier-Stokes models
        J. Fluid Mech, 853, 419-460

Example usage:

    multiphaseStabilizedTurbulence1
    {
        type            multiphaseStabilizedTurbulence;
        active          yes;

        multiphaseStabilizedTurbulenceCoeffs
        {
            // Optional coefficients
            lambda2         0.1;   // A value of 0 sets the nut correction to 0
            Cmu             0.09;  // from k-epsilon model
            C               1.51;  // model coefficient from k-omega model
            alpha           1.36;  // 1/Prt
        }
    }

Thanks go to the Turbulence Technical Committee, and the useful discussions
with and code testing by Bjarke Eltard-Larsen and David Fuhrman (Technical
University of Denmark).
2019-12-19 08:45:54 +00:00
88f357fc39 ENH: fvOptions - added 'log' helper for verbose output 2019-12-19 08:45:54 +00:00
58009f652e COMP: Resolved some clang compiler warnings 2019-12-18 17:48:11 +00:00
ea94834022 DOC: fix turbulentInlet BC header (#1100)
STYLE: add getOrDefault(), missing doc dashes
2019-12-18 15:47:19 +00:00
7d252fa900 TUT: update velocityDampingConstraint header (#942)
STYLE: add getOrDefault(); const specifiers to velocityDampingConstraint
2019-12-18 15:47:19 +00:00
e38e5d6717 ENH: new RAS model: kEpsilonPhitF
ENH: modify fWallFunction for kEpsilonPhitF model

    The k-epsilon-phit-f turbulence closure model for incompressible and
    compressible flows.

    The model is a three-transport-equation linear-eddy-viscosity turbulence
    closure model alongside an elliptic relaxation equation:
      - Turbulent kinetic energy, \c k,
      - Turbulent kinetic energy dissipation rate, \c epsilon,
      - Normalised wall-normal fluctuating velocity scale, \c phit,
      - Elliptic relaxation factor, \c f.

    Reference:
    \verbatim
        Standard model (Tag:LUU):
            Laurence, D. R., Uribe, J. C., & Utyuzhnikov, S. V. (2005).
            A robust formulation of the v2−f model.
            Flow, Turbulence and Combustion, 73(3-4), 169–185.
            DOI:10.1007/s10494-005-1974-8
    \endverbatim

    The default model coefficients are (LUU:Eqs. 19-20):
    \verbatim
        kEpsilonPhitFCoeffs
        {
            Cmu         0.22,    // Turbulent viscosity constant
            Ceps1a      1.4,     // Model constant for epsilon
            Ceps1b      1.0,     // Model constant for epsilon
            Ceps1c      0.05,    // Model constant for epsilon
            Ceps2       1.9,     // Model constant for epsilon
            Cf1         1.4,     // Model constant for f
            Cf2         0.3,     // Model constant for f
            CL          0.25,    // Model constant for L
            Ceta        110.0,   // Model constant for L
            CT          6.0,     // Model constant for T
            sigmaK      1.0,     // Turbulent Prandtl number for k
            sigmaEps    1.3,     // Turbulent Prandtl number for epsilon
            sigmaPhit   1.0,     // Turbulent Prandtl number for phit = sigmaK
        }
    \endverbatim

Note
    The name of the original variable replacing 'v2' is 'phi' (LUU:Eq. 14).
    However, the name 'phi' preexisted in OpenFOAM; therefore, this name was
    replaced by 'phit'
2019-12-18 15:47:19 +00:00
2f07d4c1bc INT: Consistency updates for updated waveMaker condition 2019-12-18 13:57:41 +00:00
d0c5662172 INT: Initial IHCantabria update for waveMaker BC
Adds support for paddles to generate 3-D waves
2019-12-18 13:57:29 +00:00
6e8f0dbe76 INT: org integration
1) rPolynomial Eq of State
2) externalForce and softWall in rigidBodyDynamics

INT: Several minor bug fixes plus
2019-12-17 22:23:00 +00:00
5c74b709b1 BUG: setting to zero qem and qin in radiativeIntensityRay.
qem and qin were not set to zero for the wideBand model BC.
qin was used in the grey model BC to calculate Ir(the total
incoming heat flux). As it is now set to zero, the grey model
loops over the incoming rays to calculate Ir instead of relaying
on qin stored in radiativeIntensityRay.
2019-12-17 12:37:56 -08:00
e591cf130c ENH: objectiveDict is appended with objective name
to allow for continuation with averaging, line search and multiple
objectives
2019-12-17 19:56:14 +00:00
d496d6536d BUG: meritFunction file was not written in SQP 2019-12-17 19:56:14 +00:00
78bc63ffa4 ENH: added function in NURBS3DVolume
returning number of design variables per direction when symmetry is
applied
2019-12-17 19:56:14 +00:00
22ac759d12 ENH: NURBS3DVolumeCylindrical: added an origin vector
to parameterize regions not centered in (0,0,0)
2019-12-17 19:56:14 +00:00
c9aec64fb9 BUG: NURBS3DVolume was getting a wrong set of points
findPointsInBox was receiving points in the Cartesian system,
not local coordinate system
2019-12-17 19:56:14 +00:00
4e4c681c14 BUG: add missing fvMesh::solve(sphericalTensor) forward (closes #1526)
- got lost with overset changes
2019-12-17 15:17:24 +01:00
7c70125b92 COMP: remove masked OTstream::write(token&&) method (#1525) 2019-12-17 15:17:14 +01:00
1cf795a40f ENH: use exprString expansions for #eval
- follows the principle of least surprise if the expansion behaviour
  for #eval and expressions (eg, exprFixedValue) are the same.  This
  is possible now that we harness the regular stringOps::expand()
  within exprString::expand()
2019-12-17 09:47:51 +01:00
c1b07cd103 BUG: post-processing of parcels on patch interaction models
Adding check for p.active at the end of KinematicParcel::move.
    p.hitFace() is called only for active parcels.

    Setting to zero the initialization for stored lists of stick and
escape parcels
    in LocalInteraction and StandardWallInteraction models

    NOTE: KinematicParcel::hitPatch counts overall system escaped
    parcels and mass based on polyPatch type and not on type of
    patchInteractionModel. Thus, if a patch is a Wall for fluid
    but escape for parcel the overall report will be wrong but
    the local report for each patch is correct
2019-12-16 14:57:28 -08:00
1a3b50f635 GIT: stray line 2019-12-16 16:26:17 +01:00
eaa138443a STYLE: library functions using std::string 2019-12-16 16:16:53 +01:00
83e0501a77 Merge branch 'develop' of https://develop.openfoam.com/Development/openfoam into develop 2019-12-16 13:40:35 +00:00
da06067213 ENH: surfaceDistance: FO to calc distance-to-surface field. Fixes #1523. 2019-12-16 12:18:34 +00:00
1a16207e0d COMP: compilation of Test-QRMatrix (clang, int64)
- remove unused local functions from volumeExprDriver
2019-12-16 11:22:15 +01:00
c614388ddb BUG: Tensor2D derives from VectorSpace, not MatrixSpace 2019-12-15 19:02:18 +01:00
3b514140dc COMP: constructor used assignment operator 2019-12-15 13:37:37 +01:00
624591b886 COMP: ignore unused-const-variable in generated scanner code 2019-12-15 13:28:24 +01:00