Welcome, Guest
Username: Password: Remember me

TOPIC: Maximum iterations for bedload equation when custom user_bed_init

Maximum iterations for bedload equation when custom user_bed_init 5 months 3 weeks ago #45116

  • colinemathias
  • colinemathias's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 18
  • Thank you received: 1
Hello all,

I am trying to run a simulation with TELEMAC3D (5 horizontal levels) coupled with GAIA. I have two types of non cohesive sediments, for now evenly distributed on the whole domain (50%, 50%).

I want to define some area of my mesh as non-erodible (rocky zones). To do this :
1) I created a 'NOER' variable in slf file, with non-erodible zones at 0.
2) I read this 'NOER' variable with a python file (see below), and wrote a custom user_bed_init.f file with the thickness of the layer to 0 for all nodes in non erodible zones.

This simulation runs fine without the custom user_bed_init.f file. When I try to add it, however, I get from the very first iteration the following message :
================================================================================
 ITERATION        0    TIME:   0.0000 S

 GAIA COUPLED WITH: TELEMAC3D
 BEDLOAD EQUATION SOLVED IN    50 ITERATIONS = MAXIMUM

I can't figure out where the problem is, because this exact Python code worked on previous studies... I tried to modify keyword MAXIMUM NUMBER OF ITERATIONS FOR POSITIVE THICKNESS = 1000, but it does not solve the problem. Did I miss something ?

Thank you very much,

Coline

PS : my files : creocean.fromsmash.com/RpvEtl6jXl-ct
PPS : python code used to modify user_bed_init
geo = TelemacFile(file_name_tel)

# 0 : non erodible zones
# everywhere else: erodible depth = 100 (default value)
noer=geo.get_data_value('NOER', 0)
H=str()
with open("user_bed_init_hed.f","r") as fich:
    for l in fich:
        H=H+str(l)
with open("user_bed_init_erod.f",'w') as fich:
    fich.write(H)
    for i in range(len(noer)):
        if noer[i]==0:
            fich.write('      ESTRATUM(1,'+str(i+1)+') = 0.D0\n')
    fich.write('      RETURN\n')
    fich.write('      END')
The administrator has disabled public write access.

Maximum iterations for bedload equation when custom user_bed_init 5 months 3 weeks ago #45126

  • kopmann
  • kopmann's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 106
  • Thank you received: 65
Dear Coline,

first you need to check whether your rigid bed is correctly defined:

Is it possible to run just 1 time step to check your initial condition with the python script?
Beside this, it is very complicated to use a python script inside a fortran routine and will be more complicated in case of parallel.
There is a very easy solution within fortran I already explained in the forum
www.opentelemac.org/index.php/kunena/17-...-user-bed-init#44936

If you are sure that your rigid bed is what you want there still can be max number of iterations. It depends on your mesh and your physics (probably a finer and better (60° triangles) mesh would be more stable). The message is that your solver doesn't reach a good solution. You can go into the code and write the node numbers where it occurs (probably at the transfer between rigid bed and movable bed). You can then decide if this part is very important for you or not. Depending on it you can just run and don't care of the message (if the run will not get unstable of course) or you need to change the mesh. Sometimes it helps tp have a very small layer of sediments on the rigid bed in the beginning.

My experiences come from Telemac2D coupled with gaia but I guess it can be transfered to 3D as well.

I hope this helps for the next steps.
Best regards,
Rebekka
The administrator has disabled public write access.
The following user(s) said Thank You: colinemathias
Moderators: Pablo, pavans

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