高分辨率格式理论

news2025/7/12 16:24:29

一个核心概念:人工粘性

考虑经典的双曲守恒律方程
∂ u ∂ t + ∂ f ∂ x = 0 {{\partial u} \over {\partial t}} + {{\partial f} \over {\partial x}} = 0 tu+xf=0
可以写成守恒形式的数值格式
u i n + 1 = u i n − λ ( f ^ i + 1 / 2 n − f ^ i + 1 / 2 n ) u_i^{n + 1} = u_i^n - \lambda \left( {\hat f_{i + 1/2}^n - \hat f_{i + 1/2}^n} \right) uin+1=uinλ(f^i+1/2nf^i+1/2n)
式中 λ \lambda λ是时间步长与空间步长之比。 f ^ {\hat f} f^则是面上的数值通量。各种格式的最终目的就是设法给出数值通量的近似。
为了减小间断处的震荡,一种有效的方法是在方程右端添加人工粘性项
∂ u ∂ t + ∂ f ∂ x = Δ x 2 Δ t ∂ ∂ x ( Q ∂ u ∂ x ) {{\partial u} \over {\partial t}} + {{\partial f} \over {\partial x}} = {{\Delta {x^2}} \over {\Delta t}}{\partial \over {\partial x}}\left( {Q{{\partial u} \over {\partial x}}} \right) tu+xf=ΔtΔx2x(Qxu)相似地,也可差分得到下式
u i n + 1 = u i n − λ ( f ^ i + 1 / 2 n − f ^ i + 1 / 2 n ) + 1 / 2 ( Q i + 1 / 2 Δ + u i n − Q i − 1 / 2 Δ − u i n ) u_i^{n + 1} = u_i^n - \lambda \left( {\hat f_{i + 1/2}^n - \hat f_{i + 1/2}^n} \right) +1/2 \left( {{Q_{i + 1/2}}{\Delta ^ + }u_i^n - {Q_{i - 1/2}}{\Delta ^ - }u_i^n} \right) uin+1=uinλ(f^i+1/2nf^i+1/2n)+1/2(Qi+1/2Δ+uinQi1/2Δuin)
可以将右侧第三项与数值通量合并,得到新的数值通量
f ˉ i + 1 / 2 n = f ^ i + 1 / 2 n − Q i + 1 / 2 2 λ Δ + u i n \bar f_{i + 1/2}^n = \hat f_{i + 1/2}^n - {{{Q_{i + 1/2}}} \over {2\lambda }}{\Delta ^ + }u_i^n fˉi+1/2n=f^i+1/2n2λQi+1/2Δ+uin f ˉ i − 1 / 2 n = f ^ i − 1 / 2 n − Q i − 1 / 2 2 λ Δ − u i n \bar f_{i - 1/2}^n = \hat f_{i - 1/2}^n - {{{Q_{i - 1/2}}} \over 2\lambda }{\Delta ^ - }u_i^n fˉi1/2n=f^i1/2n2λQi1/2Δuin

这里可以看出“人工粘性”可增加逆梯度方向上的通量,即如果 u i + 1 n > u i n u_{i + 1}^n > u_i^n ui+1n>uin那么“人工粘性”将会减少 i + 1 / 2 i + 1/2 i+1/2面上的正向通量。相反地,负人工粘性则会增加 i + 1 / 2 i + 1/2 i+1/2面上的通量。合适地选取、改变、调整负人工粘性则是开发高分辨率格式的核心问题。

经典格式

中心差分格式

f ^ i + 1 / 2 n = f i + f i + 1 2 \hat f_{i + 1/2}^n = {{{f_i} + {f_{i + 1}}} \over 2} f^i+1/2n=2fi+fi+1

一阶迎风格式

f ^ i + 1 / 2 n = f i + f i + 1 2 − 1 2 ∣ a i + 1 / 2 n ∣ ( u i + 1 − u i ) \hat f_{i + 1/2}^n = {{{f_i} + {f_{i + 1}}} \over 2} - {1 \over 2}\left| {a_{i + 1/2}^n} \right|\left( {{u_{i + 1}} - {u_i}} \right) f^i+1/2n=2fi+fi+121ai+1/2n(ui+1ui)
式中右端第二项为一阶迎风格式引入的数值粘性

