VolumeWeightedWeibull Class Reference

VolumeWeightedWeibull generates a spatially randomized field that follows a Weibull distribution weighted by the factor (V_ref/V_el)^1/m, where V_ref is a reference volume from which the experimental data is obtained, V_el is the finite element volume, and m is the Weibull modulus, to account for the fact that larger material samples are more likely to contain defects. More...

#include <VolumeWeightedWeibull.h>

Inheritance diagram for VolumeWeightedWeibull:
[legend]

## Public Member Functions

VolumeWeightedWeibull (const InputParameters &parameters)

virtual Real value (const Point &p) override

## Protected Attributes

const Real _reference_volume
The reference volume of the test specimen from which a median strength is obtained. More...

const Real _weibull_modulus
The Weibull modulus. More...

const Real _median
The median value of the strength for specimens having volume equal to the reference volume. More...

## Detailed Description

VolumeWeightedWeibull generates a spatially randomized field that follows a Weibull distribution weighted by the factor (V_ref/V_el)^1/m, where V_ref is a reference volume from which the experimental data is obtained, V_el is the finite element volume, and m is the Weibull modulus, to account for the fact that larger material samples are more likely to contain defects.

This follows the approach of Strack, Leavy, and Brannon, IJNME (2015) https://doi.org/10.1002/nme

Definition at line 33 of file VolumeWeightedWeibull.h.

## ◆ VolumeWeightedWeibull()

 VolumeWeightedWeibull::VolumeWeightedWeibull ( const InputParameters & parameters )

Definition at line 29 of file VolumeWeightedWeibull.C.

30  : RandomICBase(parameters),
31  _reference_volume(getParam<Real>("reference_volume")),
32  _weibull_modulus(getParam<Real>("weibull_modulus")),
33  _median(getParam<Real>("median"))
34 {
35 }
const Real _weibull_modulus
The Weibull modulus.
const Real _median
The median value of the strength for specimens having volume equal to the reference volume...
const Real _reference_volume
The reference volume of the test specimen from which a median strength is obtained.

## ◆ value()

 Real VolumeWeightedWeibull::value ( const Point & p )
overridevirtual

Definition at line 38 of file VolumeWeightedWeibull.C.

39 {
40  const Real & element_volume = _current_elem->volume();
41
42  return _median *
43  std::pow(_reference_volume * std::log(generateRandom()) / (element_volume * std::log(0.5)),
44  1.0 / _weibull_modulus);
45 }
const Real _weibull_modulus
The Weibull modulus.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const Real _median
The median value of the strength for specimens having volume equal to the reference volume...
const Real _reference_volume
The reference volume of the test specimen from which a median strength is obtained.

## ◆ _median

 const Real VolumeWeightedWeibull::_median
protected

The median value of the strength for specimens having volume equal to the reference volume.

Definition at line 46 of file VolumeWeightedWeibull.h.

Referenced by value().

## ◆ _reference_volume

 const Real VolumeWeightedWeibull::_reference_volume
protected

The reference volume of the test specimen from which a median strength is obtained.

Definition at line 42 of file VolumeWeightedWeibull.h.

Referenced by value().

## ◆ _weibull_modulus

 const Real VolumeWeightedWeibull::_weibull_modulus
protected

The Weibull modulus.

Definition at line 44 of file VolumeWeightedWeibull.h.

Referenced by value().

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