CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   FLUENT (http://www.cfd-online.com/Forums/fluent/)
-   -   Actuator disk model (http://www.cfd-online.com/Forums/fluent/68457-actuator-disk-model.html)

audrich September 21, 2009 07:06

Actuator disk model
 
Chaps,

I'm having some difficulty extracting the correct mass flow rate, and thus Cp, from a simulation for a simple model of a shrouded turbine (2D axisymmetric, actuator disk simplification. Everything simulates without error, however my mass flow rate always comes out negative regardless of the direction of the pressure drop across the actuator disk.

I am thinking my problem is either (1) I am not defining the BC correctly, (2) the flow is turbulent or (3) something else. My Re is about 600 (v=0.1m/s,d=0.5m, air), in the laminar region, so something tells me the problem is (1).

Could I get a fresh set of eyes to look at the way I'm defining my fan BC? Here is my Fluent journal script with the important part in bold:

Code:

;read in the mesh generated by GAMBIT
rc working_design.msh
;set the model to axisymmetric
/define/models/axisymmetric yes
;scale the model in x and y by 1/1000 because the mesh is created in milimeters
/grid/scale .001 .001
;set the velocity inlet value (in m/s) boundary condition
/define/b/velocity-inlet source
y
y
n
0.1
n
1
n
0
;set the pressure jump value (50 pascals) boundary condition in the +x direction
/define/b/fan actuator
1
n
constant
50
n
0
1e+10
y
n
50

;initialize all boundary conditions and flow field values
/solve/initialize/initialize-flow
/solve/set/reporting-interval 100
;do 300 iterations
/solve/iterate 300
;write the data to a file
/report/fluxes/mass-flow yes yes mdot.flp
/exit
yes



And in case you need to see the mesh, you can quickly generate it with this Gambit journal:
Code:

$farfield_length = 5900
$farfield_height = 4000
$envelope_length = 650
$envelope_height = 500
$nozzle_length = 300
$nozzle_height = 200
$neck_length = 30
$neck_height = 100
$diffuser_length = 320
$diffuser_height = 500
$shroud_thickness = 10

/create the farfield
vertex create "lowleft" coordinates 0 0 0
vertex create "uprleft" coordinates 0 $farfield_height 0
vertex create "lowright" coordinates $farfield_length 0 0
vertex create "uprright" coordinates $farfield_length $farfield_height 0

edge create "upwind" straight "lowleft" "uprleft"
edge create "downwind" straight "lowright" "uprright"
edge create "ceiling" straight "uprleft" "uprright"

/create the turbine
$x1 = 2000 - $envelope_length/2
$x2 = $x1 + $nozzle_length
$x3 = $x2 + $neck_length
$x4 = $x3 + $diffuser_length

vertex create "xAy0" coordinates $x1 0 0
vertex create "xBy0" coordinates $x2 0 0
vertex create "xCy0" coordinates $x3 0 0
vertex create "xDy0" coordinates $x4 0 0

edge create "axis_pretrb" straight "lowleft" "xAy0"
edge create "axis_nzl" straight "xAy0" "xBy0"
edge create "axis_nck" straight "xBy0" "xCy0"
edge create "axis_dfs" straight "xCy0" "xDy0"
edge create "axis_psttrb" straight "xDy0" "lowright"

$y1 = $nozzle_height
$y2 = $neck_height
$y3 = $neck_height
$y4 = $diffuser_height

vertex create "xAyA" coordinates $x1 $y1 0
vertex create "xByB" coordinates $x2 $y2 0
vertex create "xCyC" coordinates $x3 $y3 0
vertex create "xDyD" coordinates $x4 $y4 0

edge create "inr_nzl" straight "xAyA" "xByB"
edge create "inr_nck" straight "xByB" "xCyC"
edge create "inr_dfs" straight"xCyC" "xDyD"

vertex create "xAyE" coordinates $x1 ($y1 + $shroud_thickness) 0
vertex create "xByF" coordinates $x2 ($y2 + $shroud_thickness) 0
vertex create "xCyG" coordinates $x3 ($y3 + $shroud_thickness) 0
vertex create "xDyH" coordinates $x4 ($y4 + $shroud_thickness) 0

edge create "otr_nzl" straight "xAyE" "xByF"
edge create "otr_nck" straight "xByF" "xCyG"
edge create "otr_dfs" straight "xCyG" "xDyH"

edge create "tip_nzl" straight "xAyA" "xAyE"
edge create "tip_dfs" straight "xDyD" "xDyH"

edge create "vrt_nzl" straight "xAy0" "xAyA"
edge create "vrt_nck" straight "xBy0" "xByB"
edge create "vrt_dsk" straight "xCy0" "xCyC"
edge create "vrt_dfs" straight "xDy0" "xDyD"

face create "farfield" wireframe "upwind" "ceiling" "downwind" "axis_psttrb" "vrt_dfs" "tip_dfs" "otr_dfs" "otr_nck" "otr_nzl" "tip_nzl" "vrt_nzl" "axis_pretrb"
face create "shroud" wireframe "tip_nzl" "otr_nzl" "otr_nck" "otr_dfs" "tip_dfs" "inr_dfs" "inr_nck" "inr_nzl"
face create "nozzle" wireframe "vrt_nzl" "inr_nzl" "vrt_nck" "axis_nzl"
face create "neck" wireframe "vrt_nck" "inr_nck" "vrt_dsk" "axis_nck"
face create "diffuser" wireframe "vrt_dsk" "inr_dfs" "vrt_dfs" "axis_dfs"

/mesh the design as an unstructured grid with triangular elements size 10 (mm)
edge picklink "upwind" "ceiling" "downwind" "axis_pretrb" "axis_nzl" "axis_nck" "axis_dfs" "axis_psttrb" "vrt_nzl" "vrt_nck" "vrt_dsk" "vrt_dfs" "tip_nzl" "tip_dfs" "inr_nzl" "inr_nck" "inr_dfs" "otr_nzl" "otr_nck" "otr_dfs"
edge mesh "upwind" "ceiling" "downwind" "axis_pretrb" "axis_nzl" "axis_nck" "axis_dfs" "axis_psttrb" "vrt_nzl" "vrt_nck" "vrt_dsk" "vrt_dfs" "tip_nzl" "tip_dfs" "inr_nzl" "inr_nck" "inr_dfs" "otr_nzl" "otr_nck" "otr_dfs" successive ratio1 1 size 50

face mesh "farfield" "shroud" "nozzle" "neck" "diffuser" triangle size 50

/set boundary conditions
physics create "source" btype "VELOCITY_INLET" edge "upwind"
physics create "sink" btype "OUTFLOW" edge "downwind"
physics create "symm" btype "SYMMETRY" edge "ceiling"
physics create "ax_sym" btype "AXIS" edge "axis_pretrb" "axis_nzl" "axis_nck" "axis_dfs" "axis_psttrb"
physics create "shrd_wall" btype "WALL" edge "tip_nzl" "otr_nzl" "otr_nck" "otr_dfs" "tip_dfs" "inr_dfs" "inr_nck" "inr_nzl"
physics create "actuator" btype "FAN" edge "vrt_dsk"
physics create "internals" btype "INTERIOR" edge "vrt_nzl" "vrt_nck" "vrt_dfs"

physics create "fld_med" ctype "FLUID" face "farfield" "nozzle" "neck" "diffuser"
physics create "sld_med" ctype "SOLID" face "shroud"

/export the mesh for Fluent 5/6 with the file name containing all the particular parameters
$mesh_name = "working_design.msh"

export fluent5 $mesh_name nozval


Sorry for the excessive code, but I figured it's easier to show you what I'm working with rather than get into prose.


All times are GMT -4. The time now is 07:52.