STOMP User Guide
Subsurface Transport Over Multiple Phases
STOMP User Guide
Subsurface Transport Over Multiple Phases
Output Files
The STOMP simulator can generate, depending on the requested output, data files for restarting a simulation and three types of simulation result files. All files generated by STOMP are ASCII text files.
An output file named output is generated with every execution of the simulator. Examples of post-processing of the output file are provided on the post-processing page.
The output file has the following structure:
Header
An output file begins with a welcome statement, disclaimer, and banner, which should appear similar to:
Input Record
Following this banner is an input record, which documents the simulation input.
An input record is included on the output file to document the simulation in the event that the input file is inadvertently deleted or becomes separated from the output file. The input record is formatted differently than an input file, but contains all of the information listed in an input file. Optional cards which are not included in the input file are noted in the input record. If the simulator identifies an input error, an error message will appear in the input record at the point the error was noted. Input cards are read by the simulator in a specific order and will appear in the input record in that order. Because input cards can be organized randomly in the input file, the card order on the input record may not match that in the input file.
Reference Node Output
The reference node output record follows the input record.
The reference node output record is a table of simulation data and selected reference node variables, which are printed according to the frequency requested in the Output Control Card with the input item Reference Node Output File Frequency. A table column header is printed to delineate the columns every 10 print records (1). A link to the list of definitions of the header abbreviations for the reference node output are provided for each operational mode on the Output Control Card options page. Each print record will show simulation data and reference node variable data for each reference node requested. Simulation data comprises the time step (2), the reference node number (3), the simulation time (4), the simulation time step (5), and the number of Newton-Raphson iterations required to reach convergence (6). Reference node variable data comprise values of the variables specified in the Output Control Card through the Reference Node Variable inputs (7).
Reference nodes are indexed by node number. The corresponding i,j,k indices are shown for each reference node on the line preceding the column headers. For example, a simulation with reference node 272 at i,j,k indices of 2, 3, and 6, respectively, would have a reference node header line that appeared as (7) in the following graphic.
Column headers for reference node variables are delineated with an abbreviated title and associated units. Units are enclosed in brackets below the variable abbreviation (8). Definitions of the reference node header abbreviations for the output file are given here. A portion of the reference node output record for a horizontal heat pipe problem involving 50 nodes for time steps 70 through 73 appeared as:
where the reference nodes are nodes 1 and 50, and the reference node variable data includes the temperature, reported in degrees Celsius, the aqueous saturation, and the aqueous pressure, reported in Pascal (absolute)(8).
Convergence failures and subsequent time step reductions are also noted within the reference node output record. Three types of convergence error messages may appear within the output. The first type indicates that the update to a primary variable exceeded the maximum allowable change. An example of this type of convergence error for a horizontal heat pipe problem appeared as:
where an excessive change to at least one primary variable was noted at node 50 and the time step was reduced from 2.938 to 0.5877 days and repeated. The second type indicates that a converged solution was not obtained within the maximum number of Newton-Raphson iterations. An example of this type of convergence error for a three-phase volatile infiltration problem appeared as:
Here the maximum normalized residuals for the water and oil mass conservation equations were noted, which exceeded the convergence criterion. After this convergence failure, the time step was reduced from 0.00701 to 0.00140 hours and repeated.
The third type indicates that the linear system solver has failed to reach a solution. An example of this type of convergence error for a three-phase volatile infiltration problem appeared as
where a zero or nearly zero diagonal was noted for the oil equation at node 113. After this convergence failure, the time step was reduced from 0.0148 to 0.00297 hours and repeated.
ECKEChem Convergence Errors
Another type of convergence failure can occur when using the ECKEChem (reactive geochemistry) module. The module will report the failure, the node at which the failure occurred, and then create a smaller sub-time step to achieve convergence. A maximum of 16 sub-time steps is attempted before the simulation will abort due to non-convergence.
All of the error messages include additional information that pertains to the specific convergence problem. Convergence errors result in a reduction in the time step with a repeated attempt to solve the system of governing equations. Four successive convergence failures without an intermediate successfully converged time step results in termination of the execution. Output files are concluded with the following closing message.
A restart.n (where n refers to the time step extension) file is generated by default at the conclusion of every execution and otherwise when requested in the Output Control Card with the Plot File Output Times input items. If a file named restart.n already exists in the current directory then the file will be erased and overwritten. The user is responsible for renaming previous restart.n files prior to executing the simulator. The user has the option to specify “no restart” or “final restart” as a plot variable. This can be useful for large problems with a large number of requested outputs.
A restart file begins with a welcome statement, disclaimer, and banner, which should appear similar to
All data values in restart files are in SI units with pressures expressed in gauge. The first data line of a restart file contains the following timing and simulation information: time, time step, maximum time step, minimum time step, time step acceleration factor, convergence criterion, time step cut factor, maximum number of Newton-Raphson iterations, number of time steps, and number of nodes, number of solutes, operational mode, and the solution control indices. The remaining lines are nodal data lines containing field variable data for the current time step for every node (one line per node). The variables written to the restart file are operational mode dependent, but they comprise the complete set of information needed to represent the state of the simulation at that timestep so that upon restart, the intial conditions are those of the saved timestep. All nodal data lines are terminated with an integer value for the phase condition.
A plot file is generated by default at the conclusion of every execution and otherwise when requested in the Output Control Card with the Plot File Output Times input items. If a file named plot.n (where n refers to the time step extension) already exists in the current directory, then the file will be erased and overwritten. The user is responsible for renaming previous plot.n files prior to executing the simulator. Examples of post-processing of the plot.n files are provided on the post-processing page.
A plot file begins with a welcome statement, disclaimer, and banner, which should appear similar to:
Following this header are data for the current time step (1), simulation time (2), number of nodes in the three coordinate directions (3), followed by the number of active nodes (4) and the number of vertices defining each node (5). The next set of information describes the grid by specifying the x- or radial-direction nodal vertices locations (6), the y- or azimuthal-direction nodal vertices locations (7), the z-direction nodal vertices locations (8), and the node volume (9) for every node in the computational domain. Following this information is a node map (10).
The remaining portion of a plot.n file comprises arrays of variable data that correspond to the requested Plot File Variables. Field variable data groups list the value of the field variable at the node centroid. Fluxes in the plot file should be requested using the node centroid (nc) variable name (ie., xnc aqueous volumetric flux). Node centroid values for flux variables are simple arithmetic averages of the two nodal surface values. These field variable data are arranged in groups, each with a title line that indicates the type of data (11). Each group of data contains a field variable listed sequentially for every node in the computational domain (12). Data groups are arranged in rows with 10 data items per row.
A surface file named surface is generated during an execution if surfaces were defined on the Surface Flux Card. If a file named surface already exists in the current directory then that file will be erased and overwritten. The user is responsible for renaming previous surface files prior to executing the simulator. Examples of post-processing of the surface file are provided on the Surface File Post-processing page. Examples of post-processing of the surface file are provided on the post-processing page.
A surface file begins with a welcome statement, disclaimer, and banner, which should appear similar to:
Following the header are the number of surfaces requested and the surface variables requested, followed by columns of surface flux rate and integral data. Surface flux information is written to the surface file every time step, at the conclusion of every time step. The first column of data in the surface file is the time step in the units specified with the Output Time Units variable in the Output Control Card. Each surface flux output is written in two columns, the first column being the surface flux rate at the current time step and the second being the integral of the surface flux rate from the beginning of the current simulation. Surface flux integral data are not carried over on restart simulations. Each column in the surface file is titled with an abbreviated header and associated units shown in brackets below the column title. In general, the beginning letter (U,V,W) designates the surface direction (x-,y-,z-). Definitions of the header abbreviations for the surface file are given here. Each header title is followed with an integer enclosed in parentheses. This integer refers to the surface flux number, as defined in the Surface Flux Card (i.e., the surface flux definition order).
A file called connect is written with every STOMP execution. This file contains a mapping of the vertices defining each node of the computational grid. For 3-D and 1-D simulations, 8 vertices define a node, and for 2-D simulations, 4 vertices define a node. Each line contains the node number followed by the corresponding vertices defining that node. The data in this file is used to configure the finite-element data format for Tecplot. Therefore, the connect file must be present in the same location as the plot.n files when using plotTo.pl to post-process file for plotting with Tecplot.
Operational Modes such as STOMP-CO2 and STOMP-EOR that have a coupled well model write out an additional file containing the well trajectory in Tecplot format for plotting purposes. Once the post-processed plot file is loaded into Tecplot, the well.dat file can be can be appended as additional data. The wells will be labeled according to their names in the input file or by number and type if no name is provided.