Lax-Fridrichs一阶格式

f ^ i + 1 / 2 n = f i + f i + 1 2 − 1 2 λ ( u i + 1 − u i ) \hat f_{i + 1/2}^n = {{{f_i} + {f_{i + 1}}} \over 2} - {1 \over {2\lambda }}\left( {{u_{i + 1}} - {u_i}} \right) f^i+1/2n=2fi+fi+12λ1(ui+1ui)
第二项是数值粘性,该格式的数值粘性非常大

Lax-Wendroff二阶格式

f ^ i + 1 / 2 n = f i + f i + 1 2 − 1 2 λ ( a i + 1 / 2 n ) 2 ( u i + 1 − u i ) \hat f_{i + 1/2}^n = {{{f_i} + {f_{i + 1}}} \over 2} - {1 \over 2}\lambda {\left( {a_{i + 1/2}^n} \right)^2}\left( {{u_{i + 1}} - {u_i}} \right) f^i+1/2n=2fi+fi+121λ(ai+1/2n)2(ui+1ui)

注意:"数值粘性"来源于格式本身,"人工粘性"来源于人为添加的扩散项,虽然表象不同,但二者的本质是相同的。

高分辨率TVD格式的原理

尝试在1阶TVD格式的基础上添加负的"人工粘性“。这个“人工粘性”必须是非线性的,使得:在光滑区域达到二阶格式,而在间断区域回归到一阶格式。

A 通量修正法

Harten1提出的通量修正法即是在1阶TVD格式的基础上修正物理通量 f f f以部分抵消原格式的截断误差。这个修正量(事实上的“人工粘性”)必须是非线性的,使得:在光滑区域完全抵消低阶格式的数值粘性,并趋近于二阶L-W格式的数值粘性,达到二阶格式。而在间断区域回归到一阶格式。为了实现这一目标,必须平衡好 f ˉ i + 1 / 2 n \bar f_{i + 1/2}^n fˉi+1/2n中蕴含的“数值粘性”部分与“人工粘性”部分。

B 通量限制器

