unintegrableForNonZeroQ Class Referenceabstract

Base class for distributions that have a closed integral form for the cumulative density function (CDF) when the effective size exponent is zero, but not otherwise. More...

Inheritance diagram for unintegrableForNonZeroQ:
Collaboration diagram for unintegrableForNonZeroQ:

Public Member Functions

virtual scalar sample () const
 Sample the distribution. More...
 
virtual scalar sampleForZeroQ () const =0
 Sample the distribution. More...
 
virtual tmp< scalarFieldintegralPDFxPow (const scalarField &x, const label e, const bool consistent=false) const
 Return the integral of the PDF multiplied by an integer power of x. More...
 
 unintegrable (const word &name, const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen)
 Inherit constructors. More...
 
 unintegrable (const label Q, const label sampleQ, randomGenerator &&rndGen, const label n)
 Inherit constructors. More...
 
 unintegrable (const unintegrable &d, const label sampleQ)
 Inherit constructors. More...
 
- Public Member Functions inherited from unintegrable
 unintegrable (const word &name, const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen)
 Construct from a dictionary. More...
 
 unintegrable (const label Q, const label sampleQ, randomGenerator &&rndGen, const label n)
 Construct from components. More...
 
 unintegrable (const unintegrable &d, const label sampleQ)
 Construct copy. More...
 
virtual ~unintegrable ()
 Destructor. 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< scalarFieldplotPDF (const scalarField &x) const
 Return values to plot the probability density function. More...
 
virtual scalar sample () const=0
 Sample the distribution. More...
 
template<class Type >
Type sample () const
 Sample the distribution. More...
 
virtual tmp< scalarFieldsample (const label n) const=0
 Sample the distribution. More...
 
virtual tmp< scalarFieldplotX (const label n) const
 Return coordinates to plot across the range of the distribution. 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...
 
virtual autoPtr< distributionclone (const label sampleQ) const =0
 Construct and return a clone. More...
 
autoPtr< distributionclone () const
 Construct and return a clone. More...
 
virtual ~distribution ()
 Destructor. More...
 
label sampleQ () const
 Access the sample size exponent. More...
 
void start (const bool repeat) const
 Start a sequence of samples. Either a new sequence, or a. More...
 
template<class Type >
Type sample () const
 Sample the distribution into components of a primitive type. More...
 
virtual tmp< scalarFieldsample (const label n) const =0
 Sample the distribution into a field. More...
 
virtual scalar min () const =0
 Return the minimum value. More...
 
virtual scalar max () const =0
 Return the maximum value. More...
 
virtual tmp< scalarFieldCDF (const scalarField &x) const
 Return the cumulative density function at the given coordinates. More...
 
virtual void writeState (Ostream &os) const
 Write the state to a stream. More...
 
virtual tmp< scalarFieldplotX (const label n) const
 Return coordinates to plot across the range of the distribution. More...
 

Protected Member Functions

virtual tmp< scalarFieldPhi (const label q, const scalarField &x) const
 Return values of the un-normalised CDF for the given size exponent. More...
 
virtual tmp< scalarFieldPhiForZeroQ (const scalarField &x) const =0
 Return values of the un-normalised CDF for zero effective size. More...
 
virtual Pair< scalar > Phi01 (const label q) const
 Return values of the un-normalised CDF at the minimum and maximum. More...
 
virtual Pair< scalar > Phi01 (const label q) const
 Access cached values of the un-normalised CDF at the minimum and. More...
 
const Pair< scalar > & Phi01 () const
 Access cached values of the un-normalised CDF at the minimum and. More...
 
- Protected Member Functions inherited from unintegrable
virtual tmp< scalarFieldphi (const label q, const scalarField &x) const =0
 Return values of the un-normalised PDF for the given size exponent. More...
 
const Pair< scalar > & Phi01 () const
 Access cached values of the un-normalised CDF at the minimum and. More...
 
- 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)
 

Additional Inherited Members

- Static Public Member Functions inherited from unintegrable
static tmp< scalarFieldintegrate (const scalarField &x, const scalarField &y)
 Integrate the values y with respect to the coordinates x. More...
 
static tmp< scalarFieldintegrateX (const scalarField &x, const scalarField &y)
 Integrate the values x*y with respect to the coordinates x. More...
 
