# The problem of bed load transport rate based on FE3.2-famesh

 Register Blogs Members List Search Today's Posts Mark Forums Read

March 12, 2018, 23:48
The problem of bed load transport rate based on FE3.2-famesh
#1
New Member

LXJ
Join Date: Apr 2015
Posts: 12
Rep Power: 11
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
Attached Images
 grad(hA).y().jpg (77.1 KB, 19 views) pipeline.jpg (85.9 KB, 20 views) result.jpg (114.9 KB, 20 views) ???????.jpg (41.8 KB, 18 views)

Last edited by liuxiaojian2015; March 13, 2018 at 02:04.

March 13, 2018, 05:01
#2
Senior Member

Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 15
Quote:
 Originally Posted by liuxiaojian2015 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?

March 13, 2018, 05:08
#3
New Member

LXJ
Join Date: Apr 2015
Posts: 12
Rep Power: 11
Quote:
 Originally Posted by Santiago 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

March 13, 2018, 05:10
#4
Senior Member

Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 15
Quote:
 Originally Posted by liuxiaojian2015 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?

March 13, 2018, 05:31
#5
New Member

LXJ
Join Date: Apr 2015
Posts: 12
Rep Power: 11
Quote:
 Originally Posted by Santiago 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
Attached Images
 SETUP.jpg (19.2 KB, 20 views) grad(hA).y().jpg (77.1 KB, 17 views)

March 13, 2018, 05:41
#6
New Member

LXJ
Join Date: Apr 2015
Posts: 12
Rep Power: 11
Quote:
 Originally Posted by Santiago 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.

March 13, 2018, 06:05
#7
New Member

LXJ
Join Date: Apr 2015
Posts: 12
Rep Power: 11
Quote:
 Originally Posted by Santiago 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.
Attached Images
 grad(hA).y()----small current velocity.jpg (57.3 KB, 13 views)

Last edited by liuxiaojian2015; March 13, 2018 at 08:26.