CIVE 3203 2019 HW-6

Compare the results here with those given be the slope-deflection method in the solution of HW-6, CIVE3203, Fall 2019.


In [1]:
from Frame2D import Frame2D

theframe = Frame2D('3203/2019/hw-6')

Input Data

Nodes

Table nodes (file nodes.csv) provides the $x$-$y$ coordinates of each node. Other columns, such as the $z$- coordinate are optional, and ignored if given.


In [2]:
%%Table nodes
NODEID,X,Y,Z
a,0,5000
b,8000,5000
c,14000,5000
d,8000,0

Supports

Table supports (file supports.csv) specifies the support fixity, by indicating the constrained direction for each node. There can be 1, 2 or 3 constraints, selected from the set 'FX', 'FY' or 'MZ', in any order for each constrained node. Directions not mentioned are 'free' or unconstrained.


In [3]:
%%Table supports
NODEID,C0,C1,C2
a,FX,FY,MZ
c,FX,FY,MZ
d,FX,FY,MZ

Members

Table members (file members.csv) specifies the member incidences. For each member, specify the id of the nodes at the 'j-' and 'k-' ends. These ends are used to interpret the signs of various values.


In [4]:
%%Table members
MEMBERID,NODEJ,NODEK
ab,a,b
bc,b,c
bd,b,d

Releases

Table releases (file releases.csv) is optional and specifies internal force releases in some members. Currently only moment releases at the 'j-' end ('MZJ') and 'k-' end ('MZK') are supported. These specify that the internal bending moment at those locations are zero. You can only specify one release per line, but you can have more than one line for a member.


In [5]:
%%Table releases
MEMBERID,RELEASE

Properties

Table properties (file properties.csv) specifies the member properties for each member. If the 'SST' library is available, you may specify the size of the member by using the designation of a shape in the CISC Structural Section Tables. If either IX or A is missing, it is retreived using the sst library. If the values on any line are missing, they are copied from the line above.

Note: a value of $A=7000$ is reasonable for steel W shapes of the range of $I$ values we have given. If we give $A$ values 1000 times this, we get results that match the slope-deflection method very closely (that effectively causes axial effects to be ignored).


In [6]:
%%Table properties
MEMBERID,SIZE,IX,A
ab,,240E6,7000
bc,,160E6,
bd,,80E6

Node Loads

Table node_loads (file node_loads.csv) specifies the forces applied directly to the nodes. DIRN (direction) may be one of 'FX,FY,MZ'. 'LOAD' is an identifier of the kind of load being applied and F is the value of the load, normally given as a service or specified load. A later input table will specify load combinations and factors.


In [7]:
%%Table node_loads
LOAD,NODEID,DIRN,F

Support Displacements

Table support_displacements (file support_displacements.csv) is optional and specifies imposed displacements of the supports. DIRN (direction) is one of 'DX, DY, RZ'. LOAD is as for Node Loads, above.

Of course, in this example the frame is statically determinate and so the support displacement will have no effect on the reactions or member end forces.


In [8]:
%%Table support_displacements
LOAD,NODEID,DIRN,DELTA

Member Loads

Table member_loads (file member_loads.csv) specifies loads acting on members. Current types are PL (concentrated transverse, ie point load), CM (concentrated moment), UDL (uniformly distributed load over entire span), LVL (linearly varying load over a portion of the span) and PLA (point load applied parallel to member coincident with centroidal axis). Values W1 and W2 are loads or load intensities and A, B, and C are dimensions appropriate to the kind of load.


In [9]:
%%Table member_loads
LOAD,MEMBERID,TYPE,W1,W2,A,B,C
live,ab,UDL,-24
live,bc,PL,-64000,,4000

Load Combinations

Table load_combinations (file load_combinations.csv) is optional and specifies factored combinations of loads. By default, there is always a load combination called all that includes all loads with a factor of 1.0. A frame solution (see below) indicates which CASE to use.


In [10]:
%%Table load_combinations
CASE,LOAD,FACTOR
one,live,1.0

Solution

The following outputs all tables, prints a description of the input data, produces a solution for load case 'one' (all load and case names are case-insensitive) and finally prints the results.


In [11]:
theframe.input_all()
theframe.print_input()
RS = theframe.solve('one')
theframe.print_results(rs=RS)


Frame 3203/2019/hw-6:
=====================


              # of nodal degrees of freedom: 12
  # of constrained nodal degrees of freedom: 9
# of unconstrained nodal degrees of freedom: 3  (= degree of kinematic indeterminacy)

                               # of members: 3
                             # of reactions: 9
                                 # of nodes: 4
                            # of conditions: 0
           degree of statical indeterminacy: 6



Nodes:
======

Node          X         Y  Constraints  DOF #s
----      -----     -----  -----------  ------
a             0      5000  FX,FY,MZ     3,4,5
b          8000      5000               0,1,2
c         14000      5000  FX,FY,MZ     6,7,8
d          8000         0  FX,FY,MZ     9,10,11



Members:
========

Member   Node-J  Node-K    Length       dcx       dcy  Size                Ix           A  Releases
------   ------  ------    ------   -------   -------  --------      --------       -----  --------
ab       a       b         8000.0   1.00000   0.00000                 2.4e+08        7000  
bc       b       c         6000.0   1.00000   0.00000                 1.6e+08        7000  
bd       b       d         5000.0   0.00000  -1.00000                   8e+07        7000  



Node Loads:
===========

 - - - none - - -

Member Loads:
=============

Type      Member  Load
----      ------  ----------------
live      ab      UDL(L=8000.0,w=-24)
live      bc      PL(L=6000.0,P=-64000,a=4000.0)

Support Displacements:
======================

 - - - none - - -

Load Combinations:
==================

Case   Type      Factor
-----  ----      ------
one    live        1.00
all    live        1.00

Results for load case: one
++++++++++++++++++++++++++


Node Displacements:
===================

Node        DX         DY      Rotation
----      ------     ------   ---------
a          0.000      0.000   0.0000000
b         -0.016     -0.403   0.0017194
c          0.000      0.000   0.0000000
d          0.000      0.000   0.0000000

Reactions:
==========

Node        FX         FY         MZ  
----     -------    -------    -------
a          2.819    104.191    150.446
c          3.759     38.954    -40.698
d         -6.578    112.855     10.942

Member End Forces:
==================

          /----- Axial -----/   /----- Shear -----/   /----- Moment ----/
Member       FX J       FX K       FY J       FY K       MZ J       MZ K
------     -------    -------    -------    -------    -------    -------
ab           2.819     -2.819    104.191     87.809    150.446    -84.921
bc          -3.759      3.759     25.046     38.954     62.975    -40.698
bd         112.855   -112.855      6.578     -6.578     21.946     10.942

In [ ]: