Changeset 6c6ce1a
- Timestamp:
- 12/09/10 14:41:58 (2 years ago)
- Branches:
- master, external, fix-prolong, refactor, refactor-ext, refactor-subsolvers
- Children:
- 2eac950, 609702e
- Parents:
- c28deba (diff), 6ca9419 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - git-author:
- Oleg Batrashev <ogbash@…> (12/09/10 14:41:58)
- git-committer:
- Oleg Batrashev <ogbash@…> (12/09/10 14:41:58)
- Files:
-
- 3 edited
- 8 moved
-
src/datatypes/Mesh.F90 (modified) (1 diff)
-
configure.ac (modified) (1 diff)
-
src/ext/C/Makefile.am (moved) (moved from src/ext/Makefile.am) (1 diff)
-
src/ext/C/doug_ext.f90 (moved) (moved from src/ext/doug_ext.f90)
-
src/ext/C/doug_ext.h (moved) (moved from src/ext/doug_ext.h)
-
src/ext/C/main_aggr.c (moved) (moved from src/ext/main_aggr.c)
-
src/ext/C/main_cg.c (moved) (moved from src/ext/main_cg.c)
-
src/ext/C/main_pcg1.c (moved) (moved from src/ext/main_pcg1.c)
-
src/ext/C/ops.c (moved) (moved from src/ext/ops.c)
-
src/ext/C/ops.h (moved) (moved from src/ext/ops.h)
-
src/main/main_drivers.F90 (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/datatypes/Mesh.F90
rc28deba r6c6ce1a 265 265 if (associated(M%partnelems)) deallocate(M%partnelems) 266 266 if (associated(M%nghbrs)) deallocate(M%nghbrs) 267 if ( associated(M%lcoords)) deallocate(M%lcoords)267 if (.NOT.ismaster().AND.associated(M%lcoords)) deallocate(M%lcoords) ! for master it = coords 268 268 if (associated(M%lfreemap)) deallocate(M%lfreemap) 269 269 !if (associated(M%)) deallocate(M%) -
configure.ac
r5e1467a rdd63f9f 166 166 src/Makefile 167 167 src/main/Makefile 168 src/ext/ Makefile168 src/ext/C/Makefile 169 169 doc/Doxyfile 170 170 doc/Makefile -
src/ext/C/Makefile.am
ra10a43b rdd63f9f 7 7 # this file is compiled with 'mpicc' and in static linking does not find MPI library for Fortran, 8 8 # thus we hack it by providing required libraries, however it only works for OpenMPI 9 c_doug_aggr_LDADD=libdoug-ext.la ../libdoug.la ../main/doug_aggr-main_drivers.o -lmpi_f90 -lmpi_f779 c_doug_aggr_LDADD=libdoug-ext.la @top_builddir@/src/libdoug.la @top_builddir@/src/main/doug_aggr-main_drivers.o -lmpi_f90 -lmpi_f77 10 10 11 11 c_doug_cg_SOURCES=main_cg.c 12 c_doug_cg_LDADD=libdoug-ext.la ../libdoug.la ../main/doug_aggr-main_drivers.o -lmpi_f90 -lmpi_f7712 c_doug_cg_LDADD=libdoug-ext.la @top_builddir@/src/libdoug.la @top_builddir@/src/main/doug_aggr-main_drivers.o -lmpi_f90 -lmpi_f77 13 13 14 14 c_doug_pcg1_SOURCES=main_pcg1.c 15 c_doug_pcg1_LDADD=libdoug-ext.la ../libdoug.la ../main/doug_aggr-main_drivers.o -lmpi_f90 -lmpi_f7715 c_doug_pcg1_LDADD=libdoug-ext.la @top_builddir@/src/libdoug.la @top_builddir@/src/main/doug_aggr-main_drivers.o -lmpi_f90 -lmpi_f77 -
src/main/main_drivers.F90
r848affb rc28deba 88 88 type(SpMtx),intent(in out),optional :: A_interf !< matrix at interface 89 89 90 if (ismaster()) then ! MASTER 91 write(stream,*) 92 write(stream,*) 'master thread' 93 if (D_MSGLVL > 1) & 94 call MasterCtrlData_print() 95 96 else ! SLAVES 97 write(stream,'(a,i4,a)') 'slave [',myrank,'] thread' 98 if (D_MSGLVL > 1) & 99 call SharedCtrlData_print() 100 end if 101 90 102 ! ======================= 91 103 ! Mesh and its Dual Graph … … 93 105 ! 94 106 ! Create Mesh object 107 95 108 Msh = Mesh_New() 96 109 97 if (ismaster()) then ! MASTER 98 write(stream,*) 99 write(stream,*) 'master thread' 100 101 if (D_MSGLVL > 1) & 102 call MasterCtrlData_print() 103 110 if (ismaster()) then 104 111 ! Initialise Mesh object 105 112 call Mesh_initFromFile(Msh, trim(mctls%info_file)) 106 107 else ! SLAVES 108 write(stream,'(a,i4,a)') 'slave [',myrank,'] thread' 109 110 if (D_MSGLVL > 1) & 111 call SharedCtrlData_print() 112 end if 113 endif 113 114 114 115 ! Get from master Mesh's parameters: nell, ngf, mfrelt, nsd, nnode … … 116 117 if (D_MSGLVL > 1) & 117 118 call Mesh_printInfo(Msh) 118 119 ! Allocate data arrays (nfrelt, mhead, freemap, eptnmap) for mesh120 call Mesh_allocate(Msh, &121 nfrelt =.true., &122 mhead =.true., &123 freemap =.true., &124 eptnmap =.true.)125 119 126 120 ! Master reads in from files: feedom lists, coordinates, freedom map … … 141 135 ! For multi-variable problems which have more than one block 142 136 if (sctls%number_of_blocks > 1) then 143 call Mesh_allocate(Msh, freemask=.true.)144 137 if (ismaster()) then 145 138 call Mesh_readFromFile(Msh, & … … 156 149 ! Partition mesh's dual graph 157 150 if (ismaster()) then 158 159 !! Build dual graph (Graph object is a data field in Mesh class)160 !call Mesh_buildGraphDual(Msh)161 162 151 if (sctls%plotting == D_PLOT_YES) then 163 164 call Mesh_pl2D_pointCloud(Msh,D_PLPLOT_INIT) 165 ! Plots mesh's dual graph 166 call Mesh_pl2D_plotGraphDual(Msh,D_PLPLOT_END) 167 ! Mesh & its Dual Graph 168 call Mesh_pl2D_plotMesh(Msh, D_PLPLOT_INIT) 169 call Mesh_pl2D_plotGraphDual(Msh, D_PLPLOT_END) 152 call Mesh_pl2D_mesh(Msh) 170 153 end if 171 154 172 155 ! Partition graph: D_PART_PMETIS, D_PART_KMETIS, D_PART_VKMETIS 173 156 call Mesh_partitionDual(Msh, nparts, D_PART_VKMETIS, part_opts) 174 175 157 if (sctls%plotting == D_PLOT_YES) then 176 ! Draw colored partitoined graph 177 call Mesh_pl2D_plotGraphParted(Msh) 178 179 ! Plot partitions of the mesh 180 ! NB: Check for multivariable case! TODO 181 call Mesh_pl2D_Partition(Msh) 182 ! Partition with Dual Graph upon it 183 call Mesh_pl2D_Partition(Msh, D_PLPLOT_INIT) 184 call Mesh_pl2D_plotGraphDual(Msh, D_PLPLOT_CONT) 185 call Mesh_pl2D_pointCloud(Msh,D_PLPLOT_END) 186 end if 187 188 ! Destroy previously created graph (purely to save memory) 189 ! (If it is not killed here or somewere else Mesh_Destroy() 190 ! will kill it any way) 191 !call Mesh_destroyGraph(Msh) 192 else ! SLAVES 193 ! Number of partions the mesh was partitioned into 194 Msh%nparts = nparts 195 Msh%parted = .true. 196 end if 158 call Mesh_pl2D_partitions(Msh) 159 end if 160 endif 197 161 198 162 ! Distribute elements to partitons map among slaves
Note: See TracChangeset
for help on using the changeset viewer.
