Skip to main content

PeriDigmDamageModel

C++: phynexis::peridigm::PeriDigmDamageModel
Python: phynexis.peridigm.PeriDigmDamageModel
Header: src/peridigm/peridigm_damage_model.hpp

Description

Damage model for peridynamic simulations. Currently supports the critical stretch model.

Constructors

PeriDigmDamageModel()

Creates a damage model with default critical stretch value.

Example:

import phynexis
dm = phynexis.peridigm.PeriDigmDamageModel()
print(dm.type, dm.critical_stretch)

Output:

Type.Critical_Stretch 0.01

Methods

initialize_from_energy_release_rate(youngs_modulus, poissons_ratio, horizon, energy_release_rate)

Computes the critical stretch from the energy release rate and material properties.

Parameters:

ParameterTypeDescription
youngs_modulusfloatYoung's modulus
poissons_ratiofloatPoisson's ratio
horizonfloatPeridynamic horizon
energy_release_ratefloatEnergy release rate

get_stretch_from_energy_release_rate(youngs_modulus, poissons_ratio, horizon, energy_release_rate)

Static method that computes the stretch value from energy release rate without modifying the object.

Parameters:

ParameterTypeDescription
youngs_modulusfloatYoung's modulus
poissons_ratiofloatPoisson's ratio
horizonfloatPeridynamic horizon
energy_release_ratefloatEnergy release rate

Returns: float — computed stretch value

Example:

dm = phynexis.peridigm.PeriDigmDamageModel()
stretch = dm.get_stretch_from_energy_release_rate(70e9, 0.33, 0.001, 100)
print(f"stretch = {stretch:.6f}")

write_input_file(os, damage_model_id)

Writes the damage model definition to a stream.

Parameters:

ParameterTypeDescription
osfile-likeOutput stream
damage_model_idintDamage model index

Properties

PropertyTypeAccessDescription
typePeriDigmDamageModel.Typeread/writeDamage model type
critical_stretchfloatread/writeCritical stretch threshold

Enums

Type

ValueDescription
Critical_StretchCritical stretch damage model