|
[Sponsors] |
May 2, 2010, 10:59 |
what's the meaning of UEqn().A()
|
#1 |
New Member
wangle
Join Date: Dec 2009
Posts: 7
Rep Power: 17 |
I'm a new user of OpenFOAM,now I'm analyzing a solver .But I don't know what's the meaning of UEqn().A() and UEqn().H().Can you help me translate them to mathematic form.Thank you!
|
|
May 2, 2010, 11:13 |
|
#2 |
Member
Cedric Van Holsbeke
Join Date: Dec 2009
Location: Belgium
Posts: 81
Rep Power: 17 |
|
|
May 2, 2010, 11:25 |
|
#3 |
New Member
wangle
Join Date: Dec 2009
Posts: 7
Rep Power: 17 |
Thank you for your reply.Does it mean the matrix A in equntion AU=H?But it's expressed a volScalarField,what's the connection between the matrix and the "scalar"? Thank you!
|
|
May 3, 2010, 11:21 |
|
#4 |
Member
Matthew J. Churchfield
Join Date: Nov 2009
Location: Boulder, Colorado, USA
Posts: 49
Rep Power: 19 |
In the solver you are analyzing, the equation system to be solved begins as CU = R where C is a matrix, U is the solution vector, and R is the right hand side. The C matrix can be split into a matrix with only the diagonal elements of C, which is called A, and a matrix that has only the off-diagonal elements of C, which is called H'. In other words C = A + H'.
Therefore, the linear system becomes (A + H')U = R, which is the same as AU = R - H'U. The right hand side is simply called H, so H = R - H'U. Therefore, we know have AU = H. So take a look at the code you are analyzing, and you'll see something similar to: Code:
fvVectorMatrix UEqn ( fvm::ddt(U) // time derivative + fvm::div(phi, U) // convection + turbulence->divDevReff(U) // viscous and turbulent deviatoric stresses == - gradPd // specified mean pressure gradient ); It is important to note, though, that there will be a piece of code that forms an fv<Type>Matrix, like the piece of code I included above. Later, there will be a piece of code that says something like Code:
solve(UEqn == - fvc::grad(pd) - fvc::grad(rhok) * gh); For more description of this go take at look at section 2 of my description of buoyantBoussinesqPisoFoam at http://openfoamwiki.net/index.php/Bu...sinesqPisoFoam |
|
May 4, 2010, 04:36 |
Thank you very much to help me solve the problem!
|
#5 | |
New Member
wangle
Join Date: Dec 2009
Posts: 7
Rep Power: 17 |
Quote:
Thank you very much to help me solve the problem! |
||
May 6, 2010, 03:23 |
need help
|
#6 | |
New Member
|
Quote:
After reading your description of buoyantBoussinesPisoFoam, I am still puzzled about the meaning of the red line in the following code, which is in the UEqn of twophaseEulerFoam.I can not find the corresponding mathematical expression, can you help me? Thank you! UaEqn = ( (scalar(1) + Cvm*rhob*beta/rhoa)* ( fvm::ddt(Ua) + fvm::div(phia, Ua, "div(phia,Ua)") - fvm::Sp(fvc::div(phia), Ua) ) - fvm::laplacian(nuEffa, Ua) + fvc::div(Rca) + fvm::div(phiRa, Ua, "div(phia,Ua)") - fvm::Sp(fvc::div(phiRa), Ua) + (fvc::grad(alpha)/(fvc::average(alpha) + scalar(0.001)) & Rca) == - fvm::Sp(beta/rhoa*K, Ua) - beta/rhoa*(liftCoeff - Cvm*rhob*DDtUb) |
||
November 9, 2016, 09:22 |
how to know there is a member function named of UEqn?
|
#7 |
New Member
DUO ZHANG
Join Date: Sep 2016
Posts: 2
Rep Power: 0 |
I am a new user too, I wonder how to know there is a member function named A() or H() of UEqn? where can I find the definition of UEqn, I checked UEqn.H, but I can't find it, anyone can give a link of the definition of some instruction? thanks!
|
|
November 9, 2016, 11:50 |
|
#8 |
Senior Member
khedar
Join Date: Oct 2016
Posts: 111
Rep Power: 10 |
Hi Duo,
UEqn is and object of class fvVectorMatrix so you need to search for member functions of this class to get A() or U(). Also fvVectorMatrix is basically typedef name for fvMatrix<vector>. Code:
typedef fvMatrix<vector> fvVectorMatrix so you search for fvMatrix<Type> template class for finding the required member functions. This can be found here: http://openfoam.com/documentation/cp...ml/a00955.html |
|
November 9, 2016, 11:55 |
|
#9 |
New Member
DUO ZHANG
Join Date: Sep 2016
Posts: 2
Rep Power: 0 |
thanks, very helpful!
|
|
April 27, 2018, 04:38 |
|
#10 | |
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 11 |
Hello FOAMers,
I am still not sure about one point in Matthew's explanation: Quote:
Many thanks. Regards, USV |
||
May 2, 2018, 08:09 |
|
#11 |
Senior Member
Join Date: Sep 2015
Location: Singapore
Posts: 102
Rep Power: 11 |
Dear FOAMers,
After a quick derivation, I found out that all coefficients of the UEqn should be scalars. I am providing the derivation here for other users who may have similar doubts. Consider the discretization of the convective term on a non-uniform 2D Cartesian grid shown below: Code:
------- | N | --------------- | W | P | E | --------------- | S | ------- If we use the central (linear) scheme to estimate and at each face, we obtain: Face e Face w Face n Face s Notice that all the coefficients are scalars. Now, these can be assembled in the form shown below. The rest of the discussion in this thread follows from here. Hope this helps. Cheers, USV |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
What's meaning of UDF FUNCTION | zhaoxinyu | Fluent UDF and Scheme Programming | 0 | March 31, 2010 09:04 |
wall y+: physic meaning | sarav | Main CFD Forum | 3 | November 16, 2009 05:45 |
want to know meaning | Sangamesh | Siemens | 0 | May 15, 2007 06:15 |
What's the meaning of "combustion scalar"and.... | cfdbeginner | CFX | 0 | November 27, 2003 10:02 |
meaning | id | Main CFD Forum | 0 | September 18, 2003 05:01 |