modify_IC Subroutine

public subroutine modify_IC()

Uses

  • proc~~modify_ic~~UsesGraph proc~modify_ic modify_IC module~mod_comm_lib mod_comm_lib proc~modify_ic->module~mod_comm_lib module~mod_geometry mod_geometry proc~modify_ic->module~mod_geometry module~mod_global_parameters mod_global_parameters proc~modify_ic->module~mod_global_parameters module~mod_usr_methods mod_usr_methods proc~modify_ic->module~mod_usr_methods module~mod_geometry->module~mod_comm_lib module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

modify initial condition

Arguments

None

Calls

proc~~modify_ic~~CallsGraph proc~modify_ic modify_IC proc~mpistop mpistop proc~modify_ic->proc~mpistop proc~sync_positions_host sync_positions_host proc~modify_ic->proc~sync_positions_host mpi_abort mpi_abort proc~mpistop->mpi_abort

Called by

proc~~modify_ic~~CalledByGraph proc~modify_ic modify_IC proc~main main proc~main->proc~modify_ic program~agile agile program~agile->proc~main

Source Code

    subroutine modify_IC
      use mod_usr_methods, only: usr_init_one_grid
      use mod_global_parameters
      use mod_geometry, only: sync_positions_host
      use mod_comm_lib, only: mpistop

      integer :: iigrid, igrid

    ! usr_init_one_grid reads ps(igrid)%x on the host
    call sync_positions_host()

    do iigrid=1,igridstail; igrid=igrids(iigrid);
       block=>ps(igrid)
       dxlevel(1)=rnode(rpdx1_,igrid);dxlevel(2)=rnode(rpdx2_,igrid)
       dxlevel(3)=rnode(rpdx3_,igrid);
  
       if (.not. associated(usr_init_one_grid)) then
          call mpistop("usr_init_one_grid not defined")
       else
          call usr_init_one_grid(ixGlo1,ixGlo2,ixGlo3,ixGhi1,ixGhi2,ixGhi3,&
             ixMlo1,ixMlo2,ixMlo3,ixMhi1,ixMhi2,ixMhi3,ps(igrid)%w,&
             ps(igrid)%x)
       end if
       ! 1:nwgc only - analytic extras past nwgc stay as read_snapshot and
       ! alloc_node left them (see initial_condition)
       
    end do

  end subroutine modify_IC