lavenklau / homo3d

An Optimized, Easy-to-use, Open-source GPU Solver for Large-scale Inverse Homogenization Problems
GNU General Public License v2.0
45 stars 13 forks source link

[已解决]在给定OpenVDB文件输入下优化泊松比时代码报错 #5

Closed Xingyao-lhc closed 1 year ago

Xingyao-lhc commented 1 year ago

我正在尝试使用homo3d优化器,把给定模型的泊松比优化到更低水平。我已经使用OpenVDB将分辨率为128的体素文件成功转换为.vdb格式,并在Blender中导入和可视化。该模型的体积分数为5%,在给定基材料下的泊松比为-0.035。

我试图在保证体积分数不变的情况下进行优化。这是我的输入: ./homo3d -reso 128 -obj npr -init manual -vol 0.05 -mu 0.35 -prefix /mnt/d/code/homo3d/dataset -in /mnt/d/code/homo3d/dataset/input.vdb 模型input.txt(上传不了.vdb格式,只好先改成.txt了)如图:

我不确定在保持体积分数为5%不变的情况下是否能成功进行优化。目前在运行代码时出现了一些报错,请问可以帮忙看一下是什么问题吗?或者我应该将初始vdb模型的体积分数调高一些,比如20%或者30%,再优化到5%,这样就能优化模型的泊松比了?

Xingyao-lhc commented 1 year ago

在仔细读了一遍您的论文后,我发现问题所在了:每个体素的密度范围是在[0.001, 1]之间,不能为0。而我在将体素转换为.vdb文件时,直接将密度设为0或者1这两个值,最终导致了计算error。

lavenklau commented 1 year ago

谢谢反馈, 我在新的提交5ce24b7中添加了对输入密度的clamp处理。现在所有输入都会被限制在[0.001,1]中。