photoionization Module

This module is for the calculation of Ionization rates via independent-atomic-center approximation



Derived Types

type, public ::  transitiondipolemoments

bound-continuum transition dipoles information (read-in from xatom)

Components

Type Visibility Attributes Name Initial
real(kind=long), public, allocatable :: energy(:)

energy

real(kind=long), public, allocatable :: trans_dipole(:,:)

transition dipole

integer, public, allocatable :: config(:,:)

atomic configuration

real(kind=long), public, allocatable :: pmin(:,:)

basis to min basis projection

real(kind=long), public, allocatable :: omin(:,:)

keeps the orbital expansion in minimal basis

real(kind=long), public, allocatable :: smin(:,:)

keeps the overlap matrix in minimal basis

integer, public, allocatable :: min_info(:,:)

info on minimal basis: min_info(:,1)=atom index min_info(:,2)=n min_info(:,3)=l min_info(:,4)=m


Subroutines

public subroutine calculate_photoionization_cs(p, a, b, f, s, fpath)

calculates photoionization cross sections based on orbital energies

Arguments

Type IntentOptional Attributes Name
type(param), intent(in) :: p
type(atom_set), intent(in) :: a(:)
type(basis), intent(in) :: b
type(wf_data), intent(in) :: f
type(process_data), intent(inout) :: s
character(len=*), intent(in), optional :: fpath(p%n_nuc)

Mar.19.2015: optional parameter that specifies tdipole-filepath to be read in

public subroutine calculate_photoionization_cs_spin(p, a, b, f, s, fpath)

calculates photoionization cross sections based on orbital energies resolving individual spin configurations

Arguments

Type IntentOptional Attributes Name
type(param), intent(in) :: p
type(atom_set), intent(in) :: a(:)
type(basis), intent(in) :: b
type(wf_data), intent(in) :: f
type(process_data), intent(inout) :: s
character(len=*), intent(in), optional :: fpath(p%n_nuc)

Mar.19.2015: optional parameter that specifies tdipole-filepath to be read in

public subroutine calculate_photoionization_cs_ci(p, a, b, f, g, fpath)

computes photoionizatio cross sections employing configuration interaction calculations

Arguments

Type IntentOptional Attributes Name
type(param), intent(in) :: p
type(atom_set), intent(in) :: a(:)
type(basis), intent(in) :: b
type(wf_data), intent(inout) :: f
type(grid3d), intent(in) :: g
character(len=*), intent(in), optional :: fpath(p%n_nuc)

Mar.19.2015: optiona

public subroutine calculate_photoionization_cs_spin_avg(p, a, b, f, s, fpath)

calculates photoionization cross sections based on orbital energies resolving individual spin configurations and averaging over configurations

Arguments

Type IntentOptional Attributes Name
type(param), intent(in) :: p
type(atom_set), intent(in) :: a(:)
type(basis), intent(in) :: b
type(wf_data), intent(in) :: f
type(process_data), intent(inout) :: s
character(len=*), intent(in), optional :: fpath(p%n_nuc)

Mar.19.2015: optional parameter that specifies tdipole-filepath to be read in

public subroutine shakeup_analysis(output, p, f)

performs an analysis of shakeup transitions based on mutual overlap of molecular orbitals

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: output
type(param), intent(in) :: p
type(wf_data), intent(in) :: f