XC Open source finite element analysis program
FeStructs.h
1 /*
2 //----------------------------------------------------------------------------
3 // XC program; finite element analysis code
4 // for structural analysis and design.
5 //
6 // Copyright (C) Luis Claudio Pérez Tato
7 //
8 // This program derives from OpenSees <http://opensees.berkeley.edu>
9 // developed by the «Pacific earthquake engineering research center».
10 //
11 // Except for the restrictions that may arise from the copyright
12 // of the original program (see copyright_opensees.txt)
13 // XC is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU General Public License as published by
15 // the Free Software Foundation, either version 3 of the License, or
16 // (at your option) any later version.
17 //
18 // This software is distributed in the hope that it will be useful, but
19 // WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU General Public License for more details.
22 //
23 //
24 // You should have received a copy of the GNU General Public License
25 // along with this program.
26 // If not, see <http://www.gnu.org/licenses/>.
27 //----------------------------------------------------------------------------
28 */
29 /*
30  * File: FeStructs.h
31  * ==================
32  * Data structures for finite element program.
33  * This is changed from the original program by only including
34  * the define of OFFDBLK.
35  * ----------------------
36  * Written by:
37  * Jun Peng (junpeng@stanford.edu)
38  * Prof. Kincho H. Law
39  * Stanford University
40  */
41 
42 #ifndef FeStructs_h
43 #define FeStructs_h
44 
45 struct offdblk
46 {
47  int row ;
48  int beg ;
49  struct offdblk *bnext ;
50  struct offdblk *next ;
51  double *nz ;
52 };
53 
54 typedef struct offdblk OFFDBLK;
55 
56 #endif
57 
58 /************************************************************/
59 
60 /*
61  * data structure
62  * struct - pointer to pointer to nonzeros in L
63  * struct - pointer to data structure containing nonzeros in L
64  * struct .row - row number of i th row segment
65  * struct .beg - begining column of i th row segment
66  * struct .bnext - pointer to next row segment in this column block
67  * struct .nz - pointer to coefficients of L in rowsegment i
68  * struct .next - pointer to next row segment with the same row number
69  * this row segment if it exists, other wise the row segment
70  * with the next highest row number
71  *
72  * begblk - pointer to the first structure in each block
73  * xblk - an integer array containint the begining column/row
74  * of each block
75  * penv - pointers to pointers of the nonzeros in the
76  * profile next to the diagonal.
77  * penv[i] - pointer to the nonzeros of L on the profile
78  * structure next to teh diagonal
79  * diag[i] - the i the diagonal of L
80  */
Definition: FeStructs.h:45