Energy-based PINN在固体力学中的运用

news2024/12/27 15:04:46

简介

物理信息神经网络(Physic informed neural network,PINN)已经成为在有限差分、有限体积和有限元之后的另一种求解偏微分方程组的范式,受到学者们广泛关注。

在固体力学领域有两类不同的PINN:
(1)PDE-based method: 第一类使用神经网络表示位移场,将控制方程的残差直接引入神经网络的损失函数,通过梯度下降算法优化神经网络的权重和偏置,最终使得方程残差最小
(2)Energy-based method: 第二类使用神经网络表示位移场,将结构的总势能引入神经网络的损失函数,通过梯度下降算法优化神经网络的权重和偏置,最终使得结构的总势能最小。这种方法又被称为“深度里兹法”1,体现的是最小势能原理,可以参见变分原理与泛函分析教程。

二者在理论上是等价的,但是Energy-based方法在数学上更加直接,所以这里重点介绍第二类方法。

神经网络

PINN的神经网络通常都十分简单,输入空间坐标,经过隐藏层后,输出位移场。对于二维问题则输出两个量,对于三维问题则输出三个量。之所以要使用神经网络来表示解,是因为:
(1)神经网络是可微分的,使用自动求导机制可以精确地获得输出对输入的偏导数
(2)神经网络可以逼近任意复杂的连续函数。
在这里插入图片描述位移边界条件的定义方式可参见2
u ^ ( X , ϕ ) = A ( X ) + B ( X ) ∘ y ^ ( X , ϕ ) \hat{\boldsymbol{u}}(\boldsymbol{X}, \boldsymbol{\phi})=\boldsymbol{A}(\boldsymbol{X})+\boldsymbol{B}(\boldsymbol{X}) \circ \hat{\boldsymbol{y}}(\boldsymbol{X}, \boldsymbol{\phi}) u^(X,ϕ)=A(X)+B(X)y^(X,ϕ) B ( X ) B(X) B(X)为距离函数,当 X X X落在位移边界条件上时, B B B为0。 A ( X ) A(X) A(X)表示边界上的位移分布

应力边界条件以外力虚功的形式引入损失函数

损失函数为总势能,如下
L = ∫ Ω ψ ^ ( X , ϕ ) d Ω − ∫ Γ u ^ T ( X , ϕ ) t ‾ d Γ \mathcal{L}=\int_{\Omega} \hat{\psi}(\boldsymbol{X}, \boldsymbol{\phi}) d \Omega-\int_{\Gamma} \hat{\boldsymbol{u}}^{T}(\boldsymbol{X}, \boldsymbol{\phi}) \overline{\boldsymbol{t}} d \Gamma L=Ωψ^(X,ϕ)dΩΓu^T(X,ϕ)tdΓ第一项为整个体系的应变能,第二项为外力虚功对应的势能。特别地,如果只有位移边界条件而不存在应力边界条件,那么边界上的功为0.

损失函数达到最小即系统处于最小势能状态。此时,任意虚位移下,总势能都不变,内力虚功与外力虚功之和为0,系统处于平衡状态。

对于不同的材料(线弹性材料、超弹性材料、黏弹性材料),应变能密度 ψ ^ \hat{\psi} ψ^的表达式都是不同的,列于下方,具体含义见3

线弹性材料

ψ = 1 2 ε i j σ i j \psi=\frac{1}{2} \varepsilon_{i j} \sigma_{i j} ψ=21εijσij
应力由应变得到
σ = λ trace ⁡ ( ε ) I + 2 μ ε \boldsymbol{\sigma}=\lambda \operatorname{trace}(\varepsilon) \boldsymbol{I}+2 \mu \boldsymbol{\varepsilon} σ=λtrace(ε)I+2με应变由位移得到
ε = 1 2 ( ∇ u + ∇ u T ) \boldsymbol{\varepsilon}=\frac{1}{2}\left(\nabla \boldsymbol{u}+\nabla \boldsymbol{u}^{T}\right) ε=21(u+uT)

超弹性材料

ψ = ∑ r = 1 M 3 1 − α r 2 α r μ r ( I 1 α r − 3 α r ) − ∑ r = 1 M μ r ln ⁡ J + λ 2 ( J − 1 ) 2 \psi=\sum_{r=1}^{M} \frac{3^{1-\alpha_{r}}}{2 \alpha_{r}} \mu_{r}\left(I_{1}^{\alpha_{r}}-3^{\alpha_{r}}\right)-\sum_{r=1}^{M} \mu_{r} \ln J+\frac{\lambda}{2}(J-1)^{2} ψ=r=1M2αr31αrμr(I1αr3αr)r=1MμrlnJ+2λ(J1)2
第一不变量 I 1 I_1 I1、行列式 J J J等由变形梯度张量 F \boldsymbol{F} F确定

