# Stiffness-energy supervision without FEM labels

- ID: 1842
- Canonical URL: https://synthcore.org/idea/1842/stiffness-energy-supervision-without-fem-labels
- API JSON: https://synthcore.org/api/idea/1842.json
- API Markdown: https://synthcore.org/api/idea/1842.md
- Verification status: unverified
- Source: [arXiv:2608.05437](https://arxiv.org/abs/2608.05437)
- Category: training
- Solves: sample-efficiency, speedup, accuracy
- ML areas: loss, graph-nn, training-dynamics
- Math tags: linear-algebra, optimization, pde, numerical-analysis
- Ratings: usefulness 6/10; difficulty 3/10; novelty 5/10

## Idea description

Train a finite-element surrogate by minimizing the assembled discrete potential energy rather than a loss against solved displacement labels. The objective uses only the sparse stiffness matrix and load vector, while its exact energy-gap identity makes it equivalent to supervised regression in the stiffness norm.

## Mathematical statement

For one problem instance, let K_ff be the symmetric positive-definite free-free stiffness matrix in R^(n x n), F in R^n the free-degree load vector, and U^* = K_ff^(-1) F the exact displacement. The discrete potential energy is Pi_h(u) = one half u^T K_ff u minus F^T u. Because K_ff U^* = F, completing the square yields Pi_h(u_hat) - Pi_h(U^*) = one half (u_hat - U^*)^T K_ff (u_hat - U^*) = one half ||u_hat - U^*||_K^2, where ||v||_K^2 = v^T K_ff v. Thus the unique minimizer of the label-free energy is exactly U^*. Differentiating with respect to the predicted displacement gives grad Pi_h(u_hat) = K_ff u_hat - F = K_ff(u_hat - U^*). The network can obtain this gradient through one sparse matrix-vector product and never needs to compute U^* during training.

## Key formulas

- $$\Pi_h(u)=\tfrac{1}{2}u^{\top}K_{\mathrm{ff}}u-F^{\top}u$$
- $$\operatorname{gap}(\hat{u})=\Pi_h(\hat{u})-\Pi_h(U^{\ast})=\tfrac{1}{2}(\hat{u}-U^{\ast})^{\top}K_{\mathrm{ff}}(\hat{u}-U^{\ast})=\tfrac{1}{2}\|\hat{u}-U^{\ast}\|_{K}^{2}\ge 0$$
- $$\nabla_u\Pi_h(\hat{u})=K_{\mathrm{ff}}\hat{u}-F=K_{\mathrm{ff}}(\hat{u}-U^{\ast})$$
- $$\mathcal{L}_{\mathrm{energy}}(\theta;K,F)=\tfrac{1}{2}\hat{u}_{\theta}^{\top}K\hat{u}_{\theta}-F^{\top}\hat{u}_{\theta}$$

## Implementation notes

Integrate the method as the loss layer of a graph neural network or mesh-conditioned MLP. The network receives node coordinates, element connectivity, material parameters, boundary-condition masks, and loads, and outputs displacements only for free degrees of freedom. For each minibatch item, assemble the sparse free-free stiffness matrix K and construct the load vector F. Use the following computation: `u_hat = net(mesh_features, material_features, loads)`; `Ku = sparse_matvec(K, u_hat)`; `energy = 0.5 * dot(u_hat, Ku) - dot(F, u_hat)`; `loss = mean(energy over batch)`; `loss.backward()`; `optimizer.step()`. This is exactly Pi_h(u_hat), with the paper's K_ff represented by K. Autodifferentiation sends K u_hat minus F into the network output. Do not call a sparse linear solver during training. Enforce prescribed displacements by predicting free variables only, or set constrained output entries to their known values before evaluating the energy. The guarantee requires K to be symmetric positive definite, so verify sparse symmetry and exclude or regularize mechanisms with K plus epsilon times the identity. Compare energy-only training against displacement-MSE training and supervised stiffness-norm training on a small 2D elasticity dataset with exact FEM solutions retained only for evaluation. Measure stiffness-norm error, Euclidean error, energy gap, training wall-clock time, and the number of reference solves used to create labels. Success means comparable stiffness-norm accuracy with zero training-time reference solves and substantially lower dataset-generation cost; a first target is at least 5x lower total preprocessing cost at similar final stiffness-norm error.

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
