|
[Sponsors] |
![]() |
![]() |
#1 |
Member
Efimenko Evgenii
Join Date: Mar 2009
Location: Nizhnij Novgorod, Russia
Posts: 52
Rep Power: 16 ![]() |
Hi, all.
Does anyone work with curl in OpenFoam? I have some problems with it. Hope to get some help or advice. I wrote: solve( mu0*fvm::ddt(E) + fvc::curl(H) ); solve( epsilon0*fvm::ddt(H) + fvc::curl(E) ); E,H - volVectorField, mu0, epsilon0 - dimensionedScalar When I try to compile following error appears: no matching function to call for solve(...) Where am I mistaken? Thank you. Eugene |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Guest
Posts: n/a
|
Hello Eugene,
Did you try fvm instead of fvc: solve( mu0*fvm::ddt(E) + fvm::curl(H) ); I think it's not a problem with curl but a syntax problem. Had you also define the equation to solve... for example: tmp<fvvectormatrix> EEqn ( mu0*fvm::ddt(E) + fvm::curl(H) ); EEqn().relax(); EEqn().solve(); Try this and tell me :-). Fred |
|
![]() |
![]() |
![]() |
#3 |
Guest
Posts: n/a
|
Or this...
tmp<fvvectormatrix> EEqn ( mu0*fvm::ddt(E) == - fvc::curl(H) ); EEqn().relax(); EEqn().solve(); The variable to solve in the left part of the equation and the source term on the right one. Fred |
|
![]() |
![]() |
![]() |
#4 |
Member
Efimenko Evgenii
Join Date: Mar 2009
Location: Nizhnij Novgorod, Russia
Posts: 52
Rep Power: 16 ![]() |
Thank you so much! It's now compiling succesfully
![]() ![]() There is only fvc::curl, there's no fvm::curl. But you are right, I needed to define an equation in manner you gave. |
|
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,896
Rep Power: 32 ![]() |
Curl only comes in the explicit version (fvc) because the implicit one couples the components of the vector. The current matrix support cannot handle that but the new version (block matrix) will come in due course). So, there's no fvm::curl at the moment.
As for the calculation of the curl, have a look at fvcCurl.C. There are two implementations - the one based on the Gauss Theorem is commented out. - the one with the Hodge dual is active and allows you to use your favourite gradient calculation algorithm Enjoy, Hrv
__________________
Hrvoje Jasak Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk |
|
![]() |
![]() |
![]() |
![]() |
#6 |
Guest
Posts: n/a
|
Thanks Hrv for your comment and your advices
![]() |
|
![]() |
![]() |
![]() |
#7 |
Member
Efimenko Evgenii
Join Date: Mar 2009
Location: Nizhnij Novgorod, Russia
Posts: 52
Rep Power: 16 ![]() |
Thank for comments Hrv, it is very useful as usual
|
|
![]() |
![]() |
![]() |
![]() |
#8 |
New Member
Sergej Gorchakov
Join Date: Mar 2009
Location: Germany
Posts: 5
Rep Power: 16 ![]() |
Hi all,
i am trying to implement the following equation in the solver curl(B)=mu0*j B and j are volVectorField and mu0 is dimensionedScalar mu0 and j are known. Corresponding entry in the solver is solve (fvc::curl(B)==mu0*j) The "response" of compiler is error: no match for 'operator==' in 'Foam::fvc::curl(const Foam::GeometricField<type,>&) [with Type = Foam::Vector<double>]() == 0' /shared/home/gort//OpenFOAM/OpenFOAM-1.3/src/OpenFOAM/lnInclude/cellModelI.H:124 : note: candidates are: bool Foam::operator==(const Foam::cellModel&, const Foam::cellModel&) /shared/home/gort//OpenFOAM/OpenFOAM-1.3/src/OpenFOAM/lnInclude/edgeI.H:147: note: bool Foam::operator==(const Foam::edge&, const Foam::edge&) What is the right FOAM syntax for this equation? Will be happy for any advises. Best regards, Sergej |
|
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Matthias Voß
Join Date: Mar 2009
Location: Berlin, Germany
Posts: 449
Rep Power: 19 ![]() |
hi,
since this is looong time ago... did you managed to solve your curl(B)=mu0*j with OF ?? neewbie |
|
![]() |
![]() |
![]() |
![]() |
#10 | |
Senior Member
|
Dear Hrv,
is there a point why Hodge dual is taken in favour of the Gauss reconstruction of curl? Thank you in advance! Best regards, Sasha Quote:
__________________
Best regards, Dr. Alexander VAKHRUSHEV Christian Doppler Laboratory for "Metallurgical Applications of Magnetohydrodynamics" Simulation and Modelling of Metallurgical Processes Department of Metallurgy University of Leoben http://smmp.unileoben.ac.at |
||
![]() |
![]() |
![]() |
![]() |
#11 | ||
Senior Member
|
Hello Foamers,
It's been a long while - however I have some query related to this thread !! I am working with curl operator. My equation looks like: ![]() And for this equation, I written the matrix structure as, Quote:
At the top, the similar matrix was created and compiled. In this (Below) vector matrix, after compilation - is there any change in vector variables (E and H) ? not sure. I feel that, its because the curl is defined explicitly. Quote:
I haven't worked with it before. Looking ahead !! If someone have exposed with block matrix method for simple linear equation, as like stated above., kindly share some thoughts and ideas. Thank you !! Last edited by Kummi; January 23, 2020 at 08:11. |
|||
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Curl Velocity | Cardero | CFX | 0 | March 5, 2009 10:24 |
what is Velocity Curl? | CFD newbie | Main CFD Forum | 3 | July 4, 2008 13:35 |
About curl | evgenii | OpenFOAM Running, Solving & CFD | 2 | December 14, 2005 08:15 |
Work anybody with OpenFOAM in Berlin Germany | ingolf | OpenFOAM Running, Solving & CFD | 0 | September 21, 2005 08:27 |
Will OpenFoam work on Xeon | segersson | OpenFOAM Installation | 2 | May 2, 2005 08:45 |