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

Each of these components performs specific functions. In most cases the execution of a simulation requires the proper combination of multiple of these, and possibly other components, each performing specific functions with respect to the simulation process. Key functions not covered by the components listed below are geometric model representation (e.g., ACIS and Parasolid), automatic mesh generation (e.g., MeshSim), dynamic load balancing (e.g., Zoltan and Parametis), and visualization (e.g., VTK, ParaView and VISIT). In addition the components below are often linked with other analysis components like ABAQUS, AcuSolve, LAMMPS, M3D-C1, OMEGA3P, etc.

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:

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:

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 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:

Analysis Components

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