A single-code software model for Multiphysics analysis-engine on parallel and distributed computers with the PHYSICA toolkit (original) (raw)

A group based solution strategy for multi-physics simulations in parallel

Applied Mathematical Modelling, 2006

Multi-physics simulation often requires the solution of a suite of interacting physical phenomena, the nature of which may vary both spatially and in time. For example, in a casting simulation there is thermo-mechanical behaviour in the structural mould, whilst in the cast, as the metal cools and solidifies, the buoyancy induced flow ceases and stresses begin to develop. When using a single code to simulate such problems it is conventional to solve each ÔphysicsÕ component over the whole single mesh, using definitions of material properties or source terms to ensure that a solved variable remains zero in the region in which the associated physical phenomenon is not active. Although this method is secure, in that it enables any and all the ÔactiveÕ physics to be captured across the whole domain, it is computationally inefficient in both scalar and parallel. An alternative, known as the ÔgroupÕ solver approach, involves more formal domain decomposition whereby specific combinations of physics are solved for on prescribed sub-domains. The ÔgroupÕ solution method has been implemented in a three-dimensional finite volume, unstructured mesh multi-physics code, which is parallelised, employing a multi-phase mesh partitioning capability which attempts to optimise the load balance across the target parallel HPC system. The potential benefits of the ÔgroupÕ solution strategy are evaluated on a class of multi-physics problems involving thermo-fluidstructural interaction on both a single and multi-processor systems. In summary, the ÔgroupÕ solver is a third faster on a single processor than the single domain strategy and preserves its scalability on a parallel cluster system.

Parallel Performance in Multi-physics Simulation

Lecture Notes in Computer Science, 2002

A comprehensive simulation of solidification/melting processes requires the simultaneous representation of free surface fluid flow, heat transfer, phase change, non-linear solid mechanics and, possibly, electromagnetics together with their interactions in what is now referred to as 'multi-physics' simulation. A 3D computational procedure and software tool, PHYSICA, embedding the above multi-physics models using finite volume methods on unstructured meshes (FV-UM) has been developed. Multi-physics simulations are extremely compute intensive and a strategy to parallelise such codes has, therefore, been developed. This strategy has been applied to PHYSICA and evaluated on a range of challenging multi-physics problems drawn from actual industrial cases.

Development of an object-oriented finite element program with adaptive mesh refinement for multi-physics applications

Advances in Engineering Software, 2010

ABSTRACT In this paper, an object-oriented framework for numerical analysis of multi-physics applications is presented. The framework is divided into several basic sets of classes that enable the code segments to be built according to the type of problem to be solved. Fortran 2003 was used in the development of this finite element program due to its advantages for scientific and engineering programming and its new object-oriented features. The program was developed with h-type adaptive mesh refinement, and it was tested for several classical cases involving heat transfer, fluid mechanics and structural mechanics. The test cases show that the adaptive mesh is refined only in the localization region where the feature gradient is relatively high. The overall mesh refinement and the h-adaptive mesh refinement were justified with respect to the computational accuracy and the CPU time cost. Both methods can improve the computational accuracy with the refinement of mesh. The overall mesh refinement causes the CPU time cost to greatly increase as the mesh is refined. However, the CPU time cost does not increase very much with the increase of the level of h-adaptive mesh refinement. The CPU time cost can be saved by up to 90%, especially for the simulated system with a large number of elements and nodes.

A Software Strategy Towards Putting Domain Decomposition at the Centre of a Mesh-Based Simulation Process

Lecture Notes in Computer Science, 2002

In the mesh-based computer aided engineering sphere the most manpower intensive stages in the simulation process chain are the model creation and mesh generation. Together, they can account for 60 to 90 per cent of the total modelling time for complex industrial 3D models. In component meshing and gluing (CMG) we take a novel approach, using domain decomposition technology, to try to reduce the total modelling time further within the existing process without incurring significant re-engineering costs. The thinking is to offload a sizeable portion of the workload performed by manpower in the creation and meshing stages to the downstream stage, the analysis, performed by computing horsepower. In this paper we describe the concept and software strategy for such an approach.

Pamgen, a library for parallel generation of simple finite element meshes

2008

