Commit graph

1935 commits

Author SHA1 Message Date
Henry Weller
5c11aa1007 kOmegaSSTLM: Corrected coefficient in Fsublayer 2016-08-09 13:54:10 +01:00
Henry Weller
126813acae Corrected nullptr collateral damage
Resolves bug-report http://bugs.openfoam.org/view.php?id=2181
2016-08-08 15:38:53 +01:00
Henry Weller
4a301e94c6 functionObjects: Separated writeFile and logFiles (previously writeFiles) from regionFunctionObject
Now the functionality to write single graph files or log files (vs time)
may be used in the creation of any form of functionObject, not just
those relating to a mesh region.
2016-08-07 15:23:55 +01:00
Henry Weller
65207e29ea HashTable: Added C++11 initializer_list constructor
e.g.
    HashTable<label, string> table1
    {
        {"kjhk", 10},
        {"kjhk2", 12}
    };

    HashTable<label, label, Hash<label>> table2
    {
        {3, 10},
        {5, 12},
        {7, 16}
    };
2016-08-05 22:30:26 +01:00
Henry Weller
d2982c18ab Test-fileName: Added recent etcFiles.H 2016-08-05 17:25:56 +01:00
Henry Weller
7656c076c8 C++11: Replaced the C NULL with the safer C++11 nullptr
Requires gcc version 4.7 or higher
2016-08-05 17:19:38 +01:00
Henry Weller
618753c5b4 C++11: Update compilation rules to specify C++11 support and conformance
The change from C++0x to C++11 allows all of C++11 functionality to be
used in OpenFOAM, in particular constructor delegation which avoids code
duplication or constructor helper functions.  However, this also means a
change to the minimum gcc version supported which is now 4.7 rather than
4.5.

Note that gcc-4.7 does not support the entire C++11 standard but does
support all of the functionality currently needed for further OpenFOAM
development.  The minimum gcc-version which supports the entire C++11
standard is 4.8 which is now the recommended minimum gcc version.
2016-08-05 16:28:19 +01:00
Henry Weller
42e6cf574d FixedList: Add constructors from iterators and C++11 initializer_list using C++11 constructor delegation 2016-08-05 16:25:18 +01:00
Henry Weller
438c9b901b Test-List: Add demonstration of C++11 initializer list in conjunction with uniform initialization of vector
List<vector> list5
     {
         {5, 3, 1},
         {10, 2, 2},
         {8, 1, 0}
     };
2016-08-05 16:22:51 +01:00
Henry Weller
d439ec4d04 BrunDrippingInjection: Corrected default type of deltaStable 2016-08-05 08:26:45 +01:00
Henry Weller
47c6b9e12e epsilonWallFunction, omegaWallFunction: Set generation to zero in laminar sub-layer
Improves stability for complex flows
2016-08-04 22:25:27 +01:00
Henry Weller
454df8426d BrunDrippingInjection: Simplified implementation 2016-08-04 15:20:53 +01:00
Henry Weller
8d564f1b04 BrunDrippingInjection: Calculate drop diameter from the capillary length
The diameter of the drops formed are obtained from the local capillary
length multiplied by the \c dCoeff coefficient which defaults to 3.3.

Reference:
    Lefebvre, A. (1988).
    Atomization and sprays
    (Vol. 1040, No. 2756). CRC press.
2016-08-04 15:02:51 +01:00
Henry Weller
f260780b73 omegaWallFunction: Improved low-Reynolds number behavior and consistency with the epsilonWallFunction
Changed default mode of operation to use standard y+ based switching
rather than the previous ad hoc blending and added consistent handling
of the near-wall generation term.

This boundary condition provides a wall constraint on turbulnce specific
dissipation, omega for both low and high Reynolds number turbulence models.

The near-wall omega may be either blended between the viscous region and
logarithmic region values using:

    \f[
        \omega = sqrt(\omega_{vis}^2 + \omega_{log}^2)
    \f]

where

\vartable
    \omega_{vis} | omega in viscous region
    \omega_{log} | omega in logarithmic region
\endvartable

see eq.(15) of:
\verbatim
    Menter, F., Esch, T.
    "Elements of Industrial Heat Transfer Prediction"
    16th Brazilian Congress of Mechanical Engineering (COBEM),
    Nov. 2001
\endverbatim

or switched between these values based on the laminar-to-turbulent y+ value
derived from kappa and E.  Recent tests have shown that the standard
switching method provides more accurate results for 10 < y+ < 30 when used
with high Reynolds number wall-functions and both methods provide accurate
results when used with continuous wall-functions.  Based on this the
standard switching method is used by default.
2016-08-04 10:59:23 +01:00
Henry Weller
ffa363b328 epsilonWallFunction: Updated to work with both low- and high-Reynolds number turbulence models
This boundary condition provides a turbulence dissipation wall constraint
for low- and high-Reynolds number turbulence models.

The condition can be applied to wall boundaries for which it
- calculates \c epsilon and \c G
- specifies the near-wall epsilon value

where

