Octopus
|
Data Types | |
type | spectrum_t |
Functions/Subroutines | |
subroutine, public | spectrum_init (spectrum, namespace, default_energy_step, default_max_energy) |
subroutine, public | spectrum_cross_section_tensor (spectrum, namespace, out_file, in_file) |
subroutine | spectrum_cross_section_tensor_write (out_file, sigma, nspin, energy_step, min_energy, energy_steps, kick) |
subroutine, public | spectrum_cross_section (spectrum, namespace, in_file, out_file, ref_file) |
subroutine | spectrum_read_dipole (namespace, in_file, dipole) |
subroutine | spectrum_add_pcm_dipole (namespace, dipole, time_steps, nspin) |
subroutine | spectrum_times_pcm_epsilon (spectrum, pcm, dipole, sigma, nspin, istart, iend, kick_time, dt, no_e) |
subroutine | spectrum_over_pcm_refraction_index (spectrum, pcm, sigma, nspin, no_e) |
subroutine, public | spectrum_dipole_power (spectrum, namespace, in_file, out_file) |
subroutine, public | spectrum_dyn_structure_factor (spectrum, namespace, in_file_sin, in_file_cos, out_file) |
subroutine, public | spectrum_rotatory_strength (spectrum, namespace, in_file, out_file) |
subroutine, public | spectrum_hsfunction_init (dt, is, ie, niter, acc) |
subroutine, public | spectrum_hsfunction_end |
subroutine, public | spectrum_hsfunction_min (namespace, aa, bb, omega_min, func_min) |
subroutine | hsfunction (omega, power) |
subroutine | spectrum_hsfunction_ar_init (dt, is, ie, niter, acc, pos, tret) |
subroutine | spectrum_hsfunction_ar_end |
subroutine, public | spectrum_hs_ar_from_acc (spectrum, namespace, out_file, vec, w0) |
subroutine, public | spectrum_hs_ar_from_mult (spectrum, namespace, out_file, vec, w0) |
subroutine, public | spectrum_hs_from_mult (spectrum, namespace, out_file, pol, vec, w0) |
subroutine, public | spectrum_hs_from_acc (spectrum, namespace, out_file, pol, vec, w0) |
subroutine, public | spectrum_hs_from_current (spectrum, namespace, out_file, pol, vec, w0) |
subroutine | spectrum_hs (spectrum, namespace, out_file, pol, w0) |
subroutine | spectrum_hs_output (spectrum, namespace, out_file, pol, no_e, sp) |
subroutine, public | spectrum_mult_info (namespace, iunit, nspin, kick, time_steps, dt, file_units, lmax) |
subroutine, public | spectrum_count_time_steps (namespace, iunit, time_steps, dt) |
subroutine | spectrum_cross_section_info (namespace, iunit, nspin, kick, energy_steps, dw) |
subroutine | spectrum_tdfile_info (namespace, fname, iunit, time_steps, dt) |
subroutine, public | spectrum_fix_time_limits (spectrum, time_steps, dt, istart, iend, ntiter) |
subroutine, public | spectrum_signal_damp (damp_type, damp_factor, time_start, time_end, t0, time_step, time_function) |
subroutine, public | spectrum_fourier_transform (method, transform, noise, time_start, time_end, t0, time_step, time_function, energy_start, energy_end, energy_step, energy_function) |
Computes the sine, cosine, (or "exponential") Fourier transform of the real function given in the time_function batch. More... | |
subroutine | spectrum_sigma_diagonalize (namespace, sigma, nspin, energy_step, min_energy, energy_steps, kick) |
pure integer function, public | spectrum_nenergy_steps (spectrum) |
subroutine | spectrum_write_info (spectrum, out_file) |
Variables | |
integer, parameter, public | spectrum_damp_none = 0 |
integer, parameter, public | spectrum_damp_lorentzian = 1 |
integer, parameter, public | spectrum_damp_polynomial = 2 |
integer, parameter, public | spectrum_damp_gaussian = 3 |
integer, parameter, public | spectrum_damp_sin = 4 |
integer, parameter, public | spectrum_transform_laplace = 1 |
integer, parameter, public | spectrum_transform_sin = 2 |
integer, parameter, public | spectrum_transform_cos = 3 |
integer, parameter, public | spectrum_absorption = 1 |
integer, parameter, public | spectrum_energyloss = 2 |
integer, parameter, public | spectrum_p_power = 3 |
integer, parameter, public | spectrum_rotatory = 4 |
integer, parameter, public | spectrum_fourier = 1 |
integer, parameter, public | spectrum_compressed_sensing = 2 |
integer | niter_ |
Module variables, necessary to compute the function hsfunction, called by the C function loct_1dminimize. More... | |
real(real64) | time_step_ |
real(real64) | energy_step_ |
complex(real64), dimension(:), allocatable | func_ |
complex(real64), dimension(:,:), allocatable | func_ar_ |
complex(real64), dimension(:,:), allocatable | pos_ |
complex(real64), dimension(:), allocatable | tret_ |
complex(real64), dimension(:), allocatable | funcw_ |
type(fft_t), save | fft_handler |
integer | is_ |
integer | ie_ |
integer | default |
subroutine, public spectrum_oct_m::spectrum_init | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
real(real64), intent(in), optional | default_energy_step, | ||
real(real64), intent(in), optional | default_max_energy | ||
) |
Definition at line 212 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_cross_section_tensor | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
integer, intent(in) | out_file, | ||
integer, dimension(:), intent(in) | in_file | ||
) |
Definition at line 429 of file spectrum.F90.
|
private |
[in] | sigma | (3, 3, energy_steps, nspin) already converted to units |
[in] | kick | if present, will write itself and nspin |
Definition at line 592 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_cross_section | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
integer, intent(in) | in_file, | ||
integer, intent(in) | out_file, | ||
integer, intent(in), optional | ref_file | ||
) |
Definition at line 709 of file spectrum.F90.
|
private |
Definition at line 910 of file spectrum.F90.
|
private |
Definition at line 941 of file spectrum.F90.
|
private |
Definition at line 1060 of file spectrum.F90.
|
private |
Definition at line 1124 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_dipole_power | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
integer, intent(in) | in_file, | ||
integer, intent(in) | out_file | ||
) |
Definition at line 1153 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_dyn_structure_factor | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
integer, intent(in) | in_file_sin, | ||
integer, intent(in) | in_file_cos, | ||
integer, intent(in) | out_file | ||
) |
Definition at line 1261 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_rotatory_strength | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
integer, intent(in) | in_file, | ||
integer, intent(in) | out_file | ||
) |
Definition at line 1414 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hsfunction_init | ( | real(real64), intent(in) | dt, |
integer, intent(in) | is, | ||
integer, intent(in) | ie, | ||
integer, intent(in) | niter, | ||
complex(real64), dimension(:), intent(in) | acc | ||
) |
Definition at line 1533 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hsfunction_end |
Definition at line 1568 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hsfunction_min | ( | type(namespace_t), intent(in) | namespace, |
real(real64), intent(in) | aa, | ||
real(real64), intent(in) | bb, | ||
real(real64), intent(out) | omega_min, | ||
real(real64), intent(out) | func_min | ||
) |
Definition at line 1582 of file spectrum.F90.
|
private |
Definition at line 1649 of file spectrum.F90.
|
private |
Definition at line 1693 of file spectrum.F90.
|
private |
Definition at line 1718 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hs_ar_from_acc | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
character(len=*), intent(in) | out_file, | ||
real(real64), dimension(:), intent(in) | vec, | ||
real(real64), intent(in), optional | w0 | ||
) |
Definition at line 1731 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hs_ar_from_mult | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
character(len=*), intent(in) | out_file, | ||
real(real64), dimension(:), intent(in) | vec, | ||
real(real64), intent(in), optional | w0 | ||
) |
Definition at line 1838 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hs_from_mult | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
character(len=*), intent(in) | out_file, | ||
character, intent(in) | pol, | ||
real(real64), dimension(:), intent(in) | vec, | ||
real(real64), intent(in), optional | w0 | ||
) |
Definition at line 1931 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hs_from_acc | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
character(len=*), intent(in) | out_file, | ||
character, intent(in) | pol, | ||
real(real64), dimension(:), intent(in) | vec, | ||
real(real64), intent(in), optional | w0 | ||
) |
Definition at line 2050 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_hs_from_current | ( | type(spectrum_t), intent(inout) | spectrum, |
type(namespace_t), intent(in) | namespace, | ||
character(len=*), intent(in) | out_file, | ||
character, intent(in) | pol, | ||
real(real64), dimension(:), intent(in) | vec, | ||
real(real64), intent(in), optional | w0 | ||
) |
Definition at line 2151 of file spectrum.F90.
|
private |
Definition at line 2250 of file spectrum.F90.
|
private |
Definition at line 2306 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_mult_info | ( | type(namespace_t), intent(in) | namespace, |
integer, intent(in) | iunit, | ||
integer, intent(out) | nspin, | ||
type(kick_t), intent(out) | kick, | ||
integer, intent(out) | time_steps, | ||
real(real64), intent(out) | dt, | ||
type(unit_system_t), intent(out) | file_units, | ||
integer, intent(out), optional | lmax | ||
) |
Definition at line 2341 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_count_time_steps | ( | type(namespace_t), intent(in) | namespace, |
integer, intent(in) | iunit, | ||
integer, intent(out) | time_steps, | ||
real(real64), intent(out) | dt | ||
) |
Definition at line 2385 of file spectrum.F90.
|
private |
[out] | dw | energy step |
Definition at line 2421 of file spectrum.F90.
|
private |
Definition at line 2459 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_fix_time_limits | ( | type(spectrum_t), intent(inout) | spectrum, |
integer, intent(in) | time_steps, | ||
real(real64), intent(in) | dt, | ||
integer, intent(out) | istart, | ||
integer, intent(out) | iend, | ||
integer, intent(out) | ntiter | ||
) |
Definition at line 2507 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_signal_damp | ( | integer, intent(in) | damp_type, |
real(real64), intent(in) | damp_factor, | ||
integer, intent(in) | time_start, | ||
integer, intent(in) | time_end, | ||
real(real64), intent(in) | t0, | ||
real(real64), intent(in) | time_step, | ||
type(batch_t), intent(inout) | time_function | ||
) |
Definition at line 2551 of file spectrum.F90.
subroutine, public spectrum_oct_m::spectrum_fourier_transform | ( | integer, intent(in) | method, |
integer, intent(in) | transform, | ||
real(real64), intent(in) | noise, | ||
integer, intent(in) | time_start, | ||
integer, intent(in) | time_end, | ||
real(real64), intent(in) | t0, | ||
real(real64), intent(in) | time_step, | ||
type(batch_t), intent(in) | time_function, | ||
real(real64), intent(in) | energy_start, | ||
real(real64), intent(in) | energy_end, | ||
real(real64), intent(in) | energy_step, | ||
type(batch_t), intent(inout) | energy_function | ||
) |
Computes the sine, cosine, (or "exponential") Fourier transform of the real function given in the time_function batch.
The initial and final integration times are given by time_start and time_end, whereas the initial and final computed energies are given by energy_start and energy_end. The result is placed in the energy_function batch. The cosine Fourier function is computed by multiplying the real function by \( \cos(w*(t-t0)) \), the sine Fourier transform is computed by multiplying the real function by \( \sin(w*(t-t0)) \), and the "exponential" transform is computed by multiplying the real function by \( e(-I*w*t0)*e(-w*t) \).
Definition at line 2636 of file spectrum.F90.
|
private |
[in] | sigma | (3, 3, energy_steps, nspin) already converted to units |
[in] | kick | if present, will write itself and nspin |
Definition at line 2756 of file spectrum.F90.
pure integer function, public spectrum_oct_m::spectrum_nenergy_steps | ( | type(spectrum_t), intent(in) | spectrum | ) |
Definition at line 2946 of file spectrum.F90.
|
private |
Definition at line 2952 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_damp_none = 0 |
Definition at line 164 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_damp_lorentzian = 1 |
Definition at line 164 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_damp_polynomial = 2 |
Definition at line 164 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_damp_gaussian = 3 |
Definition at line 164 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_damp_sin = 4 |
Definition at line 164 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_transform_laplace = 1 |
Definition at line 171 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_transform_sin = 2 |
Definition at line 171 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_transform_cos = 3 |
Definition at line 171 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_absorption = 1 |
Definition at line 176 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_energyloss = 2 |
Definition at line 176 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_p_power = 3 |
Definition at line 176 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_rotatory = 4 |
Definition at line 176 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_fourier = 1 |
Definition at line 182 of file spectrum.F90.
integer, parameter, public spectrum_oct_m::spectrum_compressed_sensing = 2 |
Definition at line 182 of file spectrum.F90.
|
private |
Module variables, necessary to compute the function hsfunction, called by the C function loct_1dminimize.
Definition at line 203 of file spectrum.F90.
|
private |
Definition at line 204 of file spectrum.F90.
|
private |
Definition at line 204 of file spectrum.F90.
|
private |
Definition at line 205 of file spectrum.F90.
|
private |
Definition at line 205 of file spectrum.F90.
|
private |
Definition at line 205 of file spectrum.F90.
|
private |
Definition at line 205 of file spectrum.F90.
|
private |
Definition at line 205 of file spectrum.F90.
|
private |
Definition at line 206 of file spectrum.F90.
|
private |
Definition at line 207 of file spectrum.F90.
|
private |
Definition at line 207 of file spectrum.F90.
|
private |
Definition at line 207 of file spectrum.F90.