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

qmc-fit: Added equation of states and morse fits with jackknife #4518

Merged
merged 9 commits into from
Apr 3, 2023

Conversation

kayahans
Copy link
Contributor

@kayahans kayahans commented Mar 16, 2023

Equation of states and morse potential fitting capabilities are added to qmc-fit. Morse fit was available in numerics.py, but it was not user-friendly, therefore it is wrapped in qmc-fit. Other equation of state fits (Vinet, Birch, Murnaghan) didn't have jackknife fitting capabilities, hence such capability is added in this PR. The code is tested with nxs-test, but the existing qmc-fit tests do not cover these new capabilities.

What type(s) of changes does this code introduce?

  • New feature

Does this introduce a breaking change?

  • No

What systems has this change been tested on?

macOS Monterey 12.6.3, Python 3.9.13

Checklist

  • Yes. This PR is up to date with current the current state of 'develop'
  • No. Code added or changed in the PR has been clang-formatted
  • No. This PR adds tests to cover any new code, or to catch a bug that is being fixed
  • No. Documentation has been added (if appropriate)

Copy link
Contributor

@prckent prckent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • What are your plans to document this?
  • How is this tested? I think some run calling these capabilities is required, e.g. via extensions of qmc-fit tests.

@kayahans
Copy link
Contributor Author

kayahans commented Mar 17, 2023

  • I am open to suggestions about how to document these. I think the argparse helper provides a lot of information such as available parameters and defaults, but for the manual I can write a small section as well with example data. I think it would clarify what the units are.
  • I have tested it on my data for bilayer binding energies and also Daniel Wines's data for bulk moduli which yielded within 10 % match to the experimental bulk moduli of C, Ge and Si. I will discuss with Jaron on how to run tests for the added functionality.

@prckent
Copy link
Contributor

prckent commented Mar 17, 2023

Great. Can you add an initial manual entry in this PR? The rest can be done subsequently imo.

As background to my comments and thinking, I have some general concerns about our python-based tools and NEXUS-related contributions that we need to find a way to tackle. None are specific to this PR!

  • They need to be documented in the QMCPACK manual so that people can discover them. Something that exists only in the NEXUS or tool source code is just not going to be found and used. The added functionality in this PR is very useful, we'd like poeple to use it.
  • We need proper testing, in particular we need to be running tests of these tools in CI and our nightlies. Otherwise we won't know when they break in future or be able to catch changes. Ideally we would have a coverage report so that reviewers could see this new code was run. For example, problems due to API deprecations and changes would be caught.
  • We need to be serious about python dependencies and having a proper installation for these tools along with the QMCPACK executables. If we had those, making packages for operating systems would be straightforward and result in a fully usable installation. Currently we only install the compiled code.

Copy link
Contributor

@prckent prckent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed html and PDF generation are OK locally.

Thanks Kayahan.

@prckent
Copy link
Contributor

prckent commented Mar 23, 2023

Test this please

@kayahans
Copy link
Contributor Author

Thanks Paul, I will be adding the unit test as well.

@prckent
Copy link
Contributor

prckent commented Mar 31, 2023

Test this please

@ye-luo
Copy link
Contributor

ye-luo commented Apr 3, 2023

Test this please

@ye-luo ye-luo enabled auto-merge April 3, 2023 21:47
@ye-luo
Copy link
Contributor

ye-luo commented Apr 3, 2023

Keep this moving and I added #4539

@ye-luo ye-luo merged commit dbe0641 into QMCPACK:develop Apr 3, 2023
@prckent prckent mentioned this pull request Aug 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants