Capabilities

What the software does.

The pipeline, stated plainly: the optimization modes, the analysis behind them, the formats it reads and writes, and figures taken from real solver output.

01

Optimization modes

Optimize one parametric structural model four ways: sizing (gauges and cross-sections), shape (sketch-level geometry moves under geometric constraints), combined size + shape, andtopology (generative internal member layout). A nonlinearly-constrained SQP driver handles the smooth problems, and all gradients are analytic.

Chain the modes with optimization strategies, a compact sequencing language: rough-size, regenerate the layout, size again, then polish with combined size + shape. Exploration and refinement happen in one run instead of a chain of manual hand-offs.

02

Generative internal layout

Let the topology engine propose the layout instead of perturbing a template. Topological derivatives score where a new member would earn its mass. Voronoi seeding lays out candidates, with anisotropic cells that stretch along principal stress directions and pack more densely where buckling is critical. Edge-rewriting operators then merge, split, and erase members as the design converges. What comes out is an internal structure grown from the load paths, sized afterward like any conventional design.

FIG 01Generative member layout
Wing structure decomposed into Voronoi cells: bold red frame members bounding regions of fine structured quad skin mesh, on a dark viewport ground
Frame membersStructured skin mesh
FIG 01Generative member layout on a synthetic wing: frame members from Voronoi cell boundaries, structured quad skin mesh. Solver output, shown as computed.

03

Analysis & constraints

Constrain the responses that drive airframe design, and get an analytic sensitivity for every one of them. Analysis runs on an in-house finite-element solver built for optimization: MITC shell elements, T-beam sections including laminates, bars and springs, isotropic and orthotropic materials. Buckling and modal problems solve as generalized eigenvalue problems, and finite-difference checks are confined to the test suite.

Mass
objective or constraint, per zone or total
Compliance
global stiffness objective
Von Mises stress
strength constraints across skins, webs, and caps
Buckling
global eigenvalue buckling
Panel buckling
local panel-level buckling, solved per panel
Displacement
deflection limits at selected locations
Natural frequency
modal constraints for dynamics and frequency-placement requirements
Thermal compliance
conduction dissipation, the thermal analogue of compliance, for heat-path efficiency
FIG 02Von Mises stress · wing skinspsi
Von Mises stress field on the upper wing skinUPPER SKIN
Von Mises stress field on the lower wing skinLOWER SKIN
FIG 02Von Mises stress on the upper and lower skins of the thermo-elastic wing example.
FIG 03Buckling field · wing skinsnormalized
Normalized buckling field on the upper wing skinUPPER SKIN
Normalized buckling field on the lower wing skinLOWER SKIN
FIG 03Normalized buckling field on the same skins.

04

Thermo-elastic optimization

Carry heat into the structural solve when temperature drives the design. Steady-state conduction couples one-way into the structural analysis, producing free thermal strains, thermal loads, and thermal stresses, and a thermal-compliance response joins the constraint set. In our documented wing example, adding the thermal load raised compliance by roughly 29% and drove the optimizer to a different sized design than the mechanical-only case.

FIG 04Temperature · wing skinsdeg
Temperature field on the upper wing skinUPPER SKIN
Temperature field on the lower wing skinLOWER SKIN
FIG 04Skin temperature from the thermo-elastic wing example: the conduction solution that feeds the structural optimization.

05

Scriptable, verifiable workflow

Author models and studies from Python, or write them as plain JSON, and validate everything before it solves. The rule the API is built around: if it passes validation, it runs in the solver and means what you said. A typo'd key or a dangling reference surfaces as an error while you're still authoring, when it costs seconds to fix.

import pgd

project = pgd.Project("lar-wing")
wing = project.model("wing")

al = wing.materials.isotropic("aluminum", E=1.0e7, nu=0.3, rho=2.59e-4)
vs = wing.sketch.points([(120.0, 0.0), (-120.0, 0.0), (70.0, -110.0), (100.0, -110.0)])
es = wing.sketch.connect([(vs[1], vs[0]), (vs[1], vs[2]), (vs[2], vs[3]), (vs[3], vs[0])],
                         labels=["root", "le", "tip", "te"])
wing.sketch.faces([tuple(es)], thickness=(0.5, 0.5))
wing.mesh(size=4)

opt = project.optimization("develop", model=wing)
mass = opt.responses.mass(scale=1.5)
comp = opt.responses.compliance(scale=4e5)
sz = (opt.problem("sz_Co", mode="size", responses=(mass, comp))
        .minimize(comp).constrain(mass))

opt.strategy.sequence(sz.repeat(10))
opt.write("inputs/develop")   # validates first; raises on errors

Take results to the viewers you already trust: Kadabra, the interactive 3D viewer, for inspecting designs and optimization history; ParaView for full field output; Jupyter for previews while authoring. Apgd validate CLI drops into CI with machine-readable reports and stable finding codes.

06

Formats & interoperability

Model input
Plain JSON documents, schema-validated: materials, zones, loads, constraints, sketch. Authored by hand or from the Python API.
Nastran bulk data
Import existing BDF decks; export optimized models back to BDF for your downstream analysis chain.
Field output
HDF5 and XDMF/ParaView export. Stress, displacement, temperature, and buckling fields open directly in ParaView.
Meshing
Built-in gmsh-based meshing with structured, quad-dominant control, so you don’t need a separate preprocessor.

07

Verification

Check our claims the way you would check a stress report. Every analytic sensitivity is verified against finite differences in the test suite. The finite-element library carries shell and stiffened-panel validation cases, and element results are regression-tested against Nastran-format reference solutions. We are preparing a public benchmark set with reference solutions and error figures.

08

Deployment & data

Run PGD wherever your data is allowed to live. It ships as desktop and command-line software that runs entirely on your hardware, whether that is a workstation or an air-gapped cluster node. There is no cloud dependency and no telemetry, so your geometry never leaves your network. If your work is export-controlled, nothing about the setup has to change.

Want the deeper technical story?

Request a demo and we'll walk through methods, validation, and your use case with the engineers who built the solver.

Request a demo