The OptiStruct solver can be used as a simple input deck pre-processor, intended to reduce out matching material and property definitions. It is useful for models (produced on some simpleminded mesh generator tools) which sometimes have unique property IDs and unique material IDs assigned to each element, even in cases where actual data is identical. Such models (although technically correct) will be expensive to solve, or slow to process in HyperMesh or HyperView. In this special run mode, OptiStruct will simply read the model, compare all material and property data, and remove redundant data.
optistruct infile.fem -compress
will produce a new bulk data file named:
infile.echo
which will contain a new model with all duplicate materials and properties deleted. All references to removed data will be replaced with the remaining ones, so for all practical purposes the model should yield identical results.
The additional argument to -compress represents the tolerance value in percent. All floating point values in material and property data are compared using that tolerance. Using tolerance may increase significantly run time.
1. | Comparison is performed exactly (meaning all data are compared without allowing for any tolerance or round-off). If an optional tolerance value is specified, the run is performed in two passes: exact matches are removed first, then all remaining materials and properties are compared with each other using following formula: |
(2 * abs(value1-value2)) / (abs(value1)+abs(value2)) < tolerance *0.01.
2. | Optimization data, nonlinear data, and thermal materials are not processed. If such data are present, they may reference removed entities, but a compress run will not adjust references. The resulting file (<filename>.echo) may not be valid. |
3. | Cards which extend or modify materials or properties (such as MATT1, MATX02, MATS1, or PSHELLX) are not used in comparison, and can also be left orphaned as a result of a compress run. |
4. | SETs referencing materials or properties are not processed. This will not result in a bad deck because SETs are allowed to reference non-existent IDs, however SETs in the output file may be different from the input file. |
5. | After the .echo file is produced, OptiStruct terminates the run, therefore -compress cannot be combined with any other option. |
The following cards are processed:
1. | Properties: |
PBEAM, PBAR, PBEAML, PBARL, PSOLID (also fluid), PCOMP, PSHELL, PROD, PWELD, and PSHEAR
as well as properties not referring to materials:
PELAS, PBUSH, PVISC, PDAMP, PGAP, PCONT, and PAABSF.
2. | Materials: |
MAT1, MAT2, MAT4, MAT5, MAT8, MAT9, and MAT10.
3. | All elements referencing properties or materials, including PRBODY and PFBODY. |
Any other cards present in the deck are allowed only if they do not reference materials or properties; however OptiStruct does not verify this assumption. If such a card is present in the deck (for example, DTPG referring to a list of properties), it may be printed with negative IDs for removed entities.
The resulting file (<filename>.echo) is produced using the same routines which produce ECHO; all restrictions present for ECHO will affect a -compress run; in particular:
• | Some optimization cards are currently known to produce incorrect ECHO, meaning an ECHO of these cards cannot be read back into OptiStruct. |
• | Results are formatted in fixed format, irrespective of the format used in the input file. This limits the accuracy of most coefficients because of 8 character fields. Current formatting preserves as many decimal places as possible within 8 characters, but for values which require an exponential form, it is sometimes possible to retain accuracy to only 3-4 decimal places. Exceptions: GRID and DMIG cards are printed in free format with accuracy to at least 10 decimal places. |
• | Only bulk data is printed to .echo file (no i/o or control sections). |
• | Some cards are not printed: in particular, PARAM and DOPTRM do not appear in ECHO files. |