Revert "Move benchmarks into benchmark/ subdir."
[nofib.git] / real / fem / README
1
2              2D TRUSS STRUCTURAL ANALYSIS PROGRAM IN HASKELL
3              ===============================================
4
5                           Dr. Junxian Liu
6                       Department of Computing
7                  Imperial College, London SW7 2BZ
8                      (email: jjl@doc.ic.ac.uk)
9
10
11 Finite Element Module:
12
13   Two dimensional bar element(pin jointed);     
14
15   Element description:
16
17      Geometrical data ---- left node (xl,yl), right node (xr,yr);
18      Material property --- e*a (elastical stiffness and cross section area);
19      Deformation data ---- left node (ul,vl), right node (ur,vr);
20      Internal force   ---- tension along the bar;
21
22
23 Source Data Format:
24
25    0) Control data
26         nnode ---- total number of nodes,
27         nelem ---- total number of elements,
28         nmats ---- total number of different material properties,
29         nplds ---- total number of nodal loads;
30
31    1) Node data
32         x.1,y.1,bc.1 ---- coordinates and fixity information of 1st node;
33                           bc.1 = abc, a=1 means u is free,
34                                       a=3 means u is fixed;
35                                       b=1 means v is free,
36                                       b=3 means v ix fixed;
37                                       c=1 means theta is free,
38                                       c=3 means theta is fixed;
39         x.2,y.2,bc.2 ---- 2nd node;
40            ... ...
41         x.nnode,y.nnode,bc.nnode  ---- nnode-th node, the last node;
42
43         Note: Nodal displacement 'theta' is used for expanding to frame
44               strutures (fixed jointed structures).
45
46    2) Element data
47         nl.1,nr.1,m.1 ---- left and right node number and material property
48                            number of 1st element;
49         nl.2,nr.2,m.2 ---- 2nd element;
50          ... ...
51         nl.nelem,nr.nelem,m.nelem ---- nelem-th element, the last element;
52
53    3) Material property data
54         ea.1,ei.1 ---- material property of 1st kind of material used;
55         ea.2,ei.2 ---- 2nd;
56           ... ...
57         ea.nmats,ei.nmats ---- nmats-th , the last one.
58
59         note: For two dimensional bar element, ei is always zero. We put it
60               here because we want use the same program code for two dimension
61               beam element later.
62
63    4) Load data
64         to_point.1,px.1,py.1,m.1 ---- 1st nodal load;
65         to_point.2,px.2,py.2,m.2 ---- 2nd nodal load;
66            ... ...
67         to_point.nplds,px.nplds,py.nplds,m.nplds ---- last nodal load;
68
69         node: For the same reason as in 3) above, we keep m here.
70
71
72 Input File:
73
74    Standard input       ----    source data.
75
76
77 Output File:
78
79    standard output      ----    computation result.
80
81
82 Example Source Data Files:
83
84    data.0               ----    3 nodes, 2 bars.
85    data.1               ----    8 nodes, 16 elements.
86    data.2               ----    14 nodes, 31 elements.
87    data.3               ----    36 nodes, 72 elements.
88
89
90 Code Origin:
91
92    The code was translated from the corresponding Miranda version 
93    developed by the author.  
94