fill inner boundary values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| double precision, | intent(in) | :: | time | |||
| integer, | intent(in) | :: | ixGmin1 | |||
| integer, | intent(in) | :: | ixGmin2 | |||
| integer, | intent(in) | :: | ixGmin3 | |||
| integer, | intent(in) | :: | ixGmax1 | |||
| integer, | intent(in) | :: | ixGmax2 | |||
| integer, | intent(in) | :: | ixGmax3 |
subroutine getintbc(time,ixGmin1,ixGmin2,ixGmin3,ixGmax1,ixGmax2,ixGmax3) use mod_usr_methods, only: usr_internal_bc use mod_global_parameters use mod_geometry, only: sync_positions_host double precision, intent(in) :: time integer, intent(in) :: ixGmin1,ixGmin2,ixGmin3,ixGmax1,ixGmax2,& ixGmax3 integer :: iigrid, igrid, ixOmin1,ixOmin2,ixOmin3,ixOmax1,ixOmax2,ixOmax3 ixOmin1=ixGmin1+nghostcells;ixOmin2=ixGmin2+nghostcells ixOmin3=ixGmin3+nghostcells;ixOmax1=ixGmax1-nghostcells ixOmax2=ixGmax2-nghostcells;ixOmax3=ixGmax3-nghostcells; ! usr_internal_bc reads ps(igrid)%x on the host if (associated(usr_internal_bc)) call sync_positions_host() do iigrid=1,igridstail_active; igrid=igrids_active(iigrid); block=>ps(igrid) dxlevel(1)=rnode(rpdx1_,igrid);dxlevel(2)=rnode(rpdx2_,igrid) dxlevel(3)=rnode(rpdx3_,igrid); if (associated(usr_internal_bc)) then call usr_internal_bc(node(plevel_,igrid),time,ixGmin1,ixGmin2,& ixGmin3,ixGmax1,ixGmax2,ixGmax3,ixOmin1,ixOmin2,ixOmin3,ixOmax1,& ixOmax2,ixOmax3,ps(igrid)%w,ps(igrid)%x) end if end do end subroutine getintbc