Simulating 2D Poiseuille Flow

edited February 2014 in Old versions
Hi all,

Has anyone considered or attempted to simulate 2D poiseuille flow (flow between two parallel, stationary, infinite plates driven by a constant body force)?

In my case, the plates are separated by 10^-3 m in the z-direction, the flow (water) is driven by a body force per unit mass, F = 2x10^-4 m/s^2, and periodic BCs are assigned to the boundaries in the x-direction. The peak fluid velocity (steady state) should be v = 2.5x10^-5 m/s, which results in a Reynolds number, Re = 2.5x10^-2 (laminar flow).

I've modified the CASEFORCES example to apply my constant body force with little success. For some reason I'm forced to use very small time steps O(10^-6 s) to keep the system stable and the particles (and velocity field) become very disordered. Running the simulation with/without Delta-Sph, Sheppard Filter, Artificial or Laminar SPS viscosity, Cubic or Wendlend kernels made no real difference in the result.

So my two main questions are these: 1) When body forces are applied using an external file, is gravity still applied as well (I'm guessing yes)? and 2) Are the periodic BCs implemented in this version of the code similar to the original SPHysics code? That is, are the support domains of particles located at/near one periodic boundary truncated, or do they interact with particles near the opposite periodic boundary?

Regards,

John

Comments

  • Just a quick update. Cancelling out the gravitational force with an equal and opposite force added to the z-direction in my external force file did the trick (I should have seen that from the beginning). Now the simulation runs more or less as it should using Artificial viscosity - meaning the shape of the velocity profile is correct, but the max steady-state velocity magnitude is off (by about a factor of 2). I've tried tweaking the "Visco" (alpha) value to get a better agreement, but the solution is still not as accurate as I'd like.

    Since this flow is dominated by viscous forces, I think I'll try adding in a different viscosity model (maybe Cleary, 1998) and see if I get better agreement.

    As an aside, does anyone know if it's possible to limit or apply external forces to just a subsection of the overall computational domain? The idea being, you could create a local momentum source that could be used to model a pump or compressor.
  • Hi,

    Regarding applying forces to specific particles, that's quite easy, when you create your case for gencase, define your different fluid areas using separate geometries. This will result in your fluid particles having different mk identifiers. You then just define your external acceleration files for the appropriate mk value.

    The only thing to bear in mind is that gencase operates in a procedural manner, that is of you define one fluid geometry and then overlap it with another (reading the XML from top to bottom or the object list in DPI), the second geometries particles will over write the first, so you need to make sure you do things in the right order.

    Best regards.
  • edited January 2014
    Dear JohnG,
    Hi,
    I think there is an another way to assign an Acc. to the fluid in this case.
    In my opinion for this case (Poiseuille Flow) you can easily assign a horizontal Acc. in the gravity line in the Xml. file and you don't need to cancel the gravity in Z direction at all. By this you don't need the external file too!
    By adding an Acc. to the momentum Eq. in X direction you have added an external momentum to the system just for the fluid particles.
    Could you please tell me why are you trying to cancel the Acc. in Z direction?

    And about your question in how could we assign a specific force in a subsection (constant in all the simulation time) I have find out that there is no way to have this capability in our models with DSPH codes. I think the way to assign an Acc. with external Csv. file to specific mk value of fluid, as SLongshaw described in the above comment, isn't the thing you are looking for.

    I have modeled the Poiseuille Flow using LES momentum (actually laminar...) equation and periodic boundary condition. After about 5 second of simulation I get the velocity profile compatible to the analytical results. But after 20 second we could see velocity in middle (max velocity of the fluid) starts decreasing in an unacceptable manner.
    Do you have this problem in your case too?


    Regards,
    Mojtaba
  • edited January 2014
    I could send you my results in an excel file if you want to.
  • Mojtaba,

    I agree that I could assign an Acc. using the gravity line (which is what I had thought to do originally), but because the Acc. value is so small (2x10^-4 m/s^2), I thought I might run into problems with my equation of state (B value), as was mentioned in a previous thread (http://dual.sphysics.org/index.php/forums1/#/discussion/comment/169). It sounds like it ran fine for you though, so it looks like I didn't need to worry about it.

    As far as the results of the Poiseuille flow go, I'm not getting an accurate velocity profile at the moment, which I think is due to the viscosity model I'm using. I tried using the Laminar+SPS model instead of the Artificial viscosity model, but the simulation goes unstable (even for very small time steps). I'm not very familiar with the Laminar+SPS model though, so I could be using it incorrectly.

    I haven't tried running the simulation out to 20 seconds, but I'll definitely check it out and get back to you. Also, if you're willing to send me your results, that would be great.

    SLongshaw - Thanks for the suggestion. I had no idea that feature was so flexible, it definitely opens up some very interesting possibilities. However, I was thinking more along the same lines as Mojtaba - that is, an external force applied only to particles inside a particular spatial region.

    Regards,

    John
  • edited January 2014
    Dear JohnG,

    I mean you don't need to remove Acc. in Z direction so there wouldn't be any problem for equation of state constant (B).
    You could add a horizontal Acc. in X direction to simulate the slope of the system.
    Be aware of the analytical relationship between viscosity value ( in Laminar+SPS or Artificial visco.) and the velocity profiles. Since these velocity profiles are identical for a slope (gsin(slope)) and a viscosity value!
    I have drawn the analytical velocity profiles in an excel file to compare them with my DSPH results.
    Please send me an E.mail to send you my results+XML file. I appreciate if I could have a look at your results and XML file too.

    Best Regards,
    Mojtaba
    Email : Mojtaba_Jandaghian@yahoo.com
  • Hi all,

    I hope I could use your help since this conversation has some features that interest my problem.

    I am trying to simulate a 2-D problem with DualSPHysics, I have a moving body underwater, and I want to extract the forces on the body due to fluid inertia, pressure and viscosity only, so NO external body forces. I cannot put g(0,0,0) for obvious reasons, JohnG how exactly did you manage to cancel out the gravitational force? Were you able to get symmetry adding an equal and opposite force in z?

    Also, I have tried using very small values of g, like 1e-6 or less, and the fluid sort of detaches from the moving boundary, and floats apart as if it was in vacuum or something. That doesn't make physical sense to me: although gravity is small or negligible, shouldn't the fluid particles still stick together, kept by viscous and pressure forces? What do you guys think?

    Thanks in advance for your comments,

    Taffo
  • A further observation: I noticed that whenever you have a submerged object, the water height of the fluid right beneath is calculated starting from h=0, although the depth of the object is not 0. This means that in a 2-D problem, say (y,z) with g acting in (-z), if you take a y=const line, there is a different density distribution for fluid particles beneath the object with respect to the remaining fluid particles, whose water height is calculated from the actual free surface at h=0. Do you think this could be a source of error?
  • taffo,

    I cancelled out the gravitational acceleration in my simulation by adding an equal and opposite acceleration defined from an external .csv file (refer to the testcase "CASEFORCES" in the user guide).

    You can use the MeasureTool to get the pressures and accelerations of particles with a particular mk value, and you could integrate those pressures over the surface of the object to get forces and moments, but I'm not sure how you can get viscous forces.

    As to your second observation, you should add "settling time" to your simulation, before you begin moving your object, to let the particles equilibrate. This is pretty standard practice in SPH and will take care of that discrepancy you noticed in the density distribution.

    I was able to run a real quick simulation of a cylinder moving through a quiescent fluid using this approach, and everything seemed to run fine.

    Hope this helps,

    John

  • Hi JohnG,

    thanks for your reply. I will try the CASEFORCES trick, already tried on the original xml file by just changing the acc. values in the csv's and it seemed to work!
    I still don't understand why the fluid behaves strangely with low values of g. You wrote that you have used small body forces as well, did that happen to you as well? I have complete detachment of the fluid as the body moves (even at very low velocities), and it keeps floating around...so basically I end up with no forces on the boundaries as there is no fluid around it!!!
  • taffo,

    What are you boundary conditions? For the test case I ran, I set up a cylinder oscillating inside a fluid filled rectangular tank and didn't run into any detachment issues.

    I am having problems using very small body forces however. Trying to run my Poiseuille flow case with a small body force (2x10^-4) results in completely inaccurate velocity profiles, but running the same case with a larger body force (0.2) gives me something that looks correct.

    I'm still trying to figure out if this is related to my domain size, particle spacing, or something else. Maybe there is something going on with how the code applies body forces when periodic boundaries are present, or maybe numerical roundoff errors are piling up, I'm not really sure yet.

    Regards,
    John

  • Hi all,
    For the 2D lid-driven cavity problem how can we apply the velocity condition to the top boundary?
    Thanks.
    Kind regards,
    Ida
  • edited October 2015
    (continuing) would it be reasonable to consider two separate boundaries ("fluid" boundary?! with initial velocity): one comprising the lid with the desired velocity condition and the other comprising the remaining cavity?
Sign In or Register to comment.