Welcome, Guest
Username: Password: Remember me

TOPIC: Computing discharge with TELEMAC

Computing discharge with TELEMAC 9 years 11 months ago #15058

  • special_20
  • special_20's Avatar
Hello all,

I aim to compute discharge with TELEMAC but the method I use does not seem correct.

My calculation is based on the definition of the discharge that says that the discharge through a surface S is equal to the integral of the dot product of the normal vector and the speed V. So if I want to compute the discharge through the surface defined by two neighbouring points of my mesh I, J, the free surface and the bathymetry (under the assumption that the speed is constant between I and J and equal to (U(I)+U(J);V(I)+V(J))/2 the formula I use in TELEMAC is :

DOT_PRODUCT((/U(I)+U(J),V(I)+V(J)/)/2,NLOCAL)*(d/2)*(H(I)+H(J))

where DOT_PRODUCT((/U(I)+U(J),V(I)+V(J)/)/2,NLOCAL) stands for the dot product between the speed vector and the normal vector and (d/2)*(H(I)+H(J)) stands for the surface of S.

I tried to apply this formula with liquid boundaries where I impose discharge and there is a difference between the fluxes computed with TELEMAC (which are correct) and the fluxes computed with my formula. I have two questions :
  • What is wrong with my formula ?
  • Should I use TELEMAC subroutines to compute the discharge and what subroutines ? I tried to take a look but it's far from being obvious.
The administrator has disabled public write access.

Computing discharge with TELEMAC 9 years 11 months ago #15060

  • jmhervouet
  • jmhervouet's Avatar
Hello,

There are two things :

1) you want an integral of a product depth * velocity through a boundary section. Depth being linear and velocity being linear it will be the integral of a quadratic function. This is done in subroutine VC10OO in BIEF, and is obtained by calling VECTOR with a formula 'FLUBDF '. The linear-linear case in VC10OO starts line 216, you can compare with your formula.

2) when the depth is imposed on a boundary, the equation giving this depth replaces the continuity equation, and the flux computed with the observed depth and velocity may be slightly wrong. To correct this, when you have the keyword CONTINUITY CORRECTION = YES the program computes the flux that ensures the continuity equation, and only this one is reliable and compatible.


You can also declare control sections and the program will give you the discharge through this control section, so I do not fully understand what you plan to do.

I hope this wil shed some light on this difficult matter,

Regards,

Jean-Michel Hervouet
The administrator has disabled public write access.

Computing discharge with TELEMAC 9 years 11 months ago #15064

  • special_20
  • special_20's Avatar
Thanks for your reply.

What I plan to do is to compute discharge through some sections to be use as lateral inflow for a 1D model in the context of the lateral coupling of TELEMAC and MASCARET with the code coupler OpenPALM, that's why I can't use the control section method you suggest. And I realized a few days ago with some tests on the liquid boundaries that the discharge computed with TELEMAC and with my method are differents. So I guess my method is wrong. So what I want is to compute the discharge through some sections or at least compute the lineic discharge at some nodes of the mesh, is it possible ?

Thank you for your second remark, it may be very useful for an other study I'm working on !

Regards
The administrator has disabled public write access.

Computing discharge with TELEMAC 9 years 11 months ago #15075

  • special_20
  • special_20's Avatar
Sorry for double posting,

But I think I have not been clear enough to describe what I want to do. I would like to write a subroutine that compute the discharge at a given time between two neighboring nodes of my mesh or compute the lineic discharge at a node.

I saw in the user manual that
  • the scalar discharge Q ;
  • the discharge following the x-axis I ;
  • the discharge following the y-axis J ;
are part of the variables to be printed, hence I looked in the code to find what are the names of the corresponding variables but I didn't find, can you please help me ?
The administrator has disabled public write access.

Computing discharge with TELEMAC 9 years 11 months ago #15076

  • Lufia
  • Lufia's Avatar
Hi,

I have worked on a new control section method. However I have not fully tested it an it is not in included in the release,... I'm too slow sorry :(

My experience from model coupling (groundwater with free surface) is that the best way to do so is for a Dirichlet like node is to compute the change of mass at the node and the fluxes between the node and the neighboring nodes.

Inside the mesh the computation of flow can strongly depend on the numerical scheme. The error of a slightly wrong computation (error > ~10%) might be acceptable for some cases. I know from my routine that it is possible to compute the correct flux over a line through the domain for schemes that use the positive_depth routine.
The administrator has disabled public write access.
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.