Octopus
|
Data Types | |
type | pes_mask_t |
Functions/Subroutines | |
subroutine, public | pes_mask_init (mask, namespace, space, mesh, box, st, ext_partners, abs_boundaries, max_iter, dt) |
subroutine, public | pes_mask_end (mask) |
subroutine | pes_mask_generate_lk (mask) |
subroutine | pes_mask_generate_filter (mask, cutOff) |
Generate the momentum-space filter. More... | |
subroutine | pes_mask_generate_mask (mask, namespace, mesh) |
Generate the mask function on the cubic mesh containing the simulation box. More... | |
subroutine, public | pes_mask_generate_mask_function (mask, namespace, mesh, shape, R, mask_sq) |
Generate the mask function on the cubic mesh containing the simulation box. More... | |
subroutine | pes_mask_apply_mask (mask, st) |
subroutine | pes_mask_volkov_time_evolution_wf (mask, space, mesh, kpoints, dt, iter, wf, ikpoint) |
Propagate in time a wavefunction in momentum space with the Volkov Hamiltonian. More... | |
subroutine, public | pes_mask_x_to_k (mask, wfin, wfout) |
Project the wavefunction on plane waves. More... | |
subroutine, public | pes_mask_k_to_x (mask, wfin, wfout) |
subroutine, public | pes_mask_mesh_to_cube (mask, mf, cf) |
subroutine, public | pes_mask_cube_to_mesh (mask, cf, mf) |
subroutine, public | pes_mask_calc (mask, namespace, space, mesh, st, kpoints, dt, iter) |
subroutine | flip_sign_lkpt_idx (dim, nk, idx) |
subroutine, public | pes_mask_pmesh (namespace, dim, kpoints, ll, LG, pmesh, idxZero, krng, Lp) |
subroutine, public | pes_mask_map_from_states (restart, st, ll, pesK, krng, Lp, istin) |
subroutine | pes_mask_map_from_state (restart, idx, ll, psiG) |
subroutine | pes_mask_output_states (namespace, space, st, gr, ions, dir, outp, mask) |
Write the photoelectron wavefunctions in real space. More... | |
subroutine | pes_mask_fullmap (mask, space, st, ik, pesK, wfAk) |
Calculates the momentum-resolved photoelectron probability. More... | |
subroutine | pes_mask_interpolator_init (namespace, pesK, Lk, ll, dim, cube_f, interp, pmesh) |
Qshep interpolation helper function initialization. Generates the linearized version of pesK (cube_f) and the associated qshep interpolator opbject (interp). More... | |
subroutine | pes_mask_interpolator_end (cube_f, interp) |
Destroy the interpolation objects. More... | |
subroutine, public | pes_mask_output_full_mapm (pesK, file, namespace, space, Lk, ll, how, mesh, pmesh) |
subroutine, public | pes_mask_output_full_mapm_cut (pesK, file, namespace, ll, dim, pol, dir, integrate, pos, Lk, pmesh) |
subroutine, public | pes_mask_output_ar_polar_m (pesK, file, namespace, Lk, ll, dim, dir, Emax, Estep) |
subroutine, public | pes_mask_output_ar_plane_m (pesK, file, namespace, Lk, ll, dim, dir, Emax, Estep) |
subroutine, public | pes_mask_output_ar_spherical_cut_m (pesK, file, namespace, Lk, ll, dim, dir, Emin, Emax, Estep) |
subroutine | pes_mask_write_2d_map (file, namespace, pesM, mode, xGrid, yGrid, vv, intSpan) |
Common interface to write 2D maps in gnuplot with header files for different objects. The modes are: More... | |
subroutine, public | pes_mask_output_power_totalm (pesK, file, namespace, Lk, ll, dim, Emax, Estep, interpolate) |
subroutine | pes_mask_write_power_total (file, namespace, step, pes, npoints) |
subroutine, public | pes_mask_output (mask, gr, st, outp, namespace, space, file, ions, iter) |
This routine is the main routine dedicated to the output of PES data. More... | |
subroutine, public | pes_mask_read_info (dir, namespace, dim, Emax, Estep, ll, Lk, RR) |
Read pes info. More... | |
subroutine | pes_mask_write_info (mask, dir, namespace) |
Output pes info. More... | |
subroutine, public | pes_mask_dump (mask, namespace, restart, st, ierr) |
subroutine, public | pes_mask_load (mask, namespace, restart, st, ierr) |
subroutine | pes_mask_restart_map (mask, namespace, st, RR) |
Variables | |
integer, parameter, public | pes_mask_mode_mask = 1 |
integer, parameter, public | pes_mask_mode_backaction = 2 |
integer, parameter, public | pes_mask_mode_passive = 3 |
integer, parameter | pw_map_fft = 3 |
FFT - normally from fftw3. More... | |
integer, parameter | pw_map_nfft = 5 |
non-equispaced fft (NFFT) More... | |
integer, parameter | pw_map_pfft = 6 |
use PFFT More... | |
integer, parameter | pw_map_pnfft = 7 |
use PNFFT More... | |
integer, parameter | m_sin2 = 1 |
integer, parameter | m_step = 2 |
integer, parameter | m_erf = 3 |
integer, parameter | in = 1 |
integer, parameter | out = 2 |
integer, parameter, public | integrate_none = -1 |
integer, parameter, public | integrate_phi = 1 |
integer, parameter, public | integrate_theta = 2 |
integer, parameter, public | integrate_r = 3 |
integer, parameter, public | integrate_kx = 4 |
integer, parameter, public | integrate_ky = 5 |
integer, parameter, public | integrate_kz = 6 |
subroutine, public pes_mask_oct_m::pes_mask_init | ( | type(pes_mask_t), intent(out) | mask, |
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
type(mesh_t), intent(in), target | mesh, | ||
class(box_t), intent(in) | box, | ||
type(states_elec_t), intent(in) | st, | ||
type(partner_list_t), intent(in) | ext_partners, | ||
type(absorbing_boundaries_t), intent(in) | abs_boundaries, | ||
integer, intent(in) | max_iter, | ||
real(real64), intent(in) | dt | ||
) |
Definition at line 276 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_end | ( | type(pes_mask_t), intent(inout) | mask | ) |
Definition at line 868 of file pes_mask.F90.
|
private |
Definition at line 900 of file pes_mask.F90.
|
private |
Generate the momentum-space filter.
Definition at line 919 of file pes_mask.F90.
|
private |
Generate the mask function on the cubic mesh containing the simulation box.
Definition at line 963 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_generate_mask_function | ( | type(pes_mask_t), intent(inout) | mask, |
type(namespace_t), intent(in) | namespace, | ||
type(mesh_t), intent(in) | mesh, | ||
integer, intent(in) | shape, | ||
real(real64), dimension(2), intent(in) | R, | ||
real(real64), dimension(:,:,:), intent(out), optional | mask_sq | ||
) |
Generate the mask function on the cubic mesh containing the simulation box.
Definition at line 980 of file pes_mask.F90.
|
private |
Definition at line 1092 of file pes_mask.F90.
|
private |
Propagate in time a wavefunction in momentum space with the Volkov Hamiltonian.
\[ Hv=(p - A/c)^2/2 \]
the time evolution becomes
\[ \psi(p,t+dt)=<p|Uv(dt)|\psi(t)> = exp(-i(p-A/c)^2/2 dt) \psi(p,t) \]
with
Definition at line 1138 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_x_to_k | ( | type(pes_mask_t), intent(in) | mask, |
complex(real64), dimension(:,:,:), intent(inout) | wfin, | ||
complex(real64), dimension(:,:,:), intent(out) | wfout | ||
) |
Project the wavefunction on plane waves.
Definition at line 1197 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_k_to_x | ( | type(pes_mask_t), intent(in) | mask, |
complex(real64), dimension(:,:,:), intent(inout) | wfin, | ||
complex(real64), dimension(:,:,:), intent(out) | wfout | ||
) |
Definition at line 1258 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_mesh_to_cube | ( | type(pes_mask_t), intent(in) | mask, |
complex(real64), dimension(:), intent(in), contiguous | mf, | ||
type(cube_function_t), intent(inout) | cf | ||
) |
Definition at line 1314 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_cube_to_mesh | ( | type(pes_mask_t), intent(in) | mask, |
type(cube_function_t), intent(in) | cf, | ||
complex(real64), dimension(:), intent(out), contiguous | mf | ||
) |
Definition at line 1332 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_calc | ( | type(pes_mask_t), intent(inout) | mask, |
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
type(mesh_t), intent(in) | mesh, | ||
type(states_elec_t), intent(inout) | st, | ||
type(kpoints_t), intent(in) | kpoints, | ||
real(real64), intent(in) | dt, | ||
integer, intent(in) | iter | ||
) |
Definition at line 1354 of file pes_mask.F90.
|
private |
Definition at line 1523 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_pmesh | ( | type(namespace_t), intent(in) | namespace, |
integer, intent(in) | dim, | ||
type(kpoints_t), intent(inout) | kpoints, | ||
integer, dimension(:), intent(in) | ll, | ||
real(real64), dimension(:,:), intent(in) | LG, | ||
real(real64), dimension(:,:,:,:), intent(out) | pmesh, | ||
integer, dimension(:), intent(out) | idxZero, | ||
integer, dimension(:), intent(in) | krng, | ||
integer, dimension(1:ll(1),1:ll(2),1:ll(3),krng(1):krng(2),1:3), intent(inout) | Lp | ||
) |
[in] | ll | ll(1:dim): the dimensions of the mask-mesh |
[in] | lg | LG(1:maxval(ll),1:dim): the mask-mesh points |
[out] | pmesh | pmesh(i1,i2,i3,1:dim): contains the positions of point |
[out] | idxzero | The triplet identifying the zero of the coordinates |
[in] | krng | The range identifying the zero-weight path |
Definition at line 1556 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_map_from_states | ( | type(restart_t), intent(in) | restart, |
type(states_elec_t), intent(in) | st, | ||
integer, dimension(:), intent(in) | ll, | ||
real(real64), dimension(:,:,:,:), intent(out), target | pesK, | ||
integer, dimension(:), intent(in) | krng, | ||
integer, dimension(1:ll(1),1:ll(2),1:ll(3),krng(1):krng(2),1:3), intent(in) | Lp, | ||
integer, intent(in), optional | istin | ||
) |
Definition at line 1796 of file pes_mask.F90.
|
private |
Definition at line 1904 of file pes_mask.F90.
|
private |
Write the photoelectron wavefunctions in real space.
Definition at line 1930 of file pes_mask.F90.
|
private |
Calculates the momentum-resolved photoelectron probability.
\[ P(k) = \sum_i |\Psi_{B,i}(k)|^2 \]
Definition at line 2052 of file pes_mask.F90.
|
private |
Qshep interpolation helper function initialization. Generates the linearized version of pesK (cube_f) and the associated qshep interpolator opbject (interp).
Definition at line 2158 of file pes_mask.F90.
|
private |
Destroy the interpolation objects.
Definition at line 2259 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_output_full_mapm | ( | real(real64), dimension(:,:,:), intent(in) | pesK, |
character(len=*), intent(in) | file, | ||
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
real(real64), dimension(:,:), intent(in) | Lk, | ||
integer, dimension(:), intent(in) | ll, | ||
integer, intent(in) | how, | ||
class(mesh_t), intent(in) | mesh, | ||
real(real64), dimension(:,:,:,:), intent(in), optional | pmesh | ||
) |
Definition at line 2275 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_output_full_mapm_cut | ( | real(real64), dimension(:,:,:), intent(in) | pesK, |
character(len=*), intent(in) | file, | ||
type(namespace_t), intent(in) | namespace, | ||
integer, dimension(:), intent(in) | ll, | ||
integer, intent(in) | dim, | ||
real(real64), dimension(3), intent(in) | pol, | ||
integer, intent(in) | dir, | ||
integer, intent(in) | integrate, | ||
integer, dimension(3), intent(in), optional | pos, | ||
real(real64), dimension(:,:), intent(in), optional | Lk, | ||
real(real64), dimension(:,:,:,:), intent(in), optional | pmesh | ||
) |
Definition at line 2397 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_output_ar_polar_m | ( | real(real64), dimension(:,:,:), intent(in) | pesK, |
character(len=*), intent(in) | file, | ||
type(namespace_t), intent(in) | namespace, | ||
real(real64), dimension(:,:), intent(in) | Lk, | ||
integer, dimension(:), intent(in) | ll, | ||
integer, intent(in) | dim, | ||
real(real64), dimension(:), intent(in) | dir, | ||
real(real64), intent(in) | Emax, | ||
real(real64), intent(in) | Estep | ||
) |
Definition at line 2654 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_output_ar_plane_m | ( | real(real64), dimension(:,:,:), intent(in) | pesK, |
character(len=*), intent(in) | file, | ||
type(namespace_t), intent(in) | namespace, | ||
real(real64), dimension(:,:), intent(in) | Lk, | ||
integer, dimension(:), intent(in) | ll, | ||
integer, intent(in) | dim, | ||
real(real64), dimension(:), intent(in) | dir, | ||
real(real64), intent(in) | Emax, | ||
real(real64), intent(in) | Estep | ||
) |
Definition at line 2773 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_output_ar_spherical_cut_m | ( | real(real64), dimension(:,:,:), intent(in) | pesK, |
character(len=*), intent(in) | file, | ||
type(namespace_t), intent(in) | namespace, | ||
real(real64), dimension(:,:), intent(in) | Lk, | ||
integer, dimension(:), intent(in) | ll, | ||
integer, intent(in) | dim, | ||
real(real64), dimension(:), intent(in) | dir, | ||
real(real64), intent(in) | Emin, | ||
real(real64), intent(in) | Emax, | ||
real(real64), intent(in) | Estep | ||
) |
Definition at line 2903 of file pes_mask.F90.
|
private |
Common interface to write 2D maps in gnuplot with header files for different objects. The modes are:
[in] | xgrid | max min and step for the x axis |
[in] | ygrid | max min and step for the y axis |
[in] | vv | for mode=1,2 indicate the Zenith axis for mode 3 the cutting plane |
[in] | intspan | for integrated quantities indicate the integral region |
Definition at line 3032 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_output_power_totalm | ( | real(real64), dimension(:,:,:), intent(in) | pesK, |
character(len=*), intent(in) | file, | ||
type(namespace_t), intent(in) | namespace, | ||
real(real64), dimension(:,:), intent(in) | Lk, | ||
integer, dimension(:), intent(in) | ll, | ||
integer, intent(in) | dim, | ||
real(real64), intent(in) | Emax, | ||
real(real64), intent(in) | Estep, | ||
logical, intent(in) | interpolate | ||
) |
Definition at line 3174 of file pes_mask.F90.
|
private |
Definition at line 3320 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_output | ( | type(pes_mask_t), intent(inout) | mask, |
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(in) | st, | ||
type(output_t), intent(in) | outp, | ||
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
character(len=*), intent(in) | file, | ||
type(ions_t), intent(in) | ions, | ||
integer, intent(in) | iter | ||
) |
This routine is the main routine dedicated to the output of PES data.
Definition at line 3368 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_read_info | ( | character(len=*), intent(in) | dir, |
type(namespace_t), intent(in) | namespace, | ||
integer, intent(out) | dim, | ||
real(real64), intent(out) | Emax, | ||
real(real64), intent(out) | Estep, | ||
integer, dimension(:), intent(out) | ll, | ||
real(real64), dimension(:,:), intent(out), allocatable | Lk, | ||
real(real64), dimension(:), intent(out), allocatable | RR | ||
) |
Read pes info.
Definition at line 3498 of file pes_mask.F90.
|
private |
Output pes info.
Definition at line 3557 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_dump | ( | type(pes_mask_t), intent(in), target | mask, |
type(namespace_t), intent(in) | namespace, | ||
type(restart_t), intent(in) | restart, | ||
type(states_elec_t), intent(in) | st, | ||
integer, intent(out) | ierr | ||
) |
Definition at line 3602 of file pes_mask.F90.
subroutine, public pes_mask_oct_m::pes_mask_load | ( | type(pes_mask_t), intent(inout) | mask, |
type(namespace_t), intent(in) | namespace, | ||
type(restart_t), intent(in) | restart, | ||
type(states_elec_t), intent(inout) | st, | ||
integer, intent(out) | ierr | ||
) |
Definition at line 3697 of file pes_mask.F90.
|
private |
Definition at line 3778 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::pes_mask_mode_mask = 1 |
Definition at line 242 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::pes_mask_mode_backaction = 2 |
Definition at line 242 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::pes_mask_mode_passive = 3 |
Definition at line 242 of file pes_mask.F90.
|
private |
FFT - normally from fftw3.
Definition at line 247 of file pes_mask.F90.
|
private |
non-equispaced fft (NFFT)
Definition at line 247 of file pes_mask.F90.
|
private |
use PFFT
Definition at line 247 of file pes_mask.F90.
|
private |
use PNFFT
Definition at line 247 of file pes_mask.F90.
|
private |
Definition at line 253 of file pes_mask.F90.
|
private |
Definition at line 253 of file pes_mask.F90.
|
private |
Definition at line 253 of file pes_mask.F90.
|
private |
Definition at line 258 of file pes_mask.F90.
|
private |
Definition at line 258 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::integrate_none = -1 |
Definition at line 262 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::integrate_phi = 1 |
Definition at line 262 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::integrate_theta = 2 |
Definition at line 262 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::integrate_r = 3 |
Definition at line 262 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::integrate_kx = 4 |
Definition at line 262 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::integrate_ky = 5 |
Definition at line 262 of file pes_mask.F90.
integer, parameter, public pes_mask_oct_m::integrate_kz = 6 |
Definition at line 262 of file pes_mask.F90.