|
[Sponsors] |
July 7, 2021, 05:35 |
Update every iteration!!!!!
|
#1 |
New Member
Join Date: Jun 2021
Posts: 13
Rep Power: 5 |
Hi everyone,
I am currently doing a fsi problem using udf. The problem I model is an object that is attached with a torsional spring, and the other end of the spring is under a prescribed motion. So the object will move under the interaction of the fluid and the elastic reaction force. I use the DEFINE_ZONE_MOTION to update the velocity of the object. The problem is that this macro is called every time step, and the fluid force may not converge or let's say may be higher than reality, then the object will move fast because of the fluid force, then at the second timestep the fast speed will cause an even large fluid force, and then the calculation would soon diverge. I want to modify the program by this: the position of the object will update at every time step, but the velocity of the dynamic motion(fsi) is updated at every iteration. Once the dynamic motion is converged, then it enters the next time step. By doing this, the dynamic motion of the object will easily converge at every timestep. Then the calculation should be work. So, I want to ask that does anyone know how to embed this algorithm? Is there a macro that can be called every iteration, not every timestep? Thank you very much! David |
|
July 7, 2021, 14:56 |
|
#2 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
I understand your problem (I think), but your proposed solution makes no sense...
Change the object velocity every time iteration. .. To what?
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build". |
|
July 7, 2021, 21:19 |
|
#3 |
New Member
Join Date: Jun 2021
Posts: 13
Rep Power: 5 |
I mean the body dynamic equation will be called after every iteration, and so the velocity of the object (the part from the passive motion (the solution from the dynamic equation)) will be updated after iteration, but the position of the object will only be updated every timestep. Thus, it may easier to converge.
So the thing we need to do is using a macro to modify the velocity of every node of the grids of the object after every iteration, and the said velocity is modified according to the updates from the body dynamic equation. |
|
July 7, 2021, 23:25 |
|
#4 |
Senior Member
Alexander
Join Date: Apr 2013
Posts: 2,363
Rep Power: 34 |
did you try to decrease time step size?
__________________
best regards ****************************** press LIKE if this message was helpful |
|
Tags |
define_zone_motion, fsi, macro, udf, update every iteration |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Slow calculation time on CFD server | killian153 | Hardware | 4 | July 27, 2021 08:28 |
Forcing update on boundary fields after each iteration | pvpnrao | OpenFOAM Running, Solving & CFD | 5 | September 11, 2018 13:10 |
Hardware-Configuration for Fluent HPC-Pack (8x) | JohHaas | Hardware | 9 | March 3, 2015 14:25 |
Update boundary condition only after several iteration | novyno | OpenFOAM | 2 | July 16, 2009 18:56 |
Parallel runs slower with MTU=9000 than MTU=1500 | Javier Larrondo | FLUENT | 0 | October 28, 2007 23:30 |