Viewing 6 posts - 1 through 6 (of 6 total)
• Author
Posts
• #5059
duldul
Participant

Hello,
As far as I know there is implicit compressibility in the method. If I use flow with ~0.3 Mach No. (U/Cs = U*root(3)) Will there be significant effect on density? Can this density change be more than 5% ?

Best regards
Duldul

#5065
stephan
Moderator

Hi Duldul,

In general, for the incompressible NSE the error of LBM introduced by the Mach number is computable as O(Ma^2) and vanishes in the diffusion limit.

For a discussion of the density error in particular, please have a look at Krüger et al. 2017 “The Lattice Boltzmann Method: Principles and Practice” (Section 4.3.2 Incompressible Flow).

BR
Stephan

#5069
duldul
Participant

Hello Stephan.
Thank you again for your response!
I will soon have a look on this.

Regards
Duldul

#5070
duldul
Participant

I have one more doubt I want to implement outflow boundary conditions in plane-Poiseuille flow. For this I am using below conditions at the outlet (right boundary). nx is no of nodes in x-direction and j will vary from zero to ny.
f[nx-1][j] = f[nx-2][j]
f[nx-1][j] = f[nx-2][j]
f[nx-1][j] = f[nx-2][j]
Am I correct in doing this.
Numbering in D2Q9 is as follows:
625
301
748

Regards
Duldul

#5071
mathias
Keymaster

Dear Duldul,

that works only partly. Have a look at Junk’s nice paper on that topic and references therein: https://www.researchgate.net/publication/40536594_Outflow_boundary_conditions_for_the_lattice_Boltzmann_method

Best
Mathias

#5072
duldul
Participant

Hello Mathias.
Thank you for your kind suggestion. This papers is really nice, even I was trying to understand this paper when I saw your reply.
Recently I tried to simulate plane-Poiseuille flow and used tau = 0.53, u0 = 0.05
Boundary conditions that I used are as follows:
void boundary(int count) {
double ftemp,fq,temp;
int jj;
double t1, t2;

//Right hand Boundary (Outflow)
for ( int j = 1; j < ny-1; j++ ) {
f[nx-1][j] = 2.0*f[nx-2][j]-f[nx-3][j];
f[nx-1][j] = 2.0*f[nx-2][j]-f[nx-3][j];
f[nx-1][j] = 2.0*f[nx-2][j]-f[nx-3][j];
}//Right hand Boundary ends

//Bottom & top boundary -> bounce back
//double temp1[nx];
for ( int i = 1; i < nx-1; i++ ) {
f[i] = f[i];
f[i] = f[i];
f[i] = f[i];
//for y = ny – 1;
f[i][ny-1] = f[i][ny-1];
f[i][ny-1] = f[i][ny-1];
f[i][ny-1] = f[i][ny-1];
}//Bottom and top bounce back ends

//left hand boundary condition (inlet)
for ( int j = 1; j < ny-1; j++ ) {
u[j]=u0;v[j]=0.0;rho[j]=1.0;
t1 = u[j] * u[j] + v[j] * v[j];
for ( int k = 0; k < 9; k++ ) {
t2 = u[j] * cx[k] + v[j] * cy[k];
fq[k]= w[k] * rho[j]*(1. + 3. * t2 + 4.5 * t2 * t2 – 1.5 * t1);
}
f[j]=f[j]-fq+fq;
f[j]=0.5*(rho[j]*u[j]+rho[j]*v[j]-f[j]-f[j]+f[j]+f[j]+2.0*f[j]);
f[j]=0.5*(rho[j]*u[j]-rho[j]*v[j]-f[j]+f[j]+f[j]-f[j]+2.0*f[j]);
}
f=f;
f=f;
f=f;

f[ny-1]=f[ny-1];
f[ny-1]=f[ny-1];
f[ny-1]=f[ny-1];

f[nx-1]=f[nx-1];
f[nx-1]=f[nx-1];
f[nx-1]=f[nx-1];

f[nx-1][ny-1]=f[nx-1][ny-1];
f[nx-1][ny-1]=f[nx-1][ny-1];
f[nx-1][ny-1]=f[nx-1][ny-1];
}//boundary ends
numbering used for D2Q9 is:
514
280
637

When I run my code with the above boundary conditions after sometime velocity (or total flow rate) starts decreasing and then keeps on decreasing. Can you please guess something where I may be wrong with the conditions?

Regards
Duldul

Viewing 6 posts - 1 through 6 (of 6 total)
• You must be logged in to reply to this topic.