我正在尝试用python计算我人工变形的立方体上的Large(Langrangian/Green) Strains。我在计算变形矩阵时遇到困难,F:
立方体坐标为x1和x2
x1 = [[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [1.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 1.0],[0.0, 1.0, 1.0], [1.0, 1.0, 1.0]]
x2 = [[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [1.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.5, 0.0, 1.5],[0.0, 1.5, 1.5], [2.0, 2.0, 2.0]]
global_coords[0] = x1
global_coords[1] = x2
def positions_at_t(global_coords, t):
gc = np.array(global_coords)
new_coords = gc[0] + t*(gc[1] - gc[0])
return list(new_coords)
gc[1]-g[2]
就像我们上面看到的,随着时间的推移,它是一个渐变。但问题是它是在一个8x3矩阵中定义的,正如我们期望的变形梯度是3x3。在
在这个网站上,他生成了定义点在(x,y,z)中移动的方程,然后与(x,y,z)微分得到F。有没有一个库可以用来得到这些方程?(还是坡度?)在
变形梯度,F
变形梯度描述为:
所以F的解是:
F=dX\dX
其中“\”是左矩阵除法,大致相当于inv(A)*B
这是一个有9个变量和9个方程的线性代数问题。在
绿色菌株
从http://www.continuummechanics.org/greenstrain.html:
在python中使用numpy实现这一点如下所示:
相关问题 更多 >
编程相关推荐