黏弹性材料

ψ = [ 1 2 ε i j L i j k l 0 ε k l + 1 2 ( ε i j − ε i j v ) L i j k l 1 ( ε k l − ε k l v ) ] + [ Δ t 1 2 ε ˙ i j v M i j k l ε ˙ k l v ] \psi = \left[ {{1 \over 2}{\varepsilon _{ij}}L_{ijkl}^0{\varepsilon _{kl}} + {1 \over 2}\left( {{\varepsilon _{ij}} - \varepsilon _{ij}^v} \right)L_{ijkl}^1\left( {{\varepsilon _{kl}} - \varepsilon _{kl}^v} \right)} \right] + \left[ {\Delta t{1 \over 2}\dot \varepsilon _{ij}^vM_{ijkl}^{}\dot \varepsilon _{kl}^v} \right] ψ=[21εijLijkl0εkl+21(εijεijv)Lijkl1(εklεklv)]+[Δt21ε˙ijvMijklε˙klv]
注意,第二项中含有时间


  1. E W., Yu B. The Deep Ritz Method: A Deep Learning-Based Numerical Algorithm for Solving Variational Problems[J]. Communications in Mathematics and Statistics, 2018, 6(1): 1-12 ↩︎

  2. Rao C., Sun H., Liu Y. Physics-Informed Deep Learning for Computational Elastodynamics without Labeled Data[J]. Journal of Engineering Mechanics, 2021, 147(8): 4021043 ↩︎

  3. Abueidda D.W., Koric S., Guleryuz E., et al. Enhanced physics-informed neural networks for hyperelasticity[J]. International Journal for Numerical Methods in Engineering, 2023, 124(7): 1585-1601 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1865538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【D3.js in Action 3 精译】1.2 D3 生态系统——入门须知

1.2 D3 生态系统——入门须知 D3.js 从不单打独斗,而是作为 D3 生态系统的一员,与生态内的一系列技术和工具相结合来创建丰富的 Web 界面。与其他网页一样,D3 项目也是充分利用 HTML5 的强大功能在 DOM 内构建出来的。尽管 D3 也可以创建并操…

栈,ASCII编码

