Perform noise analysis on surface-based pressure data. More...
Public Member Functions | |
| TypeName ("surfaceNoise") | |
| Runtime type information. More... | |
| surfaceNoise (const dictionary &dict, const bool readFields=true) | |
| Constructor. More... | |
| virtual | ~surfaceNoise () |
| Destructor. More... | |
| virtual bool | read (const dictionary &dict) |
| Read from dictionary. More... | |
| virtual void | calculate () |
| Calculate. More... | |
Public Member Functions inherited from noiseModel | |
| TypeName ("noiseModel") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, noiseModel, dictionary,(const dictionary &dict),(dict)) | |
| Run time selection table. More... | |
| noiseModel (const dictionary &dict, const bool readFields=true) | |
| Constructor. More... | |
| virtual | ~noiseModel ()=default |
| Destructor. More... | |
Protected Member Functions | |
| void | initialise (const fileName &fName) |
| Initialise. More... | |
| void | readSurfaceData (const labelList &procFaceOffset, List< scalarField > &pData) |
| Read surface data. More... | |
| scalar | writeSurfaceData (const fileName &outDirBase, const word &fName, const word &title, const scalar freq, const scalarField &data, const labelList &procFaceOffset, const bool writeSurface) const |
| Write surface data to file. More... | |
| scalar | surfaceAverage (const scalarField &data, const labelList &procFaceOffset) const |
| Calculate the area average value. More... | |
Protected Member Functions inherited from noiseModel | |
| void | readWriteOption (const dictionary &dict, const word &lookup, bool &option) const |
| Helper function to read write options and provide info feedback. More... | |
| scalar | checkUniformTimeStep (const scalarList ×) const |
| Check and return uniform time step. More... | |
| bool | validateBounds (const scalarList &p) const |
| Return true if all pressure data is within min/max bounds. More... | |
| label | findStartTimeIndex (const instantList &allTimes, const scalar startTime) const |
| Find and return start time index. More... | |
| fileName | baseFileDir (const label dataseti) const |
| Return the base output directory. More... | |
| noiseModel (const noiseModel &)=delete | |
| No copy construct. More... | |
| void | operator= (const noiseModel &)=delete |
| No copy assignment. More... | |
Protected Attributes | |
| List< fileName > | inputFileNames_ |
| Input file names. More... | |
| word | pName_ |
| Name of pressure field. More... | |
| label | pIndex_ |
| Index of pressure field in reader field list. More... | |
| scalarList | times_ |
| Sample times. More... | |
| scalar | deltaT_ |
| Time step (constant) More... | |
| label | startTimeIndex_ |
| Start time index. More... | |
| label | nFace_ |
| Number of surface faces. More... | |
| label | fftWriteInterval_ |
| Frequency data output interval, default = 1. More... | |
| word | readerType_ |
| Reader type. More... | |
| autoPtr< surfaceReader > | readerPtr_ |
| Pointer to the surface reader. More... | |
| autoPtr< surfaceWriter > | writerPtr_ |
| Pointer to the surface writer. More... | |
Protected Attributes inherited from noiseModel | |
| const dictionary | dict_ |
| Copy of dictionary used for construction. More... | |
| scalar | rhoRef_ |
| Reference density (to convert from kinematic to static pressure) More... | |
| label | nSamples_ |
| Number of samples in sampling window, default = 2^16. More... | |
| scalar | fLower_ |
| Lower frequency limit, default = 25Hz. More... | |
| scalar | fUpper_ |
| Upper frequency limit, default = 10kHz. More... | |
| bool | customBounds_ |
| Flag to indicate that custom frequency bounds are being used. More... | |
| scalar | startTime_ |
| Start time, default = 0s. More... | |
| autoPtr< windowModel > | windowModelPtr_ |
| Window model. More... | |
| word | graphFormat_ |
| Graph format. More... | |
| scalar | minPressure_ |
| Min pressure value. More... | |
| scalar | maxPressure_ |
| Min pressure value. More... | |
| fileName | outputPrefix_ |
| Output file prefix, default = ''. More... | |
| bool | writePrmsf_ |
| Write Prmsf; default = yes. More... | |
| bool | writeSPL_ |
| Write SPL; default = yes. More... | |
| bool | writePSD_ |
| Write PSD; default = yes. More... | |
| bool | writePSDf_ |
| Write PSDf; default = yes. More... | |
| bool | writeOctaves_ |
| Write writeOctaves; default = yes. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from noiseModel | |
| static autoPtr< noiseModel > | New (const dictionary &dict) |
| Selector. More... | |
Perform noise analysis on surface-based pressure data.
Input data is read from a dictionary, e.g.
// Pressure reference
pRef 0;
// Number of samples in sampling window, default = 2^16 (=65536)
N 4096;
// Lower frequency bounds
fl 25;
// Upper frequency bounds
fu 25;
// Start time
startTime 0;
windowModel <modelType>
<modelType>Coeffs
{
...
}
// Input file
file "postProcessing/faceSource1/surface/patch/patch.case";
//files ("postProcessing/faceSource1/surface/patch/patch.case");
// Write interval for FFT data, default = 1
fftWriteInterval 100;
// Surface reader
reader ensight;
// Surface writer
writer ensight;
// Collate times for ensight output - ensures geometry is only written once
writeOptions
{
ensight
{
collateTimes true;
}
// Write Prmsf; default = yes
writePrmsf no;
// Write SPL; default = yes
writeSPL yes;
// Write PSD; default = yes
writePSD yes;
// Write PSDf; default = yes
writePSDf no;
// Write writeOctaves; default = yes
writeOctaves yes;
}Definition at line 126 of file surfaceNoise.H.
| surfaceNoise | ( | const dictionary & | dict, |
| const bool | readFields = true |
||
| ) |
Constructor.
Definition at line 405 of file surfaceNoise.C.
References dict, surfaceNoise::read(), and Foam::readFields().
|
virtual |
Destructor.
Definition at line 429 of file surfaceNoise.C.
|
protected |
Initialise.
Definition at line 50 of file surfaceNoise.C.
References noiseModel::checkUniformTimeStep(), surfaceNoise::deltaT_, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, noiseModel::findStartTimeIndex(), forAll, Foam::Info, UPstream::master(), surfaceReader::New(), surfaceNoise::nFace_, surfaceNoise::pIndex_, surfaceNoise::pName_, surfaceNoise::readerPtr_, surfaceNoise::readerType_, Pstream::scatter(), List< T >::setSize(), MeshedSurface< Face >::size(), noiseModel::startTime_, surfaceNoise::startTimeIndex_, surfaceNoise::times_, and noiseModel::windowModelPtr_.
Referenced by surfaceNoise::calculate().
|
protected |
Read surface data.
Definition at line 119 of file surfaceNoise.C.
References PstreamBuffers::clear(), Foam::endl(), PstreamBuffers::finishedSends(), forAll, Foam::Info, UPstream::master(), UPstream::myProcNo(), Foam::nl, UPstream::nonBlocking, UPstream::nProcs(), p, UPstream::parRun(), Foam::returnReduce(), and List< T >::setSize().
Referenced by surfaceNoise::calculate().
|
protected |
Write surface data to file.
Returns the area average value
Definition at line 228 of file surfaceNoise.C.
References List< T >::clear(), Foam::endl(), PstreamBuffers::finishedSends(), forAll, Foam::Info, UPstream::master(), Foam::name(), UPstream::nonBlocking, UPstream::nProcs(), UPstream::parRun(), Pstream::scatter(), MeshedSurface< Face >::size(), Foam::sum(), and MeshedSurface< Face >::surfFaces().
Referenced by surfaceNoise::calculate().
|
protected |
Calculate the area average value.
Definition at line 340 of file surfaceNoise.C.
References PstreamBuffers::finishedSends(), forAll, UPstream::master(), UPstream::nonBlocking, UPstream::nProcs(), UPstream::parRun(), Pstream::scatter(), MeshedSurface< Face >::size(), and Foam::sum().
Referenced by surfaceNoise::calculate().
| TypeName | ( | "surfaceNoise" | ) |
Runtime type information.
|
virtual |
Read from dictionary.
Reimplemented from noiseModel.
Definition at line 435 of file surfaceNoise.C.
References dict, surfaceNoise::fftWriteInterval_, surfaceNoise::inputFileNames_, surfaceWriter::New(), surfaceNoise::pName_, noiseModel::read(), surfaceNoise::readerType_, List< T >::resize(), and surfaceNoise::writerPtr_.
Referenced by surfaceNoise::surfaceNoise().
|
virtual |
Calculate.
Implements noiseModel.
Definition at line 468 of file surfaceNoise.C.
References noiseModel::baseFileDir(), surfaceNoise::deltaT_, Foam::endl(), argList::envGlobalPath(), string::expand(), surfaceNoise::fftWriteInterval_, noiseModel::fLower_, forAll, noiseFFT::frequencies(), noiseModel::fUpper_, noiseModel::graphFormat_, Foam::Info, surfaceNoise::initialise(), surfaceNoise::inputFileNames_, fileName::isAbsolute(), UPstream::master(), Foam::max(), Foam::min(), fileName::nameLessExt(), surfaceNoise::nFace_, UPstream::nProcs(), windowModel::nSamples(), noiseModel::nSamples_, noiseFFT::octaveBandInfo(), UPstream::parRun(), noiseFFT::PSD(), surfaceNoise::readSurfaceData(), List< T >::setSize(), noiseFFT::SPL(), surfaceNoise::surfaceAverage(), graph::title(), WarningInFunction, noiseModel::windowModelPtr_, graph::wordify(), graph::write(), noiseModel::writeOctaves_, noiseModel::writePrmsf_, noiseModel::writePSD_, noiseModel::writePSDf_, noiseModel::writeSPL_, surfaceNoise::writeSurfaceData(), and Foam::Zero.
Input file names.
Definition at line 136 of file surfaceNoise.H.
Referenced by surfaceNoise::calculate(), and surfaceNoise::read().
|
protected |
Name of pressure field.
Definition at line 139 of file surfaceNoise.H.
Referenced by surfaceNoise::initialise(), and surfaceNoise::read().
|
protected |
Index of pressure field in reader field list.
Definition at line 142 of file surfaceNoise.H.
Referenced by surfaceNoise::initialise().
|
protected |
Sample times.
Definition at line 145 of file surfaceNoise.H.
Referenced by surfaceNoise::initialise().
|
protected |
Time step (constant)
Definition at line 148 of file surfaceNoise.H.
Referenced by surfaceNoise::calculate(), and surfaceNoise::initialise().
|
protected |
Start time index.
Definition at line 151 of file surfaceNoise.H.
Referenced by surfaceNoise::initialise().
|
protected |
Number of surface faces.
Definition at line 154 of file surfaceNoise.H.
Referenced by surfaceNoise::calculate(), and surfaceNoise::initialise().
|
protected |
Frequency data output interval, default = 1.
nSamples/2 data points are returned from the FFT, which can result in a very large number of output files (1 per frequency)
Definition at line 159 of file surfaceNoise.H.
Referenced by surfaceNoise::calculate(), and surfaceNoise::read().
|
protected |
Reader type.
Definition at line 162 of file surfaceNoise.H.
Referenced by surfaceNoise::initialise(), and surfaceNoise::read().
|
mutableprotected |
Pointer to the surface reader.
Definition at line 165 of file surfaceNoise.H.
Referenced by surfaceNoise::initialise().
|
mutableprotected |
Pointer to the surface writer.
Definition at line 168 of file surfaceNoise.H.
Referenced by surfaceNoise::read().