ELEMENT_OUTPUT

Specifies output parameters for a set of elements.

Type

AcuSolve Command

Syntax

ELEMENT_OUTPUT("name") {parameters...}

Qualifier

User-given name.

Parameters

element_set or elem_set (string) [no default]
User-given name of the parent element set. All volume_sets within the given element_set will be considered. Used with type = subset and type = all.
volume_sets or vol_sets (list) [{}]
User-given list of volume sets. Used with type=subset and type = all.
type (enumerated) [= subset]
Type of the user-given elements.
subset
User-given list of elements will be output. Requires elements parameter.
all
All available elements within user-given volume sets and element sets will be output.
elements (array) [no default]
List of element numbers.
integrated_output_frequency or intg_freq (integer) >=0 [=1]
Time step frequency at which to output averaged element quantities. If zero, this option is ignored.
integrated_output_time_interval or intg_intv (real) >=0 [=0]
Time frequency at which to output averaged element quantities. If zero, this option is ignored.
statistics_output_frequency or stat_freq (integer) >=0 [=1]
Time step frequency at which to output statistics of element quantities. If zero, this option is ignored.
statistics_output_time_interval or stat_intv (real) >=0 [=0]
Time frequency at which to output statistics of element quantities. If zero, this option is ignored.
num_user_output (real) >=0 [=0]
Number of user-defined quantities to be included with averaged element quantities. If zero, this option is ignored. If greater than zero, requires user_function.
user_function or user (string) [no default]
Name of the user-defined function that returns num_user_output element quantities. Used with num_user_output > 0.
user_values (array) [={}]
Array of values to be passed to the user-defined function. Used with num_user_output > 0.
user_strings (list) [={}]
Array of strings to be passed to the user-defined function. Used with num_user_output > 0.

Description

This command specifies a set of elements whose quantities are to be averaged by integrating through the volume of the elements. This command then outputs the averaged quantities to disk.

The ELEMENT_OUTPUT command can refer to a subset of elements within a given element set, or to the entire collection of elements. For example,
ELEMENT_SET( "flow" ) {
    shape                           = eight_node_brick
    elements                        = { 1, 1, 2, 4, 3, 11, 12, 14, 13 ;
                                        2, 3, 4, 6, 5, 13, 14, 16, 15 ;
                                        ... }
    ...
}
ELEMENT_OUTPUT( "sample" ) {
    element_set                     = "flow"
    type                            = subset
    elements                        = { 1 ;
                                        2 ; }
    integrated_output_frequency     = 5
    integrated_output_time_interval = 60.0
    num_user_output                 = 0
}

specifies that the volume-averaged quantities over elements one and two are to be output every five time steps, every 60 units of run time and at the last time step. The elements are numbered with respect to the element set "flow". When type = subset, a check is performed to ensure that the IDs are not duplicated within the elements parameter. This condition will cause an error to be issued.

To output all of the elements in the "sample" element set, the following command can be issued:
ELEMENT_OUTPUT( "sample" ) {
 element_set                     = "flow"
 type                            = all
 integrated_output_frequency     = 5
 integrated_output_time_interval = 60.0
 num_user_output                 = 0
}

In this case, the elements parameter is not necessary. The element IDs are taken directly from the element set itself.

There are two main forms of this command. The legacy version, or single topology version, of the command relies on the use of the element_set parameter to define the volume elements. When using this form of the command, all elements within a given set must have the same shape. The alternate, or mixed topology version, of this command relies on the volume_sets parameter to define the elements. For example,
VOLUME_SET( "tetrahedra" ) {
    elements                         = { 1, 1, 2, 4, 3 ;
                                         2, 3, 4, 6, 5 ;
                                         3, 5, 6, 8, 7 ; }
    shape                            = four_node_tet
}
VOLUME_SET( "prisms" ) {
    elements                         = { 1, 1, 2, 4, 9, 10, 11 ;
                                         2, 3, 4, 6, 12, 13, 14 ;
                                         3, 5, 6, 8, 15, 16, 17 ; }
    shape                            = six_node_wedge
}
ELEMENT_OUTPUT( "fluid elements" ) {
    volume_sets                      = {"tetrahedra","prisms"}
    type                             = all
    integrated_output_frequency      = 5
    ...
}

can be used to define a single element output command that contains both tetrahedra and prism elements. All elements defined by the volume sets are output. The type = subset option can also be used with the mixed topology form of this command to select only a subset of these elements. Under these circumstances, the element IDs specified by the elements parameter must be uniquely defined within the volume sets that are specified or an error will be issued.

The mixed topology version of the ELEMENT_OUTPUT command is preferred. This version provides support for multiple element topologies within a single instance of the command and simplifies pre-processing and post-processing. In the event that both the volume_sets and element_set parameters are provided in the same instance of the command, the full collection of volume elements is read and a warning message is issued. Although the single and mixed topology formats of the commands can be combined, it is strongly recommended that they are not.

The element numbers may be read from a file for both the single and mixed topology forms of this command. For the above example, the element numbers may be placed in a file, such as sample.elm:
1
2
and read by:
ELEMENT_OUTPUT( "sample" ) {
   ...
   elements                        = Read( "sample.elm" )
   integrated_output_frequency     = 5
   integrated_output_time_interval = 60.0
   num_user_output                 = 0
}

User-defined quantities may be included for output by specifying a non-zero num_user_output. This quantity corresponds to the vector dimension of the user-defined function given by user_function. See the AcuSolve User-Defined Functions Manual for a detailed description of user-defined functions.

Once the averaged element quantities have been written to disk, they can be translated to other formats using the AcuTrans program and other post-processing modules; see the AcuSolve Programs Reference Manual for details.

If either integrated_output_frequency or integrated_output_time_interval is non-zero, the averaged element quantities will be output at the end of the run. If both are zero, no data are written to disk.

Run times may not coincide with integrated_output_time_interval. In this case, the data are output for every time step which passes through a multiple of output_time_interval.