二维有限元方程matlab,有限元法求解二维Poisson方程的MATLAB实现

有限元法求解二维 Poisson 方程的 MATLAB 实现 陈 莲a ,郭元辉b ,邹叶童a ( 西华师范大学 a. 数学与信息学院; b. 教育信息技术中心,四川南充 6437009) 摘 要: 文章讨论了圆形区域上的三角形单元剖分、有限元空间,通过变分形式离散得到有限元方程. 用 MATLAB 编程求得数值解,并进行了误差分析. 关键词: Poisson 方程; 有限元方法; MATLAB 编程; 三角形单元剖分中图分类号: O241. 8 文献标识码: A 文章编号: 1009 -4970( 2018) 05 -0015 -04 0 引言 热学、流体力学、电磁学、声学等学科中的相关过程,都可以用椭圆型方程来描述. 最为典型的椭圆型方程就是泊松方程[1]. 泊松方程在许多工程领域中有着广泛的应用,如它可以用来模拟半导体器件的静电过程. 在实际应用中,求解区域往往是不规则的,因此要想求出问题的解析解是非常困难的,很有必要研究其数值计算方法. 求解偏微分方程数值解常用的方法为有限差分法和有限元方法. 有限元方法是由 20 世纪 50 年代初的工程师们提出,其最初的数学思想是康托提出在三角形网格上用逐片线性函数去逼近 Dirichlet 边值问题[2]. 有限元方法[3 -4]是基于传统的 Ritz -Galerkin 方法和有限差分方法优点的一种数值方法,相对有限差分方法它更擅长处理各种复杂区域,是求解偏微分方程数值解的一种有效方法. 基于此,结合 MATLAB 强大的数值计算能力和绘图功能,本文用有限元方法求解圆形区域上的泊松方程,通过 MATLAB 编程实现求解过程. 讨论二维 Poisson 方程 - Δu = f( x,y) , ( x,y) ∈Ω, u =0, ( x,y) ∈Ω{ , ( 1) 其中 Δu = 2u x2 + 2u y2 ,f( x,y) ∈L2( Ω) ,Ω 为 R2 中的 有界凸区域,区域 Ω = x,( )y x2 + y2{ }<1 . 1 二维 Poisson 方程的有限元法 1. 1 有限元方法的基本原理和步骤 有限元法是基于变分原理和剖分技术的一种数值计算方法,把微分方法的定解问题转化为求解一 个等价的“变分问题”. 具体步骤如下. 1) 根据微分方程的边界条件给出对应定解问题的泛函及其等价的变分问题; 2) 选定单元的性状,对求解区域进行单元剖分,构造单元基函数; 3) 对多元函数的泛函求极值,形成有限元方 程; 4) 处理边界插值函数,求解有限元方程; 5) 收敛性及误差分析. 1. 2 Poisson 方程的变分形式 对 u ∈ H2 0( Ω) , v ∈ H1 0( Ω) , 在 方 程 - Δu = f( x,y) 两边同乘以v,在区域Ω上积分,由 Green 积分公式[5] 得,  Ω u x v x + u y v  ( ) y dxdy =  Ω fvdxdy ( 2) 收稿日期: 2017 - 09 - 18 基金项目: 西华师范大学创新团队项目( CXTD2015 - 2) ; 西华师范大学英才基金( 17YC180) 作者简介: 陈莲( 1993—) ,女,四川德阳人,硕士. 研究方向: 数值计算.通讯作者: 郭元辉( 1962—) ,男,重庆巴县人,博士,教授,硕士生导师. 研究方向: 工程模拟与数值计算方法. ·51· 2018 年 5 月第 37 卷 第 5 期 洛阳师范学院学报 Journal of Luoyang Normal Unive

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

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

相关文章

javascript 之异常处理try catch finally--05

