A Library distributed under LGPL license that allows you to automate the post-processing of Nastran and Samcef  finite element results

FeResPost library System requirements Documentation Downloads Mailing list Examples License

FeResPost library description

FeResPost library

FeResPost is a  library that allows you to read Nastran and Samcef finite element models and results, and to automate post-processing operations.
Depending on the programming language being used (Ruby, Python, VBA, C#, C++...), FeResPost allows to program a wide variety of programs ranging from small scripts to large programs containing user-defined Classes and Modules, and allow to perform complex operations.
(The scripting capability of FeResPost can be very useful to automate simple tasks as automating the creation of connections, modifying element properties, creating temperature or force fields...)

Structural analysis

The structure analysis of complex structures often leads to repetitive tasks. This is related to :
This explains why engineers involved in structural analysis are often also programmers. The need for automation leads them to use spreadsheets, use third party programs to accelerate the justification, or write its own post-processing programs. FeResPost can help in the development of these small programs!

How can FeResPost help?

  The main purpose of the program is to download and manipulate Result entities in order to calculate margins of safety. Possible operations that can be performed on ``Result'' objects are, for example :
So far, these results can be read from Nastran XDB or OP2 files, or from Samcef DES/FAC files. The corresponding finite element models can also be important from Nastran Bulk BDF files, or Samcef Bacon DAT files.
The groups of elements and nodes can be read from Samcef DAT or Patran session files. Manipulation of these Groups, by addition, substraction, intersection, associations are possible.
FeResPost allows the simultaneous manipulation of several models by defining several NastranDb  and SamcefDb objects, and different Nastran and Samcef models can be manipulated simultaneously.
FeResPost also allows the calculation of composite structure by providing severeal classes for the Classical Laminate Analysis (CLA). Among other things, the CLA classes of FeResPost allow to :
The CLA classes can be used separately from the finite element results, but also used together with  finite element results. This allows for example to:

FeResPost library Classes and Modules

The library provides an access to 7 classes and 2 module allowing the manipulation of FE entities and results. The 7 classes are :
The ``Post'' module gives access to several additional functions.
Four classes used to perform Classical Laminate Analysis calculations are also provided:
The CLA classes are interfaced with the rest of FeResPost and allow to post-process very efficiently composite finite element Results.
The program is mainly written in C++, and different wrappings are proposed around the C++ code (Ruby, Python, COM and .NET). This solution ensures that the program is easy to manage and that the program remains efficient because costly operations are done at C++ level (compiled language efficiency).
FeResPost requirements and other programs

System requirements and other programs


    So far, Results of Nastran and Samcef solvers can be post-processed:



Operating systems and programming languages

The library is distributed as a ruby extension (LINUX and Windows), as a COM component (Windows only) and as a .NET assembly (Windows only).  In order to use FeResPost you need to install first one of the corresponding programming languages :
The programming language in which all those operations are programmed is object oriented and allows the development of very sophisticated and large post-processing programs, or very small tools, according to the wishes of the programmer.

Other resources

Besides the installation of the programming language you wish to use, a few other programs may help you to develop scripts using FeResPost. The examples distributed on this web site and discussed in the User Manual sometimes assume that thos programs have been installed on your computer. For example:
FeResPost library description

FeResPost Documentation

An online HTML manual is available, but we advise to download the PDF version :
The manual presents the different classes defined in FeResPost library, with the associated properties and methods. It also illustrates the use of different FeResPost objects with examples.
FeResPost downloads

FeResPost Downloads

Latest version is version 4.4.2!


One distributes two archives containing the examples. (The content of these two files are the same.)
The examples contain a small satellite Nastran finite element model, and numerous post-processing examples :
Some of these examples are very small and illustrate simple extraction of results from XDB or OP2 files, with a very limited number of manipulations. But one also proposes examples corresponding to entire post-processing projects that could be used readily in a real project. (These examples are provided as Ruby programs, or in excel workbooks.)

One suggest however, that the user reads the examples in the order in which they are defined, starting with the ruby examples, as this is the only way to really understand the use of FeResPost objects.


As FeResPost is distributed under the LGPL license, the sources are also distributed for re-compilation or modification and re-distribution :
(See also the "last contributions" below.)

Binaries and older versions

Binaries are distributed for several versions of FeResPost and include ruby extensions for Linux and Windows, COM component for Windows, and a .NET assembly. The FeResPost C++ library is also distributed for latest versions, but one recommends to use static linking for your own programs and to recompile yourself the FeResPost classes.

Sources of FeResPost are distributed for the different published versions of the library. These include the C/C++ sources, the examples, and possibly the PDF manual.

Because the submission of a new official issue of FeResPost is time consuming, one often publishes "un-official" distributions of the current version including small bug-fixes. Therefore, we suggest FeResPost users to regularly check the LAST CONTRIBUTIONS for latest sources or binaries.

Third party contributions

One also distributes a third-party contribution, but without any support :

FeResPost downloads

FeResPost mailing list

You can visit or subscribe to FeResPost Google group :

Subscribe to FeResPost Group

E-mail :

Visit this group

If you have a question to ask, a bug to report, we would appreciate that you do it via FeResPost google group, so that others can benefit of your remarks as well.
FeResPost library description


We propose below a few small scripts illustrating the use of FeResPost to automate operations on finite element models, groups, results...

The examples listed below are only a small subset of the examples distributed with FeResPost. FeResPost examples:

(The content of these two files is acutally the same so that you need to download only one of them.) 

Examples with Ruby

Ruby script for reading Nastran BDF file 

Examples with Python

Python script for reading Nastran BDF file
Python script for the manipulation of Groups

Python script for the extraction of results from Nastran XDB file

Python script for the extraction of information from Nastran XDB file

Examples with COM component

The examples presented here are using FeResPost COM component:
  • This limits the applicability of the examples to Windows platforms. As far as we know, the COM component cannot be used on UNIX/LINUX platforms.
  • On the other hand, the COM component can be used with various languages that support COM. For example: Ruby, Python, Perl, VBA, C++, C,...
FeRespost is distributed with examples of scripts using COM component and written in different languages (Ruby, Pyhton, C++, VBA). We think however, that VBA is particularly interesting for it allows you to access FeResPost from excel. We present below examples of FeResPost being used from excel:

Classical Laminate Analysis in excel using FeResPost COM component

Extraction of Nastran XDB file results into axcel using FeResPost COM component

Post-processing a large selection of load cases on an entire structure with excel using FeResPost COM component.

Examples with C#

A C# program using FeResPost .NET assembly and that reads stresses from Nastran OP2 file

FeResPost license

FeResPost license

FeResPost is distributed as a LGPL resource. This means that it is free, and that you can modify and re-distribute it gratis as long as you comply with ther therms of the LGPL license. (These are given in an Appendix of the User Manual.)

The LGPL license (Lesser General Public License) is similar to GPL license (General Public License) but is mess restrivtive more adapated to software distributed as libraries and allows prorprietary software to link their code to a library distributed under LGPL. The text of LGPL license is given in an appendix of FeResPost Reference Manual.