dealloc_state Subroutine

private subroutine dealloc_state(igrid, s, dealloc_x)

Uses

  • proc~~dealloc_state~3~~UsesGraph proc~dealloc_state~3 dealloc_state module~mod_global_parameters mod_global_parameters proc~dealloc_state~3->module~mod_global_parameters 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

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
type(state) :: s
logical, intent(in) :: dealloc_x

Called by

proc~~dealloc_state~3~~CalledByGraph proc~dealloc_state~3 dealloc_state proc~dealloc_node~3 dealloc_node proc~dealloc_node~3->proc~dealloc_state~3

Source Code

  subroutine dealloc_state(igrid, s,dealloc_x)
    use mod_global_parameters
    integer, intent(in) :: igrid
    type(state) :: s
    logical, intent(in) :: dealloc_x
  
    deallocate(s%w)
    if(stagger_grid) then
      deallocate(s%ws)
      if(record_electric_field) deallocate(s%we)
    end if
    if(dealloc_x) then
      if(nw_extra>0) deallocate(s%wextra)
      ! the geometry in bgeo outlives the block, only drop the views on it
      nullify(s%x,s%ds,s%dvolume,s%surfaceC,s%dx)
      deallocate(s%is_physical_boundary)
      if(B0field) then
        deallocate(s%B0)
        deallocate(s%J0)
      end if
      if(number_equi_vars > 0) then
        deallocate(s%equi_vars)
      end if
    else
      nullify(s%x,s%dx,s%ds,s%dvolume,s%surfaceC)
      nullify(s%is_physical_boundary)
      if(B0field) nullify(s%B0,s%J0)
      if(number_equi_vars > 0) then
        nullify(s%equi_vars)
      end if
      if(nw_extra>0) nullify(s%wextra)
    end if
  end subroutine dealloc_state