A question on implementing the actuationDisk to the pisoFoam solver
Hi folks,
I have a question on implementing the actuationDisk to the pisoFoam solver. Since I didn’t use OpenFoam too much and don’t familiar with C++, my questions may sounds stupid. I’m currently using OpenFoam 2.0.., I can find the implementation of actuationDisk under simpleFoam, namely windSimpleFoam, and this is my starting point. My first attempt was, in the pisoFoam.C, first include #include "IObasicSourceList.H". Then add the actuationDisk to the right-hand-side of the UEqn. Code:
After the above modification, I got the following error message: pisoFoam.C: In function ‘int main(int, char**)’: pisoFoam.C:77: error: no match for call to ‘(Foam::fvVectorMatrix) ()’ where my Line77 refers to actuationDisks.addSu(UEqn());Does this mean that there is something wrong with the format of my UEqn? I also tried to write my UEqn separately as UEqn.H, and replace the one in psioFoam, Code:
In file included from pisoFoam.C:81: UEqn.H: In function ‘int main(int, char**)’: UEqn.H:13: error: ‘class Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > >’ has no member named ‘relax’ pisoFoam.C:97: error: ‘class Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > >’ has no member named ‘A’ pisoFoam.C:99: error: ‘class Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > >’ has no member named ‘H’ This one I think is because in piso loop it needs UEqn.A() and UEqn.H(). For now I just want to create a very simple example that I can involve actuationDisk in piso algorithm, anyone had this experience or any thoughts? Thanks in advance. Regards Frank |
I’m currently using OpenFoam 2.0.1. A typo.
|
Quote:
Code:
UEqn() UEqn is a fvVectorMatrix, which itsel is defined as in http://foam.sourceforge.net/docs/cpp/a04523_source.html And here you can find a list of all public member functions of this type http://foam.sourceforge.net/docs/cpp/a04525_source.html (starting line 115) So you can access properties writing UEqn.source(), UEqn.internalCoeffs(), UEqn.psi() and so on. If your function addSu() expects a variable of type fvVectorMatrix just try something like addSu(UEqn) or addSu(&UEqn). Hope that helps. Best, Hanzo |
Thanks for your reply. Just wondering why it works fine with windSimpleFoam but doesn't work here.
|
Quote:
|
All times are GMT -4. The time now is 15:21. |