35
36
37
40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "com04_c.inc"
48#include "scr17_c.inc"
49#include "tabsiz_c.inc"
50
51
52
53 TYPE(SURF_) ,DIMENSION(NSLIN) :: IGRSLIN
54
55
56
57 INTEGER ISU,I,J,K,L_SLIN,ID,NSEG,TYPE,PROC,
58 . LEVEL,NSEG_R2R_ALL,NSEG_R2R_SHARE,NODE,
59 . ELTYP,ELEM,ERR,ITITLE(LTITR),LEN
60 CHARACTER(LEN=LTITR) :: TITR,NEW_TITLE()
61 INTEGER, ALLOCATABLE, DIMENSION (:) :: ISLINI
62
63 DO isu=1,nslin
66 len = 0
67 DO j=1,ltitr
68 IF (titr(j:j) /= ' ') len = j
69 ENDDO
70 new_title(isu) = titr(1:len)
71 ENDDO
72
73 ALLOCATE (islini(lenislin) ,stat=err)
75
76 l_slin = 0
77
78 DO isu=1,nslin
80 l_slin = l_slin+1
81 nseg = islini(l_slin+1)
82 l_slin = l_slin+1
83 TYPE = islini(l_slin+1)
84 l_slin = l_slin+1
85 level = islini(l_slin+1)
86 l_slin = l_slin+1
87 nseg_r2r_all = islini(l_slin+1)
88 l_slin = l_slin+1
89 nseg_r2r_share = islini(l_slin+1)
90 l_slin = l_slin+1
91
92
93
94
96 igrslin(isu)%NSEG = nseg
97 igrslin(isu)%TYPE = TYPE
98 igrslin(isu)%LEVEL = level
99 igrslin(isu)%NSEG_R2R_ALL = nseg_r2r_all
100 igrslin(isu)%NSEG_R2R_SHARE = nseg_r2r_share
101
102
103
104 ALLOCATE(igrslin(isu)%NODES(nseg,2))
105 ALLOCATE(igrslin(isu)%ELTYP(nseg))
106 ALLOCATE(igrslin(isu)%ELEM(nseg))
107 ALLOCATE(igrslin(isu)%PROC(nseg))
108
109 DO j=1,nseg
110 DO k=1,2
111 node = islini(l_slin+1)
112 l_slin = l_slin+1
113 igrslin(isu)%NODES(j,k) = node
114 ENDDO
115 proc = islini(l_slin+1)
116 l_slin = l_slin+1
117 igrslin(isu)%PROC(j) = proc
118 eltyp = islini(l_slin+1)
119 l_slin = l_slin+1
120 igrslin(isu)%ELTYP(j) = eltyp
121 elem = islini(l_slin+1)
122 l_slin = l_slin+1
123 igrslin(isu)%ELEM(j) = elem
124 ENDDO
125 ENDDO
126
127 DEALLOCATE (islini)
128
129 RETURN
void read_i_c(int *w, int *len)