Welcome, Guest
Username: Password: Remember me

TOPIC: Temporally varying solid discharge of varying grain size at the inlet

Temporally varying solid discharge of varying grain size at the inlet 8 years 9 months ago #19574

  • joysanyal21
  • joysanyal21's Avatar
I would like to feed in suspended sediment of say, 3 grain sizes at my model inlet over a period. The volume (or mass)of sediment belonging to each grain size for every cubic metre of water discharge is known. The discharge and volume of sediment for each class size varies every hour.

I am aware that I may have to put the volume of sediment for each grain size every hour into a text file. Next, probably I need to modify a subroutine.
However, I have no knowledge of fortran.

It will of immense help if somebody can provide me an example text file and fortran file with adequate comments so that I can modify it to implement my case.

Cheers,

Joy
The administrator has disabled public write access.

Temporally varying solid discharge of varying grain size at the inlet 8 years 9 months ago #19650

  • gh_river
  • gh_river's Avatar
Hi Joy,

as far as I know, you have to modify the CONLIT subroutine. There is a section at the end dealing with the suspended sediment input. I have done this some years ago for bed load fractions, but that was with v6p1...

But it is not so difficult as it seams, you have to modify the suspended concentration CBOR for each grain size. E.g. CBOR%ADR(1) would be the concentration for the first grain size.

To implement a time-varing distribution, you can use the actual time step AT -
then it would be something like that - !!this example is for bed load QBOR and v6p1!!!

LIEBOR%I(K)=KSORT
IF (K.GE.9.D0.AND.K.LE.24.D0) THEN
LIQBOR%I(K)=KENT
C
IF (AT.LE.21600.D0) THEN
QBOR%ADR(5)%P%R(K)=0
ELSEIF (AT.GT.21600.D0.AND.AT.LE.43200.D0) THEN
QBOR%ADR(5)%P%R(K)=6.57E-4+(AT-21600.D0)*3.59E-8
ELSEIF (AT.GT.43200.D0.AND.AT.LE.79200.D0) THEN
QBOR%ADR(5)%P%R(K)=14.34E-4+(AT-43200.D0)*1.89E-8
ELSEIF (AT.GT.79200.D0.AND.AT.LE.129600.D0) THEN
QBOR%ADR(5)%P%R(K)=2.12E-3+(AT-79200.D0)*14.88E-9
ELSEIF (AT.GT.129600.D0) THEN
QBOR%ADR(5)%P%R(K)=2.87E-3+(AT-129600.D0)*11.86E-9
ENDIF

Hope this helps,
Gabi
The administrator has disabled public write access.

Temporally varying solid discharge of varying grain size at the inlet 8 years 9 months ago #19718

  • joysanyal21
  • joysanyal21's Avatar
Many thanks for your reply. In the recent version of Sisyphe,I think, I may have to use the keyword PRESCRIBED SOLID DISCHARGES.

The Telemac webpage says that:
When the keyword PRESCRIBED SOLID DISCHARGES is given it supersedes Q2BOR, which is then taken only as a profile.

All these values are meant for the total if there are sediment classes, and in this case they will be distributed to every class with the help of the fractions (array AVAIL), this is done for EBOR and QBOR in CONLIS and may be changed.

For suspended load, concentrations can be imposed on the upstream boundary or imposed, by reading an input concentration file (for time-varying concentrations). The other options available in 6.1 are either to impose constant concentrations on the upstream boundary or to calculate the concentrations assuming equilibrium conditions (if LICBOR = 5).
Can you help me with implementing this process? I have a few questions:

What is CONLIS (Not CONLIT)? Is it the boundary condition file for Sisyphe?

How to use AVAIL?

Is sediment concentration expressed as weight/volume or in m3/second? It seems that the simple use of the keyword PRESCRIBED SOLID DISCHARGES is asking for the sediment transport rate as m3/s
The administrator has disabled public write access.

