# Structural Analysis of Moment-Resistant Frame

You will need Aladdin 2.0 to run this problem.

### PROBLEM STATEMENT

Figure [1] is an elevation view of a planar moment resistant frame, which is part of an industrial building constructed on a hill-side.

#### Figure 1 : Elevation View of Moment-Resistant Frame

The building frame has width 20 m, and a total height of 13 m. It is constructed from steel sections having moment of inertia I = 6.6 x 10^8 mm^4 and cross section area A = 4.26 x 10^4 mm^2. The steel material has modulus of elasticity E = 200 GPa.

The building frame is subject to gravity loads, plus a moderate wind loading. We will assume that the gravity loads can be represented by point loads of 20 kN distributed over joints 2 through 4, and wind loadings can be represented by a single lateral point load of 5 kN applied to joint 2.

### FINITE ELEMENT MODEL

The building will be modeled with six nodes/joints and five beam-column elements, as labeled in Figure [2].

#### Figure 2 : Structural Model

The building supports at nodes 1 and 5 are fully fixed in their translational and rotational degrees of freedom. Nodes 2 through 5 will each be modeled with 2 unknown translational displacements and one unknown rotation. This means that the overall building behavior will be characterized by twelve degrees of freedom.

The block of code:

```   node = 1;
AddNode( node, [  0 m,  0 m ] );
node = 2;
AddNode( node, [  0 m, 10 m ] );
node = 3;
AddNode( node, [  8 m, 13 m ] );
node = 4;
AddNode( node, [ 12 m, 13 m ] );
node = 5;
AddNode( node, [ 20 m, 10 m ] );
node = 6;
AddNode( node, [ 20 m,  5 m ] );
```

adds the five nodes to the Aladdin database. A simple looping construct:

```   elmtno = 0;
for ( ii = 1; ii <= 5 ; ii = ii + 1 ) {
elmtno = elmtno + 1;
AddElmt( elmtno, [ elmtno , elmtno + 1 ], "mrfelmt");
}

```

can now be used to attach finite elements to the nodes.

Section and Material Properties

The section and material properties are:

```   ElementAttr("mrfelmt") { type     = "FRAME_2D";
section  = "mrfsection";
material = "mrfmaterial";
}

SectionAttr("mrfsection") { Izz       = 6.60e8 mm^4;
Iyy       = 6.60e8 mm^4;
area      = 4.26e4 mm^2;
}

MaterialAttr("mrfmaterial") { poisson = 0.25;
yield   = 275 MPa;
E       = 200 GPa;
}
```

Boundary Conditions

The block of code:

```    nodeno = 1;
FixNode( nodeno, [ 1, 1, 1 ]);
nodeno = 6;
FixNode( nodeno, [ 1, 1, 1 ]);
```

applies full-fixity to the left- and right-hand supports (i.e., nodes 1 and 6, respectively).

The abbreviated block of code:

```    nodeno = 2;
NodeLoad( nodeno, [ 5 kN, -4 kN, 0.0 N*m ]);
```

demonstrates the procedure for specifying external loads -- in this case, the external loads at node 2 are:

```    Horizontal Force Fx =  5.0 kN,
Vertical   Force Fy = -4.0 kN,
Applied Moment   Mz =  0.0 N*m.
```

### DISPLACEMENTS

Once the global stiffness and external load matrices have been formed with:

```    stiff = Stiff();
```

the frame displacements can be computed and printed with:

```    displ = Solve(stiff, eload);
PrintDispl(displ);
```

The nodal displacements are:

```    ============================================================
Node                           Displacement
No            displ-x           displ-y             rot-z
============================================================
1         0.00000e+00       0.00000e+00       0.00000e+00
2        -1.66648e-03      -1.39108e-05      -1.29048e-04
3        -5.38502e-04      -3.05289e-03      -2.32416e-04
4        -5.42568e-04      -2.97523e-03       2.68259e-04
5         5.58718e-04      -7.12911e-06       4.99272e-05
6         0.00000e+00       0.00000e+00       0.00000e+00
```

### BENDING MOMENTS

The command:

```    PrintStress(displ);
```

prints the bending moments and axial forces acting on each beam element. The distribution of bending moments is summarized in Figure [3].

### REACTIONS

Figure [4] shows the external loads and support reactions.

#### Figure 4 : External Loads and Reactions

Support Reactions

The command:

```    actions = GetStress( [1], displ );
```

retrieves a two by five matrix, actions, containing the x- and y- coordinates of the element nodes, and the horizontal and vertical forces, and moment, acting on each node -- that is:

```    MATRIX : "actions"

row/col                  1            2            3            4            5
units            m            m            N            N          N.m
1            0.00000e+00  0.00000e+00  1.18520e+04 -3.66177e+03 -1.66054e+04
2            0.00000e+00  1.00000e+01 -1.18520e+04  3.66177e+03 -2.00123e+04
```

The block of commands:

```    print "\n";
print "Left-hand Support Reactions\n";
print "===========================\n\n";

print "  Vertical Reaction = ",  actions[1][3]   (kN), "\n";
print "Horizontal Reaction = ", -actions[1][4]   (kN), "\n";
print "    Moment Reaction = ",  actions[1][5] (kN*m), "\n";
```

extracts the relevant element forces, and generates information on the support reactions:

```    Left-hand Support Reactions
===========================

Vertical Reaction =      11.85 kN
Horizontal Reaction =      3.662 kN
Moment Reaction =     -16.61 kN.m
```

Of course a similar block of commands can be used to compute and print the right-hand support reactions.

Equilibrium Check

The accuracy of the analysis can be checked by making sure the sum of the column actions -- that is, elements 1 and 5 -- is balanced by the sum of external loads. in the horizontal direction we have:

```    ===============================================================
External Forces                         Shear Forces in Columns
===============================================================

Joint 2    5,000.0  N
Joint 3        0.0  N
Joint 4        0.0  N                    Element 1  -3,661.8  N
Joint 5        0.0  N                    Element 5   8,661.8  N
===============================================================
Total      5,000.0  N                                5,000.0  N
===============================================================
```

And in the vertical direction we have:

```    ===============================================================
External Forces                          Axial Force in Columns
===============================================================

Joint 2    -4,000.0  N
Joint 3    -8,000.0  N
Joint 4    -8,000.0  N                  Element 1  -11,852.0  N
Joint 5    -4,000.0  N                  Element 5  -12,148.0  N
===============================================================
Total     -20,000.0  N                             -20,000.0  N
===============================================================
```