CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Fans inside domain, orthogonal to surrounding stream

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 7, 2014, 21:34
Default Fans inside domain, orthogonal to surrounding stream
  #1
Member
 
Simon Arne
Join Date: May 2012
Posts: 42
Rep Power: 14
simpomann is on a distinguished road
Hey,

I spent a lot of time researching this particular problem but I come to no conclusion and have to ask for help.

Right now I am modeling the flow through an hollow object, which is equipped with ~30 fans that suck air from the surrounding stream. The object also has a huge amount of non-blocked openings. Unluckily there is no symmetry, so I have to model all the fans within the domain by applying a pressure jump. I use OpenFOAM's latest version 2.3.0 .

Solver is simpleFoam, flow is stationary and incompressible.

Inlet..>>Stream>>..Outlet
>>|................................|>>
>>|..........___ ___.......|>>
>>|.........|.....(x)... .|.......|>>..........hollow object with
>>|.........|..............|.......|>>
>>|.........|__ (x) __|.......|>>..........(x) example fans
>>|................................|>>
>>|................................|>>

So far I came up with 2 approaches:

1) Create baffle patches with snappyHexMesh and use normal patch BCs

-pressure :
Code:
    "(vent_in_fs_0|vent_in_fs_1|vent_in_fs_2|.....)"
    {
            type fanPressure;
            patchType totalPressure;
            fileName "./constant/fanCurve"; // Fan curve file name
            outOfBounds clamp; // (error|warn|clamp|repeat)
            direction in; // Direction of flow through fan
            p0 uniform 0; // Environmental total pressure
            value uniform 0; // Initial pressure
            gamma 1;
    }
Code:
  "(vent_in_fs_0_slave|vent_in_fs_1_slave|...)"
    {
            type fanPressure;
            patchType totalPressure;
            fileName "./constant/fanCurve"; // Fan curve file name
            outOfBounds clamp; // (error|warn|clamp|repeat)
            direction out; // Direction of flow through fan
            p0 uniform 0; // Environmental total pressure
            value uniform 0; // Initial pressure
            gamma 1;
    }
- all fan velocities (in and out direction):
Code:
    {
      type           pressureInletOutletVelocity;
          value           uniform (0 0 0);
    }
This version is stable and shows increased/decreased pressure on the intented sides. Unluckily the mass flow rate through the fan and the amount of pressure increase are incomprehensible to me. Pressure drop from the fanCurve table and mass flow don't seem connected (I integrate U over the patch surface for mass flow rate, since flux phi is not available on internal boundaries).

Edit: Comparison on both sides of a fan (master and slave patch) have proven that mass conservation in this setup is only achieved globally but not for each fan. So basically it is a domain with 41 Inlets and 41 Outlets. : (

Prescribing other velocity boundaries, e.g. flowRateInletVelocity or normal velocity lead to the case rapidly diverging. Is there a way to prescribe U for the fans (baffles) in a way that I can control the mass flow rate? Unluckily all fans are orthogonally orientated to the surrounding main stream, so the overall domain inlet is of no help here.

My question: If I prescribe a fanCurve table, how is the volume flow through the patch determined? It seems that I can not prescribe a volume flow and the pressure drop is modelled(chosen from the table) according to it, right?

My concern: Since I have multiple fans and openFoam does not know which one is connected to which one, mass conservation is not guaranteed.
Snippet from boundary:
Code:
    vent_in_bfs_0
    {
        type            patch;
        nFaces          37;
        startFace       5713766;
    }
    vent_in_bfs_0_slave
    {
        type            patch;
        nFaces          37;
        startFace       5713803;
    }
Right now I am considering maddalena's approach (http://www.cfd-online.com/Forums/ope...ow-rate-2.html) to use a mapped velocity to maintain mass conservation between every master and slave patch.

Can anyone here tell me how can I change patches to type mapped without manually editing the boundary file?


2) Create baffle patches with snappyHexMesh, change them to cyclics and use cyclic BCs.

This approach seems more reasonable to me, since it makes use of the physical coupling of fan inlet and fan outlet. Unluckily I am less sucessful making it work. [I will update the code tomorrow]
- pressure: fan boundary with polynominal jump table
- velocity : cyclic

This seems to have no effect at all. Simulation is running without errors and is converging quite well. Unluckily there is no pressure increase/drop around the cyclic patches visible in post processing. I checked the boundary file and all patches are assigned correctly with their respective neighbour.

Is it possible that the cyclic fan BC models pressure increase based on the velocity through the cyclic patches? Unluckily, due to the orthogonal positioning of the fans within the main stream, velocity in y-direction (Normal to the fans) is close to zero.
As far as I understood there is no possibility to prescribe velocity (or mass flow rate) on a cycling patch, right?

Edit: So far I converted the patches via createPatch. It seems that they are cyclic in p, although I prescribe a redetermination as shown in the cavity fan tutorial (via patchFields). Can't figure out whats wrong yet. Mass conservation for each fan works like a charm but no pressure increase, independent of the prescribed jump or fan curve. I wonder if it is related to the low normal velocity through the fan surface.

Edit: Right now I am experimenting with a third approach - the inclusion of an actuator disk source similiar to the cavity fan tutorial.

Thanks in advance for every help! I hope someone here can explain the involved boundaries to me. If I can provide more information, let me know.

Greetings,
Simon

Last edited by simpomann; July 8, 2014 at 19:20.
simpomann is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
sliding mesh problem in CFX Saima CFX 46 September 11, 2021 08:38
To model fire inside the domain - please help hari Main CFD Forum 0 October 27, 2007 09:35
How to define a gadient boundary inside domain windhair CFX 4 October 20, 2004 06:05
block geometry inside fluid domain jeff Main CFD Forum 18 April 12, 2004 12:37
BC for the stream function in the computing domain Pierre Forges Main CFD Forum 1 July 26, 2000 15:47


All times are GMT -4. The time now is 10:56.