Computational & Technology Resources
an online resource for computational,
engineering & technology publications |
|
Civil-Comp Proceedings
ISSN 1759-3433 CCP: 100
PROCEEDINGS OF THE EIGHTH INTERNATIONAL CONFERENCE ON ENGINEERING COMPUTATIONAL TECHNOLOGY Edited by: B.H.V. Topping
Paper 3
On the Design of a Parallel, Distributed Multi-Physics Integration Tool B. Patzák, D. Rypl and J. Kruis
Department of Mechanics, Faculty of Civil Engineering, Czech Technical University, Prague, Czech Republic , "On the Design of a Parallel, Distributed Multi-Physics Integration Tool", in B.H.V. Topping, (Editor), "Proceedings of the Eighth International Conference on Engineering Computational Technology", Civil-Comp Press, Stirlingshire, UK, Paper 3, 2012. doi:10.4203/ccp.100.3
Keywords: multi-physics simulations, software integration, object oriented design.
Summary
Numerical simulations are now routinely used in research and industry and are accepted as reliable analysis tools. The existing knowledge in various disciplines has been integrated into advanced simulation tools, that have been developed over many years. In recent years, it becomes increasingly clear, that the focus will be on the integration of existing knowledge from different disciplines to enable further progress in many fields, including structural and material engineering. Therefore, one of the challenges in numerical modeling is to enable the efficient use and inter-operation of a wide variety of problem-specific computational tools to simulate, analyse and understand the complex, multi-physics problems.
The paper presents the design of multi-physics integration tool [1] with object-oriented architecture, facilitating the implementation of multi-physics and multi-level simulations, assembled from independently developed applications (components). It provides a high-level support for mutual data exchange between codes, including support for different discretization techniques and specific field transfer operators, aware of underlying physical phenomena. Each application or application agent is required to implement application and data interfaces. The application interface is intended to provide services for steering individual applications. This interface primarily declares methods for processing and updating solution step state, methods requesting the application and solution state (check for converged state, reporting critical time step, etc.). The data interface enables requests to update solution domains and fields. Also the classes representing and implementing any multi-physics analysis should themselves implement these interfaces. This approach enables the building of a hierarchy of cooperating applications to solve the problem under consideration. The parallel and distributed applications and their aspects are addressed as well. The parallel applications typically come with a distributed parallel data structure and several application instances running on different processors. The aim is to have a unified application data access and steering, hiding the differences between individual applications and allowing the management serial and parallel applications using the same interface. This will be achieved by application agents. These agents will be aware of distributed application data structure, allowing us to execute data request operations efficiently by routing the requests to processes owning the data. The Python [2] language is extended by modules, representing interfaces to existing codes, with specific functionality. The high-level language serves as a glue to tie the modules or components together, to create specialized applications. Also, the application interface can be conveniently realized by wrapping the application code. This approach also allows a single source version of the component code to be maintained. References
purchase the full-text of this paper (price £20)
go to the previous paper |
|