tabulatedDensity Class Reference

Distribution in which the probability density function is given as a table of values. More...

Inheritance diagram for tabulatedDensity:
Collaboration diagram for tabulatedDensity:

Public Member Functions

 TypeName ("tabulatedDensity")
 Runtime type information. More...
 
 tabulatedDensity (const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen)
 Construct from a dictionary. More...
 
 tabulatedDensity (const tabulatedDensity &d, const label sampleQ)
 Construct copy. More...
 
virtual autoPtr< distributionclone (const label sampleQ) const
 Construct and return a clone. More...
 
virtual ~tabulatedDensity ()
 Destructor. More...
 
virtual scalar sample () const
 Sample the distribution. More...
 
virtual scalar min () const
 Return the minimum value. More...
 
virtual scalar max () const
 Return the maximum value. More...
 
virtual scalar mean () const
 Return the mean value. More...
 
virtual void write (Ostream &os, const unitConversion &units) const
 Write to a stream. More...
 
virtual tmp< scalarFieldx (const label n) const
 Return coordinates to plot across the range of the distribution. More...
 
virtual tmp< scalarFieldPDF (const scalarField &x) const
 Return the distribution probability density function. More...
 
- Public Member Functions inherited from FieldDistribution< distribution, tabulatedDensity >
Type sample () const
 Sample the distribution into components of a primitive type. More...
 
virtual tmp< scalarFieldsample (const label n) const
 Sample the distribution into a field. More...
 
- Public Member Functions inherited from distribution
 TypeName ("distribution")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, distribution, dictionary,(const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen),(units, dict, sampleQ, std::move(rndGen)))
 Declare runtime constructor selection table. More...
 
 distribution (const word &name, const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen)
 Construct from dictionary. More...
 
 distribution (const label Q, const label sampleQ, randomGenerator &&rndGen)
 Construct from components. More...
 
 distribution (const distribution &d, const label sampleQ)
 Construct copy. More...
 
autoPtr< distributionclone () const
 Construct and return a clone. More...
 
virtual ~distribution ()
 Destructor. More...
 
template<class Type >
Type sample () const
 Sample the distribution into components of a primitive type. More...
 
virtual void writeState (Ostream &os) const
 Write the state to a stream. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from distribution
static autoPtr< distributionNew (const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen, const bool report=true)
 Select from dictionary and a random generator. More...
 
static autoPtr< distributionNew (const unitConversion &units, const dictionary &dict, const label sampleQ, const randomGenerator::seed &s, const bool global=false, const bool report=true)
 Select from a dictionary and a random generator seed and global flag. More...
 
static autoPtr< distributionNew (autoPtr< distribution > &dPtr, const label sampleQ)
 Re-select with a different sample size exponent. More...
 
- Protected Member Functions inherited from FieldDistribution< distribution, tabulatedDensity >
 FOR_ALL_FIELD_TYPES (VIRTUAL_SAMPLE_TYPE)
 
- Protected Member Functions inherited from distribution
virtual void validateBounds (const dictionary &dict) const
 Validate that the bounds are monotonic. More...
 
virtual void validatePositive (const dictionary &dict) const
 Validate that the lower bound is positive. More...
 
tmp< scalarFieldclipPDF (const scalarField &x, const tmp< scalarField > &pdf) const
 Clip the PDF values to zero outside the bounds. More...
 
label q () const
 Return the effective distribution size exponent. More...
 
 FOR_ALL_FIELD_TYPES (VIRTUAL_SAMPLE_TYPE)
 
- Protected Attributes inherited from distribution
const label Q_
 Distribution size exponent. More...
 
const label sampleQ_
 Sample size exponent. More...
 
randomGenerator rndGen_
 Random number generator. More...
 

Detailed Description

Distribution in which the probability density function is given as a table of values.

Usage
Example usage:
{
    type    tabulatedDensity;
    Q       0;
    values
    (
        (10e-6 0.0025)
        (12e-6 0.2795)
        (15e-6 2.3988)
        (19e-6 6.3888)
        (25e-6 10.3153)
        (31e-6 12.0030)
        (39e-6 10.8427)
        (50e-6 6.1333)
        (63e-6 3.4688)
    );

}
Source files
See also
Foam::distribution

Definition at line 76 of file tabulatedDensity.H.

Constructor & Destructor Documentation

◆ tabulatedDensity() [1/2]

tabulatedDensity ( const unitConversion units,
const dictionary dict,
const label  sampleQ,
randomGenerator &&  rndGen 
)

◆ tabulatedDensity() [2/2]

tabulatedDensity ( const tabulatedDensity d,
const label  sampleQ 
)

Construct copy.

Definition at line 114 of file tabulatedDensity.C.

References Foam::integerPow(), unintegrable::integrate(), UList< T >::last(), and distribution::q().

Here is the call graph for this function:

◆ ~tabulatedDensity()

~tabulatedDensity ( )
virtual

Destructor.

Definition at line 141 of file tabulatedDensity.C.

Member Function Documentation

◆ TypeName()

TypeName ( "tabulatedDensity"  )

Runtime type information.

◆ clone()

virtual autoPtr<distribution> clone ( const label  sampleQ) const
inlinevirtual

Construct and return a clone.

Implements distribution.

Definition at line 115 of file tabulatedDensity.H.

References tabulatedDensity::tabulatedDensity().

Here is the call graph for this function:

◆ sample()

Foam::scalar sample ( ) const
virtual

Sample the distribution.

Implements distribution.

Definition at line 147 of file tabulatedDensity.C.

References unintegrable::sample().

Here is the call graph for this function:

◆ min()

Foam::scalar min ( ) const
virtual

Return the minimum value.

Implements distribution.

Definition at line 153 of file tabulatedDensity.C.

◆ max()

Foam::scalar max ( ) const
virtual

Return the maximum value.

Implements distribution.

Definition at line 159 of file tabulatedDensity.C.

◆ mean()

Foam::scalar mean ( ) const
virtual

Return the mean value.

Implements distribution.

Definition at line 165 of file tabulatedDensity.C.

References unintegrable::integrateX().

Here is the call graph for this function:

◆ write()

void write ( Ostream os,
const unitConversion units 
) const
virtual

Write to a stream.

Reimplemented from distribution.

Definition at line 171 of file tabulatedDensity.C.

References UList< T >::first(), forAll, Foam::integerPow(), unintegrable::integrate(), Foam::units(), Foam::vtkWriteOps::write(), and Foam::writeEntry().

Here is the call graph for this function:

◆ x()

Foam::tmp< Foam::scalarField > x ( const label  n) const
virtual

Return coordinates to plot across the range of the distribution.

Reimplemented from distribution.

Definition at line 196 of file tabulatedDensity.C.

References Foam::max(), Foam::min(), tmp< T >::ref(), and List< T >::size().

Here is the call graph for this function:

◆ PDF()

Foam::tmp< Foam::scalarField > PDF ( const scalarField x) const
virtual

Return the distribution probability density function.

Implements distribution.

Definition at line 219 of file tabulatedDensity.C.

References tmp< T >::ref(), and List< T >::size().

Here is the call graph for this function:

The documentation for this class was generated from the following files: