2D TRUSS STRUCTURAL ANALYSIS PROGRAM IN HASKELL =============================================== Dr. Junxian Liu Department of Computing Imperial College, London SW7 2BZ (email: jjl@doc.ic.ac.uk) Finite Element Module: Two dimensional bar element(pin jointed); Element description: Geometrical data ---- left node (xl,yl), right node (xr,yr); Material property --- e*a (elastical stiffness and cross section area); Deformation data ---- left node (ul,vl), right node (ur,vr); Internal force ---- tension along the bar; Source Data Format: 0) Control data nnode ---- total number of nodes, nelem ---- total number of elements, nmats ---- total number of different material properties, nplds ---- total number of nodal loads; 1) Node data x.1,y.1,bc.1 ---- coordinates and fixity information of 1st node; bc.1 = abc, a=1 means u is free, a=3 means u is fixed; b=1 means v is free, b=3 means v ix fixed; c=1 means theta is free, c=3 means theta is fixed; x.2,y.2,bc.2 ---- 2nd node; ... ... x.nnode,y.nnode,bc.nnode ---- nnode-th node, the last node; Note: Nodal displacement 'theta' is used for expanding to frame strutures (fixed jointed structures). 2) Element data nl.1,nr.1,m.1 ---- left and right node number and material property number of 1st element; nl.2,nr.2,m.2 ---- 2nd element; ... ... nl.nelem,nr.nelem,m.nelem ---- nelem-th element, the last element; 3) Material property data ea.1,ei.1 ---- material property of 1st kind of material used; ea.2,ei.2 ---- 2nd; ... ... ea.nmats,ei.nmats ---- nmats-th , the last one. note: For two dimensional bar element, ei is always zero. We put it here because we want use the same program code for two dimension beam element later. 4) Load data to_point.1,px.1,py.1,m.1 ---- 1st nodal load; to_point.2,px.2,py.2,m.2 ---- 2nd nodal load; ... ... to_point.nplds,px.nplds,py.nplds,m.nplds ---- last nodal load; node: For the same reason as in 3) above, we keep m here. Input File: Standard input ---- source data. Output File: standard output ---- computation result. Example Source Data Files: data.0 ---- 3 nodes, 2 bars. data.1 ---- 8 nodes, 16 elements. data.2 ---- 14 nodes, 31 elements. data.3 ---- 36 nodes, 72 elements. Code Origin: The code was translated from the corresponding Miranda version developed by the author.