【CFD理论】对流项-05-非结构化网格

2023-11-28 01:59

本文主要是介绍【CFD理论】对流项-05-非结构化网格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【CFD理论】对流项-05

  • Unstructured Grids
  • discretisation in unstructured grids 非结构化网格离散
    • discretisation of the diffusion term
    • Discretisation of the convective term
      • linear upwind differencing
      • TVD schmes in unstructured grids

Unstructured Grids

discretisation in unstructured grids 非结构化网格离散

∫ C V ∂ ∂ t d V + ∫ C V d i v ( ρ ϕ u ) d V = ∫ C V d i v ( Γ g r a d ϕ ) d V + ∫ C V S ϕ d V \int_{CV}\frac{\partial}{\partial t}dV+\int_{CV}div(\rho \phi \boldsymbol u)dV=\int_{CV}div(\Gamma \ grad \ \phi)dV+\int_{CV}S_{\phi}dV CVtdV+CVdiv(ρϕu)dV=CVdiv(Γ grad ϕ)dV+CVSϕdV
在这里插入图片描述

n , e η \boldsymbol {n,e_{\eta}} n,eη分别是指向面外的法向和切向矢量
P A = x A − x P y A − y P \boldsymbol {PA}=\begin{matrix} x_A-x_P \\ y_A-y_P \end{matrix}\quad PA=xAxPyAyP
a b = x b − x a y b − y a \boldsymbol {ab}=\begin{matrix} x_b-x_a \\ y_b-y_a \end{matrix}\quad ab=xbxaybya
e ξ = P A ∣ P A ∣ \boldsymbol {e_\xi}=\frac{\boldsymbol {PA}}{|\boldsymbol {PA}|} eξ=PAPA
e η = a b ∣ a b ∣ \boldsymbol {e_\eta}=\frac{\boldsymbol {ab}}{|\boldsymbol {ab}|} eη=abab
Δ ξ = ∣ P A ∣ \Delta \xi=|\boldsymbol {PA}| Δξ=PA
Δ η = ∣ a b ∣ \Delta \eta=|\boldsymbol {ab}| Δη=ab
在这里插入图片描述
面i的面积 Δ A i \Delta A_i ΔAi
Δ A i = Δ x 2 + Δ y 2 \Delta A_i=\sqrt{\Delta x^2+\Delta y^2} ΔAi=Δx2+Δy2
面的单元法向量 n \boldsymbol n n
n = Δ y Δ A i , Δ x Δ A i \boldsymbol n=\begin{matrix} \frac{\Delta y}{\Delta A_i} , \frac{\Delta x}{\Delta A_i} \end{matrix}\quad n=ΔAiΔy,ΔAiΔx

discretisation of the diffusion term

