3.1.5.35. Penalty Material Wrapper

This command is used to construct a Penalty uniaxial material wrapper. The wrapper adds a small stiffness to its wrapped UniaxialMaterial. This helps avoid a singular stiffness due to perfect plasticity and is a lightweight alternative to placing the wrapped material in parallel with an ElasticMaterial.

uniaxialMaterial Penalty $matTag $otherTag $penalty <-noStress>

Note

Use a small penalty value (the actual stiffness added) so that the response remains dominated by the wrapped material.

Example

  1. Tcl Code

set E 29000.0
set penalty [expr 0.05 * $E]
uniaxialMaterial Elastic 1 $E
uniaxialMaterial Penalty 2 1 $penalty
  1. Python Code

E = 29000.0
penalty = 0.05 * E
ops.uniaxialMaterial('Elastic', 1, E)
ops.uniaxialMaterial('Penalty', 2, 1, penalty)

Code developed by: Michael H. Scott