module_grid.f90 Source File


This file depends on

sourcefile~~module_grid.f90~~EfferentGraph sourcefile~module_grid.f90 module_grid.f90 sourcefile~module_kinds.f90 module_kinds.f90 sourcefile~module_grid.f90->sourcefile~module_kinds.f90 sourcefile~module_element.f90 module_element.f90 sourcefile~module_grid.f90->sourcefile~module_element.f90 sourcefile~module_grid_function.f90 module_grid_function.f90 sourcefile~module_grid.f90->sourcefile~module_grid_function.f90 sourcefile~module_element.f90->sourcefile~module_kinds.f90 sourcefile~module_grid_function.f90->sourcefile~module_kinds.f90 sourcefile~module_grid_function.f90->sourcefile~module_element.f90

Files dependent on this one

sourcefile~~module_grid.f90~~AfferentGraph sourcefile~module_grid.f90 module_grid.f90 sourcefile~submodule_scalar_schw_implementation.f90 submodule_scalar_schw_implementation.f90 sourcefile~submodule_scalar_schw_implementation.f90->sourcefile~module_grid.f90 sourcefile~submodule_singular_observer_implementation.f90 submodule_singular_observer_implementation.f90 sourcefile~submodule_singular_observer_implementation.f90->sourcefile~module_grid.f90 sourcefile~test.f90 test.f90 sourcefile~test.f90->sourcefile~module_grid.f90 sourcefile~submodule_grid_implementation.f90 submodule_grid_implementation.f90 sourcefile~submodule_grid_implementation.f90->sourcefile~module_grid.f90 sourcefile~submodule_time_dependent_coordinate_implementation.f90 submodule_time_dependent_coordinate_implementation.f90 sourcefile~submodule_time_dependent_coordinate_implementation.f90->sourcefile~module_grid.f90

Contents

Source Code


Source Code

module grid
!! Module that defines the variables used to set up a grid for self-force
!! calculations. This also includes an initialization routine.

  use kinds
  use element
  use grid_function

  implicit none

  real(wp) :: rho_min
  !! The minimal coordinate point on the grid. With hyperboloidal coordinates
  !! this is the location of the horizon. Gets initialized to the value of the
  !! parameter [[parameters:Sminus]].
  real(wp) :: rho_max
  !! The maximal coordinate point on the grid. With hyperboloidal coordinates
  !! this is the location of scri+. Gets initialized so that the particle
  !! location is the center of the grid.
  real(wp) :: rho_particle
  !! The coordinate location of the center of the grid. When a particle is
  !! used it gets initialized to the tortoise coordinate location of the
  !! midpoint of the orbit. When a particle is not used it gets initialized
  !! to the value of the parameter [[parameters:r_center]] converted to
  !! tortoise coordinates.
  real(wp) :: Tminus
  !! The tortoise coordinate location of the inner boundary of the region
  !! where time dependent coordinates are used.
  real(wp) :: Tplus
  !! The tortoise coordinate location of the outer boundary of the region
  !! where time dependent coordinates are used.
  real(wp) :: delta_rho_min
  !! The smalles coordinate distance between any two DG nodes on the grid.
  type(rgf) :: rho
  !! A real grid function containing the computational coordinate,
  !!\(\rho\).
  type(rgf) :: drhodr
  !! A real grid function containing \(\frac{d\rho}{dr}\) where
  !! \(r\) is the node coordinates in the reference element (\(r\in[-1,1]\)).
  type(rgf) :: drdrho
  !! A real grid function containing \(\frac{dr}{d\rho}\).
  integer(ip), dimension(2) :: Tminus_ind
  !! A size 2 integer array containing the element indices of the two
  !! elements that border the lower boundery of the time dependent coordinate
  !! region.
  integer(ip), dimension(2) :: Tplus_ind
  !! A size 2 integer array containing the element indices of the two
  !! elements that border the upper boundery of the time dependent coordinate
  !! region.
  integer(ip), dimension(2) :: particle_element
  !! A size 2 integer array containing the element indices of the two
  !! elements that has the particle on their boundary.
  integer(ip), dimension(2) :: particle_node
  !! A size 2 integer array contining the node indeces of the particle
  !! location in the two elements that contain the particle.

  interface
    module subroutine init_grid_coordinates ( relem  )
    !! The routine that initializes the variables describing the grid.
    !!
    !! All values used to set up the grid are taken from the input
    !! parameters defined in [[parameters]].
      use DG_structures

      type(ref_element), intent(in) :: relem
      !! The reference element of the DG elements that is the building block
      !! for grid functions.
    end subroutine 
  end interface

end module grid