Generating finite-element meshes is a serious bottleneck for large parallel simulations. When mesh generation is limited to serial machines and element counts approach a billion, this bottleneck becomes a roadblock. pamgen is a parallel mesh generation library that allows on-the-fly scalable generation of hexahedral and quadrilateral finite element meshes for several simple geometries. It has been used to generate more that 1.1 billion elements on 17,576 processors. pamgen generates an unstructured finite element mesh on each processor at the start of a simulation. The mesh is specified by commands passed to the library as a "C"-programming language string. The resulting mesh geometry, topology, and communication information can then be queried through an API. pamgen allows specification of boundary condition application regions using sidesets (element faces) and nodesets (collections of nodes). It supports several simple geometry types. It has multiple alternatives for mesh grading. It has several alternatives for the initial domain decompositon. pamgen makes it easy to change details of the finite element mesh and is very usesful for performance studies and scoping calculations.

FEMPAR: An Object-Oriented Parallel Finite Element Framework

Archives of computational methods in engineering : state of the art reviews, 2018

FEMPAR is an open source object oriented Fortran200X scientific software library for the high-performance scalable simulation of complex multiphysics problems governed by partial differential equations at large scales, by exploiting state-of-the-art supercomputing resources. It is a highly modularized, flexible, and extensible library, that provides a set of modules that can be combined to carry out the different steps of the simulation pipeline. FEMPAR includes a rich set of algorithms for the discretization step, namely (arbitrary-order) grad, div, and curl-conforming finite element methods, discontinuous Galerkin methods, B-splines, and unfitted finite element techniques on cut cells, combined with -adaptivity. The linear solver module relies on state-of-the-art bulk-asynchronous implementations of multilevel domain decomposition solvers for the different discretization alternatives and block-preconditioning techniques for multiphysics problems. FEMPAR is a framework that provide...

Stanford University Unstructured (SU2): An open-source integrated computational environment for multi-physics simulation and design

51st AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition, 2013

This paper describes the history, objectives, structure, and current capabilities of the Stanford University Unstructured (SU 2) tool suite. This computational analysis and design software collection is being developed to solve complex, multi-physics analysis and optimization tasks using arbitrary unstructured meshes, and it has been designed so that it is easily extensible for the solution of Partial Differential Equation-based (PDE) problems not directly envisioned by the authors. At its core, SU 2 is an open-source collection of C++ software tools to discretize and solve problems described by PDEs and is able to solve PDE-constrained optimization problems, including optimal shape design. Although the toolset has been designed with Computational Fluid Dynamics (CFD) and aerodynamic shape optimization in mind, it has also been extended to treat other sets of governing equations including potential flow, electrodynamics, chemically reacting flows, and several others. In our experience, capabilities for computational analysis and optimization have improved considerably over the past two decades. However, the ability to integrate the resulting software packages into coupled multi-physics analysis and design optimization solvers has remained a challenge: the variety of approaches chosen for the independent components of the overall problem (flow solvers, adjoint solvers, optimizers, shape parameterization, shape deformation, mesh adaption, mesh deformation, etc) make it difficult to (a) expand the range of applicability to situations not originally envisioned, and (b) to reduce the overall burden of creating integrated applications. By leveraging well-established object-oriented software architectures (using C++) and by enabling a common interface for all the necessary components, SU 2 is able to remove these barriers for both the beginner and the seasoned analyst. In this paper we attempt to describe our efforts to develop SU 2 as an integrated platform. In some senses, the paper can also be used as a software reference manual for those who might be interested in modifying it to suit their own needs. We carefully describe the C++ framework and object hierarchy, the sets of equations that can be currently modeled by SU 2 , the available choices for numerical discretization, and conclude with a set of relevant validation and verification test cases that are included with the SU 2 distribution. We intend for SU 2 to remain open source and to serve as a starting point for new capabilities not included in SU 2 today, that will hopefully be contributed by users in both academic and industrial environments.

Discrete Element Modelling Using a Parallelised Physics Engine

2009

Discrete Element Modelling (DEM) is a technique used widely throughout science and engineering. It offers a convenient method with which to numerically simulate a system prone to developing discontinuities within its structure. Often the technique gets overlooked as designing and implementing a model on a scale large enough to be worthwhile can be both time consuming and require specialist programming skills. Currently there are a few notable efforts to produce homogenised software to allow researchers to quickly design and run DEMs with in excess of 1 million elements. However, these applications, while open source, are still complex in nature and require significant input from their original publishers in order for them to include new features as a researcher needs them. Recently software libraries notably from the computer gaming and graphics industries, known as physics engines, have emerged. These are designed specifically to calculate the physical movement and interaction of a system of independent rigid bodies. They provide conceptual equivalents of real world constructions with which an approximation of a realistic scenario can be quickly built. This paper presents a method to utilise the most notable of these engines, NVIDIAs PhysX, to produce a parallelised geological DEM capable of supporting in excess of a million elements.

