RosinRammler Class Reference

Rosin-Rammler distribution, scaled so that it spans between a specified minimum and maximum value, rather than from zero to infinity. More...

Inheritance diagram for RosinRammler:
Collaboration diagram for RosinRammler:

Public Member Functions

 TypeName ("RosinRammler")
 Runtime type information. More...
 
 RosinRammler (const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen)
 Construct from a dictionary. More...
 
 RosinRammler (const RosinRammler &d, const label sampleQ)
 Construct copy. More...
 
virtual autoPtr< distributionclone (const label sampleQ) const
 Construct and return a clone. More...
 
virtual ~RosinRammler ()
 Destructor. More...
 
virtual scalar sampleForZeroQ () const
 Sample the distribution for zero effective size exponent. More...
 
virtual scalar min () const
 Return the minimum value. More...
 
virtual scalar max () const
 Return the maximum value. More...
 
virtual void write (Ostream &os, const unitConversion &units) const
 Write to a stream. More...
 
virtual tmp< scalarFieldplotX (const label n) const
 Return coordinates to plot across the range of the distribution. More...
 
- Public Member Functions inherited from FieldDistribution< unintegrableForNonZeroQ, RosinRammler >
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...
 

Protected Member Functions

virtual tmp< scalarFieldphi (const label q, const scalarField &x) const
 Return values of the un-normalised PDF for the given size exponent. More...
 
virtual tmp< scalarFieldPhiForZeroQ (const scalarField &x) const
 Return values of the un-normalised CDF for zero effective size. More...
 
- Protected Member Functions inherited from FieldDistribution< unintegrableForNonZeroQ, RosinRammler >
 FOR_ALL_FIELD_TYPES (VIRTUAL_SAMPLE_TYPE)
 

Detailed Description

Rosin-Rammler distribution, scaled so that it spans between a specified minimum and maximum value, rather than from zero to infinity.

\[ PDF(x) = \left( \frac{n}{d} \right) \left( \frac{x}{d} \right)^{n-1} \exp \left( - \left(\frac{x}{d} \right)^n \right) \]

\[ CDF(x) = 1 - \exp \left( - \left( \frac{x}{d} \right)^n \right) \]

Usage
Example usage:
{
    type    RosinRammler;
    Q       0;
    min     0.00001;
    max     0.00015;
    d       0.00014;
    n       2;
}
Source files
See also
Foam::distribution

Definition at line 74 of file RosinRammler.H.

Constructor & Destructor Documentation

◆ RosinRammler() [1/2]

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

Construct from a dictionary.

Definition at line 65 of file RosinRammler.C.

Referenced by RosinRammler::clone().

Here is the caller graph for this function:

◆ RosinRammler() [2/2]

RosinRammler ( const RosinRammler d,
const label  sampleQ 
)

Construct copy.

Definition at line 92 of file RosinRammler.C.

◆ ~RosinRammler()

~RosinRammler ( )
virtual

Destructor.

Definition at line 108 of file RosinRammler.C.

Member Function Documentation

◆ phi()

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

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

and x-coordinates.

Definition at line 43 of file RosinRammler.C.

References Foam::exp(), Foam::integerPow(), Foam::pow(), and x.

Here is the call graph for this function:

◆ PhiForZeroQ()

Foam::tmp< Foam::scalarField > PhiForZeroQ ( const scalarField x) const
protectedvirtual

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

exponent and given x-coordinates

Definition at line 54 of file RosinRammler.C.

References Foam::exp(), Foam::pow(), and x.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "RosinRammler"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Definition at line 131 of file RosinRammler.H.

References RosinRammler::RosinRammler().

Here is the call graph for this function:

◆ sampleForZeroQ()

Foam::scalar sampleForZeroQ ( ) const
virtual

Sample the distribution for zero effective size exponent.

Definition at line 114 of file RosinRammler.C.

References Foam::log(), Foam::pow(), and s().

Here is the call graph for this function:

◆ min()

Foam::scalar min ( ) const
virtual

Return the minimum value.

Definition at line 123 of file RosinRammler.C.

◆ max()

Foam::scalar max ( ) const
virtual

Return the maximum value.

Definition at line 129 of file RosinRammler.C.

◆ write()

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

Write to a stream.

Definition at line 135 of file RosinRammler.C.

References Foam::unitless, Foam::units(), Foam::vtkWriteOps::write(), and Foam::writeEntry().

Here is the call graph for this function:

◆ plotX()

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

Return coordinates to plot across the range of the distribution.

Definition at line 151 of file RosinRammler.C.

References Foam::max(), n, distribution::plotX(), and tmp< T >::ref().

Here is the call graph for this function:

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