# Volume Weighted Weibull

Initialize a variable with randomly generated numbers following a volume-weighted Weibull distribution

The VolumeWeightedWeibull class generates a spatially randomized distribution of a variable following a Weibull distribution, but weighted by the element volume to account for the fact that larger volumes are more likely to contain defects, and would thus have a reduced strength. This class follows the approach documented in Strack et al. (2015), and using it to describe local strength for fracture models minimizes mesh size dependence.

The randomized value of a given variable used to characterize a strength can be expressed as: (1) where is the median value of the strength variable, is the reference volume, which is the volume of a test specimen that has a median strength equal to , is a uniform random number on the interval from 0 to 1, and is the Weibull modulus.

This has two important differences from using the standard Weibull distribution, which can also be used to define a randomized strength in MOOSE using a combination of the WeibullDistribution object in the stochastic_tools module and the MOOSE RandomIC object:

1. This Weibull distribution is defined by two parameters: the Weibull modulus, , and the median value of the randomized variable, . This in contrast to the standard version, which has three parameters: the Weibull modulus, , the shape parameter, , and the location parameter, . The distribution generated by this Weibull distribution implicitly assumes that . The value for for the standard set of parameters in a Weibull distribution can be computed from and as:

2. The value of the samples from the standard Weibull distribution is scaled by the factor: As a result of this scaling, elements larger than the reference volume typically have decreased strength, and elements smaller than the reference volume have increased strength (because is typically greater than 1).

## Input Parameters

• reference_volumeReference volume (of a test specimen)

C++ Type:double

Options:

Description:Reference volume (of a test specimen)

• variableThe variable this initial condition is supposed to provide values for.

C++ Type:VariableName

Options:

Description:The variable this initial condition is supposed to provide values for.

• weibull_modulusWeibull modulus

C++ Type:double

Options:

Description:Weibull modulus

### Required Parameters

• blockThe list of block ids (SubdomainID) that this object will be applied

C++ Type:std::vector

Options:

Description:The list of block ids (SubdomainID) that this object will be applied

• boundaryThe list of boundary IDs from the mesh where this boundary condition applies

C++ Type:std::vector

Options:

Description:The list of boundary IDs from the mesh where this boundary condition applies

• legacy_generatorFalseDetermines whether or not the legacy generator (deprecated) should be used.

Default:False

C++ Type:bool

Options:

Description:Determines whether or not the legacy generator (deprecated) should be used.

• medianMedian value of property measured in a specimen of volume equal to reference_volume

C++ Type:double

Options:

Description:Median value of property measured in a specimen of volume equal to reference_volume

• seed0Seed value for the random number generator

Default:0

C++ Type:unsigned int

Options:

Description:Seed value for the random number generator

### Optional Parameters

• control_tagsAdds user-defined labels for accessing object parameters via control logic.

C++ Type:std::vector

Options:

Description:Adds user-defined labels for accessing object parameters via control logic.

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Options:

Description:Set the enabled status of the MooseObject.

• ignore_uo_dependencyFalseWhen set to true, a UserObject retrieved by this IC will not be executed before the this IC

Default:False

C++ Type:bool

Options:

Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC