step2¶
- Purpose:
Compute the dynamic solution to a set of second order differential equations.
- Syntax:
[a, da, d2a] = step2(K, C, M, f, a0, da0, bc, ip) [a, da, d2a] = step2(K, C, M, f, a0, da0, bc, ip, times) [a, da, d2a, ahist, dahist, d2ahist] = step2(K, C, M, f, a0, da0, bc, ip, times, dofs)- Description:
step2computes at equal time steps the solution to a set of second order differential equations of the form:\[\begin{split}\mathbf{M} \ddot{\mathbf{a}} + \mathbf{C} \dot{\mathbf{a}} + \mathbf{K} \mathbf{a} = \mathbf{f}(x, t), \\ \mathbf{a}(0) = \mathbf{a}_0, \\ \dot{\mathbf{a}}(0) = \mathbf{v}_0.\end{split}\]In structural mechanics problems,
K,CandMrepresent the \(n \times n\) stiffness, damping and mass matrices, respectively.ais the displacement,da( = \(\dot{\mathbf{a}}\) ) is the velocity andd2a( = \(\ddot{\mathbf{a}}\) ) is the acceleration.The matrix
fcontains the time-dependent load vectors. If no external loads are active, use[]forf. The matrixfis organized as:\[\begin{split}f = \begin{bmatrix} \text{time history of the load at } dof_1 \\ \text{time history of the load at } dof_2 \\ \vdots \\ \text{time history of the load at } dof_n \end{bmatrix}\end{split}\]The dimension of
fis:(number of degrees-of-freedom) × (number of timesteps + 1)
The initial conditions are given by the vectors
a0andda0, containing initial displacements and initial velocities.The matrix
bccontains the time-dependent prescribed displacement. If no displacements are prescribed, use[]forbc. The matrixbcis organized as:\[\begin{split}bc = \begin{bmatrix} dof_1 & \text{time history of the displacement} \\ dof_2 & \text{time history of the displacement} \\ \vdots & \vdots \\ dof_{m_2} & \text{time history of the displacement} \end{bmatrix}\end{split}\]The dimension of
bcis:(number of dofs with prescribed displacement) × (number of timesteps + 2)
The time integration procedure is governed by the parameters given in the vector
ipdefined as:\[ip = [dt, T, \alpha, \delta]\]where
dtspecifies the time increment,Tthe total time, andalphaanddeltaare time integration constants for the Newmark family of methods.Frequently used values:
\(\alpha\)
\(\delta\)
Method
\(\frac{1}{4}\)
\(\frac{1}{2}\)
Average acceleration (trapezoidal) rule
\(\frac{1}{6}\)
\(\frac{1}{2}\)
Linear acceleration
0
\(\frac{1}{2}\)
Central difference
The computed values of \(\mathbf{a}\), \(\dot{\mathbf{a}}\) and \(\ddot{\mathbf{a}}\) are stored in
a,daandd2a, respectively. The first column contains the initial values and the following columns contain the values for each time step.The dimension of
a,daandd2ais:(number of degrees-of-freedom) × (number of time steps + 1)
If the values are to be stored only for specific times, the parameter
timesspecifies at which times the solution will be stored. The values are stored ina,daandd2a, one column for each requested time according totimes. The dimension is then:(number of degrees-of-freedom) × (number of requested times + 1)
If the history is to be stored in
ahist,dahistandd2ahistfor some degrees of freedom, the parameterdofsspecifies for which degrees of freedom the history is to be stored. The computed time histories are stored inahist,dahistandd2ahist, one row for each requested degree of freedom according todofs. The dimension is:(number of specified degrees of freedom) × (number of timesteps + 1)
In most cases only a few degrees-of-freedom are affected by the exterior load, and hence the matrix contains only few non-zero entries. In such cases it is possible to save space by defining
fas sparse (a MATLAB built-in function).