init_collisional Subroutine

public subroutine init_collisional(gnostics)

FIXME : Add documentation
!calls every initiation routine we need: le_grids for integration, init_gs2 transforms to initiate fourier transforms routines... benefit: calls init_theta_grid, init_kt_grids, init_gs2_layouts and init_species for later use

!!! now need to initiate and assign hypervisc_filter

!!! allocate and initialize arrays

Arguments

Type IntentOptional Attributes Name
type(diagnostics_type), intent(inout) :: gnostics

Contents

Source Code


Source Code

  subroutine init_collisional(gnostics) 
    use kt_grids, only: naky, ntheta0, nx, ny
    use theta_grid, only: ntgrid
    use species, only: nspec
    use diagnostics_config, only: diagnostics_type
    use le_grids, only: init_le_grids, nlambda, negrid
    use gs2_transforms, only: init_transforms
    use gs2_layouts, only: g_lo, init_dist_fn_layouts
    use hyper, only: init_hyper
    use mp, only: nproc, iproc
    implicit none
    type(diagnostics_type), intent(inout) :: gnostics
    logical :: accel_x

    if(.not. gnostics%write_collisional .or. initialized) return
    initialized = .true.

!!!calls every initiation routine we need: le_grids for integration, init_gs2 transforms to initiate fourier transforms routines...
    
    ! benefit: calls init_theta_grid, init_kt_grids, init_gs2_layouts and init_species for later use
    call init_le_grids
    ! in order to use fft transform routines
    call init_transforms(ntgrid, naky, ntheta0, nlambda, negrid, nspec, nx, ny, accel_x)
    call init_dist_fn_layouts(ntgrid, naky, ntheta0, nlambda, negrid, nspec, nproc, iproc)

!!!!! now need to initiate and assign hypervisc_filter
    call init_hyper
    
!!!!! allocate and initialize arrays
    allocate(tot(-ntgrid:ntgrid,ntheta0,naky,nspec))
    allocate(g0(-ntgrid:ntgrid,2,g_lo%llim_proc:g_lo%ulim_alloc))
    
    allocate (coll_heating(ntheta0,naky))
    coll_heating=0.0
    
    allocate (coll_heating_2(ntheta0,naky))
    coll_heating_2=0.0
    
  end subroutine init_collisional