Temporally varying solid discharge of varying grain size at the inlet 8 years 9 months ago #19721

  • gh_river
  • gh_river's Avatar
Hi Joy,

as far as I know, you have to use conlit.f. But you can check on your own in your sources folder (conlis vrs. conlit).
You may also find the declaration of AVAIL in conlit.f.

I am not dealing with suspended sediment transport in the moment, therefore I can just tell you how I would start.
I think the keyword PRESCRIBED SOLID DISCHARGES is not for variing sediment input.

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

Temporally varying solid discharge of varying grain size at the inlet 8 years 8 months ago #20178

  • gh_river
  • gh_river's Avatar
Hi Joy,

K is the number of the boundary node - LE means less or equal, GE means greater or equal, AT is the actual time step and the calculation below is the concentration curve calculated using AT.

Maybe you should look at some simple Fortran scripts and the basics behind it before starting modifying the script...

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

Temporally varying solid discharge of varying grain size at the inlet 8 years 8 months ago #20156

  • joysanyal21
  • joysanyal21's Avatar
Hi Gabi,

You sent me the following sample to implement time varying sediment concentration at the model inlet using conlit subroutine:
LIEBOR%I(K)=KSORT
IF (K.GE.9.D0.AND.K.LE.24.D0) THEN
LIQBOR%I(K)=KENT
C
IF (AT.LE.21600.D0) THEN
QBOR%ADR(5)%P%R(K)=0
ELSEIF (AT.GT.21600.D0.AND.AT.LE.43200.D0) THEN
QBOR%ADR(5)%P%R(K)=6.57E-4+(AT-21600.D0)*3.59E-8
ELSEIF (AT.GT.43200.D0.AND.AT.LE.79200.D0) THEN
QBOR%ADR(5)%P%R(K)=14.34E-4+(AT-43200.D0)*1.89E-8
ELSEIF (AT.GT.79200.D0.AND.AT.LE.129600.D0) THEN
QBOR%ADR(5)%P%R(K)=2.12E-3+(AT-79200.D0)*14.88E-9
ELSEIF (AT.GT.129600.D0) THEN
QBOR%ADR(5)%P%R(K)=2.87E-3+(AT-129600.D0)*11.86E-9
ENDIF

It will be helpfull to know the meaning of the following things?

In "IF (K.GE.9.D0.AND.K.LE.24.D0)"--- What are K.GE.9 and K.LE.24? Are they pointers of the boundary of the grid? What are GE and LE?

In "IF (AT.LE.21600.D0) THEN" is AT.LE.21600---Indicating a time step or second?

In " QBOR%ADR(5)%P%R(K)=6.57E-4+(AT-21600.D0)*3.59E-8" what are the significance of 6.57E-4 and 3.59E-8 ? Why are we multiplying AT-21600.D0 with 3.59E-8?

Is following part the right portion of the conlit file to modify?

ENTRANCE : IMPOSED CONCENTRATION
!
!
! NOTE JMH: KSORT MUST BE TREATED ALSO BECAUSE SUBROUTINE DIFFIN
! MAY CHANGE A KSORT INTO KENT, DEPENDING OF FLOW
!
IFRLIQ=NUMLIQ%I(K)
IF(LIEBOR%I(K).EQ.KENT.OR.LIEBOR%I(K).EQ.KSORT) THEN
DO I=1,NSICLA
IRANK=I+(IFRLIQ-1)*NSICLA
CBOR%ADR(I)%P%R(K) = CBOR_CLASSE(IRANK)
ENDDO
ENDIF
!
Many thanks,

Joy
The administrator has disabled public write access.

Temporally varying solid discharge of varying grain size at the inlet 8 years 7 months ago #20517

  • joysanyal21
  • joysanyal21's Avatar
Hi Gabi,

I tried to make a modified conlit.f for imposing prescribed time dependent suspended sediment load at the model inlet. I have put comments to show what I understood by the lines I added and where I am unsure. The relevant portion of the associated Sisyhe boundary condition file is also given below. Please have a look and give me your comments.

