CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Released RBF motion solver

Register Blogs Community New Posts Updated Threads Search

Like Tree7Likes
  • 4 Post By lr103476
  • 3 Post By sandeepsubbu

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 12, 2009, 05:02
Default Dear OpenFOAM users! I am
  #1
Senior Member
 
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 18
lr103476 is on a distinguished road
Dear OpenFOAM users!

I am proud to announce that we have released the new RBF motion solver in the OpenFOAM-1.5-dev version.

This RBF motion solver uses Radial Basis Functions to interpolate the motion of boundary points onto the whole domain. First an inverse of the connectivity matrix is obtained and secondly this matrix is applied on the internal nodes to obtain a newPoints field. To increase the efficiency of this method, all fixed outer boundary points are neglected and of the moving boundary points we only take a subset as moving control points (which is particular fast when the moving body does not deform).

This mesh motion solver comes in 3 parts:
1) /src/OpenFOAM/interpolations/RBFInterpolation
2) /src/dynamicMesh/meshMotion/RBFMotionSolver
3) /tutorials/icoDyMFoam/movingBlockRBF

In RBFInterpolation you will find different RBF functions, add your own if you like. In movingBlockRBF you will find a RBFMotionFunction object which calls the RBFMotionSolver for you when you use icoDyMFoam or moveDynamicMesh.

That's all for now. Enjoy this new RBF motion solver and thanks to Hrvoje.

Frank

Btw, it does work in parallel, as long as every processor has enough control points. This will be improved in the future.
__________________
Frank Bos
lr103476 is offline   Reply With Quote

Old   February 26, 2010, 00:18
Default
  #2
Senior Member
 
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 16
rieuk is on a distinguished road
Hey Frank, I hope your PhD presentation went well. I was just wondering whether you could offer any documentation or papers to help me to use the RBF motion solver in OF-1.5-dev (understanding the various coefficients and parameters) because at the moment I am clueless.

Thanks
rieuk is offline   Reply With Quote

Old   June 25, 2014, 11:23
Default RBF mesh motion solver in parallel
  #3
New Member
 
Sandeep
Join Date: Apr 2013
Posts: 2
Rep Power: 0
sandeepsubbu is on a distinguished road
Hi,
When I try to run icoDyMFoam with RBF mesh motion solver in parallel, it shows the following message:

[1]
[1]
[1] --> FOAM FATAL ERROR:
[1] Singular matrix
[1]
[1] From function scalarSquareMatrix::LUdecompose(scalarSquareMatrix & matrix, labelList& rowIndices)
[1] in file matrices/scalarMatrices/scalarSquareMatrix.C at line 94.
[1]
FOAM parallel run exiting
[1]
Inverting RBF motion matrix

Does anyone know the reason behind this?
sandeepsubbu is offline   Reply With Quote

Old   December 5, 2016, 01:59
Default
  #4
New Member
 
Xiaoyao
Join Date: Nov 2016
Posts: 1
Rep Power: 0
Xiaoyao is on a distinguished road
Hi, sandeepsubbu
Did you have solved this problem? And how to solve it?
Thank you!
Xiaoyao is offline   Reply With Quote

Old   December 5, 2016, 10:15
Default
  #5
New Member
 
Sandeep
Join Date: Apr 2013
Posts: 2
Rep Power: 0
sandeepsubbu is on a distinguished road
I suggest you read this paper: Bos, Frank M., Bas W. van Oudheusden, and Hester Bijl. "Radial basis function based mesh deformation applied to simulation of flow around flapping wings." Computers & Fluids 79 (2013): 167-177 (Pg. 3 in particular).

The paper discusses how the RBF interpolation is done. The singular matrix arises while trying to find a solution to Eq.8. While decomposing the mesh for parallel run, you need to make sure each partition has atleast one boundary point that is on the moving boundary, if not you get a singular matrix while performing the interpolation.

If your domain is large and if you cannot have boundary points for each partition, then you can solve the problem by modifying the solver. I modified the solver by making the points on the moving boundary accessible to all the processors. Then I performed interpolation for each partition using all the boundary points. This ensures that the matrix in Eq.8 is always invertible for finding the interpolation coefficients.

Hope this helps.
aswathy, Xiaoyao and RaSu96 like this.
sandeepsubbu is offline   Reply With Quote

Old   May 26, 2017, 12:16
Default
  #6
New Member
 
Collin Strassburger
Join Date: Feb 2017
Location: Oak Ridge, TN, USA
Posts: 10
Rep Power: 9
Collin is on a distinguished road
Thank you for the explanation, sandeepsubbu!

In regards to the implementation for large domains, I keep finding all sorts of information saying openFoam (and its derivatives) cannot share information across processor patches without a great deal of work. If you're willing to share, could you share some additional details on your implementation?
Collin is offline   Reply With Quote

Old   December 11, 2020, 08:02
Default
  #7
New Member
 
Ram
Join Date: Nov 2020
Posts: 5
Rep Power: 5
guptaram is on a distinguished road
Can you please elaborate (or suggest where I can find) how did you modify the solver by making the points on the moving boundary accessible to all the processors.
Any kind of reply will be really helpful.

Thanks




Quote:
Originally Posted by sandeepsubbu View Post
I suggest you read this paper: Bos, Frank M., Bas W. van Oudheusden, and Hester Bijl. "Radial basis function based mesh deformation applied to simulation of flow around flapping wings." Computers & Fluids 79 (2013): 167-177 (Pg. 3 in particular).

The paper discusses how the RBF interpolation is done. The singular matrix arises while trying to find a solution to Eq.8. While decomposing the mesh for parallel run, you need to make sure each partition has atleast one boundary point that is on the moving boundary, if not you get a singular matrix while performing the interpolation.

If your domain is large and if you cannot have boundary points for each partition, then you can solve the problem by modifying the solver. I modified the solver by making the points on the moving boundary accessible to all the processors. Then I performed interpolation for each partition using all the boundary points. This ensures that the matrix in Eq.8 is always invertible for finding the interpolation coefficients.

Hope this helps.
guptaram is offline   Reply With Quote

Reply


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Motion diffusivity solver has problems with patches moving toward each other bfa OpenFOAM Running, Solving & CFD 2 July 8, 2009 21:35
Modeling shaking motion Vs Rotational motion jaswi OpenFOAM Running, Solving & CFD 2 July 19, 2007 22:44
Is CFX 11 ever going to be released? Pete CFX 1 January 25, 2007 23:48
Automatic Mesh Motion solver michele OpenFOAM Running, Solving & CFD 10 September 26, 2005 08:21


All times are GMT -4. The time now is 16:40.