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

Parallelisation of a new solid solver in OpenFOAM

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By Jibran

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 15, 2017, 11:48
Default Parallelisation of a new solid solver in OpenFOAM
  #1
Member
 
Jibran
Join Date: Oct 2012
Location: UK
Posts: 61
Blog Entries: 1
Rep Power: 14
Jibran is on a distinguished road
Hello,

Some of you might be aware that we have recently implemented a new solid mechanics solver in OpenFOAM. This robust solver is based on a mixed velocity/strains approach rather than the conventional second order displacement based formulations and is able to simulate large strain deformation behaviour even in the case of nearly incompressible materials.

Some links to what we have been able to achieve with this solid solver are shown below:
Article: https://www.researchgate.net/publica...rangian_scheme
Simulations: https://www.youtube.com/playlist?lis...UVAOZ05iHJhG2O

In this next phase of this project, we are aiming to release this solid solver to the OpenFOAM community so that it can be tested in various large scale applications. Before that, I would like to parallelize the whole implementation. I have been reading many things regarding parallelisation in OpenFOAM and I know now how to do it for most parts of the code except for one.

Please refer to the attached figure. You have a domain here which is decomposed and passed to 4 processors. I need to compute a quantity at the node (cross) in the figure which depends on the cell values attached to this node (4 values). Imagine that I am in processor 1 at the moment and I am computing this cross. I know the cell value in processor1 (black square) and the neighbour patch cell values in processors 2 and 4 (green squares) through the 'patchNeighbourField()' function. What I am not able to retrieve is the cell value in processor 3 (red square). Does any one know how I can get this value to update my pointField (cross)? Is there some function already implemented that I can use?

Thanks in advance.
Attached Files
File Type: pdf parallel.pdf (23.4 KB, 34 views)
__________________
Jibran Haider
https://jibranhaider.com/
Jibran is offline   Reply With Quote

Old   August 16, 2017, 08:01
Default
  #2
Senior Member
 
Zeppo's Avatar
 
Sergei
Join Date: Dec 2009
Posts: 261
Rep Power: 21
Zeppo will become famous soon enough
You could look at globalMeshData class.There might be some functionality that can be of some help to you.
Zeppo is offline   Reply With Quote

Old   August 17, 2017, 05:34
Default
  #3
Member
 
Jibran
Join Date: Oct 2012
Location: UK
Posts: 61
Blog Entries: 1
Rep Power: 14
Jibran is on a distinguished road
Thanks Sergei. I will have a look at this class and update here if I find something.
__________________
Jibran Haider
https://jibranhaider.com/
Jibran is offline   Reply With Quote

Old   August 25, 2017, 06:41
Default
  #4
Member
 
Jibran
Join Date: Oct 2012
Location: UK
Posts: 61
Blog Entries: 1
Rep Power: 14
Jibran is on a distinguished road
Ok, I have managed to get this sorted.
'volPointInterpolation' class is your friend and the necessary member functions are:

(1) syncUntransformedData()
(2) addSeparated()
(3) pushUntransformedData()

globalMeshData class is used in the first and third functions.
Zeppo likes this.
__________________
Jibran Haider
https://jibranhaider.com/
Jibran is offline   Reply With Quote

Reply

Tags
fvm, node, parallel, processor, solid


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
[ANSYS Meshing] Help with element size sandri_92 ANSYS Meshing & Geometry 14 November 14, 2018 07:54
Sharing links for two phase solver packages developed by openfoam community swap_9068 OpenFOAM Programming & Development 1 April 2, 2017 05:43
fluent divergence for no reason sufjanst FLUENT 2 March 23, 2016 16:08
How to rewrite a standard OpenFOAM solver as a C++ class cfbaptista OpenFOAM Programming & Development 7 March 23, 2016 04:50
OpenCL linear solver for OpenFoam 1.7 (alpha) will come out very soon qinmaple OpenFOAM Announcements from Other Sources 4 August 10, 2012 11:00


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