diff --git a/src/ppm_mg_alloc_bc.f b/src/ppm_mg_alloc_bc.f index bb6684541174e591db4f740f63bc91ac510d1db0..750409594fb5d4584a395cd7a1b1fe2670f98d6c 100644 --- a/src/ppm_mg_alloc_bc.f +++ b/src/ppm_mg_alloc_bc.f @@ -99,6 +99,8 @@ USE ppm_module_substop USE ppm_module_error USE ppm_module_alloc + USE ppm_module_write + IMPLICIT NONE #if __KIND == __SINGLE_PRECISION | __KIND == __SINGLE_PRECISION_COMPLEX diff --git a/src/ppm_mg_alloc_field.f b/src/ppm_mg_alloc_field.f index dcacdbf12b1ce7eacdaaca1bfa3e83af6eb16461..96348d4301ec914155db763fb060736d9861a83d 100644 --- a/src/ppm_mg_alloc_field.f +++ b/src/ppm_mg_alloc_field.f @@ -102,6 +102,8 @@ USE ppm_module_substart USE ppm_module_substop USE ppm_module_error + USE ppm_module_write + IMPLICIT NONE #if __KIND == __SINGLE_PRECISION | __KIND == __SINGLE_PRECISION_COMPLEX INTEGER, PARAMETER :: MK = ppm_kind_single diff --git a/src/ppm_mg_core.f b/src/ppm_mg_core.f index 17a49f813c6ec2becfafb8c1c6e4ba794653e6b0..a5268c0e5f1874efc9f11b7ba30a424e4287a71e 100644 --- a/src/ppm_mg_core.f +++ b/src/ppm_mg_core.f @@ -75,6 +75,7 @@ USE ppm_module_substop USE ppm_module_error USE ppm_module_alloc + USE ppm_module_write IMPLICIT NONE #if __KIND == __SINGLE_PRECISION INTEGER, PARAMETER :: MK = ppm_kind_single diff --git a/src/ppm_mg_finalize.f b/src/ppm_mg_finalize.f index abf4f73ed9549745501015c18ab3a72a77eb412c..af1e7c73bcc88775c18a53211331817226ee5fe2 100644 --- a/src/ppm_mg_finalize.f +++ b/src/ppm_mg_finalize.f @@ -94,6 +94,8 @@ USE ppm_module_substop USE ppm_module_error USE ppm_module_alloc + USE ppm_module_write + IMPLICIT NONE #if __KIND == __SINGLE_PRECISION | __KIND == __SINGLE_PRECISION_COMPLEX INTEGER, PARAMETER :: MK = ppm_kind_single diff --git a/src/ppm_mg_init.f b/src/ppm_mg_init.f index cf4fb73c0a0adaa85532102250c21121b0a35fc9..b15405128570abca0d2e9b6607e073ec1dc002ce 100644 --- a/src/ppm_mg_init.f +++ b/src/ppm_mg_init.f @@ -149,13 +149,13 @@ ! Modules !---------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mg USE ppm_module_mg_alloc USE ppm_module_alloc USE ppm_module_mg_alloc USE ppm_module_error - USE ppm_module_mesh_derive + USE ppm_module_write + USE ppm_module_mesh USE ppm_module_substart USE ppm_module_substop USE ppm_module_typedef diff --git a/src/ppm_mg_prolong.f b/src/ppm_mg_prolong.f index d130b14e79672a4f42335afd4b71ae1949f8bc83..8cd98b6339b486ade532c30995d36dc2b31145f4 100644 --- a/src/ppm_mg_prolong.f +++ b/src/ppm_mg_prolong.f @@ -92,6 +92,7 @@ USE ppm_module_substop USE ppm_module_error USE ppm_module_alloc + USE ppm_module_write IMPLICIT NONE #if __KIND == __SINGLE_PRECISION INTEGER, PARAMETER :: MK = ppm_kind_single diff --git a/src/ppm_mg_res_coarse.f b/src/ppm_mg_res_coarse.f index bfe6d1faaa553e5ea4fe0b402409366cd9e4afde..a45eaa79218b41317cd061ba12906f93f93d3512 100644 --- a/src/ppm_mg_res_coarse.f +++ b/src/ppm_mg_res_coarse.f @@ -90,7 +90,7 @@ !----------------------------------------------------------------------- USE ppm_module_data USE ppm_module_data_mg - + USE ppm_module_write USE ppm_module_substart USE ppm_module_substop USE ppm_module_error diff --git a/src/ppm_mg_res_fine.f b/src/ppm_mg_res_fine.f index c29375eeb1ed5a7f387b99fda51bc132e55132eb..f00f2708311c247fe14bf6e1d5eb42b86083770f 100644 --- a/src/ppm_mg_res_fine.f +++ b/src/ppm_mg_res_fine.f @@ -87,7 +87,7 @@ !----------------------------------------------------------------------- USE ppm_module_data USE ppm_module_data_mg - + USE ppm_module_write USE ppm_module_substart USE ppm_module_substop USE ppm_module_error diff --git a/src/ppm_mg_restrict.f b/src/ppm_mg_restrict.f index f5f635b3daa00d35d446a5ede537f277410e24b8..df23f927ec5f22c6facb20bde4851bd4c5870267 100644 --- a/src/ppm_mg_restrict.f +++ b/src/ppm_mg_restrict.f @@ -97,9 +97,12 @@ !----------------------------------------------------------------------- USE ppm_module_data USE ppm_module_data_mg - USE ppm_module_error + USE ppm_module_alloc USE ppm_module_substart USE ppm_module_substop + USE ppm_module_error + USE ppm_module_write + USE ppm_module_map IMPLICIT NONE #if __KIND == __SINGLE_PRECISION INTEGER, PARAMETER :: MK = ppm_kind_single @@ -274,14 +277,15 @@ ENDDO ENDDO ENDDO - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlevm1),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlevm1),uc_dummy,& + & info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlevm1),uc_dummy,& + & ghostsize,info) DO isub=1,nsubs terr=>mgfield(isub,mlevm1)%err pfc=>mgfield(isub,mlev)%fc @@ -352,14 +356,15 @@ ENDDO ENDDO ENDDO - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlevm1),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlevm1),uc_dummy,& + & info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlevm1),uc_dummy,& + & ghostsize,info) DO isub=1,nsubs @@ -477,14 +482,16 @@ ENDDO ENDDO ENDDO - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_pop,info) + + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlevm1),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlevm1),uc_dummy,& + & vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlevm1),uc_dummy,& + & vecdim,ghostsize,info) DO isub=1,nsubs terr=>mgfield(isub,mlevm1)%err pfc=>mgfield(isub,mlev)%fc @@ -573,14 +580,15 @@ ENDDO ENDDO ENDDO - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlevm1),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlevm1),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlevm1),uc_dummy,& + & vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlevm1),uc_dummy,& + & vecdim,ghostsize,info) DO isub=1,nsubs terr=>mgfield(isub,mlevm1)%err pfc=>mgfield(isub,mlev)%fc diff --git a/src/ppm_mg_smooth_coarse.f b/src/ppm_mg_smooth_coarse.f index 2c7afdbb143b876629e53a26a83b3312543d4ae7..fa82836f1356eefc4e8686751f483598e4e219d1 100644 --- a/src/ppm_mg_smooth_coarse.f +++ b/src/ppm_mg_smooth_coarse.f @@ -120,7 +120,8 @@ USE ppm_module_error USE ppm_module_alloc USE ppm_module_map - + USE ppm_module_data_mesh + USE ppm_module_write IMPLICIT NONE #if __KIND == __SINGLE_PRECISION INTEGER, PARAMETER :: MK = ppm_kind_single @@ -388,14 +389,16 @@ !---------------------------------------------------------------- !Communicate !---------------------------------------------------------------- - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & ghostsize,info) DO isub=1,nsubs tuc=>mgfield(isub,mlev)%uc tuc(:,:)=uc_dummy(& @@ -422,14 +425,15 @@ ENDIF ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & ghostsize,info) DO isub=1,nsubs tuc=>mgfield(isub,mlev)%uc tuc(:,:)=uc_dummy(& @@ -486,14 +490,15 @@ !---------------------------------------------------------------- !Communicate !---------------------------------------------------------------- - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & ghostsize,info) a=0 b=0 c=0 @@ -623,14 +628,15 @@ ENDIF ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & ghostsize,info) ENDIF DO isub=1,nsubs tuc=>mgfield(isub,mlev)%uc @@ -690,14 +696,15 @@ !---------------------------------------------------------------- !Communicate !---------------------------------------------------------------- - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,ghostsize,info) DO isub=1,nsubs tuc=>mgfield(isub,mlev)%uc tuc(:,:,:)=uc_dummy(& @@ -725,14 +732,15 @@ ENDIF ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,ghostsize,info) DO isub=1,nsubs tuc=>mgfield(isub,mlev)%uc tuc(:,:,:)=uc_dummy(& @@ -813,14 +821,15 @@ !---------------------------------------------------------------- !Communicate !---------------------------------------------------------------- - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,ghostsize,info) a=0 b=0 c=0 @@ -1006,14 +1015,15 @@ ENDIF ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),uc_dummy,& + & vecdim,ghostsize,info) DO isub=1,nsubs tuc=>mgfield(isub,mlev)%uc DO k=1-ghostsize(3),max_node(3,mlev)+ghostsize(3) diff --git a/src/ppm_mg_smooth_fine.f b/src/ppm_mg_smooth_fine.f index 7bbaafbc01cb11c8d2b7a4c5d41d612482972eb1..559ab9ca71e4f15e5147134ccbceb7487b35b462 100644 --- a/src/ppm_mg_smooth_fine.f +++ b/src/ppm_mg_smooth_fine.f @@ -114,7 +114,8 @@ USE ppm_module_error USE ppm_module_alloc USE ppm_module_map - + USE ppm_module_data_mesh + USE ppm_module_write IMPLICIT NONE #if __KIND == __SINGLE_PRECISION INTEGER, PARAMETER :: MK = ppm_kind_single @@ -353,14 +354,14 @@ dz=dz_d !---------------------------------------------------------------- !Communicate !---------------------------------------------------------------- - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,ghostsize,info) DO isub=1,nsubs DO j=start(2,isub,1),istop(2,isub,1) DO i=start(1,isub,1)+mod(j+color,2),istop(1,isub,1),2 @@ -373,14 +374,13 @@ dz=dz_d ENDDO !isub ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,ghostsize,info) ENDIF ENDDO @@ -481,14 +481,13 @@ dz=dz_d !Communicate red(even) if color==0 or communicate black(odd) !if color==1 !---------------------------------------------------------------- - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,ghostsize,info) DO isub=1,nsubs DO k=start(3,isub,1)+e(isub),istop(3,isub,1)-g(isub) DO j=start(2,isub,1)+c(isub),istop(2,isub,1)-d(isub) @@ -512,14 +511,13 @@ dz=dz_d ENDDO!subs ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,ghostsize,info) ENDIF ENDDO #endif @@ -535,14 +533,14 @@ dz=dz_d !Communicate red(even) if color==0 or communicate black(odd) !if color==1 !---------------------------------------------------------------- - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,& + & vecdim,ghostsize,info) DO isub=1,nsubs DO j=start(2,isub,1),istop(2,isub,1) DO i=start(1,isub,1)+mod(j+color,2),istop(1,isub,1),2 @@ -557,14 +555,14 @@ dz=dz_d ENDDO ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,& + & vecdim,ghostsize,info) ENDIF ENDDO #elif __MESH_DIM == __3D @@ -671,14 +669,14 @@ dz=dz_d !Communicate red(even) if color==0 or communicate black(odd) !if color==1 !---------------------------------------------------------------- - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,& + & vecdim,ghostsize,info) #ifdef __VECTOR DO isub=1,nsubs DO k=start(3,isub,1)+e(isub),istop(3,isub,1)-g(isub) @@ -747,14 +745,14 @@ dz=dz_d #endif ENDDO!DO color IF (isweep.EQ.nsweep) THEN - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_ghost_get,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_push,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_send,info) - CALL ppm_map_field_ghost(u,vecdim,topoid,mesh_id_g(mlev),& - & ghostsize,ppm_param_map_pop,info) + CALL ppm_map_field_ghost_get(topoid,mesh_id_g(mlev),& + & ghostsize,info) + CALL ppm_map_field_push(topoid,mesh_id_g(mlev),u,vecdim,info) + CALL ppm_map_field_send(info) + !TODO: I'm not 100% sure about that since the signature + !has been changed dramatically + CALL ppm_map_field_pop(topoid,mesh_id_g(mlev),u,& + & vecdim,ghostsize,info) ENDIF ENDDO iopt = ppm_param_dealloc diff --git a/src/ppm_mg_solv.f b/src/ppm_mg_solv.f index 9f57ebd2f62fa2fb613f653e46c0bb61c739ff30..eec243bb3f7ddf8f985f32ad8ff7c8f90e4d578c 100644 --- a/src/ppm_mg_solv.f +++ b/src/ppm_mg_solv.f @@ -121,7 +121,7 @@ !---------------------------------------------------------------------- USE ppm_module_data USE ppm_module_data_mg - + USE ppm_module_data_mesh USE ppm_module_substart USE ppm_module_substop USE ppm_module_error @@ -131,6 +131,7 @@ USE ppm_module_mg_res USE ppm_module_mg_prolong USE ppm_module_mg_smooth + USE ppm_module_write IMPLICIT NONE #ifdef __MPI INCLUDE 'mpif.h' @@ -583,8 +584,8 @@ ENDIF uc_dummy(:,:,:,:)=0.0_MK #endif - CALL ppm_map_field_ghost(uc_dummy,topoid,mesh_id_g(i),& - & ghostsize,ppm_param_map_init,info) + 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) @@ -658,8 +659,8 @@ ENDIF uc_dummy(:,:,:,:,:)=0.0_MK #endif - CALL ppm_map_field_ghost(uc_dummy,vecdim,topoid,mesh_id_g(i),& - & ghostsize,ppm_param_map_init,info) + 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) diff --git a/src/ppm_module_mg.f b/src/ppm_module_mg.f index 1fab5056a20083997fd39765ef7e1a0a4448dbe4..2b853a77b154bee11c9fddefca28d303c4d9b5f1 100644 --- a/src/ppm_module_mg.f +++ b/src/ppm_module_mg.f @@ -33,5 +33,11 @@ USE ppm_module_mg_init USE ppm_module_mg_solv USE ppm_module_mg_finalize + USE ppm_module_mg_alloc + USE ppm_module_mg_core + USE ppm_module_mg_prolong + USE ppm_module_mg_res + USE ppm_module_mg_restrict + USE ppm_module_mg_smooth END MODULE ppm_module_mg diff --git a/src/ppm_module_mg_init.f b/src/ppm_module_mg_init.f index 214e920ce264b068e16a1876d22223a5f2795642..ed91a64f97d73c9a07dc9375a2ea4d26cefb1a5f 100644 --- a/src/ppm_module_mg_init.f +++ b/src/ppm_module_mg_init.f @@ -1,23 +1,23 @@ -!------------------------------------------------------------------------- -! Module : ppm_module_mg_init -!------------------------------------------------------------------------- -! -! Purpose : module of the initialization routine -! -! -! Remarks : -! -! References : -! -! Revisions : -!------------------------------------------------------------------------- -! -!------------------------------------------------------------------------- -! Parallel Particle Mesh Library (PPM) -! Institute of Computational Science -! ETH Zentrum, Hirschengraben 84 -! CH-8092 Zurich, Switzerland -!------------------------------------------------------------------------- + !------------------------------------------------------------------------- + ! Module : ppm_module_mg_init + !------------------------------------------------------------------------- + ! + ! Purpose : module of the initialization routine + ! + ! + ! Remarks : + ! + ! References : + ! + ! Revisions : + !------------------------------------------------------------------------- + ! + !------------------------------------------------------------------------- + ! Parallel Particle Mesh Library (PPM) + ! Institute of Computational Science + ! ETH Zentrum, Hirschengraben 84 + ! CH-8092 Zurich, Switzerland + !------------------------------------------------------------------------- #define __SINGLE_PRECISION 1 @@ -29,30 +29,29 @@ #define __SFIELD 9 #define __VFIELD 10 -MODULE ppm_module_mg_init - !-------------------------------------------------------------------------- - !Modules - !----------------------------------------------------------------------------- - - - !----------------------------------------------------------------------------- - - INTERFACE ppm_mg_init - MODULE PROCEDURE ppm_mg_init_2d_sca_s - MODULE PROCEDURE ppm_mg_init_2d_sca_d - MODULE PROCEDURE ppm_mg_init_3d_sca_s - MODULE PROCEDURE ppm_mg_init_3d_sca_d - MODULE PROCEDURE ppm_mg_init_2d_vec_s - MODULE PROCEDURE ppm_mg_init_2d_vec_d - MODULE PROCEDURE ppm_mg_init_3d_vec_s - MODULE PROCEDURE ppm_mg_init_3d_vec_d - END INTERFACE - - !----------------------------------------------------------------------------- - ! INCLUDE THE SOURCES - !----------------------------------------------------------------------------- - -CONTAINS + MODULE ppm_module_mg_init + !----------------------------------------------------------------- + !Modules + !----------------------------------------------------------------- + + !----------------------------------------------------------------- + + INTERFACE ppm_mg_init + MODULE PROCEDURE ppm_mg_init_2d_sca_s + MODULE PROCEDURE ppm_mg_init_2d_sca_d + MODULE PROCEDURE ppm_mg_init_3d_sca_s + MODULE PROCEDURE ppm_mg_init_3d_sca_d + MODULE PROCEDURE ppm_mg_init_2d_vec_s + MODULE PROCEDURE ppm_mg_init_2d_vec_d + MODULE PROCEDURE ppm_mg_init_3d_vec_s + MODULE PROCEDURE ppm_mg_init_3d_vec_d + END INTERFACE + + !----------------------------------------------------------------- + ! INCLUDE THE SOURCES + !----------------------------------------------------------------- + + CONTAINS #define __DIM __SFIELD #define __MESH_DIM __2D #define __KIND __SINGLE_PRECISION @@ -98,6 +97,6 @@ CONTAINS #undef __DIM -END MODULE ppm_module_mg_init + END MODULE ppm_module_mg_init