***local_post_processing#

Description#

This procedure is used to define the local post computations to apply at nodes or Gauss points. We recall that the local post computations are performed across all stored time points at each location. These operations are therefore primarily temporal, whereas a global post is used for spatial operations such as averaging over volumes. The global operations can however generate similar fields as local computations.

Syntax#

The following syntax summary applies:

***local_post_processing [ **duplicate | **no_duplicate ] [ **elset eset ] [ **file file-key ] [ **ipset ipset ] [ **material_file fname ] [ **nset nset ] [ **output_number out-num-list ] [ **at t1 t2 … tN ] [ **output_to_node | **no_output_to_node ] [ **packet_size size ] [ **process type ] \(~\,\)

The sub options define geometrical groups of concern, time period, material files, and the post treatments to apply. Any number of **process commands can be added in a ***local_post_processing section, and they will all normally have their own sub commands and parameters to enter. The following table summarizes the function of each of these commands, and the pages which follow give the detailed command input syntax.

**duplicate

switches if we allow post processors to create variables with the same name or if the duplicate names are appended with _n# in the **no_duplicate case (default).

**elset

define the element set of concern.

**file

define the type of file where the data will be read. (problem.integ, problem.node…).

**ipset

define the Gauss point group of concern.

**material_file

indicates that a separate material file which is to be used for reading material coefficients if no *model_coef is entered in a *process command.

**nset

define the node set of concern.

**output_number

define the period of time which will be used. The default is the full time period of existing results.

**at

is an alternative to output_number: specific maps can be selected through their time.

**output_to_node indicates that the post output should be directed to a node file and not a

ctnod file. The distinction is that if copying displacement variables the new files can have deformed geometry displayed in Zmaster.

**packet_size

can be used for large output results files to decrease physical memory requirements. In this case post computations are performed by packets of size elements/nodes. Note: This option is not compatible with all data-output formats.

**process

add a new post computation and begin reading the input for it.

Note

In the first instance of **local_post_processing or **global_post_processing the full description of the file/localization (e.g. elset)/output range, etc. must be specified. Subsequent processing entries will however use the last entered data, so that easy switching of local and global post computations can take place.

Example#

The following is another example input from the test Rainflow_test/INP/fatigue.inp:

****post_processing
    ***precision 5
    ***local_post_processing
       **file integ
       **elset ALL_ELEMENT
       **output_number 1-40
       **material_file fatigue.mat
       **process range
         *alpha 0.001
         *var sig
       **process fatigue_S
         *mode simple
         *var sig
       **process multirange
         *var sig
         *reverse 5
       **process fatigue_rainflow
         *var sig
         *mode simple
         *reverse 5
    ***global_post_processing
       **output_number 1
       **process average
         *list_var Dsig NF_S ncyc D1sig NF1
****return

**output_number#

Description#

This command is used to define the period of time which will be active for the post computation.

Syntax#

**output_number [ n1 - n2 | n1, n2, …, nN ]

The user indicates the number of “maps” in the form of a list of integers, or intervals of integers. The elements of the list are separated by commas or blank spaces. The intervals are specified with two integers separated by a dash (-).

In the absence of an **output_number entry, the post-processor will use all the solution maps in the file problem.ut.

Example#

Output numbers have to be specifically asked for. The following input file snippets demonstrate the syntax allowable for this.

% to get outputs 1,2,3,4,5,20,35
**output_number   1-5,20,35
% to get outputs 1 and 20
**output_number   1 20
% to get outputs 1, 20 and 30
**output_number   1,20 30

**at#

Description#

This command selects which maps which will be active for the post computation by their time, rather than by their number. Thus, it is an alternative to **output_number.

Syntax#

**at t1 t2 … tN

Note that specified time steps that do not exist in the results files are ignored. Explicitly specifying t1 t2 … tN in the ***resolution bloc ensures that such maps will exist.

**nset#

Description#

This command defines the nodes to be treated by specifying a node group (nset). One can use the mesher (****mesher) mode of operation to generate these sets.

Syntax#

**nset nset

The groups of nodes nset must of course be defined in the geometry file mesh.geof designated after the instruction **meshfile file in the file problem.ut. All the nodes of this group will be taken into account for the post calculation. To simply designate all the nodes in the structure, one may always use the pre-defined node set ALL_NODE. The nset selection can be modified at any time with a new **nset instruction.

Example#

**nset   surface

% with the following definition in the .geof file:
**nset  surface
10 11 12 13 19 20 22 30 31
...

**elset#

Description#

This option defines the elements to be treated with post computations by specifying an element group (elset). Elsets can be generated in a mesh using the batch mesher (chapter 4).

Syntax#

**elset elset

The group of elements elset must of course be defined in the geometry file mesh.geof designated after the instruction **meshfile in the file problem.ut. All the elements of this group will be taken into account for the post calculation; that is to say that the post computations will be evaluated at all the elements Gauss points. To simply designate all the elements in the structure, one may always use the pre-defined element set ALL_ELEMENT. The elset selection can be modified at any time with a new **elset instruction.

