Filtering Output and Operating on Output in Abaqus/Explicit

You can pre-filter element and nodal field output and element, nodal, contact, integrated, and fastener interaction history output before it is written to the output database. You can also operate on filtered or unfiltered (raw) output data to extract the maximum, minimum, or absolute maximum of the output variables over time. In addition, you can set a limit value for the output variables, and you can stop the analysis at the time this limit is reached. For field output the time at which the maximum, minimum, and absolute maximum were reached or the time when the limit was reached is output by default for each output variable.

This page discusses:

If you filter a field output request that includes many output variables and applies to the entire model, the memory requirements and the running time will both increase. For common output requests consisting of a few element output variables and a few nodal output variables the memory requirements and the running time will not increase substantially.

Defining a Low-Pass Infinite Impulse Response Digital Filter

You can define three types of low-pass Infinite Impulse Response filters as part of the model definition. Typical magnitude curves for analog type filters are presented in Figure 1, where Ωc represents the normalized cutoff frequency, which is the ratio of the cutoff frequency to the sampling frequency (the sampling frequency is the inverse of the time increment).

Typical magnitude curves for low-pass filters.

The Butterworth filter is very common; its response in the pass band is known as maximally flat. The Type I Chebyshev filter has a sharper transition between the pass band and the stop band, but it has a ripple in the pass band. The Type II Chebyshev filter also has a sharper transition between the pass band and the stop band than a Butterworth filter of the same order, but it has a ripple in the stop band. The higher the order of the filter, the narrower the transition band. However, the computational cost increases as the order increases. In addition, for high-order filters the phase lag, which is the time delay between the filtered and unfiltered signal, may become significant. For most applications filter orders of two or four are sufficiently accurate.

To define a Butterworth filter, you must specify the cutoff frequency, fc , and the filter order, N. Since the implementation of the filters is done using cascades of second-order sections, Abaqus expects an even number for the filter order. If you specify an odd number for the order, the order will be increased internally to the next even number. The default value for the order is two, and the highest order that can be prescribed is twenty. For the Chebyshev filters you must also specify an additional parameter, the ripple factor. The ripple factor is equal to ϵ for a Type I Chebyshev filter and is equal to 1/A for a Type II Chebyshev filter (see Figure 1).

No checks are performed to ensure that the cutoff frequency is appropriate; for example, Abaqus does not check that only the noise of the signal is eliminated. You need to know the range of the physical frequencies that are expected in the solution, and you must prescribe a cutoff frequency greater than these frequencies. In addition, the cutoff frequency should be less than half the sampling frequency; otherwise, no filtering is performed. Abaqus internally remaps (using a quadratic interpolation) the output raw data so that the filtering can satisfy the constant time-increment (sampling) requirement.

Defining the Filter Type

You must assign each filter definition a name that can be used to refer to the filter from an output request.

Start-Up Conditions for the Filter

By default, the values of the variables at time zero (zero increment) are used as the initial conditions (or start-up conditions); however, you can change this initial value.

Filtering Using the Low-Pass Infinite Impulse Response Filters

To pre-filter element, nodal, contact, or integrated history output or element and nodal field output based on one of the low-pass Infinite Impulse Response filters that you defined, you refer to this filter by name from the output request.

Filtering the Output Based on the Time Interval

For history output you can request that Abaqus/Explicit create an antialiasing filter that is internally based on the time interval specified in the output request. The cutoff frequency is set internally to one-sixth of the time frequency (the time frequency is the inverse of the time interval, t, used for history output). If no time intervals are specified, the default number of history output intervals is used to create the cutoff frequency of the filter. You can also use antialiasing filters for a field output request, but in this case the cutoff frequency is set to one-sixth of a time frequency corresponding to two hundred time intervals per step if less than two hundred field frames are requested. If more than two hundred field frames are requested, the cutoff frequency is set to one-sixth of the requested time frequency. The antialiasing filter is a second-order Butterworth type and a filter definition is not required.

Abaqus/Explicit does not check whether the specified time interval for history output provides an appropriate cutoff frequency to build the internal filter. You should know approximately how many data points are required to describe your history curve (or signal) accurately, and Abaqus/Explicit will give you the most physical (un-aliased) representation of the signal for that number of points. Similarly for field output Abaqus/Explicit does not check whether the cutoff corresponding to two hundred sampling intervals or more (if you request more than two hundred frames) is appropriate for your analysis. If a lower (or higher) cutoff frequency is needed, you should define the filter in the model data.

Filtering Field Output or History Output Written at Time Intervals

You can apply a filter to a field output request or a history output request written at intervals of time in your analysis.

Filtering Field Output Written at Evenly Spaced Intervals of Time

You can apply a filter to a field output request written at evenly spaced time intervals in your analysis.

Requesting Maximum, Minimum, or Absolute Maximum Values for an Output Request

You can apply a filter to a field output request or a history output request to obtain the maximum, minimum, or absolute maximum values for each variable in the output request. The absolute maximum option enables you to obtain the largest absolute value, negative or positive, for each variable in the output request. Abaqus evaluates maximum, minimum, or absolute maximum values at every increment during the analysis and reports these values at the time given by the output interval specified in the output request. For field output requests the last output frame will contain the maximum (or absolute maximum) value and minimum value over the entire step; the intermediate frames will show the maximum, minimum, or absolute maximum value up to the frame time. An additional output variable containing the time when the maximum, minimum, or absolute maximum occurred is output automatically for each output variable requested. This time output is written by default (and it cannot be suppressed).

