precice / tutorials

Various tutorial cases for the coupling library preCICE with real solvers. These files are meant to be rendered on precice.org, so don't look at the README files here.
https://www.precice.org/
GNU Lesser General Public License v3.0
101 stars 106 forks source link

Elastic tube 3D #344

Open davydden opened 1 year ago

davydden commented 1 year ago

Hi all,

i tried running elastic tube 3D locally with calculix and OpenFoam. Everything works. What puzzles me is that results https://precice.org/tutorials-elastic-tube-3d.html are rather different from those reported by Valdez PhD [1] for the same case, see Figure 5.28. The difference is in two order of magnitude by eye-balling measure. As far as i can see, everything is the same in terms of material properties. It could be that the geometry is different, but this would be surprising.

This case is used in many publications on QN, but i have not found anything but [1] where values at certain point would be plotted.

[1] https://upcommons.upc.edu/bitstream/handle/2117/94177/01JGVV01de01.pdf;sequence=1

EDIT 2023-07-13: looking at fenics python code, the geometry should be the same as elsewhere:

R = 0.005
L = 0.05
davydden commented 1 year ago

pinging @KyleDavisSA and @uekerman

davidscn commented 1 year ago

Hi Denis,

the main 'difference' your pointing out here is probably the associated coupling data used in the scenarios and watchpoints: the tutorial uses DisplacementDeltas, which refer to incremental displacements. I could imagine that the data on the website is mostly meant for comparison to the tutorial setup. Using absolute displacements and a reference point of 0.5 L (as in the tutorial/the reference above as well), I get the following results

image

(tried it here with deal.II, but CalculiX should give the same results). This was a rather coarse solid resolution and by eye ball measure the solution quality should be ok. You can just rerun the case and remove the 'Delta' suffix from the variable names (in the precice-config, the precice OpenFOAM dict and the calculix config) to reproduce the results.

Hope this helps!

davydden commented 1 year ago

thank you very much @davidscn . I did not notice that it uses incremental displacement. I will give it a try locally.

davydden commented 1 year ago

Hi @davidscn , i was able to re-run this and see a similar plot to what you attached above, which is good!

However when looking at the results in Valdes, i think there is still a rathe large difference, namely the maximum radial displacement ~0.01cm at the middle of the tube is attained around 0.007 seconds (eye-ball measure), whereas here we get there at about 0.009seconds. I wonder whether one possibly need to tell OpenFoam somewhere that the passed displacement are total (w.r.t undeformed configuration) as opposed to incremental? As an additional point of comparison it would be interesting to plot pressure on fluid side, but i don't know Openfoam in order to add that output. Perhaps it's easier done via FSI traction on Calculix, what do you think?

davidscn commented 1 year ago

. I wonder whether one possibly need to tell OpenFoam somewhere that the passed displacement are total (w.r.t undeformed configuration) as opposed to incremental?

No, OpenFOAM deduces the data meaning from the data name, so renaming it should be sufficient.

As an additional point of comparison it would be interesting to plot pressure on fluid side, but i don't know Openfoam in order to add that output.

In principle, one can extract force information from the watchpoint as well (which is directly related to the pressure).

, i think there is still a rathe large difference, namely the maximum radial displacement ~0.01cm at the middle of the tube is attained around 0.007 seconds (eye-ball measure), whereas here we get there at about 0.009seconds.

Apart from quite some numerical differences, I could imagine that inlet condition might be different. Looking at the displacement pulse at the 'earlier' location of 0.25 L, it can be seen that the pulse piles up a bit later in time. Right now, we apply a Dirichlet condition for the pressure (time dependent) and a zeroGradient condition for the velocity. Is this also what they are referring to in the paper? Do you have any other fluid solver to compare with apart from OpenFOAM?

davydden commented 1 year ago

Right now, we apply a Dirichlet condition for the pressure (time dependent)

that's the same as elsewhere in the literature, so i think what currently done in OpenFOAM https://github.com/precice/tutorials/blob/master/elastic-tube-3d/fluid-openfoam/0/p#L20-L23 is perfectly fine.

zeroGradient condition for the velocity

i don't think it is always possible in other solvers to impose zeroGradient in additional to zero pressure outlet.

Outlet BC are NOT mentioned in

I wonder if this tutorial has the same setup as used in the following preCICE paper

Do you have any other fluid solver to compare with apart from OpenFOAM?

I can get results which are closer to those presented in Valdez' PhD using a commercial software without preCICE despite differences fluid solvers (FE vs FV). That's why i was trying to figure out what could be the source for the differences in preCICE+OpenFoam. From the first look everything should be the same and everyone cite the "same" elastic tube setup ;-)