偏微分方程算法之二维初边值问题(紧交替方向隐格式)

ops/2024/10/22 5:00:10/

目录

一、研究对象

二、理论推导

2.1 二维紧差分格式

2.2 紧交替方向格式

2.2.1 紧Peaceman-Rachford格式

2.2.2 紧D’Yakonov格式

2.2.3 紧Douglas格式

三、算例实现

四、结论


一、研究对象

        继续以二维抛物型方程初边值问题为研究对象:

\left\{\begin{matrix} \frac{\partial u(x,y,t)}{\partial t}-(\frac{\partial^{2}u(x,y,t)}{\partial x^{2}}+\frac{\partial^{2}u(x,y,t)}{\partial y^{2}})=f(x,y,t),(x,y)\in \Omega=[0,a]\times [0,b],0<t\leqslant T,\\ u(x,y,0)=\varphi(x,y),(x,y)\in \Omega,\space\space\space\space(1)\\ u(0,y,t)=g_{1}(y,t),u(a,y,t)=g_{2}(y,t),0\leqslant y\leqslant b,0<t\leqslant T,\\ u(x,0,t)=g_{3}(x,t),u(x,b,t)=g_{4}(x,t),0\leqslant x\leqslant a,0<t\leqslant T \end{matrix}\right.

        为了确保连续性,公式(1)中的相关函数满足:

g_{1}(0,t)=g_{3}(0,t),g_1(b,t)=g_4(0,t),

g_{2}(0,t)=g_{3}(a,t),g_{2}(b,t)=g_{4}(a,t)

g_{2}(0,t)=g_{3}(a,t),g_{2}(b,t)=g_{4}(a,t)

\varphi(x,0)=g_{3}(x,0),\varphi(x,b)=g_{4}(x,0)

二、理论推导

2.1 二维紧差分格式

        从Crank-Nicolson法分析,剖分、离散过程与偏微分方程算法之二维初边值问题(交替方向隐(ADI)格式)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/L_peanut/article/details/137767096?spm=1001.2014.3001.5501中介绍的一样,节点处离散方程为:

\frac{\partial u}{\partial t}|_{(x_{i},y_{j},t_{k+\frac{1}{2}})}-(\frac{\partial^{2}u}{\partial x^{2}}+\frac{\partial ^{2}u}{\partial y^{2}})|_{(x_{i},y_{j},t_{k+\frac{1}{2}})}=f(x_{i},y_{j},t_{k+\frac{1}{2}}) \space\space\space\space (2)

        将一维抛物型方程紧差分方法的思路进行推广,引入两个中间函数v(x,y,t),w(x,y,t),满足

v(x,y,t)=\frac{\partial^{2}u(x,y,t)}{\partial x^{2}},w(x,y,t)=\frac{\partial^{2}u(x,y,t)}{\partial y^{2}}

则有                           \frac{\partial u}{\partial t}|_{(x_{i},y_{j},t_{k+\frac{1}{2}})}-(v+w)|_{(x_{i},y_{j},t_{k+\frac{1}{2}})}=f(x_{i},y_{j},t_{k+\frac{1}{2}})

\frac{u(x_{i-1},y,t)-2u(x_{i},y,t)+u(x_{i+1},y,t)}{\Delta x^{2}}=\frac{\partial^{2}u}{\partial x^{2}}|_{(x_{i},y,t)}+\frac{\Delta x^{2}}{12}\frac{\partial^{4}}{\partial x^{4}}|_{(x_{i},y,t)}+O(\Delta x^{4})

v(x_{i},y_{j},t)=\frac{\partial ^{2}u}{\partial x^{2}}|_{(x_{i},y_{j},t)}=\frac{u(x_{i-1},y_{j},t)-2u(x_{i},y_{j},t)+u(x_{i+1},y_{j},t)}{\Delta x^{2}}-\frac{\Delta x^{2}}{12}\frac{\partial^{4}u}{\partial x^{4}}|_{(x_{i},y_{j},t)}+O(\Delta x^{4})

=\frac{\delta^{2}_{x}u(x_{i},y_{j},t)}{\Delta x^{2}}-\frac{\Delta x^{2}}{12}\frac{\partial^{2}v}{\partial x^{2}}|_{(x_{i},y_{j},t)}+O(\Delta x^{4})

=\frac{\delta^{2}_{x}u(x_{i},y_{j},t)}{\Delta x^{2}}-\frac{\Delta x^{2}}{12}(\frac{v(x_{i-1},y_{j},t)-2v(x_{i},y_{j},t)+v(x_{i+1},y_{j},t)}{\Delta x^{2}})+O(\Delta x^{4})

\frac{\delta^{2}_{x}u(x_{i},y_{j},t)}{\Delta x^{2}}=\frac{1}{12}(v(x_{i-1},y_{j},t)+10v(x_{i},y_{j},t)+v(x_{i+1},y_{j},t))+O(\Delta x^{4}) \space\space\space\space(3)

记算子\varepsilon ^{2}_{x}


http://www.ppmy.cn/ops/6053.html

相关文章

(CDA数据分析师笔记)第六章 业务分析方法二

基准比计算方法 各个不同维度项下的汇总值和某个基准值之间的比较。 基准值&#xff1a;一个公认的可以衡量此类汇总值的数值。如考试几个成绩60分等。 用于描述各个维度项的表现水平与基准值的差异程度。进行分类&#xff0c;了解各个维度项的表现水平的好坏程度。 在基准…

C++恶魔轮盘赌(道具版)

家人们&#xff0c;更新了昂&#xff0c;前文&#xff1a;来自阳了个阳C的恶魔轮盘赌无道具版 作为阳了个阳C的好同学&#xff0c;我光荣地揽下了道具版的重担 不多说话&#xff0c;直接上代码 #include<bits/stdc.h> #include<Windows.h> typedef long long ll…

uniapp H5项目 获取接口的二进制流转化成图片url(base64)

如果你使用的是uniapp, 并且你从接口获取下来的数据长这样&#xff1a; 想要把取到的数据展示成图片&#xff0c;那么你可以这样做&#xff1a; // 这是我们的项目封装的请求方法const res await this.$api.getKaptcha({originResponse: true, // 这样写是为了在request那边特…

视频汇聚/安防视频监控云平台EasyCVR云端录像播放与下载的接口调用方法

视频汇聚/安防视频监控云平台EasyCVR支持多协议接入、可分发多格式的视频流&#xff0c;平台支持高清视频的接入、管理、共享&#xff0c;支持7*24小时不间断监控。视频监控管理平台EasyCVR可提供实时远程视频监控、录像、回放与存储、告警、语音对讲、云台控制、平台级联、磁盘…

操作教程丨MaxKB+Ollama:快速构建基于大语言模型的本地知识库问答系统

2024年4月12日&#xff0c;1Panel开源项目组正式对外介绍了其官方出品的开源子项目——MaxKB&#xff08;github.com/1Panel-dev/MaxKB&#xff09;。MaxKB是一款基于LLM&#xff08;Large Language Model&#xff09;大语言模型的知识库问答系统。MaxKB的产品命名内涵为“Max …

实验二:配置路由器

1.实验环境 实验用具包括两台路由器 (或交换机)&#xff0c;一根双绞线缆台PC&#xff0c;一条Console线缆 2.需求描述 通过Console口配置路由器接口IP地址&#xff0c;实现设备通信 将两台路由器的Gig0/0接口相连&#xff0e;通过一台PC连接设备的Console端口并配置P地址(…

友思特应用 | 红外视角的延伸:短波红外相机的机器视觉应用

导读 短波红外SWIR在不同波段针对不同材料的独特成像特征为各领域检测应用的拓宽提供了基础。本文将展现短波红外成像技术在水分检测、塑料检测、太阳能电池板检查和矿场开采等领域的丰富应用案例&#xff0c;讨论短波红外相机在未来的发展方向。 SWIR 背景简介 短波红外 &am…

Day06 - React 第六天

学习react的第六天&#xff0c;持续更新中 关注不迷路&#xff01;&#xff01;&#xff01; 使用脚手架创建一个react项目 全局下载react脚手架 npm install -g create-react-app 在需要的项目文件中创建一个react项目 create-react-app #项目名 创建好项目以后 npm或yar…