Hydra is an extensible C++ toolkit that provides a rich suite of components for rapid application development, supports multiple discretization techniques, provides I/O interfaces to permit reading/writing multiple file formats for meshes, plot data, time-history, surface-based and restart output. Data registration is used to provide the ability to register variables at appropriate locations (e.g., node, element, dual-edge, etc), and provides integrated and automatic output and restart capabilities along with memory management. The toolkit also provides run-time parallel domain decomposition with data-migration for both static and dynamic load-balancing. Linear algebra is handled through an abstract virtual interface that makes it possible to use popular libraries such as PETSc and Trilinos. The use of output delegates provides the ability to develop lightweight physics-specific output kernels with minimal memory overhead that can be tailored to a specific physics, e.g., computation of vorticity, helicity, enstrophy for large-eddy simulations. A flexible material model interface supports a broad collection of material properties that include non-Newtonian viscosities, material strength models, and equations of state.
Hydra's toolkit model for development provides lightweight, high performance and reusable code components for agile development. The Hydra toolkit has been used for methods and algorithms research with a broad array of physics, discretization techniques and solution methods. Currently the toolkit supports finite-element based solvers for time-dependent heat conduction, time-dependent advection-diffusion, time-dependent incompressible flow, multiple Lagrangian hydrodynamics solvers, rigid-body dynamics, etc. In addition, unstructured-grid finite-volume solvers are available for solving time-dependent advection-diffusion, Burgers' equation, the compressible Euler equations, the hybrid incompressible/low-Mach Navier-Stokes equations, and the multiphase flow equations.
The following list outlines the design principles, physics,discretization and overall Hydra Toolkit capabilities.
Design Principles
Physics & Discretizations
Multiphysics Interfaces
Material Model Interface
Element Library
Mesh Generators
Visualization Tools
Supported Platforms
|
Linear Algebra Interface
Parallel Load Balancing
Turbulence Models
Boundary Conditions
Input Formats
Output Formats
|