Difference between revisions of "Sediment Transport with Particle Tracking"

From TUFLOW FV Wiki
Jump to: navigation, search
(Particle Tracking)
 
(36 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<font size = 18><font color="red">Page Under Construction</font></font>
 
<br>
 
<br>
 
 
 
=Particle Tracking=
 
=Particle Tracking=
 
The TUFLOW Particle Tracking Module (PTM) allows the 2D or 3D simulation of discrete Lagrangian particles as they are transported by the flow field (or other drivers such as wind or waves). Particle behavior such as settling, buoyancy, decay, sedimentation and re-suspension can all be simulated. It can be run in conjunction with the sediment transport module to simulated the fate and age of sediment particles within the hydraulic model.
 
The TUFLOW Particle Tracking Module (PTM) allows the 2D or 3D simulation of discrete Lagrangian particles as they are transported by the flow field (or other drivers such as wind or waves). Particle behavior such as settling, buoyancy, decay, sedimentation and re-suspension can all be simulated. It can be run in conjunction with the sediment transport module to simulated the fate and age of sediment particles within the hydraulic model.
  
In this optional exercise we will take the existing FMA2_SED_003 model and add some particle tracking to track the input of particles.
+
In this optional exercise we will take the existing FMA2_SED_002 model and add some particle tracking to track the input of particles.
  
Copy and paste the existing FMA2_SED_003.fvsed file and rename as FMA2_SED_003a.fvsed.
+
Copy and paste the existing FMA2_SED_002.fvc file and rename as FMA2_SED_002a.fvc.
  
Under the Boundary Conditions Block add the following particle tracking block to reference a particle tracking file that we will generate.
+
Under the Sediment Files Block add the following particle tracking block to reference a particle tracking file that we will generate.
 
+
<font color="green">!_________________________________________________________________</font>
  <font color="green">!PARTICLE TRACKING INPUT</font>
+
  <font color="green">!PARTICLE TRACKING CONTROL FILE</font>
  <font color="blue"><tt>Particle Tracking Control File</tt></font><font color="red"><tt> ==</tt></font> FMA2_SED_003a.fvptm
+
  <font color="blue"><tt>Particle Tracking Control File</tt></font><font color="red"><tt> ==</tt></font> FMA2_SED_002a.fvptm <font color="green">!Reference to TUFLOW FV Particle Tracking Definition File</font>
  
 
In the output commands block, under the current specification for the XMDF file add the following block to output results to a netcdf file.  This will output hydraulic parameters, sediment transport parameters as well as results from the particle tracking module.
 
In the output commands block, under the current specification for the XMDF file add the following block to output results to a netcdf file.  This will output hydraulic parameters, sediment transport parameters as well as results from the particle tracking module.
  
  <font color="blue"><tt>output</tt></font><font color="red"><tt> ==</tt></font> netcdf
+
  <font color="blue"><tt>output</tt></font><font color="red"><tt> ==</tt></font> netcdf <font color="green">!NetCDF Format</font>
       <font color="blue"><tt>output parameters</tt></font><font color="red"><tt> ==</tt></font> h,v,d, Rhow, Taub, TauC, PTM_1, PTM_2, PTM_BED_2
+
       <font color="blue"><tt>output parameters</tt></font><font color="red"><tt> ==</tt></font> h,v,d, Rhow, Taub, TauC, PTM_1 <font color="green">!Map Output Results parameters</font>
       <font color="blue"><tt>output interval</tt></font><font color="red"><tt> ==</tt></font> 900.
+
       <font color="blue"><tt>output interval</tt></font><font color="red"><tt> ==</tt></font> 900. <font color="green">!Map Output Results Interval</font>
  <font color="blue"><tt>end output</tt></font>
+
  <font color="blue"><tt>end output</tt></font> <font color="green">!End output block</font>
  
 
Save and close the file.
 
Save and close the file.
  
Generate a new file called FMA2_SED_003a.fvptm.  This is where we will generate the characteristics of our particle tracking module.  We will use the same sediment characteristics that we have already applied to the sediment transport model.  Add the following commands
+
Generate a new file called FMA2_SED_002a.fvptm.  This is where we will generate the characteristics of our particle tracking module.  We will use the same sediment characteristics that we have already applied to the sediment transport model.  Add the following commands
  
  <font color="green">! PTM to assess fate of STP plume - TEST POLYGON SEEDING
+
  <font color="green">! PTM to assess fate of STP plume
 
  ! use nodestring definition from HD model to allow particles to leave model domain. </font>
 
  ! use nodestring definition from HD model to allow particles to leave model domain. </font>
  <font color="blue"><tt>Open boundary nodestring</tt></font><font color="red"><tt> ==</tt></font> 2  <font color="green"! downstream tidal boundary</font>
+
  <font color="blue"><tt>open boundary nodestring</tt></font><font color="red"><tt> ==</tt></font> 2  <font color="green">! downstream tidal boundary</font>
 
  <font color="green">!!TIME COMMANDS
 
  <font color="green">!!TIME COMMANDS
 
  !_________________________________________________________________</font>
 
  !_________________________________________________________________</font>
  <font color="blue"><tt>lagrangian timestep</tt></font><font color="red"><tt> ==</tt></font> 120. <font color="green">! seconds</font>
+
  <font color="blue"><tt>lagrangian timestep</tt></font><font color="red"><tt> ==</tt></font> 120. <font color="green">! Timestep for Lagrangian Calculations (s)</font>
  <font color="blue"><tt>eulerian timestep</tt></font><font color="red"><tt> ==</tt></font> 120. <font color="green">! seconds</font>
+
  <font color="blue"><tt>eulerian timestep</tt></font><font color="red"><tt> ==</tt></font> 120. <font color="green">! Timestep for Eulerian (s)</font>
 
  <font color="green">! Sediment Transport COMMANDS (required if a particle group interacts with bed)</font>
 
  <font color="green">! Sediment Transport COMMANDS (required if a particle group interacts with bed)</font>
  <font color="blue"><tt>bed roughness model</tt></font><font color="red"><tt> ==</tt></font> ks
+
  <font color="blue"><tt>bed roughness model</tt></font><font color="red"><tt> ==</tt></font> ks <font color="green">! Bed Roughness Model Specification (s)</font>
  <font color="blue"><tt>bed roughness parameters</tt></font><font color="red"><tt> ==</tt></font> 0.01,0.01 <font color="green">! ksc, ksw</font>
+
  <font color="blue"><tt>bed roughness parameters</tt></font><font color="red"><tt> ==</tt></font> 0.01,0.01 <font color="green">! Bed Roughness Model Parameters, ksc, ksw</font>
 
  <font color="green">!Global COMMANDS</font>
 
  <font color="green">!Global COMMANDS</font>
  <font color="blue"><tt>Nscalar</tt></font><font color="red"><tt> ==</tt></font> 1
+
  <font color="blue"><tt>Nscalar</tt></font><font color="red"><tt> ==</tt></font> 1 <font color="green">! Number of Mass Constituents attached to each particle</font>
 
  <font color="green">!PARTICLE GROUP COMMANDS </font>
 
  <font color="green">!PARTICLE GROUP COMMANDS </font>
 
  <font color="green">!_________________________________________________________________</font>
 
  <font color="green">!_________________________________________________________________</font>
  <font color="blue"><tt>Group</tt></font><font color="red"><tt> ==</tt></font> fineSed
+
  <font color="blue"><tt>Group</tt></font><font color="red"><tt> ==</tt></font> fineSed <font color="green">! Begin Particle Group Definition</font>
<font color="blue"><tt>d50</tt></font><font color="red"><tt> ==</tt></font> 0.000002
+
<font color="blue"><tt>d50</tt></font><font color="red"><tt> ==</tt></font> 0.0002 <font color="green">! Median Particle Size (m)</font>
      <font color="blue"><tt>particle density</tt></font><font color="red"><tt> ==</tt></font> 2650
+
       <font color="blue"><tt>particle density</tt></font><font color="red"><tt> ==</tt></font> 2650 <font color="green">! Particle Density (kg/m3)</font>
      <font color="blue"><tt>Settling model</tt></font><font color="red"><tt> ==</tt></font> constant
+
       <font color="blue"><tt>Settling model</tt></font><font color="red"><tt> ==</tt></font> constant <font color="green">! Settling model</font>
       <font color="blue"><tt>settling parameters</tt></font><font color="red"><tt> ==</tt></font> 0.0002 <font color="green">!(m/s)</font>
+
       <font color="blue"><tt>settling parameters</tt></font><font color="red"><tt> ==</tt></font> 0.026 <font color="green">! Settling Model Parameters-Settling Velocity(m/s)</font>
       <font color="blue"><tt>deposition model</tt></font><font color="red"><tt> ==</tt></font> ws0
+
      <font color="blue"><tt>deposition model</tt></font><font color="red"><tt> ==</tt></font> ws0 <font color="green">! Deposition Model</font>
      <font color="blue"><tt>Erosion Model</tt></font><font color="red"><tt> ==</tt></font> Mehta
+
       <font color="blue"><tt>Erosion Model</tt></font><font color="red"><tt> ==</tt></font> Mehta <font color="green">! Erosion Model</font>
       <font color="blue"><tt>Erosion parameters</tt></font><font color="red"><tt> ==</tt></font> 0.1, 0.5, 0.5 <font color="green">!Er, taucr, alpha</font>
+
       <font color="blue"><tt>Erosion parameters</tt></font><font color="red"><tt> ==</tt></font> 1.3, 0.2, 1.5 <font color="green">! Erosion Model Parameters-Er, taucr, alpha</font>
<font color="blue"><tt>End Group</tt></font>
+
       <font color="blue"><tt>initial scalar mass</tt></font><font color="red"><tt> ==</tt></font> 10000 <font color="green">! Initial Mass of Individual Particles (g)</font>
<font color="blue"><tt>Group</tt></font><font color="red"><tt> ==</tt></font> Gravel
+
<font color="blue"><tt>End Group</tt></font> <font color="green">! End Particle Group Definition</font>
      <font color="blue"><tt>d50</tt></font><font color="red"><tt> ==</tt></font> 0.032
+
       <font color="blue"><tt>particle density</tt></font><font color="red"><tt> ==</tt></font> 2650
+
      <font color="blue"><tt>Settling model</tt></font><font color="red"><tt> ==</tt></font> constant
+
       <font color="blue"><tt>settling parameters</tt></font><font color="red"><tt> ==</tt></font> 0.6 <font color="green">!(m/s)</font>
+
       <font color="blue"><tt>Critical stress model</tt></font><font color="red"><tt> ==</tt></font> Soulsby
+
      <font color="blue"><tt>Bed load model</tt></font><font color="red"><tt> ==</tt></font> MPM_Shimizu
+
      <font color="blue"><tt>Bed load parameters</tt></font><font color="red"><tt> ==</tt></font> 8.0, -1 ,1.5
+
<font color="blue"><tt>End Group</tt></font>
+
 
  <font color="green">!_________________________________________________________________</font>
 
  <font color="green">!_________________________________________________________________</font>
 
  <font color="green">! This is required due to adding deposition and settling.</font>
 
  <font color="green">! This is required due to adding deposition and settling.</font>
  <font color="blue"><tt>Material</tt></font><font color="red"><tt> ==</tt></font> 0
+
  <font color="blue"><tt>Material</tt></font><font color="red"><tt> ==</tt></font> 0 <font color="green">! Default Material Definition</font>
       <font color="blue"><tt>Layer</tt></font><font color="red"><tt> ==</tt></font> 1
+
       <font color="blue"><tt>Layer</tt></font><font color="red"><tt> ==</tt></font> 1 <font color="green">! Number of Bed Layers</font>
             <font color="blue"><tt>dry density</tt></font><font color="red"><tt> == </tt></font>1890.,1890
+
             <font color="blue"><tt>dry density</tt></font><font color="red"><tt> == </tt></font>1890.,1890 <font color="green">! Dry Density of Sediment in bed Layer (Kg/m3)</font>
       <font color="blue"><tt>End layer</tt></font>
+
       <font color="blue"><tt>End layer</tt></font> <font color="green">! End Layer Definition</font>
  <font color="blue"><tt>end material</tt></font>
+
  <font color="blue"><tt>end material</tt></font> <font color="green">! End Material Definition</font>
  <font color="green">!Upstream</font>
+
  <font color="green">!Upstream</font> <font color="green"> Particle Seed Location</font>
  <font color="blue"><tt>seed particles</tt></font><font color="red"><tt> ==</tt></font> point,  10796.514,8285.014
+
  <font color="blue"><tt>seed particles</tt></font><font color="red"><tt> ==</tt></font> point,  10608,10859 <font color="green">! Particle Seed Definition, point and X,Y Coordinates</font>
       <font color="blue"><tt>particle groups</tt></font><font color="red"><tt> ==</tt></font> fineSed, Gravel
+
       <font color="blue"><tt>particle groups</tt></font><font color="red"><tt> ==</tt></font> fineSed <font color="green">! Particle Seed Group</font>
       <font color="blue"><tt>group mass</tt></font><font color="red"><tt> ==</tt></font> 100,100
+
       <font color="blue"><tt>timeseries file</tt></font><font color="red"><tt> ==</tt></font> ..\bc_dbase\sediment.csv <font color="green">! Particle Seed Timeseries File</font>
  <font color="blue"><tt>end seed</tt></font>
+
      <font color="blue"><tt>timeseries header</tt></font><font color="red"><tt> ==</tt></font> Date,fineSed <font color="green">! Particle Seed Headings</font>
 +
  <font color="blue"><tt>end seed</tt></font> <font color="green">! End Particle Seed Definition</font>
 
  <font color="green">! OUTPUT SETTINGS</font>
 
  <font color="green">! OUTPUT SETTINGS</font>
  <font color="green"!>_________________________________________________________________</font>
+
  <font color="green">!_________________________________________________________________</font>
  <font color="blue"><tt>output dir</tt></font><font color="red"><tt> ==</tt></font> ..\results\
+
  <font color="blue"><tt>output dir</tt></font><font color="red"><tt> ==</tt></font> ..\results\ <font color="green">! Particle Results Output Directory</font>
  <font color="blue"><tt>output</tt></font><font color="red"><tt> ==</tt></font> ptm_netcdf
+
  <font color="blue"><tt>output</tt></font><font color="red"><tt> ==</tt></font> ptm_netcdf <font color="green">! Particle Results Output Format</font>
       <font color="blue"><tt>output groups</tt></font><font color="red"><tt> ==</tt></font> all
+
       <font color="blue"><tt>output groups</tt></font><font color="red"><tt> ==</tt></font> all <font color="green">! Particle Group to Output Results For</font>
       <font color="blue"><tt>output parameters</tt></font><font color="red"><tt> ==</tt></font> age, state_age, mass, uvw, uvw_water, depth, water_depth
+
       <font color="blue"><tt>output parameters</tt></font><font color="red"><tt> ==</tt></font> age, state_age, mass, uvw, uvw_water, depth, water_depth <font color="green">! Particle Results Output Parameters</font>
       <font color="blue"><tt>output interval</tt></font><font color="red"><tt> ==</tt></font> 300.
+
       <font color="blue"><tt>output interval</tt></font><font color="red"><tt> ==</tt></font> 900. <font color="green">! Particle Results Output Interval (s)</font>
  <font color="blue"><tt>end output</tt></font>
+
  <font color="blue"><tt>end output</tt></font> <font color="green">! End Particle Output Definition Block</font>
  
We will use the same FMA2_SED_003.fvsed file.
+
Save and close the file.
  
Update the batch file and run FMA2_SED_003.fvc.
+
We will use the same FMA2_SED_002.fvsed file as the original model with no particle tracking functionality..
 +
 
 +
Copy and paste the Sediment.csv from the Module folder to the bc_dbase folder.  This contains the time series flux for the fine sediment group with a value of 1000g/s.
 +
 
 +
[[File:Sediment PT.PNG]]
 +
 
 +
The number of particles per second is equal to:-
 +
 
 +
Time Series Mass (g/s)/Initial Scalar Mass (g)
 +
 
 +
The initial scalar mass defined in our particle group settings is 1000g. Therefore the number of particles released per second is:-
 +
 
 +
1000/10000=0.1 particles per second. Over the 10 hour release period, this equates to 3600 particles being released in total.
 +
 
 +
Update the batch file and run FMA2_SED_002a.fvc.  Once the simulation is complete, use the instructions below to review the particle tracking outputs:-
 +
 
 +
*[https://fvwiki.tuflow.com/index.php?title=Tutorial_Module06#Reviewing_Eulerian_Results_in_QGIS| Review Eulerian Particle Tracking Results]
 +
*[https://fvwiki.tuflow.com/index.php?title=Tutorial_Module06#Reviewing_Lagrangian_Results_in_QGIS| Review Lagrangian Particle Tracking Results]
 +
 
 +
Plot and animate the particles against the Net Sediment Rate map we generated [https://fvwiki.tuflow.com/index.php?title=Tutorial_Module07#Erosion_Results_Analysis| here].  You'll see that the particles are transported downstream (blue particles) before being deposited in the bed (brown particles) or are deposited on areas which subsequently become dry (yellow particles).  The particle tracking module provides additional information to the sediment transport module and provides a different aspect of analysis of sediment transport which is useful for assessing contaminated sediments amongst others.
 +
 
 +
[[File:FMA002 PTa.gif]]
 +
 
 +
<br>
 +
You have now completed the particle tracking sediment transport example.
 +
Return to the [[Tutorial_Module07#Bedload_Transport_and_Additional_Sediment_Fractions | Sediment Transport Tutorial]] to follow the next steps.

Latest revision as of 03:09, 8 June 2021

Particle Tracking

The TUFLOW Particle Tracking Module (PTM) allows the 2D or 3D simulation of discrete Lagrangian particles as they are transported by the flow field (or other drivers such as wind or waves). Particle behavior such as settling, buoyancy, decay, sedimentation and re-suspension can all be simulated. It can be run in conjunction with the sediment transport module to simulated the fate and age of sediment particles within the hydraulic model.

In this optional exercise we will take the existing FMA2_SED_002 model and add some particle tracking to track the input of particles.

Copy and paste the existing FMA2_SED_002.fvc file and rename as FMA2_SED_002a.fvc.

Under the Sediment Files Block add the following particle tracking block to reference a particle tracking file that we will generate.

!_________________________________________________________________
!PARTICLE TRACKING CONTROL FILE
Particle Tracking Control File == FMA2_SED_002a.fvptm	!Reference to TUFLOW FV Particle Tracking Definition File

In the output commands block, under the current specification for the XMDF file add the following block to output results to a netcdf file. This will output hydraulic parameters, sediment transport parameters as well as results from the particle tracking module.

output == netcdf !NetCDF Format
      output parameters == h,v,d, Rhow, Taub, TauC, PTM_1 !Map Output Results parameters
      output interval == 900. !Map Output Results Interval
end output !End output block

Save and close the file.

Generate a new file called FMA2_SED_002a.fvptm. This is where we will generate the characteristics of our particle tracking module. We will use the same sediment characteristics that we have already applied to the sediment transport model. Add the following commands

! PTM to assess fate of STP plume
! use nodestring definition from HD model to allow particles to leave model domain. 
open boundary nodestring == 2  ! downstream tidal boundary
!!TIME COMMANDS
!_________________________________________________________________
lagrangian timestep == 120. ! Timestep for Lagrangian Calculations (s)
eulerian timestep == 120. ! Timestep for Eulerian (s)
! Sediment Transport COMMANDS (required if a particle group interacts with bed)
bed roughness model == ks ! Bed Roughness Model Specification (s)
bed roughness parameters == 0.01,0.01	! Bed Roughness Model Parameters, ksc, ksw
!Global COMMANDS
Nscalar == 1 ! Number of Mass Constituents attached to each particle
!PARTICLE GROUP COMMANDS 
!_________________________________________________________________
Group == fineSed ! Begin Particle Group Definition
d50 == 0.0002 ! Median Particle Size (m)
      particle density == 2650 ! Particle Density (kg/m3)
      Settling model == constant ! Settling model
      settling parameters == 0.026 ! Settling Model Parameters-Settling Velocity(m/s)
      deposition model == ws0 ! Deposition Model
      Erosion Model == Mehta ! Erosion Model
      Erosion parameters == 1.3, 0.2, 1.5 ! Erosion Model Parameters-Er, taucr, alpha
      initial scalar mass == 10000 ! Initial Mass of Individual Particles (g)
End Group ! End Particle Group Definition
!_________________________________________________________________
! This is required due to adding deposition and settling.
Material == 0 ! Default Material Definition
      Layer == 1 ! Number of Bed Layers
            dry density == 1890.,1890	 ! Dry Density of Sediment in bed Layer (Kg/m3)
      End layer ! End Layer Definition
end material ! End Material Definition
!Upstream  Particle Seed Location
seed particles == point,  10608,10859 ! Particle Seed Definition, point and X,Y Coordinates
      particle groups == fineSed ! Particle Seed Group
      timeseries file ==  ..\bc_dbase\sediment.csv ! Particle Seed Timeseries File
      timeseries header == Date,fineSed ! Particle Seed Headings
end seed ! End Particle Seed Definition
! OUTPUT SETTINGS
!_________________________________________________________________
output dir == ..\results\ ! Particle Results Output Directory
output == ptm_netcdf ! Particle Results Output Format
      output groups == all ! Particle Group to Output Results For
      output parameters == age, state_age, mass, uvw, uvw_water, depth, water_depth ! Particle Results Output Parameters
      output interval == 900. ! Particle Results Output Interval (s)
end output ! End Particle Output Definition Block

Save and close the file.

We will use the same FMA2_SED_002.fvsed file as the original model with no particle tracking functionality..

Copy and paste the Sediment.csv from the Module folder to the bc_dbase folder. This contains the time series flux for the fine sediment group with a value of 1000g/s.

Sediment PT.PNG

The number of particles per second is equal to:-

Time Series Mass (g/s)/Initial Scalar Mass (g)

The initial scalar mass defined in our particle group settings is 1000g. Therefore the number of particles released per second is:-

1000/10000=0.1 particles per second. Over the 10 hour release period, this equates to 3600 particles being released in total.

Update the batch file and run FMA2_SED_002a.fvc. Once the simulation is complete, use the instructions below to review the particle tracking outputs:-

Plot and animate the particles against the Net Sediment Rate map we generated here. You'll see that the particles are transported downstream (blue particles) before being deposited in the bed (brown particles) or are deposited on areas which subsequently become dry (yellow particles). The particle tracking module provides additional information to the sediment transport module and provides a different aspect of analysis of sediment transport which is useful for assessing contaminated sediments amongst others.

FMA002 PTa.gif


You have now completed the particle tracking sediment transport example. Return to the Sediment Transport Tutorial to follow the next steps.