Example#

**elset   wheel

% with the following definition in the .geof file:
** elset  wheel
1 2 3 4 5 6 7 8
...

**ipset#

Description#

This command is used to select the integration point set (ipset) to treat with post computations.

Syntax#

**ipset ipset

The group of Gauss points ipset must be defined in the geometry file mesh.geof designated after the instruction **meshfile in the file problem.ut. Gauss points are specified in the mesh.geof file under the group section **ipset by a series of element/integration point couples (nel/nip with nel the element id and nip the integration point number indexed from 1). The ipset selection can be modified at any time with a new **ipset instruction.

Example#

    **ipset   failure

% with the following definition in the .geof file:
    **ipset  failure
    % nb_gp  elem_id  ip_list
      2      1        1 2
      2      2        1 2
      2      3        1 2
      2      4        1 2

**file#

Description#

This command is used to specify on what types of file the post calculation will be calculated. There is no selection by default.

Syntax#

**file filetype

where filetype is the selection of files to read, among the possible files which were output by the finite element calculation. In the general case, the type of output file produced is the same as the input data file (i.e. if the input is an .integ file the output .integp file has the exact same format with different variables).

The following table is a summary of the different possibilities:

filetype

file read

file created

integ

problem.integ

problem.integp

ctele

problem.ctele

problem.ctelep

ctmat

problem.ctmat

problem.ctmatp

node

problem.node + problem.ctnod

problem.ctnodp + problem.ctnodp

Certain post-processors do not respect this generality. For example node_interpolation reads its input data in the file problem.node but produces results in the file problem.integp.

The “active” file selection can be modified at any instant with a new **file instruction.

Example#

% to select the file extension .integ
% the results will be written in a file with a .integp
% extension
**file  integ

**material_file#

Description#

This command is used to specify the name of a material file containing coefficients when they are necessary. This file can be updated during the progression through the post calculations if it is necessary. The current material file is the one selected by the last instance of this command.

Syntax#

**material_file file

Example#

**material_file  aluminum

Material file syntax#

As this material file can be the same for the finite element, simulation and post processing calculations, it is necessary to localize the post-processor’s specific data. This is done with an entry of the command ***post_processing_data 1Other behavior commands such as ***behavior terminate at the next command of level ***. This effectively distinguishes the components of the material file, just as the **** level commands do in the input file. In this data-entry section, different entries for the different post processors requiring coefficients should be entered. Each section will contain coefficients specific to the post processor given. Coefficients use the COEFFICIENT objects given in the Z-mat manual in Chapter 5.

Note that the COEFFICIENT can depend on the internal variables, auxiliary variables, flux and grad variables, or the external parameters (if the save_parameter option was used for the later).

***post_processing_data \(~\,\) **process PROCESS [ option1 … optionP ] \(~\,~\,~\,\) name1 COEFFICIENT \(~\,~\,~\,\) …. \(~\,~\,~\,\) nameN COEFFICIENT

The optional input parameters option1 … optionP can be used to specify the particular use of the given post computation by giving an application option keyword, the tensor or variable on which it operates, etc.

The names name1 … nameN are the local names of the coefficients necessary to define for the corresponding calculation. These coefficient names are given for each process computation in the manual sections which follow.

Example#

***post_processing_data
 **process  fatigue_S  sig
    M   2400.
    beta  5.
    sigma_l 120.
    sigma_u 450.
***post_processing_data
 **process  creep xtv
    A   temperature
    1400. 1050.
    2350.  900.
    5000.  700.
    r    5.

**process#

Description#

This keyword introduces a post-computation to be added to the set of available results. most post computations take one or more subject variables which will provide the basis of the calculations (e.g. finding principal values of a tensor takes a tensor name as the subject, which could be sig to find the principal stresses).

Post-computations which take subject variables introduced by the key word *list_var are applied uniquely to scalar variables. All the character strings following the key word are interpreted as such.

Certain post-computations which use the keyword *var to introduce the subject variable are applied to either scalar or tensorial variables. In this case, there will also be a command option named *type which is provided to specify the type of variable. Nevertheless, in order to simplify the input, the following variable name convention is given:

  • All character strings which end in 11, 22, 33, 12, 23 and 13 will be interpreted as the name of a scalar variable.

  • Otherwise the character string is interpreted as a tensorial variable name.

The following local post-processor types are available in the standard distribution.

HCF                 LCF                 adiabatic_temperature
base_fatigue        copy                creep
delay               derive              deviator
ductile_failure     eigen2              evcum_sum
external            fatigue_E           fatigue_EE
fatigue_S           fatigue_rainflow    fmax
fmin                format              function
harmonic            hyper_visco         inc_creep_damage
inelastic           initiation          integrate
load                local_frame_axes    mat_sim
max                 min                 mises
multirange          neu_sehitoglu       norm
oxidation           rainflow            range
trace               transform_frame     tresca
triax               z7p