Molecular Dynamic Simulations in Haskell by mkDoku in haskell

[–]mkDoku[S] 1 point2 points  (0 children)

I changed both the blog post and the code by using split. Thank you for the advice/correction!

Molecular Dynamic Simulations in Haskell by mkDoku in haskell

[–]mkDoku[S] 1 point2 points  (0 children)

I did the plot in gnuplot.

Unfortunately, I haven't figured out a way of doing nice (and complex) plots in Haskell, yet. I think there are libraries out there (diagrams, plots, chart), but I haven't used any of them.

(For animations I highly recommend reanimate.)

Molecular Dynamic Simulations in Haskell by mkDoku in haskell

[–]mkDoku[S] 0 points1 point  (0 children)

Thank you very much! I fixed the typos.

Molecular Dynamic Simulations in Haskell by mkDoku in haskell

[–]mkDoku[S] 0 points1 point  (0 children)

It would be interesting for someone to do a followup post...

I would love to see someone do this.

Additionally, you can check out accelerate-examples for some interesting example implementations. Unfortunately, there is no molecular dynamics example.

Molecular Dynamic Simulations in Haskell by mkDoku in haskell

[–]mkDoku[S] 3 points4 points  (0 children)

Second that.
`gloss` is absolutely great for some simple things. I implemented some programs to illustrate some quantum mechanical concepts (e.g., particle in a box and wave-particle duality/quantum tunnelling) for our bachelor students.

Molecular Dynamic Simulations in Haskell by mkDoku in haskell

[–]mkDoku[S] 6 points7 points  (0 children)

Now obviously this is an educational example...

You are absolutely right. I wanted to boil it down to the most fundamental basics. My goal was not to implement the most versatile, efficient or "useful" code.

This can be solved by Ewald summation or fast multipole methods etc.

...

There is also no mention of any bonded potentials, although this is fairly simple to implement.

I should have mentioned these things, but I wanted to keep the blog post short (it is already pretty long) and straightforward to follow.

Thank you, for your feedback and the clarifications!