Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Definition of non-erodable points

Definition of non-erodable points 11 years 9 months ago #7155

  • cserranomoreno
  • cserranomoreno's Avatar
Hello,

I am studying the effect that the construction of a weir has on scouring. Until now, I have been using T2D and I am quite happy with the results.

One part of the weir is fixed while the other is movable.

The main problem comes out when modelling the underflow when the gates of the movable part of the weir are opened.

I am modelling this underflow in the T2D using culverts.
However, I would like to know how to define some points, as non-erodable just after the weir.

I read in the previous post that I should modify the routine "non_erod.f". However the only thing I found there was:

! RIGID BEDS POSITION
! DEFAULT VALUE: ZR=ZF-100
CALL OV( 'X=C ',ZR,ZF,ZF,-100.D0,NPOIN)

I tried to modify this value, in order to have only 8 meters of erodable bed. The modified subroutine with which I am simulating is defined as :

CALL OV( 'X=C ',ZR,ZF,ZF,-8.D0,NPOIN)

However, I have points in my domain where the erosion is higher than 8m.

Could anyone tell me how can I define the points of my domain where there should be no erosion?

Thank you very much in advance.

Carlos
The administrator has disabled public write access.

Definition of non-erodable points 11 years 9 months ago #7165

  • pilou1253
  • pilou1253's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 584
  • Thank you received: 106
Hi!

I found on the forum a possibility to do that using the noerod subroutine and fudaa or blue kenue.

You first add a variable (called 'NOER' in my example) in your geometry file, which allows you to define locally the information on non erodible beds.

Then you use the modified part of the subroutine attached. It reads the variable 'NOER' in the geometry file, and then process it depending on your "CALL OV" definition.
Please note that in my example 'NOER' is the DEPTH of non erodible bed, and ZR is then computed as ZF - NOER. Adapt your CALL OV if you want to do something else (ie NOER = level of non erodible bed, then CALL OV (X=Y...)).

Good luck
PL

File Attachment:

File Name: noer.f
File Size: 3 KB
The administrator has disabled public write access.
The following user(s) said Thank You: cyamin, cserranomoreno

Definition of non-erodable points 11 years 9 months ago #7180

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

CALL OV( 'X=C ',ZR,ZF,ZF,-8.D0,NPOIN)

sets the non erodible layer at -8m relative to your chosen datum. I assume you want a8 meter layer thickness in which case you should set use

CALL OV( 'X=Y+C',ZR,ZF,ZF,-8.D0,NPOIN)
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.
The following user(s) said Thank You: cserranomoreno

Definition of non-erodable points 11 years 9 months ago #7187

  • cserranomoreno
  • cserranomoreno's Avatar
Hello

Thank you very much for your answers.

I tried both of the suggestions but I could not get any positive result.

1) I created the new variable into my geometry file. To start with, I tried to define an erodible bed of 2m along the whole domain. I am using the "Call OV" definition provided in the "noer.f" routine.

CALL OV( 'X=Y-Z ',ZR,ZF,NOER%R,0.D0,NPOIN)

I am not very sure about how to define the variable NOER in my geometry file. In the previous post it was said that 'NOER' is the DEPTH of non erodible bed, however, inside the fortran 'NOER' is defined as the DEPTH of the erodible bed.

In the example I don't want to get an erosion higher than 2 m in any point of my domain. Then the value I should give to NOER in my geometry file should be, 2, isn't it?.

2) I tried to follow Michiel Knaapen's suggestion but I also didn't manage to succeed. It seems so easy that I feel a bit frustrated for not being able to get any result.

I think that maybe I am doing a basic mistake when defining the parameters of my simulation. I am using Telemac 2D coupled with sisyphe.

As far as I understood, If I input one Fortran File into Sisyphe that modifies the previous version of "non_erod.f" routine my Fortran File will be the one compiled.

I have also tried to run different simulations using "Finite Volumes" and modifying the different options of the keyword "Option for the Treatment of Non Erodable Beds" (even I think that in previous posts it was said that this keyword was out of date...).

I hope I can get some advice from you.

Thank you very much.

Carlos
The administrator has disabled public write access.

Definition of non-erodable points 11 years 9 months ago #7188

  • pilou1253
  • pilou1253's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 584
  • Thank you received: 106
Hi Carlos,

First of all, if you want to define the depth of the erodible depth to 2 m on your whole domain, then the procedure using NOER is maybe not the best.
Indeed, it can simply be done by modifying the CALL OV in the original subroutine with:

