Skip to content
Snippets Groups Projects
Commit f2da6847 authored by Omar Awile's avatar Omar Awile
Browse files

3D code working.

2D code fixed to have a double thread layer, this needs finishing

code cleanup still needed!
parent ccb25b7e
No related branches found
No related tags found
No related merge requests found
......@@ -838,6 +838,7 @@
DO i=1,nsubs
isub=topo%isublist(i)
ext(:,i,mlev) = mesh%nnodes(:,isub)
istart(:,i,mlev) = mesh%istart(:,isub)
DO j=1,ppm_dim
IF (maxndata(j,mlev).LT.ext(j,i,mlev)) THEN
maxndata(j,mlev)=ext(j,i,mlev)
......
This diff is collapsed.
......@@ -47,19 +47,27 @@
CALL forthread_barrier_wait(ppm_smooth_comm_barrier_start,info)
CALL ppm_map_field_ghost_get(f%topoid,f%meshid,f%ghostsize,mapinfo)
SELECT CASE(f%ftype)
CASE (ppm_type_single)
CALL ppm_map_field_push(f%topoid,f%meshid,f%fdata_s,mapinfo)
IF ((f%fdim.EQ.2).AND.(f%ftype.EQ.ppm_type_single)) THEN
CALL ppm_map_field_push(f%topoid,f%meshid,f%fdata_2s,mapinfo)
CALL ppm_map_field_send(mapinfo)
CALL ppm_map_field_pop(f%topoid,f%meshid,f%fdata_s,f%ghostsize,&
CALL ppm_map_field_pop(f%topoid,f%meshid,f%fdata_2s,f%ghostsize,&
& mapinfo)
CASE (ppm_type_double)
CALL ppm_map_field_push(f%topoid,f%meshid,f%fdata_d,mapinfo)
ELSEIF ((f%fdim.EQ.2).AND.(f%ftype.EQ.ppm_type_double)) THEN
CALL ppm_map_field_push(f%topoid,f%meshid,f%fdata_2d,mapinfo)
CALL ppm_map_field_send(mapinfo)
CALL ppm_map_field_pop(f%topoid,f%meshid,f%fdata_d,f%ghostsize,&
CALL ppm_map_field_pop(f%topoid,f%meshid,f%fdata_2d,f%ghostsize,&
& mapinfo)
END SELECT
ELSEIF ((f%fdim.EQ.3).AND.(f%ftype.EQ.ppm_type_single)) THEN
CALL ppm_map_field_push(f%topoid,f%meshid,f%fdata_3s,mapinfo)
CALL ppm_map_field_send(mapinfo)
CALL ppm_map_field_pop(f%topoid,f%meshid,f%fdata_3s,f%ghostsize,&
& mapinfo)
ELSEIF ((f%fdim.EQ.3).AND.(f%ftype.EQ.ppm_type_double)) THEN
CALL ppm_map_field_push(f%topoid,f%meshid,f%fdata_3d,mapinfo)
CALL ppm_map_field_send(mapinfo)
CALL ppm_map_field_pop(f%topoid,f%meshid,f%fdata_3d,f%ghostsize,&
& mapinfo)
ENDIF
CALL forthread_barrier_wait(ppm_smooth_comm_barrier_stop,info)
ENDDO
......
This diff is collapsed.
#define __MPI
#define __FFTW
#define __Linux
......@@ -78,12 +78,15 @@ MODULE ppm_module_mg_smooth
! Types
!-----------------------------------------------------------------------------
TYPE ppm_t_smooth_comm_data
INTEGER :: topoid
INTEGER :: meshid
INTEGER, DIMENSION(:), POINTER :: ghostsize
INTEGER :: ftype
REAL(ppm_kind_single), DIMENSION(:,:,:), POINTER :: fdata_s
REAL(ppm_kind_double), DIMENSION(:,:,:), POINTER :: fdata_d
INTEGER :: topoid
INTEGER :: meshid
INTEGER, DIMENSION(:), POINTER :: ghostsize
INTEGER :: ftype
INTEGER :: fdim
REAL(ppm_kind_single), DIMENSION(:,:,:), POINTER :: fdata_2s
REAL(ppm_kind_double), DIMENSION(:,:,:), POINTER :: fdata_2d
REAL(ppm_kind_single), DIMENSION(:,:,:,:),POINTER :: fdata_3s
REAL(ppm_kind_double), DIMENSION(:,:,:,:),POINTER :: fdata_3d
END TYPE
!--------------------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment