Skip to content

Concrete01 ​

Concrete with zero tensile strength: a parabolic rise to the peak, a linear descent to a crushing plateau, and nothing at all in tension.

πŸ”§ Grasshopper component ​

Concrete01 (Alpaca4d) β€” Alpaca4d β–Έ MomentCurvature_Ξ²eta, nickname Concrete

Concrete component
Inputs

Defaults are C25/30.

MatNameMaterial NameTextC25/30Label for the material.
fcoNumber-25000Compressive strength, in kN/mΒ².
Negative.
fcuNumber-20000Crushing strength at EpsilonCu β€” what is left past the peak.
Negative, and no larger in magnitude than fco.
EpsilonCoNumber-0.002Strain at fco. Negative, dimensionless.
EpsilonCuNumber-0.0035Strain at fcu. Negative, dimensionless.
MinMaxBooleanfalseWrap the material so a fibre fails once its strain leaves the range between EpsilonCu and zero.
Outputs
MaterialMaterialUniaxial material, for a Patch, Layer or Fiber Point.

Warning

Every stress and strain here is negative. Compression negative is the OpenSees convention for Concrete01, and entering 25000 instead of -25000 gives a section that behaves backwards without any error.

πŸ“ˆ When to use it ​

Use it when

  • You are modelling the concrete part of a reinforced-concrete section.
  • You want the cracking and the crushing to come out of the analysis rather than be assumed.

Do not use it when

  • You need tensile strength β€” Concrete01 has none, which is conservative for flexure but wrong for anything relying on tension stiffening.
  • You need confinement modelled explicitly. You can approximate it by giving the core patch a higher fcu and a larger EpsilonCu than the cover.

πŸ’‘ MinMax ​

With MinMax on, a fibre that strains past EpsilonCu stops carrying stress permanently, which is what physically happens when concrete crushes. Off, the material follows its curve indefinitely and the moment–curvature curve keeps a residual capacity it should not have.

Turn it on for anything you intend to read a failure point off.

πŸ”— Relation to OpenSees
tcl
uniaxialMaterial Concrete01 $matTag $fpc $epsc0 $fpcu $epscU
uniaxialMaterial MinMax     $wrapTag $matTag -min $minStrain -max $maxStrain

The MinMax wrapper is written only when the MinMax input is true, and the fibres then reference the wrapper's tag.