Well, I finally figured it out, TELEMAC uses the dimensional version of the Chezy friction factor.
C = c (g)^1/2
Now my calibration for normal flow is going much smoother.
This blog is my personal notes while conducting research for my PHD. My research interests are sediment transport and morphological evolution that occurs during dam break flows.
Thursday, June 30, 2011
1-D Modelling - Sanity Check
Been having problems trying to calibrate the TELEMAC models, both the flat and dune geometry to achieve normal flow depth. The models appear to become unstable as they approach the normal depth. I checked that it was not a problem with the new princi.f file that I developed last week (basically ran the hotstart for a long time - still crashed).
I decided to do a quick 1-D model for comparison and as a sanity check. I know that for my model - Bed Slope = 1/600, D=1mm, Q=0.0455 cms and w=0.76m, I should get a normal depth of around 9.5cm using the Chezy equation. I set up a model in HEC-RAS to verify that I should be getting 9.5cm as my normal depth. In short - yes - after a couple of runs (adjusting mannings n against my Chezy c - which has to be done iteratively) the final normal depth was 10cm. (Note I do not think that HEC-RAS reports the depth any finer than the nearest cm). The plot is shown below. There are several profiles - the normal profile is the lowest set of lines (Profile 4).
I decided to do a quick 1-D model for comparison and as a sanity check. I know that for my model - Bed Slope = 1/600, D=1mm, Q=0.0455 cms and w=0.76m, I should get a normal depth of around 9.5cm using the Chezy equation. I set up a model in HEC-RAS to verify that I should be getting 9.5cm as my normal depth. In short - yes - after a couple of runs (adjusting mannings n against my Chezy c - which has to be done iteratively) the final normal depth was 10cm. (Note I do not think that HEC-RAS reports the depth any finer than the nearest cm). The plot is shown below. There are several profiles - the normal profile is the lowest set of lines (Profile 4).
The tabular results for the normal flow are shown below.
Friday, June 24, 2011
Schematic of Flow Over a Dune
This is from Best (2005), a great schematic of fluid flow over a dune.
Best, J. (2005). The fluid dynamics of river dunes: A review and some future research directions. Journal of Geophysical Research, 110(F4), 1-21. doi: 10.1029/2004JF000218.
Best, J. (2005). The fluid dynamics of river dunes: A review and some future research directions. Journal of Geophysical Research, 110(F4), 1-21. doi: 10.1029/2004JF000218.
- A region of flow separation is formed in the lee of the dune, with reattachment occurring approximately 4–6 dune heights down- stream of the crest.
- A shear layer is generated bounding the separation zone, which divides this recirculating flow from the free stream fluid above; large-scale turbulence is generated in the form of Kelvin-Helmholtz instabilities along this shear layer, and as the free shear expands, it creates a wake zone that grows and dissipates downstream. A third region is one of expanding flow in the dune leeside.
- Downstream of the region of reattachment, a new internal boundary layer grows as flow reestablishes itself and develops a more logarithmic velocity profile.
- Maximum horizontal velocity occurs over the dune crest and bed shear stresses here may be sufficient to generate upper stage plane bed conditions: the exact nature of flow here will determine the rate and periodicity of sediment supply to the dune leeside and hence the nature of sediment sorting in the deposits of the leeside.
Programming the Initial Conditions in Telemac
The current project that I am working in involves looking at the vertical velocity profiles along a dune. By default Telemac3D creates equally spaced vertical layers from your model. This is not really desirable as one generally wants a greater density of vertical layers near the bottom where the velocity profile changes rapidly and fewer near the free surface to save computational time. Telemac3D does allow you to specify the vertical profiles however you must do so programmatically - by creating a princi.f file and writing your own CONDMIN subroutine to initialize the initial conditions. After playing around with this I found a good example of the princi.f file with the examples and was able to modify it as required.
TELEMAC 3D uses a sigma transformation for the z or vertical access which means that at each point on the mesh z* = z/Zmax. This means that we specify our height from the bottom using values between 0 and 1.
!-----------------------------------------------------------------------
!
! INITIALISATION OF ZSTAR, VERTICAL COORDINATE
! IN SIGMA TRANSFORMATION
!
! CASE WITHOUT REFERENCE PLANE
! ----------------------------
!
! ONE MUST HAVE :
!
! * ZSTAR%R(1) = 0.D0 ( BOTTOM PLANE )
! * ZSTAR%R(NPLAN) = 1.D0 ( FREE SURFACE PLANE )
!
! AND FOR ALL I BETWEEN 1 AND NPLAN-1
!
! * ZSTAR%R(I) < ZSTAR%R(I+1)
!
! CASE WITH REFERENCE PLANE
! -------------------------
!
! ONE MUST HAVE :
!
! * ZSTAR%R(1) = -1.D0 ( BOTTOM PLANE )
! * ZSTAR%R(NPLINT) = 0.D0 ( REFERENCE PLANE )
! * ZSTAR%R(NPLAN) = 1.D0 ( FREE SURFACE PLANE )
!
! AND FOR ALL I BETWEEN 1 AND NPLAN-1
!
! * ZSTAR%R(I) < ZSTAR%R(I+1)
!
! STANDARD IS: EVENLY SPACED PLANES
!
! IF NO REFERENCE PLANE : NPLINT = 1
!
! TRANSF IS KEY-WORD "MESH TRANSFORMATION"
WRITE(lu,*) 'TRANSF IS KEY-WORD "MESH TRANSFORMATION"'
!
IF(TRANSF.EQ.2) THEN
WRITE(LU,*)
IF(LNG.EQ.1) THEN
WRITE(LU,*) 'AVEC TRANSFORMATION DU MAILLAGE = 2'
WRITE(LU,*) 'DONNER DANS CONDIM LES VALEURS DE ZSTAR'
ENDIF
IF(LNG.EQ.2) THEN
WRITE(LU,*) 'WITH MESH TRANSFORMATION = 2'
WRITE(LU,*) 'GIVE THE VALUES OF ZSTAR IN CONDIM'
ENDIF
WRITE(LU,*)
! CALL PLANTE(1)
! STOP
! EXAMPLE WITH 3 PLANES
ZSTAR%R(1)=0.D0
ZSTAR%R(2)=0.01D0
ZSTAR%R(3)=0.03D0
ZSTAR%R(4)=0.05D0
ZSTAR%R(5)=0.07D0
ZSTAR%R(6)=0.09D0
ZSTAR%R(7)=0.11D0
ZSTAR%R(8)=0.13D0
ZSTAR%R(9)=0.15D0
ZSTAR%R(10)=0.25D0
ZSTAR%R(11)=0.368D0
ZSTAR%R(12)=0.5D0
ZSTAR%R(13)=0.75D0
ZSTAR%R(14)=1.D0
ELSEIF(TRANSF.EQ.3) THEN
IF(NPLINT.GE.2) THEN
DO IPLAN = 1,NPLINT-1
ZSTAR%R(IPLAN) = DBLE(IPLAN-NPLINT)/DBLE(NPLINT-1)
ENDDO
ENDIF
DO IPLAN = NPLINT,NPLAN
ZSTAR%R(IPLAN) = DBLE(IPLAN-NPLINT)/DBLE(NPLAN-NPLINT)
ENDDO
ELSEIF(TRANSF.EQ.4) THEN
WRITE(LU,*)
IF(LNG.EQ.1) THEN
WRITE(LU,*) 'AVEC TRANSFORMATION DU MAILLAGE = 4'
WRITE(LU,*) 'DONNER DANS CONDIM LES VALEURS DE ZSTAR'
WRITE(LU,*) 'COTES REELLES SOOUHAITEES DES PLANS'
ENDIF
IF(LNG.EQ.2) THEN
WRITE(LU,*) 'WITH MESH TRANSFORMATION = 4'
WRITE(LU,*) 'GIVE THE VALUES OF ZSTAR IN CONDIM'
WRITE(LU,*) 'REAL ELEVATION OF PLANES'
ENDIF
WRITE(LU,*)
CALL PLANTE(1)
STOP
! EXAMPLE WITH 4 PLANES
! ZSTAR%R(1)=-10.D0
! ZSTAR%R(2)=-9.D0
! ZSTAR%R(3)=-8.D0
! ZSTAR%R(4)=-7.D0
ELSE
! SIGMA TRANSFORMATION AND OTHER CASES
DO IPLAN = 1,NPLAN
ZSTAR%R(IPLAN) = DBLE(IPLAN-1)/DBLE(NPLAN-1)
ENDDO
ENDIF
TELEMAC 3D uses a sigma transformation for the z or vertical access which means that at each point on the mesh z* = z/Zmax. This means that we specify our height from the bottom using values between 0 and 1.
!-----------------------------------------------------------------------
!
! INITIALISATION OF ZSTAR, VERTICAL COORDINATE
! IN SIGMA TRANSFORMATION
!
! CASE WITHOUT REFERENCE PLANE
! ----------------------------
!
! ONE MUST HAVE :
!
! * ZSTAR%R(1) = 0.D0 ( BOTTOM PLANE )
! * ZSTAR%R(NPLAN) = 1.D0 ( FREE SURFACE PLANE )
!
! AND FOR ALL I BETWEEN 1 AND NPLAN-1
!
! * ZSTAR%R(I) < ZSTAR%R(I+1)
!
! CASE WITH REFERENCE PLANE
! -------------------------
!
! ONE MUST HAVE :
!
! * ZSTAR%R(1) = -1.D0 ( BOTTOM PLANE )
! * ZSTAR%R(NPLINT) = 0.D0 ( REFERENCE PLANE )
! * ZSTAR%R(NPLAN) = 1.D0 ( FREE SURFACE PLANE )
!
! AND FOR ALL I BETWEEN 1 AND NPLAN-1
!
! * ZSTAR%R(I) < ZSTAR%R(I+1)
!
! STANDARD IS: EVENLY SPACED PLANES
!
! IF NO REFERENCE PLANE : NPLINT = 1
!
! TRANSF IS KEY-WORD "MESH TRANSFORMATION"
WRITE(lu,*) 'TRANSF IS KEY-WORD "MESH TRANSFORMATION"'
!
IF(TRANSF.EQ.2) THEN
WRITE(LU,*)
IF(LNG.EQ.1) THEN
WRITE(LU,*) 'AVEC TRANSFORMATION DU MAILLAGE = 2'
WRITE(LU,*) 'DONNER DANS CONDIM LES VALEURS DE ZSTAR'
ENDIF
IF(LNG.EQ.2) THEN
WRITE(LU,*) 'WITH MESH TRANSFORMATION = 2'
WRITE(LU,*) 'GIVE THE VALUES OF ZSTAR IN CONDIM'
ENDIF
WRITE(LU,*)
! CALL PLANTE(1)
! STOP
! EXAMPLE WITH 3 PLANES
ZSTAR%R(1)=0.D0
ZSTAR%R(2)=0.01D0
ZSTAR%R(3)=0.03D0
ZSTAR%R(4)=0.05D0
ZSTAR%R(5)=0.07D0
ZSTAR%R(6)=0.09D0
ZSTAR%R(7)=0.11D0
ZSTAR%R(8)=0.13D0
ZSTAR%R(9)=0.15D0
ZSTAR%R(10)=0.25D0
ZSTAR%R(11)=0.368D0
ZSTAR%R(12)=0.5D0
ZSTAR%R(13)=0.75D0
ZSTAR%R(14)=1.D0
ELSEIF(TRANSF.EQ.3) THEN
IF(NPLINT.GE.2) THEN
DO IPLAN = 1,NPLINT-1
ZSTAR%R(IPLAN) = DBLE(IPLAN-NPLINT)/DBLE(NPLINT-1)
ENDDO
ENDIF
DO IPLAN = NPLINT,NPLAN
ZSTAR%R(IPLAN) = DBLE(IPLAN-NPLINT)/DBLE(NPLAN-NPLINT)
ENDDO
ELSEIF(TRANSF.EQ.4) THEN
WRITE(LU,*)
IF(LNG.EQ.1) THEN
WRITE(LU,*) 'AVEC TRANSFORMATION DU MAILLAGE = 4'
WRITE(LU,*) 'DONNER DANS CONDIM LES VALEURS DE ZSTAR'
WRITE(LU,*) 'COTES REELLES SOOUHAITEES DES PLANS'
ENDIF
IF(LNG.EQ.2) THEN
WRITE(LU,*) 'WITH MESH TRANSFORMATION = 4'
WRITE(LU,*) 'GIVE THE VALUES OF ZSTAR IN CONDIM'
WRITE(LU,*) 'REAL ELEVATION OF PLANES'
ENDIF
WRITE(LU,*)
CALL PLANTE(1)
STOP
! EXAMPLE WITH 4 PLANES
! ZSTAR%R(1)=-10.D0
! ZSTAR%R(2)=-9.D0
! ZSTAR%R(3)=-8.D0
! ZSTAR%R(4)=-7.D0
ELSE
! SIGMA TRANSFORMATION AND OTHER CASES
DO IPLAN = 1,NPLAN
ZSTAR%R(IPLAN) = DBLE(IPLAN-1)/DBLE(NPLAN-1)
ENDDO
ENDIF
Sunday, June 19, 2011
Extracting a Profile From Blue Kenue
It is fairly easy to extract profiles along a line from Blue Kenue. For example, while setting up my flume models I needed to check the water depth to ensure that the flow was uniform along the length of the domain. First thing I did was digitize a line where I wanted to extract the profile. Once completed, I right-click the line in the Workspace menu and select Resample. Resampling will add verticies along the line, where the values will be extracted from the surface you are profiling. For my case I selected 10cm. This creates a new line subset.
As I was interested in checking the flow depth, I generated an average depth from the water depth profile. This was done by selecting the water depth in the Workspace menu, selecting Tools/ExtractSurface/Temporal Means.
Once you have prepared your surface, select the resampled line and select Tools/Map Object and select the surface you are interested. This will generate a 3D Line Set which can be plotted in Blue Kenue or saved and opened in Excel.
As I was interested in checking the flow depth, I generated an average depth from the water depth profile. This was done by selecting the water depth in the Workspace menu, selecting Tools/ExtractSurface/Temporal Means.
Once you have prepared your surface, select the resampled line and select Tools/Map Object and select the surface you are interested. This will generate a 3D Line Set which can be plotted in Blue Kenue or saved and opened in Excel.
Thursday, June 16, 2011
Meeting Notes
Based on the initial modelling of the A3DOWN bed forms in Telemac 2D and 3D, I am going to start again using a much more controlled approach. First I will create a flat bed with a small slope and try to get uniform flow. Next I will create a set of periodic dunes, taking the best dune from the A3DOWN and repeating it approximately 12 times with the same slope as my previous flat bed experiment. Both these will be run in Telemac 2d and 3d.
Issues to Resolve and Actions
Issues to Resolve and Actions
- Vertical layers in Telemac 3D - is it possible to change the distribution of the vertical layers so that the mesh is finer near the bed surface.
- Extraction of vertical/longitudinal profiles- will need to find a nice way to extract from Blue Kenue and plot in either EXCEL or R.
- Read up on papers for people doing similar work.
Thursday, June 9, 2011
Telemac Modelling Notes
This weekend I worked with the 2D Flume models and explored using the different turbulence models (see pg 39 in Telemac manual for explanation). These models all use the hotstart (cas_hotstat.txt) result and run for 2 minutes.
- cas_flume_default.txt – no turbulence model specified
- cas_flume2_turb-1.txt – constant viscosity model specified
- cas_flume2_turb-2.txt – Elder model
- cas_flume2_turb-3-k-e.txt – K-Epsilon Model
Did not focus on the Elder model and the model did not run correctly. Was trying to determine the difference between the default (no turbulence set) and the constant viscosity model. I assume that these should be the same.
Was able to extract the shear velocity and the bed shear using Telemac and Blue Kenue. The shear velocity can be output by telemac using the variable, US.:
VARIABLES FOR GRAPHIC PRINTOUTS ='U,V,H,S,B,US'From that you can calculate the bed shear in Blue Kenue using the calculator.:
1000 * A^2Parameters for 1mm grain:
Material Number: 25.296
Ycr: 0.037
v*cr: 0.024 m/s
tcr: 0.598 N/m2
Material Number: 25.296
Ycr: 0.037
v*cr: 0.024 m/s
tcr: 0.598 N/m2
Subscribe to:
Posts (Atom)



