The field of scientific computing requires not only the topological
and geometrical outlines of the simulation domain, but also requires
the quick and easy specification of quantities within these domains to
set both parameters and boundary conditions. Python has enjoyed a
growing community of developers and users due to the easy availability
of several different programming paradigms within a single language.
Furthermore, its syntax and semantics are, by design, simple and exhibit many of the
required features. However, Python lacks the essential feature of
consistent and efficient traversal of simulation domains, as well as
quantity storage mechanisms.
It is for this reason that the Typhoon Python module has been developed. This module makes
the high performance traversal and quantity storage mechanisms of the Generic Scientific Simulation Environment
(GSSE), which was also developed at this institute, available to
Python.
Due to the overhead of the interpreter, Python modules need to be based on highly optimized libraries written
in a variety of compiled languages, which are made available to Python
via a wrapping layer, in order achieve acceptable performance. The multi-paradigmatic nature of both
C++ and Python makes combinations of these two languages very
appealing. Not only does C++ offer several paradigms concurrently, it
also offers a high degree of run-time efficiency. However, the great
multitude of features and possibilities offered by C++ along with its
strong typing mechanisms are often perceived as obstacles to the rapid implementations of prototypes, especially
by beginners to programming. On the other hand, Python has become known as a language which is easy to
learn.
By making the topological traversal and quantity storage mechanisms
available to Python, the ease of use and rapid prototyping are greatly
facilitated.
|