Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 90
PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND GRID COMPUTING FOR ENGINEERING
Edited by:
Paper 13

Integration of OpenNURBS, MOAB and Geompack++ with a Python Interpreter

R. Putanowicz

Institute for Computational Civil Engineering, Cracow University of Technology, Poland

Full Bibliographic Reference for this paper
R. Putanowicz, "Integration of OpenNURBS, MOAB and Geompack++ with a Python Interpreter", in , (Editors), "Proceedings of the First International Conference on Parallel, Distributed and Grid Computing for Engineering", Civil-Comp Press, Stirlingshire, UK, Paper 13, 2009. doi:10.4203/ccp.90.13
Keywords: multi-language, programming, meshes, NURBS, SWIG, Python, preprocessing, post-processing.

Summary
This paper presents an effective approach for constructing a preprocessing environment for various computer methods, most notably for the finite element method. The goal of such an environment is to facilitate rapid construction of tools for handling geometric models and their subsequent discretization in the form of meshes.

Scripting languages have for a long time had the reputation of being a very effective programming tool where one can express programming constructs in the most succinct way. They have also proved useful as a viable numerical simulation environment with the best example of Matlab. Another language which gained signofocant attention is Python [3].

Despite all advantages of using scripting languages like Python instead of traditional system languages like C or C++, efficiency concerns still remain, especially when processing complex or large data structures as encountered in scientific simulations. An answer for these concerns can be the use of multi-language environments where a scripting language serves as a convenient, user friendly interface to the compiled libraries and programs performing the most intensive, time consuming tasks.

This paper demonstrates the use of a multi-language programming paradigm for the case of a preprocessing environment. This environment consist of a Python interpreter, the openNURBS C++ library for handling curved geometric models, the MOAB C++ library for handling grid data structures and the Geompack++ [1,2] mesh generator in the form of an executable program. The main concept is to combine all these elements to provide a means for handling curved B-Rep (boundary representation) geometric models (openNURBS), generate meshes on them (Geompack++) and to store and manipulate the meshes with auxiliary information utilising a mesh oriented data base (MOAB).

The ability to construct ones own software tools is in the author's opinion indispensable to fully appreciate the merits of many computational engineering algorithms. One of the ways to gain efficiency while programming is to use an all-inclusive numerical environment like Matlab with its toolboxes. An alternative way advocated in this paper is to use a programming environment based on a modern scripting language such as Python. The paper shows how separate tools for geometry handling, mesh generation and graphical input/output can be used together to form a very useful toolkit. Although the general approach presented in this paper is widely known, then working the details of merging the various tools is not always obvious. This paper explains some of the most obscure aspects of components integration in the hope that it will make easier for other developers to take a similar approach when constructing their own tools.

References
1
B. Joe, "Geompack++ File Formats for Regions and Meshes", Technical Report ZCS2008-01, Zhou Computing Services Ins., March 2008.
2
B. Joe, "Geompack++ Meshing Operations", Technical Report ZCS2008-02, Zhou Computing Services Ins., March 2008.
3
"Python Programming Language - Official Website", http://www.python.org, 2008.

purchase the full-text of this paper (price £20)

go to the previous paper
go to the next paper
return to the table of contents
return to the book description
purchase this book (price £72 +P&P)