openfoam merge requestshttps://develop.openfoam.com/Development/openfoam/-/merge_requests2023-12-08T11:21:06Zhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/635ENH: wall functions: swap the order of switch statements and for loops2023-12-08T11:21:06ZKutalmış BerçinENH: wall functions: swap the order of switch statements and for loopsv2312Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/39Multiple updates for run-time post-processing functionality2023-12-07T19:01:57ZPrashant SonakarMultiple updates for run-time post-processing functionalityAdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/630ENH: Moving electric sources mapped from external meshes2023-11-03T14:33:12ZKutalmış BerçinENH: Moving electric sources mapped from external meshes#### Problem
As of the current state of OpenFOAM, the following capabilities are not available:
- The ability to dynamically update cell selections in `fvOptions` through input dictionary updates.
- The absence of support in `fvOptions...#### Problem
As of the current state of OpenFOAM, the following capabilities are not available:
- The ability to dynamically update cell selections in `fvOptions` through input dictionary updates.
- The absence of support in `fvOptions` for handling moving selections, such as moving points.
- The inability to map static fields from external sources for further processing, for instance, when dealing with moving static electric-source fields within an electric field being simulated.
#### Solution
- The `cellSetOption` (hence, all `fvOptions` derived from the `cellSetOption`) received three new optional input:
- `movingPoints`: Use cells containing a given set of moving points.
- ~~`mesh`: Select cells based on a given secondary mesh.~~
- `updateSelection`: Flag to enable selection updates.
- New templated `fvOption` to constrain values of given fields with a source field from an external mesh: `<Type>MapFieldConstraint`.
- A new hook to `electricPotential` function object to accomodate internal `fvOption` constraints.
#### Verification
- (Heuristic) Test cases:[moving-electric-potential.zip](/uploads/c242520ec4e70ab52bb520446f386b24/moving-electric-potential.zip) (Prior to the review changes)
#### Risks
- No change in existing input/output.
#### Metadata
- [x] linux64ClangDPInt32Opt (clang13)
- [x] linux64GccDPInt32Opt
- [x] linux64GccSPDPInt64Debug
- [x] Alltest: No new error/No change in existing outputv2312Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/595ENH: ParticleHistogram: refactor PatchParticleHistogram function object2023-06-01T08:24:31ZKutalmış BerçinENH: ParticleHistogram: refactor PatchParticleHistogram function object#### Summary
- enable 'faceZone' support for the function objects below.
- introduce 'cloudFunctionObjectTools' to simplify collection of particle info
on patches or face zones.
- enable 'writeFile' support to better control file outp...#### Summary
- enable 'faceZone' support for the function objects below.
- introduce 'cloudFunctionObjectTools' to simplify collection of particle info
on patches or face zones.
- enable 'writeFile' support to better control file output.
- rename 'PatchParticleHistogram' as 'ParticleHistogram', and 'PatchPostProcessing' as 'ParticlePostProcessing' for better clarity.
#### Resolved bugs
#1808
#### Risks
- User input:
- Names of FOs have been changed
- No change in existing output.
#### Meta-data
* EP2071
* [x] `linux64ClangDPInt32Opt` (clang13)
* [x] `linux64GccDPInt32Opt`
* [x] `linux64GccSPDPInt64Debug`
* [x] Alltest: No new error/No change in existing outputAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/591BUG: extraConvection in ATC missing a multiplication with ATClimiter2023-02-03T15:36:19ZVaggelis PapoutsisBUG: extraConvection in ATC missing a multiplication with ATClimiter### Resolved bugs (If applicable)
The bug is described in #2687
In the 'standard' and 'UaGradU' options for the ATC term of the adjoint equations, there is an option to add 'aritificial dissipation', by adding and subtracting a multip...### Resolved bugs (If applicable)
The bug is described in #2687
In the 'standard' and 'UaGradU' options for the ATC term of the adjoint equations, there is an option to add 'aritificial dissipation', by adding and subtracting a multiple of the adjoint convection term with different discretizations. The implicit part was not multiplied with the ATClimiter whereas the explicit one was, leading to mismatched contributions in the areas affected by the ATClimiter, which could affect the sensitivity derivatives.
This can be replicated using the sbend tutorial under
$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/sensitivityMaps/sbend/turbulent/lowRe/singlePoint
In the figures that follow, 'n' stands for nMask and 'e' for extraConvection in the setup of the ATC model. As 'n' increases, the sensitivity map should tend towards that of canceling the ATC everywhere. With the previous code behavior, this was not the case when $`n \neq 0, e \ne 0`$ (figure at the bottom left). The expected behavior is retrieved with the current fix (figure at the bottom right).
![sbend_ATC](/uploads/ae119cb31e9f40f288376a9f90dc9725/sbend_ATC.png)Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/572BUG: avoid excessive recalculation of map for moving meshes2022-11-21T13:21:58ZAndrew HeatherBUG: avoid excessive recalculation of map for moving meshesCross ref EP#2016Cross ref EP#2016v2212Mattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/554BUG: setTurbulenceFields: update processor boundaries (fixes #2527)2022-07-04T15:26:56ZKutalmış BerçinBUG: setTurbulenceFields: update processor boundaries (fixes #2527)Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/542General enhancement to icoReactingMultiphaseInterFoam solver, sub-models and ...2022-06-22T09:18:53ZSergio FerrarisGeneral enhancement to icoReactingMultiphaseInterFoam solver, sub-models and FO's1) Name changing and namespace used for some multi phase class used in icoReactingMultiphaseInterFoam.
2) Creating a new derivedFvPatch for thermal BC's (detached from TurbulenceCompressible) which allows to
use phase system models i...1) Name changing and namespace used for some multi phase class used in icoReactingMultiphaseInterFoam.
2) Creating a new derivedFvPatch for thermal BC's (detached from TurbulenceCompressible) which allows to
use phase system models in FO's. This new lib was added to all the thermal solvers
3) Adding new diffusion-based mass transfer model to icoReactingMultiphaseInterFoam
4) Improving consistency of Hf between phases (updated tutorials entries)
5) HeatFlux and htc FO's are available to use with icoReactingMultiphaseInterFoam
NOTE: There is memory leak problem at the end of the run when using icoReactingMultiphaseInterFoam and 'fieldFunctionObjects' is loaded usng lddOpen. NEED TO BE REVIEWEDv2206Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/openfoam/-/merge_requests/532ENH: turbulentDigitalFilter: Synthetic fluctuations of scalars2022-06-07T20:12:35ZKutalmış BerçinENH: turbulentDigitalFilter: Synthetic fluctuations of scalars**Aim**
To enable synthetic fluctuations of scalars (e.g. temperature or contaminant concentrations) for the `turbulentDigitalFilterInlet` boundary condition.
**Previous status**
- Produces only vector-based fluctuations
- Input en...**Aim**
To enable synthetic fluctuations of scalars (e.g. temperature or contaminant concentrations) for the `turbulentDigitalFilterInlet` boundary condition.
**Previous status**
- Produces only vector-based fluctuations
- Input entries of mean and Reynolds stresses are limited to be either constant or simple wall-normal profiles
- Contains unresolved bugs:
- #1725
- #2262
- #2267 (Parallelisation)
- #2329 (FSM is inoperative)
- Domain rotations/translations are not possible
- Parallelisation and scaling are problematic
- Restart is problematic
- Mapping fluctuations onto an inlet patch is problematic and limited to only the nearest-cell option
- Adjustable time-step simulations are not possible
**Improvements**
- Produces vector- or scalar-based fluctuations
- New input-entry types:
- Mean and Reynolds stresses have become `PatchFunction1` type
- Time-variant input for mean and Reynolds stresses is possible
- Number of input entries have been simplified by reducing the number from 16 to 8, most of which are default valued.
- Resolves the reported bugs
- Domain rotations/translations are improved
- Users can set a local coordinate system
- Parallelisation and scaling are improved
- Restart is improved
- Mapping fluctuations onto an inlet patch is improved and generalised
- Users can select an AMI mapping method for the mapping operation
- Adjustable time-step simulations are possible for the FSM option
- Removes Taylor's frozen turbulence assumption for the streamwise integral scale calculations
**Resolved bugs**
#1725 #2262 #2267 #2329
**Methodology**
<img src="/uploads/ed664afc764a1894db265b8210796b0d/image.png" width="50%" height="50%">
<img src="/uploads/4fc57b37db8180bb261c3d808bd14ff8/image.png" width="50%" height="50%">
#### Results
**DFM - only vector**
<img src="/uploads/b8b00f5758bc3998f81fb80908c121b6/image.png" width="85%" height="85%">
**DFM - only scalar**
<img src="/uploads/10ab195728e01971af04b14e01a109fc/image.png" width="85%" height="85%">
**DFM - vector+scalar**
<img src="/uploads/b1a26f36c48a1d63c1c09d17b2d6f7a3/image.png" width="85%" height="85%">
**FSM - only vector**
<img src="/uploads/58877dd2e728e8e91fe8f188356c09ef/image.png" width="85%" height="85%">
**FSM - only scalar**
<img src="/uploads/422232e58ae5ddcf60ce7d47877e3262/image.png" width="85%" height="85%">
**FSM - vector+scalar**
<img src="/uploads/f159b9a384b792912bf2d5c89b76c4f0/image.png" width="85%" height="85%">
### Meta-data
EP#1730
* [x] Clean compilation (incl. submodules):
* [x] `linux64ClangDPInt32Opt` (clang11)
* [x] `linux64GccDPInt32Opt`
* [x] `linux64GccSPDPInt64Debug`
* [x] Alltest: No new error
### Future work - Constraints
- Test scope should be extended further for:
- Integral length scales
- Domain rotations and/or translations
- Multiphase-flow cases
- Dynamic-mesh cases
- Overset meshes
- Mesh (un)refinements
- Collated-data format
- Hybrid and single precisions
- `transformPoints` utility has no effect on `boundaryData` input, which can slow down case preparations for input sets which need to be rotated/translated
- Scalar-based condition
- No constraints on nonpositive output
- Scarce and ambiguous academic resources
- No cross-correlations
- Not easy to produce/find benchmark data from theory or measurements
- Usefulness is not clarified by academia
- DFM
- Incomplete parallelisation of the three-dimensional separable convolution due to the lack of no open-source algorithms
- ~~The use of `redistributePar -decompose` utility is not supported.~~v2206Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/540ENH: QRMatrix: refactor the QR decomposition algorithms2022-05-31T17:01:01ZKutalmış BerçinENH: QRMatrix: refactor the QR decomposition algorithms##### Summary
EP1874
##### Resolved bugs
#2212
##### Risks
API of QRMatrix has been changed.
##### Tests
- [x] `linux64ClangDPInt32Opt`
- [x] `linux64GccDPInt32Opt`
- [x] `linux64GccSPDPInt64Debug`
- [x] Alltest##### Summary
EP1874
##### Resolved bugs
#2212
##### Risks
API of QRMatrix has been changed.
##### Tests
- [x] `linux64ClangDPInt32Opt`
- [x] `linux64GccDPInt32Opt`
- [x] `linux64GccSPDPInt64Debug`
- [x] Alltestv2206Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/495Improve the Lagrangian drag models2022-05-30T08:25:58ZKutalmış BerçinImprove the Lagrangian drag models### Summary
- Remove the redundant CdRe function in `PlessisMasliyah`
- Improve header file documentation
- Modernise the code style
### Resolved bugs
N/A
### Risks
- No changes in output
- No changes to user input
### Tests
- ...### Summary
- Remove the redundant CdRe function in `PlessisMasliyah`
- Improve header file documentation
- Modernise the code style
### Resolved bugs
N/A
### Risks
- No changes in output
- No changes to user input
### Tests
- [x] Compilation (incl. submodules):
- [x] `linux64ClangDPInt32Opt` (clang11)
- [x] `linux64GccDPInt32Opt`
- [x] `linux64GccSPDPInt64Debug`
- [x] Alltest: No errorv2206Mattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/486ENH: Improve the handling of wall-function coefficients and blenders2022-05-18T16:05:21ZKutalmış BerçinENH: Improve the handling of wall-function coefficients and blenders### Summary
- Fixes #1457 and #1966
- Improves the handling of wall-function coefficients and blenders
- Standardises the output of wall-function entries
- Removes redundant and inconsistent virtual specifiers
- Modernises the code sty...### Summary
- Fixes #1457 and #1966
- Improves the handling of wall-function coefficients and blenders
- Standardises the output of wall-function entries
- Removes redundant and inconsistent virtual specifiers
- Modernises the code style
- Improves header file documentation
- Removes the blending option `BINOMIAL2` from `omegaWallFunction`
### Resolved bugs
Closes #1457, #1966
### Risks
- Silently replaces the **default** blending option `BINOMIAL2` of the `omegaWallFunction` with the option `BINOMIAL` with `n=2`. In theory, both expressions are the same. Yet numerically, both expressions will yield negligible differences in floating-point decimals.
### Tests
- [x] Compilation (incl. submodules):
- [x] `linux64ClangDPInt32Opt` (clang11)
- [x] `linux64GccDPInt32Opt`
- [x] `linux64GccSPDPInt64Debug`
- [x] Alltest: No change in output with respect to the develop HEAD + no error
- [x] Verification: No change in output [rhoSimpleFoam/simpleFoam/buoyantBoussinesqSimpleFoam](https://develop.openfoam.com/OpenCFD/OpenFOAM-test/-/tree/test-wall-functions/tests-for-v2206/regressions-wall-functions)v2206Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/520ENH: rigidBodyMotion: new Function1-type accelerationRelaxation2021-12-15T10:17:12ZKutalmış BerçinENH: rigidBodyMotion: new Function1-type accelerationRelaxationTUT: floatingObject: add Function1-type accelerationRelaxation exampleTUT: floatingObject: add Function1-type accelerationRelaxation examplev2112Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/492BUG: 2021-2: Various bug fixes and developments2021-12-09T18:49:21ZKutalmış BerçinBUG: 2021-2: Various bug fixes and developments### Resolved bugs
#2228 #2186 #2026 #2178 #1171 #2243 #2069
### Risks
* No changes in output
* No changes in mandatory user input.
### Tests
* [x] Compilation (incl. submodules):
* [x] `linux64ClangDPInt32Opt` (clang11)
* [x] `l...### Resolved bugs
#2228 #2186 #2026 #2178 #1171 #2243 #2069
### Risks
* No changes in output
* No changes in mandatory user input.
### Tests
* [x] Compilation (incl. submodules):
* [x] `linux64ClangDPInt32Opt` (clang11)
* [x] `linux64GccDPInt32Opt`
* [x] `linux64GccSPDPInt64Debug`
* [x] Alltest: No change in output with respect to the develop HEAD + no errorAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/493ENH: new RANS model for geophysical applications2021-11-08T18:58:08ZKutalmış BerçinENH: new RANS model for geophysical applications### Summary
- ENH: kL: new RANS model for geophysical applications
- STYLE: atmosphericModels: regroup atmospheric turbulence models
- ENH: kEpsilonLopesdaCosta: enable this RANS model for compressible applications
- TUT: atmFlatTer...### Summary
- ENH: kL: new RANS model for geophysical applications
- STYLE: atmosphericModels: regroup atmospheric turbulence models
- ENH: kEpsilonLopesdaCosta: enable this RANS model for compressible applications
- TUT: atmFlatTerrain: add an example for kL RANS model
- BUG: atmFlatTerrain: fix input settings in the plot script
### Resolved bugs (If applicable)
- A small issue in `atmFlatTerrain/precursor/plot` has been corrected.
### Details of new models (If applicable)
- For a given case, the `kL` model reduces numerical costs approximately by one-third in comparison to the `kEpsilon` model for geophysical applications.
- A set of results obtained from the `atmFlatTerrain` and `atmForestStability` tutorials (left: kEpsilon, right: kL):
![image](/uploads/79d0f1db91983844da41db3af79599b6/image.png)
![image](/uploads/e1190ba19b50ddc5a093660d7f2ee4cd/image.png)
![image](/uploads/d6999f8f9d833e90acaf0a941a428c1d/image.png)
![image](/uploads/c8fbc676998046df8f8498e935ba1f21/image.png)
![image](/uploads/03df4d3859b04af634bb2c05d7391080/image.png)
![image](/uploads/d6c34c1c9e2144096b73363e8f12297c/image.png)
### Risks
- No changes in user input.
- No changes are expected in output.
- The directory structure of `src/atmosphericModels` has been changed. Therefore, the location of the directory `kEpsilonLopesdaCosta` has also been changed. Might affect few minor things for a few developers. Not crucial, IMHO.
### Tests
* [x] Compilation (incl. submodules):
* [x] `linux64ClangDPInt32Opt` (clang11)
* [x] `linux64GccDPInt32Opt`
* [x] `linux64GccSPDPInt64Debug`
* [x] Alltest: No change in output with respect to the develop HEAD + no errorv2112Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/489BUG: 2021-1: Various bug fixes and developments2021-10-05T10:47:23ZKutalmış BerçinBUG: 2021-1: Various bug fixes and developments### Resolved bugs
#1513 #2067 #2202 #2214
### Risks
* No changes in output
* No changes in mandatory user input.
### Tests
* [x] Compilation (incl. submodules):
* [x] `linux64ClangDPInt32Opt` (clang11)
* [x] `linux64GccDPInt32Op...### Resolved bugs
#1513 #2067 #2202 #2214
### Risks
* No changes in output
* No changes in mandatory user input.
### Tests
* [x] Compilation (incl. submodules):
* [x] `linux64ClangDPInt32Opt` (clang11)
* [x] `linux64GccDPInt32Opt`
* [x] `linux64GccSPDPInt64Debug`
* [x] Alltest: No change in output with respect to the develop HEAD + no errorAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/484BUG: fix yPlus predictions of nut wall functions2021-09-14T15:21:51ZKutalmış BerçinBUG: fix yPlus predictions of nut wall functions### Summary
- Corrects `y+` predictions from `nutUWallFunction`, `nutkWallFunction` and `nutLowReWallFunction`, but the internal `y+` predictions of these wall functions were kept the same in order to keep their `nut` predictions the sa...### Summary
- Corrects `y+` predictions from `nutUWallFunction`, `nutkWallFunction` and `nutLowReWallFunction`, but the internal `y+` predictions of these wall functions were kept the same in order to keep their `nut` predictions the same.
### Resolved bugs
Closes #1773, #1838, #1846, #1843
### Risks
- No changes in wall-function output.
- No changes to user input.
- New optional keyword into the `yPlus` function object: `useWallFunction`.
- Changes in the `yPlus` function object when the above nut wall functions are being used.
### Tests
- [x] Compilation: `linux64ClangDPInt32Opt`, `linux64GccDPInt32Opt`, `linux64GccSPDPInt64Debug`
- [x] Alltest: No change
- [x] [simpleFoam & rhoSimpleFoam](https://tinyurl.com/jm3n3e)
- [x] Verification: [planeChannel](https://tinyurl.com/3k3z8utc)
Verification case characteristics:
* One-dimensional smooth-wall plane channel flow, ReTau=5200
* Number of cells = 20
* nu = 0.000192827 \[m2/s\]
* The case was designed to produce => -1\*sqrt(mag(wallShearStress)) = 1
* The y1+ set (expected) = {0.05, 0.5, 1, 5, 10, 20, 30, 50, 100}
* kOmegaSST & simpleFoam
Fields of interest:
* `mag(wallShearStress)` function object correctly returns \~ 1 for all test cases.
* `yPlus` function object (min) results for `lowerWall` rounded up to 2 decimals can be seen below:
### y1+ = 0.05:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | **0.12** | 0.05 |
| nutkWallFunction | **0.00025** | 0.05 |
| nutUSpaldingWallFunction | 0.05 | 0.05 |
| nutUBlendedWallFunction | 0.05 | 0.05 |
| nutLowReWallFunction | 0.05 | 0.05 |
### y1+ = 0.5:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | **0.18** | 0.50 |
| nutkWallFunction | **0.025** | 0.50 |
| nutUSpaldingWallFunction | 0.50 | 0.50 |
| nutUBlendedWallFunction | 0.50 | 0.50 |
### y1+ = 1:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | **0.34** | 1.00 |
| nutkWallFunction | **0.1** | 1.00 |
| nutUSpaldingWallFunction | 1.00 | 1.00 |
| nutUBlendedWallFunction | 1.00 | 1.00 |
### y1+ = 5:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | **3.02** | 5.00 |
| nutkWallFunction | **2.75** | 5.00 |
| nutUSpaldingWallFunction | 5.00 | 5.00 |
| nutUBlendedWallFunction | 5.00 | 5.00 |
### y1+ = 10:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | **9.12** | 10.00 |
| nutkWallFunction | **8.31** | 10.00 |
| nutUSpaldingWallFunction | 10.00 | 10.00 |
| nutUBlendedWallFunction | 10.00 | 10.00 |
### y1+ = 20:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | 20.00 | 20.02 |
| nutkWallFunction | **19.30** | 20.01 |
| nutUSpaldingWallFunction | 20.00 | 20.00 |
| nutUBlendedWallFunction | 20.00 | 20.01 |
### y1+ = 30:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | 30.09 | 30.09 |
| nutkWallFunction | 29.91 | 30.12 |
| nutUSpaldingWallFunction | 30.08 | 30.08 |
| nutUBlendedWallFunction | 30.09 | 30.09 |
### y1+ = 50:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | 50.16 | 50.16 |
| nutkWallFunction | 50.51 | 50.19 |
| nutUSpaldingWallFunction | 50.17 | 50.17 |
| nutUBlendedWallFunction | 50.16 | 50.16 |
### y1+ = 100:
| Wall function | Pre-fix yPlus | Post-fix yPlus |
| --- | ------ |---------:|
| nutUWallFunction | 100.01 | 100.01 |
| nutkWallFunction | 100.96 | 100.01 |
| nutUSpaldingWallFunction | 100.01 | 100.01 |
| nutUBlendedWallFunction | 100.01 | 100.01 |v2112Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/426Improve the Lagrangian distribution models2021-09-06T13:07:05ZKutalmış BerçinImprove the Lagrangian distribution models### Summary
- Consolidate min/max operands by migrating local min/max operands to the parent class
- Add new sanity checks
- Modernise the code style
- Replace input variable names with the corresponding de facto conventions in statisti...### Summary
- Consolidate min/max operands by migrating local min/max operands to the parent class
- Add new sanity checks
- Modernise the code style
- Replace input variable names with the corresponding de facto conventions in statistics
- Fix `sample` and `mean` function predictions for the `normal`, `multiNormal`, `RosinRammler` and `massRosinRammler` distributions
- Add cumulative distribution function into the `general` distribution
- Improve header file documentation
### Resolved bugs
Closes #1996
### Risks
- No changes in output except for bug fixes in `normal` and `multiNormal` distributions
- No changes to user input
- Ensured backward compatibility for new input entries
### Tests
- [x] Compilation (incl. submodules):
- [x] `linux64ClangDPInt32Opt` (clang11)
- [x] `linux64GccDPInt32Opt`
- [x] `linux64GccSPDPInt64Debug`
- [x] Alltest: No change in output + no error
- [x] Verification: [distribution models without CFD](https://tinyurl.com/szjvw7ut)Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/479ENH: enable custom input of U for devRhoReff and devReff2021-08-05T12:41:26ZKutalmış BerçinENH: enable custom input of U for devRhoReff and devReff### Summary
* 874bc33fe6 - BUG: forces: ensure UName entry can be used (fixes #2093) <Kutalmis Bercin>
* 2cd6071c9b - ENH: enable custom input of U for devRhoReff and devReff <Kutalmis Bercin>
Previously, for basic incompressible and c...### Summary
* 874bc33fe6 - BUG: forces: ensure UName entry can be used (fixes #2093) <Kutalmis Bercin>
* 2cd6071c9b - ENH: enable custom input of U for devRhoReff and devReff <Kutalmis Bercin>
Previously, for basic incompressible and compressible simulations, the "force" function object has not been using the user-specified "UName" for the "devRhoReff" computation (affecting the tangential component), but using the "U" of the latest available step. In contrast, the user-specified "pName" has always been being used correctly.
This has been causing issues for users when they wish to use a specific "UMean" field in various force and forceCoeff function object computations.
Also, the set of commits can allow the usage of custom `U` for other function objects, such as `yPlus`, `wallShearStress` etc.
### Resolved bugs (If applicable)
#2093
EP#1224
### Risks
No risk expected.
### Test cases
See 41c0fa3b in t-repo.Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/476ENH: turbulenceFields: various improvements2021-08-04T11:37:18ZKutalmış BerçinENH: turbulenceFields: various improvements- 55f61a0037 - ENH: turbulenceFields: enable custom prefix for output fields
- 8f16527a51 - BUG: turbulenceFields: unset duplicate already-registered fields
- 86f753b7bc - DOC: turbulenceFields: improve header documentation
- 189053421c...- 55f61a0037 - ENH: turbulenceFields: enable custom prefix for output fields
- 8f16527a51 - BUG: turbulenceFields: unset duplicate already-registered fields
- 86f753b7bc - DOC: turbulenceFields: improve header documentation
- 189053421c - STYLE: turbulenceFields: apply more recent OpenFOAM-coding practices
- 4243291c52 - BUG: turbulenceFields: use omega funcs of turbulence models (fixes #2132)
#### Resolved bugs
#2132
#### Test cases
[steadyBoundaryLayer](https://tinyurl.com/5fbtx82v)v2112Andrew HeatherAndrew Heather