***output#

Description#

This command allows management of the output data files. By default, the code will only store the nodal DOF and associated reaction values in the file problem.node. In order to have the values of the material behavior variables the user is required to specify some of the sub-procedures below.

The version 7 of Z-set allows multiple output specifications, so the user may optimize disk usage for a problem. Normally this is very useful when the structure is to be output only at certain critical points during the calculation, while data plots may be output more frequently using the **curve sub-option. Many of these curves may be specified with different output files, thus automating the post-processing stage of the analysis. Older versions of the code required saving the entire calculation with the frequency desired for the curves even if their information was rather specific. Use of output data files for the curves also allows automation of their generation using standard scripts with plotting software.

Syntax#

***output [ name ] [ **linear_solution ] [ **contour ] [ **no_contour ] [ **contour_by_element ] [ **no_contour_by_element ] [ **value_at_integration ] [ **no_value_at_integration ] [ **save_in_material_frame ] [ **component name1 name2 ] [ **test tname ] \(~\,\) [ *plot ] \(~\,\) [ *precision digit ] \(~\,\) [ *small small ] \(~\,\) [ *gauss_var elem_id pg_id var1 var2 … ] \(~\,\) [ *node_var node_id dof_name1 dof_name2 … ] \(~\,\) [ *point_var (x y z) var1 var2 … ] \(~\,\) [ *nset_var nset dof_name1 dof_name2 … ] \(~\,\) [ *liset_var liset var1 var2 … ] \(~\,\) [ *node_extrapolated node_id var1 var2 … ] \(~\,\) [ *element_node_var node_id var1 var2 … ] [ **curve tname ] [ **frequency ] \(~\,\) [ *dtime dtime ] \(~\,\) [ *at time1 time2 … ] \(~\,\) [ *increment nb_increment ] \(~\,\) [ *cycle cycle1 cycle2 … ] \(~\,\) [ *period start stop ] [ **store_global_matrix matrix_type when filename ] [ **verbose ] [ **no_defaults ] [ **output_first ] [ **save_parameter [ list of parameters’ names ] ] [ **reaction | **no_reaction ] [ **ele      | **no_ele ] [ **node     | **no_node ]

The optional character name may be used to specify the output file names. In the event of more than one ***output specification, the use of names will prevent overwriting of the same files for each output. This is essential to avoid, as the storage records are referenced using the .ut directory which would be overwritten for two like-named outputs. The default name will be the problem name problem which was given when running the Z-set program.

Names of the integration point variables are furnished for each material behavior. The names of the DOFs are given in the table on page DOF.

The sub-procedures are:

**linear_solution

This option indicates that the solution should be post processed with the intention to view linear summations of different load cases. The time steps are thus considered to be “load cases”. In fact, this command only adds the keyword **linear_solution to the problem.ut file header, which can be edited by hand as well.

**value_at_integration
1More intelligent strategies for outputting variable values will be implemented in future versions of the code

This option indicates that default variables held at the integration points are to be stored in the file problem.integ. In each material behavior there will be a special set of variables which are stored by default (documented in the sections for each behavior). When the problem has more than one material specified, the union of all variable groups for all materials is stored at each integration point. If the value is not actually defined for a material at a certain integration point a null value will be stored 1More intelligent strategies for outputting variable values will be implemented in future versions of the code.

**no_value_at_integration

This option allows to disable storage of the default variables held at the integration points in the file problem.integ.

**save_in_material_frame

This option indicates that default variables held at the integration points are to be stored in the file problem.integ. By default they are stored in their local material coordinate system (if a *rotation or a *pre_problem_treatment is defined), but not the stress and strain fields sig and eto. With this option the latter are not only saved in the global coordinate frame, but also in the material coordinate system, in additional variables sig_lf and eto_lf. This option is very useful for composite materials.

**contour

The contour option indicates that the integration point (material) variables will be stored at the nodal positions in the file problem.ctnod. Material variables are extrapolated to the nodal positions for all the elements. Each node has therefore a number of extrapolated values for each material variable to be stored, equal to the number of elements connected to that node. The recorded output value at the node will be the arithmetic mean of the individual element extrapolations. Data stored in this way will incorrectly smooth stress discontinuities across material boundaries. Such output is however better in the single material case because it assures continuity of variable fields from one element to another.

**no_contour

This option allows to disable storage of the integration point (material) at the nodal positions in the file problem.ctnod.

**contour_by_element

This output option causes the material variables to be saved at nodal locations by extrapolation, element by element. The data is stored in a binary file named problem.ctele. Element extrapolation leaves the discontinuities at boundaries, and will thus represent the multi-material interfaces correctly. Each node will have a number of values stored in the output file corresponding to each attached element.

The magnitude of discontinuity as observed using this method of extrapolation may often be used as a measure of the mesh quality. Better meshes should show small differences element to element in the material variable values.

**no_contour_by_element

This option allows to disable extrapolation and storage of the material variables at nodal locations, element by element, in the file problem.ctele.

**component

This option allows direct specification of the material variables to be stored. This allows a reduction of the output file sizes by limiting the material variables output, or outputting of secondary variables not normally stored by the default output.

The code does not verify that the variables exist, as that would pose problems for multi-material problems having a defined variable in one element set only. The stored value for undefined variables will always be zero. Note that if a variable is forgotten with this option it will be required to re-run the entire problem to obtain its value. It is also essential to leave this option untouched when using the ***restart options.

Syntax is the following:

**component

name1 name2 …

where name# are the variable names to be output. One may see all the variable names defined by each material law by running Z-set with the verbose -v command line switch, or using the **verbose option (see below).

