Comments (4)
Hi David @dihm ,
This sounds like an amazing code contribution. Of course, I would be very glad to help with integration.
For functionality, it would make sense (as I understand) to go under Single Atom Calculations. Then it would be exposed on corresponding docs page we just need to add reference here.
For examples, it would make sense to display them with other .ipynb
notebooks here, by adding notebooks here, and linking them in docs.
I would be happy to help with this, if you open branch and start PR.
Aside from this, we should revise the way citations are done. Up to know there was this note, with larger contributions in advanced. There it was clearly indicating who should be cited. But I think that widely useful functions, like you suggest, are much better exposed in correct place in core package. To start, you should add note in docsstring that your paper should be cited. And then I think good solution would be maybe that I develop some function that tracks which functions have been called from ARC package, and then have arc.export_citations()
that would say basically, you used this n
times, thus you should cite A
. That would help keeping track of credits for future. What you think? Do you have better suggestions?
Looking forward to seeing this!
from arc-alkali-rydberg-calculator.
Awesome! I'll get a PR together next week (I'm actually on vacation at the moment). I tried to make sure everything would be ready to copy-paste so it won't take long once I get to it.
As for citations, I agree that something more flexible than the advanced submodules would be a good feature. Your suggestion sounds reasonable to me. My only thought would be that it would be nice to ensure it doesn't cause some ridiculous overhead in calculation times (probably not hard) and also doesn't require manually adding a method call to every single function of ARC (maybe unavoidable).
from arc-alkali-rydberg-calculator.
Thank you David @dihm for this great contribution!
I did some refactoring 9984f06 to rename few things:
- rename BasisGenerator -> StarkBasisGenerator (to keep general name space not reserved)
- rename RWAModel -> RWAStarkShift (again to keep general namespace not reserved)
- rename RWAModel.rwaModel -> RWAStarkShift.makeRWA (it was bit ackward having class and method named similarly except for caps, so I renamed this as make rotating wave approximation, or makeRWA)
I also included link to newly added notebook to Getting started page and added getCitationForARC() function that can be called at the end of ARC use, and will pull citations according to the used parts of the code.
After that I run all ARC code through black formatter and flake8 linter, and now all imports are explicit (there was a lot of wildcard imports before), so if you notice some used method is not exposed anymore, please an issue.
This is available now in version 3.3.0 of ARC.
from arc-alkali-rydberg-calculator.
Thanks Nikola for getting this merged in. Those renames are all very reasonable.
I'm glad I've been able to contribute back to this excellent project.
from arc-alkali-rydberg-calculator.
Related Issues (20)
- getRadialMatrixElement() may return wrong results for float input parameters
- Add helper function to clarify citations
- Add flake8 linter and black formatter in CI checks
- Missing magic wavelength snippet in docs HOT 1
- AttributeError: module 'numpy' has no attribute 'int'. HOT 2
- Quantum defect for G9/2 states in Caesium return 0 HOT 2
- MacOS Errno 66 on pip install HOT 1
- Cs NIST level data do not match current NIST values HOT 1
- Two graphs plotted in plot2D function HOT 1
- Intensity Calculation: Is "wa" is a beam radius or beam diameter? HOT 2
- Wigner 6j for non-integer sum triads HOT 1
- Breit Rabi isn't outputting the right F and mf states HOT 2
- pull request 155 (approved) did not update `arc.alkali_atom_functions.__arc_data_version__` HOT 1
- Loading atom parameters doesn't work HOT 3
- Transition frequency mismatch of Rb87 D2 line HOT 1
- Code crashes with "interactionsUpTo=2" HOT 4
- Modernizing and extending the build backend HOT 1
- ImportError: numpy.core.multiarray failed to import HOT 1
- Something wrong in calculations_atom_single.py
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arc-alkali-rydberg-calculator.