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

TOPIC: sediment distribution

sediment distribution 8 years 10 months ago #19476

  • river
  • river's Avatar
Hello
please, I want to know when I have different sediment diameter, how can I get distribution according to the diameter as in the case of the followinf figure with coupling telemac -sisyphe ? which varaible should I add in the file ?

thank you

Jean
Attachments:
The administrator has disabled public write access.

sediment distribution 8 years 10 months ago #19477

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi
I think this is not tricky.
You should use different class of sediments (with different diameter for each class) and then describe spatially the quantity of sediment in each class...

I'm not sure this could be done without fortran programming...

Regards
Christophe
The administrator has disabled public write access.

sediment distribution 8 years 10 months ago #19478

  • river
  • river's Avatar
Hi

thank you so much for your reply I'll try with your suggestion

regards
Jean
The administrator has disabled public write access.

sediment distribution 8 years 10 months ago #19483

  • gh_river
  • gh_river's Avatar
Hi Jean,


you can specify the fraction classes in a text file for each node by using Blue Kenue. Then you can modify init_compo.f to read it in Telemac coupled with Sisyphe for the preperation of a previous computation file.

Regards,
Gabi
The administrator has disabled public write access.

sediment distribution 8 years 9 months ago #19531

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

I can add that this can now be done in an easier way (less fortran programming) from version 7.1 thanks to the new function related to the new keyword NAMES OF PRIVATE VARIABLES, see the "What's new" section, link below:

www.opentelemac.org/index.php/feature-lo...ogrammes-version-7-1

I haven't tried it yet, but the principle is that you store your "user variable", for example D50, in you geometry file as a new variable, name it in your CAS file with NAMES OF PRIVATE VARIABLES = 'D50'.
You should then be able to use directly the value of D50 at each node by the fortran variable PRIVE%ADR(1)%P (note that the '1' means that you look for the 1st private variable, there are max 4). As Gabi mentioned, this needs to be done in init_compo.f.

Once again, I haven't tested it yet, but the aim is to make the use of user defined variables stored spatially into the geometry file much more easy than the method that was required in the past.

Good luck!

Best regards,
PL
The administrator has disabled public write access.
The following user(s) said Thank You: river

sediment distribution 8 years 3 months ago #23294

  • Norsazz
  • Norsazz's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 31
  • Thank you received: 9
Hi all,

This is the first time I try to modify a fortran file (except for condim.f and noerod.f). I know that this is not tricky but I still need help.

This is my case : I have 2 diameters (I've done it my sis.cas | DIAMETRES DES GRAINS = 0.0008;0.002|) and I want to have a simple distribution of this sediment. Downstream I want to have 100% of sediment 1 (d50 = 0.002) and uptstream 100% of sediment 2 (d50 = 0.0008).
Thanks to Pilou 1253 I've stored the variables 'D50' in my geometry file
Then I've modify the subroutine init_compo this way
!
USE BIEF
USE DECLARATIONS_TELEMAC
USE DECLARATIONS_SISYPHE
!PN
USE DECLARATIONS_SISYPHE, ONLY: PRIVE
!PN

DO J=1,MESH%NPOIN
!PN
NCOUCHES(J)=1
ES(J,1)=4.D0 /THICKNESS 4m
IF(PRIVE%ADR(1)%P%R.EQ.0.002) THEN
AVAIL(J,1,1)=1.D0
AVAIL(J,1,2)=0.D0
ELSEIF(PRIVE%ADR(1)%P%R.EQ.0.0008) THEN
AVAIL(J,1,1)=0.D0
AVAIL(J,1,2)=1.D0
ENDIF
ENDDO

But this is not working at all. I've got tons of errors dues to the fortran file.
Any advice, helps could be great.
Best regards,
P.N
Attachments:
The administrator has disabled public write access.

sediment distribution 8 years 3 months ago #23305

  • Norsazz
  • Norsazz's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 31
  • Thank you received: 9
Hi all,
I got now. I did a lot of mistakes there.
The Pilou's method is great. Thanks
Bests regards,
P.N
The administrator has disabled public write access.

sediment distribution 8 years 3 months ago #23550

  • luciano.hergenreder
  • luciano.hergenreder's Avatar
Hi PN,

can you send me the modified fortran file 'initcompo.f' than works for you?

Regards,
Luciano
The administrator has disabled public write access.

sediment distribution 8 years 3 months ago #23554

  • Norsazz
  • Norsazz's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 31
  • Thank you received: 9
Hi Luciano,

You will find my 'init_compo.f'. Be careful I use an other private variable to define non erodible (define as ES = NOER).
However I've followed a way similar way as PL described below. In my sisyphe .cas file I declare
NOMBRE DE TABLEAUX PRIVES = 1 
NOMS DES VARIABLES PRIVEES = 'BIN                              '
DIAMETRES DES GRAINS = 0.5;0.05
Then I've stored, in my geometry file, the variable BIN in which I assign the value I want (ex : 0 for 100% of 0.5m ....). I did not store the d50 values as PL mentioned.
Then I used the subroutine 'init_compo.f' in which I used
IF(PRIVE%ADR(1)%P%R(J).EQ.0.D0) THEN
	  AVAIL(J,1,1)=0.6D0
	  AVAIL(J,1,2)=0.4D0

Best regards,
Attachments:
The administrator has disabled public write access.
The following user(s) said Thank You: luciano.hergenreder

sediment distribution 8 years 3 months ago #23556

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

I read once on the forum (I guess it was a post by JMH) that the following test is risky because of possible truncation/rounding errors:

IF(PRIVE%ADR(1)%P%R(J).EQ.0.D0) THEN

You might replace it with something like

IF((PRIVE%ADR(1)%P%R(J)-0.D0).LT.1.D-6) THEN

In order to make sure that you will not miss any nodes.
It might work well without it though, but the latter test is more "clean".

Best regards
PL
The administrator has disabled public write access.
The following user(s) said Thank You: Norsazz, luciano.hergenreder
  • Page:
  • 1
  • 2
Moderators: pham

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