Page 1 of 1

How to extract physical (non-regularized) material strains from ASDConcrete1D / ASDSteel1D for code compliance?

Posted: Fri Jun 26, 2026 4:30 pm
by magnades
Hello dear STKO team,

I am modeling a precast prestressed concrete column using ASDConcrete1D and ASDSteel1D. As expected, these materials use the characteristic length (Lch) to regularize energy dissipation and avoid strain localization issues.

The Problem:
For my research, I need to evaluate code compliance (e.g., ASCE 61, Eurocode). These standards define damage thresholds based on actual physical strains measured over a real reference length (Lgauge or Lp). However, the standard OpenSees recorders output the regularized kinematic strains (ε = Δu / Lch).

My Questions:
  • Is there an internal variable or recorder option in ASDConcrete1D / ASDSteel1D to extract the true, non-regularized strain directly for both compression on concrete ?
  • If not, what is the recommended post-processing workflow/formula to convert these regularized strains back into physical strains for a specific Lgauge?
Any guidance or Python snippets for STKO post-processing would be highly appreciated.

Thank you very much!

Pd. Attached I am sending you the strain limits that I need to control from ASCE 61
ASCE61_Strain_Limits.rar
(46.14 KiB) Downloaded 13 times

Re: How to extract physical (non-regularized) material strains from ASDConcrete1D / ASDSteel1D for code compliance?

Posted: Mon Aug 24, 2026 1:26 pm
by STKO Team
Dear user,

This can be done by requesting, in the **MPCORecorder**, a custom elemental result such as:

material.crackStrain.-lchRef.XXX
for the tensile criterion,

or

material.crushStrain.-lchRef.YYY
for the compressive criterion.

Here, **XXX** is your reference length.

IMPORTANT NOTE: MPCORecorder uses the dot "." as a separator between keywords. Therefore, the dot cannot be used in the length value. In this case, you can use scientific notation to avoid using "." as the decimal separator.

For example, for the crushing strain with a reference length of **0.15 meters**:
material.crushStrain.-lchRef.15e-2
Of course, the first keyword depends on the element type:

* material for solids
* section.fiber for beams and shells