tttt's
Search

tttt's

OpenFOAM 中 simpleFoam 与 pisoFoam 在相同网格下的显著差异解析
Created2026-09-15|CFDOpenFOAM求解器
OpenFOAM 中 simpleFoam 与 pisoFoam 在相同网格下的显著差异解析在 OpenFOAM 中,虽然 simpleFoam(稳态求解器)和 pisoFoam(瞬态求解器)都处理不可压缩流动,但它们在相同网格下产生的结果可能存在显著差异。这些差异源于基础算法逻辑、物理建模方式和数值处理方法的根本区别。 1. 基础算法逻辑差异simpleFoam (稳态 SIMPLE 算法) 时间项处理:完全忽略时间导数项 $\frac{\partial \phi}{\partial t} = 0$ 耦合方法:使用单一压力修正步骤 迭代过程:内部迭代次数固定,”伪时间步进”只是迭代计数器 松弛系数:通常依赖较大的松弛因子(例如 0.3-0.7)促进收敛 pisoFoam (瞬态 PISO 算法) 时间项处理:保留并离散化时间导数项 $\frac{\partial \phi}{\partial t}$ 耦合方法:每时间步内进行多次压力修正循环(nCorrectors 参数) 时间步长:受 CFL 条件约束,必须保证数值稳定性 松弛系数:通常较小或不使用松弛 2. 本...
Ur Courant Number:相对库朗数的含义与公式
Created2026-09-15|CFDOpenFOAM求解器
Ur Courant Number:含义、公式与意义你提供的代码片段展示了 OpenFOAM 中用于计算 “Ur Courant number” 的方式。下面从概念、公式推导到物理/数值意义做系统整理。 Ur 的含义 Ur 在这里可以理解为:由两相(或两速度场)通量差异引入的“相对(relative)”或“更新(update)”驱动的有效 Courant 数。 与常规 Courant 数(由单一对流通量 phi 决定)不同,Ur Courant number 用的是两股通量之差 phi1 - phi2,用来度量在一个时间步内,由两者差异引起的穿越单元尺度的有效“推进幅度”。 直观理解:如果 phi1 与 phi2 代表两相或两组分的界面/相对流动,Ur Co 衡量的是它们的相对输运强度对时间步长稳定性的约束。 代码对应的数学表达代码核心: 1234scalar UrCoNum = 0.5*gMax( fvc::surfaceSum(mag(phi1 - phi2))().primitiveField()/mesh.V().field())*runTim...
atmBoundaryLayer 大气边界层边界条件
Created2026-09-15|CFDOpenFOAM边界条件
OpenFOAM: User Guide: atmBoundaryLayer ABL Boundary condition validation – BARAM Portal Atmospheric Boundary Layer | How to Set up an ABL | SimScale OpenFOAM: API Guide: timeVaryingMappedFixedValueFvPatchField< Type > Class Template Reference atmBoundaryLayer属性(Properties) atmBoundaryLayer 类是一个用于入口边界条件的基类,提供基于对数律(log-law)的地面法向入流边界条件,用于同质、二维、干空气、平衡且中性的大气边界层(ABL)建模中的风速与湍流量。 因此,该类本身不是可直接执行的边界条件,而是其派生条件的通用条目提供者。 atmBoundaryLayer 继承了 inletOutlet 边界条件的特性,从而可以从域的各个侧面提供给定的入口条件。例如,地面法向的圆柱域只有一个 i...
坏网格图鉴(BadMesh Store)
Created2026-09-15|CFDOpenFOAM网格
20251203,以下情况是因为网格加密在同一层没有对于设置,导致出现的“一对多”情况。
高质量网格的 5 个技巧与陷阱
Created2026-09-15|CFDOpenFOAM网格
https://cfmesh.com/tips-tricks-for-a-high-quality-meshing-process/ 🧩 5 Tips and Tricks for a High-Quality Meshing Process(Based on CF-MESH+ Blog Summary) Preparing clean and well-defined geometry is essential for CF-MESH+ to generate high-quality meshes.The following five tips help ensure smooth meshing and accurate CFD results. 🧠 OverviewFive key tips for high-quality meshing: Apply cell size smaller than half of the gap dimension. Modify geometry where the feature size tends to zero. De...
拓扑连通区域(Topologically Connected Region)理解
Created2026-09-15|CFDOpenFOAM网格
在 CFD(计算流体力学)和网格处理的语境下,“Topologically connected region”(拓扑连通区域) 意味着: 在这个区域内,你可以从任意一个网格单元(Cell)出发,经过相邻的内部面,走到区域内的任意另一个网格单元,而不需要“跳跃”或穿过物理边界。 简单来说,就是**“铁索连舟”**,所有的网格都是连成一片的,没有断开,也没有被完全隔绝的孤岛。 1. 核心概念:什么是“连通”? 连通 (Connected):流体可以流过去。两个网格单元共用一个面,且这个面是 internalFace(内部面),那它们就是连通的。 不连通 (Disconnected):流体流不过去。两个网格单元之间隔着墙(Wall),或者它们根本就不挨着,这就是不连通。 2. 形象的例子为了方便理解,我们把网格看作房间,把面看作门或墙。 ✅ 例子 A:完全连通区域 (Single Connected Region) 场景:一个普通的空房间。 描述:你可以从房间的任何一个角落走到另一个角落,中间没有障碍物阻挡。 CFD 对应:一根完整的直管道网格。 region0: 包含了管道内所有...
VTK/VTM/VTU 文件格式速查
Created2026-09-15|CFDOpenFOAM网格
101,AI-Gen-Ref这三种格式都是属于 VTK (Visualization Toolkit) 生态系统的文件格式,在计算流体力学(CFD)、有限元分析(FEA)和计算机图形学(比如你正在做的 Taichi 物理模拟)中极其常见,它们通常用 ParaView 这个软件来打开和渲染。 简单来说,它们代表了 VTK 格式的不同时代和不同数据组织结构。下面我用最直白的方式为你拆解它们的区别: 1. .vtk 格式 (Legacy VTK) —— “简单粗暴的老前辈”这是最早期的传统格式(Legacy Format)。 长什么样:它可以是纯文本(ASCII)或者二进制(Binary)。它的结构非常简单,就像流水账一样,依次写下:点坐标(Points)、单元连接关系(Cells)、点数据(Point Data,比如速度)、单元数据(Cell Data,比如压力)。 优点:极度容易手写!如果你用 C++ 或 Python 自己写一个导出器,用最基础的 printf 或 f.write() 就能生成一个文本版的 .vtk 文件,非常适合新手写简单的物理引擎时用来导出数据。 缺点:不支...
blockMesh 的
Created2026-09-15|CFDOpenFOAM网格
这是一个非常高级且强大的 OpenFOAM 功能。简单来说,#codeStream 允许你在文本配置文件中直接写 C++ 代码,OpenFOAM 会在运行时自动把这段代码编译并执行,用执行的结果来替换原本的配置内容。 在 blockMeshDict 的 edges 中看到它,通常是为了生成复杂的曲线几何。 以下是详细的原理和用途解析: 1. 它的原理是什么?(动态编译技术)OpenFOAM 的字典读取器(Dictionary Reader)非常智能,当它读到 #codeStream 时,会执行一套“骚操作”: 提取代码:它把你写在 { ... } 里的 C++ 代码提取出来。 封装与编译:它会在你的案例目录下创建一个临时的 dynamicCode 文件夹,把你的代码封装成一个标准的 OpenFOAM C++ 程序,并调用 wmake 把它编译成一个动态链接库(.so文件)。 加载与执行:它加载这个库,运行里面的函数。 回填结果:你的代码通常会通过 os << ... 打印出一串文本。OpenFOAM 用这串打印出来的文本,替换 掉配置文件里的 #...
castellatedMeshControls 与 baffle 生成代码解读
Created2026-09-15|CFDOpenFOAM网格
来源:https://www.openfoam.com/news/main-news/openfoam-v2312/pre-processing snappyHexMesh: writing faces from the automatic leak path closure https://develop.openfoam.com/Development/openfoam/-/blob/master/src/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C AIRef解读好的,这是按照您要求整理的 src_mesh_snappyHexMesh_meshRefinement_meshRefinementBaffles.C 文件主要函数列表: 核心挡板生成与处理 函数名 作用 createBaffles 通用挡板生成入口。根据传入的面列表,通过拓扑变化将这些内部面切开,转换为成对的边界面(挡板)。 createZoneBaffles 基于 FaceZone 生成挡板。查找位于指定 faceZone ...
OpenFOAM empty 边界条件的含义
Created2026-09-15|CFDOpenFOAM边界条件
OpenFOAM如果一个内部的边界设置为empty,意味着什么?在 OpenFOAM 中,如果把一个内部边界(Internal Boundary) 设置为 empty 类型,这通常是一个非常特殊甚至危险的操作,除非你非常清楚自己在做一个伪 2D 模拟。 以下是它的具体含义和后果: 1. 核心含义:维度的“降维打击”empty 边界条件的唯一合法用途是指示 OpenFOAM 进行 2D 模拟。它告诉求解器:“沿着这个面的法线方向,没有物理变化,也不需要求解方程。请忽略这个维度的存在。” 标准用法:通常只用于网格的 Front 和 Back 面(前后板),且这两个面必须是平行的。这会让三维网格在计算上变成二维切片。 2. 如果用在“内部”意味着什么?假设你在流场中间有一个 Patch(比如一个挡板面或者内嵌面),你把它设为了 empty,后果如下: A. 物理上:绝对的隔离与滑移 (Perfect Slip & Insulation) 无通量 (Zero Flux):流体无法穿过这个面。质量通量为 0。 零梯度 (Zero Gradient):标量(如温度、压力)在这个面...
1…678…13
avatar
tttt
Articles
122
Tags
141
Categories
36
Follow Me
Announcement
博客已恢复维护,欢迎常来 🎉
Recent Posts
C++ 设计模式初步(占位)2026-09-15
CSAPP GPU 笔记(占位)2026-09-15
Linux 网络笔记(占位)2026-09-15
npm 笔记(占位)2026-09-15
教程阅读:OSCFD LES tutorial(占位)2026-09-15
Categories
  • CFD91
    • Fluent1
      • 安装1
    • OpenFOAM52
      • Fluent1
      • 工具3
      • 工具链5
      • 求解器15
Tags
Calc 三类边界条件 OpenFOAM Ansys 网络 命令行工具 MachineLearn CFD/理论 Zotero blockMesh 网格 PandocToExport 阅读/论文 瞬稳态计算差距 Drag Coefficient Python 涡脱落 simpleFoam Cpp GPU加速 foam-extend MPI DeepLearn Ur SIMPLE Richardson number 占位待充实 Archimedes number tttt Fluent CUDA CFD/理论/求解算法 Schemes DES CS/编程/Python 明渠流动 Stanton number npm vscode 无量纲数
Archives
  • September 2026 110
  • May 2024 1
  • October 2023 1
  • September 2023 2
  • August 2023 8
Website Info
Article Count :
122
Unique Visitors :
Page Views :
Last Update :
© 2023 - 2026 By tttt
Search
Loading Database