Wednesday, May 29, 2019

FACET3D Viewer

ABS Consulting provides a free viewer for clients to read and query their facility siting study results. This single executable reads a provided viewer file and displays the various contours (pressure, impulse, thermal) and allows the users to pan, zoom, and query points on the plot plan and obtain a listing of results. Buildings and scenarios can be turned on and off to show subsets of results which can be very helpful during turnarounds and portable building placement. Download the viewer executable below (requires the .NET framework 4.8) and ask your ABS representative for a viewer file of your site. 

FACET3D View Download

Tuesday, May 28, 2019

Multi-Energy Method (MEM) Vapor Cloud Explosion Calculator

The Multi-Energy Method (MEM) is one of the two main vapor cloud explosion prediction methods along with the Baker-Strehlow-Tang (BST) method. The MEM has been publicly available for over 15 years [1], it has been continually and recently updated [2,3], and it provides very good comparisons to test data [4]. The MEM is a blast curve based method. The blast curves are pressure-distance and duration-distance plots divided into 10 curves with each of the curves being called a severity level ranging from 1 to 10. These pressure curves are shown below. Similar curves exist for blast pulse duration.

Here is a spreadsheet which implements the core MEM method curve lookups. The user enters the congested flammable cloud volume along with the explosion severity level and downrange distance of interest and the worksheet returns the free-field pressure and impulse at that distance.

MEM Calculator and Data.xlsm

[1] Berg, A.C. van den, “The Multi-Energy Method, a framework for vapour cloud explosion blast predictions, TNO Prins Maurits Laboratory report No 1984-C72.
[2] Eggen, J.B.M.M., “GAME: development of guidance for the application of the multi-energy method,” Prepared for Health and Safety Executive, Prepared by TNO Prins Maurits Laboratory, 1995 (work completed in 1995 but subject to a publication embargo until 1998).
[3] Mercx, W.P.M., van den Berg, A.C., and van Leeuwen, D., “Application of correlations to quantify the source of strength of vapour cloud explosions in realistic situations – Final report for the project: ‘GAMES’,” TNO Report PML 1998-C53, TNO Prins Maurits Laboratory, October 1998 (work completed in 1998 but subject to a publication embargo until 2001).
[4] Fitzgerald, G.A., “A Comparison of Simple Vapor Cloud Explosion Prediction Methods,” Presented at the Mary Kay O’Connor Process Safety Center Symposium, College Station, TX, October 30-31, 2001.

Thursday, May 23, 2019

PHA Guidance for H2S Releases

I worked with some talented Marathon employees to develop a framework for PHA teams to assess the hazards from H2S streams on workers near a potential release. You can find the full article here at the Journal of Loss Prevention.

Monday, April 3, 2017

Air Cooler Explosion Analysis Using CFD - AIChE 2017 Poster

Facility siting should consider possible explosion sources due to congested regions of a process. One source of congestion is air coolers. Air coolers typically have a confined volume of turbulent air passing over a piping bundle of small diameter tubes. These conditions will increase flame speeds should a flammable cloud reach an air cooler. We report on the numerical modeling of air coolers using FLACS with the goal of developing rules for assigning congestion when using blast curve methods.

Download high resolution image.

Thursday, March 23, 2017

SLAB - A Dispersion Model with GUI

SLAB is an atmospheric dispersion model for denser than air releases. In 2008 I converted the SLAB Fortran code to VB.NET and wrote a GUI for the solver. I called the result Release. It is a single exe that only requires the latest .NET framework. The software GUI is free of charge and is provided without warranty. No changes were made to the original solver. Find a link to download Release below along with the original users manual for SLAB.

Download Release.exe
Download Slab.pdf Users Manual

User Input Screen

Text Results (Same as SLAB console program)

Plotting of cloud isopleth top and side views

About Screen

Friday, April 25, 2014

Inserting Lots of Images into Word Documents

Typically our reports have appendices with hundreds of images in them. Inserting each one individually, formatting, and adding a caption is impractical. This post discusses a method using macros that accomplishes this task.

Create your images in a directory using a sequential naming scheme. Put any identifying information in the file name that you want to show up in the caption. Multiple "tokens" of information can be in the file name as long as they are delimited by a common character such as dash or underscore. Later I'll show how the macro splits each file name and extracts the tokens for use in the caption.

Open you MS Word file and select the developer tab. If it is not shown, you can make it visible by going to File, Options, Customize Ribbon and checking the Developer checkbox in the right most list box. From the developer tab, click Visual Basic and the right click on Project (your filename) in the window to the left and select Import file. Import each file in the below zip file after extracting to a folder of your choice. The two files you will import are RunInsertPicturesGUI.bas and GUI.frm.

Back in MS Word from the developer tab click the Macros button and run the macro titled "RunInsertPicturesGUI".

The following dialog will open. Customize the picture caption using the tokens extracted from the filename. Each token found will replace [X] with the integer in the brackets signifying the token to use. Also specify the delimiter used to seperate tokens in the filenames. Finally, set the image height. I recommend manually inserting the first image to determine what height results in a good overall fit. The textbox in the Test area is for entering a filename to confirm the resulting caption is what you intended. After selecting the images, each will be inserted and the form will close.

Note that the captions will include a chapter number by default. If your have not set up multi-level lists linked to headers, the captions will show the error. You can remove the chapter number in all captions after importing the images by right clicking on any image and selecting Insert Caption. Click on the Numbering button and then uncheck Include chapter number. Then click OK and Close. Finally, update all your captions by selecting all (Control+A) and then pressing F9.

Below is the final result.

Friday, July 12, 2013

Toxics Primer

This post tries to explain how FACET3D handles toxic dispersions and what the various combinations of settings achieve. Toxic results are dependent on a number of settings, primarily found in two places. First, there is the dispersion object itself (Figure 1), which holds the dispersion data imported from PHAST at the core averaging time*. Second, there is the toxic options under the options form analysis tab (Figure 2).

Figure 1

Figure 2
FACET3D calculates two toxic results. First is the toxic concentration variable, which is a direct mapping of the plume concentration at the effect height onto the ground plane contour grid. Second is toxic lethality, either due to cross wind evacuation, stationary evacuation for a specified duration, or shelter in place lethality.
Starting with #2, the lethality calculation, all different types of lethality are calculated using the averaging time specified in the dispersion object form (Figure 1). This averaging time defaults to the PHAST toxic averaging time and is used to transform the dispersion cross section data (in the table) before it goes to the lethality calculations. Therefore, about 5 minutes is usually good since this is on the order of the time needed to evacuate. A larger value may be used if you are doing shelter in place lethality over 1 hour or a stationary evacuation using a duration longer than 5 minutes.
Back to #1, the toxic concentration, which also can use the averaging time in the dispersion form but may instead use the averaging time from the toxic options form (Figure 2) if either the Toxic Conc. Results as Equiv. Conc. checkbox or Concentration Transformation combo box options are selected.
Equivalent concentrations are simply the concentrations at each downwind distance that give the same dose for the supplied reference time as the dose given by the original concentration over the duration of the toxic plume. This feature allows plotting equivalent ERPG values when the release duration is less than 1 hour. If the release duration is >= 1 hour, equivalent and original concentrations will be the same.
Concentration Transformations map the original or equivalent concentrations (ppm) to a common baseline so chemicals with different ERPG values can all be shown on the same contour plot. For example, ERPG[1-3]->1,2,3 option will map a curve of decreasing concentrations in ppm vs. downwind distance to a curve passing through the integer values 1, 2, and 3 vs. downwind distance where the ERPG-1 concentration (ppm) gets mapped to the integer 1, the ERPG-2 concentration (ppm) gets mapped to the integer 2, etc. Then, if we request a contour plot of the value 3, we are effectively contouring through the ERPG-3 concentration for all chemicals.
* Averaging time with respect to dispersions is a way to account for the fact that the wind direction varies and does not blow directly downwind toward a target 100% of the time. A short averaging time (18.75 sec in PHAST) represents a near instantaneous snapshot of the dispersion and the centerline concentrations will be the maximum possible as if the wind was blowing directly toward the target. A higher averaging time will result in lower average centerline concentrations (beyond the passive transition zone) to account for the centerline of the plume only being directly over the target some of the time while at other times the target is slightly off centerline resulting in lower concentrations. Many toxic endpoint criteria (ERPG, IDLH) have an implied reference time (duration of exposure), and the averaging time should be set to match.