ornladios / ADIOS2-Examples

Application examples for the ADIOS2 I/O library https://github.com/ornladios/ADIOS2. This is Work in Progress.
Apache License 2.0
20 stars 16 forks source link

Lorenz ODE #29

Closed NAThompson closed 4 years ago

NAThompson commented 4 years ago

This example is in response to a conversation we have on teams with @pnorbert .

The example solves the Lorenz system via an adaptive Taylor method. It presents a few challenges for ADIOS: First, the number of state points in the state vector varies wildly. Second, the natural datastructure is an array of structs.

The code validates that the array of structs has contiguous layout, as there is nothing guaranteed by the standard. Then it pipes variable-sized data to independent variables, which, though inelegant, is what I understand to be required. (Is there a more elegant way to do it?)

Finally, once I get a little feedback, I'll bring in MPI, and we can really fill up the phase space with trajectories; which should be a very useful simplified model for particle advection.

williamfgc commented 4 years ago

Also, please rebase master. Github is showing an out-of-date issue.

williamfgc commented 4 years ago

@NAThompson great, thanks!

NAThompson commented 4 years ago

@williamfgc : Thanks so much for being so helpful here; I hope you won't find it frustrating that I'm going to put in a PR for a reader as well!

(I should've marked the PR as a draft; my bad. But it appears github doesn't allow you to retroactively mark a PR as a draft after opening it.)

williamfgc commented 4 years ago

@NAThompson Happy to help and thanks for adding examples. We don't know where users come from and having examples that relate to their tasks helps a lot.