根据 Gridap.jl 教程,我正在努力计算 Von Mises 应力。我很想获得社区关于如何以正确的方式计算冯·米塞斯应力的反馈。在这种特殊情况下,我无法计算
j_2
: 的平方根
using LinearAlgebra: tr
hydrostatic_σ = tr(σ ∘ (ε(uh))) / 3
deviatoric_σ = σ ∘ (ε(uh)) - hydrostatic_σ
j_2 = 1/2 * deviatoric_σ ⊙ deviatoric_σ # deviatoric stress invariant = j_2 = 1/2 ∑σ_dev_ij^2
sigma_vm = sqrt.(3/2 * j_2) ## DOES NOT WORK
错误是:
ERROR: LoadError: MethodError: no method matching length(::Gridap.CellData.OperationCellField{ReferenceDomain})
我可以向你要一张支票吗?
uh
是 CellField
类型,因此偏应力不变量 j_2
也是如此。因此,应该使用函数复合运算符 ∘
来进行计算,如下所示。
sigma_vm = sqrt ∘ (3 / 2 * j_2)
感谢来自 Gridap.jl gitter 社区的 JordiManyer (Jordi Manyer Fuertes)