Input file for Moment Resistant Frame
/*
* =====================================================================
* Structural Analysis of moment-resistant frame.
*
* Written By: Mark Austin February 1998
* =====================================================================
*/
/* Setup problem specific parameters */
NDimension = 2;
NDofPerNode = 3;
MaxNodesPerElement = 2;
StartMesh();
/* Generate line of nodes */
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 ] );
/* Attach beam elements to nodes */
elmtno = 0;
for ( ii = 1; ii <= 5 ; ii = ii + 1 ) {
elmtno = elmtno + 1;
AddElmt( elmtno, [ elmtno , elmtno + 1 ], "mrfelmt");
}
/* Define section and material properties */
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;
}
/* Apply full-fixity to columns at foundation level */
nodeno = 1;
FixNode( nodeno, [ 1, 1, 1 ]);
nodeno = 6;
FixNode( nodeno, [ 1, 1, 1 ]);
/* Apply external forces */
nodeno = 2;
NodeLoad( nodeno, [ 5 kN, -4 kN, 0.0 N*m ]);
nodeno = 3;
NodeLoad( nodeno, [ 0 kN, -8 kN, 0.0 N*m ]);
nodeno = 4;
NodeLoad( nodeno, [ 0 kN, -8 kN, 0.0 N*m ]);
nodeno = 5;
NodeLoad( nodeno, [ 0 kN, -4 kN, 0.0 N*m ]);
/* Compile and Print Finite Element Mesh */
EndMesh();
PrintMesh();
/* Form global stiffness and external load matrices */
stiff = Stiff();
eload = ExternalLoad();
/* Compute and print displacements and element actions */
displ = Solve(stiff, eload);
PrintDispl(displ);
PrintStress(displ);
/* Retrieve and print support reactions at node 1 */
actions = GetStress( [1], displ);
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";
/* Retrieve and print support reactions at node 5 */
actions = GetStress( [5], displ);
print "\n";
print "Right-hand Support Reactions\n";
print "============================\n\n";
print " Vertical Reaction = ", -actions[2][3] (kN), "\n";
print "Horizontal Reaction = ", actions[2][4] (kN), "\n";
print " Moment Reaction = ", actions[2][5] (kN*m), "\n";
quit;
Developed in March 1998 by Mark Austin
Last Modified March 2, 1998
Copyright © 1998, Mark Austin,
Department of Civil Engineering,
University of Maryland