# Getting Started with OpenSees -- Gravity Loads

### From OpenSeesWiki

Gravity loads are independent of the type of lateral loading and here they are considered part of the structural model.

## Nodal Forces & Moments Calculations

Because the beam is an elastic element, the vertical load distributed along the horizontal member can be represented by nodal forces and moments. The nodal forces are distributed equally to the two end nodes. The nodal bending moments are equal and opposite:

The nodal force is equal to one half of the superstructure weight:

Force = (4000kip)/2 = 2000kip

the distributed load is calculated by dividing the total load by the beam length:

DistributedLoad = (4000kip)/((42ft)*(12inch/ft))=7.94 kip/inch

The bending moment is then calculated from the distributed load:

Moment = (1/12)*(DistributedLoad)*(BeamLength)^2=(1/12)*(7.94 kip/inch)*(42*ft*12in/ft)^2 = 168074 kip-inch

## Load-Pattern Definition

Like all loads in OpenSees, gravity loads require two steps. The first step defines the load into a load pattern, the second applies the load pattern and the associated gravity load. The plain pattern Command with a linear time series is used in the load definition:

*pattern Plain $patternTag (TimeSeriesType arguments) {*

- load $nodeTag (ndf $LoadValues)

}

pattern Plain 1 Linear { load 3 0.0 -2000 -168074 load 4 0.0 -2000 168074 }

## Analysis Definition

- The 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. The Transformation ContraintHadler is recommended for transient analysis, but can be used in most analyses.

constraints Transformation

- The 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. With the RCM numberer nodes are assigned degrees-of-freedom using the Reverse Cuthill-McKee algorithm, which makes the analysis more efficient for large models.

numberer RCM

- The system Command is used to construct the LinearSOE and LinearSolver objects to store and solve the system of equations in the analysis. The BandGeneral Command is used to construct an un-symmetric banded system of equations object which will be factored and solved during the analysis using the Lapack band general solver

system BandGeneral

- The 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. The convergence test is applied to residual. The NormDispIncr test takes the followin input format:

*test NormDispIncr $tol $maxNumIter <$printFlag>*

`test NormDispIncr 1.0e-6 6`

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

algorithm Newton

- The 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

The type of integrator specified using the integrator Command is dependent on whether it is a static analysis or transient analysis. The gravity load is analyzed using the load-control integrator which takes the following form: integrator LoadControl $dLambda1 <$Jd $minLambda $maxLambda>

A load increment of 1/10 will be applied at each analysis step

`integrator LoadControl 0.1`

- The 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.

analysis Static

## Analysis Execution

- The analyze Command is used to apply the full gravity load in 10 steps with the load increment defined above of 1/10.
- The loadConst Command maintains the gravity load constant for the remainder of the the analyses and resets the current time to zero.

The commands take the following formats:

*analyze $numIncr <$dt> <$dtMin $dtMax $Jd>*

*loadConst <-time $pseudoTime>*

analyze 10 loadConst -time 0.0

Return to Getting Started with OpenSees