Template:Gravity Waves Time Step: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 2: Line 2:
__NOTOC__
__NOTOC__
===Gravity Waves Time Step===
===Gravity Waves Time Step===
The time step tool is intended to assist in the selection of a time step for a numerical simulation that is based on the Courant number calculation. This tool can be thought of as the inverse of the Gravity Courant Number tool. Refer to that documentation of the Gravity Courant Number tool for clarification. The objective of this tool is to compute the time step that would result in the specified Courant number for the given mesh and velocity field. The user would then select a time step for analysis that is at least as large as the maximum value in the resulting times step dataset.  
The time step tool is intended to assist in the selection of a time step for a numerical simulation that is based on the Courant limited calculations.  
This tool can be thought of as the inverse of the ''Gravity Courant Number'' tool. Refer to that documentation of the ''Gravity Courant Number'' tool for clarification.  
The objective of this tool is to compute the time step that would result in the specified Courant number for the given mesh (at each node or location in the mesh).
The user would then select a time step for analysis that is smaller than the minimum value in the resulting times step dataset. (I.E. the minimum timestep for any node in the mesh controls the computation time step for the simulation.)


Note: the variable here is depth, not elevation. For applications relative to mean sea level, using the negative of the elevation relative to a datum is acceptable, but if the water level will vary, the depth is actually the water level minus the ground elevation
The equation used to compute the timestep is shown below:
:<math>{\displaystyle TimeStep=CourantNumber*NodalSpacing/(Gravity*Depth)^{0.5}}</math>
:<math>{\displaystyle TimeStep=CourantNumber*NodalSpacing/Velocity}</math>
:*Time Step: the value computed at each location in the mesh/grid.
:*Courant Number: user specified numerical limiting value
:*Velocity: speed (celerity) of a gravity wave traveling through the medium
:*NodalSpacing: Average length of the edges connected to each node of the candidate grid/mesh (converted to meters if working in geographic coordinates)


Typically, the Courant number specified for this computation is <= 1.0 for Courant limited solvers. Some solvers maintain stability for Courant numbers up to 2 or some solver specific threshold. Specifying a Courant number below the maximum threshold can increase stability since the computation is approximate.
Typically, the Courant number specified for this computation is <= 1.0 for Courant limited solvers. Some solvers maintain stability for Courant numbers up to 2 or some solver specific threshold. Specifying a Courant number below the maximum threshold can increase stability since the computation is approximate.
This tool approximates velocity based on the speed of a gravity wave through the water column. Which is dependent on the depth of the water column. For purposes of this tool, the speed is assumed to be:
:<math>Velocity = (Gravity*Depth)^{0.5}</math>
:Note: the variable in the equation above is "Depth", not "Elevation". For this tool, the input dataset can be the elevation or a computed depth. If an elevation is used, the sign is inverted because SMS convention is elevation up.
Since the equation for velocity requires a positive value for depth, the depth is forced to be at least 0.1 for the calculation. If the input dataset is elevation, the depth used for computation of the time step is:
:<math>Applied Depth = Max(-Elevation, 0.1)</math>
If the input dataset is depth, the depth used for computation of the time step is:
:<math>Applied Depth = Max(Depth, 0.1)</math>
This is assuming that the water level is approximately 0.0 (Mean Sea Level).
If the water level is not relatively flat or not near 0.0, the best practice approach would be to compute a depth and use that dataset directly. Depth can be computed as:
:<math>Depth = Eta - Ground Elevation</math>
:*Eta: water surface elevation (usually computed by a hydrodynamic model).
In SMS, both of these are measured from a common datum with positive upwards.
 
The tool computes the time step at each node in the selected geometry based on the specified Courant Number.
If the input velocity magnitude dataset is transient, the resulting Time step dataset will also be transient.