扩散项离散,中心差分
∫ Δ A i ( Γ g r a d ϕ ) ⋅ n d A ≈ Γ g r a d ϕ ⋅ n i Δ A i ≈ Γ ( ϕ A − ϕ P Δ ξ ) Δ A i \int_{\Delta A_i}(\Gamma grad\phi)\cdot \boldsymbol n dA\approx\Gamma grad\phi\cdot\boldsymbol n_i\Delta A_i\approx\Gamma(\frac{\phi_A-\phi_P}{\Delta \xi})\Delta A_i ΔAi(Γgradϕ)ndAΓgradϕniΔAiΓ(ΔξϕAϕP)ΔAi
之前的形式
∫ f ( Γ Δ ϕ ) ⋅ d S = ( Γ Δ ϕ ) f ⋅ n f S f = Γ ( ϕ E − ϕ P Δ x ) f S f \int_f(\Gamma\Delta\phi)\cdot d\boldsymbol S=(\Gamma\Delta \phi)_f\cdot \boldsymbol n_fS_f=\Gamma(\frac{\phi_E-\phi_P}{\Delta x})_f S_f f(ΓΔϕ)dS=(ΓΔϕ)fnfSf=Γ(ΔxϕEϕP)fSf
在这里插入图片描述

  • ∂ ϕ ∂ ξ = ∂ ϕ ∂ n c o s θ − ∂ ϕ ∂ η s i n θ \frac{\partial \phi}{\partial \xi}=\frac{\partial \phi}{\partial n}cos\theta-\frac{\partial \phi}{\partial \eta}sin\theta ξϕ=nϕcosθηϕsinθ
  • ∇ ϕ ⋅ n = ∂ ϕ ∂ n = ∂ ϕ ∂ ξ 1 c o s θ + ∂ ϕ ∂ ξ t a n θ = g r a d ϕ ⋅ n \nabla \phi \cdot \boldsymbol n=\frac{\partial \phi}{\partial n}=\frac{\partial \phi}{\partial \xi}\frac{1}{cos\theta}+\frac{\partial \phi}{\partial \xi}tan\theta=grad\phi\cdot \boldsymbol n ϕn=nϕ=ξϕcosθ1+ξϕtanθ=gradϕn
  • 非结构化网格direct gradient 中心差分
    ∂ ϕ ∂ ξ = ϕ A − ϕ P Δ ξ \frac{\partial \phi}{\partial \xi}=\frac{\phi_A-\phi_P}{\Delta \xi} ξϕ=ΔξϕAϕP
  • 非结构化网格cross-diffusion
    ∂ ϕ ∂ η = ϕ b − ϕ a Δ η \frac{\partial \phi}{\partial \eta}=\frac{\phi_b-\phi_a}{\Delta \eta} ηϕ=Δηϕbϕa
  • ∇ ϕ ⋅ n Δ A i = Δ A i ϕ A − ϕ P ∂ ξ 1 c o s θ + ∂ ϕ b − ϕ a ∂ ξ t a n θ Δ A i \nabla \phi \cdot \boldsymbol n\Delta A_i=\Delta A_i\frac{\phi_A-\phi_P}{\partial \xi}\frac{1}{cos\theta}+\frac{\partial \phi_b-\phi_a}{\partial \xi}tan\theta\Delta A_i ϕnΔAi=ΔAiξϕAϕPcosθ1+ξϕbϕatanθΔAi
    1 c o s θ = 1 n ⋅ e x i = n ⋅ n n ⋅ e ξ \frac{1}{cos\theta}=\frac{1}{\boldsymbol n\cdot\boldsymbol e_{xi}}=\frac{\boldsymbol n\cdot \boldsymbol n}{\boldsymbol n\cdot \boldsymbol e_{\xi}} cosθ1=nexi1=neξnn
    t a n θ = 1 n ⋅ e x i = − e ξ ⋅ e η n ⋅ e ξ tan\theta=\frac{1}{\boldsymbol n\cdot\boldsymbol e_{xi}}=-\frac{\boldsymbol e_\xi \cdot \boldsymbol e_\eta}{\boldsymbol n\cdot \boldsymbol e_{\xi}} tanθ=nexi1=neξeξeη
  • ∇ ϕ ⋅ n Δ A i = Δ A i ϕ A − ϕ P ∂ ξ n ⋅ n n ⋅ e ξ − ∂ ϕ b − ϕ a ∂ η e ξ ⋅ e η n ⋅ e ξ Δ A i \nabla \phi \cdot \boldsymbol n\Delta A_i=\Delta A_i\frac{\phi_A-\phi_P}{\partial \xi}\frac{\boldsymbol n\cdot \boldsymbol n}{\boldsymbol n\cdot \boldsymbol e_{\xi}}-\frac{\partial \phi_b-\phi_a}{\partial \eta}\frac{\boldsymbol e_\xi \cdot \boldsymbol e_\eta}{\boldsymbol n\cdot \boldsymbol e_{\xi}}\Delta A_i ϕnΔAi=ΔAiξϕAϕPneξnnηϕbϕaneξeξeηΔAi
  • ∇ ϕ ⋅ n Δ A i = Δ A i ϕ A − ϕ P ∂ ξ n ⋅ n n ⋅ e ξ + S D − c r o s s \nabla \phi \cdot \boldsymbol n\Delta A_i=\Delta A_i\frac{\phi_A-\phi_P}{\partial \xi}\frac{\boldsymbol n\cdot \boldsymbol n}{\boldsymbol n\cdot \boldsymbol e_{\xi}}+S_{D-cross} ϕnΔAi=ΔAiξϕAϕPneξnn+SDcross

Discretisation of the convective term

∑ f ∫ f ρ ϕ U ⋅ d S = ∑ f ∫ Δ A i ρ ϕ u ⋅ n d A = ∑ f ( ρ ϕ u ) f ⋅ n A f \sum_f\int_f\rho\phi U\cdot d\boldsymbol S=\sum_f\int_{\Delta A_i}\rho\phi \boldsymbol u\cdot \boldsymbol n dA=\sum_f(\rho \phi\boldsymbol u)_f\cdot \boldsymbol n A_f ffρϕUdS=fΔAiρϕundA=f(ρϕu)fnAf

linear upwind differencing

