diff --git a/Makefile b/Makefile index 3ae932a8970fe316ec175be363c1818de8352bc6..34ce07e5c00e06825668eaced25820aeba29851b 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # File : Makefile.in #------------------------------------------------------------------------- # -# Purpose : Compilation +# Purpose : Makefile template # # Remarks : # @@ -11,8 +11,7 @@ # Revisions : #------------------------------------------------------------------------- # Parallel Particle Mesh Library (PPM) -# Institute of Computational Science -# ETH Zentrum, Hirschengraben 84 +# ETH Zurich # CH-8092 Zurich, Switzerland #------------------------------------------------------------------------- @@ -22,13 +21,13 @@ exec_prefix = ${prefix} libdir = ${exec_prefix}/lib builddir = . LIBS = -lppm -lppm -lm -LDFLAGS = -L/Users/omar/sw/metis/gcc/lib -L../../ngtopo-libppm/libppm/lib -L../../ngtopo-libppm/libppm/lib +LDFLAGS = -L/home/omar/sw/metis/gcc/lib -L../../ppmcore/libppm/lib -L../../ppmcore/libppm/lib CFLAGS = -O3 -FCLIBS = -L/Users/omar/sw/metis/gcc/lib -L/opt/local/lib/gcc44/gcc/x86_64-apple-darwin10/4.4.4 -L/opt/local/lib/gcc44/gcc/x86_64-apple-darwin10/4.4.4/../../.. -lgfortranbegin -lgfortran -FCFLAGS = -O3 -ffree-form -I../../ngtopo-libppm/libppm/include -FC = gfortran-mp-4.4 -CC = gcc-mp-4.4 -CXX = g++-mp-4.4 +FCLIBS = -L/home/omar/sw/metis/gcc/lib -L/opt/openmpi/1.5/intel/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.5 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/opt/openmpi/1.5/intel/lib -L/opt/intel/composerxe-2011.0.084/compiler/lib/intel64 -L/opt/intel/composerxe-2011.0.084/ipp/../compiler/lib/intel64 -L/opt/intel/composerxe-2011.0.084/ipp/lib/intel64 -L/opt/intel/composerxe-2011.0.084/mkl/lib/intel64 -L/opt/intel/composerxe-2011.0.084/tbb/lib/intel64//cc4.1.0_libc2.4_kernel2.6.16.21 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../.. -L/usr/lib/x86_64-linux-gnu -lgfortranbegin -lgfortran -lm +FCFLAGS = -O3 -ffree-form -I../../ppmcore/libppm/include +FC = gfortran +CC = gcc +CXX = g++ DEBUG = MODFLAG = -I diff --git a/src/ppm_fdsolver_map_2d.f b/src/ppm_fdsolver_map_2d.f index 8f9814b73ea11d93830e3fa6ed918779024dc027..5e6912f1587b663ae0f32299c9c22c756367eee1 100644 --- a/src/ppm_fdsolver_map_2d.f +++ b/src/ppm_fdsolver_map_2d.f @@ -229,31 +229,15 @@ ! Map fields !------------------------------------------------------------------------- #if __DIM == __SFIELD - maptype = ppm_param_map_global - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) + CALL ppm_map_field_global(from_topo,to_topo,from_mesh,to_mesh,info) + CALL ppm_map_field_push(from_topo,from_mesh,DATA_fv,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(to_topo,to_mesh,DATA_fv,ghostsize,info) #elif __DIM == __VFIELD - maptype = ppm_param_map_global; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) - maptype = ppm_param_map_push; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) - maptype = ppm_param_map_send; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) - maptype = ppm_param_map_pop; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv, & - & ghostsize,maptype,info) + CALL ppm_map_field_global(from_topo,to_topo,from_mesh,to_mesh,info) + CALL ppm_map_field_push(from_topo,from_mesh,DATA_fv,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(to_topo,to_mesh,DATA_fv,ghostsize,info) #endif !------------------------------------------------------------------------- ! Return diff --git a/src/ppm_fdsolver_map_3d.f b/src/ppm_fdsolver_map_3d.f index aabc2dc832d5b1301f82120bf5774b4842a36ab7..1270f187b05237c9ee885e22e79b2a245070b198 100644 --- a/src/ppm_fdsolver_map_3d.f +++ b/src/ppm_fdsolver_map_3d.f @@ -234,31 +234,15 @@ ! Map field !------------------------------------------------------------------------- #if __DIM == __SFIELD - maptype = ppm_param_map_global; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) - maptype = ppm_param_map_push; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) - maptype = ppm_param_map_send; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) - maptype = ppm_param_map_pop; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) + CALL ppm_map_field_global(from_topo,to_topo,from_mesh,to_mesh,info) + CALL ppm_map_field_push(from_topo,from_mesh,DATA_fv,lda,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(to_topo,to_mesh,DATA_fv,lda,ghostsize,info) #elif __DIM == __VFIELD - maptype = ppm_param_map_global; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) - maptype = ppm_param_map_push; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) - maptype = ppm_param_map_send; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) - maptype = ppm_param_map_pop; - CALL ppm_map_field(from_topo,to_topo,from_mesh,to_mesh,DATA_fv,lda, & - & ghostsize,maptype,info) + CALL ppm_map_field_global(from_topo,to_topo,from_mesh,to_mesh,info) + CALL ppm_map_field_push(from_topo,from_mesh,DATA_fv,lda,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(to_topo,to_mesh,DATA_fv,lda,ghostsize,info) #endif !------------------------------------------------------------------------- ! Return diff --git a/src/ppm_fmm_potential.f b/src/ppm_fmm_potential.f index b9f89789e469ec98359fc08e349b6ac856622d0f..8d8bc398e2dbb44a04cdb7b3043aeaecdce25f6e 100644 --- a/src/ppm_fmm_potential.f +++ b/src/ppm_fmm_potential.f @@ -224,7 +224,7 @@ LOGICAL :: check,drct,OK INTEGER :: i,j,k,l,cnt,iopt,m,n INTEGER :: pcount,ccount - INTEGER :: mapt,Mpart,root,istat + INTEGER :: Mpart,root,istat INTEGER :: first,last,level INTEGER :: stackpointer,curbox INTEGER :: pexp,isymm @@ -338,22 +338,19 @@ !------------------------------------------------------------------------- ! Map target points !------------------------------------------------------------------------- - mapt = ppm_param_map_global - CALL ppm_map_part(topoid,target_topoid,tp,ppm_dim,Ntp,Mpart,mapt,info) + CALL ppm_map_part_global(target_topoid,tp,Ntp,info) IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to start global mapping.',info) GOTO 9999 ENDIF - mapt = ppm_param_map_send - CALL ppm_map_part(topoid,target_topoid,tp,ppm_dim,Ntp,Mpart,mapt,info) + CALL ppm_map_part_send(Ntp,Mpart,info) IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to start global mapping.',info) GOTO 9999 ENDIF - mapt = ppm_param_map_pop - CALL ppm_map_part(topoid,target_topoid,tp,ppm_dim,Ntp,Mpart,mapt,info) + CALL ppm_map_part_pop(tp,ppm_dim,Ntp,Mpart,info) IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to start global mapping.',info) @@ -408,48 +405,47 @@ !------------------------------------------------------------------------- isymm = 0 cutoff = 1.0_MK ! can be any number > 0 - mapt = ppm_param_map_push + ! OA: Is this correct??? + CALL ppm_map_part_ghost_get(topoid,xpunord,ppm_dim,Np,isymm,cutoff,info) #if __DIM == __SFIELD - CALL ppm_map_part_ghost(wpunord,Np,Mpart,isymm,cutoff,mapt,info) !strengths + CALL ppm_map_part_push(wpunord,Np,info) !strengths #else - CALL ppm_map_part_ghost(wpunord,lda,Np,Mpart,isymm,cutoff,mapt,info) !strengths + CALL ppm_map_part_push(wpunord,lda,Np,info) !strengths #endif IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to push strengths.',info) GOTO 9999 ENDIF - CALL ppm_map_part_ghost(boxpart,Np,Mpart,isymm,cutoff,mapt,info) !boxpart + CALL ppm_map_part_push(boxpart,Np,info) !boxpart IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to push strengths.',info) GOTO 9999 ENDIF - mapt = ppm_param_map_send - CALL ppm_map_part_ghost(boxpart,Np,Mpart,isymm,cutoff,mapt,info) ! send + CALL ppm_map_part_send(Np,Mpart,info) ! send IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to send particles.',info) GOTO 9999 ENDIF - mapt = ppm_param_map_pop - CALL ppm_map_part_ghost(boxpart,Np,Mpart,isymm,cutoff,mapt,info) !boxpart + CALL ppm_map_part_pop(boxpart,Np,Mpart,info) !boxpart IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to push strengths.',info) GOTO 9999 ENDIF #if __DIM == __SFIELD - CALL ppm_map_part_ghost(wpunord,Np,Mpart,isymm,cutoff,mapt,info) !strengths + CALL ppm_map_part_pop(wpunord,Np,Mpart,info) !strengths #else - CALL ppm_map_part_ghost(wpunord,lda,Np,Mpart,isymm,cutoff,mapt,info) !strengths + CALL ppm_map_part_pop(wpunord,lda,Np,Mpart,info) !strengths #endif IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to pop strengths.',info) GOTO 9999 ENDIF !positions - CALL ppm_map_part_ghost(xpunord,ppm_dim,Np,Mpart,isymm,cutoff,mapt,info) + CALL ppm_map_part_pop(xpunord,ppm_dim,Np,Mpart,info) IF (info .NE. 0) THEN CALL ppm_write(ppm_rank,'ppm_fmm_potential', & & 'Failed to pop positions.',info) diff --git a/src/ppm_gmm_extend_bkwd.f b/src/ppm_gmm_extend_bkwd.f index b9e78b4f5578010256e17b87e357c2d5e12d84eb..b87099925d6bf9cf63391377091281f5b38a68c2 100644 --- a/src/ppm_gmm_extend_bkwd.f +++ b/src/ppm_gmm_extend_bkwd.f @@ -309,24 +309,21 @@ !------------------------------------------------------------------------- ! Update ghost layers for dta !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,dta,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend', & @@ -410,24 +407,21 @@ !------------------------------------------------------------------------- ! Update ghost layers for dta !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,dta,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend', & diff --git a/src/ppm_gmm_extend_fwd.f b/src/ppm_gmm_extend_fwd.f index a7cac105938bf845d54d4539dc91388250db6950..283ce76368e1f14114e5649d0d185cfc5baeff50 100644 --- a/src/ppm_gmm_extend_fwd.f +++ b/src/ppm_gmm_extend_fwd.f @@ -409,40 +409,35 @@ !------------------------------------------------------------------------- ! Update ghost layers for both dta AND gmm_state3d !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state3d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,gmm_state3d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'pushing status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state3d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,gmm_state3d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'popping status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & @@ -584,40 +579,35 @@ !------------------------------------------------------------------------- ! Update ghost layers for both dta AND gmm_state2d !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state2d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,gmm_state2d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'pushing status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state2d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,gmm_state2d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & & 'popping status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_extend_fwd', & diff --git a/src/ppm_gmm_march.f b/src/ppm_gmm_march.f index 661c8407ac6628c72c2fdd0bfbd7b12fbcb6cf61..60adcd156268baa146f7b6d1e6a3e3b885a1820c 100644 --- a/src/ppm_gmm_march.f +++ b/src/ppm_gmm_march.f @@ -360,24 +360,14 @@ !------------------------------------------------------------------------- ! Initialize the ghost layers. !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_init,info) - IF (info .NE. ppm_param_success) THEN - info = ppm_error_error - CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & - & 'ghost mapping init failed',__LINE__,info) - GOTO 9999 - ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_ghost_get,info) + CALL ppm_map_field_ghost_get(gmm_topoid,gmm_meshid,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'ghost get mapping failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & @@ -385,8 +375,7 @@ GOTO 9999 ENDIF IF (PRESENT(udata)) THEN - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & @@ -394,8 +383,7 @@ GOTO 9999 ENDIF ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & @@ -403,8 +391,7 @@ GOTO 9999 ENDIF IF (PRESENT(udata)) THEN - CALL ppm_map_field_ghost(dta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,dta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & @@ -412,8 +399,7 @@ GOTO 9999 ENDIF ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & @@ -547,24 +533,21 @@ !------------------------------------------------------------------------- ! Initialize ghost layers for state array !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(gmm_state3d,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,gmm_state3d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'pushing status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state3d,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'sending status ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state3d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,gmm_state3d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & @@ -779,24 +762,21 @@ !------------------------------------------------------------------------- ! Initialize ghost layers for state array !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(gmm_state2d,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,gmm_state2d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'pushing status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state2d,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'sending status ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state2d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,gmm_state2d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & diff --git a/src/ppm_gmm_march_bkwd.f b/src/ppm_gmm_march_bkwd.f index 7be054dc2b1b7f40852c2562650802f9cb5d76f9..dad6ec532c0ed17e34d833faf5a822df841713cb 100644 --- a/src/ppm_gmm_march_bkwd.f +++ b/src/ppm_gmm_march_bkwd.f @@ -330,24 +330,21 @@ !------------------------------------------------------------------------- ! Update ghost layers for fdta !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & @@ -452,24 +449,21 @@ !------------------------------------------------------------------------- ! Update ghost layers for fdta !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march', & diff --git a/src/ppm_gmm_march_fwd.f b/src/ppm_gmm_march_fwd.f index 22156d00870b1f0c7f4678c70f1758ba7b7101f9..d6ce53ad741776127d45c5befbdf7dc74e95eb57 100644 --- a/src/ppm_gmm_march_fwd.f +++ b/src/ppm_gmm_march_fwd.f @@ -434,40 +434,35 @@ !------------------------------------------------------------------------- ! Update ghost layers for both fdta AND gmm_state3d !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state3d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,gmm_state3d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'pushing status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state3d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,gmm_state3d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'popping status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & @@ -631,40 +626,35 @@ !------------------------------------------------------------------------- ! Update ghost layers for both fdta AND gmm_state2d !------------------------------------------------------------------------- - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'pushing field data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state2d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_push,info) + CALL ppm_map_field_push(gmm_topoid,gmm_meshid,gmm_state2d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'pushing status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_send,info) + CALL ppm_map_field_send(info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'sending ghosts failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(gmm_state2d,gmm_topoid,gmm_meshid,ghostsize,& - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,gmm_state2d,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & & 'popping status data failed',__LINE__,info) GOTO 9999 ENDIF - CALL ppm_map_field_ghost(fdta,gmm_topoid,gmm_meshid,ghostsize, & - & ppm_param_map_pop,info) + CALL ppm_map_field_pop(gmm_topoid,gmm_meshid,fdta,ghostsize,info) IF (info .NE. ppm_param_success) THEN info = ppm_error_error CALL ppm_error(ppm_err_sub_failed,'ppm_gmm_march_fwd', & diff --git a/src/ppm_hamjac_ext_3d.f b/src/ppm_hamjac_ext_3d.f index 9eab1d9a536d85c722f2da6b910c1693f5ae0a1b..0ee26b0b68b8853555617ac44adb9294ff361fd6 100644 --- a/src/ppm_hamjac_ext_3d.f +++ b/src/ppm_hamjac_ext_3d.f @@ -114,7 +114,7 @@ !----------------------------------------------------- ! Local variables !----------------------------------------------------- - INTEGER :: isub,isubl,i,j,k,maptype + INTEGER :: isub,isubl,i,j,k INTEGER :: istep,iopt #if __MODE == __SCA INTEGER :: ldl(4), ldu(4) @@ -184,38 +184,24 @@ dx(1) = len_phys(1)/REAL(mesh%nm(1)-1,mk) dx(2) = len_phys(2)/REAL(mesh%nm(2)-1,mk) dx(3) = len_phys(3)/REAL(mesh%nm(3)-1,mk) - !--- ready to blast - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) !--- map the gowas - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,phi,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,ghostsize,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) !--- map the function DO istep=1,maxstep #if __MODE == __SCA - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(psi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(psi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(psi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(psi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(psi,topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,psi,ghostsize,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,psi,ghostsize,info) + #elif __MODE == __VEC - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(psi,lda,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(psi,lda,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(psi,lda,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(psi,lda,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,psi,lda,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,psi,lda,ghostsize,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(psi,lda,topo_id,mesh_id,ghostsize,info) #endif ! IF (ppm_debug .GT. 0) THEN ! ENDIF diff --git a/src/ppm_hamjac_reinit_2d.f b/src/ppm_hamjac_reinit_2d.f index 925ce53cb36e079f9bc404ec8775bed4702aa689..cabd24d5b3a5188659b177842eb28f32ab44622f 100644 --- a/src/ppm_hamjac_reinit_2d.f +++ b/src/ppm_hamjac_reinit_2d.f @@ -135,21 +135,14 @@ GOTO 9999 END IF - !--- ready to blast - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) !--- COMMENT Thu May 26 21:05:23 PDT 2005: simple euler here, do TVD DO istep=1,maxstep !--- map the gowas - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) CALL ppm_hamjac_reinit_step(phi,tphi,trgt,res,topo_id,mesh_id& &, ghostsize,info) diff --git a/src/ppm_hamjac_reinit_3d.f b/src/ppm_hamjac_reinit_3d.f index a88701662775afdeafbf3677744d09072bf81ab6..15c533c78695ea71d7d569f3d294bcdbef4623c3 100644 --- a/src/ppm_hamjac_reinit_3d.f +++ b/src/ppm_hamjac_reinit_3d.f @@ -151,13 +151,6 @@ GOTO 9999 END IF - !--- ready to blast - maptype = ppm_param_map_init -#if __MODE == __SCA - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) -#elif __MODE == __VEC - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize,maptype,info) -#endif !----------------------------------------------------- ! COMMENT Thu May 26 21:05:23 PDT 2005: simple euler here, DO TVD @@ -165,29 +158,17 @@ DO istep=1,maxstep !--- map the gowas #if __MODE == __SCA - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) CALL ppm_hamjac_reinit_step(phi,tphi,trgt,res,topo_id,mesh_id& &, ghostsize,info) #elif __MODE == __VEC - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,lda,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,lda,ghostsize, info) CALL ppm_hamjac_reinit_step(phi,idx,tphi,trgt,res,topo_id,mesh_id,& & ghostsize,info) #endif diff --git a/src/ppm_hamjac_reinit_loc_3d.f b/src/ppm_hamjac_reinit_loc_3d.f index c3ccc867b4cd2a2ab38660ee9c11031c8aa9b931..7e673f8593d9efdd03082f555c72ba0569b28119 100644 --- a/src/ppm_hamjac_reinit_loc_3d.f +++ b/src/ppm_hamjac_reinit_loc_3d.f @@ -153,13 +153,6 @@ GOTO 9999 END IF - !--- ready to blast - maptype = ppm_param_map_init -#if __MODE == __SCA - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) -#elif __MODE == __VEC - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize,maptype,info) -#endif !----------------------------------------------------- ! COMMENT Thu May 26 21:05:23 PDT 2005: simple euler here, DO TVD @@ -167,29 +160,17 @@ DO istep=1,maxstep !--- map the gowas #if __MODE == __SCA - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) CALL ppm_hamjac_reinit_loc_step(phi,tphi,iloc,np,trgt,res,topo_id,& & mesh_id,ghostsize,info) #elif __MODE == __VEC - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,lda,topo_id,mesh_id,ghostsize, & - & maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,lda,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,lda,ghostsize,info) CALL ppm_hamjac_reinit_loc_step(phi,idx,tphi,iloc,np,trgt,res,topo_id,& & mesh_id,ghostsize,info) #endif diff --git a/src/ppm_hamjac_reinit_ref_3d.f b/src/ppm_hamjac_reinit_ref_3d.f index 4734d4bf8f6bae4bb9b3cf7db8ea653043baa0d6..9a4583bcbe8b03f6cbf223a27b7cbfee5b71c760 100644 --- a/src/ppm_hamjac_reinit_ref_3d.f +++ b/src/ppm_hamjac_reinit_ref_3d.f @@ -139,32 +139,20 @@ GOTO 9999 END IF - !--- ready to blast - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - !--- map the map - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(chi,3,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(chi,3,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(chi,3,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(chi,3,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,chi,3,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,chi,3,ghostsize,info) !--- COMMENT Thu May 26 21:05:23 PDT 2005: simple euler here, do TVD DO istep=1,maxstep !--- map the gowas - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) CALL ppm_hamjac_reinit_step_ref(phi,chi,tphi,trgt,res,topo_id, & & mesh_id,ghostsize,info) diff --git a/src/ppm_hamjac_reinit_russo_3d.f b/src/ppm_hamjac_reinit_russo_3d.f index e00e29dd82fd6cf0ffb8562caa7a204c5cf9baaf..fe708067769e8bbe2c66e5a1f2d5cbcfa4557d05 100644 --- a/src/ppm_hamjac_reinit_russo_3d.f +++ b/src/ppm_hamjac_reinit_russo_3d.f @@ -67,13 +67,13 @@ ! Arguments !----------------------------------------------------- REAL(MK), DIMENSION(:,:,:,: ), POINTER :: phi - REAL(MK), DIMENSION(:,:,:,:,:), POINTER :: phigrad + REAL(MK), DIMENSION(:,:,:,:,:), POINTER :: phigrad INTEGER, INTENT(in) :: topo_id, mesh_id INTEGER, DIMENSION(3), INTENT(in) :: ghostsize INTEGER, INTENT(inout) :: info INTEGER, INTENT(in) :: maxstep REAL(mk), INTENT(in) :: tol - INTEGER,INTENT(IN),OPTIONAL :: indx + INTEGER,INTENT(IN),OPTIONAL :: indx !----------------------------------------------------- ! Aliases !----------------------------------------------------- @@ -83,8 +83,8 @@ INTEGER, DIMENSION(:,:), POINTER :: ndata INTEGER :: topoid,meshid REAL(mk), DIMENSION(:), POINTER :: min_phys, max_phys - INTEGER, DIMENSION(6) :: orgbcdef - INTEGER :: s2didx, mpi_prec + INTEGER, DIMENSION(6) :: orgbcdef + INTEGER :: s2didx, mpi_prec TYPE(ppm_t_topo), POINTER :: topo TYPE(ppm_t_equi_mesh), POINTER :: mesh !----------------------------------------------------- @@ -98,13 +98,13 @@ CALL substart('ppm_hamjac_reinit_russo_3d',t0,info) - IF(PRESENT(indx)) THEN - s2didx=indx - ELSE - s2didx= -1 - END IF + IF(PRESENT(indx)) THEN + s2didx=indx + ELSE + s2didx= -1 + END IF -#ifdef __MPI +#ifdef __MPI IF (ppm_kind.EQ.ppm_kind_single) THEN MPI_PREC = MPI_REAL ELSE @@ -130,15 +130,15 @@ len_phys(1) = max_phys(1) - min_phys(1) len_phys(2) = max_phys(2) - min_phys(2) - len_phys(3) = max_phys(3) - min_phys(3) - + len_phys(3) = max_phys(3) - min_phys(3) + dx(1) = len_phys(1)/REAL(mesh%Nm(1)-1,mk) dx(2) = len_phys(2)/REAL(mesh%Nm(2)-1,mk) - dx(3) = len_phys(3)/REAL(mesh%Nm(3)-1,mk) - - ! timestep - tau = 0.25_mk*MINVAL(dx) - + dx(3) = len_phys(3)/REAL(mesh%Nm(3)-1,mk) + + ! timestep + tau = 0.25_mk*MINVAL(dx) + !----------------------------------------------------- ! allocate temporary storage !----------------------------------------------------- @@ -148,136 +148,112 @@ ndata_max(3) = MAXVAL(ndata(3,1:nsublist)) ldu(1) = ndata_max(1) + ghostsize(1) ldu(2) = ndata_max(2) + ghostsize(2) - ldu(3) = ndata_max(3) + ghostsize(3) + ldu(3) = ndata_max(3) + ghostsize(3) ldu(4) = nsublist iopt = ppm_param_alloc_fit - CALL ppm_alloc(phi0,ldl,ldu,iopt,info) - CALL ppm_alloc(phirhs,ldl,ldu,iopt,info) - CALL ppm_alloc(phiprev,ldl,ldu,iopt,info) + CALL ppm_alloc(phi0,ldl,ldu,iopt,info) + CALL ppm_alloc(phirhs,ldl,ldu,iopt,info) + CALL ppm_alloc(phiprev,ldl,ldu,iopt,info) IF(info.NE.0) THEN info = ppm_error_fatal CALL ppm_error(ppm_err_alloc,'ppm_hamjac_reinit_russo_3d', & & 'temp storage for hamjac',__LINE__,info) GOTO 9999 END IF - - ! fill phi0 with initial condition + + ! fill phi0 with initial condition DO isub=1,nsublist isubl = isublist(isub) DO k=1,ndata(3,isubl) - DO j=1,ndata(2,isubl) + DO j=1,ndata(2,isubl) DO i=1,ndata(1,isubl) - phi0(i,j,k,isub) = phi(i,j,k,isub) - phiprev(i,j,k,isub) = phi(i,j,k,isub) - phigrad(1:3,i,j,k,isub) = 0.0_mk - END DO - END DO - END DO - END DO - - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi0,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi0,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi0,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi0,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi0,topo_id,mesh_id,ghostsize,maptype,info) - + phi0(i,j,k,isub) = phi(i,j,k,isub) + phiprev(i,j,k,isub) = phi(i,j,k,isub) + phigrad(1:3,i,j,k,isub) = 0.0_mk + END DO + END DO + END DO + END DO + + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi0,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi0,ghostsize,info) + !----------------------------------------------------- ! start time integration loop: using TVD RK3 !----------------------------------------------------- - + DO istep=1,maxstep !--- map the ghosts - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) - ! TVDRK3 substep A - - CALL ppm_hamjac_reinit_russo_step(phi,phi0,phirhs,phigrad,res,s2didx,topo_id,mesh_id& + ! TVDRK3 substep A + + CALL ppm_hamjac_reinit_russo_step(phi,phi0,phirhs,phigrad,res,s2didx,topo_id,mesh_id& &, ghostsize,info) - + DO isub=1,nsublist - isubl = isublist(isub) + isubl = isublist(isub) DO k=1,ndata(3,isubl); DO j=1,ndata(2,isubl);DO i=1,ndata(1,isubl) phi(i,j,k,isub) = phi(i,j,k,isub) + tau*phirhs(i,j,k,isub) END DO; END DO; END DO END DO - + !--- map the ghosts - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) - ! TVDRK3 substep B - - CALL ppm_hamjac_reinit_russo_step(phi,phi0,phirhs,phigrad,res,s2didx,topo_id,mesh_id& + ! TVDRK3 substep B + + CALL ppm_hamjac_reinit_russo_step(phi,phi0,phirhs,phigrad,res,s2didx,topo_id,mesh_id& &, ghostsize,info) - - DO isub=1,nsublist + + DO isub=1,nsublist isubl = isublist(isub) - DO k=1,ndata(3,isubl); DO j=1,ndata(2,isubl);DO i=1,ndata(1,isubl) + DO k=1,ndata(3,isubl); DO j=1,ndata(2,isubl);DO i=1,ndata(1,isubl) phi(i,j,k,isub) = phi(i,j,k,isub) + tau*phirhs(i,j,k,isub) - phi(i,j,k,isub) = 0.25_mk*phiprev(i,j,k,isub) + 0.75_mk*phi(i,j,k,isub) + phi(i,j,k,isub) = 0.25_mk*phiprev(i,j,k,isub) + 0.75_mk*phi(i,j,k,isub) END DO; END DO; END DO END DO - + !--- map the ghosts - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) + + ! TVDRK3 substep C - ! TVDRK3 substep C - - CALL ppm_hamjac_reinit_russo_step(phi,phi0,phirhs,phigrad,res,s2didx,topo_id,mesh_id& + CALL ppm_hamjac_reinit_russo_step(phi,phi0,phirhs,phigrad,res,s2didx,topo_id,mesh_id& &, ghostsize,info) - - DO isub=1,nsublist + + DO isub=1,nsublist isubl = isublist(isub) - DO k=1,ndata(3,isubl); DO j=1,ndata(2,isubl);DO i=1,ndata(1,isubl) + DO k=1,ndata(3,isubl); DO j=1,ndata(2,isubl);DO i=1,ndata(1,isubl) phi(i,j,k,isub) = phi(i,j,k,isub) + tau*phirhs(i,j,k,isub) - phi(i,j,k,isub) = (2.0_mk*phiprev(i,j,k,isub) + phi(i,j,k,isub))/3.0_mk - phiprev(i,j,k,isub) = phi(i,j,k,isub) + phi(i,j,k,isub) = (2.0_mk*phiprev(i,j,k,isub) + phi(i,j,k,isub))/3.0_mk + phiprev(i,j,k,isub) = phi(i,j,k,isub) END DO; END DO; END DO - END DO + END DO #ifdef __MPI - CALL MPI_AllReduce(res,gres,1,mpi_prec,MPI_MIN,0,ppm_comm,info) - res = gres + CALL MPI_AllReduce(res,gres,1,mpi_prec,MPI_MIN,0,ppm_comm,info) + res = gres #endif - IF(res.LT.tol) GOTO 666 - - IF(ppm_rank.EQ.0.AND.MOD(istep,5).EQ.0) THEN - WRITE(msg,*) 'iteration #',istep,' res=',res - CALL ppm_write(ppm_Rank,'ppm_hamjac',msg,info) - END IF + IF(res.LT.tol) GOTO 666 + + IF(ppm_rank.EQ.0.AND.MOD(istep,5).EQ.0) THEN + WRITE(msg,*) 'iteration #',istep,' res=',res + CALL ppm_write(ppm_Rank,'ppm_hamjac',msg,info) + END IF !IF(res.LT.tol) GOTO 666 ! does not work in parallel with ghosting, because all - ! processors need to be in loop for ghosting to work + ! processors need to be in loop for ghosting to work END DO !info = ppm_error_warning @@ -285,27 +261,21 @@ ! & 'failed to reach target residual',__LINE__,info) 666 CONTINUE - !--- map the ghosts for last time - maptype = ppm_param_map_init - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_ghost_get - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_push - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_send - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) - maptype = ppm_param_map_pop - CALL ppm_map_field_ghost(phi,topo_id,mesh_id,ghostsize,maptype,info) + !--- map the ghosts for last time + CALL ppm_map_field_ghost_get(topo_id,mesh_id,ghostsize,info) + CALL ppm_map_field_push(topo_id,mesh_id,phi,info) + CALL ppm_map_field_send(info) + CALL ppm_map_field_pop(topo_id,mesh_id,phi,ghostsize,info) - IF(ppm_rank.EQ.0) THEN - WRITE(msg,*) 'ended after iteration #',istep,' res=',res - CALL ppm_write(ppm_Rank,'ppm_hamjac',msg,info) - END IF + IF(ppm_rank.EQ.0) THEN + WRITE(msg,*) 'ended after iteration #',istep,' res=',res + CALL ppm_write(ppm_Rank,'ppm_hamjac',msg,info) + END IF iopt = ppm_param_dealloc - CALL ppm_alloc(phi0,ldl,ldu,iopt,info) - CALL ppm_alloc(phirhs,ldl,ldu,iopt,info) - CALL ppm_alloc(phiprev,ldl,ldu,iopt,info) + CALL ppm_alloc(phi0,ldl,ldu,iopt,info) + CALL ppm_alloc(phirhs,ldl,ldu,iopt,info) + CALL ppm_alloc(phiprev,ldl,ldu,iopt,info) IF(info.NE.0) THEN info = ppm_error_error CALL ppm_error(ppm_err_dealloc,'ppm_hamjac_reinit_russo_3d', & @@ -315,10 +285,10 @@ 9999 CONTINUE - - CALL substop('ppm_hamjac_reinit_russo_3d',t0,info) - - + + CALL substop('ppm_hamjac_reinit_russo_3d',t0,info) + + #if __KIND == __SINGLE_PRECISION END SUBROUTINE ppm_hamjac_reinit_russo_3ds #elif __KIND == __DOUBLE_PRECISION diff --git a/src/ppm_mg_solv.f b/src/ppm_mg_solv.f index eec243bb3f7ddf8f985f32ad8ff7c8f90e4d578c..e0c247218ec30b4a9455bd0b0398112a3c43169d 100644 --- a/src/ppm_mg_solv.f +++ b/src/ppm_mg_solv.f @@ -584,8 +584,6 @@ ENDIF uc_dummy(:,:,:,:)=0.0_MK #endif - CALL ppm_map_field_ghost_init(topoid,mesh_id_g(i),& - & ghostsize,info) #if __MESH_DIM == __2D iopt = ppm_param_dealloc ldl3(1) = 1-ghostsize(1) @@ -659,8 +657,6 @@ ENDIF uc_dummy(:,:,:,:,:)=0.0_MK #endif - CALL ppm_map_field_ghost_init(topoid,mesh_id_g(i),& - & ghostsize,info) #if __MESH_DIM == __2D iopt = ppm_param_dealloc ldl4(1) = 1-ghostsize(1)