interface 相关知识

article/2025/9/22 22:16:42

FLUENT的边界类型可分为以下四种类型:

1、单面类型。这一类型的边界通常位于计算域的外边界。主要包括的边界类型有:axis,outflow,mass flow inlet,pressure far-field,pressure inlet,pressure outlet,symmetry,velocity inlet,wall,inlet vent,intake fan,outlet vent,exhaust fan。

2、双面类型。这类边界通常位于计算域的内部,面的两侧均位于计算域的内部。主要包括:fan,interior,porous jump,radiator

3、周期边界。这个没什么好说的,只有一个边界。

4、区域。主要包括fluid,solid。注意多孔区域是流体域的一种。

 

除此之外,还有一种类型:interface。对于这一类型,我个人认为,不应该将其当作边界条件来处理,虽然interface也是位于计算域的外边界。但是在使用的过程中,interface通常是成对出现的,也就是说,在使用interface的时候,需要不止一个计算域,单独的计算域没办法应用interface边界。

 

对于interface与interior的区别,其实很容易理解。interior是内边界,它所针对的区域是一个单独的区域,通常在计算中是透明的。而interface则像一个插座,连接两个计算域的。在前处理软件中设置了interface,导入到fluent中若没有设定grid interface,则在网格检查中依然会报错,不过设定了interface对之后再检查的话,错误提示会消失。

 

其实我个人的建议是,在gambit中只指定名称而不指定边界类型,具体的类型到fluent中再修改。当然修改中还是要遵循上面的规则的。单面类型的边界一定只能应用于外边界,双面类型区域只能用于计算域内部。


问题1:interface产生虚拟interior边界和wall边界情况讨论。

根据fluent help文件进行如下总结。

结论:当生成interface时,生成interior 和wall 是根据具体情况决定的。

情况1:interface zone完全重合(completely overlap)


完全重合,则只自动生成相应interior面。


情况2 :interface zone部分重合(partially overlap)时


