Changeset fd51d18
- Timestamp:
- 01/26/11 19:41:24 (2 years ago)
- Branches:
- master, external, fix-prolong
- Children:
- 3805ac7
- Parents:
- 8e30c0d
- git-author:
- Oleg Batrashev <ogbash@…> (01/26/11 19:41:24)
- git-committer:
- Oleg Batrashev <ogbash@…> (01/26/11 19:41:24)
- Location:
- src
- Files:
-
- 3 edited
-
coarse/CoarseMtx.F90 (modified) (2 diffs)
-
datatypes/SpMtx/SpMtx_arrangement.F90 (modified) (4 diffs)
-
main/aggr.F90 (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/coarse/CoarseMtx.F90
r8e30c0d rfd51d18 367 367 deallocate(indi) 368 368 ! Build smoother 369 call SpMtx_printRaw(A)370 369 allocate(diag(max(A%nrows,A%ncols))) 371 370 diag=0.0; … … 450 449 deallocate(val,indj,indi) 451 450 deallocate(diag) 452 !write(stream,*)'Smoother matrix is:------------'453 !call SpMtx_printRaw(S)451 write(stream,*)'Smoother matrix is:------------' 452 call SpMtx_printRaw(S) 454 453 if (smoothers>=2) then 455 454 ! Build smoother2 -
src/datatypes/SpMtx/SpMtx_arrangement.F90
r964c491 rfd51d18 386 386 ! Finding strong connections in matrix 387 387 !------------------------------------------------------ 388 subroutine SpMtx_find_strong(A,alpha,A_ghost,symmetrise )388 subroutine SpMtx_find_strong(A,alpha,A_ghost,symmetrise,M) 389 389 Implicit None 390 390 Type(SpMtx),intent(in out) :: A … … 392 392 Type(SpMtx),intent(in out),optional :: A_ghost 393 393 logical,intent(in),optional :: symmetrise 394 type(Mesh),intent(in),optional :: M 394 395 ! local: 395 396 integer :: i,j,k,start,ending,nnz,ndiags … … 479 480 enddo 480 481 endif 482 write(stream,*) "STRONG", A%strong 481 483 if (mirror2ghost) then 482 484 if (present(A_ghost).and.associated(A_ghost%indi)) then … … 491 493 endif 492 494 enddo 493 endif 494 endif 495 write(stream,*) "GHOST STRONG", A_ghost%strong 496 endif 497 endif 498 499 contains 500 501 subroutine exchange_strong() 502 integer :: k, neigh 503 integer,allocatable :: ninds(:) 504 type Buffer 505 character, pointer :: data(:) 506 end type Buffer 507 type(Buffer),allocatable :: outbuffers(:) 508 509 allocate(ninds(M%nnghbrs)) 510 511 ! report to the neighbours which elements we need 512 !! how many elements 513 ninds = 0 514 do k=1,A_ghost%nnz 515 neigh = M%eptnmap(A_ghost%indi(k)) 516 if (neigh/=myrank+1) then 517 ninds(neigh) = ninds(neigh)+1 518 end if 519 end do 520 !! collect elements 521 !do neigh=1,M%nnghbrs 522 ! allocate( 523 524 deallocate(ninds) 525 end subroutine exchange_strong 495 526 end subroutine SpMtx_find_strong 496 527 -
src/main/aggr.F90
r8e30c0d rfd51d18 141 141 strong_conn1=0.67_rk 142 142 endif 143 call SpMtx_find_strong(A=A,alpha=strong_conn1,A_ghost=A_ghost )143 call SpMtx_find_strong(A=A,alpha=strong_conn1,A_ghost=A_ghost,M=M) 144 144 if (sctls%radius1>0) then 145 145 aggr_radius1=sctls%radius1
Note: See TracChangeset
for help on using the changeset viewer.