A New Approach to Software Integration Frameworks for Multi-Physics Simulation Codes

Existing software integration frameworks typically require large manual rewrites of existing codes, or specific tailoring of codes written to be used in the framework. The result is usually a special-purpose code which is not usable outside of the framework. In this paper, we propose an alternative to that model-a framework that requires little hand-modification of the programs which use it. Our proposed framework is compilerbased, mesh-aware, numerics-aware, and physics-aware. Descriptions of the codes and the system make it possible to semi-automatically generate interfacing code, while the internal parallelization, communication and numerical solution methods are left intact. We report on some preliminary experiments with an automatic load balancing framework that demonstrate the feasibility of this approach.

Accomplishments and Challenges in Code Development for Parallel and Multimechanics Simulations

Lecture Notes in Computer Science, 2008

The Methods Development Group at Lawrence Livermore National Laboratory has historically developed and supported software for engineering simulations, with a focus on nonlinear structural mechanics and heat transfer. The quality, quantity and complexity of engineering analyses have continued to increase over time as advances in chip speed and multiprocessing computers have empowered this simulation software. As such, the evolution of simulation software has seen a greater focus on multimechanics and the incorporation of more sophisticated algorithms to improve accuracy, robustness and usability. This paper will give an overview of the latest code technologies developed by the Methods Development group in the areas of large deformation transient analysis and implicit coupled codes. Applications were run on the state of the art hardware available at the national laboratories.

Stanford University Unstructured (SU2): An open source integrated computational environment for multiphysics simulation and design

2013

This paper describes the history, objectives, structure, and current capabilities of the Stanford University Unstructured (SU 2) tool suite. This computational analysis and design software collection is being developed to solve complex, multi-physics analysis and optimization tasks using arbitrary unstructured meshes, and it has been designed so that it is easily extensible for the solution of Partial Differential Equation-based (PDE) problems not directly envisioned by the authors. At its core, SU 2 is an open-source collection of C++ software tools to discretize and solve problems described by PDEs and is able to solve PDE-constrained optimization problems, including optimal shape design. Although the toolset has been designed with Computational Fluid Dynamics (CFD) and aerodynamic shape optimization in mind, it has also been extended to treat other sets of governing equations including potential flow, electrodynamics, chemically reacting flows, and several others. In our experience, capabilities for computational analysis and optimization have improved considerably over the past two decades. However, the ability to integrate the resulting software packages into coupled multi-physics analysis and design optimization solvers has remained a challenge: the variety of approaches chosen for the independent components of the overall problem (flow solvers, adjoint solvers, optimizers, shape parameterization, shape deformation, mesh adaption, mesh deformation, etc) make it difficult to (a) expand the range of applicability to situations not originally envisioned, and (b) to reduce the overall burden of creating integrated applications. By leveraging well-established object-oriented software architectures (using C++) and by enabling a common interface for all the necessary components, SU 2 is able to remove these barriers for both the beginner and the seasoned analyst. In this paper we attempt to describe our efforts to develop SU 2 as an integrated platform. In some senses, the paper can also be used as a software reference manual for those who might be interested in modifying it to suit their own needs. We carefully describe the C++ framework and object hierarchy, the sets of equations that can be currently modeled by SU 2 , the available choices for numerical discretization, and conclude with a set of relevant validation and verification test cases that are included with the SU 2 distribution. We intend for SU 2 to remain open source and to serve as a starting point for new capabilities not included in SU 2 today, that will hopefully be contributed by users in both academic and industrial environments.

Parallel Software Tool for Decomposing and Meshing of 3D Structures

per. Software package build upon proposed algorithm is described. Several practical examples of mesh generation on multiprocessor computational systems are given. It is shown that developed parallel algorithm enables us to reduce mesh generation time significantly (dozens of times). Moreover, it easily produces meshes with number of elements of order 5 · 10 7 , construction of those on a single CPU is problematic. Questions of time consumption, efficiency of computations and quality of generated meshes are also considered. Keywords: Generalized LBE, free-surface phenomena, interface boundary conditions, filling processes, Bingham viscoplastic model, regularized models (22 pages, 2001)

A new object-oriented framework for solving multiphysics problems via combination of different numerical methods

2019

