Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cleaned the procedure for locating maxR #575

Merged
merged 4 commits into from
Jun 7, 2023
Merged

Commits on Jun 7, 2023

  1. cleaned the procedure for locating maxR

    Instead of searching for a 0 in the radial function
    we now search for an integration that contians 99.99% of the
    radial function.
    The integration uses the trapezoid integration mechanism
    with f(r)**2*r**3 as that should be normalized for a
    radial function.
    
    This should make it much more stable against different radial
    function arguments and produce more accurate ranges for the
    orbitals.
    
    Now a warning will be issued when the routine cannot determine
    a correct R (based on inputs).
    
    Ensured that all orbitals with radial functions
    can pre-calculate the R in case user did not supply it.
    One can always forcefully set it by supplying it.
    
    Signed-off-by: Nick Papior <[email protected]>
    zerothi committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    fabca57 View commit details
    Browse the repository at this point in the history
  2. handed control of R discovery to the end-user

    This way we can converge faster to a better approach than
    the current absolute value of the functional integral.
    
    Tried functions:
    1. f(r)  ->  problematic when f turns negative
    2. f(r) ** 2 -> yields somewhat short R
    3. f(r) * r -> problematic when f turns negative
    4. (f(r) * r)**2 -> yields too short R
    5. f(r)**2 * r**3 -> much better
    6. abs(f(r)) -> yields a pretty long tail, but should be fine
    
    With the current approach users can manually control
    the behaviour by supplying a dictionary which passed
    the arguments to the radial_minimize_range method.
    
    Signed-off-by: Nick Papior <[email protected]>
    zerothi committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    4a4a963 View commit details
    Browse the repository at this point in the history
  3. amended typing and added dr argument

    dr argument controls the precision of the integrals.
    
    Signed-off-by: Nick Papior <[email protected]>
    zerothi committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    5f42b60 View commit details
    Browse the repository at this point in the history
  4. Ensured orbital copy passes over the R value

    This ensures that copying does not destroy the R value.
    Added tests for all orbital classes to ensure
    it is copied over correctly.
    
    Signed-off-by: Nick Papior <[email protected]>
    zerothi committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    37e073b View commit details
    Browse the repository at this point in the history