**save_parameter
2See also **save_coefficients in the Materials Manual, that saves material parameters.

This option indicates that we wish to store the parameters defined in the calculation 2See also **save_coefficients in the Materials Manual, that saves material parameters.. The parameters are either stored in the file problem.node or problem.integ, depending on their base location. These parameters can then be examined together with the calculation results in Zmaster, or used in post-processings.

**frequency

This option adjusts the frequency of output storage for all the options within an ***output block. The option allows a variety of definitions in problem time or in increments. If a given output time does not correspond directly to a discrete calculation time, the next solution after the requested time will be output. The problem is always stored at the end of the calculation.

The sub-options are described below:

  • *dtime sets the output in by increment of time. This option takes a single real value for the increment of time between each output.

  • *at specifies the exact times for output. This option takes a list of real values for the output times.

  • *increment outputs at every specified number of increments. The option takes a single integer which defines the increments between outputs. For example *increment 3 will store increments 3,6,9, etc.

  • *cycle outputs only during the specified cycles numbers. Any number of integer cycle numbers may be entered after the keyword.

  • *period outputs only during the specified time interval

**test

is used to output specific data in an ASCII text file. Giving an optional character name after the **test option will define the name of the output file for all the variables specified after this option. By default, the filename will be the output name (as given after ***output or the problem name in the absence of an output name), suffixed by .test.

The output data will be controlled by a variety of options:

*plot

specifies that the output file is to be stored in column format (recommended). This allows direct plotting of the output data. The variable names will be listed at the head of the file with the # character before (a standard comment character).

*precision

gives the precision for the output variables (number of digits after the decimal). All variables are output in exponential form. The default precision is 6 decimal places.

*small

gives the value below which the result must be considered zero. Default value is \(10^{-9}\).

*gauss_var

Specifies output of Gauss point data. The syntax requires the element number (integer) followed by the local Gauss point number (integer - numbering is described in the appendix). After the Gauss point specification an unlimited list of character names for the material variables to be output is given. These names may be any of the valid material names as viewed while running with the -v command line switch.

*node_var

This option specifies that nodal quantities are to be output. The syntax requires a node number (integer, or alternatively the name of a nset containing a single node) followed by a list of character names for the nodal variables to be output. The variables may be DOF names (such as U1, U2, etc) or DOF reactions prefixed with an R (such as RU1, RU2, etc), or coordinates (X, Y, Z).

*point_var

Output data at a point defined by its coordinates. This option is especially useful for computations with remeshing (where node_var is not appropriate).

*nset_var

Stores nodal reactions as summed over a node set. The syntax requires a node set character name to be given followed by a list of the nodal DOFs from which the reaction is to be taken. Note that the R is not given here. An example is *nset_var top U2 which will output the applied load (\(F_2\)) over the surface defined by the node set top.

*liset_var

Output data along a line set. Data is output in separate files for each output time, so it is strongly suggested to use the **frequency option. The syntax takes a liset name, and a list of variables to be output on the liset. The standard definitions X, Y and Z may be used to output the coordinates. Any other nodal variable is possible to output on the liset. If material variables are demanded, they will be output using an averaged extrapolation of the adjacent elements. Example:

``*liset_var outside Y  U1 U2 RU1``
*node_extrapolated

Material variables will be extrapolated to the nodal coordinates. The syntax takes the node number, followed by a list of integration variables.

``*node_extrapolated 22 sig22``
*element_node_var

Material variables will be extrapolated to nodes using the shape function of a single element. This gives the extrapolated value valid on a material interface where there are may be variable discontinuities.

``*element_node_var  14 22 sig22``

Note that mixing of the *-_var options may be given in order to force sequential output of all the variables.

**curve

This option is identical to **test with the *plot sub-option automatically set.

**store_global_matrix

allows storage of the global matrix associated to the structure’s mesh in a file. The matrix may thus be saved at different points in the calculation and re-used for the calculation of resonant eigen frequency analysis of the pre-loaded structure ( see ***preload). The syntax is the following:

**store_global_matrix \(~\,~\,\) matrix_name when filename \(~\,~\,\) [ … ]

where matrix_name is the name of the matrix to be stored, when is the time at which the matrix is to be saved, and filename is the filename to be used for the matrix. Currently the only value for matrix_name is stiffness_matrix which stores the global problem stiffness, or conduction_matrix for thermal problems. Such triplets may be repeated, in order to write the matrix at different times.

**verbose

Specifies verbose screen output during the calculation. As the screen output is stored in the file problem.msg this option may create a very large file for long (many increments) problems. It has been found that the .msg file may rapidly become larger than the primary output files so verbose output is not normally set. This option is equivalent to using the -v command line switch. The verbose option is especially useful in problem setup, however, as it causes output of the local material variables to the screen.

**no_defaults

Cancels all the default parameters. If used alone, this totally cancels the output.

**reaction, ele, node

Enables (resp. disables for the no_ prefixed options) the storage of these values in the results files.

Example#

***output
   **test
    *precision 4
    *small 1.e-6
     *gauss_var 1 1 evi11 sig22
     *node_var  53 U1
   **frequency
     *dtime 1.5
     *increment 10
   **store_global_matrix
     stiffness_matrix 10.0 disk.stif
***output
   **frequency
     *at_time  30.   60.
               270.  300.
               1770. 1800.
               3570. 3600.
               7170. 7200.
   **contour
   **value_at_integration
   **save_parameter

 ***output
    **no_defaults
    **curve q1.charge
       *nset_var top U2
    **curve q1.dv9
       *node_var 2 U1
       *node_var 25 U1
    **curve q1.stress_strain
      *gauss_var 1 1 eto22 sig22 epcum