For field output requests Abaqus filters by default each component of tensor and vector quantities of output variable independently and provides separate maximum, minimum, or absolute maximum values for each component of the variable. You can, however, request the maximum or minimum value or apply a limit value to an invariant such as Mises stress for element output or magnitude for nodal output (see Applying Bounding Values to Invariants).

Requesting Maximum, Minimum, or Absolute Maximum Values for Filtered Output

You can define a low-pass digital filter that returns the maximum, minimum, or absolute maximum value for output requests to which it is applied.

Requesting Maximum, Minimum, or Absolute Maximum Values for Unfiltered Output

You can define a filter that returns the maximum, minimum, or absolute maximum value for output requests to which it is applied without performing any digital filtering of the data.

Setting an Upper or Lower Limit on Variables in an Output Request

You can apply a filter to a field output request or a history output request to prescribe a bounding value for the variables in the output request. If any of the variables in the output request reach a value higher than the maximum limit, lower than the minimum limit, or greater than the absolute maximum limit, Abaqus returns the limiting value. The time at which the limit was reached is output separately for each requested variable. This time output is written by default (and it cannot be suppressed). You can also request an additional field output frame when the limiting value is reached.

Setting an Upper Limit or a Lower Limit for Filtered Output

You can define a low-pass digital filter that enforces an upper or lower bound for the variables in the output requests to which it is applied.

Setting an Upper Limit or a Lower Limit for Unfiltered Output

You can define a filter that enforces an upper or lower bound for the variables in the output requests to which it is applied but that does not perform any Butterworth or Chebyshev filtering of the data.

Requesting an Extra Output Frame for Filtered or Unfiltered Output

You can capture, on demand, the analysis state through field output requests when the value of an output variable reaches a specified upper or lower bound. All of the on demand field output is written soon (usually within two increments) after the increment in which the bounding value is reached. Once the criterion is met, the feature is turned off automatically to avoid repeated on demand output. If necessary, you can use the feature multiple times with varying bounding values.

Stopping an Analysis or Concluding a Step When an Output Variable Reaches a Prescribed Limit

You can apply a filter to a field output request or a history output request that stops the analysis or concludes a step when the value of any variable in the output request reaches a specified upper bound or lower bound.

Stopping an Analysis or Concluding a Step of Filtered Output When a Variable Reaches a Prescribed Limit

You can define a low-pass digital filter that stops the analysis or concludes a step if any of the variables in the output requests to which it is applied reach a prescribed limit.

Stopping an Analysis or Concluding a Step of Unfiltered Output When a Variable Reaches a Prescribed Limit

You can define a filter that does not perform any Butterworth or Chebyshev filtering of your output data and stops the analysis or concludes a step if any of the variables in the output requests to which it is applied reach a prescribed limit.

Applying Bounding Values to Invariants

By default, each component of a tensor or vector quantity is filtered individually and the maximum, minimum, or absolute maximum value and the limiting values are reported separately for each component. You can, however, apply a filter directly to an invariant. In this case Abaqus internally monitors the invariant you specified. Abaqus still writes the components to the output database, but these components correspond to the maximum, minimum, or limiting values of the invariant. Table 1 shows which invariants are available for output variable categories.

Table 1. Invariants available for output variable categories.
Category First invariant Second invariant MaxP IntermP MinP
All nodal vector output Magnitude
Stress element output Mises Press SP3 SP2 SP1
Logarithmic strain output LEP3 LEP2 LEP1
Nominal strain output NEP3 NEP2 NEP1
Thermal strain output THE3 THE2 THE1

Applying Bounding Values to Invariants of Filtered Output

You can define a low-pass digital filter that filters the invariant.

Applying Bounding Values to Invariants of Unfiltered Output

You can define a filter that does not perform any Butterworth or Chebyshev filtering of your output data and filters the invariant.

Output Variables Available for Filtering

Low-pass Infinite Impulse Response filters such as Butterworth and Chebyshev filters are intended for filtering of output variables susceptible to noise, such as accelerations and reaction forces or, to a lesser degree, stress and strain. However, digital filtering is allowed for most element and nodal output variables, and you can apply bounding values on unfiltered data for nearly all element and nodal output variables. Table 2 shows the set of output variables that cannot be digitally filtered but to which you can apply bounding values, and Table 3 shows the set of output variables for which neither digital filtering nor application of bounding values are allowed.

Table 2. Output variables to which bounding values can be applied but digital filtering cannot be applied.
Category Output variables
Tensors and invariants PEEQ
State and field variables TEMP, FV
Energy densities ENER, SENER, PENER, CENER, VENER, DMENER
Additional plasticity quantities PEQC
Cracking model quantities CKSTAT
Whole element variables EDT, EMSF, ELEDEN, ESEDEN, EPDDEN, ECDDEN, EVDDEN, EASEDEN, EIHEDEN, EDMDDEN, ELEN, ELSE, ELCD, ELPD, ELVD, ELASE, ELIHE, ELDMD, ELDC, STATUS
Nodal output variables NT, COORD
Table 3. Output variables that cannot be digitally filtered or modified with bounding values.
Category Output variables
Cracking model quantities CRACK
Element face variables STAGP, TRNOR, TRSHR
Whole element variables GRAV, BF, SBF, P
Nodal output variables CF
Total energy output ALLAE, ALLCD, ALLFD, ALLIE, ALLKE, ALLPD, ALLSE, ALLVD, ALLWK, ALLIHE, ALLHF, ALLDMD, ALLDC, ALLFC, ALLPW, ALLCW, ALLMW, ETOTAL
Time increment and mass output DT, DMASS, SSPEEQ, SSSPRD, SSFORC, SSTORQ