diff --git a/src/ppm_fdsolver_init.f b/src/ppm_fdsolver_init.f index eafb8386dc0809c6ff116ad3a79352cc16e85aba..2dd3b65a2362412e0a76c0ac60cf05b782bf5de9 100644 --- a/src/ppm_fdsolver_init.f +++ b/src/ppm_fdsolver_init.f @@ -138,7 +138,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_mktopo USE ppm_module_typedef USE ppm_module_data_fieldsolver diff --git a/src/ppm_fdsolver_solve_2d.f b/src/ppm_fdsolver_solve_2d.f index 3c1fde2eaffdd9aab9ca20946d3bfa95ac80b82c..a0286b4c6e3ec6b449c86aa69f0b7193cdf1f79e 100644 --- a/src/ppm_fdsolver_solve_2d.f +++ b/src/ppm_fdsolver_solve_2d.f @@ -182,7 +182,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_substart USE ppm_module_substop USE ppm_module_write diff --git a/src/ppm_fdsolver_solve_3d.f b/src/ppm_fdsolver_solve_3d.f index 49bd31c4845f16557566f62b77dec5462e3fe181..023acef21c9383cec9b889f5022e67c5394d71cd 100644 --- a/src/ppm_fdsolver_solve_3d.f +++ b/src/ppm_fdsolver_solve_3d.f @@ -231,7 +231,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_mktopo USE ppm_module_mesh_define USE ppm_module_fdsolver_map diff --git a/src/ppm_gmm_cpt.f b/src/ppm_gmm_cpt.f index 3c776cfdbc15fcb2a15ae778ce3881b2ab293afe..45bf371d6b9deffe1bf1f8e3c8eb9a57286d27db 100644 --- a/src/ppm_gmm_cpt.f +++ b/src/ppm_gmm_cpt.f @@ -34,7 +34,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_gmm_kickoff USE ppm_module_substart diff --git a/src/ppm_gmm_extend.f b/src/ppm_gmm_extend.f index be93c7ee37173dc99bb3433e66bc024463ee7127..39633ae7a79667902cd45a141d010f3c7c9aab70 100644 --- a/src/ppm_gmm_extend.f +++ b/src/ppm_gmm_extend.f @@ -95,7 +95,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_gmm_init USE ppm_module_gmm_cpt diff --git a/src/ppm_gmm_extend_bkwd.f b/src/ppm_gmm_extend_bkwd.f index 000a3cad49ace12b5709c94afb1bc765e7fe34eb..ab20544af6c6f832a076f92bacf29e56f5eba263 100644 --- a/src/ppm_gmm_extend_bkwd.f +++ b/src/ppm_gmm_extend_bkwd.f @@ -32,7 +32,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_gmm_extend_fwd.f b/src/ppm_gmm_extend_fwd.f index fc0c3fa596bcd708a23978ebe65c3ff4a1c50fae..454223d80d3027c8cfab3b83f8dda071c23789fd 100644 --- a/src/ppm_gmm_extend_fwd.f +++ b/src/ppm_gmm_extend_fwd.f @@ -32,7 +32,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_gmm_init.f b/src/ppm_gmm_init.f index c5d2539c10a8438c57e4009bccc0a0abb0eb830c..aba8414cd1308b83043cfa6a4cb0a487546f1ff1 100644 --- a/src/ppm_gmm_init.f +++ b/src/ppm_gmm_init.f @@ -17,7 +17,7 @@ !------------------------------------------------------------------------- USE ppm_module_data USE ppm_module_data_gmm - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_typedef IMPLICIT NONE diff --git a/src/ppm_gmm_kickoff.f b/src/ppm_gmm_kickoff.f index 3e91839f42b24a430b8befe88fe5852f2a67121d..e82f328ec2cac66f5c8c2634120ceceb41526f33 100644 --- a/src/ppm_gmm_kickoff.f +++ b/src/ppm_gmm_kickoff.f @@ -59,7 +59,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_gmm_march.f b/src/ppm_gmm_march.f index ae8f11f1172faad4447de5d2ce70a0b40a8f7537..3ab930e773ec3b4d086bf9a1abd4b6e8e611fc08 100644 --- a/src/ppm_gmm_march.f +++ b/src/ppm_gmm_march.f @@ -60,7 +60,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_gmm_march_fwd USE ppm_module_gmm_march_bkwd diff --git a/src/ppm_gmm_march_bkwd.f b/src/ppm_gmm_march_bkwd.f index 8ebfadcdabb1fe88169142bf5e42a783e3caf5b2..3c1d149d5e14c5f864f195b119b1d22c742e9c5f 100644 --- a/src/ppm_gmm_march_bkwd.f +++ b/src/ppm_gmm_march_bkwd.f @@ -32,7 +32,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_typedef USE ppm_module_substart diff --git a/src/ppm_gmm_march_fwd.f b/src/ppm_gmm_march_fwd.f index 7450ec3bed8d2da6daa0e7c8302bb0de8f4bdab5..67db1aa719df34e7fdb1acefdab2b7819e0db1ae 100644 --- a/src/ppm_gmm_march_fwd.f +++ b/src/ppm_gmm_march_fwd.f @@ -32,7 +32,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_gmm_reinitialize.f b/src/ppm_gmm_reinitialize.f index 0aa79837607018b69a24c44831d9acc0ffd3effd..3cbf198b2721c8c44a356d93fba11a885eed079b 100644 --- a/src/ppm_gmm_reinitialize.f +++ b/src/ppm_gmm_reinitialize.f @@ -38,7 +38,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_gmm USE ppm_module_gmm_init USE ppm_module_gmm_kickoff diff --git a/src/ppm_hamjac_ext_3d.f b/src/ppm_hamjac_ext_3d.f index 09733333612f5ad09a17a43282ff0b46e7d75af9..f1b35f0eec6c33f47cd09b5bae4c9e9582db9ae2 100644 --- a/src/ppm_hamjac_ext_3d.f +++ b/src/ppm_hamjac_ext_3d.f @@ -57,7 +57,7 @@ ! Modules !------------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_substart USE ppm_module_substop USE ppm_module_error diff --git a/src/ppm_hamjac_ext_step_3d.f b/src/ppm_hamjac_ext_step_3d.f index 733cd5e0987a6bc7d29928da9eb7b51778405a86..8da44b787a5623a6b83bddfad19f20fa1d9cf7a2 100644 --- a/src/ppm_hamjac_ext_step_3d.f +++ b/src/ppm_hamjac_ext_step_3d.f @@ -54,7 +54,7 @@ #endif #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_substart USE ppm_module_substop USE ppm_module_error diff --git a/src/ppm_hamjac_reinit_2d.f b/src/ppm_hamjac_reinit_2d.f index 1eeeb0116defce01a6f36c70cc2a2a8d71cc0100..925ce53cb36e079f9bc404ec8775bed4702aa689 100644 --- a/src/ppm_hamjac_reinit_2d.f +++ b/src/ppm_hamjac_reinit_2d.f @@ -45,7 +45,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_write USE ppm_module_substart diff --git a/src/ppm_hamjac_reinit_3d.f b/src/ppm_hamjac_reinit_3d.f index 9dad18d6334c3eadebfd684c11b9696ff0a1c2a4..a88701662775afdeafbf3677744d09072bf81ab6 100644 --- a/src/ppm_hamjac_reinit_3d.f +++ b/src/ppm_hamjac_reinit_3d.f @@ -54,7 +54,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_write USE ppm_module_substart diff --git a/src/ppm_hamjac_reinit_loc_3d.f b/src/ppm_hamjac_reinit_loc_3d.f index 9878e44f7e23024a094d82300ed6ad320e39cf9a..c3ccc867b4cd2a2ab38660ee9c11031c8aa9b931 100644 --- a/src/ppm_hamjac_reinit_loc_3d.f +++ b/src/ppm_hamjac_reinit_loc_3d.f @@ -54,7 +54,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_write USE ppm_module_substart diff --git a/src/ppm_hamjac_reinit_loc_step_3d.f b/src/ppm_hamjac_reinit_loc_step_3d.f index d1b449d2a6def32843bf034c000893229ad8c59e..9dc4c7ae24807a786296d0d66ee9f1d4ef695b22 100644 --- a/src/ppm_hamjac_reinit_loc_step_3d.f +++ b/src/ppm_hamjac_reinit_loc_step_3d.f @@ -53,7 +53,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_hamjac_reinit_ref_3d.f b/src/ppm_hamjac_reinit_ref_3d.f index 8d822bf8114106c7554a57009be27f7ea1bdc126..4734d4bf8f6bae4bb9b3cf7db8ea653043baa0d6 100644 --- a/src/ppm_hamjac_reinit_ref_3d.f +++ b/src/ppm_hamjac_reinit_ref_3d.f @@ -45,7 +45,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_write USE ppm_module_substart diff --git a/src/ppm_hamjac_reinit_russo_3d.f b/src/ppm_hamjac_reinit_russo_3d.f index b4f9d1f5c2225881e123d1b82e3d112f12b37bb8..e00e29dd82fd6cf0ffb8562caa7a204c5cf9baaf 100644 --- a/src/ppm_hamjac_reinit_russo_3d.f +++ b/src/ppm_hamjac_reinit_russo_3d.f @@ -45,7 +45,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_write USE ppm_module_substart diff --git a/src/ppm_hamjac_reinit_russo_step_3d.f b/src/ppm_hamjac_reinit_russo_step_3d.f index 079b6fc6ae69062ceb708f262381c15600de828c..212cf76221a7c54981cb327877c027169b17dd66 100644 --- a/src/ppm_hamjac_reinit_russo_step_3d.f +++ b/src/ppm_hamjac_reinit_russo_step_3d.f @@ -45,7 +45,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_hamjac_reinit_step_2d.f b/src/ppm_hamjac_reinit_step_2d.f index cce894a3dd8a368fb3c2fd531adcdff148fe58eb..3edac699a5d64b88200a8375e790a20235c20931 100644 --- a/src/ppm_hamjac_reinit_step_2d.f +++ b/src/ppm_hamjac_reinit_step_2d.f @@ -44,7 +44,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_hamjac_reinit_step_3d.f b/src/ppm_hamjac_reinit_step_3d.f index c21f0537974d745edbd6d38bec19913fdc4f218b..e67a95b707cbb1382ad904a9ef16421b9d2dd8a9 100644 --- a/src/ppm_hamjac_reinit_step_3d.f +++ b/src/ppm_hamjac_reinit_step_3d.f @@ -53,7 +53,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_hamjac_reinit_step_ref_3d.f b/src/ppm_hamjac_reinit_step_ref_3d.f index 6c65762681ed766492bfcc9649b55047bc571b6b..70168f06fd2c5e7cfbf4fa260d60f3b9b8c61fb8 100644 --- a/src/ppm_hamjac_reinit_step_ref_3d.f +++ b/src/ppm_hamjac_reinit_step_ref_3d.f @@ -48,7 +48,7 @@ #endif USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_error USE ppm_module_substart USE ppm_module_substop diff --git a/src/ppm_mg_init.f b/src/ppm_mg_init.f index 647fd3aecef8fe607e6305ceade3e378ed5d69d3..cf4fb73c0a0adaa85532102250c21121b0a35fc9 100644 --- a/src/ppm_mg_init.f +++ b/src/ppm_mg_init.f @@ -149,7 +149,7 @@ ! Modules !---------------------------------------------------------------------- USE ppm_module_data - USE ppm_module_data_mesh + USE ppm_module_data_mg USE ppm_module_mg_alloc USE ppm_module_alloc @@ -908,9 +908,9 @@ ldl3(1) = 1-ghostsize(1) ldl3(2) = 1-ghostsize(2) ldl3(3) = 1-ghostsize(3) - ldu3(1) = ppm_cart_mesh(meshid,topoid)%nnodes(1,idom)+ghostsize(1) - ldu3(2) = ppm_cart_mesh(meshid,topoid)%nnodes(2,idom)+ghostsize(2) - ldu3(3) = ppm_cart_mesh(meshid,topoid)%nnodes(3,idom)+ghostsize(3) + ldu3(1) = mesh%nnodes(1,idom)+ghostsize(1) + ldu3(2) = mesh%nnodes(2,idom)+ghostsize(2) + ldu3(3) = mesh%nnodes(3,idom)+ghostsize(3) CALL ppm_alloc(mgfield(i,mlev)%uc,ldl3,ldu3,iopt,info) IF (info .NE. 0) THEN info = ppm_error_fatal @@ -921,9 +921,9 @@ tuc=>mgfield(i,mlev)%uc tuc=0.0_MK iopt = ppm_param_alloc_fit - ldu3(1) = ppm_cart_mesh(meshid,topoid)%nnodes(1,idom) - ldu3(2) = ppm_cart_mesh(meshid,topoid)%nnodes(2,idom) - ldu3(3) = ppm_cart_mesh(meshid,topoid)%nnodes(3,idom) + ldu3(1) = mesh%nnodes(1,idom) + ldu3(2) = mesh%nnodes(2,idom) + ldu3(3) = mesh%nnodes(3,idom) CALL ppm_alloc(mgfield(i,mlev)%fc,ldu3,iopt,info) IF (info .NE. 0) THEN info = ppm_error_fatal @@ -936,9 +936,9 @@ ldl3(1) = 1-ghostsize(1) ldl3(2) = 1-ghostsize(2) ldl3(3) = 1-ghostsize(3) - ldu3(1) = ppm_cart_mesh(meshid,topoid)%nnodes(1,idom)+ghostsize(1) - ldu3(2) = ppm_cart_mesh(meshid,topoid)%nnodes(2,idom)+ghostsize(2) - ldu3(3) = ppm_cart_mesh(meshid,topoid)%nnodes(3,idom)+ghostsize(3) + ldu3(1) = mesh%nnodes(1,idom)+ghostsize(1) + ldu3(2) = mesh%nnodes(2,idom)+ghostsize(2) + ldu3(3) = mesh%nnodes(3,idom)+ghostsize(3) CALL ppm_alloc(mgfield(i,mlev)%err,ldl3,ldu3,iopt,info) IF (info .NE. 0) THEN info = ppm_error_fatal diff --git a/src/ppm_mg_res_coarse.f b/src/ppm_mg_res_coarse.f index df1139ed57c708ad1a67723b8029e63bdcd43dc5..bfe6d1faaa553e5ea4fe0b402409366cd9e4afde 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_data_mesh + 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 e8d82e9395f04ce4465ca82136949be3cea1cf24..c29375eeb1ed5a7f387b99fda51bc132e55132eb 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_data_mesh + USE ppm_module_substart USE ppm_module_substop USE ppm_module_error diff --git a/src/ppm_mg_smooth_coarse.f b/src/ppm_mg_smooth_coarse.f index e9f6f627d9c8c9c4cff58ee5a2e1e866b740723c..2c7afdbb143b876629e53a26a83b3312543d4ae7 100644 --- a/src/ppm_mg_smooth_coarse.f +++ b/src/ppm_mg_smooth_coarse.f @@ -120,7 +120,7 @@ USE ppm_module_error USE ppm_module_alloc USE ppm_module_map - USE ppm_module_data_mesh + IMPLICIT NONE #if __KIND == __SINGLE_PRECISION INTEGER, PARAMETER :: MK = ppm_kind_single diff --git a/src/ppm_mg_smooth_fine.f b/src/ppm_mg_smooth_fine.f index 0ccef032ddf80f4d6df63e810c42bf79be098ee7..7bbaafbc01cb11c8d2b7a4c5d41d612482972eb1 100644 --- a/src/ppm_mg_smooth_fine.f +++ b/src/ppm_mg_smooth_fine.f @@ -114,7 +114,7 @@ USE ppm_module_error USE ppm_module_alloc USE ppm_module_map - USE ppm_module_data_mesh + IMPLICIT NONE #if __KIND == __SINGLE_PRECISION INTEGER, PARAMETER :: MK = ppm_kind_single diff --git a/src/ppm_mg_solv.f b/src/ppm_mg_solv.f index ef0adce1139f4ce0227f42bc7ae8a41978de1692..9f57ebd2f62fa2fb613f653e46c0bb61c739ff30 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 @@ -183,6 +183,7 @@ REAL(MK) :: gEu INTEGER :: MPI_PREC TYPE(ppm_t_topo), POINTER :: topo + TYPE(ppm_t_equi_mesh), POINTER :: mesh #if __MESH_DIM == __3D REAL(MK) :: c5,dz,rdz2 INTEGER,DIMENSION(4) :: ldl4,ldu4 @@ -267,6 +268,7 @@ ENDIF #endif topo => ppm_topo(topo_id)%t + mesh => topo%mesh(meshid_g(1)) !---------------------------------------------------------------------- ! Check arguments !---------------------------------------------------------------------- @@ -282,15 +284,15 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(u(:,:,i),1).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)+2*ghostsize(1)) THEN + IF (SIZE(u(:,:,i),1).LT.mesh%nnodes(1,idom)+ & + & 2*ghostsize(1)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(u(:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)+2*ghostsize(2)) THEN + IF (SIZE(u(:,:,i),2).LT.mesh%nnodes(2,idom) & + & +2*ghostsize(2)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in y-dir!',__LINE__,info) @@ -306,15 +308,13 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(f(:,:,i),1).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)) THEN + IF (SIZE(f(:,:,i),1).LT. mesh%nnodes(1,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(f(:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)) THEN + IF (SIZE(f(:,:,i),2).LT. mesh%nnodes(2,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in y-dir!',__LINE__,info) @@ -331,22 +331,22 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(u(:,:,:,i),1).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)+2*ghostsize(1)) THEN + IF (SIZE(u(:,:,:,i),1).LT.mesh%nnodes(1,idom)+ & + & 2*ghostsize(1)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(u(:,:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)+2*ghostsize(2)) THEN + IF (SIZE(u(:,:,:,i),2).LT.mesh%nnodes(2,idom)+ & + & 2*ghostsize(1)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in y-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(u(:,:,:,i),3).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(3,idom)+2*ghostsize(3)) THEN + IF (SIZE(u(:,:,:,i),3).LT.mesh%nnodes(3,idom)+ & + & 2*ghostsize(1)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in z-dir!',__LINE__,info) @@ -362,22 +362,19 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(f(:,:,:,i),1).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)) THEN + IF (SIZE(f(:,:,:,i),1).LT.mesh%nnodes(1,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(f(:,:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)) THEN + IF (SIZE(f(:,:,:,i),2).LT.mesh%nnodes(2,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in y-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(f(:,:,:,i),3).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(3,idom)) THEN + IF (SIZE(f(:,:,:,i),3).LT.mesh%nnodes(3,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in z-dir!',__LINE__,info) @@ -396,15 +393,13 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(u(:,:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)+2) THEN + IF (SIZE(u(:,:,:,i),2).LT.mesh%nnodes(1,idom)+2) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(u(:,:,:,i),3).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)+2) THEN + IF (SIZE(u(:,:,:,i),3).LT.mesh%nnodes(2,idom)+2) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in y-dir!',__LINE__,info) @@ -420,15 +415,13 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(f(:,:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)) THEN + IF (SIZE(f(:,:,:,i),2).LT.mesh%nnodes(1,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(f(:,:,:,i),3).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)) THEN + IF (SIZE(f(:,:,:,i),3).LT.mesh%nnodes(2,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in y-dir!',__LINE__,info) @@ -445,22 +438,22 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(u(:,:,:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)+2*ghostsize(1)) THEN + IF (SIZE(u(:,:,:,:,i),2).LT.mesh%nnodes(1,idom)+ & + & 2*ghostsize(1)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(u(:,:,:,:,i),3).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)+2*ghostsize(2)) THEN + IF (SIZE(u(:,:,:,:,i),3).LT.mesh%nnodes(2,idom)+ & + & 2*ghostsize(1)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in y-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(u(:,:,:,:,i),4).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(3,idom)+2*ghostsize(3)) THEN + IF (SIZE(u(:,:,:,:,i),4).LT.mesh%nnodes(3,idom)+ & + & 2*ghostsize(1)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'solution mess with mesh points in z-dir!',__LINE__,info) @@ -476,22 +469,19 @@ topoid=topo_id DO i=1,nsubs idom=topo%isublist(i) - IF (SIZE(f(:,:,:,:,i),2).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(1,idom)) THEN + IF (SIZE(f(:,:,:,:,i),2).LT.mesh%nnodes(1,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in x-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(f(:,:,:,:,i),3).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(2,idom)) THEN + IF (SIZE(f(:,:,:,:,i),3).LT.mesh%nnodes(2,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in y-dir!',__LINE__,info) GOTO 9999 ENDIF - IF (SIZE(f(:,:,:,:,i),4).LT.ppm_cart_mesh(meshid_g(1), & - & topoid)%nnodes(3,idom)) THEN + IF (SIZE(f(:,:,:,:,i),4).LT.mesh%nnodes(3,idom)) THEN info = ppm_error_error CALL ppm_error(ppm_err_argument,'ppm_mg_solv', & & 'rhs mess with mesh points in z-dir!',__LINE__,info) diff --git a/src/ppm_module_data_mesh.f b/src/ppm_module_data_mesh.f deleted file mode 100644 index 77fd8a9c9634174045573b22cab0f1817464123a..0000000000000000000000000000000000000000 --- a/src/ppm_module_data_mesh.f +++ /dev/null @@ -1,156 +0,0 @@ - !------------------------------------------------------------------------- - ! Module : ppm_module_data_mesh - !------------------------------------------------------------------------- - ! - ! Purpose : This module contains all data structures and - ! definitions that are PRIVATE to the mesh routines. - ! It also included those routines and provides - ! INTERFACEs. - ! - ! Remarks : The terminology distinguishes between meshes and - ! fields (the data living on the meshes). Several - ! fields can use the same mesh. Meshes are defined as - ! ppm-internal TYPES, whereas fields are - ! user-provided arrays. - ! - ! References : - ! - ! Revisions : - !------------------------------------------------------------------------- - ! $Log: ppm_module_data_mesh.f,v $ - ! Revision 1.1.1.1 2007/07/13 10:18:57 ivos - ! CBL version of the PPM library - ! - ! Revision 1.1 2004/07/26 07:28:18 ivos - ! Initial implementation. Originated from splitting the old ppm - ! modules. - ! - !------------------------------------------------------------------------- - ! Perallel Particle Mesh Library (PPM) - ! Institute of Computational Science - ! ETH Zentrum, Hirschengraben 84 - ! CH-8092 Zurich, Switzerland - !------------------------------------------------------------------------- - - MODULE ppm_module_data_mesh - - !---------------------------------------------------------------------- - ! Mesh TYPEs - !---------------------------------------------------------------------- - ! ppm-internal structure for equispaced cartesian meshes on subs - TYPE ppm_type_equi_mesh - ! topology ID (internal numbering) this mesh lives on - INTEGER :: topoid - ! The number of mesh NODES (not cells) in each direction in - ! each sub - INTEGER, DIMENSION(:,:), POINTER :: nnodes - ! Starting indices of the mesh of this sub in the global mesh - INTEGER, DIMENSION(:,:), POINTER :: istart - ! global number of mesh points in computational domain - INTEGER, DIMENSION(: ), POINTER :: Nm - END TYPE - - ! mesh lists with translation between user numbering and internal - ! numbering of mesh IDs - TYPE ppm_type_mesh_list - ! translation from internal to user numbers - INTEGER, DIMENSION(: ), POINTER :: user - ! translation from user numbers to internal ones - INTEGER, DIMENSION(: ), POINTER :: internal - END TYPE - - !---------------------------------------------------------------------- - ! Internal meshes - !---------------------------------------------------------------------- - ! first index: meshid (idea: several meshes can be defined on the same - ! topology at once, e.g. for multigrid solvers.), second: topoid - ! (internal numbering) - TYPE(ppm_type_equi_mesh), DIMENSION(:,:), POINTER :: ppm_cart_mesh - ! highest internal mesh ID available on each topology (internal - ! numbering) - INTEGER, DIMENSION(: ), POINTER :: ppm_max_meshid - ! number translation lists (user<-->internal) for each topology - TYPE(ppm_type_mesh_list), DIMENSION(: ), POINTER :: ppm_meshid - - !---------------------------------------------------------------------- - ! Mesh mapping, send and receive lists - !---------------------------------------------------------------------- - ! list of source subs to send from local processor (local sub number - ! on source processor) - INTEGER, DIMENSION(: ), POINTER :: ppm_mesh_isendfromsub - ! start (lower-left corner) of mesh block to be sent in GLOBAL - ! mesh coordinates. First index: x,y[,z], 2nd: isendlist - INTEGER, DIMENSION(:,:), POINTER :: ppm_mesh_isendblkstart - ! size (in grid points) of blocks to be sent - INTEGER, DIMENSION(:,:), POINTER :: ppm_mesh_isendblksize - ! list of destination subs to recv to on local processors (local sub - ! number on destination processor) - INTEGER, DIMENSION(: ), POINTER :: ppm_mesh_irecvtosub - ! start (lower-left corner) of mesh block to be recvd in GLOBAL - ! mesh coordinates. First index: x,y[,z], 2nd: isendlist - INTEGER, DIMENSION(:,:), POINTER :: ppm_mesh_irecvblkstart - ! size (in grid points) of blocks to be recvd - INTEGER, DIMENSION(:,:), POINTER :: ppm_mesh_irecvblksize - - ! define the target mesh id for mapping - INTEGER :: ppm_target_meshid = -1 - ! define the source mesh id for mapping - INTEGER :: ppm_source_meshid = -1 - ! define the target mesh id for the mapping - ! NOTICE: NOT the same variable as the ppm_target_topoid in the - ! module ppm_module_map - INTEGER :: ppm_target_topoid = -1 - - !---------------------------------------------------------------------- - ! Mesh ghosts mappings - !---------------------------------------------------------------------- - ! list of source subs of ghost mesh blocks (globel sub number). - ! These are the owner subs of the actual real mesh points - ! 1st index: meshblock ID, 2nd: meshid (internal numbering), 3rd: - ! topoid (internal numbering) - INTEGER, DIMENSION(:,:,:), POINTER :: ppm_mesh_ghost_fromsub - ! list of target subs of ghost mesh blocks (globel sub number). - ! These are the subs a block will serve as a ghost on. - ! 1st index: meshblock ID, 2nd: meshid (internal numbering), 3rd: - ! topoid (internal numbering) - INTEGER, DIMENSION(:,:,:), POINTER :: ppm_mesh_ghost_tosub - ! start (lower-left corner) of ghost mesh block in GLOBAL - ! mesh coordinates. First index: x,y[,z], 2nd: meshblock ID, 3rd: - ! meshid (internal numbering), 4th: topoid (internal numbering) - INTEGER, DIMENSION(:,:,:,:), POINTER :: & - & ppm_mesh_ghost_blkstart - ! size (in grid points) of ghost blocks. 1st index: x,y[,z], 2nd: - ! meshblock ID, 3rd: meshid (internal numbering), 4th: topoid - ! (internal numbering) - INTEGER, DIMENSION(:,:,:,:), POINTER :: ppm_mesh_ghost_blksize - ! mesh ghost block list. 1st index: target processor, 2nd: meshid - ! (internal numbering), 3rd: topoid (internal numbering) - INTEGER, DIMENSION(:,:,:) , POINTER :: ppm_mesh_ghost_blk - ! number of mesh blocks to be sent as ghosts. 1st: meshid, 2nd: - ! topoid (both internal numbering) - INTEGER, DIMENSION(:,:) , POINTER :: ppm_mesh_ghost_nsend - ! number of mesh blocks to be recvd as ghosts. 1st: meshid, 2nd: - ! topoid (both internal numbering) - INTEGER, DIMENSION(:,:) , POINTER :: ppm_mesh_ghost_nrecv - ! list of target subs for ghost mesh blocks to be received, - ! i.e. being ghost on the local processor (globel sub number). - ! These are the subs where the blocks will serve as ghosts - ! 1st index: meshblock ID, 2nd: meshid (internal numbering), 3rd: - ! topoid (internal numbering) - INTEGER, DIMENSION(:,:,:), POINTER :: & - & ppm_mesh_ghost_recvtosub - ! start (lower-left corner) of received ghost mesh block in GLOBAL - ! mesh coordinates. First index: x,y[,z], 2nd: meshblock ID, 3rd: - ! meshid (internal numbering), 4th: topoid (internal numbering) - INTEGER, DIMENSION(:,:,:,:), POINTER :: & - & ppm_mesh_ghost_recvblkstart - ! size (in grid points) of recvd ghost blocks. 1st index: x,y[,z], 2nd: - ! meshblock ID, 3rd: meshid (internal numbering), 4th: topoid - ! (internal numbering) - INTEGER, DIMENSION(:,:,:,:), POINTER :: & - & ppm_mesh_ghost_recvblksize - ! mesh ghost block receive list. 1st index: target processor, 2nd: - ! meshid (internal numbering), 3rd: topoid (internal numbering) - INTEGER, DIMENSION(:,:,:) , POINTER :: ppm_mesh_ghost_recvblk - - END MODULE ppm_module_data_mesh