The Implementation and Use of the "Numerical Offshore Tank"
Marcos Donato and Álvaro Maia da Costa
In the year of 2001, Petrobras invited a pool of Brazilian Universities including USP (University of São Paulo), UFRJ(Federal University of Rio de Janeiro), PUC and UFAL (Federal University of Alagoas), besides the IPT Research Institute, to help in the development and validation of a simulation tool that would provide:
- The use of a Beowulf cluster so that results could be obtained faster without resorting to expensive workstations.
- A strong visualization facility so that it would be possible to gather design engineers and operational people to work together in the design and improvement of our Floating Offshore Units.
- The interaction between the floating units and the mooring lines, through the computation of the coupled hydrodynamic loads and the interaction with real time FEM computation of the behavior of the lines.
- A computational framework where it would be easy to implement and test new theories and approaches for the simulation of the naval units.
At that time, the main difficulties were related to the available computer power. The two most critical areas were:
- Boundary Element Method programs to model the hydrodynamic behavior of the units. The two alternatives are (1) direct time domain simulation and (2) a linear frequency domain simulation with posterior generation of impulse response functions that would be used in the time domain simulation.
- Finite Element Method programs to model the mooring lines, risers, and any connection lines between the units. For this computation there are also many approaches, like (1) the use of a nonlinear spring instead of the line, (2) represent the line through a catenary equation, (3) a faster truss FEM element (4) the slower, complete nonlinear geometric and material Beam FEM element.
The Numerical Offshore Tank, now in its second version, was first developed using the MPI approach (we used MPICH and LAM-MPI). All numerical models available were called through MPI calls in different nodes of the Beowulf Cluster. The main difficulties of this approach were:
- The code that would solve the equations of motion for the system and called the different modules was written in C++, but some programs, like the FEM program was written in FORTRAN and lots of wrapper codes had to be implemented and maintained.
- Some of the codes that we use in the Numerical Offshore Tank also run as stand-alone programs, and as they evolve into new versions with more features, the new versions would have to be re-implemented into the main code. Also the code running in the NOT many times did no have all the features that the stand-alone version did.
In order to overcome these difficulties, the most recent version of the NOT does not use the MPI approach anymore, but we "fork" the processes in the Beowulf nodes. In this new approach, we have the capability to run the processes in non-symmetrical clusters, and even running different operational systems in each node. The advantages and disadvantages of this approach will be discussed, as well as the results obtained and its overall efficiency.