openfoam merge requestshttps://develop.openfoam.com/Development/openfoam/-/merge_requests2020-01-29T16:54:18Zhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/336COMP: backport of updates for gcc-92 compilation2020-01-29T16:54:18ZMark OLESENCOMP: backport of updates for gcc-92 compilationAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/427COMP: objective manager masks regIOobject::write function (#2005)2024-01-11T18:45:47ZVaggelis PapoutsisCOMP: objective manager masks regIOobject::write function (#2005)objectiveManager::write was hiding the regIOobject::write function.
Solved by renaming to objectiveManager::writeObjectivesobjectiveManager::write was hiding the regIOobject::write function.
Solved by renaming to objectiveManager::writeObjectivesMark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/138CONFIG: add settings for Cray compiler and cray mpich2017-10-24T17:28:54ZMark OLESENCONFIG: add settings for Cray compiler and cray mpichMark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/53Config file simplification (related to issue #176)2016-09-30T16:42:41ZMark OLESENConfig file simplification (related to issue #176)Cleanup compiler settings, reduce clutter in paraview config files.
Possibly need to discuss further cleanup (cf. issue #183).
@internalCleanup compiler settings, reduce clutter in paraview config files.
Possibly need to discuss further cleanup (cf. issue #183).
@internalAdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/442consistency improvements for regex and hashes, etc2021-04-19T16:34:10ZMark OLESENconsistency improvements for regex and hashes, etcAccumulated changes/fixes for improving consistency.
- fileName : improve handling of windows-style path separators
- wordRe / keyType : reduce code duplication in favour of using wordRe more consistently
- hashes : rejig hashing overlo...Accumulated changes/fixes for improving consistency.
- fileName : improve handling of windows-style path separators
- wordRe / keyType : reduce code duplication in favour of using wordRe more consistently
- hashes : rejig hashing overloads and class-local versions to improve future extensibilityv2106Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/171Consistency update for list typedefs2017-11-20T07:48:09ZMark OLESENConsistency update for list typedefsv1712Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/111Consistency updates2017-05-15T11:34:04ZMark OLESENConsistency updatesMark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/128Consistent use of string methods2017-07-21T15:04:37ZMark OLESENConsistent use of string methods- use more standard forms of string access. Eg, substr() instead of the operator()(...) form, or even resize().
- turn off underscore prefixing by default for word::validated()
- new SubStrings container and associated stringOps::split...- use more standard forms of string access. Eg, substr() instead of the operator()(...) form, or even resize().
- turn off underscore prefixing by default for word::validated()
- new SubStrings container and associated stringOps::split operator. This container may also be useful for writing simple parsers.v1712Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/174consolidate surfaceFormats for reading/writing triSurface2017-11-30T08:46:44ZMark OLESENconsolidate surfaceFormats for reading/writing triSurface- eliminates previous code duplication and improves maintainability
- issue #294
- eliminates previous code duplication and improves maintainability
- issue #294
v1712AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/349CONT: Addition of compressibleIsoInterFoam and PLIC2020-06-22T11:17:41ZSergio FerrarisCONT: Addition of compressibleIsoInterFoam and PLICContribution by Henning Scheufler and Johan Roenby. Headers reviewed. Rebased to the latest develop.
1) Implementation of the compressibleIsoInterFOam solver
2) Implementation of a new PLIC interpolation scheme.
3) New tuto...Contribution by Henning Scheufler and Johan Roenby. Headers reviewed. Rebased to the latest develop.
1) Implementation of the compressibleIsoInterFOam solver
2) Implementation of a new PLIC interpolation scheme.
3) New tutorials associated with the solvers
This implementation was carried out by Henning Scheufler (DLR) and Johan
Roenby (DHI), following :
\verbatim
Henning Scheufler, Johan Roenby,
Accurate and efficient surface reconstruction from volume fraction data
on general meshes, Journal of Computational Physics, 2019, doi
10.1016/j.jcp.2019.01.009
\endverbatim
The integration of the code was carried out by Andy Heather and Sergio
Ferraris from OpenCFD Ltd.v2006Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/28CONTRIBUTION: Turbulence - updated SpalartAlmaras & kOmegaSST DES, DDES and I...2015-12-22T22:14:56ZMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comCONTRIBUTION: Turbulence - updated SpalartAlmaras & kOmegaSST DES, DDES and IDDESCode supplied by CFD Software E+F GmbHCode supplied by CFD Software E+F GmbHAdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/211coordinate system improvements2018-10-11T15:32:04ZMark OLESENcoordinate system improvementsReworked coordinate systems and rotations API.Reworked coordinate systems and rotations API.v1812Mattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4-Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/391corrections and improvements for Function12020-11-20T15:18:27ZMark OLESENcorrections and improvements for Function1- easier support for non-mandatory functions.
- support for compatibility lookups
- support frequency or period for Sine/Cosine/Square Function1- easier support for non-mandatory functions.
- support for compatibility lookups
- support frequency or period for Sine/Cosine/Square Function1v2012Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/319DEFEATURE: deprecate v2f model in favour of kEpsilonPhitF2020-01-03T09:41:19ZKutalmış BerçinDEFEATURE: 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 coup...- 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.v2006Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/625defunct: Add error handling for empty surfaces in surfaceFieldValue (#2966)2023-12-12T16:50:30ZMark OLESENdefunct: Add error handling for empty surfaces in surfaceFieldValue (#2966)- defunct merge-request. Items were merged via !627- defunct merge-request. Items were merged via !627v2312Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/162dictionary compatibility/migration methods2017-11-08T19:55:08ZMark OLESENdictionary compatibility/migration methods- additional methods for handling changed keywords between version.
- old keywords are tagged with the version number to allow future culling of old content.
- minor adjustments to dictionary add/set method to make it easier to build sub...- additional methods for handling changed keywords between version.
- old keywords are tagged with the version number to allow future culling of old content.
- minor adjustments to dictionary add/set method to make it easier to build sub dictionaries on-the-fly without copying.v1712Mark OLESENMark OLESENhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/105Dict lookup2017-05-02T15:37:58ZMark OLESENDict lookupVersion v1706AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/235Digital-Filter Based Synthetic Turbulence Generation Method for LES/DES Inflow2019-06-21T12:10:50ZKutalmış BerçinDigital-Filter Based Synthetic Turbulence Generation Method for LES/DES Inflow### Summary
Velocity boundary condition generating synthetic turbulence-alike
time-series for LES and DES turbulent flow computations.
To this end, two synthetic turbulence generators can be chosen:
...### Summary
Velocity boundary condition generating synthetic turbulence-alike
time-series for LES and DES turbulent flow computations.
To this end, two synthetic turbulence generators can be chosen:
- Digital-filter method-based generator (DFM)
\verbatim
Klein, M., Sadiki, A., and Janicka, J.
A digital filter based generation of inflow data for spatially
developing direct numerical or large eddy simulations,
Journal of Computational Physics (2003) 186(2):652-665.
doi:10.1016/S0021-9991(03)00090-1
\endverbatim
- Forward-stepwise method-based generator (FSM)
\verbatim
Xie, Z.-T., and Castro, I.
Efficient generation of inflow conditions for large eddy simulation of
street-scale flows, Flow, Turbulence and Combustion (2008) 81(3):449-470
doi:10.1007/s10494-008-9151-5
\endverbatim
In DFM or FSM, a random number set (mostly white noise), and a group
of target statistics (mostly mean flow, Reynolds stress tensor profiles and
length-scale sets) are fused into a new number set (stochastic time-series,
yet consisting of the statistics) by a chain of mathematical operations
whose characteristics are designated by the target statistics, so that the
realised statistics of the new sets could match the target.
Random number sets ---->-|
|
DFM or FSM ---> New stochastic time-series consisting
| turbulence statistics
Turbulence statistics ->-|
The main difference between DFM and FSM is that the latter replaces the
streamwise convolution summation in DFM by a simpler and a quantitatively
justified equivalent procedure in order to reduce computational costs.
Accordingly, the latter potentially brings resource advantages for
computations involving relatively large length-scale sets and small
time-steps.
### Resolved bugs (If applicable)
Verified for `serial`, `scotch-parallel (4)`, `hierar.-parallel (1 2 2)`, `hierar.-parallel (1 2 4)`, `serial-restart`, and `parallel-restart` in terms of input Reynolds stress tensor components through `channel395DFSEM` tutorial (one-cell domain).
Checked for various possible (commonly encountered) wrong inputs, e.g. arbitrary Reynolds stress tensor components.
### Details of new models (If applicable)
**The model input**:
1. Spatial-variant Reynolds stress symmetric tensor (6-components)
2. Spatial-variant mean velocity profile
3. Spatial-invariant (for now) integral-length scale tensor (9-components)
**The model output**: Stochastic time-series involving the statistics of the model input sets.
**The model computation has four subsequent steps:**
1. Generation of random-number sets obeying the standard normal probability distribution function
2. Analytical computation of digital-filter coefficients as a function of integral-length scales in either Gaussian or exponential form
3. Convolution summation between random-number sets and digital-filter coefficients
4. Embedment of Reynolds stress tensor and mean velocity input into the digital-filtered random-number sets via elementwise multiplication and summation
**Fidelity**:
Preliminary statistically-stationary results from a channel-height profile on the patch (one-cell domain `channel395DFSEM` case: `hierar.-parallel (1 2 4)`):
![stress](/uploads/8dce71846496e6bbc87aca3c78c52bcb/stress.png)
Preliminary **not-statistically developed** (0.6 sec run, ongoing) with **non-optimal input** results from full `channel395DFSEM` case:
![DG-1](/uploads/49f04599abdd34ec9adec65166c8908f/DG-1.png)
**Performance**:
Preliminary comparisons with DFSEM suggests that the current model is ~1.8x faster for the `channel395DFSEM` tutorial.
### Risks
1. Model is itself not divergence-free (yet convertible); therefore, should not be preferred for aeroacoustic applications as is. Nonetheless, the mass flow rate correction reduces the inlet pressure fluctuations to the level of Poletto et al.'s DFSEM (quantified and verified by Bercin in comparison to Moser et al'. DNS data for pressure fluctuations and correlations).
2. For now, Taylor's frozen turbulence hypothesis is applied in the streamwise direction.
3. For now, `bilinear interpolation` is not fully functional.
4. Code duplications with DFSEM exist for template funcs.
5. For now, integral-length scale set (9-components) is spatial-invariant across patch.
6. Further verification is ongoing through high-order statistics from Moser et al.'s DNS data, e.g. correlations, kinetic energy budget, enstrophy and so on.AdminAdminhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/348DOC: Elaborate the usage of function objects2020-06-08T14:44:34ZKutalmış BerçinDOC: Elaborate the usage of function objects### Summary
Documentation and usage examples are limited for some of the function objects. This somewhat hampers the efforts of users to access all capabilities of them.
Therefore, we decided to elaborate the usage of function obje...### Summary
Documentation and usage examples are limited for some of the function objects. This somewhat hampers the efforts of users to access all capabilities of them.
Therefore, we decided to elaborate the usage of function objectcs in:
- Extended Code Guide (comprises the full spectrum of details)
- Header files (comprises the minimal set of info, directing the users to the central info hub, the Extended Code Guide)
In parallel to the `Extended Code Guide` improvements (corresponding: [Extended Code Guide:doc-FOs-part-1](https://develop.openfoam.com/Documentation/Extended-Code-Documentation/tree/doc-FOs-part-1)), it is useful:
- to provide a minimal documentation in the header files of the function objects
- to provide at least one example of usage per function object in tutorials
In addition, style/implementation consistency across function objects can be imposed for:
- update libs of etc/caseDicts/postProcess items
- ensure `destructor=default`
- ensure `no copy construct`/`no copy assignment`
- static data members
- ensure constness
- change `lookupOrDefault()` to `getOrDefault()`
### Resolved bugs
#1594
### Risks
Considerably low.
Regression tests are pending.v2006Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam/-/merge_requests/361DOC: Elaborate the usage of topoSet2020-06-08T14:52:12ZKutalmış BerçinDOC: Elaborate the usage of topoSet### Summary
Documentation and usage examples for `topoSet` are considerably improved.
### Risks
Considerably low.### Summary
Documentation and usage examples for `topoSet` are considerably improved.
### Risks
Considerably low.v2006Andrew HeatherAndrew Heather