GRASP rci-qed
|
Data Types | |
type | matrixelement |
Functions/Subroutines | |
program | rci_qed_pt |
./rci-qed.pt <state> More... | |
real(real64) function | getindex (me, idx) |
subroutine | write_csv_header (unit) |
subroutine | write_csv_asf_line (unit, me) |
subroutine | check_file (filename) |
subroutine | add_asfvalue (i, j, hij, k, asfvalue) |
Adds the contribution of the (i, j) matrix element to the asfvalue . More... | |
real(real64) function | asf_coefficient (k, i) |
Returns the i-th ASF coefficient of the k-th state. More... | |
subroutine | verify_rcisettings (settings) |
Verifies if the nuclear and grid values in the .settings.toml file match the ones set by loading the isodata files. More... | |
logical function | within_tolerance (a, b, relative_tolerance) |
Checks if the difference of a and b are within the tolerance relative to \(\max(|a|,|b|)\). More... | |
real(real64) function | reldiff (a, b) |
Calculate the relative difference of a and b . More... | |
pure character(:) function, allocatable | check (yesno) |
logical function | get_command_argument_allocating (n, value) |
Retrieves the n -th command line argument. More... | |
subroutine rci_qed_pt::add_asfvalue | ( | integer, intent(in) | i, |
integer, intent(in) | j, | ||
type(matrixelement), intent(in) | hij, | ||
integer, intent(in) | k, | ||
type(matrixelement), intent(inout) | asfvalue | ||
) |
Adds the contribution of the (i, j)
matrix element to the asfvalue
.
hij
must contain the (i, j)
Hamiltonian matrix element and asfvalue must be the k
-th ASF value.
real(real64) function rci_qed_pt::asf_coefficient | ( | integer, intent(in) | k, |
integer, intent(in) | i | ||
) |
Returns the i-th ASF coefficient of the k-th state.
pure character(:) function, allocatable rci_qed_pt::check | ( | logical, intent(in) | yesno | ) |
subroutine rci_qed_pt::check_file | ( | character(*), intent(in) | filename | ) |
logical function rci_qed_pt::get_command_argument_allocating | ( | integer, intent(in) | n, |
character(:), intent(inout), allocatable | value | ||
) |
Retrieves the n
-th command line argument.
If it was able to fetch the argument value, returns .true.
and sets value
to the value ([re]allocating if necessary). Returns .false.
if there was an error retrieving the argument.
Under the hood it calls get_command_argument
, but it properly allocates or re-allocates the value
to match the actual length of the argument.
TODO: For this to be a proper library function, it should be implemented as an interface with additional methods to handle pointers and fixed-length strings.
real(real64) function rci_qed_pt::getindex | ( | type(matrixelement), intent(in) | me, |
integer, intent(in) | idx | ||
) |
program rci_qed_pt | ( | ) |
./rci-qed.pt <state>
Performs analysis and perturbative calculation on the RCI state.
Takes a single command line argument: state
.
Depends on files: isodata
, <state>.c
, <state>.w
and <state>.cm
real(real64) function rci_qed_pt::reldiff | ( | real(real64), intent(in) | a, |
real(real64), intent(in) | b | ||
) |
Calculate the relative difference of a
and b
.
The relative difference is defined as:
\[ \frac{|a-b|}{\max(|a|, |b|)} \]
a,b | Input values. |
a
and b
. subroutine rci_qed_pt::verify_rcisettings | ( | type(rcisettings), intent(in) | settings | ) |
Verifies if the nuclear and grid values in the .settings.toml
file match the ones set by loading the isodata
files.
Does not abort if there are discrepancies, just prints warnings.
logical function rci_qed_pt::within_tolerance | ( | real(real64), intent(in) | a, |
real(real64), intent(in) | b, | ||
real(real64), intent(in) | relative_tolerance | ||
) |
Checks if the difference of a
and b
are within the tolerance relative to \(\max(|a|,|b|)\).
a,b | Values to be checked. |
relative_tolerance | Relative tolerance \(\sigma\). |
subroutine rci_qed_pt::write_csv_asf_line | ( | integer, intent(in) | unit, |
type(matrixelement), intent(in) | me | ||
) |
subroutine rci_qed_pt::write_csv_header | ( | integer, intent(in) | unit | ) |