分享

【Fluent GUI】02:湍流参数

 析模界 2023-10-23 发布于四川

本文描述了利用Fluent GUI来计算湍流参数。

昨天搞了个计算yplus和Re的GUI,基本上可以当做太阳能手电筒了。因为在Fluent中并不填需要这些计算结果。

今天来点儿有用的,利用GUI来计算湍流参数,界面如下图所示。

1

基本公式

计算公式取自Fluent User Guide 6.3.2节。

1、湍流尺度

湍流尺度:

式中L为水力直径,Cu为常数,通常取0.09。

2、湍流粘度

湍流粘度:

式中,经验常数Cu=0.09,k为湍动能,epsilon为湍流耗散率

3、湍动能

式中,u为平均流速,I为湍流强度。

4、湍流耗散率

Cu为常数,取0.09

4、湍流强度

5、湍流粘度比

6、湍流比耗散率

2

程序代码

程序代码如下(滑屏看完整代码):

(define apply-cb #t)
(define update-cb #f)

(define velocity 1.0)
(define density 1.0)
(define mu 1.0)
(define L 1.0)

(define tk 0.0)
(define ti 0.0)
(define tl 0.0)
(define te 0.0)
(define muratio 0.0)
(define omega 0.0)

(define (update-cb . args)
 (cx-set-real-entry density 1.0)
 (cx-set-real-entry velocity 1.0)
 (cx-set-real-entry mu 1.0)
 (cx-set-real-entry L 1.0)
)

(define (Calc)
 (define Rvelocity (cx-show-real-entry velocity))
 (define Rdensity (cx-show-real-entry density))
 (define Rmu (cx-show-real-entry mu))
 (define RL (cx-show-real-entry L))
 (define Rtk 0.0)
 (define Rti 0.0)
 (define Rtl 0.0)
 (define Rte 0.0)
 (define Rmuratio 0.0)
 (define Romega 0.0)
 (define Re 0.0)
 (define Rmut 0.0)
 (define cu 0.09)
;开始计算
 (set! Rtl (/ (* 0.07 RL) (expt cu 0.75)))  ;计算特征尺度
 (set! Re (* Rdensity (* RL (/ Rvelocity Rmu)))) ;计算雷诺数
 (set! Rti (* 0.16 (expt Re (/ -1 8)))) ;计算湍流强度
 (set! Rtk (* 1.5 (expt (* Rvelocity Rti) 2))) ;计算湍动能
 (set! Rte (/  (expt Rtk 1.5) Rtl)) ;计算湍流耗散率
 (set! Rmut (/ (* Rdensity 0.09 (* Rtk Rtk)) Rte)) ;计算湍流粘度
 (set! Rmuratio (/ Rmut Rmu)) ;计算湍流粘度比
 (set! Romega (/ (expt Rtk 0.5) (* cu Rtl))) ;计算比耗散率
 
  (cx-set-real-entry tk Rtk)
  (cx-set-real-entry ti Rti)
  (cx-set-real-entry tl Rtl)
  (cx-set-real-entry te Rte)
  (cx-set-real-entry muratio Rmuratio)
  (cx-set-real-entry omega Romega)

 
 (display (string-append "Reynold Number :" (number->string Re)))
 (newline)
 (display (string-append "Length scale :" (number->string Rtl) " m"))
 (newline)
 (display (string-append "turbulent kinetic:" (number->string Rtk) " m2/s3"))
 (newline)
 (display (string-append "turbulent intensity :" (number->string Rti) " m2/s2"))
 (newline)
 (display (string-append "turbulent Dissipation Rate :" (number->string Rte) " m2/s3"))
 (newline)
 (display (string-append "turbulent viscosity :" (number->string Rmu) " kg/(m.s)"))
 (newline)
 (display (string-append "turbulent viscosity ratio :" (number->string Rmuratio) ))
 (newline)
 (display (string-append "omega :" (number->string Romega) " 1/s"))  
)

(define (apply-cb . args)
 (Calc)
)

(define (button-cb . args)
 (Calc)
)

(define dialog-box (cx-create-panel "Turbulent Para" apply-cb update-cb))
(define table (cx-create-table dialog-box "" 'border #f 'below 0 'right-of 0))            
(define box1 (cx-create-table table "Data Inputs" '
row 0 'col 0))
(define myDropList (cx-create-drop-down-list box1 "Compute From:" '
row 0 'col 0))
(cx-set-list-items myDropList (map thread-name (sort-threads-by-name(get-face-threads))))

(set! velocity (cx-create-real-entry box1 "Velocity[m/s]:" '
row 1 'col 0))
(set! density (cx-create-real-entry box1 "Density[kg/m3]:" '
row 2))
(set! mu (cx-create-real-entry box1 "Viscosity[Pa.s]:" 'row 3))
(set! L (cx-create-real-entry box1 "Length[m]:" '
row 4))
(cx-create-button table "Calculate>>" 'activate-callback button-cb 'row 1  )
(define box2 (cx-create-table table "Data Output" 'row 0 'col 2))
(set! tk (cx-create-real-entry box2 "Turbulent Kinetic Energy[m3/s2]:" 'row 1))  
(set! ti (cx-create-real-entry box2 "Turbulent Intensity[m2/s2]:" '
row 2))  
(set! tl (cx-create-real-entry box2 "Turbulent Scale[m]:" 'row 3))    
(set! te (cx-create-real-entry box2 "Turbulent Dissipation Rate[m2/s3]:" '
row 4))  
(set! muratio (cx-create-real-entry box2 "Turbulent Viscosity Ratio:" 'row 5))
(set! omega (cx-create-real-entry box2 "omega[1/s]:" '
row 6))

(cx-show-panel dialog-box)

END


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约