Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
set np 5;
# create beam-column (element #1) from node 1 to 2
element forceBeamColumn 1 1 2 $np $ SectionTag $TransTag;
#---- define RECORDERS (Output) ---# displacements of free nodes
recorder Node -file DFree.out -time -node 2 -dof 1 2 3 disp;
# support reaction
recorder Node -file RBase.out -time -node 1 -dof 1 2 3 reaction;
# element global forces
recorder Element -file FEle.out -time -ele 1 force;
#---- define LOADS ---set Fx 1.;
pattern Plain 1 Linear {
load 2 $Fx 0. 0.; # node#, FX, FY, MZ
}
#---- define ANALYSIS PARAMETERS ---# Method to create and solve system of equation
system BandSPD
# Method to number DOFs
numberer Plain
# Constraint handler (Plain, Penalty, Lagrange, Transformation)
constraints Plain
# Convergence test and tolerance
set Tol 1.0e-8;
test NormDispIncr $Tol 6 ;
# Solution algorithm (Linear, Newton, ModifiedNewton, NewtonLineSearch, etc.)
algorithm Newton
# Integration (control) scheme (LoadControl, DisplacementControl, ArcLength)
set numIncr 50; # number of increments in analysis
set maxDispl 5.0; # total displacement = 5 inch
set delta [expr $maxDispl/$numIncr];
# push node 2, in the x-dir (dof=1)
integrator DisplacementControl 2 1 $delta
# create the analysis object (Static, Transient)
analysis Static
# Do the analysis
analyze $numIncr
wipe; # clear everything after analysis is done
Output:
In static analysis, the first column is the load multiplier. If your applied load is 1 (as in this example),
then this column is equal to the applied load
For the cantilever example, the data in each column of the output files are listed below:
o DFree.out (displacements/rotation of node 2): Load, x, y, rotation
o RBase.out (reaction forces at node 1): Load, Fx, Fy, M
o FEle.out (global element forces at node i, j): Load, Fxi, Fyi, Mi, Fxj, Fyj, Mj
There are many different types of output recorders. In the homework, you will be told what column
pertains to which data.
In Matlab:
dFree = load('DFree.out');
F = dFree(:,1);
d = dFree(:,2);
figure(), hold all, box on
plot(d,F,'b-*')
xlabel('Displ (in)'), ylabel('Force (kip)')
12
10
Force (kip)
0.5
1.5
2.5
Displ (in)
3.5
4.5