Dear all,
I try to understand how the discharge boundary conditions are implemented in telemac2d. So far I think I understood the basics.
The discharge must be transferred to a Dirichlet boundary condition. Which means that u/v must be computed, h is not fixed and can change depending on the flow into the domain (subcritical flow). The Velocity Profiles option is used to set the profile in the BORD routine and DEBIMP is used to adopt the velocities to the actual inflow.
In DEBIMP this code
CALL VECTOR(WORK2,'=','FLUBDF ',IELBOR(IELM,1),
& 1.D0,H,H,H,U,V,V,MESH,.TRUE.,WORK1)
is used to compute the actual flow over a liquid boundary is this correct?
I can not imagine which surface is used since each node has two boundaries especially on corners. I've read somewhere that one side of the boundary is used e.g. always the left segment. But ok, this somehow works.
The result
is then the sum of the incoming water. Later the inflow velocities U/V are scaled with the actual discharge value:
UBOR(K) = UBOR(K) * Q / Q1
VBOR(K) = VBOR(K) * Q / Q1
to correct the inflow.
Debugging a simple flume example (e.g. bosse-t2d) I recognized that Q1 never get's equal to Q. However the correct mass enters the system. So I thought that the source term may explain this behavior. It's true, changing the friction value changes also the Q1. But I can't get the big picture
Why get's the ratio between Q/Q1 not constant? When computing work1 with FLUBDF I do not get the inflow. It must be the inflow and something else?
So to be more precise:
- What is computed with FLUBDF?
- What are the differences between Q and Q1 (e.g. Fricition)?
Thanks and sorry for the long post
Leo