static tmp< scalarFieldinterpolateIntegrateXPow (const scalarField &xStar, const label e, const scalarField &yStar, const scalarField &x)
 Integrate the values x^e*y with respect to the coordinates x,. More...
 
static scalar sampleInterval (const Pair< scalar > &x, const Pair< scalar > &Phi, const scalar s)
 Sample an interval, given the interval's bounding x-coordinates,. More...
 
static scalar sampleInterval (const Pair< scalar > &x, const Pair< scalar > &phi, const Pair< scalar > &Phi, const scalar s)
 Sample an interval, given the interval's bounding x-coordinates,. More...
 
static scalar sample (const scalarField &x, const scalarField &Phi, const scalar s)
 Sample a discretised distribution, given the x-coordinates,. More...
 
static scalar sample (const scalarField &x, const scalarField &phi, const scalarField &Phi, const scalar s)
 Sample a discretised distribution, given the x-coordinates, values. More...
 
- 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 Attributes inherited from distribution
const label Q_
 Distribution size exponent. More...
 
const label sampleQ_
 Sample size exponent. More...
 
restartableRandomGenerator rndGen_
 Random number generator. More...
 

Detailed Description

Base class for distributions that have a closed integral form for the cumulative density function (CDF) when the effective size exponent is zero, but not otherwise.

Source files
See also
Foam::distribution

Definition at line 55 of file unintegrableForNonZeroQ.H.

Member Function Documentation

◆ Phi()

Foam::tmp< Foam::scalarField > Phi ( const label  q,
const scalarField x 
) const
protectedvirtual

Return values of the un-normalised CDF for the given size exponent.

and x-coordinates.

Reimplemented from unintegrable.

Definition at line 30 of file unintegrableForNonZeroQ.C.

References unintegrable::Phi(), unintegrableForNonZeroQ::PhiForZeroQ(), distribution::q(), and x.

Here is the call graph for this function:

◆ PhiForZeroQ()

virtual tmp<scalarField> PhiForZeroQ ( const scalarField x) const
protectedpure virtual

Return values of the un-normalised CDF for zero effective size.

exponent and given x-coordinates

Referenced by unintegrableForNonZeroQ::Phi().

Here is the caller graph for this function:

◆ Phi01() [1/3]

Foam::Pair< Foam::scalar > Phi01 ( const label  q) const
protectedvirtual

Return values of the un-normalised CDF at the minimum and maximum.

x-coordinates for the given size exponent.

Reimplemented from unintegrable.

Definition at line 47 of file unintegrableForNonZeroQ.C.

References UList< T >::first(), UList< T >::last(), Foam::max(), Foam::min(), unintegrable::Phi01(), and x.

Here is the call graph for this function:

◆ sample()

Foam::scalar sample ( ) const
virtual

Sample the distribution.

Reimplemented from unintegrable.

Definition at line 67 of file unintegrableForNonZeroQ.C.

References unintegrable::sample().

Here is the call graph for this function:

◆ sampleForZeroQ()

virtual scalar sampleForZeroQ ( ) const
pure virtual

Sample the distribution.

◆ integralPDFxPow()

Foam::tmp< Foam::scalarField > integralPDFxPow ( const scalarField x,
const label  e,
const bool  consistent = false 
) const
virtual

Return the integral of the PDF multiplied by an integer power of x.

Reimplemented from unintegrable.

Definition at line 81 of file unintegrableForNonZeroQ.C.

References Foam::e, unintegrable::integralPDFxPow(), Foam::max(), Foam::min(), and x.

Here is the call graph for this function:

◆ Phi01() [2/3]

Foam::Pair< Foam::scalar > Phi01
protected

Access cached values of the un-normalised CDF at the minimum and.

maximum x-coordinates.

Definition at line 115 of file unintegrable.C.

◆ Phi01() [3/3]

const Foam::Pair< Foam::scalar > & Phi01
protected

Access cached values of the un-normalised CDF at the minimum and.

maximum x-coordinates.

Definition at line 119 of file unintegrable.C.

◆ unintegrable() [1/3]

Inherit constructors.

Definition at line 196 of file unintegrable.C.

References s(), and x.

Here is the call graph for this function:

◆ unintegrable() [2/3]

Inherit constructors.

Definition at line 206 of file unintegrable.C.

References x.

◆ unintegrable() [3/3]

Inherit constructors.

Definition at line 215 of file unintegrable.C.


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