部分重合时,重合部分生成interior,不重合部分生成wall。



 internal和interior:internal是只有Gambit中才有的边界,在fluent中自动转换为interior。internal和interior自然在fluent中作为相同的边界处理了,表示一种内部的概念。比如为了划分网格方便而将Geometry分成几块,那么使用的这几个面就是internal或者Interior。Fluent的官方客服说,internal和interior在fluent的计算中确实没有任何区别。之所以还有internal,是因为gambit不仅仅是为fluent做前处理,它所画出的网格和生成的边界还可以作为其他模拟软件计算的基础。Tgrid是Gambit未出现或者出现早期fluent广泛使用的前处理软件,其中就有internal。值得注意的是,当gambit设置一个边为internal时,在Tgrid中仍可以对此边进行操作(更改网格、复制面、以之为源生成体网格等),然而如果设置为interior,则无法进行任何更改。这是笔者目前知道的这两种边界的唯一区别。

 

  interface与上述二者的区别明显。internal和interior其实是一个面,就是表达一个内部,在流体的流动中,存在对流项和扩散项的自动调用计算,边界两侧的网格也是相同类型的。而interface就是一种为了连接不同网格而设定的边界。Gambit考虑到用户可能会在不同区域采用不同类型的网格,或者有些部分采用动网格,有些地方采用静网格。这样,在不同网格相邻的所在,就存在一个数据交换的问题。interface就是这样一个功能。由于interface总是成对出现,每侧各一个,它分别对两边的数据进行整合,根据设定好的差值方法进行控制方程离散形式在这一交界面上的过渡,成功实现数据的相互调用与交换,从而使各种物理量在不相同的网格类型区域间连续地过度。明白了这个道理,在fluent中定义interface的步骤就可以从容操作了。

  interface的应用有时非常灵活。两个不重合的面(大小不一,但空间位置部分重合)也可设置为一对interface。这时,重合部分将被处理为internal或interior类型(但左右两侧进行各种数据的插值交换),非重合部分则被设置为wall(固壁边界)。利用interface的这一点,还可在动网格中实现变边界条件的处理。如下case:当某一动件移动到某个位置时,其上部分区域将从壁面变化为出口,或从入口变化为壁面。这种情况就可使用interface来实现:1、在空间某处画网格A,根据动件移动规律(什么时候变边界)来确定其空间位置和几何尺寸;2、设置动件变边界那个面和A上某一面为interface;3、根据边界条件如何变化设置A中其它边界的边界条件。这样,当动件移动到某个位置而与A有重叠时,因为有interface设置的存在,重叠部分边界类型将被改变,而非重叠部分仍保持为壁面边界。当然,该设置仍存局限性(也可能是笔者认识浅薄),那就是边界的变化中某一边界必须为壁面,即其无法实现诸如从速度入口变化为质量入口等边界类型的转变。

 

    上述表述中,笔者使用了一个为使理解容易而做的简化。其实在FLUENT或者ANSYS中,interior和interface都是两个面,但二者的区别在于interior边界类型中两个面中任意一个都存储有另外一个面上的所有物理信息,而interface却没有。在Fluent的Boundary Conditions面板中经常可以看到有些wall边界后往往跟随有相应的shadow边界,其实这就是在提示这个面本质上在Fluent内部处理的时候是视为内部面的。在fluent对求解区域进行离散时,interior边界两侧的网格处理起来简单的多,因为边界两侧的网格必然是对应的,即各控制容积是对应的,离散过程仍同在一个region中相同。而在interface边界两侧,控制容积的不完全对应特性使得常规的离散方式无法进行,这时,就需要以质量的连续性和能量的守恒性为基本原则对两侧的数据进行插值处理而顺利实现方程在这一区域的离散化。再插值过程中,Fluent必然需要综合考虑interface两侧的网格特性,而interface中两个面存储的网格信息是不相同的,他们都对应自己相连的区域边界处的那一层(或多层)网格信息(这与选择的离散方式有关,如一阶二阶等)。因此,在fluent中,必须将interface连接到相应的域内,方便求解器实时调用。

    查看interface中两个面分别对应的域很简单。如在gambit中,首先查看interface对应的face名称,然后删除一块和该face相邻的区域(三维为体,二维则为面),看哪一个面消失了,该消失的面和被删除的域便就是连接在一起的。



http://chatgpt.dhexx.cn/article/tOvQ62f8.shtml

相关文章

GoLang之接口interface

文章目录 接口interface1.接口介绍2.接口定义2.1定义要求2.2接口可以嵌入到其他接口里但必须得匿名2.2.1接口里可以含一个接口时2.2.2接口里可以含多个接口时 2.3接口没有数据字段2.4接口可以嵌入到结构体struct里2.5空接口可以作为任何类型数据的容器2.6接口命名习惯以 er 结尾…

java中接口(interface)详解

接口(interface) 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。 接口(interface)是抽象方法和常量值的定义的集合。 从本质上讲&…

接口(interface)

(1)接口定义 接口(interface)是一种定义抽象方法的类型,它没有实现,只有方法签名。接口可以被类实现,实现类必须实现接口中的所有方法。接口通常用于定义类之间的契约关系,以及实现…

TS Interface(接口)

接口(Interface) 用来建立某种代码约定,使得其它开发者在调用某个方法或者创建新的类时,必须遵循接口所定义的代码约定 接口的前面加了一个 I 字母规范 在代码设计中,接口是一种规范;接口通常用于来定义某种规范, 类似于你必须遵守的协议,站在程序角度上…

敏捷项目管理实战第一天 敏捷开发SCURM的前世今生

开篇词 敏捷是互联网时代的超级管理术 你好,我是莫敏。自 2006 年开始接触敏捷,到 2010 年参与组织每年一届的敏捷大会,再到 2012 年加入腾讯先后从事项目管理和产品管理工作,可以说从过去到现在,我一直身处敏捷实践的…

机器人算法之敏捷开发

