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

Recovering the original Matrix from lduMatrix and using it in a thirdparty solver

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 8, 2016, 22:59
Default Recovering the original Matrix from lduMatrix and using it in a thirdparty solver
  #1
New Member
 
Thilina Rathnayake
Join Date: Jan 2016
Posts: 3
Rep Power: 10
thilinarmtb is on a distinguished road
Dear Foamers,

I am new to OpenFOAM and have been playing with it for sometime. I am working on linear solvers and want to see
whether I can get a speedup after porting them to run on a GPU.

I read the following Forum posts and know how to get the matrix A from its ldu representation.

http://www.cfd-online.com/Forums/ope...ldumatrix.html

http://www.cfd-online.com/Forums/ope...fficients.html

http://www.cfd-online.com/Forums/ope...ddressing.html

http://www.cfd-online.com/Forums/ope...m-solvers.html

Is it correct to feed this recovered matrix and `source` to a separate linear system solver library for solving the system?

I am worried about the variables `interfaceBouCoeffs`, `interfaceIntCoeffs` and `interfaces` in `lduMatrix::solver` class.
What do they represent and How should I use them when recovering the original matrix from the ldu representation?
thilinarmtb is offline   Reply With Quote

Old   March 9, 2016, 04:27
Default
  #2
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,930
Rep Power: 38
alexeym has a spectacular aura aboutalexeym has a spectacular aura about
Send a message via Skype™ to alexeym
Hi,

Maybe this is off topic, but did you check: Symscape's ofgpu[1] and their OpenFOAM 2.2.x patch[2]? They convert lduMatrix for solution on GPU.

Quote:
I am worried about the variables `interfaceBouCoeffs`, `interfaceIntCoeffs` and `interfaces` in `lduMatrix::solver` class.
What do they represent and How should I use them when recovering the original matrix from the ldu representation?
Interface boundary coefficients, interface internal coefficients, and interfaces are relevant for parallel cases if I am not mistaken.

1. http://www.symscape.com/gpu-1-1-openfoam, http://www.symscape.com/files/articl...fgpu-1-1-0.tgz
2.http://www.symscape.com/openfoam-2-2-x-on-windows, http://www.symscape.com/files/articl...-2-x.patch.zip
alexeym is offline   Reply With Quote

Old   March 10, 2016, 08:11
Default
  #3
New Member
 
Thilina Rathnayake
Join Date: Jan 2016
Posts: 3
Rep Power: 10
thilinarmtb is on a distinguished road
Hi alexeym,

Thank you very much for the reply.

I checked those and also one of my friends pointed out that this can be done
by creating a LU Matrix out of the lduMatrix. See the following link:

https://github.com/OpenFOAM/OpenFOAM...GSolver.C#L265
thilinarmtb is offline   Reply With Quote

Reply

Tags
ldumatrix, linear solvers


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



All times are GMT -4. The time now is 21:00.