66 OPEN(
unit = 10, file = prefix(1:length(prefix))//
'.noboite',
status =
'OLD', err = 1001)
68 write(6,*)
" ! Reading record #1 of .noboite file"
73 ALLOCATE(element(numel))
77 ALLOCATE(element(
i)%conn(etype))
81 WRITE(6,*)
"Reading record #2 of .noboite file (element connectivity array)"
82 READ(10,*) (element(
i)%conn(1:etype),
i = 1, numel)
85 WRITE(6,*)
"Reading record #3 of .noboite file (node coordinates)"
86 READ(10,*) (
node(
i)%coord(1:3),
i = 1, numnp)
93 WRITE(6,*)
"Reading the subregion triplets (faces located within the region)"
96 IF (numsub .EQ. 1)
THEN
100 ELSE IF (numsub .NE. 1)
THEN
102 WRITE(6,*)
"Reading in the assigned subregion numbers given to each element"
103 READ(10,*) (element(
i)%marker,
i = 1, numel)
104 write(6,*)
"finished reading subregion number information"
114 OPEN(
unit = 20, file = prefix(1:length(prefix))//
'.faces',
status =
'OLD', err = 1002)
119 ALLOCATE(facelist); nullify(facelist%next)
120 firstface => facelist; numbndfaces = 0
121 ALLOCATE(facelist%conn(ftype))
125 READ(20,*) facelist%ID, facelist%conn(1:ftype), facelist%marker
127 IF (facelist%marker .NE. 0)
THEN
128 ALLOCATE(facelist%next); facelist => facelist%next; nullify(facelist%next)
129 ALLOCATE(facelist%conn(ftype))
130 numbndfaces = numbndfaces + 1
141 OPEN(
unit = 30, file = prefix(1:length(prefix))//
'.points',
status =
'OLD', err = 1003)
143 ALLOCATE(frontnode); nullify(frontnode%next)
144 first_front_node => frontnode; numscale_np = 0
146 ALLOCATE(backnode); nullify(backnode%next)
147 first_back_node => backnode; numscale_np = 0
149 ALLOCATE(bnplist); nullify(bnplist%next)
150 firstnode => bnplist; numbndnp = 0
156 WRITE(6,*)
"Reading node marker information from .points file"
158 READ(30,*) xyz(1:3),
mark
161 IF (
mark .EQ. 1)
THEN
163 backnode%coord(1:3) = xyz(1:3)
164 backnode%marker =
mark
165 ALLOCATE(backnode%next); backnode => backnode%next; nullify(backnode%next)
166 numscale_np = numscale_np + 1
167 numscale_bk = numscale_bk + 1
169 ELSE IF (
mark .EQ. 2)
THEN
171 frontnode%coord(1:3) = xyz(1:3)
172 frontnode%marker =
mark
173 ALLOCATE(frontnode%next); frontnode => frontnode%next; nullify(frontnode%next)
174 numscale_np = numscale_np + 1
175 numscale_ft = numscale_ft + 1
177 ELSE IF (
mark .NE. 0)
THEN
178 numbndnp = numbndnp + 1
180 bnplist%marker =
mark
181 ALLOCATE(bnplist%next); bnplist => bnplist%next; nullify(bnplist%next)
184 node(
i)%coord(1:3) = xyz(1:3)
197 1001
WRITE(6,*)
"AN ERROR OCCURRED WHILE OPENING ", prefix(1:length(prefix))//
'.noboite'
198 WRITE(6,*)
"FILE DOES NOT EXIST."
200 1002
WRITE(6,*)
"AN ERROR OCCURRED WHILE OPENING ", prefix(1:length(prefix))//
'.faces'
201 WRITE(6,*)
"FILE DOES NOT EXIST."
203 1003
WRITE(6,*)
"AN ERROR OCCURRED WHILE OPENING ", prefix(1:length(prefix))//
'.points'
204 WRITE(6,*)
"FILE DOES NOT EXIST."
int status() const
Obtain the status of the attribute.
const std::string & unit() const
Obtain the unit of the attribute.
void mark(Halfedge *h) const