语法结构 try catch finally是ECMAScript-262 第三版提供异常处理机制的标准,语法结构如下: 1 try{ 2 //可能会发生的错误代码 3 } 4 catch(error){ 5 //错误处理 6 }finally{ 7 //无论是否有异常都会执行 8 } 语法与大多数语言一样 如java .net&#x…

CSS实现文本周围插入符号

CSS实现文本周围插入符号的方案 本文要讨论的是如何在文本的周围插入图标,怎么样控制它们之间的位置关系,通过HTML结构合理性与CSS属性的使用来比较不同方案所实现效果的优缺点。 常见设计稿要求 在文本前、后、上、下插入图标、线条、三角形、圆形插…

mysql动态sql是什么,mysql中动态sql的一次实际应用

一、前言本次实际应用中,使用到了如下几个要点:mysql的动态建表;mysql的多表插入;mysql的多表更新;mysql的多表删除;二、使用场景2.1 动态建表要求建立多个表,例如电压、电流等表,这些表的字段是完全一样的,只有表名不…

layer绑定回车事件(转)

条件:弹窗后不做任何点击操作或者聚焦操作对于layer.load,弹出后反复按回车,load层将不断刷新,即使设置了自动消失也只有等不按回车键才会生效。对于layer iframe层有表单就更糟糕了,每按一次回车,iframe表…

Spring MVC会话教程

会话管理是每个Web应用程序必不可少的部分。 由于Spring MVC是用于Web开发的功能强大的框架,因此它具有自己的工具和API与会话进行交互。 今天,我打算向您展示Spring MVC应用程序中会话处理的基本方法。 这意味着处理表单,将对象添加到会话中…

height百分比以及高度自适应问题

1. 你曾经是否说想要 高度占页面或者占div百分比无效的问题,相信你也搜索过了,就是说 需要 设置父亲父亲一直到祖宗html都要设置百分比,才有效果。 总之一句话:想用百分比设置他的高度,则它的父亲中至少有一个是固定高…

程序媛,坚持这几个好习惯让你越来越美

身边做编程的女孩子越来越多,她们不仅上得厅堂下得厨房,改的了bug,杀得了木马,关键还能一天二十四小时除了睡觉都与电脑过招,但是每天对着电脑的辐射,熬夜加班敲代码的时候,皮肤也会变得越来越差…

发布Disruptor 3.0.0

我决定对整个版本的Disruptor放置beta标签感到有点无聊,所以决定将Disruptor 3.0.0发行到全世界。 此版本的最大挑战是清理代码并提出一种更好的算法来处理多个生产者。 如果我很幸运,可以更快。 最初,在此版本中,我走了几个阴暗的…

matlab 7 安装序列号,Matlab7序列号

Matlab7.0序列号1:14-13299-56369-16360-32789-51027-35530-39910-50517-56079-43171-43696-14148-64597-46518-35191-10070-58980-25665-36629-51033-46438-01127-52395-28569-20030-38795-14563-11876-23292-58825-37547-05827-26397Matlab7.0序列号2:…

如何运行开源的安卓项目?

第一步:进入github开源安卓项目中,点击clone 第二步:打开android studio,选择checkout从Git中迁出项目 将github的地址复制进去 第三步:系统会自动下载,加载一段时间。然后出现下面的就算是结束了。 最后,运…

命名规范

前面的话 由历史原因及个人习惯引起的 DOM 结构、命名不统一,导致不同成员在维护同一页面时,效率低下,迭代、维护成本极高。所以,使用统一的命名规范非常必要。本文将详细介绍命名规范 目录命名 1、项目文件夹:project…

fis pure开发php,50个精品网站鉴赏

50个精品网站鉴赏介绍给大家的是几千个世界优秀网站中的精中之精的作品,都有非常不错的创意,推荐给众多网站的设计人员,好好借鉴一下别人是怎么设计网站的。这些网站主要的制作工具为FLASH,因为它有较好、较强的动态效果&#xff…

js实现一键复制

方法一&#xff1a; 使用插件 引入clipboard.js 使用如下 <script>copyFn function() {var clipboard new Clipboard(.copy-btn, {text: function(trigger) {return $(.copy-txt).text();}});clipboard.on(success, function() {alert(复制成功&#xff01;);});clipbo…

Maven的Spring Security

1.概述 本文将说明如何使用Maven设置Spring Security&#xff0c;并介绍使用Spring Security依赖项的特定用例。 最新的Spring Security版本可以在Maven Central上找到。 这是上一篇有关Maven的Spring的后续文章 &#xff0c;因此对于非安全性Spring依赖项&#xff0c;这是开始…

(转)Babel-现在开始使用 ES6

在 2 月 20 号 ECMAScript 第六版就正式推出了&#xff0c;这门语言一直保持稳定快速的发展而且新功能也在慢慢被现在主流的 JavaScript 引擎所接受。不过要想在浏览器端或者 Node 端直接运行 ES6 代码还得等上一些日子。幸好 TC39 (负责研究开发 EMCAScript 规格的组织) 做了大…

微信公众平台——被动回复用户消息

微信公众平台——被动回复用户消息 开发模式下的回复信息基础接口&#xff0c;可用来向用户回复文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、链接消息。 1、回复文本消息 function ReplyText(Msg: TMessage; MsgText: String): RawByteString; varX: I…

Java EE CDI bean范围

Java EE平台的上下文和依赖注入&#xff08;CDI&#xff09;是一项功能&#xff0c;可帮助将Java EE平台的Web层和事务层绑定在一起。 CDI是一组服务&#xff0c;可以一起使用&#xff0c;使开发人员可以轻松地在Web应用程序中使用企业bean和JavaServer Faces技术。 在CDI中&a…

利用shell脚本进行代码备份和数据库备份

1、实际并不是进行代码备份&#xff0c;而是对上传的附件备份&#xff0c; 毕竟代码在我这边主要是通过svn管控的&#xff0c;不需要进行备份了&#xff0c;但是为了偷懒&#xff0c;还是将整个文件夹直接打包了。 name"your code file name" #你代码文件夹的名称# t…

php强类型 vscode,VSCode + WSL 2 + Ruby环境搭建图文详解

vscode配置ruby开发环境vscode近年来发展迅速&#xff0c;几乎在3年之间就抢占了原来vim、sublime text的很多份额&#xff0c;犹记得在2015-2016年的时候&#xff0c;ruby推荐的开发环境基本上都是vim和sublime text&#xff0c;然而&#xff0c;随着vscode的发展&#xff0c;…

关于网页导航栏制作的几种方法与常见问题解决(新人向)

无序列表是html页面排版经常用到的非常实用的标签&#xff0c;但是新手在使用无序列表时&#xff0c;经常会在横向排版上出现问题&#xff0c;笔者在这里提供了笔者在使用无序列表制作网页导航栏时的几种方法与常见问题的解决问题。&#xff08;以css内部样式为例&#xff09; …