ϕ e = ϕ P + ϕ P − ϕ W Δ x 1 2 Δ x \phi_e=\phi_P+\frac{\phi_P-\phi_W}{\Delta x}\frac{1}{2}\Delta x ϕe=ϕP+ΔxϕPϕW21Δx
对于非结构化网格可以使用泰勒展开式将 ϕ \phi ϕ
ϕ ( x , y ) = ϕ P + ( ∇ ϕ ) P ⋅ Δ r + O ( Δ r ) 2 \phi(x,y)=\phi_P+(\nabla\phi)_P\cdot\Delta \boldsymbol r+\mathcal{O}(\Delta \boldsymbol r)^2 ϕ(x,y)=ϕP+(ϕ)PΔr+O(Δr)2
如果是 Δ r \Delta \boldsymbol r Δr是点P到面心的距离
ϕ i = ϕ P + ( ∇ ϕ ) P ⋅ Δ r \phi_i=\phi_P+(\nabla \phi)_P \cdot \Delta \boldsymbol r ϕi=ϕP+(ϕ)PΔr
⇒ \Rightarrow

  • 对于非结构化网格,需要 面心值 ϕ i \color{red}面心值\phi_i 面心值ϕi,就必须要知道 体心梯度 ( ∇ ϕ ) P \color{red}体心梯度(\nabla \phi)_P 体心梯度(ϕ)P
  • 最小二乘法 重构 r e c o n s t r u c t \color{red} 重构reconstruct 重构reconstruct体心梯度
    在这里插入图片描述
    ϕ 1 − ϕ 0 = ( ∂ ϕ ∂ x ) ∣ 0 Δ x 1 + ( ∂ ϕ ∂ y ) ∣ 0 Δ y 1 ϕ 2 − ϕ 0 = ( ∂ ϕ ∂ x ) ∣ 0 Δ x 2 + ( ∂ ϕ ∂ y ) ∣ 0 Δ y 2 ϕ 3 − ϕ 0 = ( ∂ ϕ ∂ x ) ∣ 0 Δ x 3 + ( ∂ ϕ ∂ y ) ∣ 0 Δ y 3 ϕ 4 − ϕ 0 = ( ∂ ϕ ∂ x ) ∣ 0 Δ x 4 + ( ∂ ϕ ∂ y ) ∣ 0 Δ y 4 \phi_1-\phi_0=(\frac{\partial \phi}{\partial x})|_0\Delta x_1+(\frac{\partial \phi}{\partial y})|_0\Delta y_1\\ \phi_2-\phi_0=(\frac{\partial \phi}{\partial x})|_0\Delta x_2+(\frac{\partial \phi}{\partial y})|_0\Delta y_2\\ \phi_3-\phi_0=(\frac{\partial \phi}{\partial x})|_0\Delta x_3+(\frac{\partial \phi}{\partial y})|_0\Delta y_3\\ \phi_4-\phi_0=(\frac{\partial \phi}{\partial x})|_0\Delta x_4+(\frac{\partial \phi}{\partial y})|_0\Delta y_4\\ ϕ1ϕ0=(xϕ)0Δx1+(yϕ)0Δy1ϕ2ϕ0=(xϕ)0Δx2+(yϕ)0Δy2ϕ3ϕ0=(xϕ)0Δx3+(yϕ)0Δy3ϕ4ϕ0=(xϕ)0Δx4+(yϕ)0Δy4
    矩阵形式
    [ Δ x 1 Δ y 1 Δ x 2 Δ y 2 Δ x 3 Δ y 3 . . . . . . Δ x N Δ y N ] [ Δ ( ∂ ϕ ∂ x ) ∣ 0 Δ ( ∂ ϕ ∂ y ) ∣ 0 ] = [ ϕ 1 − ϕ 0 ϕ 2 − ϕ 0 ϕ 3 − ϕ 0 . . . ϕ N − ϕ 0 ] \begin{bmatrix} \Delta x_1&\Delta y_1\\ \Delta x_2&\Delta y_2\\ \Delta x_3&\Delta y_3\\ ...&...\\ \Delta x_N&\Delta y_N\\ \end{bmatrix} \begin{bmatrix} \Delta (\frac{\partial \phi}{\partial x})|_0\\ \Delta (\frac{\partial \phi}{\partial y})|_0\\ \end{bmatrix} = \begin{bmatrix} \phi_1-\phi_0\\ \phi_2-\phi_0\\ \phi_3-\phi_0\\ ...\\ \phi_N-\phi_0\\ \end{bmatrix} Δx1Δx2Δx3...ΔxNΔy1Δy2Δy3...ΔyN [Δ(xϕ)0Δ(yϕ)0]= ϕ1ϕ0ϕ2ϕ0ϕ3ϕ0...ϕNϕ0
    矩阵 超定 o v e r d e t e r m i n d \color{red}超定 overdetermind 超定overdetermind,所以不太可能直接求解
    需要用 最小二乘法 \color{red}最小二乘法 最小二乘法
    A T A x = A T b x = ( A T A ) − 1 A T b \boldsymbol{A^TAx=A^Tb}\\ \boldsymbol{x=(A^TA)^{-1}A^Tb} ATAx=ATbx=(ATA)1ATb

