CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   LODI for generalized curvilinear coordinates (https://www.cfd-online.com/Forums/main/178041-lodi-generalized-curvilinear-coordinates.html)

Martin Hegedus September 27, 2016 12:25

LODI for generalized curvilinear coordinates
 
Does anyone know where I can find the derivation of the locally one dimensional inviscid (LODI) boundary conditions for curvilinear space to be used for a finite difference method? So far I've only come across derivations for generalized rectilinear coordinates.

In other words I'm looking for a derivation which includes the change in the area vectors in the xi, eta, and zeta directions, (the last term in the following 1D example)

dF/dxi = (dF/dQ)(dQ/dxi) + (dF/dX)(dS/dxi), where S is the area vector in the xi direction.

I've done a derivation on my own and the solution does not seem to be unique. So I'm wondering what's the best path to take.

FMDenaro September 27, 2016 16:12

I don't have experience on this issue ... but could you give us more details about your question?
Do you need to express the condition for n.Grad f on a curvilinear boundary?

Martin Hegedus September 27, 2016 16:51

I'm not really sure how to put this into words, but I would like get the area vector (n) back inside the gradient, so instead of having n Grad(f) I would like Grad(function(n,f))

For example starting off with 2D Euler equations in conservative form,

(1/J)dQ/dt + dF(Xi,Q)/dxi + dG(Eta,Q)/deta where Xi and Eta are the area vectors in the xi and eta direction.

Next linearize it with respect to xi (assume this is the direction normal to the B.C)

(1/J)dQ/dt + (dF(Xi,Q)/dQ)*(dQ/dxi) + (dF(Xi,Q)/dXi)*(dXi/dxi) + dG(Eta,Q)/deta

Next the Flux Jacobian (dF(Xi.Q)/dQ) is split up into into eigenvectors and eigenvalues, the direction of the waves are found, and the appropriate differencing is done (+/- directions)

(1/J)dQ/dt + (dF(Xi,Q)/dQ)[+]*(dQ/dxi)[+] + (dF(Xi,Q)/dQ)[-]*(dQ/dxi)[-] + (dF(Xi,Q)/dXi)*(dXi/dxi) + dG(Eta,Q)/deta

Next I could keep (dF(Xi,Q)/dXi)*(dXi/dxi) as a separate term or I could try to split it and combine it into the Jacobians.

The easiest term to visualize is the pressure term of the momentum equation, d(n p)/dxi. When it is linearized it becomes n dp/dxi + p dn/dxi. So rather than keeping p dn/dxi as a separate term, I would like to split it and recombine it with the other terms so there are d(n p)/dxi[+] and d(n p)/dxi[-] terms.

However when I go through the math, there does not, at least to me, seem to be a unique way of doing it. That could be attributed to me not understanding the math/physics or that there truly are multiple answers. But, if there are truly multiple ways of doing this, I would like to select the method which is the best in regards to numerical modelling, i.e. lowest Taylor series truncation error.

I hope this made sense! :)

FMDenaro September 27, 2016 17:05

Thanks, I should take my time to read better and think over that because I always worked with n.Grad f ... It seems more a problem of variables transformation, have you tried to search infos in some book dedicated to grid generation (for example Thompson)?

Martin Hegedus September 27, 2016 17:22

I did check around, but not in Thompson. In general when the Euler equations are linearized, they are linearized in all directions. In which case (dF(Xi,Q)/dXi)*(dXi/dxi) + (dG(Eta,Q)/dEta)*(dEta/dxi) = 0 since dF(Xi,Q)/dXi)/dXi = dG(Eta,Q)/dEta) and dXi/dxi + dEta/dxi = 0. In other words, theoretically (i.e. Taylor series is taken to infinity) the solution is independent of changes in the grid. That seems to be the starting point for the references I looked at. But, some of what I looked at was also over my head, thus I'm not sure of everything I read.


All times are GMT -4. The time now is 09:59.