fill_gridvars_default Subroutine

public subroutine fill_gridvars_default()

Uses

  • proc~~fill_gridvars_default~~UsesGraph proc~fill_gridvars_default fill_gridvars_default module~mod_global_parameters mod_global_parameters proc~fill_gridvars_default->module~mod_global_parameters module~mod_usr_methods mod_usr_methods proc~fill_gridvars_default->module~mod_usr_methods 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

This routine fills the particle grid variables with the default for mhd, i.e. only E and B

Arguments

None

Calls

proc~~fill_gridvars_default~~CallsGraph proc~fill_gridvars_default fill_gridvars_default proc~fields_from_mhd fields_from_mhd proc~fill_gridvars_default->proc~fields_from_mhd phys_to_primitive phys_to_primitive proc~fields_from_mhd->phys_to_primitive proc~particle_get_current particle_get_current proc~fields_from_mhd->proc~particle_get_current proc~curlvector curlvector proc~particle_get_current->proc~curlvector dcos dcos proc~curlvector->dcos dsin dsin proc~curlvector->dsin proc~mpistop mpistop proc~curlvector->proc~mpistop mpi_abort mpi_abort proc~mpistop->mpi_abort

Called by

proc~~fill_gridvars_default~~CalledByGraph proc~fill_gridvars_default fill_gridvars_default proc~gca_fill_gridvars gca_fill_gridvars proc~gca_fill_gridvars->proc~fill_gridvars_default proc~lorentz_fill_gridvars lorentz_fill_gridvars proc~lorentz_fill_gridvars->proc~fill_gridvars_default

Source Code

  subroutine fill_gridvars_default
    use mod_global_parameters
    use mod_usr_methods, only: usr_particle_fields

    integer :: igrid, iigrid
    double precision :: E(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3, ndir)
    double precision :: B(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3, ndir)

    do iigrid=1,igridstail; igrid=igrids(iigrid);
      if (associated(usr_particle_fields)) then ! FILL ONLY E AND B
        call usr_particle_fields(ps(igrid)%w, ps(igrid)%x, E, B)
        gridvars(igrid)%w(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3,ep(:)) = E
        gridvars(igrid)%w(ixGlo1:ixGhi1,ixGlo2:ixGhi2,ixGlo3:ixGhi3,bp(:)) = B
      else
        call fields_from_mhd(igrid, ps(igrid)%w, gridvars(igrid)%w)
      end if
    end do

  end subroutine fill_gridvars_default