Defining Boundary Conditions Dictated by a Pump Curve
Hello all,
I'll give a short version and a long version of this thread topic. The answer could prove to be quite simple, as I'm new to CFD. Thanks in advance for the help! The short version: When the inlet condition for a flow domain is dictated by a specific type of pump that will be used (i.e. all that is known is the characteristic pump curve) to force flow, how should one define the inlet boundary condition in Fluent? The long version: I am trying to simulate the flow of water in an engine cooling jacket. I intend to perform CHT analysis, but that isn't important for now. In reality, the pumping system is closed. This may be an important consideration; for now, I intend to simulate the water jacket as open loop system with "fresh" water entering the system. The flow in the actual prototype is forced by virtue of a pump. My current understanding is that the operation point of the system is found at the intersection of the characteristic pump curve and the system (demand) curve. The characteristic pump curve is given. The system curve is not known. NOTE: I intended to write how I might go about finding a system curve by hand, but I've run out of time. Will edit what I get a chance. EDIT: I'll just respond to ghost. |
Hi Rob,
as you know the characteristic curve of a pump is a chart of head vs. flow rate (usually volumetric flow rate of water). You are right the operative point will be the intersection between the characteristic curve of the pump and the system curve. I will write basic instructions on how I would address your problem (this is just an idea). I would write and udf for inlet mass flow rate to be execute at the end of each iteration. I would fit the pump curve with a function flowrate=f(head). I would loop over the outlet face to compute the pressure and make the difference with inlet pressure to calculate fluent pressure drop. This pressure drop should be an input for the function flowrate=f(head) to assign the new mass flow rate to inlet. If you don't want to write the udf you can proceed by trial and error: - fix a mass flow rate and compute total pressure drop by fluent - compare pressure drop with characteristic curve of the pump - if calculated pressure drop are > than characteristic curve of the pump you should decrease mass flow rate in your second trial, if they are < then you have to increase mass flowrate - proceed until pressure drop are on or very near the pump curve Also, if you don't want to write the udf you can calculate the system curve - make some simulations of your system with different mass flow rates and calculate system pressure drops - build a chart system pressure drop vs. flowrate: this will be the system curve - overlap the two charts; the intersection point will be your flowrate (operative point) Daniele |
Daniele,
Thank you so much for your insightful post! This is great information. I'm glad my question wasn't totally inane and unfounded! The last idea in your list (developing a system curve) was essentially the "by hand" process that I was thinking about discussing in my first post. As I implied in my first post, I am new to Fluent. You listed two ways to avoid creating a UDF. Is creating a UDF typically a laborious process that should be avoided? I will definitely do some reading to learn more about writing them. Thanks again for the help! |
Hi rob,
writing a udf for your case will not be so difficult. You have to know c language, but if you look at some examples in fluent udf manual and you are smart enough to understand what the code does I think you can write it on your own. Daniele |
Daniele,
Thank you for the response. The C doesn't look particularly hard for this scenario. I am, however, having some issues with compiling my code. I know you rock, so, if you have some time, please take a look! I will be sure to post a functioning pump BC UDF in this thread once I get it working so that the community may benefit! Thank you, Rob |
Unfortunately, I've practically abandoned this project, as adequate results have been obtained for my model at a few known flow rates. However, for posterity, I thought I would post the code that I have so far. It has been so long since I've looked at this code that I can't recall exactly what's wrong with it, but I know a bit more debugging is required. I don't think it was accurately determining the pressure drop for some reason. I'm certain any further contributions would be beneficial to the CFD community!
If enough interest is shown, I'd be happy to continue contributing in my free time. Frankly, this code is not very complicated, so I'm sure I've just overlooked something simple. Code:
/****************************************************************************** |
All times are GMT -4. The time now is 03:08. |