|
[Sponsors] |
![]() |
![]() |
#1 |
Senior Member
Frank Bos
Join Date: Mar 2009
Location: The Netherlands
Posts: 340
Rep Power: 17 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 16 ![]() |
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 |
|
![]() |
![]() |
![]() |
![]() |
#3 |
New Member
Sandeep
Join Date: Apr 2013
Posts: 2
Rep Power: 0 ![]() |
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? |
|
![]() |
![]() |
![]() |
![]() |
#4 |
New Member
Xiaoyao
Join Date: Nov 2016
Posts: 1
Rep Power: 0 ![]() |
Hi, sandeepsubbu
Did you have solved this problem? And how to solve it? Thank you! |
|
![]() |
![]() |
![]() |
![]() |
#5 |
New Member
Sandeep
Join Date: Apr 2013
Posts: 2
Rep Power: 0 ![]() |
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. |
|
![]() |
![]() |
![]() |
![]() |
#6 |
New Member
Collin Strassburger
Join Date: Feb 2017
Location: Oak Ridge, TN, USA
Posts: 10
Rep Power: 8 ![]() |
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? |
|
![]() |
![]() |
![]() |
![]() |
#7 | |
New Member
Ram
Join Date: Nov 2020
Posts: 5
Rep Power: 4 ![]() |
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:
|
||
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
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 |