-
Notifications
You must be signed in to change notification settings - Fork 9
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
document in equations what problem fastpm solves, how, and what I/O? #16
Comments
Hi Alex, Indeed. The paper (like most paper on similar issues) was written for readers that are somewhat familiar with N-body solvers in the field of cosmology. Your suggestion is a good one -- but it will be some time before I get to write down an "executive summary" of things. Users have been reading examples [e.g. 1] and 1-on-1 chatting with me to get started. fastpm-python is very specific for "using an N-body method to solve large scale cosmic structure formation". A less specialized package is the generic ParticleMesh operators in pmesh[2] used by fastpm-python. pmesh contains operators (and jacobians) for resampling field representation between particles and mesh, distributed FFT, domain decomposition and load balancing. Most concepts are covered in the Hockney and Eastwood book [3], and named in similar ways. The package pmesh also suffers from a lack of 'document-quality' documentation. [1] https://github.com/rainwoodman/fastpm-python/blob/master/examples/janus.py |
Dear Yu,
Thanks for the useful pointers. And I appreciate full documentation is a
big task, don't worry :)
Best wishes, Alex
…On Wed, Feb 17, 2021 at 10:37 PM Yu Feng ***@***.***> wrote:
Hi Alex,
Indeed. The paper (like most paper on similar issues) was written for
readers that are somewhat familiar with N-body solvers in the field of
cosmology.
Your suggestion is a good one -- but it will be some time before I get to
write down an "executive summary" of things.
Users have been reading examples [e.g. 1] and 1-on-1 chatting with me to
get started.
fastpm-python is very specific for "using an N-body method to solve large
scale cosmic structure formation".
A less specialized package is the generic ParticleMesh operators in
pmesh[2] used by fastpm-python. pmesh contains operators (and jacobians)
for resampling field representation between particles and mesh, distributed
FFT, domain decomposition and load balancing. Most concepts are covered in
the Hockney and Eastwood book [3], and named in similar ways. The package
pmesh also suffers from a lack of 'document-quality' documentation.
[1]
https://github.com/rainwoodman/fastpm-python/blob/master/examples/janus.py
[2] http://github.com/rainwoodman/pmesh
<https://github.com/rainwoodman/pmesh>
[3]
https://www.semanticscholar.org/paper/Computer-simulation-using-particles-Hockney-Eastwood/68b5fbe75891df4bb238eb1d44ba4181b89e8c83?p2df
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#16 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNZRSQNWWHTWXNZJSY5HQTS7SDN7ANCNFSM4XYWBITA>
.
--
*---------------------------------------------------------------------~^`^~._.~'
|\ Alex H. Barnett Center for Computational Mathematics, Flatiron
Institute
| \ http://users.flatironinstitute.org/~ahb
646-876-5942
|
Dear Yu Feng,
I hope you're well (you'll remember chatting a year ago).
I'm just posting a request for documentation of what exactly fastpm computes. I cannot find it in
https://arxiv.org/pdf/1603.00476.pdf
In other words, what are the inputs (locations and velocities of particles? grid or timestepping parameters?) and outputs, and precisely what set of equations is solved, and by what method?
Even an introductory summary would be useful; equations are the best.
As an example, for our FINUFFT
https://finufft.readthedocs.io/
package we describe precisely what the inputs are and the outputs: formulae, tolerance achieved, how the run-time scales with the problem size, etc. Without something similar, it's hard for anyone outside the cosmo community to figure out what it does or how to use it :)
Thanks so much, Alex
The text was updated successfully, but these errors were encountered: