使用 Gridap.jl 进行有限元分析;如何定义线弹性问题中的 Von Mises 应力?

Finite Element Analysis with Gridap.jl; how to define Von Mises stresses in Linear Elasticity problem?

提问人:Mattia Samiolo 提问时间:11/17/2023 最后编辑:Mattia Samiolo 更新时间:11/19/2023 访问量:25

问:

Gridap.jl 教程中,我正在努力计算 Von Mises 应力。我很想从社区获得有关如何以正确方式计算 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})

我能从你们那里得到一张支票吗?

Julia 有限元分析

评论


答:

1赞 Mattia Samiolo 11/19/2023 #1

uh是一种类型,因此偏应力不变性也将是。因此,应使用函数组合运算符进行计算,如下所示。CellFieldj_2

sigma_vm =  sqrt ∘ (3 / 2 * j_2)

感谢 Gridap.jl gitter 社区的 JordiManyer (Jordi Manyer Fuertes)