Games201-拉格朗日视角有限元

概念#

Deformation 形变 and deformation gradients 形变梯度

elastic 弹性

Strain and stress

Hyperelastic material model 超弹性模型

线性有限元

elastic 弹性的

viscoelastic 粘性的

elastoplastic 弹塑性的

viscopplastic 粘塑性的

有限元的教程

链接:http://www.femdefo.org/

mpm论文https://www.seas.upenn.edu/~cffjiang/research/mpmcourse/mpmcourse.pdf

形变#

现在的材料位置和静止时的材料位置的变化

deformation map:把静止位置映射到形变位置 描述形变,形变梯度也是十分重要的一个点

按边形变的demo

有限元方法弹性模拟,显式的 demo 有限元处理自碰撞难以处理

弹性#

回复自己静止状态的性质,是很多材料的基础

Hyperelasticity 超弹性

Hyperelastic materials: materials whose stress–strain relationship is defined by a strain energy density function

ψ = ψ(F)

Intuitive understanding: ψ is a potential function that penalizes deformation.

“Stress”: the material’s internal elastic forces. 应力

“Strain”: just replace it with deformation gradients F for now 应变

stress tensor 材料微元的施加的力,材料微元之间的相互作用

可以看成一个3x3的矩阵

有很多种stress tensor 几种tensor可以转化

rest space 静止空间(对应的是形变以后的空间)

traction 牵引力

Young's modulus 杨氏模量E

泊松比v 是正的,比较大,会接近不可压缩体积,橡皮筋中间越拉越细,也有材料有负的泊松比,3d打印会有负的泊松比,泊松比是0是表示橡皮筋中间不会随着拉长而变化,不会保持自己的体积

一边回指定杨氏模量和泊松比,Bulk modulus一般是模拟可压缩液体时候用到

常见的超弹性模型#

各项同性材质使用Neo-Hookean

默认都是neo-hookean 如果形变很小会用Linear elasticity导出的一般都是线性方程,Linear elasticity的材料旋转有可能会出现旋转后体积变大而不受到任何物理惩罚的情况(势能不变)

Fixed Corotated是对Linear elasticity的改进版本,为了解决旋转体积变大的问题

FEM#

强行式在离散情况下描述物理系统不适用,逐点满足转化成方程的residual和test func的积分得到满足

把空间分成很小的element ,单体,三角形,正方形,四面体,六面体

PDE:偏微分方程式 (Partial differential equation)

能量密度函数关于体积的积分积出来就是弹性势能

Linear tetrahedral finite element#

线性三角元素的有限元

形变梯度F是一个常量

求弹性势能,力其实就是势能关于位置求导数 再乘上一个 负一

B是两列的矩阵,一列是a_rest-c_rest 二列是b_rest-c_rest

向量方程

链式法则的求导吧

势能关于顶点位置的导数再取一个负等于顶点受到的力,

总的弹性势能等于所有的element弹性势能之和

自动微分,非常重要,比起自己手动推公式,taichi可以通过定义势能然后可以自动求微分

如果使用自动微分就只需要定义ft,i=Uxi,定义计算总的弹性能量的函数

ti.Tape传入需要记录的能量变化,在每一次执行某个函数后记录一下能量微分

隐式的有限元需要求二阶导数,非常复杂,自动微分不能求二阶导数

求二阶导需要了解简化方法

作者:FlyingZiming

出处:https://www.cnblogs.com/FlyingZiming/p/14459037.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

但行好事,莫问前程。

posted @   飞翔的子明  阅读(400)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu