自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(374)
  • 资源 (2)
  • 收藏
  • 关注

原创 【持续更新】总结国内外图形学物理模拟相关学者和网站

总结图形学物理模拟相关学者和个人网站仅做个人笔记所用。欢迎在评论区补充!国外学者Matthias MüllerNV物理组的leader,1999年博士毕业于苏黎世理工博士论文是研究聚合物分子动力学模拟的,后研究图形学。XPBD作者之一。早期曾经研究SPH模拟变形体研究领域:PBD、SPHhttps://matthias-research.github.io/pages/Theodore Kim耶鲁大学副教授,曾任皮克斯高级研究员.曾参与寻梦环游记等动画制作PS: 2020年有一篇S

2022-03-30 12:23:39 5714 6

原创 安装amgcl

你要把设置参数之类的放在main函数里面。每个case都是个单独的main函数。BOOST和MPI不需要安装也行。安装BOOST之后可以运行时指定参数。这是个header-only的库,不需要安装。编译poisson3Db example。下载数据(matrix maket格式)解压到amgcl根目录。

2024-10-18 12:00:46 174

原创 用一维数组存储不等长的二维数组的方法

start存储每行起始的下标。start[0]必定是0。start[-1]必定是n(一维数组长度)。在numpy或者gpu中,通常会遇到不等长的二维数组,如果都用其最大长度存储,就会浪费许多内存。原本我希望取val2d[1,2] 即第1行第2个值(=e)的时候,等价于在val1d中求。我们只需要把2d数组flatten成一维数组,然后用辅助数组start即可存储。2维数组记为val2d,1维数组记为val1d。第1行:[c, d, e]即val1d[4] = e。

2024-09-25 20:51:53 154

原创 安装pyamgx

将pyamgx/demo.py的前几部分改为下面的代码,并且运行。然后在pyamgx下。

2024-09-25 01:30:22 315

原创 在当前终端加载“x64 Native Tools Command Prompt for VS 2022“

加入到系统PATH中。

2024-09-24 17:03:41 196

原创 使用vscode debug cpp/python混合编程的程序(从python调用的C++编译的dll)

拷贝自 https://marketplace.visualstudio.com/items?采用了attach process的方式,大致是根据dll的process id将debugger挂载上去。

2024-09-03 19:10:24 634

原创 bibtex引用网页的方式和wiki网页的方式

online也可以换成misc。

2024-08-20 17:03:52 264

原创 Houdini 通过wedge来做模拟参数对比 (PDG TOP)

更改参数:attribute name处填入刚才那个变量的名字(如stretchstiffness), 其他的就表示要从-10变动到10,然后共10个点。在打开的窗口中输入P@streachstiffnessexp (只要是@后面随便起个名字就行, P@表示PDG能够找到的变量)这是个简单的布料悬挂的例子。指定输出的文件路径(这里P@wedgeindex表示是第几个小绿点,例如0到9)我们现在的目的是想要对比不同的streach stiffness对模拟的影响。这个节点是用来输出结果到文件的。

2024-06-27 02:08:39 592

原创 进入python时自动运行代码

方法2是设置PYTHONSTARTUP环境变量为一个启动脚本的路径。

2024-06-07 18:40:04 209

原创 进入ipython自动引入numpy

首先找到ipython_config.py文件。更多请看ipython_config的用法请看。

2024-06-07 18:31:46 392

原创 Houdini pbd_constraints.h的文件位置

Houdini安装目录下的houdini\vex\include文件夹。

2024-06-04 20:59:11 248

原创 推导Hessian of XPBD

那么如何求C的二阶导数呢。

2024-06-04 17:16:03 201

原创 推导 Primal Residual XPBD

原本的XPBD(Macklin 2016)Chen2023主张左边的红色二阶项可以舍掉,但右边的g(也就是Primal residual) 应该恢复。因为左端那个是Quasi Newton的常见做法。而舍弃右边需要保证lambda很小才成立。舍掉会导致XPBD残差下降停滞,仿真不稳定。

2024-05-20 13:57:58 400

原创 pyamg Smoothed Aggregation算法流程

设置如下算例。分两步,第一步是setup,第二步是solve。第一步的目的就是得到P等。

