Há semanas cada análise estática linear do Stabileo passa por um certificado que, quando é obtido, dá uma cota verificada pela máquina do erro com que o sistema de equações K·u = f foi resolvido. Mas quem monta esse sistema é o próprio motor. Se a montagem tivesse um erro, um sinal errado numa transformação, um termo de Timoshenko faltando, uma força de engastamento mal calculada, o certificado provaria com todo o rigor que o sistema errado foi bem resolvido.
Os certificados de ponta a ponta fecham essa lacuna para pórticos e treliças, em 2D e em 3D: o resultado é verificado contra o modelo como foi escrito, não contra as matrizes que o motor montou.
Uma segunda montagem, independente
Um verificador escrito à parte reconstrói a rigidez e as cargas a partir dos dados do modelo, sem chamar nenhuma função de elementos nem de montagem do motor. Usa suas próprias fórmulas e sua própria numeração dos graus de liberdade:
- a flexão de cada barra a partir da flexibilidade do balanço, invertida, e a outra extremidade por equilíbrio, com a deformação por cisalhamento de Timoshenko;
- as rótulas por condensação estática, uma rotação liberada por vez;
- as cargas sobre barras como o trabalho sobre as deformadas exatas da barra descarregada, com as integrais resolvidas em forma fechada;
- os eixos locais, os apoios inclinados, as molas, os vínculos rígidos, os diafragmas e as restrições multiponto, derivados das convenções do modelo.
Tudo é calculado em aritmética de intervalos, inclusive senos e cossenos com cotas rigorosas: cada dado do modelo entra como o decimal que foi escrito, envolto num intervalo. Quando uma decisão depende de um limiar que o intervalo não permite resolver, o verificador recusa em vez de adivinhar.
O que o certificado afirma
Com essa rigidez exata, o verificador prova que o modelo tem uma única solução e limita a distância entre os deslocamentos que o motor deu e essa solução, em todos os graus de liberdade que o modelo determina. As matrizes do motor não participam dessa afirmação. São comparadas à parte: devem coincidir com as reconstruídas até uma parte em 10¹⁰, e os deslocamentos devem cumprir as condições de apoio e de vínculo do modelo até uma parte em 10⁹. Se não, o resultado é informado como não verificado de ponta a ponta, com o motivo.
O teorema que sustenta a cota está provado em Lean. No aplicativo, o painel de resultados mostra a linha «Verificado de ponta a ponta» com a cota do erro de deslocamentos, ou o motivo pelo qual não foi possível verificar.
O que encontrou
| Conjunto | Modelos | Certificados |
|---|---|---|
| Modelos de teste 2D | 82 | 82 |
| Modelos de teste 3D | 32 | 32 |
| Pórticos 2D gerados ao acaso | 200 | 200 |
| Pórticos 3D gerados ao acaso | 150 | 150 |
Todos os modelos de teste e centenas de pórticos gerados ao acaso coincidem e ficam certificados, e os erros de montagem plantados de propósito no motor fazem o controle falhar. Além disso, encontrou problemas reais:
- um diafragma 3D no plano XZ vinculava os nós com a rotação de sinal invertido;
- em 2D, um momento aplicado num nó onde todas as barras são rotuladas era absorvido por uma mola artificial, e o certificado do sistema montado o aprovava embora o modelo não tenha solução;
- um vínculo rígido a partir de um nó assim escondia um mecanismo real.
Os dois primeiros estão corrigidos: o diafragma segue a rotação de corpo rígido, e esse momento é recusado antes de resolver. E quando o motor mudou o significado de um diafragma para que todo o pavimento gire como um corpo, o verificador não aprovou nada falso: continuou honesto, com cotas inúteis, até que suas convenções foram atualizadas. É exatamente o que se espera de um controle independente.
O que fica de fora
- Cascas, sólidos, conectores, vigas curvas e torção com empenamento ainda não são reconstruídos: são informados fora de escopo, nunca como verificados.
- As fórmulas do verificador codificam a mecânica do modelo. Estão escritas à parte do motor e são confrontadas com ele, mas não estão provadas.
- A implementação em Rust não está provada equivalente ao algoritmo de Lean, como em todos os certificados.
- Um certificado diz que o resultado corresponde ao modelo. Não diz que o modelo representa bem a estrutura: isso continua sendo trabalho do engenheiro.