MRChemSoft / mrchem

MultiResolution Chemistry
GNU Lesser General Public License v3.0
30 stars 21 forks source link

Finite nucleus, take 2 #453

Closed stigrj closed 1 year ago

stigrj commented 1 year ago

Supersedes #439

Rebase on master and cleanup in nuclear models:

Should be properly tested against Exciting before merging.

codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 79.52% and project coverage change: +0.05 :tada:

Comparison is base (357554a) 69.53% compared to head (feff12f) 69.58%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #453 +/- ## ========================================== + Coverage 69.53% 69.58% +0.05% ========================================== Files 175 180 +5 Lines 14853 15027 +174 ========================================== + Hits 10328 10457 +129 - Misses 4525 4570 +45 ``` | [Impacted Files](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft) | Coverage Δ | | |---|---|---| | [src/analyticfunctions/FiniteNucleusGaussian.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2FuYWx5dGljZnVuY3Rpb25zL0Zpbml0ZU51Y2xldXNHYXVzc2lhbi5o) | `0.00% <0.00%> (ø)` | | | [src/analyticfunctions/FiniteNucleusSphere.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2FuYWx5dGljZnVuY3Rpb25zL0Zpbml0ZU51Y2xldXNTcGhlcmUuaA==) | `0.00% <0.00%> (ø)` | | | [src/analyticfunctions/NuclearFunction.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2FuYWx5dGljZnVuY3Rpb25zL051Y2xlYXJGdW5jdGlvbi5jcHA=) | `81.81% <75.00%> (-4.61%)` | :arrow_down: | | [src/qmoperators/one\_electron/NuclearOperator.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL3Ftb3BlcmF0b3JzL29uZV9lbGVjdHJvbi9OdWNsZWFyT3BlcmF0b3IuY3Bw) | `86.17% <81.57%> (-6.24%)` | :arrow_down: | | [src/chemistry/Nucleus.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2NoZW1pc3RyeS9OdWNsZXVzLmg=) | `95.45% <83.33%> (+19.45%)` | :arrow_up: | | [tests/qmoperators/nuclear\_operator.cpp](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-dGVzdHMvcW1vcGVyYXRvcnMvbnVjbGVhcl9vcGVyYXRvci5jcHA=) | `90.62% <90.76%> (ø)` | | | [src/analyticfunctions/NuclearFunction.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2FuYWx5dGljZnVuY3Rpb25zL051Y2xlYXJGdW5jdGlvbi5o) | `100.00% <100.00%> (ø)` | | | [src/analyticfunctions/PointNucleusHFYGB.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2FuYWx5dGljZnVuY3Rpb25zL1BvaW50TnVjbGV1c0hGWUdCLmg=) | `100.00% <100.00%> (ø)` | | | [src/analyticfunctions/PointNucleusMinimum.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2FuYWx5dGljZnVuY3Rpb25zL1BvaW50TnVjbGV1c01pbmltdW0uaA==) | `100.00% <100.00%> (ø)` | | | [src/analyticfunctions/PointNucleusParabola.h](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft#diff-c3JjL2FuYWx5dGljZnVuY3Rpb25zL1BvaW50TnVjbGV1c1BhcmFib2xhLmg=) | `100.00% <100.00%> (ø)` | | | ... and [2 more](https://app.codecov.io/gh/MRChemSoft/mrchem/pull/453?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=MRChemSoft) | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

stigrj commented 1 year ago

It was actually the finite_sphere that was claimed to be the same as point_parabola, but they are in fact quite different. All the point_* models are different numerical smoothing strategies operating within the numerical precision, while the finite_* models are for physically extended nuclei. So the mathematical form of the potentials are parabolic in both cases, but the extent of the smoothed region is several orders of magnitude different.