CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   The problem of bed load transport rate based on FE3.2-famesh (https://www.cfd-online.com/Forums/openfoam/199685-problem-bed-load-transport-rate-based-fe3-2-famesh.html)

liuxiaojian2015 March 12, 2018 23:48

The problem of bed load transport rate based on FE3.2-famesh
 
4 Attachment(s)
Hi all,
when i calculated the bed load transport rate (qbi=q0*τ/τi - C*|q0|dη/dxi) component in the i direction by using OpenFOAM famesh, i found the result of dη/dxi in two sides in y direction (two sides patch: symmetryPlane) is wrong by simulating the scour of pileline under current and using five layer grids. The result show the value is zero in internal face ceters in y direction, however it is very big in two sides. Please help me if someone know how to slove it. Thank you.

The code::):):)
//########################### bed load transport rate ###########################//
hA=mesh.boundaryField()[patchID].faceCentres.z();
edgeScalarField absWLEdge = fac::interpolate(hA);
areaVectorField gha = fac::edgeIntegrate(absWLEdge.mesh().Le() * absWLEdge);
// or //areaVectorField gha = fac::grad(hA);

areaVectorField qbA = q0A*shearN - 1.5 * mag(q0A) * gha;

Best,

LXJ

Santiago March 13, 2018 05:01

Quote:

Originally Posted by liuxiaojian2015 (Post 684950)
Hi all,
when i calculated the bed load transport rate (qbi=q0*τ/τi - C*|q0|dη/dxi) component in the i direction by using OpenFOAM famesh, i found the result of dη/dxi in two sides in y direction (two sides patch: symmetryPlane) is wrong by simulating the scour of pileline under current and using five layer grids. The result show the value is zero in internal face ceters in y direction, however it is very big in two sides. Please help me if someone know how to slove it. Thank you.

The code::):):)
//########################### bed load transport rate ###########################//
hA=mesh.boundaryField()[patchID].faceCentres.z();
edgeScalarField absWLEdge = fac::interpolate(hA);
areaVectorField gha = fac::edgeIntegrate(absWLEdge.mesh().Le() * absWLEdge);
// or //areaVectorField gha = fac::grad(hA);

areaVectorField qbA = q0A*shearN - 1.5 * mag(q0A) * gha;

Best,

LXJ

Which are your bc's for velocity in the spanwise direction?

liuxiaojian2015 March 13, 2018 05:08

Quote:

Originally Posted by Santiago (Post 684976)
Which are your bc's for velocity in the spanwise direction?

Hi Santiago,

Yes, you are right. The spanwise direction (i.e., x direction) is set as the velocity direction. Two sides are perpendicular to y direction, and parallel to x direction.

Best,

Liu

Santiago March 13, 2018 05:10

Quote:

Originally Posted by liuxiaojian2015 (Post 684977)
Hi Santiago,

Yes, you are right. The spanwise direction (i.e., x direction) is set as the velocity direction. Two sides are perpendicular to y direction, and parallel to x direction.

Best,

Liu

Ok,

Two questions:

1. Which Boundary conditions you set for velocity in the domain?
2. Do you start your simulation from a solution obtained by not moving the grid/potential?

liuxiaojian2015 March 13, 2018 05:31

2 Attachment(s)
Quote:

Originally Posted by Santiago (Post 684979)
Ok,

Two questions:

1. Which Boundary conditions you set for velocity in the domain?
2. Do you start your simulation from a solution obtained by not moving the grid/potential?

Hi, Santiago

Thank you for you reply. First, in order to explain this answer, i show a picture for the detailed model setup (plese ignore my clumsy drawing, :)), the Boundary conditions for the velocity is set in the left side of model. Second, i attempted the simulation by not moving the mesh motion, the result of grad(hA).y() is acquired in such condition and it is showed again in the attachment.

Best,

Liu

liuxiaojian2015 March 13, 2018 05:41

Quote:

Originally Posted by Santiago (Post 684979)
Ok,

Two questions:

1. Which Boundary conditions you set for velocity in the domain?
2. Do you start your simulation from a solution obtained by not moving the grid/potential?

I also attempted the simulation by not considering the current velocity, i.e., i set the velocity is about zero. This value will not induce the sediment transport. Thus, no bad results were showed. :):):)

liuxiaojian2015 March 13, 2018 06:05

1 Attachment(s)
Quote:

Originally Posted by Santiago (Post 684979)
Ok,

Two questions:

1. Which Boundary conditions you set for velocity in the domain?
2. Do you start your simulation from a solution obtained by not moving the grid/potential?

I am so sorry to trouble you again. I give a error introdution several minutes ago. When i use the smaller current velocity, the bed surface gradient is also wrong, please see the attachment. The error also exist in the patch junction. Is this indicate the fac::grad() is wrong in patch junction?

I need emphasize the gha.x() and gha.z() keep same variation for the five layer mesh. Just gha.y() show the error. Thank you.
:):):)


All times are GMT -4. The time now is 21:29.