Hilber-Hughes-Taylor Method

From OpenSeesWiki
Revision as of 19:47, 20 January 2010 by Fmk (talk | contribs)
Jump to navigation Jump to search

This command is used to construct a Hilber-Hughes-Taylor (HHT) integration object. This is an implicit method that increases the amount of numerical damping that is provided by the Newmark method. Depending on choices of input parameters, the method can be unconditionally stable.

integrator HHT $alpha <$gamma $beta>

$alpha <math>\alpha</math> factor
$gamma <math>\gamma</math> factor
$beta <math>\beta</math> factor

EXAMPLE:


integrator HHT 0.5


NOTES:

  1. <math> \alpha = 1.0</math> corresponds to the Newmark method.
  2. <math> \alpha</math> should be between 0.5 and 1.0
  3. <math>\gamma</math> and <math>\beta</math>are optional. The default values are

<math> \beta = \frac{(2 - \alpha)^2}{4}</math>

and

<math> \gamma = \frac{3}{2} - \alpha</math>

REFERENCES

Hilber, H.M, Hughes,T.J.R and Talor, R.L. "Improved Numerical Dissipation for Time Integration Algorithms in Structural Dynamics" Earthquake Engineering and Structural Dynamics, 5:282-292, 1977.

note: the definition of <math>\alpha</math> is different from the original paper and in the book by Hughes.



THEORY:


The HHT method (sometimes called the <math> \alpha</math> method) is a one step implicit method for solving the transient problem which attempts to increase the amount of numerical damping present without degrading the order of accuracy. In the HHT the same Newmark approximations are used

<math> U_{t+\Delta t} = U_t + \Delta t \dot U_t + [(0.5 - \beta) \Delta t^2] \ddot U_t + [\beta \Delta t^2] \ddot U_{t+\Delta t}</math>

<math> \dot U_{t+\Delta t} = \dot U_t + [(1-\gamma)\Delta t] \ddot U_t + [\gamma \Delta t ] \ddot U_{t+\Delta t} </math>

but the time-discrete momentum equation is modified:

<math>R_{t + \alpha \Delta t} = F_{t+\Delta t}^{ext} - M \ddot U_{t + \Delta t} - C \dot U_{t+\alpha \Delta t} - F^{int}(U_{t + \alpha \Delta t}) </math>

where the displacements and velocities at the intermediate point are given by:

<math>U_{t+ \alpha \Delta t} = (1 - \alpha) U_t + \alpha U_{t + \Delta t}</math>

<math>\dot U_{t+\alpha \Delta t} = (1-\alpha) \dot U_t + \alpha \dot U_{t + \Delta t}</math>


The advancement of the nonlinear solution from one step to the next requires setting initial conditions at the first trial step<math> U_{t+\Delta t}^0, \dot U_{t+\Delta t}^0, \ddot U_{t+\Delta t}^0</math> linearization of the equation, and solution of the linearized equations and updating. When the displacements are the unknowns this results in the following:

1) Initial Conditions at a time step: For an implicit solution we choose:

<math>U_{t+\Delta t}^0 = U_t</math>

The values for the velocity and accelerations are determined using the Newmark formulas.

<math>\dot U_{t+\Delta t}^0 = (1 - \frac{\gamma}{\beta}) \dot U_t + \Delta t(1 - \frac{\gamma}{2 \beta}) \ddot U_t</math>

<math>\ddot U_{t+\Delta t}^0 = - \frac{1}{\beta \Delta t} \dot U_t - (\frac{1}{2 \beta} -1) \ddot U_t </math>

2) Linearizing the Newmark formulas

<math>dU_{t+\Delta t}^{i+1} = \beta \Delta t^2 d \ddot U_{t+\Delta t}^{i+1}</math>

<math>\dot U_{t+\Delta t}^{i+1} = \gamma \Delta t \ddot U_{t+\Delta t}^{i+1}</math>

giving the update formula when displacement increment is used as unknown as:

<math>U_{t+\Delta t}^{i+1} = U_{t+\Delta t}^i + dU_{t+\Delta t}^{i+1}</math>

<math>\dot U_{t+\Delta t}^{i+1} = \dot U_{t+\Delta t}^i + \frac{\gamma}{\beta \Delta t}dU_{t+\Delta t}^{i+1}</math>

<math>\ddot U_{t+\Delta t}^{i+1} = \ddot U_{t+\Delta t}^i + \frac{1}{\beta \Delta t^2}dU_{t+\Delta t}^{i+1}</math>

The linearization of the momentum equation using the displacements as the unknowns leads to the following

<math> K_{t+\Delta t}^{*i} d U_{t+\Delta t}^{i+1} = R_{t+\Delta t}^i</math>

where

<math>K_{t+\Delta t}^{*i} = \alpha K_t + \frac{\alpha \gamma}{\beta \Delta t} C_t + \frac{1}{\beta \Delta t^2} M</math>

and

<math> R_{t+\Delta t}^i = F_{t + \Delta t}^{ext} - F(U_{t + \alpha \Delta t}^{i-1})^{int} - C \dot U_{t+\alpha \Delta t}^{i-1} - M \ddot U_{t+ \Delta t}^{i-1}</math>



Code Developed by: fmk