-
Notifications
You must be signed in to change notification settings - Fork 4
/
TODO
83 lines (67 loc) · 3.53 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
vic2d - TODO
Do something with this new knowledge of how viscosity and time step size interact to
prevent or allow energy growth. Can we find some way to test for increasing energy
and apply a filter to prevent it? Or, is there a SGS dissipation scheme that we can
use to get energy to monotonically decrease?
Use const and restrict on important multi-dim arrays, such as replacing
float*** arry
with
float* const* const* const arry
in this way, the floats in the 3D array can be changed, but the pointers can't
Add an option to advect the color at a fraction of the local velocity,
or give each "pixel" a momentum/ballistic coefficient, and have the
local velocity create a "force" on the pixel.
This may generate more wispy, advective-appearing images.
Note that for a 2D simulation with color and density, we need 19 full-sized fields.
Is there any way to reduce that number?
When loading in a color file, convert immediately to HSV and perform all
advection on HSV coords. Only when dumping back out to a PNG should the
values be converted back to RGB. How do we interpolate hue? It's periodic.
Add option to M4' interpolation to disallow new values that exceed the
min/max of the 16 or 64 source values. This may prevent blow-up, but at
the cost of artificial dissipation. DO THIS!
Add poisson process code to this
Look in vort3d for marquee
Add source/sink terms!!!
BCs might be hard
Add new noise types for random vorticity?
Or just rely on external programs for input
Try large sim on tungsten, or ask AMD for compute time
24k square sim should fit in 40 GB RAM
Rewrite .h files the right way---what I have now sucks
Test creative vorticity input for frozen flow
Like, a corporate logo, or a piece of art
Allow color PNGs to be input for scalar fields---it just takes the
brightness component instead of throwing an error.
Support variable viscosity for all variables
0) Support open BCs with either method by doing a treecode solution for the
velocity at the boundary cells. Use the grid as your tree (0-255 is left,
256-511 is right, then same up-down, etc. Nice! Make it recursive, of course.
Look in paramesh-vm for hints).
1) Test a circular cylinder in 2D flow, see if I get the same instability at
Re=40.
2) Add explosion sources (like a point source that appears and disappears)
or
2) Make the source field actually work - meaning scale the interpolation
results by the value of the divergence, but only for vorticity and other
conserved quantities---don't do it for the color scalar.
then
Make a sample movie for Rob
0) get multigrid stuff working! - DONE
2) faster upscaling of output images
3) include either Poisson/FFT or multigrid solution of diffusion problem (for low Re problems)
4) compute and write kinetic energy
5) add input for Boussinesq coefficient - DONE
6) read papers on MOC for large density-stratified flows (free surface)
7) for 3D method, test the baroclinicity of the MOC routine for both
the velocity and the vorticity advection---is there a difference?
8) write a windowing program to dynamically display the results
9) allow reading in a file and starting with those values as
either vorticity, heavy/light fluid, or simply scalar value - DONE
10) allow explicit particle movement (or, pull field vals for a given list of points)
DONE
1) add support for Stam-style velocity-MOC
2) allow upscaling of output images--integer, slow
9) fix the problem with edge vorticity getting zeroed!
4) allow entry of dimensionless numbers: Reynolds, Schmidt, others - DONE
5) upgrade to 3D solver, both vorticity and velocity