Nastran or Samcef with Python, Ruby, VBA, C#, excel...

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 Install Mailing list Examples Videos 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:

Who should use FeResPost?

The purpose of FeResPost is to automate post-processing operations by programming scripts. This means that FeResPost users must be ready to program his (or her) scripts. Fortunately, several programming languages and environments allow to use FeResPost (Ruby, Python, VBA, C#, C++...).

Some of the examples may give users the feeling that FeResPost provide tools that allow to perform complex operations without programming. It is sometimes true (excel examples). However, the user should keep in mind that those are just examples, and that there is a benefit in understanding how they work. In the case of excel examples, this means that the reading of documentation, the analysis of VBA code, and the testing of code and worksheet modifications will allow significant improved of what is provided.

Those who are not interested or alergic to programming should either "sub-contract" the programming work to their methodology service, or choose Nastran interactive pre- and post-processor (Patran, Femap, Hyperworks, NX...)

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).

by Renaud Sizaire