SCOREC researchers have developed a number of software components that support automated adaptive simulations on parallel computers. The five categories of software components are:

- Simulation Model and Data Management
- Parallel Control
- Adaptive Meshing
- Adaptive Control
- Analysis

# Simulation Model and Data Management

These components focus on the parallel management of the hierarchy of domain representations used in simulation processes, the specification of the mathematical models to be solved on those domains and tensor information defined over those domains. We have implemented the Parallel Unstructured Mesh Infrastructure (PUMI) and as part of our involvement with the Frameworks, Algorithms, and Scalable Technologies for Mathematics (FASTMath) DOE SCIDAC Center, PUMI supports FASTMath compatible interfaces to each of these components. The five components, along with redmine links to the components and its FASTMath interface (iXxxx) are:

- Basic utilities used by the components below – PUMI-UTIL, iBase
- Parallel control and comminication – PUMI-COMM using PCU
- Geometric model interface that supports the ability to interrogate solid models for topological adjacency and geometric shape information - PUMI-GEOM, iGeom
- Parallel mesh topological representation and graph-based mesh partitioning control– PUMI-MESH, iMesh/iMeshP
- Representation of tensor fields to quantify the distribution of physical parameters over mesh entities – PUMI-FIELD using APF, iField

# Parallel Control Components

As part of our efforts to develop scalable parallel adaptive simulation procedures we have developed tools to deal with specific parallel performance issues. The two components developed in this area are:

- Message passing and thread management – PCU
- Iterative partition improvement to construct more optimal mesh partitions by considering multiple criteria based on mesh entities and their adjacencies – ParMA
- Processor mesh entity reordering to improve cache performance - AdjReOrder

# Adaptive Meshing Components

Tools have been developed to support the adaptive control of meshes including consideration and support for curved meshes. The two key components, both of which execute in parallel, are:

- Adaptive mesh modification to match a given anisotropic mesh size field – MeshAdapt
- Mesh curving that can take a straight-sided mesh and curve the mesh entities on the boundary to better match the domain geometry - MeshAdapt

# Adaptive Control Components

The adaptive control components that either provide information used in adaptive decision processes (e.g., error estimators/indicators) or provide overall control over adaptive simulation processes. Components of this type currently include:

- Support of executing parallel adaptive unstructured mesh flow simulations with PHASTA – phParAdapt
- Adaptive multimodel simulation infrastructure - AMSI

# Analysis Components

Analysis components are responsible for the execution of the actual simulations on the analysis models, typically meshes, provided. Analysis components include:

- Parallel Hierarchic Adaptive Stabilized Transient Analysis software for modeling compressible or incompressible, laminar or turbulent, steady or unsteady flows on 3D, using unstructured meshes - PHASTA
- Parallel hierarchic multiscale modeling of soft tissues - PHMMST