# Getting Started with OpenSees -- Loads and Analysis

### From OpenSeesWiki

In OpenSees applying loads is a three-step process:

1. You must first define the loads in a load pattern 2. You must then define the analysis and its features 3. The loads are then applied when you execute the analysis

## Load definition

Loads are defined using the OpenSees pattern Command. Three types of patterns are currently available:

- a.
**plain Pattern**-- this pattern is used to define the following:- i. nodal loads, such as gravity loads and lateral loads (or load-controlled nodal displacements)
- ii. single-point constraints, such as displacement control at a node (typically used for a constant displacement at a node)
- iii. element loads, such as distributed gravity loads along the element (this is a new option, which still needs documentation).

- b.
**UniformExcitation Pattern**-- this type of pattern imposes a user-defined acceleration record to all fixed nodes, in a specified direction. - c.
**MultipleSupport Pattern**-- this type of pattern imposes a user-defined displacement record at specified nodes, in a specified direction, or a ground-motion record.

## Analysis definition and features

The analysis-definition part of OpenSees allows the user to define the different linear and nonlinear analysis tools available. For each analysis, the following items need to be defined, preferably in this order:

- constraints
- The OpenSees constraints Command is used to construct the ConstraintHandler object. Constraints enforce a relationship between degrees-of-freedom. The ConstraintHandler object determines how the constraint equations are enforced in the analysis.

- numberer
- The OpenSees numberer Command is used to construct the DOF_Numberer object. The DOF_Numberer object determines the mapping between equation numbers and degrees-of-freedom -- how degrees-of-freedom are numbered.

- system
- The OpenSees system Command is used to construct the LinearSOE and LinearSolver objects to store and solve the system of equations in the analysis.

- test
- The OpenSees test Command is used to construct a ConvergenceTest object. Certain SolutionAlgorithm objects require a ConvergenceTest object to determine if convergence has been achieved at the end of an iteration step.

- algorithm
- The OpenSees algorithm Command is used to construct a SolutionAlgorithm object, which determines the sequence of steps taken to solve the non-linear equation.

- integrator
- The OpenSees integrator Command is used to construct the Integrator object. The Integrator object determines the meaning of the terms in the system of equation object. The Integrator object is used for the following:
- determine the predictive step for time t+dt
- specify the tangent matrix and residual vector at any iteration
- determine the corrective step based on the displacement increment dU

- analysis
- The OpenSees analysis Command is used to construct the Analysis object. This analysis object is constructed with the component objects previously created by the analyst. All currently-available analysis objects employ incremental solution strategies. There are three types of analysis currently available:

- Static - for static analysis
- Transient - for transient analysis with constant time step
- VariableTransient - for transient analysis with variable time step

## Analysis execution

The analysis is executed using the OpenSees analyze Command. This command moves the analysis forward by the specified number of steps.

Return to Getting Started with OpenSees