摘要:Python is a modern but mature, easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python codes are quickly developed, easily debugged and maintained, and can achieve a high degree of integration with other libraries written in compiled languages. Those characteristics make Python an ideal candidate for writing the higher-level parts of large-scale scientific applications and driving simulations in parallel architectures like clusters of PC’s or SMP’s. In this work, we present some parallel finite element simulations driven in a cluster of PC’s using the Python programming language. Our previously developed MPI, PETSc and ParMETIS packages are used together to deploy a model parallel FEM framework, integrating an important subset of OOFELIE toolkit, a sequential C++ code for FEM simulation and development. Our main concern is in showing the advantages of using high-level scripting languages for the high-level part of that kind of codes, where parallelization introduces some extra complexities.
其他摘要:Python is a modern but mature, easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python codes are quickly developed, easily debugged and maintained, and can achieve a high degree of integration with other libraries written in compiled languages. Those characteristics make Python an ideal candidate for writing the higher-level parts of large-scale scientific applications and driving simulations in parallel architectures like clusters of PC’s or SMP’s. In this work, we present some parallel finite element simulations driven in a cluster of PC’s using the Python programming language. Our previously developed MPI, PETSc and ParMETIS packages are used together to deploy a model parallel FEM framework, integrating an important subset of OOFELIE toolkit, a sequential C++ code for FEM simulation and development. Our main concern is in showing the advantages of using high-level scripting languages for the high-level part of that kind of codes, where parallelization introduces some extra complexities.