栈 LinkedList stack new LinkedList<>(); int i 0; while (i < s.length()) { char c s.charAt(i); if (c <) {if (stack.isEmpty()) {i;continue;}stack.removeLast(); //从栈的末尾移除一个元素} else {stack.addLast(c); //压入栈的末尾栈是只允许在一端…

二叉树——另一颗树的子树

目录 1&#xff1a;题目分析及思路 2&#xff1a;代码实现和分析 1&#xff1a;代码 2&#xff1a;分析 1&#xff1a;题目分析及思路 给我们两棵二叉树&#xff0c;分别是 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在&…

ZGC垃圾收集的主要流程

值得说明的是&#xff0c;在执行就地迁移时&#xff0c;ZGC 必须首先压缩指定为对象迁移区域内的对象&#xff0c;这可能会对性能产生负面影响。增加堆大小可以帮助 ZGC 避免使用就地迁移。 如上图&#xff0c;ZGC 的工作流程主要包括以下几个步骤&#xff1a; &#xff08;STW…

昇思25天学习打卡营第8天|保存与加载

一、简介&#xff1a; 上一章节主要介绍了如何调整超参数&#xff0c;并进行网络模型训练。在训练网络模型的过程中&#xff0c;实际上我们希望保存中间和最后的结果&#xff0c;用于微调&#xff08;fine-tune&#xff09;和后续的模型推理与部署&#xff0c;本章节我们将介绍…

drozer中文乱码解决方法

drozer简介 drozer 是 Android 的安全测试框架。 drozer 允许您通过扮演应用的角色并与 Android 运行时、其他应用的 IPC 端点和底层操作系统进行交互来搜索应用和设备中的安全漏洞。 drozer 提供了一些工具来帮助您使用、分享和理解公共 Android 漏洞。 drozer 是开源软件…

stm32学习笔记---TIM输出比较(代码部分)PWM驱动LED呼吸灯/舵机/直流电机

目录 第一个工程&#xff1a;PWM驱动LED呼吸灯 PWM.c 初始化PWM步骤 TIM的库函数 TIM_OCStructInit TIM_CtrlPWMOutputs TIM_CCxCmd和TIM_CCxNCmd TIM_SelectOCxM 四个单独更改CCR寄存器值的函数 四个初始化定时器的通道的函数 给结构体一次性都赋初始值的函数 如何…

nginx的基本配置

#user nobody;#工作进程数量 worker_processes 4;events {#子进程最大连接数worker_connections 1024; }http {#囊括的文件类型include mime.types;default_type application/octet-stream;sendfile on;#长连接多长时间没沟通后断开keepalive_timeout 65;#服…

光伏储能为什么变得那么受欢迎?

在当今这个追求可持续发展和清洁能源的时代&#xff0c;光伏储能技术逐渐崭露头角&#xff0c;并成为了能源领域的热门话题。其受欢迎程度不断攀升&#xff0c;背后有着多方面的原因。光伏储能技术的优点众多&#xff0c;涵盖了多个方面&#xff0c;以下是关于其安全、寿命等关…

建筑信息模型(BIM)的应用与案例研究:塑造建筑与施工的新纪元

在数字化浪潮的推动下&#xff0c;建筑信息模型&#xff08;Building Information Modeling, BIM&#xff09;已从一项新兴技术发展为建筑与施工领域不可或缺的核心工具。本文将深入探讨BIM技术的应用原理&#xff0c;分享实际案例&#xff0c;揭示其如何引领建筑行业走向更加高…

C语言学习记录20240626

飞船无论朝哪边行驶&#xff0c;都能通过结构体记录获取它的初始坐标、转向角度和在该方向行进的距离&#xff0c;需要根据这些信息计算飞船移动后的坐标。 向量(vector)指具有大小(magnitude)和方向(direction)的量&#xff0c;可以理解为有方向的线段。 标量或纯量(scalar)指…

MySQL 7种Join的定义图解示范结果(所有join类型)

文章目录 MySQL 7种Join的定义&图解&示范&结果&#xff08;所有join类型&#xff09;基本知识笛卡尔积 建表&填充数据1-Join不带条件account筛选 1-Inner Join 内连接不带条件account相同where筛选玩点特殊的 2-Left Join 左连接不带条件account筛选 3-Right J…

django 和 pyecharts实现可视化大屏(完整代码)

1.配置settings文件 &#xff08;1&#xff09;注意&#xff1a;需要先创建app(djnago-admin startapp app名称) &#xff08;2&#xff09;配置模板文件 DIRS: [os.path.join(BASE_DIR, templates)], &#xff08;3&#xff09;配置静态文件(这里我由于存放清洗好的需要进行可…

基于Java+MySQL停车场车位管理系统详细设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

基于51单片机密码锁—六位密码LCD1602显示

基于51单片机密码锁设计 &#xff08;仿真&#xff0b;程序&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.密码为六位数字&#xff0c;有键按下&#xff0c;LCD1602就会显示出字符 “*”&#xff1b; 2.当用户键入正确密码后&#xff0c;再按确认键&a…

HistoQC|病理切片的质量控制工具

小罗碎碎念 这期推文介绍的内容&#xff0c;我相信研究病理组学的人&#xff0c;一定都非常熟悉——HistoQC——病理切片的质量控制。 之前写过Hover Net系列的推文&#xff0c;反响还可以&#xff0c;但是Hover Net是用于细胞核检测和分类的&#xff0c;直接从这里开始还不够系…

应用程序任务驱动:详细解析LLM的评估指标

在自然语言处理(NLP)的动态环境中&#xff0c;大型语言模型(LM)性能的评估是衡量其在各种下游应用程序中的有效性的关键因素。不同的应用程序需要与其目标一致的不同性能指标。本文将详细介绍各种LLM评估指标&#xff0c;探索它们如何应用于实际场景。 从传统的摘要任务到更细…

华三中小企业组网

一、组网需求 在中小园区中&#xff0c;S5130系列或S5130S系列以太网交换机通常部署在网络的接入层&#xff0c;S5560X系列或 S6520X系列以太网交换机通常部署在网络的核心&#xff0c;出口路由器一般选用MSR系列路由器。 核心交换机配置VRRP保证网络可靠性。园区网中不同的…

python flask 入门-helloworld

学习视频链接&#xff1a; 01-【前奏】课程介绍_哔哩哔哩_bilibili 1.安装flask pip install flask 踩坑记&#xff1a;本机不要连代理&#xff0c;否则无法install 提示报错valueError: check_hostname requires server_hostname 2.程序编写 在根目录下创建 app.py fr…

深入探讨C++的高级反射机制(2):写个能用的反射库

在现代软件开发中&#xff0c;反射是一种强大的特性&#xff0c;它可以支持程序在运行时查询和调用对象的属性和方法。 但是在C中&#xff0c;没有内置的反射机制。我们可以通过一些巧妙的技术模拟反射的部分功能。 上一篇文章写了个简单的反射功能&#xff0c;这回完善一下&a…