基于网格的六面体网格生成中的广义自适应细化程序编译【Generalized Adaptive Refinement for Grid-based Hexahedral Meshing】

这篇文章发表于以下期刊(计算机图形学顶刊):

ACM Transactions on Graphics (TOG), Volume 40, Issuefa

主要是描述了在使用八叉树进行纯六面体网格生成过程中的平衡与配对算法,提出了一种基于整数线性规划的的广义自适应细化,因为在原有强平衡的规则下在许多不必要的地方会进行细化从而导致了性能瓶颈,但该篇文章所提出的细化规则在最优情况下可以减少一半的六面体生成数量,如下图所示:

本篇博客主要是对它的源码进行编译,以便于后续的学习:

代码CLONE

①首先使用git clone url = https://github.com/cg3hci/Gen-Adapt-Ref-for-Hexmeshing.git

②检查以下external目录下的Cinolib有没有成功拉取,若没有成功拉取使用git clone进行拉取 url=https://github.com/mlivesu/cinolib.git

Gurobi下载与激活

③由于使用到了整数线性规划,因此我们必须获取gurobi的编译库,这里额外说明一下,Gurobi是由美国 Gurobi Optimization 公司开发新一代大规模优化器。The Leader in Decision Intelligence Technology - Gurobi Optimization

因此可以购买该软件的商业许可或者你如果是在校的学生那么你可以申请一个教育许可证(1年),每年都可以进行申请,申请步骤请参考gurobi中国官网的说明,申请速度很快(大大给一个赞)我是周六下午五点申请,晚上八点就拿到了许可证,获取许可证之前记得先下载一下软件;

Cmkae程序编译


④开始使用cmake进行编译

这里要注意会使用到CGAL GMP MPFR 等三方库,我这边是使用的vspkg进行编译的(使用vspkg对CGAL install 时GMP MPFR 会帮你安装好,所以怕麻烦的话可以去CGAL官网看一下如何使用vspkg进行CGAL 的安装),但是你如果使用默认编译器的话需要自己手动去链接库(难度不高,百度一下CGAL 的三方库依赖安装即可)

⑤Gurobi的路径如下图所示

这里需要特殊说明一下,lib我只链接了gurobi_c++md2017.lib(动态运行库)以及gurobi120.lib(主库),如果全链接的话可能会出错

主要是

⑥Configure之后没报错就Generate就行

项目属性修改

⑦打开bulid目录下的make_grid.sln

生成一下项目make_grid会发现vs提示以下报错,说明项目属性没有修改

⑧修改make_grid项目属性后在进行生成就可以成功

右键属性>>C/C++>>代码生成>>运行库修改为多线程DLL(/MD)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值