- old logic (v2206 and earlier) always disabled writing on non-master,
but other parts of the code were more recently updated to use lazy
evaluation of surface data (with parallel communication)
- now retain full write/no-write logic identically on all ranks. Take
care of master/non-master at the final output stage.
- replaced PstreamBuffers mechanism with globalIndex for both gather
and scatter operations. Use scheduled communication by default, but
is selectable.
- reduced communication with ensemble averaging and no-write
Header information now includes, e.g.
f [Hz] vs P(f) [Pa]
Lower frequency: 2.500000e+01
Upper frequency: 5.000000e+03
Window model: Hanning
Window number: 2
Window samples: 512
Window overlap %: 5.000000e+01
dBRef : 2.000000e-05
Area average: false
Area sum : 6.475194e-04
Number of faces: 473
Note: output files now have .dat extension
The SPL can now be weighted according to the new 'SPLweighting' entry
that can be set to:
- none: no weighting
- dBA : dB(A)
- dBB : dB(B)
- dBC : dB(C)
- dBD : dB(D)
This commit also includes code refactoring of the noiseModel class to
remove the dependency on noiseFFT/declutter.
- this is identical to either of these solutions:
* getEnv("FOAM_CASE")
* stringOps::expand("<case>")
but with a closer resemblance to argList or Time globalPath(),
which makes the intent clearer.
Avoids using raw strings in the caller, which improves compile-time checks.
Used in situations where a class has no derivation path or other
access to a time registry or command args.
Both point- and surfaceNoise utilities can operate on multiple input
files. However, if the files had the same name, the output would be
overwritten. To avoid this, the output files are now written to a
sub-directory including the path '/input<input-file-index>/', e.g.
postProcessing/noise/surfaceNoise/input0/nearWall/[fft|oneThirdOctave]
An optional 'outputPrefix' can be included (defaults to empty), e.g.
when set to 'test1':
postProcessing/noise/test1/surfaceNoise/input0/nearWall/[fft|oneThirdOctave]
- Limit output to frequency range given by fLower and fUpper (if supplied)
- Enable noise models to be run outside of $FOAM_CASE directory
- if relative paths are used, $FOAM_CASE is prepended to the noise
dict and input file names
- Enable output to be customised, e.g.
// Optional write options dictionary (all default to 'yes')
writeOptions
{
writePrmsf no;
writeSPL yes;
writePSD yes;
writePSDf no;
writeOctaves yes;
}