KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
1.03k stars 245 forks source link

droplet-embedded-3D-simulation (intersecting sessile droplet with the channel) #1532

Closed elafnm closed 6 years ago

elafnm commented 6 years ago

Greetings dear Dr. @pooyan-dadvand and very good day to you,

we are working now on the existing embedded droplet-model that was developed by Dr. Alex,

we are having an issue as:

  1. when we draw the channel basement at zero level, and draw the droplet basement at zero level, so we will be having floating droplet, and where a velocity field will be acting under the floating droplet as well (as shown in the attached figures "velocity vector for floating sessile droplet " and "floating droplet" )

  2. If we lower the droplet or higher the channel (by the value of 1e-6 for example in order to obtain intersection between the droplet and the channel), we will be having strange configuration of the channel (as shown in the below figures "gap figure 1" and "gap figure 2")

I tried to follow the below examples from kratos website, to make sure that I am doing the drawing properly, yet we could not resolve this issue.

_kratos-wiki.cimne.upc.edu/files/tutorials/3d_fsianalysis.ppt

please note that for 2D, we lowered the droplet (by 1e-6 to obtain intersection) and we have no issue at all(as you may kindly find in the attached figure "2d embedded figure")

also, just in case I am attaching here the gid drawing for the channel "channel drawing", and also the python script we are using,

gap figure 1 gap figure 2 velcoity vector for floating sessile droplet floating droplet channel drawing 2d embedded figure parametrized-1-Channel3D.txt

pooyan-dadvand commented 6 years ago

I would say this issue is for @KratosMultiphysics/fluid-dynamics team and @rubenzorrilla for FSI rather than me. I have just assign this issue to him.

elafnm commented 6 years ago

Greetings dear @rubenzorrilla and very good day to you,

I would like also kindly to add the following,

once we run the simulation (in case we dont do this intersection), the code will be running and showing an error as " strange number of intersection", then will stop and give us the error as "zero intersection area" image

we will be very pleased if you help us in this issue, we are trying to solve it since the last month but we are stuck.

just to share with you dear about our plan (which is related to my PhD.), for now we are using the previous version of kratos that was used by Dr.Alexandre Jarauta. So, while we get our ongoing open pull request approved, and then add the 3D model, accordingly we are looking forward to utilize the existing version of kratos in running and extending this droplet code.

your valuable feedback and usual support is highly appreciated.

Thanks and best regards,

rubenzorrilla commented 6 years ago

Hi @elafnm ,

After checking out the link containing the example, what I can say is that it was done with an ancient version of Kratos (including the interface). At that time (2009) I was far from working on Kratos development, so I can't help you so much...

If you really need to solve that case, what I would suggest you is to use the new Kratos GiD and FSI application. The current FSI application uses a partitioned approach as well.

With regard to the error in the proj_dirichlet_cond3D.cpp, this file is located in the incompressible_fluid_application, which is kept a legacy application. Having in mind that the @KratosMultiphysics/fluid-dynamics only maintains the FluidDynamicsApplication and that I've never worked in the incomplessible_fluid_dynamics application, unfortunately I have no idea of what might be happening. If you require this condition for your work, my advise would be to re-implement it in the FluidDynamicsApplication.

elafnm commented 6 years ago

Greetings dear @rubenzorrilla,

thank you for your support, sure we will consider your advises and will try our best to include it in the new version of kratos,

with our best regards,

elafnm commented 6 years ago

@rubenzorrilla

Greetings and very good day dear,

"If you really need to solve that case, what I would suggest you is to use the new Kratos GiD and FSI application. The current FSI application uses a partitioned approach as well."

we are glad to inform you that we are in the final stage of adding the 3D Lagrangian droplets codes inside the new version of kratos (soon will raise one more pull request as well).

Now, we start trying to get familiar with the FSI applications, and we could run some of the examples there.

We used "test3D_1" inside "non_conformant_one_side_map_test.py" for a 3D-rectangular channel that is having a 3D-sessile-droplet inside it. Though we got some results as shown in the figures below, but we are not sure about our drawings in terms of interface and the recommended way to draw/combine both the channel and the droplet, (please note we tried to follow the example in "GID -> Datatype > FSI -> 3D" but yet we are not sure as we are getting some errors when we start calculating/simulating).

Hence, could you please guide us about the recommended way to draw (a tutorial/link that you recommend ), and to implement (in terms solvers/classes for example) our embedded Lagrangian-Eulerian simulation (sessile droplet inside a rectangular channel).

Thanks and best regards,

image

image

image

image

rubenzorrilla commented 6 years ago

@elafnm

Currently the FSI application only has body fitted formulations. Having that in mind, I don't really know if this is suitable for your droplet dynamics.

In case it is, there is a Mok benchmark predefined example that is automatically generated if you click the "book-shaped" button in the left side bar. There is also a Turek benchmark example in 2D (it automatically appears by clicking the same button). Summarizing, you need to draw both the fluid and the structure domain. Bear in mind that the interfaces need to be duplicated (my advise is to use two different GiD layers to do that). Regarding the BCs and simulation settings, the are also automatically set in these predefined examples.

Regarding the place in where you can implement your droplet formulation, since this is a very specific topic I would go for a new application (probably derived from another application).

RiccardoRossi commented 6 years ago

reopened but no ongoing discussion. I am assuming the reopening was a mistake and closing

elafnm commented 6 years ago

Greetings dear @rubenzorrilla,

I was running the existing FSI test_examples and found it very interesting and could be very useful to our embedded (droplet_channel) simulations.

"Regarding the place in where you can implement your droplet formulation, since this is a very specific topic I would go for a new application (probably derived from another application)."

We are using the ULF Application for our droplet dynamics formulation. We think it would be very interesting if we could utilize the FSI embedded functions into our code and linked to the ULF application; In this case, do you think it will work successfully (sliding droplets as moving structure, which is embedded in the fluid inside a channel), and what do you think the recommended way for us to proceed further please. Noting please that we are focusing here on 3-D simulation.

best regards,

rubenzorrilla commented 6 years ago

@elafnm

When you talk about "FSI embedded functions", are you referring to FSI combined with embedded formulations? If this is the case, unfortunately we have not implemented this functionality yet...

If you just want to use the current stuff in the FSI app, probably is as simple as importing the FSI app. in your Python solvers.

elafnm commented 6 years ago

Thanks dear @rubenzorrilla