www.mooseframework.org
Public Member Functions | Protected Attributes | List of all members
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 34 of file VolumeWeightedWeibull.h.

Constructor & Destructor Documentation

◆ 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.

Member Function Documentation

◆ 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.

Member Data Documentation

◆ _median

const Real VolumeWeightedWeibull::_median
protected

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

Definition at line 47 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 43 of file VolumeWeightedWeibull.h.

Referenced by value().

◆ _weibull_modulus

const Real VolumeWeightedWeibull::_weibull_modulus
protected

The Weibull modulus.

Definition at line 45 of file VolumeWeightedWeibull.h.

Referenced by value().


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