-
Notifications
You must be signed in to change notification settings - Fork 31
[WIP] Add PheasyCalc class for higher order phonon calculations
#65
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
base: main
Are you sure you want to change the base?
Conversation
PheasyCalc class for higher order phonon calculations
PheasyCalc class for higher order phonon calculationsPheasyCalc class for higher order phonon calculations
|
@rul048 You will take charge of reviewing PRs. But for now, I will be the one to merge them. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #65 +/- ##
===========================================
- Coverage 96.26% 80.49% -15.78%
===========================================
Files 22 24 +2
Lines 1151 1425 +274
===========================================
+ Hits 1108 1147 +39
- Misses 43 278 +235 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@rul048 When are you going to review this? Are you actually interested in maintaining matcalc? |
Signed-off-by: Runze Liu <[email protected]>
| """ | ||
| A class for phonon, higher-order force constants and thermal property calculations using pheasy. | ||
|
|
||
| The `PhononCalc` class extends the `PropCalc` class to provide |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here should be PheasyCalc not PhononCalc.
| if i apply it and will give a huge error in force calculation""" | ||
|
|
||
| # sga = SpacegroupAnalyzer(structure, symprec=self.symprec) | ||
| # structure_in = sga.get_primitive_standard_structure() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the commented out codes here are not needed, we could remove them.
| self.supercell_matrix = np.array(transformation.transformation_matrix.transpose().tolist()) | ||
| # transfer it to array | ||
|
|
||
| # self.supercell_matrix = supercell.lattice.matrix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above. If the commented out codes here are not needed, we could remove them.
| subprocess.call(pheasy_cmd_1, shell=True) | ||
| subprocess.call(pheasy_cmd_2, shell=True) | ||
| subprocess.call(pheasy_cmd_3, shell=True) | ||
| subprocess.call(pheasy_cmd_4, shell=True) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recommend not using (plenty of) command lines internally unless necessary. If unavoidable, please give the command a clear and descriptive name that reflects its purpose.
using alamode to calculate force constants
alamode for higher order
Summary
Major changes:
Todos
If this is work in progress, what else needs to be done?
Checklist
ruff.mypy.duecredit@due.dcitedecorators to reference relevant papers by DOI (example)Tip: Install
pre-commithooks to auto-check types and linting before every commit: