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

Output every N timesteps. #299

Open
spmatt opened this issue Aug 11, 2024 · 1 comment
Open

Output every N timesteps. #299

spmatt opened this issue Aug 11, 2024 · 1 comment

Comments

@spmatt
Copy link
Contributor

spmatt commented Aug 11, 2024

Currently we can specify vpl.in how frequently (in physical time) we get outputs (using dOutputTime). It would be great if there were also the option to get outputs every N timesteps, where N is specified in vpl.in.

There are a few different reasons users might want this. In general, the evolution of systems can have phases where evolution is very fast (e.g., during the pre-main-sequence phase) and then times when it is much slower (e.g., main sequence). So this option allows output frequency that is dictated by how quickly any system parameters are changing. This is more economical for the size of the output files, since they are then only written when things change significantly, rather than always on some linear timescale (even if very little has changed). This will ensure that plots are always "pretty," meaning there won't be parts of the evolution that appear "unresolved" by having too few time outputs (nor having too many points where they aren't needed). This can even lead to a performance improvement, in cases (and times) where the output time cadence is actually smaller than the optimal timestep in the evolution. Finally, having outputs every N timesteps also gives the user direct information about the numerics of the runs (e.g., showing where the hard work is happening in the code), which can be useful for all kinds of reasons.

@spmatt
Copy link
Contributor Author

spmatt commented Aug 11, 2024

I believe this issue should be labeled "enhancement."

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

1 participant