forked from CERNN/MR-LBM
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.todo
67 lines (61 loc) · 4.73 KB
/
TODO.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
Projects:
☐ Organize source files into folders
☐ Remove the duplicate arrays used for interface between blocks
☐ test perfomance Z-curve array pattern for indexing within the same block structure
✔ eliminate the necessity of multipling the moments when reading and writing from the global memory, need proper treatment when initializing the domain, exporting the values, ... @done(24-07-04 21:52)
☐ Use constant array in defintions.h instead of magic numbers
☐ auxFunctions that are actually treat data shouldnt be there
☐ Rename include files to be .inc
☐ Make the compile sm based directly on the avaiable machine
✔ By using #def and #undef is possible to create a dynamic memory array for moments/omega/force/... and so on @done(24-02-02 23:25)
☐ Edit local force field to moment array
☐ change the name moment array to something more descreptive
☐ find a way to compute the best block size on compilation time
☐ allocatate the correct ammount of shared memory based on the blockSize
☐ Change macro condition from (non_newtonian || les model to local viscosity)
☐ Eliminate the necessity of two arrays to save the boundary conditions
☐ Also it need edit the post processing files to allow different data types (unsigned char for example)
☐ Edit the saveVarBin fuction to allow differnt data types
☐ Eliminate memory allocation for solid nodes (problem, a index array is necessary 10.1016/j.jocs.2022.101723)
☐ Multi Block Implementation (Multi GPU) Nvidia NCCL implementation https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s31880/
☐ Fiix parallel reduction for 2D cases bigger than 256x256
✔ Particle Tracer @done(14-03-04 12:53)
✔ Create a checkpoint save file @done(23-03-16 18:47)
✔ Add option for voxel based boundary condition @done(23-05-04 23:22)
✔ Add option for mean flow statistics @done(23-09-06 19:39)
✔ eliminate the necessity of nodeType = 0b00000000 from the csv file (matlab generator script) @done(24-03-02 17:59)
✔ Method for calculation the total kinetic energy @done(23-09-06 19:39)
✔ Using parallel reduction @done(23-09-21 14:34)
✔ Option for local force field @done(24-01-19 22:26)
✔ Export local force field @done(24-02-20 18:50)
✔ compute the sum of the force field @done(24-02-20 21:50)
✔ Bugfix: Figure out why the force field is equal to zero when using LOCAL_FORCES @done(24-03-02 17:54)
✔ computation of force field over selected lattices. @done(24-03-02 17:54)
✔ fix the calculation of forces using the moment exchange method for the voxels @done(24-03-24 10:58)
☐ Test the performance if instead of storing the populations in the shared memory, store the moments, which can be pulled and used to reconstructed the populations
%it will increase the number of arithmetic operations, however the shared memory array will use 10 scalars per lattice instead of the 18 populations
%allowing to use a higher block size than orginally planned. The performance might be benefical when using a D3Q27 velocity set since the reduced from to 26 to 10 scalars per lattice.
✔ move problem variables to another folder/file system similar to boundary conditions @done(24-06-04 21:17)
✔ create a folder system for each case, where it has initializatation / variables / boundary conditions / ... @done(24-06-04 20:41)
✔ move collision/reconstruction operators to another folder/file system @done(24-06-04 21:17)
✔ clean up mlbm.cu @done(24-06-04 21:11)
✔ create include structure @done(24-06-04 21:11)
☐ validade/verify the other collision methods.
✔ Figure out a way to add non-zero velocity boundary conditions to the voxels (probably will be necessary to move out from unsigned char) @done(24-03-24 10:58)
✔ change nodeType from char to int @done(24-02-24 10:41)
✔ add new types of boundary conditions @done(24-03-24 10:58)
✔ higher shared memory size for cuda compute 8.0+ (requires dynamic shared memory which has worse performance 70% of original @done(24-01-19 22:27)
✔ Push thermal model @done(24-05-17 22:52)
✔ First Implementation @done(24-04-13 23:55)
✔ Correct mirror error that occur on the interface between blocks C~1e-4 @done(24-05-19 13:03)
✔ Transform equations to moment-based @done(24-05-19 13:03)
✔ Increase Performance @done(24-07-05 17:11)
✔ Incorporate LES
☐ Verify D3Q27 again
☐ detach mean-flow stats from treatData
☐ Incorporate thixotropic model (already need import from other project, depends on thermal model implementation)
☐ Incorporate IBM
☐ Curved boundary conditions
☐ Moving boudnary conditions (e.g. moving particles using voxels)
☐ Implementation of DDF-Shift (density is done)
Archive:\