Starting in version 11.1, SMS has the capacity to run certain models as a simulation. A simulation includes the domain, boundary conditions, model parameters, event definition, and material set used for a single model run. Multiple simulations can exist within the same project in order to compare alternatives.
Simulation Based Modeling
A typical numerical simulation consists of the following components:
- A geometric domain – this can be a structured or unstructured grid depending on the engine being used.
- Structured grids come in a variety of formats including:
- Cartesian grids
- Rotated Cartesian grids
- Refined Cartesian grids (each row or column can have its own height or width)
- Telescoping grids (each cell in the grid can be subdivided into two or more cells in each direction. A Quadtree is an example of this. Nested grids is another example)
- Curvilinear or Boundary fitted grids (in this representation, the cells are still in a structured format meaning each cell has four neighbors and each corner point has four neighbors. However, the curvilinear of boundary fitted grid bends and stretches to match geometric features
- Unstructured grids can consist of all triangular, all quadrilateral, or a mix. Additionally, this class of grid can also include more complex cell/element shapes (i.e.polygons).
- Structured grids come in a variety of formats including:
- A set of cell/element or node properties or attributes. The specific properties/attributes depend on the numeric engine in use. This can include:
- Boundary conditions specified at a point or cell.
- Boundary conditions specified at a string or points or cells.
- Boundary conditions specified at a cluster or group of points or cells.
- Spatial attributes assigned to each point or cell in the domain. Examples of this include:
- Material types for each cell to define a roughness value.
- A dataset to define an initial water level.
- A set of model parameters.
Traditionally the SMS has employed what is now referred to as grid based or mesh based modeling. This means that a numerical model simulation was inherently tied to a specific geometric domain or grid. This type of grid based modeling meant that all of the components of a simulation (the list above) would be specified explicitly for the domain.
This approach meant that any change in a simulation, no matter how slight, requires a completely independent copy of the entire set of components.
Beginning with SMS version 11.0 the SMS development team began a migration to simulation based modeling. This approach follows the concept that components of a simulation are constructed individually and then grouped together into a simulation. This allows a modeler to define multiple simulation with common building blocks (components). A domain (grid), set of boundary conditions, or set of initial conditions can be reused in multiple simulations. This approach makes the modeling process more inclusive and adaptable.
In Version 12.0 of SMS, the simulation based modeling expanded to include the SRH-2D, CMS-Flow and BOUSS-2D engines.
Working with Simulations
A simulation can be created by right-clicking on a blank portion of the Project Explorer and choosing the New Simulation sub-menu. The New Simulation menu will have commands to create a new model simulation. Selecting a model will cause a simulation folder for the chosen model to appear in the Project Explorer.
After a simulation has been created, components may be added to the simulation. Components are often created as map coverages, meshes, grids, or scattersets. The individual map coverages, grids, or scattersets can be linked to the simulation by clicking on the item in the Project Explorer and dragging it under the simulation item in the Project Explorer. Each simulation in the Project Explorer will show a list of all linked components . This allows multiple simulations to make use of the same datasets.
Components can also be added or removed from a simulation using the right-click Link To or Unlink From submenus.
Once a simulation exists future simulations are often similar to one already created. Often it is easier to make a copy of the simulation and make changes where appropriate. A simulation can be copied by right-clicking on the simulation and choosing Duplicate. All simulations for a model will be listed under the simulation for that model. Under the simulation data item all simulations for all models will be listed—SMS supports using more than one model for a project.
- Note: When naming simulations, apostrophes are not allowed in the simulation name. Using an apostrophe in any simulation name may cause an error.
The right-click menu for a simulation includes menu commands specific to each model.
General Simulation Right-Click Menu Commands
Right-clicking on any simulation object in the Project Explorer will bring up a menu for that simulation. Most of the commands are specific for the simulation model type. The simulation right-click menu has the following commands that are used by all simulations.
- Delete – Removes the selected simulation. This commands does not delete or modify components linked to the simulation.
- Duplicate – Creates a copy of the selected simulation. All components linked to selected simulation will be linked to the duplicate simulation. Adding, or removing the components in the duplicate simulation will not change the original simulation.
- Rename – Allows changing the simulation name.
- New Simulation – This command will create a new simulation of the same model type as the simulation folder.
- Simulation Run Queue – Opens the Simulation Run Queue dialog.
- Export All – Export files for all simulations under the model simulation folder.
Simulation Run Queue
The Simulation Run Queue is used to manage multiple simulations. Once a simulation is started, the Simulation Run Queue appears. The dialog can also be reached by right-clicking on a simulation item in the Project Explorer and selecting the Simulation Run Queue command.
The number of processes allowed in the run queue is determined by the following option:
- Maximum Number of Concurrent Processes Allowed – Determines how many processes can be active in SMS at the same time. A simulation may contain multiple processes.
The run queue will show all simulations that are either currently running or have not yet been removed from the run queue. Each simulation will be listed in the order the simulation runs were started. Each simulation can be expanded to show what happened during the model run. If the model has a pre-processor and/or a post-processor, these will be displayed separately from the main model run. Process bars display how much of the process have been completed.
The following actions can be taken for each simulation:
- Load – Loads the solution files into SMS from a completed simulation run.
- Abort – Ends a simulation run before it has completed.
- Remove – Deletes a completed or aborted simulation from the run queue.
- Plot Options – Opens the Plot Options dialog. If the Monitoring Data option is turned on, the display of the plot line color, width, and style can be adjusted in this dialog.
The Simulation Run Queue contains an option for Monitoring Data. Turning on this option activates the tabs underneath for the selected simulation. The tabs are:
- Command Line – Shows the command line entries for the selected process. Will report errors encountered during the simulation run.
- Residual Plot – Shows the residual plot for the selected simulation.
- Monitor Point Plot – If monitor points are included in the simulation, this will show a plot for the point location once the simulation has included the point in the simulation run.
- Monitor Line Plot – If monitor lines are included in the simulation, this will show a plot for the line location once the simulation has included the line in the simulation run.
Models That Use Simulations
Not all models usable in SMS can be created in the simulation format. Models that currently make use of the simulation format are:
|Model||Initial Version||Model Simulation Specifics|
|ADCIRC||13.0||See ADCIRC Graphical Interface|
|BOUSS-2D||11.2||See BOUSS-2D Simulations|
|CMS-Flow||12.1||See CMS-Flow Simulation|
|HEC-RAS||12.2||See HEC-RAS Simulation|
|SRH-2D||12.0||See SRH-2D Simulation|
|STWAVE||13.0||See STWAVE Graphical Interface|
|TUFLOW||11.1||See TUFLOW Simulation|
|WAM||11.1||See WAM Simulation Model Control|
SMS – Surface-water Modeling System
|Modules:||1D Grid • Cartesian Grid • Curvilinear Grid • GIS • Map • Mesh • Particle • Quadtree • Raster • Scatter|
|General Models:||FVCOM • Generic • PTM • TUFLOW FV|
|Coastal Models:||ADCIRC • BOUSS-2D • CGWAVE • CMS-Flow • CMS-Wave • GenCade • STWAVE • WAM|
|Riverine/Estuarine Models:||ADH • FESWMS • HEC-RAS • HYDRO AS-2D • RMA2 • RMA4 • SRH-2D • Steering • TUFLOW|
|Aquaveo • SMS Tutorials • SMS Workflows|