与Harten的想法类似,但是不再修正"物理通量 f f f",而是直接修正"数值通量 f ˉ i + 1 / 2 n \bar f_{i + 1/2}^n fˉi+1/2n"。将高阶格式的数值通量写为低阶格式的数值通量与反扩散通量之和,为了使格式总变差不增(TVD条件),需要限制反扩散通量的大小。这就是通量限制器。反扩散通量实质上就是负的"人工粘性"。
比如,取使用L-W格式作为高阶格式
[ f ^ i + 1 / 2 n ] H i g h = f i + f i + 1 2 − 1 2 λ ( a i + 1 / 2 n ) 2 ( u i + 1 − u i ) {\left[ {\hat f_{i + 1/2}^n} \right]_{{\rm{High}}}} = {{{f_i} + {f_{i + 1}}} \over 2} - {1 \over 2}\lambda {\left( {a_{i + 1/2}^n} \right)^2}\left( {{u_{i + 1}} - {u_i}} \right) [f^i+1/2n]High=2fi+fi+121λ(ai+1/2n)2(ui+1ui)
再使用一阶迎风格式作为低价格式
[ f ^ i + 1 / 2 n ] L o w = f i + f i + 1 2 − 1 2 ∣ a i + 1 / 2 n ∣ ( u i + 1 − u i ) {\left[ {\hat f_{i + 1/2}^n} \right]_{{\rm{Low}}}} = {{{f_i} + {f_{i + 1}}} \over 2} - {1 \over 2}\left| {a_{i + 1/2}^n} \right|\left( {{u_{i + 1}} - {u_i}} \right) [f^i+1/2n]Low=2fi+fi+121ai+1/2n(ui+1ui)
两种格式进行组合
f ^ i + 1 / 2 n = [ f ^ i + 1 / 2 n ] L o w + φ ( [ f ^ i + 1 / 2 n ] H i g h − [ f ^ i + 1 / 2 n ] L o w ) \hat f_{i + 1/2}^n = {\left[ {\hat f_{i + 1/2}^n} \right]_{{\rm{Low}}}} + \varphi \left( {{{\left[ {\hat f_{i + 1/2}^n} \right]}_{{\rm{High}}}} - {{\left[ {\hat f_{i + 1/2}^n} \right]}_{{\rm{Low}}}}} \right) f^i+1/2n=[f^i+1/2n]Low+φ([f^i+1/2n]High[f^i+1/2n]Low) = f i + f i + 1 2 − 1 2 ∣ a i + 1 / 2 n ∣ ( u i + 1 − u i ) + φ ( − 1 2 λ ( a i + 1 / 2 n ) 2 ( u i + 1 − u i ) + 1 2 ∣ a i + 1 / 2 n ∣ ( u i + 1 − u i ) ) = {{{f_i} + {f_{i + 1}}} \over 2} - {1 \over 2}\left| {a_{i + 1/2}^n} \right|\left( {{u_{i + 1}} - {u_i}} \right) + \varphi \left( { - {1 \over 2}\lambda {{\left( {a_{i + 1/2}^n} \right)}^2}\left( {{u_{i + 1}} - {u_i}} \right) + {1 \over 2}\left| {a_{i + 1/2}^n} \right|\left( {{u_{i + 1}} - {u_i}} \right)} \right) =2fi+fi+121ai+1/2n(ui+1ui)+φ(21λ(ai+1/2n)2(ui+1ui)+21ai+1/2n(ui+1ui)) = f i + f i + 1 2 − 1 2 ∣ a i + 1 / 2 n ∣ ( u i + 1 − u i ) + φ s g n ( ν i + 1 / 2 n ) − ν i + 1 / 2 n 2 a i + 1 / 2 n ( u i + 1 − u i ) = {{{f_i} + {f_{i + 1}}} \over 2} - {1 \over 2}\left| {a_{i + 1/2}^n} \right|\left( {{u_{i + 1}} - {u_i}} \right) + \varphi {{{\mathop{\rm sgn}} \left( {\nu _{i + 1/2}^n} \right) - \nu _{i + 1/2}^n} \over 2}a_{i + 1/2}^n\left( {{u_{i + 1}} - {u_i}} \right) =2fi+fi+121ai+1/2n(ui+1ui)+φ2sgn(νi+1/2n)νi+1/2nai+1/2n(ui+1ui)
式中的 φ \varphi φ表示通量限制器,对于光滑区域取1,达到二阶L-W格式,对于间断区域取0,恢复到一阶迎风格式。首先使用变量 r r r描述解的光滑程度
r i + 1 / 2 = { u i − u i − 1 u i + 1 − u i , a i + 1 / 2 > 0 u i + 2 − u i + 1 u i + 1 − u i , a i + 1 / 2 < 0 r_{i+1 / 2}=\left\{\begin{array}{l} \frac{u_{i}-u_{i-1}}{u_{i+1}-u_{i}}, a_{i+1 / 2}>0 \\ \frac{u_{i+2}-u_{i+1}}{u_{i+1}-u_{i}}, a_{i+1 / 2}<0 \end{array}\right. ri+1/2={ui+1uiuiui1,ai+1/2>0ui+1uiui+2ui+1,ai+1/2<0
然后使用 r r r描述通量限制器 φ \varphi φ,通量限制器的表达式有许多,详见Sweby2的工作
在这里插入图片描述

C 斜率限制器

采用分片线性函数重构解,在单元面上应用TVD模板。
f ^ i + 1 / 2 ( u i , u i + 1 ) → f ^ i + 1 / 2 ( u i + 1 / 2 L , u i + 1 / 2 R ) {\hat f_{i + 1/2}}\left( {{u_i},{u_{i + 1}}} \right) \to {\hat f_{i + 1/2}}\left( {u_{i + 1/2}^L,u_{i + 1/2}^R} \right) f^i+1/2(ui,ui+1)f^i+1/2(ui+1/2L,ui+1/2R) u i + 1 / 2 L = u i + s i Δ x 2 , u i + 1 / 2 R = u i + 1 − s i + 1 Δ x 2 u_{i + 1/2}^L = {u_i} + {s_i}{{\Delta x} \over 2},u_{i + 1/2}^R = {u_{i + 1}} - {s_{i + 1}}{{\Delta x} \over 2} ui+1/2L=ui+si2Δx,ui+1/2R=ui+1si+12Δx可以证明,在一定条件下,前者是一阶TVD的,那么后者是二阶TVD的
需要使用限制器来限制线性函数的斜率以实现TVD格式。其本质与通量限制器相同。限制后的斜率与通量限制器之间的关系是
s i = ( u i + 1 − u i Δ x ) φ ( r i + 1 / 2 ) {s _{i}} = \left( {{{{u_{i + 1}} - {u_i}} \over {\Delta x}}} \right)\varphi \left( {{r_{i + 1/2}}} \right) si=(Δxui+1ui)φ(ri+1/2)具体可参考MUSCL格式


  1. HARTEN A. High resolution schemes for hyperbolic conservation laws[J]. Journal of Computationalphysics, 1983(49): 357-393. ↩︎

  2. SWEBY P K. High resolution schemes using flux limiters for hyperbolic conservation laws[J]. Siam Journal On Numerical Analysis, 1984, 21(5): 995-1011. ↩︎

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

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

相关文章

基于ssm+mysql+jsp学生成绩管理系统(含实训报告)

基于ssmmysqljsp学生成绩管理系统(实训报告&#xff09;一、系统介绍二、功能展示1.学生信息查询2.学生信息添加3.学生信息修改4.学生信息删除四、获取源码一、系统介绍 系统主要功能&#xff1a;系统实现了学生信息查询、添加、修改、删除。 环境配置&#xff1a; Jdk1.8 M…

[附源码]java毕业设计智慧教学平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

储能辅助电力系统调峰的容量需求优化配置matlab/cplex

参考文献&#xff1a;储能辅助电力系统调峰的容量需求研究 摘要&#xff1a;建立了储能辅助电力系统调峰的容量需求优化配置模型&#xff0c;设置了含储能和不含储能两种仿真方案&#xff0c;将两个算例代入所提模型进行求解&#xff0c;得到最优的储能系统容量和功率配置&…

Flutter高仿微信-第52篇-群聊-清空聊天记录

Flutter高仿微信系列共59篇&#xff0c;从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图&#xff1a; 实现代码&#xff1a; //清空聊天记录对话框 void _cleanGroupChatDialog(){Lo…

【Python】数据类型 + 运算符 + 输入输出

文章目录一. 常量和表达式二. 变量和类型1. 什么是变量2. 变量的语法2.1 定义变量2.2 使用变量3. 变量的类型3.1 整数3.2 浮点数3.3 字符串3.4 布尔3.5 关于变量类型的几点补充三. 注释1. 什么是注释&#xff1f;2. 为什么要有注释&#xff1f;3. 如何写注释&#xff1f;3.1 注…

深度学习制作自己的数据集—为数据集打上标签保存为txt文件,并进行划分和加载数据集

目录 0 前言 1 为图片数据集打上标签并保存为txt文件 2 将txt文件中的图片标签数据集随机划分为训练集和测试集 3 加载txt文件中的图片标签数据集 0 前言 目前是被封控的第四天了&#xff0c;只能呆在宿舍不能出去&#xff0c;记得上次这样子还是一年前大四快毕业那时候了……

CyberController手机外挂番外篇:源代码的二次修改

文章目录前言调试过程中的疑问为什么一段时间不使用CyberController&#xff0c;翻译就无法触发了&#xff1f;为什么连接成功了&#xff0c;但却依然无法进行语音识别和翻译&#xff1f;多长时间TCP连接就会挂掉连接正常与断开连接有什么区别&#xff1f;不停进行翻译&#xf…

现代密码学导论-18-伪随机置换

目录 伪随机置换 PROPOSITION 3.26 伪随机置换和伪随机函数的关系 DEFINITION 3.27 强伪随机置换 伪随机置换 我们称F是含参数k的置换&#xff0c;当且仅当 且对于所有k&#xff0c; Fk是一对一的&#xff0c;即是满射的。 其中 lin 称为F的块长度 对于给定的 k、x和k、y&…

76.【图】

图( 一).图的基本结构(1).无序偶对.(2).有序偶对(3).有向图和无向图(4).权(5).网图(二).图的基本术语(1).邻接.依附(2).有向完全图,无向完全图(3).顶点的度,入度,出度(4).路径 路径长度 回路(5).简单路径 简单回路(6).子图(7).连通图 连通分量(8).强连通图 强连通分量(三).图的…

改进粒子滤波的无人机三维航迹预测方法(基于Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

骨传导耳机贴不紧咋办,推荐五款佩戴最稳固的骨传导蓝牙耳机

很多小伙伴都在反馈&#xff0c;骨传导耳机在佩戴时戴不稳&#xff0c;这关乎于耳机的材质有很大的关系&#xff0c;下面就给大家推荐几款佩戴十分牢固的骨传导耳机&#xff0c;不调人群使用哦~看看有没有自己喜欢的吧~ 1、南卡Runner Pro4骨传导蓝牙耳机 &#xffe5;1498 南…

图与图的深度优先遍历、广度优先遍历

文章目录&#x1f6a9;图的理解&#x1f341;无向图&#x1f341;有向图&#x1f341;完全图&#x1f341;常用性质&#x1f6a9;图的数据结构搭建&#x1f341;邻接矩阵&#x1f341;邻接表&#x1f341;邻接矩阵式存储的代码实现&#x1f341;邻接矩阵造图测试&#x1f341;邻…

从零开始打造一款基于SpringBoot+SpringCloud的后台权限管理系统

随着 Spring Boot 和 Spring Cloud 的诞生和流行&#xff0c;集智慧于大成的 Spring 技术体系成为行业开发的首选之一。市场代表需求&#xff0c;技术代表能力。显而易见&#xff0c;在当今开发领域中&#xff0c;谁能更好地掌握这些主流开发技术&#xff0c;谁就能在跟别人竞争…

SecXOps 技术体系

核心能力 为了加快安全分析能力更全面、更深入的自动化 &#xff0c;SecXOps 的目标在于创建一个集成的用于 Security 的 XOps 实践&#xff0c;提升安全分析的场景覆盖率和运营效率。SecXOps 技术并不 015 SecXOps 技术体系 是 Ops 技术在安全领域的简单加和&#xff0c;SecXO…

含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法)

含分布式电源的配电网日前两阶段调度模型matlab程序&#xff08;粒子群算法&#xff09; 参考文献&#xff1a;含分布式电源的配电网日前两阶段优化调度模型 摘要&#xff1a;在电力市场环境下&#xff0c;供电公司通过对接入配电网的分布式电源(distributed generation&#…

MyBatis基础

一什么是MyBatis 1 什么是myBatis MyBatis框架也被称之为ORM&#xff08;Object/Relation Mapping&#xff0c;即对象关系映射&#xff09;框架。所谓的ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术&#xff0c;它通过描述Java对象与数据库表之间的映射关…

Node.js 入门教程 6 V8 JavaScript 引擎

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Node.js 入门教程6 V8 JavaScript 引擎6.1 其他 JS 引擎6.2 追求性能6.3 编译6 V8 JavaScript 引擎 V8 是驱动 Google Chrome 的 JavaScrip…

【小5聊】纯javascript实现图片放大镜效果

实现图片放大镜效果&#xff0c;其实就是一个比例放大的效果 以下通过纯javascript方式对图片进行等比例放大&#xff0c;等比倍数和出界判断可自行实现 文章后面会附上全部代码 放大镜效果 1、 放大镜组成 1&#xff09;目标图片&#xff0c;一般是小图 2&#xff09;鼠标移…

【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【01】分布式基础概念_环境搭建_Docker的使用

持续学习&持续更新中… 学习态度&#xff1a;守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【01】分布式基础概念微服务集群&分布式&节点远程调用负载均衡服务注册/发现&注册中心配置中心服务熔断&降级API网关虚拟机环境搭建安装vagrant和virt…

gcc编译器

1. GCC工具 GCC编译器&#xff1a; GCC&#xff08;GNU Compiler Collection&#xff09;是由 GNU 开发的编程语言编译器。 GCC最初代表“GNU C Compiler”&#xff0c;当时只支持C语言。 后来又扩展能够支持更多编程语言&#xff0c;包括 C、Fortran 和 Java 等。 因此&#…