openfoam merge requestshttps://develop.openfoam.com/Development/openfoam//merge_requests20220601T08:14:25Zhttps://develop.openfoam.com/Development/openfoam//merge_requests/526Draft: Resolve "ENH: cyclicACMI have optional search distance"20220601T08:14:25ZMattijs Janssens4Mattijs@users.noreply.develop.openfoam.comDraft: Resolve "ENH: cyclicACMI have optional search distance"Closes #2378Closes #2378Mattijs Janssens4Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/openfoam//merge_requests/514Draft: Resolve "patchProbes output original point and distance"20211209T08:56:46ZMattijs Janssens4Mattijs@users.noreply.develop.openfoam.comDraft: Resolve "patchProbes output original point and distance"Closes #2291Closes #2291Mattijs Janssens4Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/openfoam//merge_requests/513Draft: Resolve "patchProbes output original point and distance"20211209T08:56:39ZMattijs Janssens4Mattijs@users.noreply.develop.openfoam.comDraft: Resolve "patchProbes output original point and distance"Closes #2291Closes #2291Mattijs Janssens4Mattijs@users.noreply.develop.openfoam.comMattijs Janssens4Mattijs@users.noreply.develop.openfoam.comhttps://develop.openfoam.com/Development/openfoam//merge_requests/506turbulentTemperatureRadCoupledMixed allow Function1 for kappa20211202T08:53:16ZMattijs Janssens4Mattijs@users.noreply.develop.openfoam.comturbulentTemperatureRadCoupledMixed allow Function1 for kappa### Summary
 allow PatchFunction1 for kappa, alpha
 allow PatchFunction for thicknessLayer, kappaLayer
### Resolved bugs (If applicable)
#2277
### Risks
New keyword:
'kappaLayer', 'thicknessLayer' to specify a PatchFunction1 fo...### Summary
 allow PatchFunction1 for kappa, alpha
 allow PatchFunction for thicknessLayer, kappaLayer
