copy_atomic_basis Subroutine

private pure subroutine copy_atomic_basis(source, dest)

Deep copy of atomic basis data from source to dest

Arguments

Type IntentOptional Attributes Name
type(atomic_basis_type), intent(in) :: source
type(atomic_basis_type), intent(out) :: dest

Calls

proc~~copy_atomic_basis~~CallsGraph proc~copy_atomic_basis copy_atomic_basis proc~allocate_basis_shells atomic_basis_type%allocate_basis_shells proc~copy_atomic_basis->proc~allocate_basis_shells proc~cgto_allocate_arrays cgto_type%cgto_allocate_arrays proc~copy_atomic_basis->proc~cgto_allocate_arrays

Called by

proc~~copy_atomic_basis~~CalledByGraph proc~copy_atomic_basis copy_atomic_basis proc~build_molecular_basis build_molecular_basis proc~build_molecular_basis->proc~copy_atomic_basis

Variables

Type Visibility Attributes Name Initial
integer, private :: ishell

Source Code

   pure subroutine copy_atomic_basis(source, dest)
      !! Deep copy of atomic basis data from source to dest
      type(atomic_basis_type), intent(in) :: source
      type(atomic_basis_type), intent(out) :: dest
      integer :: ishell

      dest%element = source%element
      call dest%allocate_shells(source%nshells)

      do ishell = 1, source%nshells
         dest%shells(ishell)%ang_mom = source%shells(ishell)%ang_mom
         call dest%shells(ishell)%allocate_arrays(source%shells(ishell)%nfunc)
         dest%shells(ishell)%exponents = source%shells(ishell)%exponents
         dest%shells(ishell)%coefficients = source%shells(ishell)%coefficients
      end do

   end subroutine copy_atomic_basis