-
Notifications
You must be signed in to change notification settings - Fork 8
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
Wannier90 import #264
Wannier90 import #264
Conversation
A somewhat inelegant part of this PR is the introduction of a second Operator type. We have A case could be made that |
Some changes are required here
Some caveats
The caveat could be solved if we refactor |
fixes fixes trivial fix two trivial fixes whitespace
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #264 +/- ##
==========================================
+ Coverage 92.29% 92.44% +0.14%
==========================================
Files 36 37 +1
Lines 5931 6059 +128
==========================================
+ Hits 5474 5601 +127
- Misses 457 458 +1 ☔ View full report in Codecov by Sentry. |
Closes #4
This adds support for importing Wannier90 tight-binding models from a file. By constructing an intermediate
WannierBuilder
object (building on #261), we can hook into the fullModifier
machinery, and also combine Quantica.jl models and Wannier90 models, with or without parameters. We can then obtain an AbstractHamiltonian or a position operator (of typeBarebonesOperator
)Quick example: add a Wannier90 model in a file to a
@onsite((; k = 1) -> k*o)
parametric model. (The latter could be omitted, of course).We can now build a new Hamiltonian that includes an electric field, coupled through the actual
R
operatorNote the use of the new
-->
syntax for nonspatial models and the use ofR
indexing (since we don't want to couple tor
anddr
as we'd do with point-like orbitals)CC: @BacAmorim