Skip to content
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

Open
ahbarnett opened this issue Feb 17, 2021 · 2 comments
Open

Comments

@ahbarnett
Copy link

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

@rainwoodman
Copy link
Owner

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
[3] https://www.semanticscholar.org/paper/Computer-simulation-using-particles-Hockney-Eastwood/68b5fbe75891df4bb238eb1d44ba4181b89e8c83?p2df

@ahbarnett
Copy link
Author

ahbarnett commented Feb 19, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants