Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 20 additions & 4 deletions source/user/manual/material/uniaxialMaterials/HystereticSM.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ HystereticSM Material
^^^^^^^^^^^^^^^^^^^^^

This command is used to construct a uniaxial multilinear hysteretic material object with pinching of force and deformation, damage due to ductility and energy, and degraded unloading stiffness based on ductility.
- This material is an extension of the Hysteretic Material -- the envelope can be defined 2,3, 4,5,6 or 7 points, while the original one only had 2 or 3.
- This material is an extension of the Hysteretic Material -- the envelope can be defined 2,3,4,5,6 or 7 points, while the original one only had 2 or 3.
- The positive and negative backbone of this material do not need to have the same number of segments.
- This material also has the option to degrade the envelope using the degEnv parameters -- these parameters must be used in combination with the damage parameters
- This material also has additional DCR-type recorder output (this is still a work in progress).
- Written by Silvia Mazzoni, 2022
- Feb 2026 Update 1: I added a new input rotY to be used when the deformation represents platic-only deformation. The user-defined values of rotY is added to eps1 to compute the current ductility level (=current strain/(eps1+rotY)). You can define different values in positive and negative. This new argument affects the damage-parameter calcs as well as the unloading stiffness.
- Feb 2026 Update 2: The second slope no longer needs to be positive, only the first stiffness does... in both directions.

Input Command:
-----------------
Expand All @@ -23,6 +26,7 @@ Input Command:
<,'-damage',damage1,damage2>
<,'-beta',beta>
<,'-degEnv',degEnvP <,degEnvN>>
<,'-rotY',rotYp <,rotYn>>
<,'-defoLimitStates',lsD1 <$lsD2>...>
<,'-forceLimitStates',lsF1 <,$lsF2>...>
<,'-printInput'>
Expand All @@ -40,6 +44,7 @@ Input Command:
<-damage $damage1 $damage2> \
<-beta $beta> \
<-degEnv degEnvP <degEnvN>> \
<-rotY rotYp <rotYn>> \
<-defoLimitStates $lsD1 <$lsD2>...> \
<-forceLimitStates $lsF1 <$lsF2>...> \
<-printInput> \
Expand All @@ -55,6 +60,7 @@ You can use the following input format as it is compatible with Hysteretic mater
s1n,e1n,s2n,e2n <,s3n,e3n> <,s4n,e4n> <,s5n,e5n> <,s6n,e6n> <,s7n,e7n>,
pinchX,pinchY,damage1,damage2 <,beta>
<,'-degEnv',degEnvP <,degEnvN>>
<,'-rotY',rotYp <,rotYn>>
<,'-defoLimitStates',lsD1 <$lsD2>...>
<,'-forceLimitStates',lsF1 <,$lsF2>...>
<,'-printInput'>
Expand All @@ -68,6 +74,7 @@ You can use the following input format as it is compatible with Hysteretic mater
$s1n $e1n $s2n $e2n <$s3n $e3n> <$s4n $e4n> <$s5n $e5n> <$s6n $e6n> <$s7n $e7n> \
$pinchX $pinchY $damage1 $damage2 <$beta> \
<-degEnv degEnvP <degEnvN>> \
<-rotY rotYp <rotYn>> \
<-defoLimitStates lsD1? <lsD2?>...> \
<-forceLimitStates lsF1? <lsF2?>...> \
<-printInput> \
Expand Down Expand Up @@ -127,10 +134,16 @@ Input Arguments:
- power used to determine the degraded unloading stiffness based on ductility, mu-beta (optional, default=0.0)
* - $degEnvP
- |float|
- envelope-degredation factor. This factor works with the damage parameters to degrade the POSITIVE envelope. A positive value degrades both strength and strain values, a negative values degrades only strength. The factor is applied to points 3+ (optional, default=0.0)
- envelope-degredation factor. This factor works with the damage parameters to degrade the POSITIVE envelope. A positive value degrades both strength and strain values, a negative values degrades only strength. The factor is applied to points 2+ (optional, default=0.0)
* - $degEnvN
- |float|
- envelope-degredation factor. This factor works with the damage parameters to degrade the NEGATIVE envelope. A positive value degrades both strength and strain values, a negative values degrades only strength. The factor is applied to points 3+ (optional, default=degEnvP, if defined, =0. otherwise)
- envelope-degredation factor. This factor works with the damage parameters to degrade the NEGATIVE envelope. A positive value degrades both strength and strain values, a negative values degrades only strength. The factor is applied to points 2+ (optional, default=degEnvP, if defined, =0. otherwise)
* - $rotYp
- |float|
- This value is added to e1p anytime the algorithm needs to compute ductility or energy in POSITIVE direction.
* - $rotYn
- |float|
- This value is added to e1p anytime the algorithm needs to compute ductility or energy in NEGATIVE direction.
* - ($lsD1,$lsD2..)
- |float|
- list of user-defined strain/deformation limits for computing deformation DCRs (optional)
Expand Down Expand Up @@ -729,5 +742,8 @@ Input-Parameters Study:



| HystereticSM Code Developed (2022) by: |silvia| (Silvia's Brainery)
| HystereticSM Code Developed (2022) by: |Silvia Mazzoni| (Silvia's Brainery)
| Original Hysteretic-Material Code Developed by: |mhs| & Filip Filippou (UC Berkeley)



Loading