### Resolved bugs (If applicable)
#2277
### Risks
New keyword:
'kappaLayer', 'thicknessLayer' to specify a PatchFunction1 for additional resistance.Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/openfoam//merge_requests/425ENH: new solvers: overPhaseChangeInterFoam and overCompressibleInterDyMFoam20210324T13:15:23ZSergio FerrarisENH: new solvers: overPhaseChangeInterFoam and overCompressibleInterDyMFoamKutalmış BerçinKutalmış Berçinhttps://develop.openfoam.com/Development/openfoam//merge_requests/407Feature iso distance surface20201211T16:45:34ZMark OLESENFeature iso distance surface Adds improved handling of distance surface edges (#1950)
 freshened some of the isosurface and sampling surface infrastructure to eliminate duplicate code, support cellZones for all isosurface types.
 support multiple offsets for c... Adds improved handling of distance surface edges (#1950)
 freshened some of the isosurface and sampling surface infrastructure to eliminate duplicate code, support cellZones for all isosurface types.
 support multiple offsets for cutting planes and multiple isovaluesAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam//merge_requests/399ENH: outletMappedUniformInlet: add optional fraction and offset20201216T18:28:32ZKutalmış BerçinENH: outletMappedUniformInlet: add optional fraction and offset### Summary
The new functionality optionally allows the patchaveraged
value to be scaled and/or offset by a pair of specified values.
Example of the boundary condition specification:
```
<patchName>
{
// Mandatory entries...### Summary
The new functionality optionally allows the patchaveraged
value to be scaled and/or offset by a pair of specified values.
Example of the boundary condition specification:
```
<patchName>
{
// Mandatory entries (unmodifiable)
type outletMappedFilterInlet;
outletPatch <outletPatchName>;
// Optional entries (unmodifiable)
fraction 0.1;
offset 10; // (1 0 0);
phi phi;
// Optional (inherited) entries
...
}
```
### Details of new models
**The tutorial `airRecirculationRoom` and related visualisations are exclusively prepared by _Alseny Diallo_**.
![Screenshot_from_20201210_172244](/uploads/0ca11fb914f02e7f7563d0df3e800b07/Screenshot_from_20201210_172244.png)
![Screenshot_from_20201210_183108](/uploads/10d4056dd7bdaed45d29b6e0aaddadc5/Screenshot_from_20201210_183108.png)
![Screenshot_from_20201210_181730](/uploads/83048e2a11c6ace6f8ac13cdf266fd5d/Screenshot_from_20201210_181730.png)
![Screenshot_from_20201210_172411](/uploads/cb9d2e00f334ee41f3ec8e7ff07d6902/Screenshot_from_20201210_172411.png)
![Screenshot_from_20201210_172420](/uploads/38cb29fa995ff837ed520b05c9ab37a6/Screenshot_from_20201210_172420.png)
![Screenshot_from_20201210_172319](/uploads/64a9c92d494ff19cd90e8df1a5b02bc7/Screenshot_from_20201210_172319.png)
![Screenshot_from_20201210_180954](/uploads/40806bc5b100b397998d6e5db55c3e4f/Screenshot_from_20201210_180954.png)
### Risks
 The bug fix may further need to be tested.
 No change to user input.Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam//merge_requests/386ENH: PatchParticleHistogram: add a new cloud FO20201113T09:23:26ZKutalmış BerçinENH: PatchParticleHistogram: add a new cloud FO### Summary
Computes a histogram for the distribution of particle diameters
and corresponding number of particles hitting on a given list of patches.
A minimal example by using `constant/reactingCloud1Properties.cloudFunctions`:
...### Summary
Computes a histogram for the distribution of particle diameters
and corresponding number of particles hitting on a given list of patches.
A minimal example by using `constant/reactingCloud1Properties.cloudFunctions`:
```
patchParticleHistogram1
{
// Mandatory entries (unmodifiable)
type patchParticleHistogram;
patches (<patch1> <patch2> ... <patchN>);
nBins 10;
min 0.1;
max 10.0;
maxStoredParcels 20;
}
```
### Risks
No change to user inputs / no risk to regression.
PS: approval/feedback please @mark @Sergio @Mattijs @PrashantAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam//merge_requests/379remove cyclic dependencies for phase systems20200806T06:23:44ZMark OLESENremove cyclic dependencies for phase systems### centralize more libraries in src/phaseSystemModels
### avoid phaseSystem cyclic dependencies, reduce number of libraries
Previously the phaseSystems had a number of smaller libraries to
provide interface and model properties. ...### centralize more libraries in src/phaseSystemModels
### avoid phaseSystem cyclic dependencies, reduce number of libraries
Previously the phaseSystems had a number of smaller libraries to
provide interface and model properties. However, the cyclic
dependencies between phaseSystem and the models (and turbulence)
causes extreme difficultly for mingw linking. The potential
additional flexibility is not actually used anywhere.
 libincompressibleMultiphaseSystems
 removed: libmassTransferModels
 libmultiphaseSystem
 removed: libcompressibleMultiphaseEulerianInterfacialModels
 libreactingMultiphaseSystem
 removed: libreactingPhaseSystem
 removed: libreactingEulerianFvPatchFields
 removed: libreactingEulerianInterfacialCompositionModels
 removed: libreactingEulerianInterfacialModels
 removed: libmultiphaseReactingTurbulenceModels
 libreactingTwoPhaseSystem
 removed: libreactingPhaseSystem
 removed: libreactingEulerianFvPatchFields
 removed: libreactingEulerianInterfacialCompositionModels
 removed: libreactingEulerianInterfacialModels
### Avoid duplicate symbol for phaseCompressibleTurbulenceModels.
Common turbulence models are defined in libreactingMultiphaseSystem,
and libmultiphaseReactingTurbulenceModels is now redundant.
The libtwoPhaseReactingTurbulenceModels extends the common models
for reactingTwoPhaseSystem.Sergio FerrarisSergio Ferrarishttps://develop.openfoam.com/Development/openfoam//merge_requests/331Submodule visualization20200123T14:24:33ZMark OLESENSubmodule visualizationThis finalises the work done to collect visualizationrelated items:
 catalyst
 paraviewplugins
 runTimePostProcessing
into a single place.
 Makes it easier to make related code changes.
 Makes it easier to mix and match differen...This finalises the work done to collect visualizationrelated items:
 catalyst
 paraviewplugins
 runTimePostProcessing
into a single place.
 Makes it easier to make related code changes.
 Makes it easier to mix and match different combinations of VTK/ParaView versions and capabilities (Eg, MESA, MPI etc).
Replaces the standalone catalyst submodule.Andrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam//merge_requests/305ENHBUG: Misc20191212T11:30:37ZKutalmış BerçinENHBUG: MiscAndrew HeatherAndrew Heatherhttps://develop.openfoam.com/Development/openfoam//merge_requests/238WIP: functionObject: Lamb Vector and its Divergence20190214T12:10:31ZKutalmış BerçinWIP: functionObject: Lamb Vector and its Divergence### Summary
Potential VW SubProject: Lamb Vector and its Divergence functionObject.
Lamb vector is the crossproduct of vorticity and velocity.
The motivation to do so stems from the close connection between the Lamb vector div...### Summary
Potential VW SubProject: Lamb Vector and its Divergence functionObject.
Lamb vector is the crossproduct of vorticity and velocity.
The motivation to do so stems from the close connection between the Lamb vector divergence and the motions in a flow, especially those instantaneous motions in turbulent flows, having a distinctively high capacity to effect a time rate of change of momentum, and generate forces such as drag.
### Resolved bugs (If applicable)
N/A
### Details of new models (If applicable)
Verification, hence pictures, will be provided based on the plane channel flow cases reported the journal paper below:
The Lamb vector divergence in Navier–Stokes flows, J. Fluid Mech. (2008), vol. 610, pp. 261–284., doi:10.1017/S0022112008002760O
### Risks
Not that I know of.https://develop.openfoam.com/Development/openfoam//merge_requests/50Feature noise20160629T20:44:40ZAdminFeature noiseNew functionality includes:
 runtime selectable noise models: pointsurface
 runtime selectable window models: Hanning (+ options symmetric, extended), uniform
 calculates PSD (Pa^2/Hz) and dB/HZ; SPL (Pa^2) and dB
 calculates ...New functionality includes:
 runtime selectable noise models: pointsurface
 runtime selectable window models: Hanning (+ options symmetric, extended), uniform
 calculates PSD (Pa^2/Hz) and dB/HZ; SPL (Pa^2) and dB
 calculates 1/3 octave data, with centre frequency 1kHz
surfaceNoise only:
 reads ascii/binary ensight surface data (requires collateTimes option)
 generates graphs for surface average quantities
 operates in parallelAdminAdminhttps://develop.openfoam.com/Development/openfoam//merge_requests/70Reworking of the ensight infrastructue and new ensightWrite function object20161103T08:24:53ZMark OLESENReworking of the ensight infrastructue and new ensightWrite function objectAdminAdminhttps://develop.openfoam.com/Development/openfoam//merge_requests/235DigitalFilter Based Synthetic Turbulence Generation Method for LES/DES Inflow20190621T12:10:50ZKutalmış BerçinDigitalFilter Based Synthetic Turbulence Generation Method for LES/DES Inflow### Summary
Velocity boundary condition generating synthetic turbulencealike
timeseries for LES and DES turbulent flow computations.
To this end, two synthetic turbulence generators can be chosen:
...### Summary
Velocity boundary condition generating synthetic turbulencealike
timeseries for LES and DES turbulent flow computations.
To this end, two synthetic turbulence generators can be chosen:
 Digitalfilter methodbased 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):652665.
doi:10.1016/S00219991(03)000901
\endverbatim
 Forwardstepwise methodbased generator (FSM)
\verbatim
Xie, Z.T., and Castro, I.
Efficient generation of inflow conditions for large eddy simulation of
streetscale flows, Flow, Turbulence and Combustion (2008) 81(3):449470
doi:10.1007/s1049400891515
\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
lengthscale sets) are fused into a new number set (stochastic timeseries,
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 timeseries 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 lengthscale sets and small
timesteps.
### Resolved bugs (If applicable)
Verified for `serial`, `scotchparallel (4)`, `hierar.parallel (1 2 2)`, `hierar.parallel (1 2 4)`, `serialrestart`, and `parallelrestart` in terms of input Reynolds stress tensor components through `channel395DFSEM` tutorial (onecell 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. Spatialvariant Reynolds stress symmetric tensor (6components)
2. Spatialvariant mean velocity profile
3. Spatialinvariant (for now) integrallength scale tensor (9components)
**The model output**: Stochastic timeseries involving the statistics of the model input sets.
**The model computation has four subsequent steps:**
1. Generation of randomnumber sets obeying the standard normal probability distribution function
2. Analytical computation of digitalfilter coefficients as a function of integrallength scales in either Gaussian or exponential form
3. Convolution summation between randomnumber sets and digitalfilter coefficients
4. Embedment of Reynolds stress tensor and mean velocity input into the digitalfiltered randomnumber sets via elementwise multiplication and summation
**Fidelity**:
Preliminary statisticallystationary results from a channelheight profile on the patch (onecell domain `channel395DFSEM` case: `hierar.parallel (1 2 4)`):
![stress](/uploads/8dce71846496e6bbc87aca3c78c52bcb/stress.png)
Preliminary **notstatistically developed** (0.6 sec run, ongoing) with **nonoptimal input** results from full `channel395DFSEM` case:
![DG1](/uploads/49f04599abdd34ec9adec65166c8908f/DG1.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 divergencefree (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, integrallength scale set (9components) is spatialinvariant across patch.
6. Further verification is ongoing through highorder statistics from Moser et al.'s DNS data, e.g. correlations, kinetic energy budget, enstrophy and so on.AdminAdmin