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

目录

一、研究对象

二、理论推导

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.mzph.cn/bicheng/1038.shtml

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

相关文章

Vitis AI 环境搭建 KV260 PYNQ 安装 要点总结

目录 1. 环境 2. 工具及版本介绍 2.1 工具版本兼容性 2.2 DPU结构 2.3 DPU命名规则 3. Vitis AI 配置要点 3.1 配置安装 Docker 库 3.2 Install Docker Engine 3.3 添加 Docker 用户组并测试 3.4 克隆 Vitis AI 库 3.5 构建 Docker &#xff08;直接抓取&#xff09…

Python 潮流周刊#47:当你的老师希望你去做开源

本周刊由 Python猫 出品&#xff0c;精心筛选国内外的 250 信息源&#xff0c;为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景&#xff1a;帮助所有读者精进 Python 技术&#xff0c;并增长职业和副业的收入。 以下是周刊全文&#x…

OpenHarmony 网络与连接—RPC连接

介绍 本示例使用ohos.rpc 相关接口&#xff0c;实现了一个前台选择商品和数目&#xff0c;后台计算总价的功能&#xff0c;使用rpc进行前台和后台的通信。 效果预览 使用说明&#xff1a; 点击商品种类的空白方框&#xff0c;弹出商品选择列表&#xff0c;选择点击对应的商品…

语音转换中的扩散模型——DDDM-VC

DDDM-VC: Decoupled Denoising Diffusion Models with Disentangled Representation and Prior Mixup for Verifed Robust Voice Conversion https://ojs.aaai.org/index.php/AAAI/article/view/29740https://ojs.aaai.org/index.php/AAAI/article/view/29740 1.概述 首先,语…

Python 中整洁的并行输出

原文&#xff1a;https://bernsteinbear.com/blog/python-parallel-output/ 代码&#xff1a;https://gist.github.com/tekknolagi/4bee494a6e4483e4d849559ba53d067b Python 并行输出 使用进程和锁并行输出多个任务的状态。 注&#xff1a;以下代码在linux下可用&#xff0c…

win10 系统怎么开启 guest 账户?

win10 系统怎么开启 guest 账户&#xff1f; 段子手168 前言&#xff1a; guest 账户即所谓的来宾账户&#xff0c;我们可以通过该账户访问计算机&#xff0c;如打印机共享等&#xff0c;但会在一定程度上受到限制。下面分享 WIN10 系统开启 guest 来宾账户的几种方法。 方法…

详解Qt中的时间——QDateTime、QDate、QTime、QTimeZone

在软件开发中&#xff0c;准确、高效地处理时间信息是许多应用程序的核心需求。Qt框架作为一个功能强大的跨平台应用开发工具包&#xff0c;为开发者提供了丰富的类和函数来处理各种时间相关的任务。本文将深入探讨Qt中关于时间管理的关键类和方法&#xff0c;并通过详细的C代码…

面试题:Kafka中Controller的作用是什么?选举流程是怎样的?以及如何避免脑裂问题?

题目来源 网上冲浪&#xff1a;还不懂分布系统&#xff0c;速看深度剖析Kafka Controller选举过程 在查找关于Kafka单机分区的上限以及分区多了会有怎样的问题的时候&#xff0c;发现了这个比较有趣的问题&#xff0c;就记录了下来。 一般所有的分布式系统&#xff0c;都会涉及…

设备连接IoT云平台指南

一、简介 设备与IoT云间的通讯协议包含了MQTT&#xff0c;LwM2M/CoAP&#xff0c;HTTP/HTTP2&#xff0c;Modbus&#xff0c;OPC-UA&#xff0c;OPC-DA。而我们设备端与云端通讯主要用的协议是MQTT。那么设备端与IoT云间是如何创建通信的呢&#xff1f;以连接华为云IoT平台为例…

SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出

目录 介绍 快速开始 引入依赖 简单导出 定义实体类 自定义转换器 定义接口 测试接口 复杂导出 自定义注解 定义实体类 数据映射与平铺 自定义单元格合并策略 定义接口 测试接口 一对多导出 自定义单元格合并策略 测试数据 简单导入 定义接口 测试接口 参…