Many interesting phenomena are characterized by the complex interaction of different physical processes, each often best modeled numerically via a specific approach. In this paper, we present the design and implementation of an object-oriented framework for performing multiphysics simulations that allows for the monolithic coupling of different numerical schemes. In contrast, most of the currently available simulation tools are tailored towards a specific numerical model, so that one must resort to coupling different codes externally based on operator splitting. The current framework has been developed following the C++11 standard, and its main aim is to provide an environment that affords enough flexibility for developers to implement complex models while at the same time giving end users a maximum amount of control over finer details of the simulation without having to write additional code. The main challenges towards realizing these objectives are discussed in the paper, togethe...

Toward interoperable mesh, geometry and field components for PDE simulation development

Engineering With Computers, 2005

Mesh-based PDE simulation codes are becoming increasingly sophisticated and rely on advanced meshing and discretization tools. Unfortunately, it is still difficult to interchange or interoperate tools developed by different communities to experiment with various technologies or to develop new capabilities. To address these difficulties, we have developed component interfaces designed to support the information flow of mesh-based PDE simulations. We describe this information flow and discuss typical roles and services provided by the geometry, mesh, and field components of the simulation. Based on this delineation for the roles of each component, we give a high-level description of the abstract data model and set of interfaces developed by the Department of Energy's Interoperable Tools for Advanced Petascale Simulation (ITAPS) center. These common interfaces are critical to our interoperability goal, and we give examples of several services based upon these interfaces including mesh adaptation and mesh improvement.

deal.II---A general-purpose object-oriented finite element library

ACM Transactions on Mathematical Software, 2007

An overview of the software design and data abstraction decisions chosen for deal.II, a general purpose finite element library written in C++, is given. The library uses advanced object-oriented and data encapsulation techniques to break finite element implementations into smaller blocks that can be arranged to fit users requirements. Through this approach, deal.II supports a large number of different applications covering a wide range of scientific areas, programming methodologies, and application-specific algorithms, without imposing a rigid framework into which they have to fit. A judicious use of programming techniques allows to avoid the computational costs frequently associated with abstract object-oriented class libraries.

A system integration framework for coupled multiphysics simulations

Engineering with Computers, 2006

Multiphysics simulations are playing an increasingly important role in computational science and engineering for applications ranging from aircraft design to medical treatments. These simulations require integration of techniques and tools from multiple disciplines, and in turn demand new advanced technologies to integrate independently developed physics solvers effectively. In this paper, we describe some numerical, geometrical, and system software components required by such integration, with a concrete case study of detailed, three-dimensional, parallel rocket simulations involving system-level interactions among fluid, solid, and combustion, as well as subsystem-level interactions. We package these components into a software framework that provides common-refinement based methods for transferring data between potentially non-matching meshes, novel and robust faceoffsetting methods for tracking Lagrangian surface meshes, as well as integrated support for parallel mesh optimization, remeshing, algebraic manipulations, performance monitoring, and high-level data management and I/O. From these general, reusable framework components we construct domain-specific building blocks to facilitate integration of parallel, multiphysics simulations from high-level specifications that are easy to read and can also be visualized graphically. These reusable building blocks are integrated with independently developed physics codes to perform various multiphysics simulations.

Automating Embedded Analysis Capabilities and Managing Software Complexity in Multiphysics Simulation, Part II: Application to Partial Differential Equations

Scientific Programming, 2012

A template-based generic programming approach was presented in Part I of this series of papers [Sci. Program. 20 (2012), 197–219] that separates the development effort of programming a physical model from that of computing additional quantities, such as derivatives, needed for embedded analysis algorithms. In this paper, we describe the implementation details for using the template-based generic programming approach for simulation and analysis of partial differential equations (PDEs). We detail several of the hurdles that we have encountered, and some of the software infrastructure developed to overcome them. We end with a demonstration where we present shape optimization and uncertainty quantification results for a 3D PDE application.

10 DOLFIN : a C + + / Python finite element library

2012

A large part of the functionality of FEniCS is implemented as part of DOLFIN. It provides a problem solving environment for models based on partial differential equations and implements core parts of the functionality of FEniCS, including data structures and algorithms for computational meshes and finite element assembly. To provide a simple and consistent user interface, DOLFIN wraps the functionality of other FEniCS components and external software, and handles the communication between these components. Figure 10.1 presents an overview of the relationships between the components of FEniCS and external software. The software map presented in the figure shows a user application implemented on top of the DOLFIN user interface, either in C++ or in Python. User applications may also be developed using FEniCS Apps, a collection of solvers implemented on top of FEniCS/DOLFIN. DOLFIN itself functions as both a user interface and a core component of FEniCS. All communication between a use...