A question on implementing the actuationDisk to the pisoFoam solver
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.
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,
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.
I’m currently using OpenFoam 2.0.1. A typo.
UEqn is a fvVectorMatrix, which itsel is defined as
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.
Thanks for your reply. Just wondering why it works fine with windSimpleFoam but doesn't work here.
|All times are GMT -4. The time now is 00:38.|