The Abaqus results file in Abaqus/Standard and Abaqus/Explicit (fil) can be read by Abaqus2Matlab to load its data in Matlab and postprocess it in various ways. The extracted results can be used as information for the development of another Abaqus model.


Obtaining results file output in Abaqus/Standard

Obtaining results file output in Abaqus/Explicit

Data item format

Record format


Obtaining results file output in Abaqus/Standard

In Abaqus/Standard the variables to be written in the fil file are selected in a manner similar to the selection of variables for output written in the odb file. If no explicit option for printout in the fil file is specified in the Abaqus input file, no fil file will be generated. Element output, node output, contact surface output, energy output, modal output, and radiation output can be specified as output to the results file, but not all of these result types can be read by Abaqus2Matlab (see Section Classification of results written in fil files). Furthermore, results in the fil file can be obtained at the beginning of a step in which the incrementation scheme has an inherent time scale. In order for Abaqus2Matlab to read a fil file generated by Abaqus/Standard, this has to be written in ASCII format. Therefore, the user has to specify the option:


in the input file, followed by at least one of the options (for results that can be read by Abaqus2Matlab):



The *FILE FORMAT option can be given as model data or as history data, but it can appear only once in the input file.

Obtaining results file output in Abaqus/Explicit

If no explicit option for printing results in a fil file is made in the input file {job-name}.inp of an Abaqus/Explicit analysis, then initially a selected results (sel) file is generated, which has to be converted in a results (fil) file using either of the two options in the command window:

abaqus job={job-name} convert=select

abaqus job={job-name} convert=all

The results file generated in this way is a sequential access file and contains the requested results in binary format. Another way to generate a results (fil) file from an Abaqus/Explicit analysis is to specify in the input file {job-name}.inp the option:


followed by at least one of the following options:



The fil file which is created is in binary format. It can be converted to ASCII format by executing in Abaqus/Command:

abaqus ascfil job={job-name}

As a result of this, a file {job-name}.fin will be generated, containing the data of the {job-name}.fil in ASCII format. The fin file can be postprocessed by Fil2Matlab much like a fil file in ASCII format.

Data item format

Any data item contained in a results file can be either integer, floating point number or character string. Integers begin with the character I, followed by a two digit integer which shows the number of the digits of the integer, followed by the integer itself. If the number of digits of the integer has one digit, the first character after character I is a blank space. For example, integer number "8" would be written as "I 18" and integer number "9999999999" would be written as "I109999999999". Floating point numbers begin with the character D, followed by the number in the format E22.15 or D22.15, depending on the precision (single or double respectively). For example, number "0.5" in double precision would be written as "D 5.000000000000000D-01". Character strings begin with the character A, followed by eight characters. If the length of a character string is less than 8, then the trailing positions are filled with blank spaces. If the length of a character string is larger than 8, then the character string is written in consecutive character strings, eight characters at a time. For example, "HOMOGENEOUS TENSION FOR ELEMENT 1" would be written as "AHOMOGENEAOUS TENSAION FOR AELEMENT A1 ". Note the seven trailing blank spaces after the last character ("1") in the last character string.

Record format

The results file is a sequential file, meaning that it contains and stores data records in a specific order. It must be read from the beginning, up to the location of the desired data. All data items are converted into equivalent character strings and written in series which are called (logical) records. Each single line of a results file contains a series of 80 string characters, which may contain whole or part of a record. In the latter case, after completely filling the first line in which a record begins, the record string continues at the subsequent lines till the end of the record. If a record string ends before the end of a line, then the next record starts immediately after the current record in the same line, with continuation in the subsequent lines as explained above. The beginning of each record is indicated by an asterisk (*). Within each record, the data items are arranged immediately behind each other, and therefore it is possible that the end of a line splits a data item, with its first characters belonging to a line and the remaining characters belonging to the next line. The last line of the results file, if partially completed, is filled with blank spaces until the end of the line. Then, a logical record consisting of 80 blanks is inserted as the next line, in order for the end-of-file to be handled correctly. Each record has the format shown in Table 1.






Record length (L)



Record type key




Table 1: Format of a record written in an Abaqus results file.

The location number denotes the position in the record, where a series of consecutive data items is written. The number of data items in each series is denoted by the length number. The first series of data items (consisting of a single data item) is an integer showing the record length, i.e. the number of data items which the record contains. The second series of data items (also consisting of a single data item) is an integer showing the record type key. The record type keys are standard indicators set in Abaqus by convention, and denote the type of data which the record includes. The data items which actually provide useful information for the user (or attributes) are contained in a series of L-2 data items, at the 3rd (and last) position of a record. For example, record key 1900 (Record type: Element definition) for a CPE4R element with element number 2 and nodes 5, 6, 7, and 8 would be written as follows:

*I 18I 41900I 12ACPE4R I 15I 16I 17I 18

and record key 101 (Output variable identifier: U, i.e. displacements) for node 145 and displacements for the 6 degrees of freedom equal to (0.2000000029802322, 0.00, -0.07500000298023224, 1.732049942016602, 1.732049942016602 and 1.732049942016602) would be written as:

*I 19I 3101I 3145D 2.000000029802322D-01D 0.000000000000000D+00D-7.50000029802322 4D-02D 1.732049942016602D+00D 1.732049942016602D+00D 1.732049942016602D+00

In a data record which contains complex values (e.g. in a steady-state analysis), all the real components of the data record are written first and all the imaginary components follow immediately. For example, record key 101 (Output variable identifier: U, i.e. displacements) for node 1 and complex displacements for the 6 degrees of freedom equal to (-1.621881950939540e-16+0.50939i, 0.004367975320916413+0.67975i, -1.558539209401511e-15+0.055i) would be written as:

*I 19I 3101I 11D-1.621881950939540D-16D 4.367975320916413D-03D-1.558539209401511 D-15D 0.509390000000000D+00D 0.679750000000000D+00D 0.055000000000000D+00


The types of output that can be written to the results file are the following:

element output, nodal output, energy output, modal output, contact surface output, and section output

element matrix output

substructure matrix output

cavity radiation viewfactor matrices

It is possible that a model is defined as an assembly of part instances, the nodes and/or the elements of which have repeated numbering definitions. In this case the local node and element numbers are converted internally into global node and element numbers, which are unique for the model being analyzed. The output in the results file is given in terms of these global identities. A map between user-defined numbers and internal numbers is printed to the data file (*.dat) if any results file output that includes node and element numbers is requested. Set and surface names that appear in the results file are given along with their corresponding assembly and part instance names, separated by underscores. For example, if Set1 is the name of a set or surface of part Part1, which is instanced in the assembly Assembly1, then this set appears with the name Assembly1_Part1_Set1 in the results file. To minimize the size of the fil file, specification of as many output variable identifiers as possible for each option associated with a definition of results file output request is recommended.

Abaqus2Matlab - www.abaqus2matlab.com
Copyright (c) 2017 by George Papazafeiropoulos

If using this application for research or industrial purposes, please cite:
G. Papazafeiropoulos, M. Muniz-Calvente, E. Martinez-Paneda.
Abaqus2Matlab: a suitable tool for finite element post-processing.
Advances in Engineering Software. Vol 105. March 2017. Pages 9-16. (2017)

Created with an evaluation copy of HelpSmith.
To remove this notice, you should purchase the full version of the product.

We support Ukraine and condemn war. Push Russian government to act against war. Be brave, vocal and show your support to Ukraine. Follow the latest news HERE