Figured I’d try out another weird thread idea. The idea is: if you have a fun animation share it below. Discussions about animations welcome, but being a jerk is not. Doesn’t need to be cream of the crop highly polished, the epitome of scientific visualizations, just if you did something fun, share it.
Here’s a goofy 2-D simulation of a water hose. Each circle represents a ‘packet’ of liquid. Physics involved are not real-world, fun only.
What happens if we put a wing-like shape (foil) into the stream of cartoon viscous liquid packets?
You can get something like “drag” and “lift” forces. Think I’m done with this project for now but it was a lot of fun.
Uh-oh can we not share remotely hosted images that exceed 4096kb or have I goofed something up?
I can see the remote image.
What I don’t see is the Julia code!
Glad to hear you can see it.
I’d post the code, but it’s a little sloppy, and cleaning it up wouldn’t provide a good RoI right now. I’m looking for work, and this project won’t help me land a job even if it was cleaned up and made SOTA. It’s very undergrad even if taken a few steps further (IE: calibrated not `toon physics, ML for performance, optimizing the shape/angle for lift, etc). Think nowadays that kind of stuff is like 2nd-year undergrad pet project level? So I have to focus on some other more impactful projects, probably something in python involving very different subject matter… Eventually, I’ll clean some of it up and cut a package but someone else will likely beat me to it by then :).
I personally would prefer to see sloppy Julia code than no Julia code in a Julia forum.
It is likely that later I’ll share some of it. But, I used only
Plots, CSV, DataFrames, SparseArrays. Didn’t use QuadTrees.jl, any of the geometry packages, etc because it was easier not too. So that might upset a lot of people… Basically all this is, is:
- Basic SPH simulator(leapfrog integrator, pressure, viscosity, gravity turned off)
- Nonadaptive Quadtree (simple ID buckets in a dict, particles fall into buckets by modulo operator on dimensions)
- NN Search based on SPH interaction parameter and quad tree cell size
- Airfoil parametric Eqn (from literature + affine rotation)
- Kindergarten collision detection (point in box, segment-segment intersections, the nearest point on line segment, reflection from a line, etc)
- Boundary conditions S.T. if a particle leaves the bounds it can be recycled
- Force on foil has 2 modes (negative depth of crossing line segment before reflection, and SPH pressure attributed to the nearest point on foil for each particle)
Stuff anyone on here could do in a few days tops. Took me 5-7 afternoons… I’m not proud of it, just think it looks kind of cool, and wanted to share it. Not “Makie cool” but my GPU is offline right now and can’t pump money into an E-GPU right now. If it ended up on my Github an employer might think this is like a “crowning achievement” or something (struggling with this now). The caveat is that I can’t make a pseudonym GitHub/discourse, or my current employer can terminate me for violating social media rules. So animations seemed apt for sharing. Again I can share the code later but for now I need to prioritize I guess…
That sounds like a cool combination of different packages that people would be interested in.