**process batdorf#

Description#

This process computes a probability of failure for brittle materials according to the Batdorf model. This model is an extension of the Weibull model that may be more relevant in the case of multiaxial stress states, and also allows some flexibility as regards of the definition of the equivalent stress causing failure.

The probability of failure \(P_f\) is expressed in the following form;

(202)#\[P_f ~=~1-exp \left( - \int_{V}~dV~\int_0^{\sigma_1}{ \theta(\sigma_c) ~ \frac{\Omega}{4 \pi}(\sigma_c) ~ d\sigma_c } \right)\]

where:

  • the integration \(\int_0^{\sigma_1}{~...~d\sigma_c}\) is computed over all possible crack sizes, characterized by the critical stress \(\sigma_c\) (\(\sigma_1\) is the maximum principal stress at the current integration point),

  • \(\theta(\sigma_c)\) is the density of cracks having \(\sigma_c\) as critical stress
    A classical power law is chosen for \(\theta(\sigma_c)\):

(203)#\[\displaystyle \theta(\sigma_c)~=~\frac{1}{V_0~\sigma_u} \left< \frac{\sigma_c-\sigma_0}{\sigma_u} \right>^m\]
where \(V_0\), \(\sigma_u\), \(\sigma_0\) and \(m\) are material parameters.
  • \(\Omega(\sigma_c)\) is the solid angle of the region of space where the equivalent stress \(\sigma_e\) is higher than the critical stress \(\sigma_c\)
    (\(\Omega=4\pi\) for the whole space around the current integration point in the volume)

    To evaluate the solid angle \(\Omega(\sigma_c)\) the following coordinate system that depends on the principal stress values \(\sigma_1\), \(\sigma_{2}\), \(\sigma_{3}\) (\(\sigma_{3}<=\sigma_{2}<=\sigma_1\)) at the current integration point is defined:

    ../../_images/batdorf_coord.svg
    and the following expression is used to calculate \(\Omega(\sigma_c)\):
    \(\displaystyle \frac{\Omega(\sigma_c)}{4\pi} = \frac{1}{2\pi} \int_0^\pi{ ~\left( \int_0^\pi g(\sigma_e(\theta,\phi),\sigma_c)~sin\phi~d\phi \right)} ~d\theta\)
    In the previous equation \(g(\sigma_e(\theta,\phi),\sigma_c)\) indicates if the equivalent stress \(\sigma_e\) is greater than the critical stress \(\sigma_c\):
    \(g(\sigma_e(\theta,\phi),\sigma_c) = 1~~\)if\(~~\sigma_e(\theta,\phi)>=\sigma_c~~\), else\(~~g(\sigma_e(\theta,\phi),\sigma_c)=0\)
  • Various expression of the equivalent stress \(\sigma_e\) may be chosen:

    • normal stress mode (“ns”) : \(\sigma_e=\sigma_n\)

    • critical energy release rate mode (“ce”) : \(\sigma_e=\sqrt{\sigma_n^2+\tau^2}\)

    • maximal strength mode (“ms”) : \(\sigma_e=\frac{1}{2}\left(\sigma_n+\sqrt{\sigma_n^2+\tau^2}\right)\)

    where \(\sigma_n\) an \(\tau\) are the normal and shear stress components on a facet with normal \(\vect{n}(\theta,\phi)\). In the coordinate system of the above figure, the following expressions are used to evaluate \(\sigma_n\) and \(\tau\) from the principal stress values:

    (204)#\[\sigma_n~=~\sigma_1~cos^2\theta~sin^2\phi~+~\sigma_2~sin^2\theta~sin^2\phi ~+~\sigma_3~cos^2\phi\]
    (205)#\[\sigma_n^2~+~\tau^2~=~\sigma_1^2~cos^2\theta~sin^2\phi~+~\sigma_2^2~sin^2\theta~sin^2\phi ~+~\sigma_3^2~cos^2\phi\]

Syntax#

**process batdorf \(~\,\) *var name [ *mode ns | ce | ms ] [ *steps st ] [ *precision eps ] [ *nb_constant_step const ] [ *force_numeric ]

name is the name of the variable used to store the stress in the results file (one would expect sig here)

The *mode command allows to select the type of equivalent stress used in the model as defined above. Mode ns (normal stress) is the default.

The optional command *steps is used to defined the number of sub-steps involved in runge-kutta integrations of the various integrals defined above. The default value is st=4 (eg. 4 substeps of \(\frac{\pi}{4}\) radians for an integration from \(0\) to \(\pi\)).

eps is the runge-kutta precision required for the previous integrations. Default value is eps=1.e-4, that may be decreased to \(1.e-3\) for faster integration at the expense of a lower precision of the failure probabilities calculated by the post-processor.

In the ns and ce modes, analytical expressions can be derived and are used to accelerate the calculation of the \(\Omega(\sigma_c)\) critical solid angle. In that case a double integration is needed (integration over \(\sigma_c\) and \(\theta\) only) to evaluate \(\Omega\). In the ms mode, no analytical acceleration is possible, and an additional integration over angle \(\phi\) is needed. Use of runge-kutta for this inner integration is not manageable for efficiency reasons, and a simple constant step integration method is preferred in this case. The *nb_constant_step optional command may then be used to specify the number of sub-steps needed for \(\phi\) integration. The default value is const=20.

The optional command *force_numeric may be used in the ns and ce mode to replace the previous analytical \(\phi\) integration by the numeric constant step method.

The probability of failure \(P_{ip}\) associated to each integration point:

(206)#\[P_{ip} = \int_0^{\sigma_1}{ \theta(\sigma_c) ~ \frac{\Omega}{4 \pi}(\sigma_c) ~ d\sigma_c}\]

is stored in the results file under a name constructed by adding “_ba” to the variable name, while the total probability \(P_f\) obtained after integration on the volume of the component is written in the .post file.

Example#

**file integ % mandatory
**process batdorf
 *mode ns
 *var sig

% material file
**process batdorf
  V0 1.0
  sigma_u 200.0
  m 3.0