The ''Gravity Waves Time Step'' tool dialog has the following options:
The ''Gravity Waves Time Step'' tool dialog has the following options:
Line 13: Line 42:
*''Input dataset'' &ndash; Specify the elevation dataset (or depth dataset if using depth option).
*''Input dataset'' &ndash; Specify the elevation dataset (or depth dataset if using depth option).
*''Input dataset is depth'' &ndash; Specify Specify if the input dataset is depth.
*''Input dataset is depth'' &ndash; Specify Specify if the input dataset is depth.
*''Gravity'' &ndash; Enter the gravity value.  
*''Gravity'' &ndash; Enter the gravity value in m/s&sup2;. Default is 9.80665.
*''Use courant number'' &ndash; Enter the Courant number.
*''Use courant number'' &ndash; Enter the Courant number. Default is 1.0.


====Output Parameters====
====Output Parameters====
*''Gravity waves time step dataset'' &ndash;  Enter the name for the new gravity wave time step dataset.
*''Gravity waves time step dataset'' &ndash;  Enter the name for the new gravity wave time step dataset. It is recommended to specify a name that references the input. Typically this would include the Courant number used in the calculation. The velocity dataset used could be referenced. The geometry is not necessary because the dataset resides on that geometry.


====Related Topics====
====Related Topics====

Latest revision as of 14:57, 1 July 2024


Gravity Waves Time Step

The time step tool is intended to assist in the selection of a time step for a numerical simulation that is based on the Courant limited calculations. This tool can be thought of as the inverse of the Gravity Courant Number tool. Refer to that documentation of the Gravity Courant Number tool for clarification. The objective of this tool is to compute the time step that would result in the specified Courant number for the given mesh (at each node or location in the mesh). The user would then select a time step for analysis that is smaller than the minimum value in the resulting times step dataset. (I.E. the minimum timestep for any node in the mesh controls the computation time step for the simulation.)

The equation used to compute the timestep is shown below:

  • Time Step: the value computed at each location in the mesh/grid.
  • Courant Number: user specified numerical limiting value
  • Velocity: speed (celerity) of a gravity wave traveling through the medium
  • NodalSpacing: Average length of the edges connected to each node of the candidate grid/mesh (converted to meters if working in geographic coordinates)

Typically, the Courant number specified for this computation is <= 1.0 for Courant limited solvers. Some solvers maintain stability for Courant numbers up to 2 or some solver specific threshold. Specifying a Courant number below the maximum threshold can increase stability since the computation is approximate.

This tool approximates velocity based on the speed of a gravity wave through the water column. Which is dependent on the depth of the water column. For purposes of this tool, the speed is assumed to be:

Note: the variable in the equation above is "Depth", not "Elevation". For this tool, the input dataset can be the elevation or a computed depth. If an elevation is used, the sign is inverted because SMS convention is elevation up.

Since the equation for velocity requires a positive value for depth, the depth is forced to be at least 0.1 for the calculation. If the input dataset is elevation, the depth used for computation of the time step is:

If the input dataset is depth, the depth used for computation of the time step is:

This is assuming that the water level is approximately 0.0 (Mean Sea Level).

If the water level is not relatively flat or not near 0.0, the best practice approach would be to compute a depth and use that dataset directly. Depth can be computed as:

  • Eta: water surface elevation (usually computed by a hydrodynamic model).

In SMS, both of these are measured from a common datum with positive upwards.

The tool computes the time step at each node in the selected geometry based on the specified Courant Number.

If the input velocity magnitude dataset is transient, the resulting Time step dataset will also be transient.

The Gravity Waves Time Step tool dialog has the following options:

Input Parameters

  • Input dataset – Specify the elevation dataset (or depth dataset if using depth option).
  • Input dataset is depth – Specify Specify if the input dataset is depth.
  • Gravity – Enter the gravity value in m/s². Default is 9.80665.
  • Use courant number – Enter the Courant number. Default is 1.0.

Output Parameters

  • Gravity waves time step dataset – Enter the name for the new gravity wave time step dataset. It is recommended to specify a name that references the input. Typically this would include the Courant number used in the calculation. The velocity dataset used could be referenced. The geometry is not necessary because the dataset resides on that geometry.

Related Topics