diff --git a/app/src/pages/PiperackModule.tsx b/app/src/pages/PiperackModule.tsx index 3baf4b0..4e54638 100644 --- a/app/src/pages/PiperackModule.tsx +++ b/app/src/pages/PiperackModule.tsx @@ -81,16 +81,6 @@ const PiperackModule: React.FC = () => { { label: 'Força Global Total', value: `${result.globalForce.toFixed(2)} kN` }, { label: 'Momento Total de Tombamento', value: `${(result.linearLoadFront * width * elevation + (numFrames > 1 ? (numFrames - 1) * result.linearLoadBack * width * elevation : 0)).toFixed(2)} kN·m` }, ], - }, - { - title: 'Reações Globais Simplificadas (Ação de Conjunto)', - type: 'grid', - gridItems: numFrames > 1 ? [ - { label: 'Braço de Alavanca Total (L)', value: `${((numFrames - 1) * spacing).toFixed(2)} m` }, - { label: `Reação nas Extremidades (C1 / C${numFrames})`, value: `±${((result.linearLoadFront * width * elevation + (numFrames - 1) * result.linearLoadBack * width * elevation) / ((numFrames - 1) * spacing)).toFixed(2)} kN` }, - ] : [ - { label: 'Momento Fletor na Base (Pórtico Único)', value: `${(result.linearLoadFront * width * elevation).toFixed(2)} kN·m` } - ], } ]; @@ -259,19 +249,11 @@ const PiperackModule: React.FC = () => { {result.linearLoadBack.toFixed(2)} kN/m - {(() => { - const mFrontal = result.linearLoadFront * width * elevation; - const mTraseiro = numFrames > 1 ? result.linearLoadBack * width * elevation : 0; - const mTotal = mFrontal + (numFrames - 1) * mTraseiro; - const braco = (numFrames - 1) * spacing; - const reacaoGlobal = braco > 0 ? mTotal / braco : 0; +
+

Distribuição do Vento (Vista Lateral)

+
- return ( -
-

Reações Simplificadas (Vista Lateral)

-
- - + {/* Linha do chão */} @@ -294,8 +276,6 @@ const PiperackModule: React.FC = () => { {/* Colunas */} {Array.from({ length: numFrames }).map((_, i) => { const colX = numFrames === 1 ? 150 : startX + i * step; - const isFirst = i === 0; - const isLast = i === numFrames - 1; return ( @@ -303,24 +283,6 @@ const PiperackModule: React.FC = () => { 3 ? "8" : "10"} fill="#475569"> {`C${i + 1}`} - - {/* Tração na primeira */} - {isFirst && ( - <> - - Tração - Barlavento - - )} - - {/* Compressão na última */} - {isLast && numFrames > 1 && ( - <> - - Comp. - Sotavento - - )} ); })} @@ -349,43 +311,30 @@ const PiperackModule: React.FC = () => { - - - - - - -
-
-
Forças e Momentos
-
F. Frontal: {(result.linearLoadFront * width).toFixed(2)} kN
- {numFrames > 1 &&
F. Traseiros (Total): {((numFrames - 1) * result.linearLoadBack * width).toFixed(2)} kN
} -
Momento Global: {mTotal.toFixed(2)} kN·m
-
-
-
Reações Globais (Conjunto)
- {numFrames > 1 ? ( - <> -
Alavanca Total (L): {braco.toFixed(2)} m
-
Reação (C1/C{numFrames}): ±{reacaoGlobal.toFixed(2)} kN
- - ) : ( -
- Pórtico único. O momento de {mTotal.toFixed(2)} kN·m é absorvido como momento fletor engastado nas bases das colunas. -
- )} -
+
+
Forças e Momentos Aerodinâmicos
+
+
+
F. Frontal: {(result.linearLoadFront * width).toFixed(2)} kN
+ {numFrames > 1 &&
F. Traseiros (Total): {((numFrames - 1) * result.linearLoadBack * width).toFixed(2)} kN
} +
+
+
Momento Global de Tombamento:
+
{(result.linearLoadFront * width * elevation + (numFrames > 1 ? (numFrames - 1) * result.linearLoadBack * width * elevation : 0)).toFixed(2)} kN·m
+

+ * O Momento Global representa a ação aerodinâmica pura. As reações reais (esforços axiais e fletores) devem ser obtidas no modelo estrutural. +

- ); - })()} +
+