Welcome, Guest
Username: Password: Remember me

TOPIC: Assigning code number for friction zone

Assigning code number for friction zone 13 years 6 months ago #2452

  • clebouteiller
  • clebouteiller's Avatar
Hi,
I am trying to run a simulation with two different zones, each having a different friction law and friction coeff. I am looking for a way to assign to each node the code number 1 or 2 depending on its zone. Would anyone have an idea to help me with this? It seems that I could assign different friction coefficients to different zones through FUDAA or BlueKenue but in my case I really need to assign different friction laws as well.

Thank you for your help,
Caroline
The administrator has disabled public write access.

Re: Assigning code number for friction zone 13 years 6 months ago #2453

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3773
  • Thank you received: 1044
Hi
Your request is very complex to implement in telemac (maybe impossible).
If it's really an obligation, you should know that you will have to modify some fortran file to reach your goal (have a look in friction_calc.f).
In my opinion, it's easier to try to convert one of the two laws into the other one to impose it as a friction coefficient.

Hope this helps
Christophe
The administrator has disabled public write access.

Re: Assigning code number for friction zone 13 years 6 months ago #2458

  • jmhervouet
  • jmhervouet's Avatar
Hello,

There is actually a procedure that allows to have different friction laws. It must be described in the telemac-2d user manual, and an example is the test-case 221_donau. Basically there is a key-word FRICTION DATA that is set to yes, and the data are in a file called FRICTION DATA FILE. I'm afraid the donau case is commented in German, but it will give you the names of the basic key-words that you can find then in the user manual.

With best regards,

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

Re: Assigning code number for friction zone 13 years 6 months ago #2466

  • clebouteiller
  • clebouteiller's Avatar
Hi,

Thank you for your answer.

To c.coulet: I can not actually convert one law into the other because I am using a specific velocity-dependant friction law, that I have just added in friction_calc

To jmhervouet: Yes, I am already using the FRICTION DATA FILE as it is described in the user manual. In this file each zone is referred to by a code number, and my problem is how to assign this code number to each node. I tried to add a layer with such code number in the initial geometry (selafin) file, but it is not read by telemac. Is there a specific key-word that I should use for the title of the selafin attribute?
Otherwise, I saw that it was possible to use the friction_user subroutine to assign zone numbers to each node, but I don't know how to do that. I will look through the donau case, but I do not speak any German so I will be happy to get your help for the keywords.

Best regards,
Caroline
The administrator has disabled public write access.

Re: Assigning code number for friction zone 13 years 5 months ago #2794

  • clebouteiller
  • clebouteiller's Avatar
Hello,

I have eventually figured out a solution.
Here is my summary in case anybody run through the same issue:

1) Use keyword FRICTION DATA = YES in steering file

2) Write a file friction_data.dat as described in Telemac manual. In this file, each zone is referred to by a number, and is given a friction law and a friction coefficient.

3) Add FRICTION DATA FILE = 'friction_data.dat' in the steering file

4) Export the list of the nodes that belong to each zone from BlueKenue or Fudaa. For instance, zone2.dat with the numbers of the nodes of zone 2. A way to do that in BlueKenue is to use a contour line for the zone, assign it a value much higher than the bottom topography, map the mesh with this line then save the mesh. Then it is possible to open the mesh (in excel for instance) and select only the nodes with the highest value/elevation.

5) In subroutine friction_user : open the zone2.dat file, read the node numbers and assign KFROPT%I(node)=2

6) Add the modified subroutine friction_user to the fortran file my_simu.f that is called by the steering file (FORTRAN FILE='my_simu.f') so that it is read and recompiled.

It seems to be working like this.
Thanks anyway Christophe and Jean-Michel

Caroline
The administrator has disabled public write access.
Moderators: pham

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