欢迎光临散文网 会员登陆 & 注册

边界条件学习视频笔记

2022-03-18 16:36 作者:孤魂星  | 我要投稿

边界条件:典型的边界条件的设置
针对于有限体积法,离散完了偏微分方程后,每一个网格都会生成代数方程。这个时候,代数方程所需要的系数实际上是从网格中心所差分过来的网格边界上的值所决定的。(有限体积法FVM的元义)
如果所在的控制体网格面不是内部面,而恰巧是边界面,而这时面上的值,需要我们自己指定边界条件,因此,边界条件直接决定代数方程中的某些值。  边界面是整个控制体边界面的集合。
边界的类型直接决定将来可以使用边界的条件。边界类型:
patch  最广泛  任何的边界条件都可以加载
wall   壁面函数  能够使用特殊的边界条件  并不代表就是一个真正的壁面 只是为了使用wallfunction 若想让其成为真正的避免条件,还需要对其进行相应的设置  单纯的壁面类型是不行的  还是要确定值
symmetryPlane  对称性质  只搞一般  剩下一半对称过去  使用对称边界条件
 empty  降维使用  边界条件也只能empty
 cyclic 周期性边界 边界条件也是周期性  要指定与其相连的也是周期性边界条件
 wedge  楔形边界条件
 
 
 边界条件:
 第一类 Dirichlet  固定值 fixedValue
 第二类 Neumann  梯度  fixedGradient  zeroGradient
 第三类  前二者结合  绝大多数的derived  就是二者的结合
 还有一种叫  calculated  由其他物理场推导(derived value)出来的  例如通量phi
 
 OF 中一系类的derived 边界条件:
 对于一个无滑移的壁面 V=0  有滑移 垂向壁面 v=0 允许平行壁面方向V存在(滑移边界条件的物理意义)slip
 介于滑移和不滑移之间  particalSlip  
 
 myPatch
 
 {
     type               particalSlip;   //这些也是边界条件的类型
     valueFraction     uniform   0.1;        //1 无滑移   0 滑移  在这之间就要看自己的物理现象是个啥了
 }
 介于切向方向上的速度滑移有多大
 
 //////////////////////////////////////////////////////////////
 
 inletOutlet  当有反向流动时出口边界条件不适用,改用inletValue 所以这个为出口边界条件
 inletOutlet 为出口边界条件,若 外流phi>0   边界条件就是 零梯度zeroGradient  若反向流动,则 回流值大小为 inletValue值的大小
 
 myPatch
 {
     type           inletOutlet  ;
     phi            phi;
     inletValue        uniform  0;         //回流式的流动参数  与初始流动方向相反即是回流
     Value            uniform  0;         //边界上的初始值

 }  
   
 //////////////////////////////////////////////////////////////
   
   
 outletInlet  进口边界条件  刚好和inletOutlet 相反
   
 myPatch
 
 {
     type       outletInlet  ;
     phi        phi;
     outValue    nuiform  0;     //入口值  若
     Value        uniform  0;         //无物理意义  使paraview识别
    
 }
 若往场内流  phi>0 则边界条件就是 zeroGradient ;若往场外流 就是入口回流(往场外流),就是outValue 的值
 
//////////////////////////////////////////////////////////////

movingWallVelocity  针对运动的壁面边界条件的设置  例如 cavity  顶部
当网格没有移动或者滑移,只是壁面有移动,使用 movingWallVelocity 和 fixedValue 是完全等效的 ,但是当网格有移动的时候就能体现出来他们的区别。当使用动网格的条件,movingWallVelocity根据网格的移动会自动修正通量值,这样保障了网格移动以后通过壁面的总通量为0。

 myPatch
 {
     type   movingWallVelocity;
     U        U;
     Value    nuiform  0;         //
    
 }
 
  movingWall
  {
          type        fixedValue;
          value       uniform 0;
  }

 //////////////////////////////////////////////////////////////

pressureinletOutletVelocity  是 pressurelinletVelocity  和 inletOutlet 两个边界条件的结合

速度场的边界条件,适用于边界面上压力已知的情况。

对于出口而言,刚好就是 inletOutlet 对应的意思,对于入口处的回流。对于入口边界而言,速度法向上的分量的大小就是通过phi求得的。我们也可以认为的加一个切线方向上的分量,若不加,默认在切线方向上速度为0  也就是无滑移。

movingWall
    {
        type            pressureinletOutletVelocity;
        phi                phi; //速度场经phi值确定
        value           uniform 0;
    }


 pressurelinletVelocity(压力在边界面上已知)  和 inletOutlet(根据通量场大小及正负值来确定)
 
  //////////////////////////////////////////////////////////////
 
totalPressure  压力场已知 意味着整个总压力p0是已知的 指定出p0(总压力值)
 
myPatch
 {
     type   totalPressure;
     U        U;
     phi    phi;
     rho    none;
     psi    none;
     gamma    1.4;
     p0        uniform 1e5;         //
    
 }
 
  //////////////////////////////////////////////////////////////
 
 fixedFluxPressure     与zoerGradient 有同样作用 方程中同时包含重力、表面张力等体积力,这个时候不用zeroGradient,而是使用fixedFluxPressure,能够调节压力场梯度,从而保证有体积力的情况,能够和速度场的边界条件相匹配    想要给定压力的零法向梯度边界条件,但是同时求解的方程还存在体积力,则给在压力边界上给定fixedFluxPressure。
 
 myPatch
 {
 
     type    fixFluxPressure;
 
 }
 
  //////////////////////////////////////////////////////////////
 
oscillatingFixedValue   和动网格相关  震荡边界条件  边界场的值和时间相关,设定震荡的振幅和频率,初始的偏离值  先设置方程,然后根据方程写出下面的关键字数值。

例如:

x_p = (1+ asin(2* pai* f * t)) * X_ref +X_offset

myPatch
 {
 
     type        oscillatingFixedValue;
     refValue    uniform 5.0;    
     offset        0.0;            初值
     amplitude    constant 0.5;      振幅
     frequency    constant 10;    频率
 
 }

 OF中还存在很多边界条件,可以针对其源程序进行一个解读(有些需要使的去看,不需要使用的不去看)










 
 



边界条件学习视频笔记的评论 (共 条)

分享到微博请遵守国家法律