\vartable
    epsilon | turblence dissipation field
    G       | turblence generation field
\endvartable

The model switches between laminar and turbulent functions based on the
laminar-to-turbulent y+ value derived from kappa and E.

Recent tests have shown that this formulation is more accurate than
the standard high-Reynolds number form for 10 < y+ < 30 with both
standard and continuous wall-functions.

Replaces epsilonLowReWallFunction and should be used for all
low-Reynolds number models for which the epsilonLowReWallFunction BC was
recommended.
2016-08-04 10:52:12 +01:00
Henry Weller
1405a31064 TurbulenceModels::derivedFvPatchFields: standardized the cell index of the 'faceCell' 2016-08-04 10:51:09 +01:00
Henry Weller
cc8781f47d ORourkeCollision: Corrected probability test
Resolves bug-report http://bugs.openfoam.org/view.php?id=2097
2016-08-04 10:04:06 +01:00
Henry Weller
232a2a092c FixedList: Corrected checkSize
Resolves bug-report http://bugs.openfoam.org/view.php?id=2178
2016-08-03 19:45:31 +01:00
Henry Weller
1d4bedae68 surfaceFilmModels::BrunDrippingInjection: New dripping model based on the Rayleigh-Taylor stability analysis
of film flow on an inclined plane by Brun et.al.

    Brun, P. T., Damiano, A., Rieu, P., Balestra, G., & Gallaire, F. (2015).
    Rayleigh-Taylor instability under an inclined plane.
    Physics of Fluids (1994-present), 27(8), 084107.
2016-08-02 21:35:37 +01:00
Henry Weller
1467bf2428 RunFunctions: corrected typo $SUFFIX -> $LOG_SUFFIX
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2176
2016-08-02 21:32:38 +01:00
Henry Weller
e301f74c93 tutorials: corrected scripts ']; then' -> ' ]; then'
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2175
2016-08-02 19:15:40 +01:00
Henry Weller
47bb19c525 tutorials Allrun scripts: Update running of postProcess application
Patch contributed by Bruno Santos
Resolves bug-report http://bugs.openfoam.org/view.php?id=2173
2016-08-02 16:24:28 +01:00
Henry Weller
22574e7133 List: Reinstated construction from two iterators and added construction from an initializer list
Until C++ supports 'concepts' the only way to support construction from
two iterators is to provide a constructor of the form:

        template<class InputIterator>
        List(InputIterator first, InputIterator last);

which for some types conflicts with

        //- Construct with given size and value for all elements
        List(const label, const T&);

e.g. to construct a list of 5 scalars initialized to 0:

    List<scalar> sl(5, 0);

causes a conflict because the initialization type is 'int' rather than
'scalar'.  This conflict may be resolved by specifying the type of the
initialization value:

    List<scalar> sl(5, scalar(0));

The new initializer list contructor provides a convenient and efficient alternative
to using 'IStringStream' to provide an initial list of values:

    List<vector> list4(IStringStream("((0 1 2) (3 4 5) (6 7 8))")());

or

    List<vector> list4
    {
        vector(0, 1, 2),
        vector(3, 4, 5),
        vector(6, 7, 8)
    };
2016-08-02 09:31:41 +01:00
Henry Weller
6f82d23d17 Make/options: Removed duplicate entries
Thanks to Bruno Santos for providing the script to check the files
Resolves bug-report http://bugs.openfoam.org/view.php?id=2169
2016-08-01 20:55:16 +01:00
Henry Weller
2519a47b74 tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile: Corrected typo
Resolves bug-report http://bugs.openfoam.org/view.php?id=2170
2016-08-01 20:10:19 +01:00
Henry Weller
089b50696c tutorials/multiphase/reactingTwoPhaseEulerFoam: Corrected regular expressions
Resolves bug-report http://bugs.openfoam.org/view.php?id=2167
2016-08-01 17:11:44 +01:00
Henry Weller
26f706da43 fvAgglomerationMethods/Allwmake: Removed reference to Scotch
Resolves bug-report http://bugs.openfoam.org/view.php?id=2168
2016-08-01 17:05:16 +01:00
Henry Weller
cabe698d5f DimensionedField<scalar, volMesh> -> volScalarField::Internal
DimensionedField<vector, volMesh> -> volVectorField::Internal
2016-08-01 14:28:54 +01:00
Henry Weller
d394cec0dc meshToMeshTemplates: Updated non-const access to the source patch field
Resolves bug-report http://bugs.openfoam.org/view.php?id=2165
2016-08-01 14:28:18 +01:00
Chris Greenshields
84f50077a7 scalarTransport function: renamed scalar field -> s 2016-07-31 17:12:49 +01:00
Henry Weller
aa7b3dfe7d CrankNicolsonDdtScheme: Corrected handling of the boundary field to avoid premature reset of the time-index
Resolves bug-report http://bugs.openfoam.org/view.php?id=2162
2016-07-29 17:48:04 +01:00
Henry Weller
4ac9c54b46 tutorials/multiphase/interDyMFoam/ras/floatingObject/constant/dynamicMeshDict.sixDoF: Renamed 'rho' -> 'rhoSolid'
to avoid name clash
2016-07-29 17:47:20 +01:00
Henry Weller
028617c30c TurbulenceModels: Reorganized support macros to simplify the creation of additional turbulence model libraries 2016-07-29 15:59:09 +01:00
Henry Weller
7f4af1517d tutorials/incompressible/simpleFoam/T3A: ERCOFTAC T3A 3% test-case for the kOmegaSSTLM model
References:
    Savill, A. M. (1993).
    Some recent progress in the turbulence modelling of by-pass transition.
    Near-wall turbulent flows, 829-848.

    Savill, A. M. (1996).
    One-point closures applied to transition.
    In Turbulence and transition modelling (pp. 233-268).
    Springer Netherlands.

