Skip to main content

PeriDigmStrength

C++: phynexis::peridigm::PeriDigmStrength
Python: phynexis.peridigm.PeriDigmStrength
Header: src/peridigm/peridigm_strength.hpp

Description

Weibull-distributed strength model for quasi-brittle materials. Computes the critical energy release rate for a given particle size, incorporating random strength variation according to the Weibull distribution.

Constructors

PeriDigmStrength()

Default constructor with reference values calibrated for typical rock-like materials.

Example:

import phynexis
strength = phynexis.peridigm.PeriDigmStrength()
print(strength.weibull_modulus)

Output:

3.1

Methods

get_energy_release_rate(size)

Computes a random energy release rate for the given particle size using the Weibull distribution.

Parameters:

ParameterTypeDescription
sizefloatParticle size

Returns: float — energy release rate

Example:

strength = phynexis.peridigm.PeriDigmStrength()
rate = strength.get_energy_release_rate(1.0e-3)
print(f"rate = {rate:.2f}")

get_energy_release_rate(size, percentile)

Computes the energy release rate at a specific Weibull percentile (deterministic).

Parameters:

ParameterTypeDescription
sizefloatParticle size
percentilefloatWeibull percentile (0–1)

Returns: float — energy release rate at the given percentile

Example:

strength = phynexis.peridigm.PeriDigmStrength()
# Median strength
rate_50 = strength.get_energy_release_rate(1.0e-3, 0.5)
print(f"median rate = {rate_50:.2f}")

Properties

PropertyTypeDefaultAccessDescription
ref_sizefloat1.5e-3read/writeReference particle size
ref_energy_release_ratefloat60.0read/writeReference energy release rate
weibull_modulusfloat3.1read/writeWeibull modulus
weibull_coef_afloat-0.76read/writeWeibull coefficient a
weibull_coef_bfloat1.13read/writeWeibull coefficient b
min_breakable_sizefloat0.02read/writeMinimum breakable size fraction