供应链系统搭建|主流电商平台商品采集|一键搬家|订单物流回传API接口

搭建供应链系统时&#xff0c;您可能需要与电商平台进行集成&#xff0c;以实现订单管理、库存同步、物流跟踪等功能。以下是一些常见的电商接口&#xff0c;可以帮助您构建供应链系统&#xff1a; 1. **淘宝开放平台接口**&#xff1a;淘宝开放平台提供了丰富的接口&#xff…

ssh-key关于authorized_keys电脑与linux互相认证

思路&#xff1a; 在A上生成公钥私钥。将公钥拷贝给server B&#xff0c;要重命名成authorized_keys(从英文名就知道含义了)Server A向Server B发送一个连接请求。Server B得到Server A的信息后&#xff0c;在authorized_key中查找&#xff0c;如果有相应的用户名和IP&#xf…

ubuntu 查询mysql的用户名和密码 ubuntu查看username

ubuntu 查询mysql的用户名和密码 ubuntu查看username 文章标签mysqlUbuntu用户名文章分类MySQL数据库 一.基本命令 1.查看Ubuntu版本 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Coden…

oepncv android 使用笔记

目录 cmakelist配置&#xff1a; 读取图片例子 需要下载&#xff1a; OpenCV-android-sdk cmakelist配置&#xff1a; set(OpenCV_DIR D:/GZ/soft/rknn-toolkit2/rknn-toolkit2-master/rknpu2/examples/3rdparty/opencv/OpenCV-android-sdk/sdk/native/jni/abi-${CMAKE_AND…

Java数据结构-堆和优先级队列

目录 1. 相关概念2. PriorityQueue的实现2.0 搭建整体框架2.1 堆的创建和调整2.2 插入元素2.3 出堆顶元素 3. 全部代码&#xff08;包含大根堆和小根堆&#xff09;4. PriorityQueue的使用5. Top-K问题 之前我们学习的二叉树的存储方式是链式存储&#xff0c;&#xff08;不清楚…

java的各种锁

我们先来看看有什么锁 一、java锁 1、乐观锁 乐观锁 是一种乐观思想 &#xff0c;假定当前环境是读多写少&#xff0c;遇到并发写的概率比较低&#xff0c;读数 据时认为别的线程不会正在进行修改&#xff08;所以没有上锁&#xff09;。写数据时&#xff0c;判断当前 与期望…

C语言经典例题-20

1.判断字母 题目描述 从键盘任意输入一个字符&#xff0c;编程判断是否是字母&#xff08;包括大小写&#xff09;。 输入描述: 多组输入&#xff0c;每行输入包括一个字符。 输出描述: 针对每行输入&#xff0c;输出该字符是字母&#xff08;YES&#xff09;或不是&#xf…

使用Python实现超参数调优

超参数调优是机器学习模型调优过程中的重要步骤&#xff0c;它可以帮助我们找到最佳的超参数组合&#xff0c;从而提高模型的性能和泛化能力。在本文中&#xff0c;我们将介绍超参数调优的基本原理和常见的调优方法&#xff0c;并使用Python来实现这些方法。 什么是超参数&…

算法打卡day48|动态规划篇16| Leetcode 583. 两个字符串的删除操作、72. 编辑距离

算法题 Leetcode 583. 两个字符串的删除操作 题目链接:583. 两个字符串的删除操作 大佬视频讲解&#xff1a;583. 两个字符串的删除操作视频讲解 个人思路 本题和115.不同的子序列相比&#xff0c;变为了两个字符串都可以删除&#xff0c;整体思路是不变的&#xff0c;依旧…

vue3中web前端JS动画案例(二)多物体运动-多值运动

<script setup> import { ref, onMounted, watch } from vue // ----------------------- 01 js 动画介绍--------------------- // 1、匀速运动 // 2、缓动运动&#xff08;常见&#xff09; // 3、透明度运动 // 4、多物体运动 // 5、多值动画// 6、自己的动画框架 // …