0. 简介 在开发大型的机器人工程时候,我们会发现团体开发以及代码的review的会非常重要。而这些离不开敏捷开发(Scrum)以及Git管理。而最常用敏捷开发流程就是DoD。本文也将介绍和学习这种方式,来辅助各位能够在实验室和工作中团…

何谓敏捷开发

敏捷开发(agile development)是非常流行的软件开发方法。据统计,2018年90%的软件开发采用敏捷开发。 但是,到底什么是敏捷开发,能说清的人却不多。本文尝试用简洁易懂的语言,解释敏捷开发。 一、迭代开发 …

敏捷开发思想

敏捷开发思想 SCRUM 是什么?敏捷开发是什么?以人为核心是什么意思?迭代 是什么意思? SCRUM 与 敏捷开发思想有什么关系?敏捷开发的模式分类(摘抄至互联网):SCRUM 的工作流程(摘抄至互联网) 流程: SCRUM 是…

敏捷开发-Scrum过程模型

Scrum过程模型 Scrum过程: Scrum的三个主要元素:角色(role)、活动(activity)、产出物(artifact) 三个角色: 1. Product Owner(PO) 定义产品需求…

瀑布开发与敏捷开发的区别,以及从瀑布转型敏捷项目管理的5大注意事项

事实证明,瀑布开发管理模式并不适合所有的软件项目,但敏捷项目管理却对大多数项目有效。那么当团队选择转型敏捷的时候有哪些因素必须注意? 敏捷开发最早使用者大多是小型、独立的团队,他们通常致力于小型、独立的项目。正是他们的…

敏捷开发流程简介

最小可行化产品 硅谷创业家 Eric Rise 在其著作 《精益创业》 一书中提出了 “精益创业”(Lean Startup)的理念,其核心思想是,开发产品时先做出一个简单的原型——最小化可行产品,然后通过测试并收集用户的反馈&#…

浅谈敏捷开发中的设计

敏捷开发在当今业界已经大行其道,想要快速交付,采用敏捷开发方法似乎是最好的方式,是否必须要用这就另当别论了。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,不过,想要真正做到…

什么是敏捷开发?敏捷开发流程的8个步骤

文章目录 一、什么是敏捷开发?二、敏捷开发模式的分类三、SCRUM 的工作流程四、敏捷开发流程的8个步骤包括:五、敏捷开发模型 一、什么是敏捷开发? 敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。 在…

什么是敏捷开发?教你正确理解敏捷开发

敏捷开发是相对于瀑布开发来说,一种轻量级的软件开发方式。敏捷开发是为了快速响应需求变化、通过组建跨职能团队实现持续不断的交付高质量的产品的方法的集合。所有符合敏捷宣言和敏捷开发十二项原则的方法都可以是敏捷开发的一种实践。 在大多数的敏捷开发实践过…

什么是敏捷开发?

什么是敏捷开发? 敏捷开发是一种以人为核心,迭代,循序渐进的开发方式。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。加单的说,敏捷开…

GridView 激发了未处理的事件“PageIndexChanging”

在手动给gridview邦定数据源时,会出现这种情况 运行后直接显示分页的1,只有1显示正常,如果点选其它的,比如2或者4什么其它别的,提示: GridView“XXX”激发了未处理的事件“PageIndexChanging”。 手动分页必须有PageIndexChanging事件,添加PageI…

PageView的设置

1、创建一个PageView控件,自动生成background精灵和mask的view视图和indicator View下面有一个content(Layout类型) ,content可以存放每页内容 页面指示器,可以清晰看当前是多少也 2、监听PageView事件 // 监听事件 o…

ViewPager和PageAdapter,FragmentPageAdapter,FragmentStatePageFragment

【Android】ViewPager深入解析(一) http://www.imooc.com/article/2580 2015-12-07 11:59:28 11830浏览 19评论 话说小伙伴们在使用App的时候有没有注意到很多App的首页都是可以左右滑动的页面呢?很多App还有绚丽的轮播图广告。那么如何实现这…

viewpager.setcurrentitem导致的ANR

参考:Java线程Dump分析工具–jstack dump 文件里,值得关注的线程状态有: 死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注&#x…