atomic_basis_destroy Subroutine

private pure subroutine atomic_basis_destroy(self)

Clean up allocated memory in an atomic basis

Type Bound

atomic_basis_type

Arguments

Type IntentOptional Attributes Name
class(atomic_basis_type), intent(inout) :: self

Calls

proc~~atomic_basis_destroy~~CallsGraph proc~atomic_basis_destroy atomic_basis_type%atomic_basis_destroy proc~cgto_destroy cgto_type%cgto_destroy proc~atomic_basis_destroy->proc~cgto_destroy

Called by

proc~~atomic_basis_destroy~~CalledByGraph proc~atomic_basis_destroy atomic_basis_type%atomic_basis_destroy proc~basis_set_destroy molecular_basis_type%basis_set_destroy proc~basis_set_destroy->proc~atomic_basis_destroy proc~build_molecular_basis build_molecular_basis proc~build_molecular_basis->proc~atomic_basis_destroy proc~fragment_destroy physical_fragment_t%fragment_destroy proc~fragment_destroy->proc~basis_set_destroy proc~fragment_set_basis physical_fragment_t%fragment_set_basis proc~fragment_set_basis->proc~basis_set_destroy proc~compute_gmbe compute_gmbe proc~compute_gmbe->proc~fragment_destroy proc~process_intersection_derivatives process_intersection_derivatives proc~compute_gmbe->proc~process_intersection_derivatives proc~displaced_geometry_destroy displaced_geometry_t%displaced_geometry_destroy proc~displaced_geometry_destroy->proc~fragment_destroy proc~gmbe_pie_coordinator gmbe_pie_coordinator proc~gmbe_pie_coordinator->proc~fragment_destroy proc~map_fragment_to_system_dipole_derivatives map_fragment_to_system_dipole_derivatives proc~map_fragment_to_system_dipole_derivatives->proc~fragment_destroy proc~map_fragment_to_system_gradient map_fragment_to_system_gradient proc~map_fragment_to_system_gradient->proc~fragment_destroy proc~map_fragment_to_system_hessian map_fragment_to_system_hessian proc~map_fragment_to_system_hessian->proc~fragment_destroy proc~node_worker node_worker proc~node_worker->proc~fragment_destroy proc~process_intersection_derivatives->proc~fragment_destroy proc~serial_fragment_processor serial_fragment_processor proc~serial_fragment_processor->proc~fragment_destroy proc~compute_mbe compute_mbe proc~serial_fragment_processor->proc~compute_mbe proc~serial_gmbe_pie_processor serial_gmbe_pie_processor proc~serial_gmbe_pie_processor->proc~fragment_destroy interface~node_worker node_worker interface~node_worker->proc~node_worker interface~serial_fragment_processor serial_fragment_processor interface~serial_fragment_processor->proc~serial_fragment_processor proc~compute_mbe->proc~map_fragment_to_system_dipole_derivatives proc~compute_mbe->proc~map_fragment_to_system_gradient proc~compute_mbe->proc~map_fragment_to_system_hessian proc~compute_mbe_dipole_derivatives compute_mbe_dipole_derivatives proc~compute_mbe->proc~compute_mbe_dipole_derivatives proc~compute_mbe_gradient compute_mbe_gradient proc~compute_mbe->proc~compute_mbe_gradient proc~compute_mbe_hessian compute_mbe_hessian proc~compute_mbe->proc~compute_mbe_hessian proc~compute_mbe_dipole_derivatives->proc~map_fragment_to_system_dipole_derivatives proc~compute_mbe_gradient->proc~map_fragment_to_system_gradient proc~compute_mbe_hessian->proc~map_fragment_to_system_hessian proc~gmbe_run_distributed gmbe_context_t%gmbe_run_distributed proc~gmbe_run_distributed->proc~gmbe_pie_coordinator proc~gmbe_run_distributed->interface~node_worker proc~gmbe_run_serial gmbe_context_t%gmbe_run_serial proc~gmbe_run_serial->proc~serial_gmbe_pie_processor proc~global_coordinator global_coordinator proc~global_coordinator->proc~compute_mbe proc~mbe_run_distributed mbe_context_t%mbe_run_distributed proc~mbe_run_distributed->interface~node_worker proc~mbe_run_serial mbe_context_t%mbe_run_serial proc~mbe_run_serial->interface~serial_fragment_processor

Variables

Type Visibility Attributes Name Initial
integer, private :: i

Source Code

   pure subroutine atomic_basis_destroy(self)
      !! Clean up allocated memory in an atomic basis
      class(atomic_basis_type), intent(inout) :: self
      integer :: i

      if (allocated(self%shells)) then
         do i = 1, self%nshells
            call self%shells(i)%destroy()
         end do
         deallocate (self%shells)
      end if
      if (allocated(self%element)) deallocate (self%element)
      self%nshells = 0
   end subroutine atomic_basis_destroy