diff --git a/src/NURBS/forcad_nurbs_curve.f90 b/src/NURBS/forcad_nurbs_curve.f90 index 11103f856..6c88dbcba 100644 --- a/src/NURBS/forcad_nurbs_curve.f90 +++ b/src/NURBS/forcad_nurbs_curve.f90 @@ -327,17 +327,20 @@ impure subroutine export_Xc(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xc' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', nc+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', nc, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + if (size(this%Xc, 2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), 0.0_rk , i = 1, nc) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*3 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (2, elemConn(i,1),elemConn(i,2), i = 1, size(elemConn,1)) + (2, elemConn(i,1)-1,elemConn(i,2)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (3 , i = 1, size(elemConn,1)) @@ -366,17 +369,20 @@ impure subroutine export_Xg(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xg' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', ng+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', ng, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + if (size(this%Xg, 2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), 0.0_rk , i = 1, ng) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*3 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (2, elemConn(i,1),elemConn(i,2), i = 1, size(elemConn,1)) + (2, elemConn(i,1)-1,elemConn(i,2)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (3 , i = 1, size(elemConn,1)) diff --git a/src/NURBS/forcad_nurbs_surface.f90 b/src/NURBS/forcad_nurbs_surface.f90 index 43cd309c1..8d8ab12a6 100644 --- a/src/NURBS/forcad_nurbs_surface.f90 +++ b/src/NURBS/forcad_nurbs_surface.f90 @@ -373,17 +373,20 @@ impure subroutine export_Xc(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xc' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', nc+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', nc, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + if (size(this%Xc,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), 0.0_rk , i = 1, nc) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*5 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (4, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3), i = 1, size(elemConn,1)) + (4, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (9 , i = 1, size(elemConn,1)) @@ -412,17 +415,20 @@ impure subroutine export_Xg(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xg' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', ng+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', ng, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + if (size(this%Xg,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), 0.0_rk , i = 1, ng) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*5 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (4, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3), i = 1, size(elemConn,1)) + (4, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (9 , i = 1, size(elemConn,1)) diff --git a/src/NURBS/forcad_nurbs_volume.f90 b/src/NURBS/forcad_nurbs_volume.f90 index 8c613421d..7b200a857 100644 --- a/src/NURBS/forcad_nurbs_volume.f90 +++ b/src/NURBS/forcad_nurbs_volume.f90 @@ -408,18 +408,21 @@ impure subroutine export_Xc(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xc' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', nc+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', nc, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + if (size(this%Xc,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), 0.0_rk , i = 1, nc) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*9 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (8, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3),& - elemConn(i,5),elemConn(i,6),elemConn(i,8),elemConn(i,7), i = 1, size(elemConn,1)) + (8, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1,& + elemConn(i,5)-1,elemConn(i,6)-1,elemConn(i,8)-1,elemConn(i,7)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (12 , i = 1, size(elemConn,1)) @@ -448,18 +451,21 @@ impure subroutine export_Xg(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xg' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', ng+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', ng, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + if (size(this%Xg,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), 0.0_rk , i = 1, ng) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*9 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (8, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3),& - elemConn(i,5),elemConn(i,6),elemConn(i,8),elemConn(i,7), i = 1, size(elemConn,1)) + (8, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1,& + elemConn(i,5)-1,elemConn(i,6)-1,elemConn(i,8)-1,elemConn(i,7)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (12 , i = 1, size(elemConn,1)) diff --git a/src/Rational_Bezier/forcad_bezier_curve.f90 b/src/Rational_Bezier/forcad_bezier_curve.f90 index 14180cbe8..44af8a42d 100644 --- a/src/Rational_Bezier/forcad_bezier_curve.f90 +++ b/src/Rational_Bezier/forcad_bezier_curve.f90 @@ -289,17 +289,20 @@ impure subroutine export_Xc(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xc' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', nc+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', nc, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + if (size(this%Xc,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), 0.0_rk , i = 1, nc) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*3 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (2, elemConn(i,1),elemConn(i,2), i = 1, size(elemConn,1)) + (2, elemConn(i,1)-1,elemConn(i,2)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (3 , i = 1, size(elemConn,1)) @@ -329,17 +332,20 @@ impure subroutine export_Xg(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xg' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', ng+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', ng, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + if (size(this%Xg,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), 0.0_rk , i = 1, ng) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*3 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (2, elemConn(i,1),elemConn(i,2), i = 1, size(elemConn,1)) + (2, elemConn(i,1)-1,elemConn(i,2)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (3 , i = 1, size(elemConn,1)) diff --git a/src/Rational_Bezier/forcad_bezier_surface.f90 b/src/Rational_Bezier/forcad_bezier_surface.f90 index 0eaa8c956..bb2dcffff 100644 --- a/src/Rational_Bezier/forcad_bezier_surface.f90 +++ b/src/Rational_Bezier/forcad_bezier_surface.f90 @@ -312,17 +312,20 @@ impure subroutine export_Xc(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xc' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', nc+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', nc, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + if (size(this%Xc,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), 0.0_rk , i = 1, nc) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*5 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (4, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3), i = 1, size(elemConn,1)) + (4, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (9 , i = 1, size(elemConn,1)) @@ -351,17 +354,20 @@ impure subroutine export_Xg(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xg' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', ng+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', ng, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + if (size(this%Xg,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), 0.0_rk , i = 1, ng) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*5 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (4, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3), i = 1, size(elemConn,1)) + (4, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (9 , i = 1, size(elemConn,1)) diff --git a/src/Rational_Bezier/forcad_bezier_volume.f90 b/src/Rational_Bezier/forcad_bezier_volume.f90 index 8951d3223..1328f1b4f 100644 --- a/src/Rational_Bezier/forcad_bezier_volume.f90 +++ b/src/Rational_Bezier/forcad_bezier_volume.f90 @@ -332,18 +332,21 @@ impure subroutine export_Xc(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xc' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', nc+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', nc, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + if (size(this%Xc,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), 0.0_rk , i = 1, nc) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xc(i,1), this%Xc(i,2), this%Xc(i,3) , i = 1, nc) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*9 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (8, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3),& - elemConn(i,5),elemConn(i,6),elemConn(i,8),elemConn(i,7), i = 1, size(elemConn,1)) + (8, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1,& + elemConn(i,5)-1,elemConn(i,6)-1,elemConn(i,8)-1,elemConn(i,7)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (12 , i = 1, size(elemConn,1)) @@ -372,18 +375,21 @@ impure subroutine export_Xg(this, filename) open(newunit=nunit, file=filename, action='write') write(nunit,'(a)') '# vtk DataFile Version 2.0' - write(nunit,'(a)') 'Xg' + write(nunit,'(a)') 'Generated by ForCAD' write(nunit,'(a)') 'ASCII' write(nunit,'(a)') 'DATASET UNSTRUCTURED_GRID' - write(nunit,'(a," ",g0," ",a)') 'POINTS', ng+1, 'double' + write(nunit,'(a," ",g0," ",a)') 'POINTS', ng, 'double' - write(nunit,'(f24.18,f24.18,f24.18)') 0.0_rk, 0.0_rk, 0.0_rk - write(nunit,'(f24.18,f24.18,f24.18)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + if (size(this%Xg,2) == 2) then + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), 0.0_rk , i = 1, ng) + else + write(nunit,'(g0," ",g0," ",g0)') (this%Xg(i,1), this%Xg(i,2), this%Xg(i,3) , i = 1, ng) + end if write(nunit,'(a," ",g0," ",g0)') 'CELLS', size(elemConn,1), size(elemConn,1)*9 write(nunit,'(g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0," ",g0)')& - (8, elemConn(i,1),elemConn(i,2),elemConn(i,4),elemConn(i,3),& - elemConn(i,5),elemConn(i,6),elemConn(i,8),elemConn(i,7), i = 1, size(elemConn,1)) + (8, elemConn(i,1)-1,elemConn(i,2)-1,elemConn(i,4)-1,elemConn(i,3)-1,& + elemConn(i,5)-1,elemConn(i,6)-1,elemConn(i,8)-1,elemConn(i,7)-1, i = 1, size(elemConn,1)) write(nunit,'(a," ",g0)') 'CELL_TYPES', size(elemConn,1) write(nunit,'(g0)') (12 , i = 1, size(elemConn,1))