Welcome, Guest
Username: Password: Remember me

TOPIC: Prescribed layers on only part of the mesh?

Prescribed layers on only part of the mesh? 5 years 8 months ago #32969

  • SDAC
  • SDAC's Avatar
Hello all,

Is it possible to prescribe layers only on one part of the mesh?

Also, is it possible to prescribe a LAW OF FRICTION to only part of the mesh e.g. Nikuradse in one section, and Manning's in another?

I am modelling a channel and floodplain. I am prescribing layers in the channel (where I apply head losses) however the floodplain is dry and should be without these layers. The channel has Nikuradse's law, however I want Manning's on the floodplain (is there a conversion between the two?

For the layers, my current method results in the exceeding maximum iterations error. Currently I input the layer elevation in CALCOT.f and then set the layers only at the nodes where I want head losses (i.e. the channel nodes) in SOURCE:
DO I=1,SIZE(CHANNEL_NODES)
	 	DO IPLAN = NPLAN-33,NPLAN-30
			I3D = I+NPOIN2*(IPLAN-1)
				 IF  (IPLAN==(NPLAN-33))THEN
					AREFU = 1.6546D0
					AREFV = 1.9889D0
					AREFW = 13.8340D0
				 ENDIF

				 IF (IPLAN==(NPLAN-32))THEN
					AREFU = 12.0348D0
					AREFV = 15.0840D0
					AREFW = 77.5191D0
				 ENDIF

	NORM =SQRT(UN3%R(I3D)**2+VN3%R(I3D)**2+WN3%R(I3D)**2)
			S1U%R(I3D)=0.5D0*AREFU*CD*NORM
			S1V%R(I3D)=0.5D0*AREFV*CD*NORM
			S1W%R(I3D)=0.5D0*AREFW*CD*NORM
		END DO
	 END DO

Is this the correct way to do this? Is it possible to have layers only in the channel but not in the floodplain?

Many thanks!
The administrator has disabled public write access.

Prescribed layers on only part of the mesh? 5 years 8 months ago #32971

  • SDAC
  • SDAC's Avatar
For the layers I realised I had simply missed of a line to select the nodes from the mesh which matched those in the file for parallel:
DO I=1,SIZE(IDCH)
[b]         I1 = IDCH(I)
         IF (I1.NE.0) THEN[/b]
	 	DO IPLAN = NPLAN-33,NPLAN-30

It now works fine.

For the variable friction laws I can get Telemac to apply different laws to different nodes by editing COEFRO, however I noticed that in TFOND.F how the UETOIL ** 2 is computed for the solid boundaries is dependent on the friction regime, and it is different for Nikuradse or Strickler. To overcome this I did the below (changes below):
ELSEIF(KFROT.EQ.6) THEN
!
!         APPLIES LOG LAW AT THE FIRST PLANE TO DETERMINE U*
!         THE BOTTOM
[b]
          DO N=1,(FLOODPLAIN_NODES)[/b]
            UETCAR(N)=(U2D(N)**2+V2D(N)**2)*0.5D0*CF(N)
          ENDDO
!
       [b]   DO N=1,SIZE(CHANNEL_NODES)[/b]
!           TAKES INTO ACCOUNT CRUSHED PLANES
!           I1 FIRST POINT WITH WATER ABOVE (EXCEPT CASE OF TIDAL FLATS
!           WHERE THE LEVEL UNDER THE FREE SURFACE IS TAKEN)
            I1=(MIN(NPLAN-1,IPBOT(N)+1)-1)*NPOIN+N
            DIST  = Z(NPOIN+I1)-Z(I1)
            AUX=MAX(1.001D0,30.D0*DIST/RUGOF(N))
            UETCAR(N)=(KARMAN/LOG(AUX))**2
     &               * (U3D(I1+NPOIN)**2+V3D(I1+NPOIN)**2)
          ENDDO
!
        ELSE
!
          IF(LNG.EQ.1) WRITE(LU,402) KFROT
          IF(LNG.EQ.2) WRITE(LU,403) KFROT
402       FORMAT(1X,'TFOND : LOI DE FROTTEMENT INCONNUE : ',1I6)
403       FORMAT(1X,'TFOND : UNKNOWN LAW OF FRICTION : ',1I6)
          CALL PLANTE(1)
          STOP
!
        ENDIF

Does anyone know how prescribing the laws in such a way may cause any further issues within other Telemac routines, if at all?

Thanks!
The administrator has disabled public write access.
Moderators: pham

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