-
Notifications
You must be signed in to change notification settings - Fork 17
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
Porcelain #13
Comments
Also:
These things may use splines (C++) or else could be done with scipy splines (slower probably, less flexible for sure). A lot of this should be array operations in Python. Probalby no C required anywhere though compatibility with Toon's (in progress) cubic splines should be maintained. |
For the ODE solver, scipy.integrate.odeint You need to convert higher-order ODE into a first-order one to use this but that can always be done. See, for example, |
Regarding order of implementation: the poisson solver also needs the ODE solver, so it needs to be implemented first. I would suggest to split the ODE, Poisson solver, multipole decomposition and evaluation into separate issues or pull requests. Doing it all together is far too much for one PR. |
@tczorro looking at this closed issue again, I was wondering whether multipole decomposition and evaluation is implemented? |
|
Spherical average notes updated, hat tip especially @Ali-Tehrani and @FarnazH for clarifications. |
To generate spherical moments, we can use the code in An alternative is to generate the real spherical harmonics directly using |
Note on multipole moments are attached here. |
I'm confused, though. Looking through things it seems we had already translated the old moments code into Python for grid. @tczorro am I missing something? Can you explain why this file is no longer part of the repo? |
@PaulWAyers I think most those changes are done by Toon. So I am very aware of those. |
@tczorro and @PaulWAyers it seems like |
Talking with @tovrstra @evohringer and @FarnazH yesterday, it seems best to add moments as an integration option, in the base class. The only caveat is that we would need to be very careful with periodic boundary conditions. That's something that can be, I think, handled in some elegant way (that I haven't figured out or even really thought about yet). (It's a standard problem scientifically, but code-wise it is trickier.) Also, we should perhaps take spherical harmonics (by duplication) from the new Another alternative is to use A final alternative would to be to code the recursion and use some sort of dynamic programming, but I think the memory obligations from the caching would be crazy. |
Reminder to self @PaulWAyers to figure out the algorithm in |
For moments, we can use as tests a function (e.g. a Gaussian) that is centered at the origin and also one centered off the origin. The change in solid-harmonic coefficients when you shift the origin of a moment expansion is analytically computable.
There are also some analytic formulas available.
|
We implemented a recursion for spherical harmonics from the literature. |
MolecularGrid
class. (Note: here is wheretv-*.txt
points stored in needed; check Atomic Grid Class #11)The text was updated successfully, but these errors were encountered: