学习教程来自:GAMES201:高级物理引擎实战指南2020
以下大部分图片来自教程PPT,仅作为笔记用于学习和分享,侵删

笔记内容大多为课程内容的翻译和转述,外加一些自己的理解,若有不正确的地方恳请大家交流和指正

上一讲难产了,不知道能不能补过来了,先学这一讲吧hh

笔记

这节本质上是使用有限元的方法,最终得到一个线性系统用于求解。

1. FEM(Finite element method)

Galerkin methods(加辽金方法)的一种,FEM将continuous PDEs转化为线性系统,用于后续求解
步骤:

  1. 将强型PDEs转化为弱型PDEs
  2. 分步积分
  3. 散度定理进一步简化偏微分方程并得到诺依曼(Neumann)边界条件的显式形式
  4. 离散化
  5. 求解线性系统

2D Poisson’s equation 2维泊松方程:拉普拉斯方程是泊松方程的简化形式(来自知乎知乎用户Csa5DY),所以简单理解的话这里说的方程严格来说是拉普拉斯方程,但也算是泊松方程

Dirichlet boundary:狄利克雷边界条件/第一类边界条件,直接给定u在边界上的值

Neumann boundary:诺依曼边界条件/第二类边界条件,为u在边界上导数/梯度的值乘以法线方向

2. 离散化求解泊松方程

2.1 化简

首先,用一个任意的二维标量函数w(x),与强型式∇·∇u相乘,可以得到

另外,用w直接与∇u相乘再求导,并展开(求导的展开)化简(∇·∇u=0)得到

2边同时积分可得下方右项,因此推导成立

散度定理(Divergence theorem):一个体积内对x散度的面积分 = 边界上的向量函数x和法向量点乘,绕边界的线积分
因此可推

2.2 离散

用线性的基函数ϕ模拟连续函数u(x),如下为二维

三维情况下,图片来源2D basis functions on a triangular mesh

带入2.1结尾方程,同时离散化函数w和函数u

抽出对uj求和的部分

引入矩阵形式:
K:“stiffness” matrix 刚度矩阵
u: degree of freedoms/solution vector 自由度/解向量
f: load vector

其中有

2.3 边界条件

将u替换为对应的边界条件规定的关系

3. Linear elasticity FEM 线性弹性有限元

柯西动量方程:速度求拉格朗日导数(即加速度) = 1/密度 乘以 柯西stress tensor的散度 + 体积力/重力加速度

准静态过程下:速度很小为0,重力为0

自由度 Degree of freedom:displacement u(新的位置减去旧的位置)

3.1 求解-FEM方法

Index notion:用 , 表示求导,αβγ对应xyz轴,则原方程变化为

其中求散度的部分乘以w

分步积分

约掉为0的部分

2边积分,并使用散度定理

离散化w和u

带入

求其中σ和u的关系(线性关系)

替换符号标记表示为

带入得到线性系统Ku = f

4. Topology optimization 拓扑优化

是一种根据给定的负载情况、约束条件和性能指标,在给定的设计区域内对材料分布进行优化的数学方法,是结构优化的一种。(来自知乎拓扑优化(Topology Optimization)浅谈)

Games201学习笔记5:线性弹性有限元相关推荐

  1. Games201学习笔记2:拉格朗日视角2

    学习教程来自:GAMES201:高级物理引擎实战指南2020 以下大部分图片来自教程PPT,仅作为笔记用于学习和分享,侵删 笔记内容大多为课程内容的翻译和转述,外加一些自己的理解,若有不正确的地方恳请 ...

  2. Games201学习笔记3:欧拉视角

    学习教程来自:GAMES201:高级物理引擎实战指南2020 以下大部分图片来自教程PPT,仅作为笔记用于学习和分享,侵删 笔记内容大多为课程内容的翻译和转述,外加一些自己的理解,若有不正确的地方恳请 ...

  3. TensorFlow 深度学习笔记 从线性分类器到深度神经网络

    转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 L ...

  4. 【入门建议收藏】密码学学习笔记之线性分析入门篇——EzSPN

    前言 上一篇了解了一下差分分析,这次我们结合一道CTF题目聊一聊线性分析 同属于选择明文的差分分析不同,线性分析属于已知明文攻击方法,它通过寻找明文和密文之间的一个"有效"的线性逼 ...

  5. 《信号与系统学习笔记》—线性时不变系统(一)

    注:本博客是基于奥本海姆<信号与系统>第二版编写,主要是为了自己学习的复习与加深. 一.离散时间线性时不变系统:卷积和 一).用脉冲表示离散时间信号 1.如何把任何离散时间时间信号看成由离 ...

  6. 深度学习 笔记(线性神经网络)

    3.1. 线性回归 - 动手学深度学习 2.0.0-beta1 documentation 目录 3.1. 线性回归 - 动手学深度学习 2.0.0-beta1 documentation 3.1 线 ...

  7. 《离散时间信号处理学习笔记》—线性时不变系统的变换分析(一)

    注:本博客是基于奥本海姆<离散时间信号处理>第三版编写,主要是为了自己学习的复习与加深. 一.LTI系统的频率响应 一).频率响应相位和群延迟 1.在各频率点上的频率响应通常为一个复数.若 ...

  8. 《离散时间信号处理学习笔记》—线性时不变系统的变换分析(二)

    注:本博客是基于奥本海姆<离散时间信号处理>第三版编写,主要是为了自己学习的复习与加深. 一.最小相位系统 一).最小相位和全通系统 1.任何有理系统函数都能表示成 式5.1 式中是最小相 ...

  9. Android学习笔记(11):线性布局LinearLayout

    线性布局LinearLayout是指在横向或是竖向一个接一个地排列.当排列的组件超出屏幕后,超出的组件将不会再显示出来. LinearLayout支持的XML属性和相应方法如表所看到的: Attrib ...

最新文章

  1. Activex test contact failed to create control 未指定的错误 控件无法加载的原因
  2. sklearn计算两个向量之间的距离
  3. 黑客攻击我们的11步详解及防御建议
  4. python函数和模块有什么关键特性_Python学习----第一模块笔记(Python基础知识)...
  5. matlab三角形分割,MATLAB 2014b及以上版本中带有画家渲染器的三角形拆分补丁
  6. 作死把mysql root用户的权限给去掉了或者忘记密码了怎么办
  7. 9-13 ruby环境准备
  8. 鸿蒙开发者大会邀请函,将召开史上最大规模开发者大会,华为抓紧调试“鸿蒙”系统...
  9. c语言编程有限次数猜数游戏,用c语言编程猜数字
  10. 文献标识码与参考文献
  11. 上帝为什么不直接把魔鬼撒但这等邪…
  12. 如何卸载电脑中linux系统软件,Linux下如何卸载软件
  13. 十五款固态硬盘收获季节展示
  14. BootStrap4登录表单验证示例
  15. macbook苹果电脑新手快速上手
  16. Asterisk 使用札记
  17. 如何改变Dev-C++的背景色
  18. 前程无忧导出的简历是php,前程无忧怎么导出简历 前程无忧个人简历导出方法...
  19. 高权重网站外链如何建设和打造?
  20. hexo支持mathjax

热门文章

  1. 大数据平台安全培训.ppt
  2. SecureCRT分屏显示
  3. 可能造成系统自动重启原因
  4. 极路由2运行python安装_极路由4pro(HC5962)安装python
  5. 连接计算机的恰当方法,要组建一个拥有20台计算机联网的电子阅览室,连接这些计算机的恰当方法是...
  6. 1500ml等于多少l_0.9%氯化钠是多少mmol/L,17mmol钠盐相当于1g钠。
  7. window下安装mongoDB
  8. 电子货架标签------2.9寸无源电子墨水卡片
  9. 如何写一个完整的django网站:配置环境啥的不讲(python+mysql+html相关) 叁
  10. ,,,,,《《》》,,,,,