read_grid_root Subroutine

subroutine read_grid_root(indatsize, indatgrid, x)

ADJUST THE SIZES OF THE VARIABLES IF LX3ALL==1, SO THAT THE ALLOCATIONS ARE THE CORRECT SIZE use total number of processes since we only divide in one direction here... should divide evenly if generated from mpigrid COMMUNICATE THE GRID SIZE TO THE WORKERS SO THAT THEY CAN ALLOCATE SPACE if this is a root-only simulation we don't want to error out need to also pass the lx2all size to all workers to they know

normal (i.e. full 3D) grid ordering, or a 2D grid with 1 element naturally in the second dimension this is apparently a 2D grid, so the x2 and x3 dimensions have been/need to be swapped MZ - may need to change lx2-->lx2all??? Note there that the fortran arrays are the correct size, but the input data are not!!! This means tmp variable and permutes...

ALLOCATE SPACE FOR ROOTS SUBGRID GRAVITATIONAL FIELD SEND FULL X1 AND X2 GRIDS TO EACH WORKER (ONLY X3-DIM. IS INVOLVED IN THE MPI workers may need a copy of this, e.g. for boudnary conditions

NOW SEND THE INFO THAT DEPENDS ON X3 SLAB SIZE

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: indatsize
character(len=*), intent(in) :: indatgrid
type(curvmesh), intent(inout) :: x

Calls

proc~~read_grid_root~~CallsGraph proc~read_grid_root read_grid_root g1 g1 proc~read_grid_root->g1 interface~bcast_send3d_x2i bcast_send3D_x2i proc~read_grid_root->interface~bcast_send3d_x2i interface~bcast_send bcast_send proc~read_grid_root->interface~bcast_send interface~bcast_send3d_x3i bcast_send3D_x3i proc~read_grid_root->interface~bcast_send3d_x3i mpi_send mpi_send proc~read_grid_root->mpi_send g3 g3 proc~read_grid_root->g3 interface~bcast_send1d_3 bcast_send1D_3 proc~read_grid_root->interface~bcast_send1d_3 interface~bcast_send3d_ghost bcast_send3D_ghost proc~read_grid_root->interface~bcast_send3d_ghost g2 g2 proc~read_grid_root->g2 interface~bcast_send1d_2 bcast_send1D_2 proc~read_grid_root->interface~bcast_send1d_2 interface~get_grid3 get_grid3 proc~read_grid_root->interface~get_grid3 interface~bcast_send3d_x2i_23 bcast_send3D_x2i_23 interface~bcast_send3d_x2i->interface~bcast_send3d_x2i_23 interface~bcast_send3d_23 bcast_send3D_23 interface~bcast_send->interface~bcast_send3d_23 interface~bcast_send2d_23 bcast_send2D_23 interface~bcast_send->interface~bcast_send2d_23 interface~bcast_send4d_23 bcast_send4D_23 interface~bcast_send->interface~bcast_send4d_23 interface~bcast_send1d_23 bcast_send1D_23 interface~bcast_send->interface~bcast_send1d_23 interface~bcast_send3d_x3i_23 bcast_send3D_x3i_23 interface~bcast_send3d_x3i->interface~bcast_send3d_x3i_23 interface~bcast_send1d_23_3 bcast_send1D_23_3 interface~bcast_send1d_3->interface~bcast_send1d_23_3 interface~bcast_send3d_ghost_23 bcast_send3D_ghost_23 interface~bcast_send3d_ghost->interface~bcast_send3d_ghost_23 interface~bcast_send1d_23_2 bcast_send1D_23_2 interface~bcast_send1d_2->interface~bcast_send1d_23_2 proc~get_grid3 get_grid3 interface~get_grid3->proc~get_grid3 proc~bcast_send3d_23 bcast_send3D_23 interface~bcast_send3d_23->proc~bcast_send3d_23 proc~bcast_send2d_23 bcast_send2D_23 interface~bcast_send2d_23->proc~bcast_send2d_23 proc~bcast_send4d_23 bcast_send4D_23 interface~bcast_send4d_23->proc~bcast_send4d_23 proc~bcast_send1d_23_2 bcast_send1D_23_2 interface~bcast_send1d_23_2->proc~bcast_send1d_23_2 proc~bcast_send3d_x2i_23 bcast_send3D_x2i_23 interface~bcast_send3d_x2i_23->proc~bcast_send3d_x2i_23 proc~bcast_send3d_ghost_23 bcast_send3D_ghost_23 interface~bcast_send3d_ghost_23->proc~bcast_send3d_ghost_23 htmp htmp proc~get_grid3->htmp proc~bcast_send3d_x3i_23 bcast_send3D_x3i_23 interface~bcast_send3d_x3i_23->proc~bcast_send3d_x3i_23 proc~bcast_send1d_23_3 bcast_send1D_23_3 interface~bcast_send1d_23_3->proc~bcast_send1d_23_3 proc~bcast_send3d_x3i_23->mpi_send proc~slabinds slabinds proc~bcast_send3d_x3i_23->proc~slabinds proc~id2grid ID2grid proc~bcast_send1d_23_3->proc~id2grid proc~bcast_send1d_23_2->proc~id2grid proc~bcast_send4d_23->mpi_send proc~bcast_send4d_23->proc~slabinds proc~bcast_send3d_23->mpi_send proc~bcast_send3d_23->proc~slabinds proc~bcast_send2d_23->mpi_send proc~bcast_send2d_23->proc~slabinds proc~bcast_send3d_x2i_23->mpi_send proc~bcast_send3d_x2i_23->proc~slabinds proc~bcast_send3d_ghost_23->mpi_send proc~bcast_send3d_ghost_23->proc~slabinds proc~slabinds->proc~id2grid

Called by

proc~~read_grid_root~~CalledByGraph proc~read_grid_root read_grid_root proc~read_grid read_grid proc~read_grid->proc~read_grid_root interface~read_grid read_grid interface~read_grid->proc~read_grid program~magcalc MagCalc program~magcalc->interface~read_grid program~gemini3d Gemini3D program~gemini3d->interface~read_grid

Contents

None