TVD schmes in unstructured grids

  • 结构化网格的TVD
    ϕ i = ϕ P + ψ ( r ) 2 ( ϕ E − ϕ P ) r = ϕ P − ϕ W ϕ E − ϕ P \phi_i=\phi_P+\frac{\psi(r)}{2}(\phi_E-\phi_P)\\ r=\frac{\phi_P-\phi_W}{\phi_E-\phi_P} ϕi=ϕP+2ψ(r)(ϕEϕP)r=ϕEϕPϕPϕW
    在非结构化网格中,上游点 W 很难确定,所以需要构造一个假的点 B \color{red}在非结构化网格中,上游点W很难确定,所以需要构造一个假的点B 在非结构化网格中,上游点W很难确定,所以需要构造一个假的点B
    在这里插入图片描述
  • 在非结构化网格TVD

r = 2 ( ∇ ϕ ) P ⋅ r P A ϕ D − ϕ U − 1 r=\frac{2(\nabla \phi)_P\cdot \boldsymbol r_{PA}}{\phi_D-\phi_U}-1 r=ϕDϕU2(ϕ)PrPA1
对流通量TVD表达式变为
ϕ i = ϕ U = ψ ( r ) 2 ( ϕ D − ϕ U ) ψ ( r ) = 0.25 r + 0.75 ( Q U I C K ) ( ∇ ϕ ) p 最小二乘法求得 ϕ D 下游, ϕ U 上游 \phi_i=\phi_U=\frac{\psi(r)}{2}(\phi_D-\phi_U)\\ \psi(r)=0.25r+0.75(QUICK)\\ (\nabla \phi)_p最小二乘法求得\\ \phi_D下游,\phi_U上游 ϕi=ϕU=2ψ(r)(ϕDϕU)ψ(r)=0.25r+0.75(QUICK)(ϕ)p最小二乘法求得ϕD下游,ϕU上游
在这里插入图片描述

这篇关于【CFD理论】对流项-05-非结构化网格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428880

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

仕考网:结构化面试流程介绍

(一)结构化面试 结构化面试,也叫做标准化面试,考官按照预先设定好的一套试题以问答方式与应试者当面交谈,根据应试者的言语、行为表现,对其相关能力和个性特征作出相应评价。 (二)考试流程 抵达考场——审核抽签——面试候考——进入考场——面试答题——考生退场——计分审核 (三)答题技巧 1.声音洪亮,音量可以比平时说话声音大一点。 2.语速不要过快,语速快容易卡顿,而且不便于考官听清答

C++入门(05-2)从命令行执行C++编译器_GCC

文章目录 GCC编译器1. 下载MinGW-w64,安装(不推荐)2. 使用MSYS2安装MinGW-w64(推荐)2.1 安装MSYS22.2 初始化和更新2.3 安装MinGW-w64编译器2.3 在MSYS2 Shell中导航到代码目录2.4 使用 g++ 编译2.5 运行可执行文件 GCC编译器 GCC(GNU Compiler Collection)是一个开源编译器集

C++入门(05)从命令行执行C++编译器_MSVC

文章目录 1.C++ 编译器2. 常用 C++ 编译器MSVC(Microsoft Visual C++)GCC(GNU Compiler Collection)Clang 3. MSVC 编译器3.1 开发者命令提示符3.2 编译 C++ 代码 1.C++ 编译器 将C++源代码(扩展名为 .cpp )转换成计算机可以运行的可执行程序 编译器会检查代码的语法和语义,生成相应

龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为: 借助RT-Thread和LVGL

结构化开发方法的三种基本控制结构

结构化开发方法概述 什么是结构化开发方法? 结构化开发方法是一种程序设计和系统开发的理念,旨在通过使用清晰、可预测的控制结构来提高程序的可读性、可维护性和可靠性。该方法强调使用标准化的编程结构,以减少程序中的错误并提高代码的逻辑清晰度。 结构化编程的历史背景 结构化编程(Structured Programming)这一概念最早由计算机科学家艾兹赫尔·戴克斯特拉(Edsger W. Dij

【SpringMVC学习05】SpringMVC中的异常处理器

SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。 异常处理思路 我们知道,系统中异常包括两类:预期异常和运行时异常(RuntimeException),前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。系统的dao、service、controller出现异常都通过throws E

系统架构师考试学习笔记第三篇——架构设计高级知识(19)嵌入式系统架构设计理论与实践

本章考点:         第19课时主要学习嵌入式系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分)。在历年考试中,案例题对该部分内容都有固定考查,综合知识选择题目中有固定分值的考查。本课时内容侧重于对知识点的记忆、理解和应用,按照以往的出题规律,嵌入式系统架构设计基础知识点基本来源于教材内。本课时知识架构如图19.1所示。 一、嵌入式系统发展历程