# 分享 **Repository Path**: ZJUZWT/FluidsShare ## Basic Information - **Project Name**: 分享 - **Description**: 一些简单的测试代码。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-11-11 - **Last Updated**: 2024-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Readme ## CudaProjects ### PoissonSolver #### 功能 - SGEMM矩阵乘法CUDA代码与优化测试 - 存算比优化 - Shared Memory优化 - Double Buffer优化 - Poisson方程CUDA代码与优化测试 - Jacobi - RBGS - Conjugate Gradient - MultiGrid - Cooperative Groups Gird同步功能 - Kernel性能测试可以开启Profile模式然后开启Nsight Compute进行测试 - SGEMM的优化空间很大 - Poisson方程的优化空间有点小 - Time&Error的比较需要用Solve模式与OutputErrorVisualize.py #### 依赖 - CUDA #### 可调参数 - 详见kernel.cu #### 可能存在的问题 - 有可能需要根据自身环境修改项目文件PoissonSolver.vcxproj中cuda本地依赖CUDA **.*.targets - 最好使用CMake版本本地build --- ## PythonFiles ### OutputErrorVisualize.py #### 功能 - 将PoissonSolver中,Solver阶段的输出可视化 #### 依赖 - Numpy ### TensorLyGenerator.py #### 功能 - 生成Poisson Kernel #### 依赖 - Numpy - TensorLy - scipy --- ## TaichiProjects ### AdvectionDemo.py #### 功能 - 根据Games 201课程代码修改了一小部分,几种不同的Advection方法测试 #### 依赖 - Taichi - ffmpeg将多个结果视频合成一个视频(可以手动注释掉合成的步骤) #### 可能存在的问题 - Taichi有些Bug - get_output_filename里面的extension is not None不正确,extension空为‘’应该用len(extension) == 0判断 - clear_frames里面os.remove(fn),里面没有文件路径,需要添加self.frame_directory - VideoManager的路径似乎不支持中文 ### SimulationDemo #### 功能 - 一个分离Advection、Projection、Scene的流体模拟框架 #### 依赖 - Taichi #### 结构 - Simulation.py为启动项 - 详细见SimulationDemo/README.md ## 文献 ### 欧拉法 Stable Fluids BFECC MacCormack SCPF Bimocq: https://dl.acm.org/doi/10.1145/3306346.3322945 Covector: https://cseweb.ucsd.edu/~viscomp/projects/SIG22CovectorFluids/ Reflection: https://jzehnder.me/publications/advectionReflection/ Second-Order: https://dl.acm.org/doi/10.1145/3340257 Schrödinger's Smoke: https://cseweb.ucsd.edu/~alchern/projects/SchrodingersSmoke/ ### 欧拉混合拉格朗日 FLIP: APIC: https://dl.acm.org/doi/10.1145/2766996 PolyPIC: ### Advection DMC: https://epubs.siam.org/doi/10.1137/17M1114648 MCM: https://dl.acm.org/doi/10.1145/3145749.3149443, https://people.computing.clemson.edu/~jtessen/reports/papers_files/CMFluids.pdf ### Projection CG: https://en.wikipedia.org/wiki/Conjugate_gradient_method MultiGrid: https://www.wias-berlin.de/people/john/LEHRE/MULTIGRID/multigrid.pdf ### 杂项 Advection: http://www.slis.tsukuba.ac.jp/~fujisawa.makoto.fu/cgi-bin/wiki/index.php?%B0%DC%CE%AE%CB%A1#notefoot_1 ### TODO Curl-Flow: https://jumyung-jc-chang.com/research/CurlFlowSA22