GRASP rci-qed
Data Types | Functions/Subroutines
pt.f90 File Reference

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...
 

Function/Subroutine Documentation

◆ add_asfvalue()

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.

Here is the call graph for this function:

◆ asf_coefficient()

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.

Here is the caller graph for this function:

◆ check()

pure character(:) function, allocatable rci_qed_pt::check ( logical, intent(in)  yesno)
Here is the caller graph for this function:

◆ check_file()

subroutine rci_qed_pt::check_file ( character(*), intent(in)  filename)
Here is the call graph for this function:

◆ get_command_argument_allocating()

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.

Here is the caller graph for this function:

◆ getindex()

real(real64) function rci_qed_pt::getindex ( type(matrixelement), intent(in)  me,
integer, intent(in)  idx 
)
Here is the caller graph for this function:

◆ rci_qed_pt()

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

Here is the call graph for this function:

◆ reldiff()

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|)} \]

Parameters
a,bInput values.
Returns
The relative difference of a and b.
Here is the caller graph for this function:

◆ verify_rcisettings()

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.

Here is the call graph for this function:

◆ within_tolerance()

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|)\).

Parameters
a,bValues to be checked.
relative_toleranceRelative tolerance \(\sigma\).
Returns
Whether \(|a-b| / \max(|a|,|b|) < \sigma\).
Here is the caller graph for this function:

◆ write_csv_asf_line()

subroutine rci_qed_pt::write_csv_asf_line ( integer, intent(in)  unit,
type(matrixelement), intent(in)  me 
)
Here is the call graph for this function:

◆ write_csv_header()

subroutine rci_qed_pt::write_csv_header ( integer, intent(in)  unit)