CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Using general momentum sources to "guide" the flow (

Lance January 10, 2013 08:02

Using general momentum sources to "guide" the flow
I read in the modeling guide that general momentum sources can be used to force the velocity in a point to be a specific value (chapter General Momentum Source in cfx_mod.pdf). So then I guess it is possible compare the computed velocity at a certain location with measurements, and then add or subtract velocity through a user function to get a better (or perfect) agreement with measurements?

Ideally the measurements and simulation results should of course overlap and if not, one should try to fix the cause of the discrepancy in the model. But in this way one would be able to guide the flow according to measurements.

Im just curious about the idea, anyone got any thoughts or ideas about this?

ghorrocks January 12, 2013 15:31

Yes, your comments are correct. Sometimes boundary conditions are not know but the condition at an internal point is. Then a momentum source to drive the flow from that point is useful.

Lance May 7, 2013 09:57

I've been thinking about implementing this for a couple of months now. Say that the velocities in a subdomain are specified by the -C(v-v_spec) approach, using CEL and user functions:
-C*(Velocity u -Subdomain1.Velocity u(x,y,t))
-C*(Velocity v -Subdomain1.Velocity v(x,y,t))
-C*(Velocity w -Subdomain1.Velocity w(x,y,t))
where Subdomain1 is a user function with velocities that vary in space and time. As my specified velocities are quite sparse, I wounder what happens between my prescribed points x,y? Will the user function interpolate between x and y (and t) and prescribe an interpolated velocity, or is the user function ignored and the governing equations solved there instead? If the governing equations are not solved between the prescribed locations, how can one be sure that the flow inside the subdomain is correct?

ghorrocks May 7, 2013 19:36

No, the Navier stokes equations are solved between your points - definitely no interpolation!

And in fact the NS equations are also solved in the subdomain, just with a source term which forces it to a specified UVW velocity.

Lance May 8, 2013 02:26

Thanks Glenn, I just wanted to make sure that the user function didnt introduce any strange stuff. After all, there is a choice between "Option: Interpolation (from file)" and "Option: Interpolation (data input)" in the user function tab.

ghorrocks May 8, 2013 02:32

Sorry, just reread your question again and I may not have answered correctly.

If you have sparse points defining your driving velocities in the subdomain, it probably does just interpolate between these points. The two options you refer to are simply the methods it uses to get the points from which the interpolation is done. They will both be the same.

But if the details of what goes on between points is important for this application I would do some simple tests (put two points in a big subdomain with lots of space between them) and see what happens - just to be sure.

Lance May 8, 2013 04:20

Ok, I made a subdomain with two points and there is indeed interpolation between the two prescribed velocities inside the subdomain.
So, back to the drawing board :/

Lance May 8, 2013 10:31

I tried to use a user function to set the constant C to a large value where I want to prescribe the velocities, and C = 0 where I want to solve the N-S equations. In theory it might work (?), but right now the results aren't that accurate. Probably because it screws up the interpolation as it uses the three nearest raw data points to the evaluation point.

ghorrocks May 8, 2013 22:39

Why not put a small subdomain at each of your points? Then the solver will function as normal between the points. A little messy in meshing but it would work.

Also, I looked at source points but you do not seem to be able to do momentum source points. That would have been too easy.

All times are GMT -4. The time now is 17:28.