2024-05-16 17:14:45 390

原创 Newton法求解布料

【GAMES103-基于物理的计算机动画入门】 【精准空降到 1:25:38】 https://www.bilibili.com/video/BV12Q4y1S73g/?

2024-03-18 16:36:00 893

原创 python局域网共享文件 http server

【代码】python局域网共享文件 http server。

2024-03-16 00:57:51 522

原创 Debug Eigen

(下载地址: https://gitlab.com/libeigen/eigen/-/blob/master/debug/msvc/eigen.natvis )(如果你git clone过Eigen文件夹,就发现它就在Eigen源码的Debug目录下面)假如我们直接想要检查Eigen中的VectorXf的值,我们会发现无法看到内部的值,如图。(其中%VSINSTALLDIR%是Visual studio的安装目录)只需要下载eigen.natvis这个文件,然后放到下面的目录即可。

2024-02-01 23:59:28 631

原创 zeno编译

/step 0//step 1//step 2。

2023-10-11 16:25:47 701

原创 WSL无法保存文件(权限不足)

其中username是你的用户名。

2023-09-11 20:42:12 1075

原创 git proxy

【代码】git proxy。

2023-09-05 08:01:38 677

原创 Houdini vex清除过远的离散点(outliers)

filter num控制最小邻居数目。filter dist控制最小距离。

2023-08-07 11:08:26 904

原创 Houdini中获取matrix的属性需要getcomp函数

matrix3x3的type是3@xxx。直接写mat[0][0]是错误的。

2023-08-04 16:31:09 628

原创 houdini vex中的属性类型(attribute)

https://www.sidefx.com/docs/houdini/vex/snippets.html#parameters

2023-08-04 16:20:34 970

原创 ziran2019调用栈

admm1所处文件所处函数行号执行语句main.cppmain98h.start();AdmmInit.hstart38sim.simulate();SimulationBase.hsimulate347advanceOneFrame();AdmmSimulationFoam.hadvanceOneTimeStep813admmStep();AdmmSimulationFoam.hadmmStep781FStep(local_t

2023-08-04 11:52:25 605

原创 wsl安装ziran2019

是为了翻墙的话走代理。否则github clone的很慢。但是在Windows的硬盘创建文件的时候会出现权限问题,参考这个帖子。首先从windows商店搜索ubuntu18。注:WSL可以访问windows上的硬盘。然后重启WSL或重启windows即可。(我是用的wsl一代,二代没测试过)然后照着README安装即可。(亲测Ubuntu20不行)新安装的系统首先要更新apt。然后第一次打开会自动安装。

2023-08-03 22:21:20 1143

原创 Houdini查看参数能用的内置变量($符号开头的变量)

在某个参数上,右键,reference, local variable就能看到。

2023-07-30 17:12:43 975

原创 houdini命令行工具iconvert批量转换exr图片为png

【代码】houdini命令行工具iconvert批量转换exr图片为png。

2023-07-27 22:33:36 758

原创 【splishsplash】volumeSampling:粒子化采样的小工具

输出的vtk可以使用paraview预览或者使用python的meshio库读入。功能:输入一个obj文件,输出一个在体积内采样好的粒子文件(vtk)以查看粒子的平均半径是多少。类似于Houdini的。或者trimesh的。

2023-07-27 15:45:59 686

原创 如何将矩阵乘法改写成matrix free的形式

M存储:实际上存每个M的倒数。inv_mass数组为Nx1的。例如之前是1,2,3, 扩容后是1,1,1,2,2,2,3,3,3。col_ind: col_ind是从tet_indices得到的。它也需要扩容, 例如之前是1,2,3, 扩容后是1,2,3,4,5,6,7,8,9。其中gradC是mx3n的矩阵,它是CSR格式的,每行有12个非零值。M是对角矩阵,3nx3n。alpha_tilde是对角矩阵。同时有一个辅助的数组为col_ind,也是Mx12。col_ind记录的是每行的列下标。

2023-07-21 17:38:29 704

原创 使用scipy的kdtree寻找最近邻点

因为第一个点必定是自己所以找俩。返回的是两个np array。第一个是所有的最小距离,第二个是所有的最近点index。

2023-07-18 14:20:24 1129

原创 vscode debug的方式(launch.json) vs code

在.vscode文件夹下建立launch.json。

2023-07-18 11:01:49 3489

原创 使用cProfile来对python程序进行性能调优(各个函数耗时/火焰图)

性能调优就是打印出来每个函数的耗时。用一个图来表示的话,叫做火焰图。flamegraph。

2023-07-06 10:04:28 1676

原创 vscode launch.json与tasks.json

launch.json: 用于debug。tasks.json: 用于执行一切任务。

2023-05-18 15:05:39 1131

原创 houdini vex 查找最近点的距离

值得注意的是,不能使用nearpoint,因为会找到最近的点是自己(很无语)。所以用nearpoint的maxpts参数设为2,则找到的第二个点恰好就是最近点(第一个点是自己)

2023-04-05 23:06:50 1268

原创 Neohooken PBD 文献笔记

以上的能量密度分为CH与CD两项。CD就是应力偏量造成的弹性力。由于constraint对应的是单元能量,而能量密度只是与单元能量差了一个体积。所以通过对应关系我们可以找到deviatoric alpha与材料参数的对应关系。实际上,为了保证rest stability(也就是变形为0的时候不受力),需要对Hydrostatic项进行修正。显然CD是无法完全对应到psiD的,主要就是差了一个减去常数3。所以CD对应于平移了3mu/2的能量密度。定义能量密度为cosntraint的函数。

2023-04-03 11:39:04 1251

原创 taichi windows编译 build from source

然后install python whel。

2023-03-30 16:10:48 699

原创 Everything about PBD:关于PBD的一切!

原始PBD可以认为是alpha为0的系统,因此是刚度无穷大的系统,条件数比较大。但是它是能够产生三维的变形的。根据刘天添的fast simulation of mass-spring system 中的论证,XPBD相当于是隐式的欧拉时间积分。或者说是沿着绳子的截面的法向量,它是四元数的函数。描述刚体与粒子系统的不同之处在于,我们要求解的变量不再是粒子的位置,而是刚体的平移和旋转。我们可以设计出多种多样的constraints,比如体积约束,距离约束,应变约束,流体密度约束,刚体约束,塑性约束等等…

2023-03-29 17:48:45 3355

原创 【读文献】primal dual PBD

上市可以认为是广义坐标系下的速度(实际上是广义坐标的时间导数)与直角坐标系下的速度u的关系。又因为我们采用了最简单的显式时间积分,速度和位置之间只不过是乘以个dt的关系,而dt是个常数,因此是线性的。上市可以认为是广义坐标系下的速度(实际上是广义坐标的时间导数)与直角坐标系下的速度u的关系。又因为我们采用了最简单的显式时间积分,速度和位置之间只不过是乘以个dt的关系,而dt是个常数,因此是线性的。我们这里不加上标的q都默认是q+. 因为q-是已知量(上一时刻的广义位置),而只有下一时刻的位置q+是未知量。

2023-03-27 16:20:24 943

原创 【Houdini】fluid particle surface 节点

需要在Regions中打开subtract from collision volumes。第三个输入端口可以在表面重建前减去部分。

2023-03-25 22:09:13 1388

原创 【Houdini】使用karma赋予材质

这是因为USD的文件存储结构和旧的材质旧不太一样。所以任何旧的东西(包括材质、表面等)都要先导入到USD当中,相当于做一次格式转换,然后后续使用的时候,都要使用转换后的。也就是说,USD目前是出于一种半封闭状态的,其他的不太和它兼容,要想使用,就得先转换一下。一个很常见的混淆是Material VOP和Material Path。前者是用来导入旧的材质的(除了MTLX材质以外的任何材质)至于为什么要分这两步,并且还要分开旧材质和新材质呢?后者是专门导入MTLX新材质的。

2023-03-20 17:08:17 878

biomass_papers_noPDF_2020-8-19.enlx

自用参考文献备份 自用生物质,流化床,拉格朗日法参考文献集合 endnote导入 不带PDF文件附件 2020-8-19 共计126篇

2020-08-19

paraview.zip

包括user guide, ppt,和user guide教程里所用的例子。先保存下,方便随时查看。

2020-01-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除