~reducedmodelling/fluidity/ROM_Non-intrusive-ann

« back to all changes in this revision

Viewing changes to femtools/Supermesh_Assembly.F90

  • Committer: Colin Cotter
  • Date: 2011-05-18 20:33:01 UTC
  • mto: (3425.20.2 shallow-water-mfem)
  • mto: This revision was merged to the branch mainline in revision 3489.
  • Revision ID: colin.cotter@imperial.ac.uk-20110518203301-5g7qk7lf1p338rfb
Fixed some bugs with the new allocate_element interface.

Running make test causes failures because all the tests are getting into 
element_numbering.F90:845 which is odd.

Show diffs side-by-side

added added

removed removed

Lines of Context:
184
184
    logical :: lform_dn
185
185
    real, dimension(ele_loc(positions_a, 1), ele_ngi(positions_a, 1), ele_count(positions_c)) :: l_coords
186
186
    type(quadrature_type), pointer :: quad
 
187
    type(ele_numbering_type) :: ele_num
187
188
    
188
189
    lform_dn = .not. present_and_false(form_dn)
189
190
    
203
204
    end if
204
205
    
205
206
    allocate(shapes_c(ele_count(positions_c)))
206
 
    do i = 1, size(shapes_c)    
207
 
      call allocate(shapes_c(i), dim = dim, loc = loc, ngi = ngi, coords = coords)
 
207
    do i = 1, size(shapes_c)
 
208
       ele_num = find_element_numbering(vertices = loc, &
 
209
            &dimension = dim, degree =&
 
210
            & degree)    
 
211
      call allocate(shapes_c(i), ele_num=ele_num, ngi = ngi)
208
212
      
209
213
      shapes_c(i)%degree = degree
210
214
      shapes_c(i)%numbering => find_element_numbering(vertices = loc, dimension = dim, degree = degree)
275
279
    logical :: lform_dn
276
280
    real, dimension(ele_loc(positions_b, ele_b), ele_ngi(positions_b, ele_b), ele_count(positions_c)) :: l_coords
277
281
    type(quadrature_type), pointer :: quad
 
282
    type(ele_numbering_type) :: ele_num
278
283
    
279
284
    lform_dn = .not. present_and_false(form_dn)
280
285
    
292
297
    end if
293
298
    
294
299
    allocate(shapes_c(ele_count(positions_c)))
295
 
    do i = 1, size(shapes_c)    
296
 
      call allocate(shapes_c(i), dim = dim, loc = loc, ngi = ngi, coords = coords)
 
300
    do i = 1, size(shapes_c)
 
301
       ele_num = find_element_numbering(&
 
302
            vertices = loc, dimension = dim, degree =&
 
303
            & degree)    
 
304
      call allocate(shapes_c(i), ele_num, ngi = ngi)
297
305
      
298
306
      shapes_c(i)%degree = degree
299
307
      shapes_c(i)%numbering => find_element_numbering(vertices = loc, dimension = dim, degree = degree)