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 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
purchase the full-text of this paper (price £20)
go to the previous paper |
|