Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
utilities/RocfracPrep/DataTypeLinkList.f90
Go to the documentation of this file.
1 !*********************************************************************
2 !* Illinois Open Source License *
3 !* *
4 !* University of Illinois/NCSA *
5 !* Open Source License *
6 !* *
7 !* Copyright@2008, University of Illinois. All rights reserved. *
8 !* *
9 !* Developed by: *
10 !* *
11 !* Center for Simulation of Advanced Rockets *
12 !* *
13 !* University of Illinois *
14 !* *
15 !* www.csar.uiuc.edu *
16 !* *
17 !* Permission is hereby granted, free of charge, to any person *
18 !* obtaining a copy of this software and associated documentation *
19 !* files (the "Software"), to deal with the Software without *
20 !* restriction, including without limitation the rights to use, *
21 !* copy, modify, merge, publish, distribute, sublicense, and/or *
22 !* sell copies of the Software, and to permit persons to whom the *
23 !* Software is furnished to do so, subject to the following *
24 !* conditions: *
25 !* *
26 !* *
27 !* @ Redistributions of source code must retain the above copyright *
28 !* notice, this list of conditions and the following disclaimers. *
29 !* *
30 !* @ Redistributions in binary form must reproduce the above *
31 !* copyright notice, this list of conditions and the following *
32 !* disclaimers in the documentation and/or other materials *
33 !* provided with the distribution. *
34 !* *
35 !* @ Neither the names of the Center for Simulation of Advanced *
36 !* Rockets, the University of Illinois, nor the names of its *
37 !* contributors may be used to endorse or promote products derived *
38 !* from this Software without specific prior written permission. *
39 !* *
40 !* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
41 !* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
42 !* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
43 !* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
44 !* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
45 !* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
46 !* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
47 !* USE OR OTHER DEALINGS WITH THE SOFTWARE. *
48 !*********************************************************************
49 !* Please acknowledge The University of Illinois Center for *
50 !* Simulation of Advanced Rockets in works and publications *
51 !* resulting from this software or its derivatives. *
52 !*********************************************************************
53 MODULE datatypelinklist
54 
55  IMPLICIT NONE
56 
57 ! -- Start -- A Processor's Element List
58 
60  INTEGER :: glbelnum
61  TYPE(procelemlist_data_ptr), POINTER :: next
62  END TYPE procelemlist_data_ptr
63 
65  TYPE(procelemlist_data_ptr), POINTER :: head
66  TYPE(procelemlist_data_ptr), POINTER :: tail
68 
69  TYPE(procelemlist_data_type), TARGET, ALLOCATABLE, DIMENSION(:) :: procelemlist
70 
71  TYPE(procelemlist_data_ptr), POINTER :: procelem_item
72 
73 ! -- End
74 
75 ! -- Start -- Boundary Conditions
76 
77  TYPE bc_ptr
78  INTEGER :: bc_nodeglb
79  INTEGER :: bc_flagglb
80  TYPE(bc_ptr), POINTER :: next
81  END TYPE bc_ptr
82 
83  TYPE(bc_ptr), POINTER :: bc_structural_head
84  TYPE(bc_ptr), POINTER :: bc_structural_tail
85 
86  TYPE(bc_ptr), POINTER :: bc_meshmotion_head
87  TYPE(bc_ptr), POINTER :: bc_meshmotion_tail
88 
89  TYPE(bc_ptr), POINTER :: bc_thermal_head
90  TYPE(bc_ptr), POINTER :: bc_thermal_tail
91 
92  TYPE(bc_ptr), POINTER :: bc_structural_item
93  TYPE(bc_ptr), POINTER :: bc_meshmotion_item
94  TYPE(bc_ptr), POINTER :: bc_thermal_item
95 
96 ! -- End
97 
98 ! -- Start Surface Mesh
99 
100  ! -- 3 node triangle ( 4 node tet)
101  TYPE surfmesh_tri3_ptr
102  INTEGER, DIMENSION(1:5) :: elemdata
103  TYPE(surfmesh_tri3_ptr), POINTER :: next
104  END TYPE surfmesh_tri3_ptr
105 
106  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_s_head
107  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_s_tail
108  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_sf_head
109  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_sf_tail
110  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_sf_nonignt_head
111  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_sf_nonignt_tail
112  TYPE(surfmesh_tri3_ptr), POINTER, DIMENSION(:) :: surfmesh_tri3_ov_head
113 ! TYPE(SurfMesh_tri3_ptr), POINTER, DIMENSION(:) :: SurfMesh_tri3_Ov_tail
114  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_ov1_head, surfmesh_tri3_ov1_tail
115  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_ov2_head, surfmesh_tri3_ov2_tail
116 
117  ! -- 6 node triangle ( 10 node tet)
118  TYPE surfmesh_tri6_ptr
119  INTEGER, DIMENSION(1:8) :: elemdata
120  TYPE(surfmesh_tri6_ptr), POINTER :: next
121  END TYPE surfmesh_tri6_ptr
122 
123  TYPE(surfmesh_tri6_ptr), POINTER :: surfmesh_tri6_s_head
124  TYPE(surfmesh_tri6_ptr), POINTER :: surfmesh_tri6_s_tail
125  TYPE(surfmesh_tri6_ptr), POINTER :: surfmesh_tri6_sf_head
126  TYPE(surfmesh_tri6_ptr), POINTER :: surfmesh_tri6_sf_tail
127  TYPE(surfmesh_tri6_ptr), POINTER :: surfmesh_tri6_sf_nonignt_head
128  TYPE(surfmesh_tri6_ptr), POINTER :: surfmesh_tri6_sf_nonignt_tail
129 
130 ! -- 4 node quad ( 8 node hex)
131  TYPE surfmesh_hex8_ptr
132  INTEGER, DIMENSION(1:6) :: elemdata
133  TYPE(surfmesh_hex8_ptr), POINTER :: next
134  END TYPE surfmesh_hex8_ptr
135 
136  TYPE(surfmesh_hex8_ptr), POINTER :: surfmesh_hex8_s_head
137  TYPE(surfmesh_hex8_ptr), POINTER :: surfmesh_hex8_s_tail
138  TYPE(surfmesh_hex8_ptr), POINTER :: surfmesh_hex8_sf_head
139  TYPE(surfmesh_hex8_ptr), POINTER :: surfmesh_hex8_sf_tail
140  TYPE(surfmesh_hex8_ptr), POINTER :: surfmesh_hex8_sf_nonignt_head
141  TYPE(surfmesh_hex8_ptr), POINTER :: surfmesh_hex8_sf_nonignt_tail
142 
143 ! add item
144 
145  TYPE(surfmesh_tri3_ptr), POINTER :: surfmesh_tri3_item
146  TYPE(surfmesh_tri6_ptr), POINTER :: surfmesh_tri6_item
147  TYPE(surfmesh_hex8_ptr), POINTER :: surfmesh_hex8_item
148 
149 
150 END MODULE datatypelinklist
151 
void next()
Go to the next element within the connectivity tables of a pane.