# zaran **Repository Path**: feaSYtech/zaran ## Basic Information - **Project Name**: zaran - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-07-14 - **Last Updated**: 2024-09-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 关于zaran 可压缩Navier-Stokes方程GPU解算器 ## windows下的依赖安装 ### Visual Studio 2019 安装 参照vistual studio官方[安装教程](https://visualstudio.microsoft.com/zh-hans/vs/) ### cuda 安装 对于windows平台,需要[cuda10.2](https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal)或以上版本 cuda其他版本[下载](https://developer.nvidia.com/cuda-toolkit-archive) ### VTKm安装 zaran依赖[VTKm](https://m.vtk.org/)库,VTKm的代码[仓库地址](https://gitlab.kitware.com/vtk/vtk-m), 关于VTKm的介绍,可下载这个[PPT](https://m-old.vtk.org/images/f/f3/VTKm_Tutorial_VIS19.pptx), 更多信息,参考官方[用户指南](https://gitlab.kitware.com/vtk/vtk-m-user-guide/-/wikis/home), [zanran](https://gitee.com/feaSYtech/zaran)使用了VTKm的最新版本为v1.6 ##### 下载vtkm ``` git clone https://gitlab.kitware.com/vtk/vtk-m/ git checkout v1.6.0-rc2 ``` ##### 编译安装 在vtkm文件夹上右键,用Vistual Studio打开 VS2017之后,内置了对cmake的支持,省去使用cmake-gui生成sln的步骤,更方便使用。 打开vtkm源码之后,vistual studio搜索到vtkm文件夹下的存在CMakeLists.txt,调用内置的cmake构建器 可使用管理配置进行编译配置,如配置Release或Debug编译,以及编译器选择。编译器可选择msvc或clang, 甚至远程服务器上的编译环境。 编译前对VTKm进行配置 其中: + VTKm_ENABLE_CUDA: 是否打开GPU编译 + VTKm_ENABLE_RENDERING: 是否打开内置渲染模块,打开 + VTKm_USER_DOUBLE_PRECISION:是否使用双精度,关闭,桌面显卡的双精度性能很差 其他选项默认即可。 配置好选项之后,保存,vistual studio自动使用内置cmake生成,之后进行编译,安装即可。 编译过程会使用并行编译,根据机器性能,cpu版本约10分钟,gpu版本约30分钟。安装的路径在`vtkm/out/install/*`下, 根据不同配置名称生成相应的文件夹,方便第三方库切换使用。 ## zaran的编译 ``` git clone https://gitee.com/feaSYtech/zaran ``` 同样,右键zaran文件夹,使用vistual studio打开,配置 其中`VTKm_DIR`选择安装好的vtkm路径,zaran会根据VTKm的配置是否启用cuda,编译gpu版本 ## zaran运行 编译之后,在`zaran\out\build\x64-release-gpu\core`为可执行文件路径 其中`zaran.exe`为可执行文件,使用cmd或powershell即可运行 ``` zaran.exe -i xxx.i ``` zaran需要一个配置文件,设置运行的参数。 #### config文件 配置文件为 `.i` 作为后缀 ``` [Mesh] dims = '200 200' x_range = '0 4' y_range = '0 2' z_range = '0 1' [] [Executioner] steps = 100000 dt = 4e-04 [] ``` *配置文件的结构和参数会随着程序开发改变* 2DRiemann问题的运行结果: ## 开发路线图 - [x] 加入fmt - [x] 加入gtest,放在contrib目录下 - [x] 加入getpot,放在contrib目录下 - [x] 文件目录结构重构 - [ ] zaran作为命名空间