Hello
Hope you are all well.
I am currently setting up a new case which is analyzing the deformation of a hyper elastic tube. I imported fluid and solid meshes from pointwise and set pressure boundary conditions for inlet and outlet. I also set the material on the solid side to elastic for simplicity and would later like to transition to Neo Hookean properties.
The fluid and solid sides, individually, run fine however, as soon as I couple them, divergence is experienced, on the fluid side, in the first timestep which results in extremely large forces on the solid side which ends coupling.
I have attached the case files below so that any issues can be easily recognized. I tried mapping the field from the fluid side as well, but the case still diverged.
All preCICE related files are pretty much the same as the elastic tube 3d case. Mesh, BCs and some things like timestep were modified.
I have set up different cases but encountered divergence for all of them somehow. Am I missing something?
Hi,
I have only read the logs that you posted. Just to see if I have understood:
CalculiX makes 2 iterations: at each coupling forces remain +inf
OpenFoam makes 1 iteration in which continuity errors are huge
Then everything crashes. Are you sure about your Fluid setup? If, as you say, the fluid alone works, can you initialize the coupled simulation with a converged solution of the fluid domain?
Maybe it eases converges at the beginning, if no other issues are present.
Hope it helps
Claudio
Hi @Claudio
Thank you for your response. I tried that too. I mapped the field from the fluid only, to initialize the simulation, but I still experienced case divergence.
Hi,
then I’d try relax your simulation, for example by performing one-way coupling. You could start with the fluid and send the forces to the structure and see how the structure would deform (without updating the fluid domain). Maybe you have some initial deltas in the configuration. This way you can test it the mapping works and if you are really applying excessive forces to the structure.
Claudio
Hi, I was trying to say that you might have some initial jumps in forces or displacements because at the beginning the 2 domains are not completely compatible.
If you use the rigid converged solution as 0 in OpenFOAM, it is suspect that you have huge continuity continuity errors at the first iteration. That’s why I was suggesting to try one way coupling to see if the fluid starts and if the structure is able to cope with the fluid forces.
Claudio
Hi,
it looks like your XML file is wrong, see left panel. I presume it is the precice-config.xml file. If so, you might try to validate it, see for example here: Built-in tooling | preCICE - The Coupling Library
Claudio
Hi,
I don’t know why you don’t find the command. It might be, or maybe you didn’t compile it. Anyway it looks like you don’t close the comment in your config, line 54.
Claudio
Hi,
it looks to be a syntax error in the yaml file of the calculix configuration. But without it, it is hard to say where. Can you compare it with some working config file?
Claudio
sorry for taking some time to consider your case. I am not familiar with one-way coupling and could not figure out the error in your config.yaml file
If you want to keep testing the two-way-coupling, I would suggest to remove the DLOAD in CalculiX, and apply a lower pressure difference in the velocity domain to lower the complexity. Did you try that already? Reducing the time step might also not hurt. Then once it works, we can increase the complexity.
Hello
Thank you for the responses. I tried both of those things @Luna and still no luck.
I tried what @Aissa suggested as well but the case still diverges.
I did however, try taking the elastic pipe and imposing the same boundary conditions. The case ran fine so this brings me to question whether the mesh types of the fluid and solid matter. Do they have to be the same type? Do they have to be coarse because a finer mesh might be more likely to get twisted? Do I change the solver in dynamicmeshdict based on my mesh types maybe?
The tutorial elastic case ran fine for the set boundary conditions but, when I change the material to hyperelastic the case diverges.
Note that in YAML (as this config file), indentation is important. I think that tabs are not allowed (you have one in the last line), and you should definitely not mix tabs and spaces.