I am also not sure whether I am supposed to leave the upper portion of the original conlit.f unchanged!

conlit.f subroutine

! LICBOR : BOUNDARY CONDITION FOR SEDIMENT CONCENTRATION
!
!
USE DECLARATIONS_SISYPHE, ONLY : BOUNDARY_COLOUR ! I added this
IF(SUSP) THEN
!
DO K=1,NPTFR
!
! SO FAR LICBOR=LIEBOR (WITH KADH CHANGED INTO KLOG, SEE ABOVE,
! BUT CAN BE CHANGED)
!
LICBOR%I(K) = LIEBOR%I(K)
!
LICBOR%I(K) = KSORT
! ENTRANCE : IMPOSED CONCENTRATION
!
!
! NOTE JMH: KSORT MUST BE TREATED ALSO BECAUSE SUBROUTINE DIFFIN
! MAY CHANGE A KSORT INTO KENT, DEPENDING OF FLOW
!
! IFRLIQ=NUMLIQ%I(K)
! IF(LIEBOR%I(K).EQ.KENT.OR.LIEBOR%I(K).EQ.KSORT) THEN
! DO I=1,NSICLA
! IRANK=I+(IFRLIQ-1)*NSICLA
! CBOR%ADR(I)%P%R(K) = CBOR_CLASSE(IRANK)
! ENDDO
! ENDIF

! My addition for 2 time steps and for 2 sediment classes
IF(BOUNDARY_COLOUR%I(K).GE.4868.AND.BOUNDARY_COLOUR%I(K).LE.4872) THEN
LICBOR%I(K)=KENT ! NOT SURE IF THIS IS REQUIRED
C
IF(AT.LE.1.DO) ! 1= First time step
CBOR%ADR(1)%P%R%(K)= a1 DO ! a1=volume of sediment fraction 1 in m3 at time step 1
CBOR%ADR(2)%P%R%(K)= b1 DO ! b1=volume of sediment fraction 2 in m3 at time step 1
ELSEIF (AT.GT.1.DO.AND.AT.LE.10.DO) THEN ! 10= time step 10
CBOR%ADR(1)%P%R%(K)= a2 DO ! a2=volume of sediment fraction 1 in m3 at time step 10
CBOR%ADR(2)%P%R%(K)= b2 DO ! b2=volume of sediment fraction 2 in m3 at time step 10
ELSEIF ! Carry on like this for other time steps
ENDIF ! not sure if this the right place for ENDIF
ENDIF
!
! READING BOUNDARY CONDITION FILE
!
IF(LICBOR%I(K).EQ.KENT.AND.
& SIS_FILES(SISLIQ)%NAME(1:1).NE.'MYBCFILE') THEN ! 'MYBCFILE' = My boundary condition file
IF(IFRLIQ.GT.0) THEN
DO I=1,NSICLA
CBOR%ADR(I)%P%R(K)=CGL(IFRLIQ,AT)/XMVS
ENDDO
ENDIF
ENDIF
!
ENDDO
!
ENDIF
!
!
!
RETURN
END



Sisyphe boundary condition file



2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 9458 4862 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 9077 4863 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 8689 4864 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 8305 4865 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 7945 4866 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 7587 4867 #
4 5 5 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 7215 4868 # TeestaInlet (7215 - 5837)
4 5 5 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 6863 4869 # TeestaInlet (7215 - 5837)
4 5 5 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 6515 4870 # TeestaInlet (7215 - 5837)
4 5 5 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 6160 4871 # TeestaInlet (7215 - 5837)
4 5 5 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 5837 4872 # TeestaInlet (7215 - 5837)
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 5495 4873 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 5156 4874 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 4844 4875 #
2 2 2 0.000 0.000 0.000 0.000 2 0.000 0.000 0.000 4511 4876 #
The administrator has disabled public write access.
Moderators: Pablo, pavans

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