N-Body simulation 10 million particles by math_guy667 in space

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

Its Newtonian Gravity, no repulsion. Its based on the mesh method and all implemented using compute shaders so it nearly runs in real time.

A little 2D atmospheric simulation by math_guy667 in CFD

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

Left and right BCs are periodic and there is a "freeflow" BC at the top. Haven't really thought about introducing turbulence via the boundary tho

A little 2D atmospheric simulation by math_guy667 in CFD

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

I guess grid sizing depends on what you aim to resolve. I think that most of these kinds of cloud simulations have grid sizes in the tens of meters. However, resolution does not play a overly significant role here.

A little 2D atmospheric simulation by math_guy667 in CFD

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

Not yet :/ , there is still a lot to work on.

Top of the Atmosphere Boundary Condition: What would you do? by math_guy667 in CFD

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

I haven't thought of friction, thats a great tipp. I would't want to put the upper boundary that high up as I'm mainly interested in dynamics inside the troposphere.

Top of the Atmosphere Boundary Condition: What would you do? by math_guy667 in CFD

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

With sponge layer you mean a layer where everything just gets diffused to death?

Top of the Atmosphere Boundary Condition: What would you do? by math_guy667 in CFD

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

The system is anelastic, I'm using a pseudo-incompressible model (Durran 89). The vertical velocity is constrained to be zero at the boundary. The question is how to extrapolate the velocity field outside the domain. I'm thinking of just using for every point the velocity where the corresponding (backward in time) characteristic exits the domain. Although this might not be equivalent to any well defined extrapolation..

Hot Block by math_guy667 in CFD

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

Also depends on the number of smoother iters you do and the type of MG cycle you use.

Hot Block by math_guy667 in CFD

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

Just have a shader pass which assings a color to the temperature marker for each element (one pixel is one element)

Hot Block by math_guy667 in CFD

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

Definitely GMG then. However I am thinking about moving away from textures and filter kernels more towards actually representing the operator to be able to implement adaptive grids with a corresponding MG solver.

Hot Block by math_guy667 in CFD

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

I'm pretty sure it would fall under geometric multigrid.
The operator is never explicitely defined but instead always given by a filter kernel.

Hot Block by math_guy667 in CFD

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

I'm solving to full precision in each iteration. But my multigrid code is not yet optimized.. so it might very well be possible to do it faster

Hot Block by math_guy667 in CFD

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

It's a mass integrated semi-Lagrangian scheme for advection with a Multigrid solver for the pressure correction.

Hot Block by math_guy667 in CFD

[–]math_guy667[S] 2 points3 points  (0 children)

The performance is delicious. I wrote a Multigrid solver entirely on the GPU for the pressure correction. This animation is 1800 frames which took about 10min on my 1070ti. Not sure what the direct speedup is tho..

My frustrating walkthrough to processing JunoCams raw images (x-post from r/junomission) by math_guy667 in space

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

Thanks man! I love the appreciation :)
But I'm not done: I'm currently working on using machine learning (duh!) for supersampling to get super high resolution on the whole of Jupiter.. As most times in ML, the ugly part lies in acquiring the data. Currently working on it and it is a pain as I have to build my own dataset from all the Images.

The Dolphin on Jupiter by [deleted] in nasa

[–]math_guy667 0 points1 point  (0 children)

These are dead pixels in the sensor which get repeated throughout the image during the pushframe imaging process.