|
[Sponsors] |
October 9, 2020, 05:48 |
sequential solving - matrix manipulation
|
#1 |
New Member
Join Date: Sep 2020
Posts: 5
Rep Power: 6 |
Dear Foamers,
I still try to implement a special update scheme in the interFoam solver (https://doi.org/10.1016/j.jcp.2019.109067). The scheme requires to sequentially solve the equations inside the domain. From what I understand right now (I just started to work with OpenFOAM a few weeks ago), an equation is set-up according to: A*u=b where A is the matrix containing the coefficients from the implicit parts, u containing the values after the update in the step .solve() and b containing source terms and explicit parts, right? What I would like to do know is to extract a number of rows from A, u and b and solve this subsystem. Is there an straight forward way in OpenFoam to handle this kind of operation? I hope my question got clear, otherwise don't hesitate to ask. I really appreciate any kind of help. Thanks a lot, Axel |
|
October 9, 2020, 06:56 |
|
#2 |
Senior Member
|
OpenFoam stores linear system in sparse LDU format, see e.g. [1,2].
Extracting rows from A requires going through the same bookkeeping as implemented in the matrix-vector multiplication implemented in the Amul function, see Section 5/8 of [3]. [1]: Moukalled, Manga and Darwish, The finite volume method in computational fluid dynamics, Springer 2015 , http://www.springer.com/gp/book/9783319168739 [2]: https://www.foamacademy.com/wp- content/uploads/2018/03/OF2018matrix.pdf [3]: https://www.linkedin.com/pulse/openf...menico-lahaye/ |
|
October 12, 2020, 05:55 |
interfaces
|
#3 |
New Member
Join Date: Sep 2020
Posts: 5
Rep Power: 6 |
Dear Domenico,
thank you very much for the provided references. They seem to be very helpful. I understood know the setup of the coefficient matrix but still struggle with some parts of the implementation. Can you tell me whats the purpose of the functions initMatrixInterfaces() (Line 83) and updateMatrixInterfaces() (Line 105) in LduMatrixATmul.C (https://github.com/OpenFOAM/OpenFOAM...atrixATmul.C)? Thank you once more and appreciate your response. |
|
Tags |
manipulation, matrix, sequential, solving |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Segmentation fault when using reactingFOAM for Fluids | Tommy Floessner | OpenFOAM Running, Solving & CFD | 4 | April 22, 2018 13:30 |
Floating point exception error | lpz_michele | OpenFOAM Running, Solving & CFD | 53 | October 19, 2015 03:50 |
simpleFoam error - "Floating point exception" | mbcx4jc2 | OpenFOAM Running, Solving & CFD | 12 | August 4, 2015 03:20 |
pisoFoam with k-epsilon turb blows up - Some questions | Heroic | OpenFOAM Running, Solving & CFD | 26 | December 17, 2012 04:34 |
Could anybody help me see this error and give help | liugx212 | OpenFOAM Running, Solving & CFD | 3 | January 4, 2006 19:07 |