fenics中的张量符号

计算科学 芬尼克斯
2021-12-05 04:03:25

在 Fenics 中,使用什么顺序将向量存储为上三角矩阵?问题真的是我用以下方式定义了一个绿色的拉格朗日应变张量:

V = VectorFunctionSpace(mesh, "Lagrange", 1)
u  = Function(V)
I = Identity(V.cell().d)    # Identity tensor
F = I + grad(u)             # Deformation gradient
C = F.T*F                   # Right Cauchy-Green tensor
E = (C-I)/2                 #green strain tensor

但是当我稍后访问这些元素时,

psi = stress1*E[0,0]+stress2*E[1,1]+stress3*(E[2,2])+stress4*E[1,2]+stress5*E[0,2]+stress6*E[0,1]

我假设了 Voigt 符号,但在我看来,情况可能并非如此。使用这种方法来初始化应变张量是我应该使用的符号还是有不同的类型或初始化更合适?

谢谢你的帮助。

1个回答

在此处添加答案,以防其他人偶然发现它。答案来自 fenics 开发者 Anders Logg

您对张量 F、C、E 的定义是正确的。FEniCS 对 Voigt 表示法一无所知,因此您需要直接以 E[0, 0] 等方式访问组件。