Based on case contributed by Florian Schwertfirm, Kreuzinger und Manhart Turbulenz GmbH.
2016-07-29 10:51:42 +01:00
Henry Weller
4ad0f529a0 TurbulenceModels::kOmegaSSTLM: New correlation-based turbulent transition model
Description
    Langtry-Menter 4-equation transitional SST model
    based on the k-omega-SST RAS model.

    References:
        Langtry, R. B., & Menter, F. R. (2009).
        Correlation-based transition modeling for unstructured parallelized
        computational fluid dynamics codes.
        AIAA journal, 47(12), 2894-2906.

        Menter, F. R., Langtry, R., & Volker, S. (2006).
        Transition modelling for general purpose CFD codes.
        Flow, turbulence and combustion, 77(1-4), 277-303.

        Langtry, R. B. (2006).
        A correlation-based transition model using local variables for
        unstructured parallelized CFD codes.
        Phd. Thesis, Universität Stuttgart.

Implemented by Henry G. Weller, CFD Direct in collaboration with Florian
Schwertfirm, Kreuzinger und Manhart Turbulenz GmbH.
2016-07-29 10:45:49 +01:00
Henry Weller
c8f8a6c162 fvMatrixSolve: Corrected ref() access to field
Resolves bug-report http://bugs.openfoam.org/view.php?id=2163
2016-07-28 18:00:21 +01:00
Henry Weller
58b0f1bc5c Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-dev 2016-07-28 13:52:27 +01:00
Henry Weller
a18895cba0 functionObjects::wallShearStress: Corrected dimensions for compressible cases 2016-07-28 13:51:13 +01:00
Henry Weller
2105fa6e91 kOmegaSSTSAS: Updated header 2016-07-28 13:50:58 +01:00
Henry Weller
02dd85167e TurbulenceModels::kOmegaSST.*: Updated source-terms and associated functions to use volScalarField::Internal
This is more efficient, avoids divide-by-0 when evaluating unnecessary
boundary values and avoids unnecessary communications when running in parallel.
2016-07-28 13:48:38 +01:00
Henry Weller
4f6117e973 wmake/rules/linux.*Icc: Updated for icpc (ICC) 16.0.3 20160415 2016-07-28 13:47:44 +01:00
Chris Greenshields
a6056b7329 foamNewBC: removes phip completely for fixedValue condition 2016-07-26 15:25:18 +01:00
Henry Weller
46d69e1dea lagrangian::BrownianMotionForce: Changed from a cubic to a spherical distribution
See also: StochasticDispersionRAS
Resolves bug-report http://bugs.openfoam.org/view.php?id=2153
2016-07-23 11:53:48 +01:00
Henry Weller
96645225ed BrownianMotionForce: Removed the spurious additional 'eta'
Resolves bug-report http://bugs.openfoam.org/view.php?id=2153
2016-07-22 21:12:09 +01:00
Henry Weller
2915e6ba19 decomposePar: Speed-up decomposing with constraints
Patch contributed by Mattijs Janssens
Resolves bug-report http://bugs.openfoam.org/view.php?id=2159
2016-07-22 17:19:21 +01:00
Henry Weller
547987ab44 Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-dev 2016-07-22 16:58:22 +01:00
Henry Weller
0072b61124 checkMesh: Added option to write sets
- the checking for point-connected multiple-regions now also writes the
    conflicting points to a pointSet
  - with the -writeSets option it now also reconstructs & writes pointSets
2016-07-22 16:57:37 +01:00
Henry Weller
38be36063a checkMesh: Added option to write sets
- the checking for point-connected multiple-regions now also writes the
    conflicting points to a pointSet
  - with the -writeSets option it now also reconstructs & writes pointSets
2016-07-22 16:53:49 +01:00
Henry Weller
ac67f6a84b lagrangian::BrownianMotion: Corrected Boltzmann constant used in the force expression
Resolves bug-report http://bugs.openfoam.org/view.php?id=2153
2016-07-22 16:15:04 +01:00
Henry Weller
7f373fe967 snappyHexMesh: points on more than one cell region now duplicated if detected on any processor
rather than all processor
Patch contributed by Mattijs Janssens
Resolves bug-report http://bugs.openfoam.org/view.php?id=1936
2016-07-22 14:48:38 +01:00