41 integer*4 :: num_nodes,num_tria
44 real*8,
dimension(num_nodes) :: x,y,z
45 integer*4,
dimension(num_tria) :: node1,node2,node3
47 integer*4 :: ileft,iright
49 character*100000 :: input_line
50 real*8 :: length_edge1,length_edge2,length_edge3
51 real*8 :: max_edge_length,max_length
56 read(20,
'(A)',iostat = status) input_line
58 iright = len(input_line)
59 read(input_line(ileft:iright),*) num_nodes,num_tria
62 read(20,
'(A)',iostat = status) input_line
65 iright = len(input_line)
66 read(input_line(ileft:iright),*)trash,x(i),y(i),z(i)
70 read(20,
'(A)',iostat = status) input_line
73 iright = len(input_line)
74 read(input_line(ileft:iright),*)trash,node1(i),node2(i),node3
79 ! compute max tria edge length
83 length_edge1 = ( x(node1(i)) - x(node2(i)) )**2 + ( y(node1(i))
84 length_edge2 = ( x(node2(i)) - x(node3(i)) )**2 + ( y(node2(i))
85 length_edge3 = ( x(node3(i)) - x(node1(i)) )**2 + ( y(node3(i))
87 max_edge_length = max(length_edge1,length_edge2,length_edge3)
89 if (max_length.lt.max_edge_length)
then
90 max_length = max_edge_length
95 max_length = sqrt(max_length)
subroutine read_filexyz(filec, num_nodes, num_tria, x, y, z, node1, node2, node3, max_length)
Reads mesh of triangular elements (topography or alluvial basin)