PySimple1 Material: Difference between revisions
No edit summary |
No edit summary |
||
Line 48: | Line 48: | ||
described by: | described by: | ||
:<math>p = p_{\text{ult}} - (p_{\text{ult}} - p_o) \left [\frac{c | :<math>p = p_{\text{ult}} - (p_{\text{ult}} - p_o) \left [\frac{c y_{50}}{c y_{50} + | z_p - z^p_0|} \right ]^n </math> | ||
where <math>p_\text{ult}</math> = the ultimate resistance of the <math>p-y</math> material in the current loading direction, <math>p_o = p</math> at | where <math>p_\text{ult}</math> = the ultimate resistance of the <math>p-y</math> material in the current loading direction, <math>p_o = p</math> at | ||
the start of the current plastic loading cycle, <math>y^p_o = y_p</math> at the start of the current plastic loading cycle, <math>c</math> = constant to control the tangent modulus at the start of plastic yielding, and n = an exponent to control sharpness of the <math>p-y^p</math> curve. | the start of the current plastic loading cycle, <math>y^p_o = y_p</math> at the start of the current plastic loading cycle, <math>c</math> = constant to control the tangent modulus at the start of plastic yielding, and n = an exponent to control sharpness of the <math>p-y^p</math> curve. | ||
The closure <math>(p^c-y^g)</math> spring is described by: | |||
:<math>p^c = 1.8 p_{\text{ult}} \left [\frac{y_{50}}{y_{50} + 50(y_o^\text{+} - y^g)} - \frac{y_{50}}{y_{50} + 50(y_o^\text{-} - y^g)} \right ] </math> | |||
where <math>y_o^+</math> = memory term for the positive side of the gap, <math>y_o^-</math>= memory term for the negative side of the gap. The initial values of <math>y_o^+</math> and <math>y_o^-</math> were set as <math>y_{50}/100</math> and <math>- y_{50}/100</math>, respectively. The factor of 1.8 brings <math>p^c</math> up to <math>p_\text{ult}</math> during virgin loading to <math>y_o^+</math> (or <math>y_o^-</math>). Gap enlargement follows logic similar to that of Matlock et al. (1978). The gap grows on the positive side when the plastic deformation occurs on the negative loading side. Consequently, the <math>y_o^+</math> value equals the opposite value of the largest past negative value of, <math>y^p + y^g + 1.5 y_{50}</math> where the <math>1.5y_{50}</math> represents | |||
some rebounding of the gap. Similarly, the <math>y_o^-</math> value equals the opposite value of the largest past positive value of <math>y^p+y^g-1.5y_{50}</math>. This closure spring allows for a smooth transition in the load displacement behavior as the gap opens or closes. | |||
The nonlinear drag <math>(p^d-y^g)</math> spring is described by: | |||
:<math>p^d = C_d p_{\text{ult}} - (C_d p_{\text{ult}} - p^d_o) \left [\frac{y_{50}}{y_{50} + 2| y^g - y^g_o|} \right ]^n </math> | |||
where <math>C_d =</math> ratio of the maximum drag force to the ultimate resistance of the p-y material, <math>d^p_o =p^d</math> at the start of the current loading cycle, and <math>y^g_o = y^g</math> at the start of the current loading cycle. | |||
The flexibility of the above equations can be used to approximate different p-y backbone | |||
relations. Matlock’s (1970) recommended backbone for soft clay is closely approximated using | |||
<math>c = 10</math>, <math>n = 5</math>, and <math>C_r = 0.35</math>. API’s (1993) recommended backbone for drained sand is closely | |||
approximated using <math>c = 0.5</math>, <math>n = 2</math>, and <math>C_r = 0.2</math>. PySimple1 is currently implemented to allow | |||
use of these two default sets of values. Values of <math>p_\text{ult}</math>, <math>y_{50}</math>, and <math>C_d</math> must then be specified to define | |||
the <math>p-y</math> material behavior. | |||
Viscous damping on the far-field (elastic) component of the p-y material is included for | |||
approximating radiation damping. For implementation in OpenSees the viscous damper is placed | |||
across the entire material, but the viscous force is calculated as proportional to the component of | |||
velocity (or displacement) that developed in the far-field elastic component of the material. For | |||
example, this correctly causes the damper force to become zero during load increments across a | |||
fully formed gap. In addition, the total force across the p-y material is restricted to pult in | |||
magnitude so that the viscous damper cannot cause the total force to exceed the near-field soil | |||
capacity. Users should also be familiar with numerical oscillations that can develop in viscous | |||
damper forces under transient loading with certain solution algorithms and damping ratios. In | |||
general, an HHT algorithm is preferred over a Newmark algorithm for reducing such oscillations | |||
in materials like PySimple1. | |||
[[Image:PySimple1A.gif]] | [[Image:PySimple1A.gif]] |
Latest revision as of 22:32, 22 March 2010
- Command_Manual
- Tcl Commands
- Modeling_Commands
- model
- uniaxialMaterial
- ndMaterial
- frictionModel
- section
- geometricTransf
- element
- node
- sp commands
- mp commands
- timeSeries
- pattern
- mass
- block commands
- region
- rayleigh
- Analysis Commands
- Output Commands
- Misc Commands
- DataBase Commands
This command is used to construct a PySimple1 uniaxial material object:
uniaxialMaterial PySimple1 $matTag $soilType $pult $Y50 $Cd <$c> |
$matTag | integer tag identifying material |
$soilType | soilType = 1 Backbone of p-y curve approximates Matlock (1970) soft clay relation.
soilType = 2 Backbone of p-y curve approximates API (1993) sand relation. |
$pult | Ultimate capacity of the p-y material. Note that "p" or "pult" are distributed loads [force per length of pile] in common design equations, but are both loads for this uniaxialMaterial [i.e., distributed load times the tributary length of the pile]. |
$Y50 | Displacement at which 50% of pult is mobilized in monotonic loading. |
$Cd | Variable that sets the drag resistance within a fully-mobilized gap as Cd*pult. |
$c | The viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate (velocity). (optional Default = 0.0). Nonzero c values are used to represent radiation damping effects |
NOTES:
In general the HHT algorithm is preferred over a Newmark algorithm when using this material. This is due to the numerical oscillations that can develop with viscous damping forces under transient loading with certain solution algorithms and damping ratios.
EQUATIONS and EXAMPLE RESPONSES:
The equations describing PySimple1 behavior are described in Boulanger, R. W., Curras, C. J., Kutter, B. L., Wilson, D. W., and Abghari, A. (1999). "Seismic soil-pile-structure interaction experiments and analyses." Journal of Geotechnical and Geoenvironmental Engineering, ASCE, 125(9): 750-759. Only minor changes have been made in its implementation for OpenSees.
The nonlinear <math>p-y</math> behavior is conceptualized as consisting of elastic (p-ye), plastic (p-yp), and gap <math>(p-y^g)</math> components in series. Radiation damping is modeled by a dashpot on the “far-field” elastic component <math>(p-ye)</math> of the displacement rate. The gap component consists of a nonlinear closure spring (pc-yg) in parallel with a nonlinear drag spring <math>(p^d-y^g)</math>. Note that <math>y = y^e + y^p + y^g</math>, and that <math>p = p^d + p^c</math>.
The plastic component has an initial range of rigid behavior between <math> -C_r p_\text{ult} < p < C_r p_\text{ult}</math> with <math>C_r</math> = the ratio of <math>p/p_\text{ult} </math> when plastic yielding first occurs in virgin loading. The rigid range of <math>p</math>, which is initially <math>2 C_r p_\text{ult}</math>, translates with plastic yielding (kinematic hardening). The rigid range of <math>p</math> can be constrained to maintain a minimum size on both the positive and negative loading sides (e.g., 25% of <math>p\text{ult}</math>), and this is accomplished by allowing the rigid range to expand or contract as necessary. Beyond the rigid range, loading of the plastic <math>(p-y^p)</math> component is described by:
- <math>p = p_{\text{ult}} - (p_{\text{ult}} - p_o) \left [\frac{c y_{50}}{c y_{50} + | z_p - z^p_0|} \right ]^n </math>
where <math>p_\text{ult}</math> = the ultimate resistance of the <math>p-y</math> material in the current loading direction, <math>p_o = p</math> at the start of the current plastic loading cycle, <math>y^p_o = y_p</math> at the start of the current plastic loading cycle, <math>c</math> = constant to control the tangent modulus at the start of plastic yielding, and n = an exponent to control sharpness of the <math>p-y^p</math> curve.
The closure <math>(p^c-y^g)</math> spring is described by:
- <math>p^c = 1.8 p_{\text{ult}} \left [\frac{y_{50}}{y_{50} + 50(y_o^\text{+} - y^g)} - \frac{y_{50}}{y_{50} + 50(y_o^\text{-} - y^g)} \right ] </math>
where <math>y_o^+</math> = memory term for the positive side of the gap, <math>y_o^-</math>= memory term for the negative side of the gap. The initial values of <math>y_o^+</math> and <math>y_o^-</math> were set as <math>y_{50}/100</math> and <math>- y_{50}/100</math>, respectively. The factor of 1.8 brings <math>p^c</math> up to <math>p_\text{ult}</math> during virgin loading to <math>y_o^+</math> (or <math>y_o^-</math>). Gap enlargement follows logic similar to that of Matlock et al. (1978). The gap grows on the positive side when the plastic deformation occurs on the negative loading side. Consequently, the <math>y_o^+</math> value equals the opposite value of the largest past negative value of, <math>y^p + y^g + 1.5 y_{50}</math> where the <math>1.5y_{50}</math> represents some rebounding of the gap. Similarly, the <math>y_o^-</math> value equals the opposite value of the largest past positive value of <math>y^p+y^g-1.5y_{50}</math>. This closure spring allows for a smooth transition in the load displacement behavior as the gap opens or closes.
The nonlinear drag <math>(p^d-y^g)</math> spring is described by:
- <math>p^d = C_d p_{\text{ult}} - (C_d p_{\text{ult}} - p^d_o) \left [\frac{y_{50}}{y_{50} + 2| y^g - y^g_o|} \right ]^n </math>
where <math>C_d =</math> ratio of the maximum drag force to the ultimate resistance of the p-y material, <math>d^p_o =p^d</math> at the start of the current loading cycle, and <math>y^g_o = y^g</math> at the start of the current loading cycle.
The flexibility of the above equations can be used to approximate different p-y backbone relations. Matlock’s (1970) recommended backbone for soft clay is closely approximated using <math>c = 10</math>, <math>n = 5</math>, and <math>C_r = 0.35</math>. API’s (1993) recommended backbone for drained sand is closely approximated using <math>c = 0.5</math>, <math>n = 2</math>, and <math>C_r = 0.2</math>. PySimple1 is currently implemented to allow use of these two default sets of values. Values of <math>p_\text{ult}</math>, <math>y_{50}</math>, and <math>C_d</math> must then be specified to define the <math>p-y</math> material behavior.
Viscous damping on the far-field (elastic) component of the p-y material is included for approximating radiation damping. For implementation in OpenSees the viscous damper is placed across the entire material, but the viscous force is calculated as proportional to the component of velocity (or displacement) that developed in the far-field elastic component of the material. For example, this correctly causes the damper force to become zero during load increments across a fully formed gap. In addition, the total force across the p-y material is restricted to pult in magnitude so that the viscous damper cannot cause the total force to exceed the near-field soil capacity. Users should also be familiar with numerical oscillations that can develop in viscous damper forces under transient loading with certain solution algorithms and damping ratios. In general, an HHT algorithm is preferred over a Newmark algorithm for reducing such oscillations in materials like PySimple1.
EXAMPLE:
REFERENCES:
"Seismic Soil-pile-strcture interaction experiments and analysis", Boulanger, R.w., Curras, C.J., Kutter, B.L., Wilson, D.W., and Abghari, A. (1990). Jornal of Geotechnical and Geoenvironmental Engineering, ASCS, 125(9):750-759.
Code Developed by: Ross Boulanger, UC Davis This command is used to construct a PySimple1 uniaxial material object: