DUMP/ fehm and DUMP/ stor

Output a set of files that are of general use but are specifically designed for the FEHM porous flow and transport code.

The simplest command line with root file_name and cmo_name will assume the most common options and will write an ASCII compressed stor file with scalar area coefficients. If an option is not valid, the program will continue but use a valid default setting. Both dump/fehm and dump/stor use the same set of optional settings after the required file_name

Though the syntax for both are the same, with command stor, only the stor file is written. With command fehm, the full set of 7 FEHM files are written. The full set of fehm files will look like the following, where "file_name" is the root of each name:

      
file_name.fehmn file_name_interface.zone file_name_outside_vor.area
file_name_material.zone file_name_multi_mat.zone file_name_outside.zone file_name.stor


FORMAT:
dump / fehm | stor / file_name / [cmo_name]



The file_name will be used as a root name for all files written.
dump/fehm will write full set of FEHM input files and stor file
dump/stor will write a sparse matrix stor file only
Default options applied are: ASCII, scalar, all compressed

The following command settings are optional and can occur in any order after the cmo_name.

 / [ ascii | binary ]  
 / [ scalar | vector | both | area_scalar | area_vector | area_both]
  / [ all | graph | coefs | none ]
 / [ delatt, | keepatt ]

/ [ hybrid, nohybrid ]
IO Mode Options for stor file
Area Coefficient Options for writing stor file coefficient values
Compression Options for the stor file
CMO Attribute created during creation of outside zone files
Specify whether hybrid median-Voronoi control volumes should be used

IO MODE OPTIONS for STOR File:
binary Output sparse matrix stor file in Fortran unformatted format
Note: These files are platform dependent.
 
ascii (default)  Output sparse matrix stor file as ASCII format 

Note: The old syntax using asciic and binaryc keywords are no longer needed to toggle the compression settings.

Area Coefficient OPTIONS for STOR File:
scalar (default)  Area/distance               coefficients are output as scalars 
vector Area/distance               coefficients are output as vectors 
both Area/distance               coefficients are output as scalars and vectors 
area_scalar  Area                           coefficients are output as scalars
area_vector Area                           coefficients are output as vectors 
area_both  Area                           coefficients are output as scalars and vectors 


Compression OPTIONS for STOR File:
all (default) (_astor) compression of area coefficients and compression of coefficient indices  
graph (_gstor) compression of area coefficient indices (edge compression)  
coefs (_cstor) compression of area coefficient to a list of unique values
Note: This older algorithm uses more space and time.
 
none (_nstor) full indices and area coefficient list
Note: This older algorithm uses more space and time.
 

Note: The old syntax using the alternate_scalar keyword is now the default option of scalar compressed. It is the same as using keywords all or graph and if used will be recognized.

CMO Attribute OPTIONS:
delatt (default)

No new cmo attributes are created.
keepatt

Used for the outside zone file, six node attributes are created (top, bottom, left_w, right_e,back_n, front_s) which are assigned values according to the direction of the octant of their normal vector. 
  
NOTE: ccoef, ij_ccoef
When the _astor or _gstor compression algorithms are invoked by default or by using the all or graph keywords, two new attributes are created, ccoef and ij_ccoef, if and only if there are some negative area coefficients. Since the area coefficients are really edge based quantities but we only have access to node and element quantities, the following convention is used.

If any area coefficient is negative the integer node array ij_ccoef and real node array ccoef are created.
If no area coefficients are negative the arrays are not created.
If the area coefficient A_ij, between nodes i and j is negative then
ccoef(i)    = ccoef(j) = A_ij
ij_ccoef(i) = j
ij_ccoef(j) = i

All connections with area coefficients >= 0 are set to zero.

There is no option to turn this feature on or off.

Hybrid OPTIONS:
nohybrid (default) Do not use hybrid median-Voronoi control volumes
hybrid Use hybrid median-Voronoi control volumes.

These hybrid volumes represent a means for addressing poorly shaped tetrahedra on a boundary of the mesh. Boundary tetrahedra whose Voronoi centers are outside the mesh lead to incorrect modeling results. Alternatively, if we construct control volumes using medians (centroids), the center point for each element always lies within that element, but median meshes lack other nice properties of Voronoi meshes.

As a compromise between the median and Voronoi approaches, we start with a Voronoi mesh and fix boundary tetrahedra whose circumcenters are not contained within the boundary of the mesh. To fix such an element, we draw a line segment from the median center to the Voronoi center and find the point at which this segment intersects the surface of the element. This intersection then becomes the center point for the purposes of determining control volumes. Essentially we move the Voronoi center toward the median point until it just reaches the element.

When we use the hybrid approach, we also make a slight change to the way we calculate the area coefficients. Voronoi control volumes have the property that their faces are always perpendicular to the mesh edges that intersect them. With hybrid control volumes (as well as median control volumes), this is not the case. To compensate for this, when we compute the area coefficient we only consider the component of the face area vector which is in the same direction as the edge. We accomplish this by taking the area vector and dotting it with a unit vector in the direction of the edge.

The hybrid option may lead to poor results if it is applied to a mesh that is non-Delaunay, because there may be elements which it cannot fix, such as interior elements whose circumcenters are outside the mesh. A warning will be printed if the code detects that the mesh appears to be non-Delaunay.

NOTE: The hybrid option is only available with the all (default) and graph compression options. It also requires the scalar (default) area coefficient option.

EXAMPLES

dump / fehm / file_name / cmo   (write all FEHM files, STOR file will be ascii compressed) 
dump / stor / file_name / cmo (write the FEHM STOR file in ascii compressed format)
dump / fehm / file_name / cmo / binary / none (write all FEHM files, STOR file will be unformatted compressed)
dump / stor / file_name_as / cmo / ascii / none / vector (write ascii STOR file with vector coefficients)
dump / stor / file_name_as / cmo / ascii / none / area_scalar (ascii STOR file with area coefficients without distance)

OLD EXAMPLES (recognized but no longer used)
dump / stor / file_name_as / cmo / ascii  / / alternate_scalar 
dump / stor / file_name_as / cmo / asciic / / alternate_scalar
dump / fehm / file_name / cmo / binaryc / / alternate_scalar/ keepatt