Changeset 1103 for palm/trunk/SOURCE/poisfft.f90
- Timestamp:
- Feb 20, 2013 2:15:53 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/poisfft.f90
r1093 r1103 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! tri, ar, and ar1 arguments in tridia-routines (2d) are removed because they 23 ! sometimes cause segmentation faults with intel 12.1 compiler 23 24 ! 24 25 ! Former revisions: … … 370 371 DO j = nys_z, nyn_z 371 372 IF ( j <= nnyh ) THEN 372 CALL maketri( tri,j )373 CALL maketri( j ) 373 374 ELSE 374 CALL maketri( tri,ny+1-j )375 CALL maketri( ny+1-j ) 375 376 ENDIF 376 CALL split ( tri )377 CALL substi( ar, ar1, tri,j )377 CALL split 378 CALL substi( j ) 378 379 ENDDO 379 380 !$OMP END PARALLEL … … 381 382 ! 382 383 !-- First y-level. 383 CALL maketri( tri,nys_z )384 CALL split ( tri )385 CALL substi( ar, ar1, tri,0 )384 CALL maketri( nys_z ) 385 CALL split 386 CALL substi( 0 ) 386 387 387 388 ! 388 389 !-- Further y-levels. 389 390 DO j = 1, nnyh - 1 390 CALL maketri( tri,j )391 CALL split ( tri )392 CALL substi( ar, ar1, tri,j )393 CALL substi( ar, ar1, tri,ny+1-j )391 CALL maketri( j ) 392 CALL split 393 CALL substi( j ) 394 CALL substi( ny+1-j ) 394 395 ENDDO 395 CALL maketri( tri,nnyh )396 CALL split ( tri )397 CALL substi( ar, ar1, tri,nnyh+nys )396 CALL maketri( nnyh ) 397 CALL split 398 CALL substi( nnyh+nys ) 398 399 #endif 399 400 400 401 CONTAINS 401 402 402 SUBROUTINE maketri( tri,j )403 SUBROUTINE maketri( j ) 403 404 404 405 !------------------------------------------------------------------------------! … … 416 417 REAL :: a, c 417 418 REAL :: ll(nxl_z:nxr_z) 418 REAL :: tri(5,nxl_z:nxr_z,0:nz-1)419 419 420 420 … … 476 476 477 477 478 SUBROUTINE substi( ar, ar1, tri,j )478 SUBROUTINE substi( j ) 479 479 480 480 !------------------------------------------------------------------------------! … … 487 487 488 488 INTEGER :: i, j, k 489 REAL :: ar1(nxl_z:nxr_z,0:nz-1)490 REAL :: tri(5,nxl_z:nxr_z,0:nz-1)491 #if defined( __parallel )492 REAL :: ar(nxl_z:nxr_z,nys_z:nyn_z,1:nz)493 #else494 REAL :: ar(1:nz,nys_z:nyn_z,nxl_z:nxr_z)495 #endif496 489 497 490 ! … … 559 552 560 553 561 SUBROUTINE split ( tri )554 SUBROUTINE split 562 555 563 556 !------------------------------------------------------------------------------! … … 568 561 569 562 INTEGER :: i, k 570 REAL :: tri(5,nxl_z:nxr_z,0:nz-1)571 563 572 564 !
Note: See TracChangeset
for help on using the changeset viewer.