zoukankan      html  css  js  c++  java
  • 材料硬度的局部控制

    Rig-Space Physics论文中,提到了一种控制模型硬度的方法。

    此方法的关键是找到一种途径,缩放每个四面体元素的硬度。

    最直接的思路是,把某个位移下,参数空间的恢复力表示成四面体元素硬度的函数。这样,让某个恢复力增大k倍,再反求出此时四面体元素的硬度。
    但是有一个问题,那就是多数本构模型都是非线性的,函数关系十分复杂,基本上不可能求解。
    (似乎不一定,因为恢复力是位移的非线性函数,但一般来说是硬度的线性函数)

    论文的解决办法是,考虑恢复力的导数。因为若恢复力增大k倍,则恢复力对位移的导数必然也增大k倍。而某点恢复力的导数是可以用矩阵表示的(T = tangent stiffness matrix),矩阵的每个元素都是四面体元素硬度加权和。
    参数空间的恢复力导数Hp = J^T * T(e1,...en) * J, 
    现在令 S * Hp = Hp' = J^T * T(e1,...en) * J, 解出元素硬度 e1...en即可。

    当前的实现方法可以是有两种:
    1.先计算参数的不同取值下的几组 tangent stiffness matrix,再换算出参数空间的恢复力导数,想办法把恢复力导数表示成元素硬度的线性函数,最后解方程。
    2.改为计算参数的不同取值下每个元素对其顶点产生的恢复力,分别存起来,再换算成参数空间的恢复力,把参数空间恢复力表示成元素硬度的线性函数,最后解方程。

    另一个要考虑的是解方程的方法。论文中用的是二次规划,倍数都加上正数约束,同时最小化的函数加上一项 Σ (μ-1)^2。具体方法有待研究。




  • 相关阅读:
    hdoj Last non-zero Digit in N! 【数论】
    spin_lock & mutex_lock的差别?
    20140514,微软5月14日公布8个安全补丁
    教你用笔记本破解无线路由器password
    SSL工作原理
    MS-SQLSERVER中的MSDTC不可用解决方法
    grub2手动引导ubuntu
    用递归翻转一个栈 Reverse a stack using recursion
    腾讯面试
    AngularJS移动开发中的坑汇总
  • 原文地址:https://www.cnblogs.com/dydx/p/4347456.html
Copyright © 2011-2022 走看看