When sizing a structure with FE software, the engineer is often led to use or develop tools that automate the computation of margins of safety, reserve factors or other results from outputs obtained with a FE solver. Then the engineer is facing several problems:
They have to take into account the possibility of modifications of the structure and of its corresponding finite element model during the project.
Also, the allowables may change during the course of the project.
Sometimes, the calculation methods are imposed by a client or a methodology department in the company, and these methods may also be modified, or be defined concurrently with the sizing activities.
For long duration projects, the members of the calculation team are often displaced as the work proceeds, and time is lost to transfer the information from one engineer to another.
All these problems create difficulties in the management of automated post-processing. The scripts must be as simple and clearly written as possible to allow easy understanding by everyone. Their architecture must also be flexible to make modifications easy to implement and reduce the risk of errors.
The problems mentioned above are very similar to the kind of problems a programmer is facing when writing a large program. To help the programmer in this task, object-orientation emerged as a key programming language concept. Object-oriented languages allow the development of more flexible programs with a better architecture and allow the re-usability of code. Many object-oriented languages are now available. They can be compiled languages (C++, Fortran 90,...) or interpreted ones (Ruby, Python, Visual Basic,...).
FeResPost is a compiled library devoted to the programming of automated post-processing of finite element results. It provides the definition of several classes and one module. It uses object orientation at two levels:
With object-oriented languages, it allows the writing of interpreted, object-oriented automated post-processing. An example of such an object-oriented post-processing program is given in Chapter IV.4.
The FeResPost library is mainly written in C++, which is also an object-oriented language. Then a Ruby wrapping is provided around the C++ code.
During the development of FeResPost, the developer has been trying to maintain as much as possible the simplicity and clarity of the language in which post-processing programs are written.
FeResPost can be accessed from different languages and on different platforms:
As a ruby extension. Binaries are available for Windows and Linux distributions of ruby.
As a Python compiled library on Windows and Linux.
As a COM component on Windows. Then, the library can be used with different languages that support COM interface: C, C++, ruby, Python, VBA...
As a .NET assembly that allows the programming with VB.NET, C++.NET, C#...