Skip to content
hithesh139Public

About

HyTOM is a high-performance multiscale topology optimization framework. It integrates JAX-accelerated Finite Element Analysis (FEA) with Physics-Informed Neural Surrogate Models to design complex metamaterial structures across multiple length scales.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

HyTOM: Hyperelastic Topology Optimization for Metamaterials

HyTOM is a high-performance nonlinear multiscale topology optimization framework. By integrating JAX-accelerated Finite Element Analysis (FEA) with Physics-Informed Neural Surrogate Models (PINNs), HyTOM enables the design of complex, large-scale structures optimized for extreme deformations and high-fidelity lattice architectures.


🚀 Key Features

  • JAX-Powered Performance: Leverage XLA compilation and automatic differentiation for lightning-fast sensitivity analysis and gradient-based optimization.
  • Multiscale Design Engine: Orchestrate complex design cycles that simultaneously optimize macroscopic topology and microscopic lattice architectures.
  • Physics-Informed Neural Surrogates (PINNs): Accelerate property evaluation using neural networks that predict Strain Energy Density ($\Psi$) and derive Stress ($S$) analytically via autodiff.
  • Advanced Stability & Guardrails: Integrated Adaptive J-Barrier systems and Zero-Strain "Ghost" Corrections ensure stable convergence even under extreme mesh distortions.
  • Multi-Device Scalability: Seamlessly scale simulations across multiple GPUs/TPUs using JAX's advanced sharding and parallelization primitives.
  • Integrated Visualization Suite: Generate high-fidelity 3D renderings and stress maps directly using the integrated PyVista and Trame pipelines.

📊 System Architecture

Multiscale Optimization Flow

HyTOM utilizes a multi-phase design approach, transitioning from a solid structural baseline to a fully optimized multiscale metamaterial architecture.

graph TD
    %% Node Definitions
    START["Start Optimization"]
    PH1["Phase 1: Solid Baseline"]
    PH2["Phase 2: Multiscale Loop"]
    STEP{"Load Step 1 to N"}
    SOLVE["Solve: Neural Solver"]
    SENS["Adjoint Sensitivity Analysis"]
    UPDATE["Density Update: MMA/OC"]
    CONV{"Converged?"}
    LAST{"Last Load Step?"}
    EXPORT["Export: VTU & Scientific Visuals"]
    END["End"]

    %% Flow Connections
    START --> PH1
    PH1   --> PH2
    PH2   --> STEP
    STEP  --> SOLVE
    SOLVE --> SENS
    SENS  --> UPDATE
    UPDATE --> CONV
    CONV   -- No  --> SOLVE
    CONV   -- Yes --> LAST
    LAST   -- No  --> STEP
    LAST   -- Yes --> EXPORT
    EXPORT --> END
Loading

⚡ Neural Surrogate Pipeline

The surrogate pipeline transforms expensive unit-cell homogenization data into fast, differentiable material models.

PINN Prediction Logic

Our PINNs learn the underlying energy potential of a lattice architecture. By deriving the stress tensor via automatic differentiation, we ensure that the surrogate remains strictly consistent with the laws of hyperelasticity.

graph LR
    %% Node Definitions
    E["Strain Tensor E"]
    VF["Volume Fraction vf"]
    MLP["HyperElasticMLP (Softplus)"]
    PSI["Strain Energy Potential Psi"]
    AD["JAX Auto-Diff"]
    S["2nd Piola-Kirchhoff Stress S"]
    STIFF["Tangent Stiffness Matrix"]

    %% Logic Connections
    E    --> MLP
    VF   --> MLP
    MLP  --> PSI
    PSI  --> AD
    AD   --> S
    S    --> STIFF
Loading

📁 Project Structure

HyTOM/
├── src/hytom/          # Core High-Performance Package
│   ├── macroscale/     # Nonlinear FEA, Adjoint Solvers, and Optimizers
│   ├── microscale/     # PBC Homogenization and Unit-Cell Analysis
│   ├── neural/         # PINN Architectures and Surrogate Pipelines
│   ├── geometry/       # Lattice Generation and SDF Kernels
│   └── material/       # Hyperelastic Material Registry (Ogden, Neo-Hookean)
├── hpc/                # High-Performance Computing (NSCC/Cluster) Scripts
├── workflows/          # Jupyter Notebooks and Production Entry-Points
├── tests/              # Comprehensive Pytest Suite
└── docs/               # Technical Documentation and Tutorials

🛠 Installation & Quick Start

  1. Clone the repository:

    git clone https://github.com/hithesh139/HyTOM.git
    cd HyTOM
  2. Environment Setup:

    ./setup_env.sh
    conda activate HyTOM
  3. Run Optimization: Execute a multiscale beam optimization using a pre-trained surrogate:

    python workflows/neural_topopt.py

🔍 Verification & Testing

HyTOM includes comprehensive verification suites. Run the test suite to verify the physics and optimization kernels:

pytest -v

📄 License & Attribution

This project is licensed under the MIT License.

About

HyTOM is a high-performance multiscale topology optimization framework. It integrates JAX-accelerated Finite Element Analysis (FEA) with Physics-Informed Neural Surrogate Models to design complex metamaterial structures across multiple length scales.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages