Welcome, Guest
Username: Password: Remember me

TOPIC: Problems running qsform.f

Problems running qsform.f 9 years 4 days ago #18938

  • Montserrat
  • Montserrat's Avatar
Hi,

I've been implementing the Wilcock & Crowe (2003) formula for bedload transport in the qsform.f file.
My boundary condition at the inlet is a supercritical flow, so I set the value of the water surface height and the velocity of the flow at the inlet.
Everything goes well when bedload transport formula = 1 (MPM) in the sisyphe.cas file , but if I set bedload transport formula =0 (using qsform) it start with the velocity discharge set at the boundary condition in the .cas file and inmidately in the next step the velocity at the inlet starts slowing down untill it reach 0.

What could be the problem?
I'am using inernal coupling between Telemac2d and sisyphe.

I attached the qsform.f file and the Telemac2d and sisyphe .cas file and the .cli for sisyphe and telemac2d.

Best regards,

Gonzalo
Attachments:
The administrator has disabled public write access.

Problems running qsform.f 9 years 4 days ago #18939

  • jmhervouet
  • jmhervouet's Avatar
Hello,

I see several problems in your implementation, though this may not be the real reason. Please have a look at the programming rules given in the guide for programming in the Telemac system, available on this website.

Among them:

You declare REAL arrays of size NPOIN that are automatic, i.e. they will be allocated at every call of subroutine QSFORM (very time consuming, not officially Fortran though more or less accepted by all compilers and may cause a memory leak, and these arrays are in fact not very necessary, they could be declared as unique DOUBLE PRECISION, the same being used for all indices i). REAL also spoils accuracy.

You use X**0.5D0 for square roots (very expensive also)

My main concern: your computation of Fs is very dangerous, what happens for values of DM which are not tested, Fs not defined ? Your tests should cover all the possible range of DM.

and /(10**(-6)) would be better as *1.D6 ?

To answer one of your comments in your implementation, Telemac has now features that go officially up to Fortran 2003, though we still maintain the 6 spaces at the beginning of lines.

Que le vaya bien!

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

Problems running qsform.f 9 years 4 days ago #18940

  • Montserrat
  • Montserrat's Avatar
Jean-Michel,

Thank you for your answer. I'am new user of Fortran so thank you for all your comments.
I know Fs is not well implemented but I have problem including AVA so that was a fast solution for that.
Despite of that, can you figure out which could be the main problem? Why the inflow flux stop?

Thank yo.
The administrator has disabled public write access.

Problems running qsform.f 9 years 3 days ago #18946

  • mafknaapen
  • mafknaapen's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 157
  • Thank you received: 62
Hi Gonzalo,

You are prescribing a velocity at the boundary, but the cli file has 5 4 4 for the liquid boundary (prescribed water level, free velocities). This will probably imply that the prescribed velocity is ignored.

On top of that the bed evolution is free (LITBOR = 4), so can change rapidly.
There is uncertainty in Fs (have you checked that these if statements are working, as .eq. statements require a prerfect match into double precision numers). and other uncertainties in the transport calculations

Furthermore, some issues have been pointed out regarding the boundary condition for the bedload transport before, so that there might not be total equilibrium at the boundary.

I suspect that these elements together lead to very high or very low transport rates at the boundary. This will lead to rapid erosion of the bed or deposition at the bed. As the boundary condition actually is a prescribed free surface and not a depth (THIS IS INCORRECTLY WRITTEN IN THE MANUAL), with your boundary condition, this will then cause sub critical flow or a dry boundary.

Try changing LITBOR to 5, this will hopefully stabilise the bed at the boundary.

For testing pusposes you can also use
STATIONARY MODE = YES

This will calculate the trasnport and eropsion/deposition without updating the bed. That will allow you to see if the transport calculations are working properly.
Dr Michiel Knaapen
Senior Scientist
E This email address is being protected from spambots. You need JavaScript enabled to view it.
T +44 (0)1491 822399

HR Wallingford, Howbery Park, Wallingford, Oxfordshire OX10 8BA, United Kingdom
T +44 (0)1491 835381, F +44 (0)1491 832233
www.hrwallingford.com
The administrator has disabled public write access.

Problems running qsform.f 9 years 3 days ago #18949

  • Montserrat
  • Montserrat's Avatar
Jean-Michel

Thank you very much for your advises.
I will try with all the suggestions you have done.

Gonzalo.
The administrator has disabled public write access.
Moderators: Pablo, pavans

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