CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Programming & Development


Register Blogs Members List Search Today's Posts Mark Forums Read

LinkBack Thread Tools Display Modes
Old   October 12, 2011, 02:15
Default tetDecompositionMotionSolver
Hannes Kröger
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 97
Rep Power: 11
hannes is on a distinguished road

in my FSI application, I use the tetDecompositionMotionSolver. According to what Hrv and Zeljko have reported in their paper, I have also noted that the fvMotionSolver quickly degrades the grid quality in my case while the tetFEM-Solver performs much better.
Unfortunately it is quite slow. The solver spends very much time in solving the FEM system (I guess 30 to 50% of the overall time).
As i unterstand (please correct me, if I'm wrong), in each time step the FEM equation system is build up from scratch and solved iteratively. To speed up the process, I wonder if it would be wise to build up the FEM equation system, invert the stiffness matrix and store the inverted matrix. In each time step only a matrix-vector multiplication would be required, to get the new grid motion. Of course this would imply some kind of linearization of the grid motion, but at least in my case, the displacements are rather small compared to the overall grid dimensions.
Has anyone already done some work in this direction or is there even already something implemented? I would be glad to know...

Best regards, Hannes
hannes is offline   Reply With Quote

Old   October 14, 2011, 07:11
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,803
Rep Power: 24
hjasak will become famous soon enough
This depends on your geometry: in many cases you will have a large fluid domain and only a small region actually moving. I use the subsetMotion for this sort of thing, confining the motion of the mesh only in a region close to the moving wall. Depending on the case, this will give you a MASSIVE sped-up, without any of the stupid side-effects you get from solving the mesh motion equation on cell centres.

Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting:
hjasak is offline   Reply With Quote

Old   October 21, 2011, 09:10
Hannes Kröger
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 97
Rep Power: 11
hannes is on a distinguished road
Hi Hrv,

thanks very much for this hint. I'm currently about to try this but I just got stuck on the following issue:

I have a pointVectorField named "pointDisplacement" on the global mesh with a fixedValue BC which contains the boundary values for the motion solver. Now I want to transfer this into a pointVectorField "subsetPointDisplacement" on the MeshSubset by doing:

  pointVectorField subsetPointDisplacement
      dimensionedVector("pointDisplacement", dimless, vector::zero),

/* ..... */

Unfortunately, the fixedValue-BC on the subset field is all zero. I find the values of the BC scattered all over the internalField of the subset field. Is it possible that something is wrong with the addressing or did I miss something?

Thanks in advance, Hannes
hannes is offline   Reply With Quote

Old   November 9, 2011, 05:12
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 10
Arnoldinho is on a distinguished road
... sorry, put my question into an own thread:

Last edited by Arnoldinho; November 9, 2011 at 08:47. Reason: ... put my question into a new thread.
Arnoldinho is offline   Reply With Quote


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

All times are GMT -4. The time now is 02:50.