CALL OV( 'X=Y-C ',ZR,ZF,ZF,2.D0,NPOIN)

The procedure using NOER is interesting if you have a more complex definition of your non erodible bed location. To define it, once you have added the variable into your geometry file, you can then define spatially the values of NOER using the same technique as when defining your bathymetry. In fudaa, select the points you want to define, then edit, and then you can define a constant value for NOER by selecting the aggregating option. If you want a more complex information, you have to use a spatial repartition from a xyz file that you have previously created.

You can use NOER to define either the altitude of your non erodible bed, or the thickness of the erodible bed (what I have done). Just be careful to use the correct CALL OV procedure depending on your choice.

For example, if NOER is the altitude of the rigid bed:
CALL OV( 'X=Y ',ZR,NOER%R,ZF,0.D0,NPOIN)

If NOER is the thickness of the erodible bed:
CALL OV( 'X=Y-Z ',ZR,ZF,NOER%R,0.D0,NPOIN)

If you are coupling T2D and Sisyphe, you should include the modified subroutine in the T2D fortran file (I think...). I don't know if it will be read if you put it in the sisyphe fortran file.

Good luck!
PL
The administrator has disabled public write access.
The following user(s) said Thank You: Pablo, cserranomoreno

Definition of non-erodable points 11 years 9 months ago #7190

  • Pablo
  • Pablo's Avatar
  • OFFLINE
  • Moderator
  • Posts: 316
  • Thank you received: 121
Dear Carlos,
I'd like to add a couple of things to the very useful PL's comments:

For example, you can set your erodable thickness layer as follows:
ZEMAX=2000.D0
CALL OV( 'X=Y+C ',ZR,ZF,ZF,-ZEMAX,NPOIN)

Also, you can read the point limiting a polygon from a file and then you can use the "inpoly" subroutine, in combination with some boolean algebra to delimite the zones where you want (or not) apply the non-rigid zones:

DO N=1,NPOIN
IF (.NOT.inpoly(x(N),y(N),X1,Y1,NP1).AND.
& .NOT.inpoly(x(N),y(N),X2,Y2,NP2)) THEN
ZR(N)= ZF(N)
ENDIF
ENDDO

Please take also a look to the simple test "005_rigid-bed" in the validation directory.

I hope it helps,

all the best,

Pablo
The administrator has disabled public write access.
The following user(s) said Thank You: cserranomoreno

Definition of non-erodable points 11 years 9 months ago #7227

  • cserranomoreno
  • cserranomoreno's Avatar
Thank you for your previous answers.

As PL said I must input the fortran file in my Telemac2D file.

I think the problem that I am having is due to the fact that I was using a precompiled version of Telemac. The error I get is related to the Fortran Compiler (ifort).

I think that the best for me will be to compile Telemac using g95 that is the compiler I have installed in my computer. However, I am stil dealing with the installation problems.

I hope that it will go properly after the installation.

Thanks again
The administrator has disabled public write access.

Definition of non-erodable points 11 years 9 months ago #7246

  • cserranomoreno
  • cserranomoreno's Avatar
Hello again,

I managed to start running a simulation of T2D coupled with Sisyphe including the fortran file that PL provided me.

I installed the fortran compiler so now the .f file is read without finding error related to 'ifor.exe'.

However new errors are appearing before mycase runs.

Is there any special way I should run the simulation when including a fortran file? I am just launching it in the same way I have been doing until now. Should I do something else before?

Thank you very much for your help

Carlos

compilation_error.png
The administrator has disabled public write access.

Definition of non-erodable points 11 years 9 months ago #7247

  • Pablo
  • Pablo's Avatar
  • OFFLINE
  • Moderator
  • Posts: 316
  • Thank you received: 121
Hi Carlos,
by taking a look to your screen capture, I noted that you installed version V6P1. - Why don't you install the latest version V6P2?
- Then, run the validation test 005_rigid-bed/
- Finally, if everything goes OK, you can take this example as "base" and adapt it to your application

all the best,

pablo
The administrator has disabled public write access.

Definition of non-erodable points 11 years 9 months ago #7248

  • cserranomoreno
  • cserranomoreno's Avatar
Hello Pablo.

After having some problems with the installation of V6P2 I thought that the easiest option with me was to use the Intel Compiler that the precompiled V6P1 available was using.

Ok, I will try to compile V6P2 again and see what happens.

If I run the testcase you suggest with the current version that I am using I find the same error missages. Some variables are remarked as non being used and the same linking error is detected...

Anyway, thank you very much for your support.
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: Pablo, pavans

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