Project Spotlight

Femora: Fast Efficient Modeling and Analysis Framework

A high-performance Python/C++ library for automated finite element model generation, geometry processing, and scalable distributed execution.

Python · C++ · HPC · MPI · Domain Decomposition

Overview

Femora is a computational engineering platform for generating and managing advanced numerical and finite element models. It provides a structured framework for automated mesh generation, interface coupling, solver configuration, and post-processing in repeatable workflows.

Rather than operating as a loose collection of scripts, Femora functions as a meta-modeling layer that standardizes how complex models are configured and run. This significantly improves reproducibility, scalability, and maintainability for large-scale parametric and distributed studies.

Why It Matters

  • Complex numerical workflows: Large scale simulations require automated pipelines that are reproducible.
  • Multi-domain coupling: Interfacing independent geometric sub-domains requires careful boundary coupling and consistent interfaces.
  • Pre-processing bottlenecks: Scripting geometry and meshing pipelines is critical for running large parametric study campaigns.
  • HPC orchestration: Deploying and running simulations across thousands of cores introduces complex execution overhead.
  • Scalable domain decomposition: Efficient graph partitioning (METIS) is essential to maximize load balancing on distributed nodes.

Key Capabilities

  • Boundary Reductions: Implements advanced sub-domain reduction techniques for mapping large-scale spatial inputs to localized regions.
  • Absorbing Boundary Conditions: Supports Perfectly Matched Layers (PML) to simulate infinite domains and absorb outgoing numerical energy.
  • Embedded Interfaces: Provides embedded beam-in-solid workflows for modeling multi-body contact interactions between 1D and 3D geometries.
  • Automated Pipeline Assembly: Automates model layout, execution generation, and data processing.
  • Distributed Partitioning: Interfaces with partitioning engines to optimize memory and load distribution on HPC clusters.

Workflow Example

Femora allows interface definitions to be expressed programmatically and integrated directly into automated model generation pipelines:

fm.interface.EmbeddedBeamSolidInterface( name="PileSoilInterface", beam_part="PileGroup", radius=0.5, n_peri=8, n_long=10 )

This interface-driven workflow keeps complex physical boundaries clean while remaining scalable and reproducible.

Visual Modules

Multi-component sub-domain model
System-scale model containing multi-component structural interfaces.
Central Femora engine diagram
Architecture view showing how Femora orchestrates assembly, solve, and post-processing stages.
Embedded boundary interface coupling
Detailed coupling view showing embedded multi-body interface intersections.
Domain decomposition example
Partitioned model layout for scalable distributed simulation.
Layered multi-material domain
Layered multi-material domain layout for parallel simulation.

Collaboration

Femora is actively evolving as a framework for scalable numerical modeling and parallel simulation. Collaboration is welcome across computational engineering, high-performance computing, and distributed simulation workflows. If you are interested in collaborating, please view the repository or get in touch at amnp95@uw.edu.

← Back to Home