tabulatedCumulative Class Reference

Distribution in which the cumulative distribution function is given as a table of values. More...

Inheritance diagram for tabulatedCumulative:
Collaboration diagram for tabulatedCumulative:

Public Member Functions

 TypeName ("tabulatedCumulative")
 Runtime type information. More...
 
 tabulatedCumulative (const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen)
 Construct from a dictionary. More...
 
 tabulatedCumulative (const tabulatedCumulative &d, const label sampleQ)
 Construct copy. More...
 
virtual autoPtr< distributionclone (const label sampleQ) const
 Construct and return a clone. More...
 
virtual ~tabulatedCumulative ()
 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, tabulatedCumulative >
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, tabulatedCumulative >
 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 cumulative distribution function is given as a table of values.

Usage
Example usage:
{
    type    tabulatedCumulative;
    Q       0;
    values
    (
        (10e-6 0)
        (12e-6 0.1972235)
        (15e-6 2.6711166)
        (19e-6 11.643361)
        (25e-6 28.968245)
        (31e-6 52.155796)
        (39e-6 74.381959)
        (50e-6 91.162850)
        (63e-6 100)
    );
}
Source files
See also
Foam::distribution

Definition at line 75 of file tabulatedCumulative.H.

Constructor & Destructor Documentation

◆ tabulatedCumulative() [1/2]

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

◆ tabulatedCumulative() [2/2]

tabulatedCumulative ( const tabulatedCumulative d,
const label  sampleQ 
)

Construct copy.

Definition at line 127 of file tabulatedCumulative.C.

References forAll, Foam::integerPow(), UList< T >::last(), distribution::q(), and List< T >::size().

Here is the call graph for this function:

◆ ~tabulatedCumulative()

~tabulatedCumulative ( )
virtual

Destructor.

Definition at line 162 of file tabulatedCumulative.C.

Member Function Documentation

◆ TypeName()

TypeName ( "tabulatedCumulative"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Implements distribution.

Definition at line 114 of file tabulatedCumulative.H.

References tabulatedCumulative::tabulatedCumulative().

Here is the call graph for this function:

◆ sample()

Foam::scalar sample ( ) const
virtual

Sample the distribution.

Implements distribution.

Definition at line 168 of file tabulatedCumulative.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 174 of file tabulatedCumulative.C.

◆ max()

Foam::scalar max ( ) const
virtual

Return the maximum value.

Implements distribution.

Definition at line 180 of file tabulatedCumulative.C.

◆ mean()

Foam::scalar mean ( ) const
virtual

Return the mean value.

Implements distribution.

Definition at line 186 of file tabulatedCumulative.C.

References unintegrable::integrate(), and x.

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 193 of file tabulatedCumulative.C.

References UList< T >::first(), forAll, Foam::integerPow(), UList< T >::last(), 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 226 of file tabulatedCumulative.C.

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

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 250 of file tabulatedCumulative.C.

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

Here is the call graph for this function:

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