Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine get_point_w(xp,wp,variable_type)! for given point (xp), provide the plasma parameters (wp) at this pointdouble precision::xp(1:ndim),wp(1:nw)character(*)::variable_typedouble precision::x3d(3)integer::indomain,ipe,igrid,jindomain=0if(xp(3)>=xprobmin3.and.xp(3)<xprobmax3)indomain=indomain+1if(xp(2)>=xprobmin2.and.xp(2)<xprobmax2)indomain=indomain+1if(xp(1)>=xprobmin1.and.xp(1)<xprobmax1)indomain=indomain+1if(indomain==ndim)then! find pe and igridx3d=0.d0do j=1,ndimx3d(j)=xp(j)enddo call find_particle_ipe(x3d,igrid,ipe)!do interpolation to get point valuesif(mype==ipe)then call get_point_w_ingrid(igrid,xp,wp,variable_type)endif call MPI_BCAST(wp,nw,MPI_DOUBLE_PRECISION,ipe,icomm,ierrmpi)endif end subroutine get_point_w