June, 2010: An OpenMP version of BreZo now included in brezov4.0p. This uses OpenMP directives to parallelize the main steps of each time loop, but there are still a fair number of sequential threads. The code has only been tested on a quad core machine, where a 50% reduction in run time (roughly) was achieved compared to the sequential version. An MPI version of BreZo, ParBreZo, has also been developed but is not publicly available. This has been run on high performance computing clusters using as many as 512 processors. The parallel scaling is excellent.
January, 2010: BreZo animations of the Baldwin Hills Dam-Break Flood. AVI 1 , AVI 2 , AVI 3
January, 2010: BreZo animations of river basin flooding - Q(t) specified at point sources. AVI 1 , AVI 2
April, 2009: BreZo poster presented at CUAHSI CHyMP meeting. BreZo Poster
August, 2008: BreZo 4.0 now available with new features and the ability to handle meshes with up to 200000 cells. Release Notes
BreZo solves the shallow-water equations using a Godunov-type finite volume algorithm that has been optimized for wetting and drying applications involving natural topography and runs on an unstructured grid of triangular cells. There are several versions of BreZo as a result of an ongoing research process, and we have explored the tradeoffs between schemes that are formally first and second-order accurate in space and time as well as schemes that solve scalar transport equations in addition to mass conservation and momentum balance equations. This site presents a scheme for flow simulation only that is formally first-order accurate but achieves close to second-order convergence rates in flooding applications involving natural topography because the model retains a second-order representation of terrain. In field-scale applications, depiction of terrain typically limits model accuracy.
The evolution of BreZo can be traced with several journal papers: Begnudelli and Sanders (2006) present the second-order accurate numerical scheme as well as BreZo's unique wetting and drying method. Begnudelli and Sanders (2007) present an application of BreZo in a dam-break modeling study, Sanders (2007) reports on the utility of on-line digital elevation models (DEMs) for flood inundation modeling, Begnudelli, Sanders and Bradford (2008) presents a novel scheme to improve accuracy by choosing variables for reconstruction at cell faces (required for application of approximate Riemann solver) according to the local Froude number, and Sanders (2008) presents a new local time-stepping scheme that improves run-time efficiency.
Here you can download brezov4.0p (updated June, 2010). This version applies the adaptive flow solver presented in Begnudelli, Sanders and Bradford (2008) and the time-stepping scheme described in Sanders (2008) . There is no scalar transport in the on-line version of BreZo. Please note that although BreZo is freely available, it is copyrighted by the authors and may not be sold or included in commercial products without a license. brezov4.0p now permits up to 200000 cells, which is plenty for academic test problems and will permit most field-scale problems to be tackled as well. The zip file brezov4.0p contains a binary executable compiled to run on computers running Windows operation systems (Sorry, no source code!), along with several sets of input files that can be modified for other applications.
A number of modeling utilities are available as well as more realistic project files including castjunc.2.zip and josefina.3.zip. More project file information is listed below. To run BreZo, unzipped files should appear as shown in this screen shot .
The screen shot shows that files should be organized with this file structure. The top directory must include the binary executable, brezo4.0p.exe and the input file brezo.start, which tells BreZo which project file (sub-directory) to open (e.g. partialdbrk.1, castjunc.2). Note that the BreZo grid and input files in each sub-directory should have a prefix identical to the sub-directory name, as shown by this file structure.
BreZo reads grid files that adopt the file format and file-naming conventions used by Triangle, a 2D mesh generator by Jonathan Shewchuk. Users of BreZo may adopt Triangle for grid generation, or use another program so long as the grid files are similarly formatted.
The required project files for BreZo are: .node , .ele , .edge , .neigh , .input (main parameter input file), and .bc (boundary condition) files.
Optional project files for BreZo are: .bed (elevation data for each vertex of grid), .ic (allows user to specify regional initial conditions), .mon (allows user to add monitor the time-dependent soluton at points) files, .source (allows user to specify point sources), .runoff (allows users to specify point sources scaled by a drainage area, runoff coefficient, and precipitation intensity) and .pump (allows user to add a point source of momentum) files.
BreZo is conditionally stable. The time step must be selected to satisfy the global CFL condition over the entire simulation period. When BreZo is executed, the global maximum Courant number at each time step is the second column of output written to the screen. If the model crashes, inspect the Courant number record to see if the stability constraint was violated. The time step can be changed using the .input file.
Instructions for initial conditions (revised August, 2008)
Instructions for boundary conditions (revised August, 2008)
Terrain data must be supplied either using the .node or .bed files. If it is not listed in the .node file, then BreZo will attempt to open a .bed file.
Instructions for formatting terrain data
Instructions for accessing terrain data from USGS Seamless Site
We use Tecplot (v. 10 or 360) extensively: to prepare terrain datasets for BreZo, make manual adjustments to grid properties, and post-process results. Output from BreZo is formatted to support animation, with the solution at all vertices saved at evenly spaced times. There is a switch in the .input file which controls whether output is formatted for Tecplot, Matlab (a simple ascii format without metadata), or VisIt. The option to output results for VisIt was added to BreZo by Dave Hargreaves and Bruce Kakimpa at Nottingham University.
Modeling utilities can be run at the windows command prompt and include the following:
This opens grid files (.node and .ele) and writes a .plt file (formatted for Tecplot). An optional output is a new .node file that includes terrain elevation for each vertex of the mesh. The source code, makepltfile.f90, is also included so users can insert analytical expressions for the terrain elevation. This is useful for academic studies.
This creates the .rough file that BreZo requires for spatially distributed resistance parameters. The .rough file simple represents a single column of data corresponding to a resistance parameter for each cell of the computational mesh. The resistance parameter can be a Manning n, Chezy C, or Nikuradse ks (the first two options run fastest). makeroughfile.exe first loads the project grid (.node and .ele files) and allows the user to assign a single resistance parameter to all cells. Second, one or more subdomain grids (another set of .node and .ele files) can be loaded and a separate resistance parameter can be assigned to each subdomain. We also use ArcGIS to accomplish this task, but this utility represents a simpler (albeit less powerful) alternative.
This converts USGS gridfloat formatted elevation data into ascii formatted file(s) suitable for either Tecplot or Matlab. In addition, there are options for converting from geodetic coordinates to easting and northing. We also use ArcGIS to accomplish this task, starting with data in the ArcGrid format, but this utility represents a simpler (albeit less powerful) alternative.
This allows users to manipulate terrain data. After a project grid is constructed (.node and .ele files) and elevation data are saved to a .bed file, elevation in a subdomain can be set to a uniform value. The subdomain is defined by another set of .node and .ele files. The output is a new .bed file. Often, on-line DEMs record the surface elevation of reservoirs instead of the bottom elevation, so this utility allows the user to make the depiction of terrain more realistic. We also use ArcGIS to accomplish this task, but this utility represents a simpler (albeit less powerful) alternative.
This creates an .area file which Triangle uses for localized grid refinement. The input is a project grid (.node and .ele files) and a subdomain grid (another set of .node and .ele files).
Project folders include files that can be run as-is or changed to experiment with different boundary and initial conditions, for example. When starting a new project folder, simply copy files from one of the other folders and rename them. The following project files are included:
This is set up to simulate a dam-break flood in a 1 km long and 100 m wide channel. Users are encouraged to experiment with different amounts of friction (.input file), different initial conditions (.input and .ic files), and different boundary conditions (.bc file). Note: the input parameter LTS_levels in the .input file should be 1 or 2 in this problem IF friction is turned off (friction_options=0). Users may also wish to change the topography to reflect a sloping channel or a non-rectangular cross-section. This can be done by with makepltfile.f90 , but changes to the code will be necessary.partialdbrk.1
This is set up to simulate a partial dam-break flood into a 100x100 m basin. Users are encouraged to experiment with different amounts of friction (.input file), different initial conditions (.input and .ic files). Note: the input parameter LTS_levels in the .input file should be 1 or 2 in this problem IF friction is turned off (friction_options=0). Users may also wish to change the topography and can revise and use makepltfile.f90 accordingly.bay.1
This is set up to simulate flow in a tidal basin externally forced on the west by the ocean tide and on the east by a specified inflow boundary. Users are encouraged to experiment with different boundary conditions (.bc file), e.g. using a measured tide record instead vs. a harmonic tide. In the (.bc file), there are four parameters that control the properties of harmonic tides: ls_1, ls_2, ts_1, and ts_2. These correspond, respectively, to the mean elevation of the tide in meters, the amplitude in meters, the period in hours, and the phase shift in hours. A word of warning: there is no turbulence model in this version of BreZo, so the circulation patterns seen in this example are controlled by numerical viscosity!
Water level and velocity during flood phase of tide.
To illustrate a more practical application of BreZo, here is a set of project files, josefina.3.zip (updated August, 2008) for a dam-break flooding scenario which can be animated (MPEG WMV).
The site corresponds to the Paute River Basin near Josefina, Ecuador. In 1993, a landslide created a natural dam which blocked the river, creating a reservoir. The dam subsequently overtopped causing a dam-break type flood. In this example, dam failure is crudely modeled by assuming an instantaneous and complete failure and terrain geometry is based on 3 sec SRTM which was accessed from the USGS Seamless Site. Flow resistance is based on a uniformly distributed Manning coefficient. For an educational exercise, users are encouraged to explore the sensitivity of flood predictions to resistance coefficient values (.input file), spatially variable resistance coefficients (.rough file), the height of water in the reservoir (.ic file), and different breach openings which can be adjusted by changing the ground elevation at the site of the dam (.bed file). Dr. Boris Abril, formerly of the UNESCO-IHE Water Institute for Education in Delft, NL, assisted in the set-up of this problem.
Note there is a switch in the .input file, maxflood_options which turns on an option to record the maximum depth, the maximum velocity, and the travel time of the flood. When this switch is turned on, a second output file is created which allows the following attributes to be contoured:
To illustrate a second practical application of BreZo involving steady-state flow along a river, castjunc.2.zip contains a set of project files for a reach of the Santa Clara River near Castaic Junction, in southern California (new for August, 2008).
Steady-state flow conditions are modeled by running BreZo with fixed boundary conditions until a steady-state is attained. A volumetric flow rate of 1950 m^3/s is specified at the inflow (Eastern) boundary, and a water elevation of 283 m (above sea level) is specified at the outlet (Western) boundary and the model is used to define the flood zone. Inspect castjunc.2.bc to see the proper formatting of the boundary conditions. Also, note from the castjunc.2.input file that the parameter ic_area=1 (line 17) so BreZo opens castjunc.2.ic which prescribes a small pool of water near the inflow boundary as the initial condition. This allows BreZo to run with a larger time step than would be required if the channel was initially dry. An initially dry channel at the inflow boundary causes BreZo to predict highly supercritical flow which requires a much smaller time step for stability purposes.
RETURN TO MAIN PAGE