DualSPHysics / DesignSPHysics

Module for FreeCAD intended to use with DualSPHysics fluid simulator.
Other
104 stars 38 forks source link

Inlet/Outlet Feature #164

Open aepoc opened 10 months ago

aepoc commented 10 months ago

I am having some trouble getting the inlet/outlet features working. The goal is for me to simulate the input of 6 high flow pumps at the top of a sluce. I will have an outlet at the end.

Has anyone had luck simulating the input from pumps with designsphysics?

Could someone please point me towards some research materials as there doesn't seem to be much info on how to implement inlets/outlets in designsphysics. I have tried (3D & 2D) with my complicated geometry (stl) and am currently working on a simple 2D simulation made of 2 Freecad boxes (one for the floor and one for the water)... I can't get any of the simulations to run

aepoc commented 10 months ago

I've managed to get several 2D simulations to work as expected now. I am currently working on the more complicated geometry (.stl), still in 2D. For both the inlet and outlet, I created boxes as fluidMK1 and FluidMK2 (there's also a fill box: fluidMK0). These were configured as faces with the bottom face selected only. The simulation works with only the inlet. When I add the outlet, I get the "Domain size of particles in direction Z is not zero." error. I believe this is because the outlet surface is rotated 13 degrees (bottom surface has a Z and X component. Is there a way to create an outlet at an angle, or should I just place the outlet surface in the Y-Z plane?

aepoc commented 9 months ago

Anyone out there know how to impose an outlet on an inclined plane? The inlet was created with a horizontal drawbox face... I attempted the outlet the same way which is why I got the Z error (the bottom face of the outlet box is inclined at 13 degrees). Right now I am just running with a hole in my stl as an outlet (just letting particles fall out of the simulation) but it would be nice to have the ability to control and measure outlet data...

aepoc commented 9 months ago

Okay; I am still battling this simulation... There are two inlets and one outlet. My geometry is basically a sluice with a slope of about 13 degrees and a flat shallow basin containing still water. I am basically trying to simulate a hydraulic jump, but the simulations (both in 2D and 3D) lose a significant amount of particles through the .stl geometry. A good deal of particles come out near the inlets but the majority of particles out seem to come from geometry with an X & Z component (sloped up or down in the direction of flow). I have tried DBC, mDBC, Verlet, simplectic, wetland, artificial viscosity, Fourtakas full and every other density diffusion term, full shifting, no shifting... I have tried several values each for the coefsound, speedsouns, coefH, clfnumber and smoothing length with no real luck. I still lose probably 50-75% of particles before the reach the outlet.

I have tried layers (6 or more) on each face of the stl. I have modified the stl from a thickness of 10mm to 140mm (my DP is .02M) so the geometry is thick enough for 7 layers of particles (or 6 + DP/2)... I have tried using a second fill box to fill the stl with bound particles which increases the number of particles significantly but I still lose particles. I typically lose so many particles that the isosurface is full of holes (the water is about 300mm deep) and very few particles actually make it all the way to the outlet...

I have no idea where to go from here other than to start from scratch and hope that I can edit an XML and use the full version of dualsphysics... I really wish there were easier ways to incorporate complicated geometry into our simulations. I need to take measurements very close to if not on certain boundaries so not being able to use mDBC is a major drawback for me. I also have to teach my colleagues how to use the code and I'm positive they are not as excited about editing xml files rather than having a graphical user interface.

Anyway, I'm hoping someone has some words of wisdom for me. I'm also hoping that the next release of dualsphysics/designsphysics will take care of some of my issues with complicated geometry.

It seems as though I complain a lot but seriously, Thanks to the team for putting this code together in a way that engineers can use! And thanks to anyone that may be able to help me out. At the very least, Merry Christmas!

Saferr03 commented 8 months ago

I've managed to get several 2D simulations to work as expected now. I am currently working on the more complicated geometry (.stl), still in 2D. For both the inlet and outlet, I created boxes as fluidMK1 and FluidMK2 (there's also a fill box: fluidMK0). These were configured as faces with the bottom face selected only. The simulation works with only the inlet. When I add the outlet, I get the "Domain size of particles in direction Z is not zero." error. I believe this is because the outlet surface is rotated 13 degrees (bottom surface has a Z and X component. Is there a way to create an outlet at an angle, or should I just place the outlet surface in the Y-Z plane?

Hello, How did you define the outlet? As an MK or as a box? Note that there is an option next to the 2D/3D Zone selection. If the box option is selected, new options for rotation are shown. Hope this helps...

aepoc commented 7 months ago

Thanks for the tip. I will look into this when I get back to that particular simulation... thankfully most of the simulations I have been running so far don't require inlets or outlets but its a feature I will have to get more proficient with for sure! Trying to save my pennies to I can go to the workshop in Italy!

Fraency commented 6 months ago

@aepoc could you make some progress with the rapid surf facilities you are simulating? We have simular issues, maybe we can get in touch and exchange knowledge? for example in Bari?

aepoc commented 6 months ago

@aepoc could you make some progress with the rapid surf facilities you are simulating? We have simular issues, maybe we can get in touch and exchange knowledge? for example in Bari?

I would love to share some Ideas as I still don't have this simulation where I want it (haven't had time to try saferr's suggestion yet). Perhaps the developers will have some insight on how we could get a simulation like this to run accurately and in a way that allows us to gather important data. Still Working on getting everything in line for Bari... Hope to see you there!

SohailAusgur commented 6 months ago

@aepoc Hi, Would you be able to elaborate on how you were able to set up the Inlet/Outlet your 2D models. I am conducting comparisons between software packages, and I am conducting simulations on Pipe Flow, Droplet Formation and Plunging Jets and only recently started learning about DualSPH last 2 weeks. Your information would be very valuable.

Many Thanks!

aepoc commented 6 months ago

Hey There Sohail, I was able to draw boxes (make sure they are not too close to your boundaries). Add to simulation as a fluid type & face fill mode and select the face when editing the inlet/outlet parameters. Make sure to use layers for your inlet/outlet (4 layers) worked for me but you may have to play around based off your DP and how close these boxes are to your boundaries... I used fixed, constant velocity, fixed density and fixed elevation. Hope this helps.

Cheers!

SohailAusgur commented 6 months ago

Thank you @aepoc for your. reply. I very much appreciate the useful information given.

Could you explain 'DP' and the use of Layers in DualSPH. I am more accustomed to Ansys and have not used such parameters to set up my simulations before. If you could direct towards a suitable paper or tutorial, i would very much appreciate it.

Many Thanks! Sohail

aepoc commented 6 months ago

Ansys and FEA tools in general are a very different beast than SPH... I've only used Ansys for a short time but basically had to forget the majority of what I learned - Found that in most ways, SPH is much more suited to my particular needs.

DP is simply the distance between particles (resolution of the simulation essentially). if your DP is .01, this means there is a particle every 10cm... if your box is 10cm away from a boundary then any layers you use would intersect the boundary... in this example i believe you would want to put the output/input face DP*(# of layers+1) => this distance will be dependent on the number of layers defined in the input/output section. I had to play around with number of layers but I believe in general the more layers, the better, but its dependent on many variables as far as I understand. I was able to find some resources online that describe this with some visuals and more information.

When setting up inlets and outlets, before simulating, you can view your setup in paraview which will indicate any interferences with boundaries - then adjust accordingly.

Will you be in Bari next week? If not, I have found presentations from previous DualSPHysics workshops have been quite helpful. Their YouTube channel is a good place to get you started as well, although I'm not sure if there's much about inlets/outlets on there...

Best of luck!

SohailAusgur commented 6 months ago

Thank you for the reply. This helps a good bit.

Unfortunately, i will not be attending the Bari workshop. I just do not have time in my schedule. If you could pass on those presentations i would appreciate it. Thanks!