[WIP] Add PheasyCalc class for higher order phonon calculations#65
[WIP] Add PheasyCalc class for higher order phonon calculations#65leslie-zheng wants to merge 125 commits intomaterialyzeai:mainfrom
PheasyCalc class for higher order phonon calculations#65Conversation
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 <146490083+rul048@users.noreply.github.com>
| """ | ||
| 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.
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.
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.
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.
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: