• Non ci sono risultati.

Definizione casi di carico-4 del Modello Geometrico su Straus7(API)

CAPITOLO 4 EXCEL MACRO

4.12 Definizione casi di carico-4 del Modello Geometrico su Straus7(API)

4.12.1 Macro utilizzata nell’applicazione 1

Definiamo ora, il caso di carico 4, che è stato usato nell’applicazione 1. A questo punto del processo di calcolo, il modello presenta, i carichi precedentemente definiti nel caso di carico 3.

Il caso di carico 4 è indicato nelle celle da BO3 a BO5 per il nodo N3 e nelle celle da BO7 a BO9 per il nodo N1.

CASO 4 - St7SetNodeForce3 N3 FX = -333.3333 N FY = 0 N FZ= 0 N N1 FX = 333.333 N FY = 0 N FZ= 0 N M = -1 N*m M = 1000 N*mm

Tabella 4.49 – Definizione del caso di carico 4 (Appl. 1)

Come si evince dalla Tabella 4.49, la coppia unitaria M = -1 Nm è stata convertita in M= -1000 Nmm e è stata scomposta in una coppia di forze da applicare all’estremo libero della delaminazione di altezza H2.

Le due forze sono state ricavate dividendo il momento unitario per l’altezza H2.

In questo caso, la coppia unitaria è nel verso opposto rispetto alla coppia del caso di carico 3 per l’applicazione 1.

La subroutine si chiama CASO_4 e si collega alle altre subroutine attraverso il comando di chiamata “Call”. Il flusso logico con cui si avviano le subroutine è:

CASO_4 (Inizio) - Call St7Init - Apertura di un modello già creato

Call SetNodeForce3_N6- Definizione carico nullo N6- Call SetNodeForce3_N4- Definizione carico nullo N4 Call SetNodeForce3_N3- Definizione carico sul nodo N3 Call SetNodeForce3_N1- Definizione carico sul nodo N1

Capitolo 4 132 Call RunSolver- Lancio del risolutore

Call OpenResult- Apertura risultati analisi Call GetNodeResult_UP- Lettura risultati Nodo UPCRACK Call GetNodeResult_DOWN- Lettura risultati Nodo DOWNCRACK

CASO_3 (Fine) – Salva e Chiudi il File

SetNodeForce3_N6

Sub SetNodeForce3_N6()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BS(I + 3)

Next I

errore = St7SetNodeForce3(1, N°Nodo N6, 1, Force(0)) AE18 = errore

SetNodeForce3_N4

Sub SetNodeForce3_N4()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BS(I + 7)

Next I

errore = St7SetNodeForce3(1, N°Nodo N4, 1, Force(0)) AE19 = errore

SetNodeForce3_N3

Sub SetNodeForce3_N3()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BO(I + 3)

Next I

errore = St7SetNodeForce3(1, N°Nodo N6, 1, Force(0)) AE22 = errore

SetNodeForce3_N4

Sub SetNodeForce3_N4()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BO(I + 7)

Next I

errore = St7SetNodeForce3(1, N°Nodo N4, 1, Force(0)) AE23 = errore

RunSolver

Sub RunSolver()

Dim errore As Integer

Solvers = BA2 SolversModes = BA3 Wait = BA4

errore = St7RunSolver(1, Solvers, SolversModes, Wait) AE14 = errore

Sub OpenResult()

Dim errore As Integer

Dim percorso As String, modello As String, nome_analisi As String

percorso = C31 modello = C33

nome_analisi = percorso & modello & ".lsa"

errore = St7OpenResultFile(1, nome_analisi, "", 0, 1, 0) AE15 = errore

GetNodeResult_UP

Sub GetNodeResult_UP()

Dim errore As Integer, ResultType As Long Dim NodeRes(6) As Double

ResultType = BD2

errore = St7GetNodeResult(1, ResultType, N°Nodo UPCRACK, 1, NodeRes(0)) AE16 = errore M40 = NodeRes(0) M41= NodeRes(1) M42 = NodeRes(2) M43 = NodeRes(3) M44 = NodeRes(4) M45 = NodeRes(5) GetNodeResult_DOWN Sub GetNodeResult_DOWN()

Dim errore As Integer Dim NodeRes(6) As Double

ResultType = BD2

errore = St7GetNodeResult(1, ResultType, N°Nodo DOWNCRACK, 1, NodeRes(0)) AE17 = errore M47 = NodeRes(0) M48 = NodeRes(1) M49 = NodeRes(2) M50 = NodeRes(3) M51 = NodeRes(4) M52 = NodeRes(5)

4.12.2 Macro utilizzata nell’applicazione 3

In questo paragrafo verrà definito il caso di carico 4, che è stato usato nell’applicazione 3.

Il caso di carico nullo, verrà usato per i nodi N6 e N4.

Il caso di carico 4 è esplitato nelle celle da BO3 a BO5 per il nodo N3 e nelle celle da BO7 a BO9 per il nodo N1.

Capitolo 4 134 CASO 4 - St7SetNodeForce3 N3 FX = 105.2631579 N FY = 0 N FZ= 0 N N1 FX = -105.2631579 N FY = 0 N FZ= 0 N M2 = 1 N*m M2 = 1000 N*mm

Tabella 4.50 – Definizione del caso di carico 4 (Appl. 3)

Come si evince dalla Tabella 4.50, la coppia unitaria M = 1 Nm è stata convertita in M= 1000 Nmm e è stata scomposta in una coppia di forze da applicare all’estremo libero della delaminazione di altezza H2.

Le due forze sono state ricavate dividendo il momento unitario per l’altezza H2.

Rispetto al caso di carico 4 per l’applicazione 1, la coppia unitaria è nello stesso verso della coppia del caso di carico 3 per l’applicazione 3.

La subroutine si chiama CASO_4 e si collega alle altre subroutine attraverso il comando di chiamata “Call”. Il flusso logico con cui si avviano le subroutine è:

CASO_4 (Inizio) - Call St7Init - Apertura di un modello già creato

Call SetNodeForce3_N6- Definizione carico nullo N6- Call SetNodeForce3_N4- Definizione carico nullo N4 Call SetNodeForce3_N3- Definizione carico sul nodo N3 Call SetNodeForce3_N1- Definizione carico sul nodo N1

Call RunSolver- Lancio del risolutore Call OpenResult- Apertura risultati analisi Call GetNodeResult_UP- Lettura risultati Nodo UPCRACK Call GetNodeResult_DOWN- Lettura risultati Nodo DOWNCRACK

SetNodeForce3_N6

Sub SetNodeForce3_N6()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BS(I + 3)

Next I

errore = St7SetNodeForce3(1, N°Nodo N6, 1, Force(0)) AE18 = errore

SetNodeForce3_N4

Sub SetNodeForce3_N4()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BS(I + 7)

Next I

errore = St7SetNodeForce3(1, N°Nodo N4, 1, Force(0)) AE19 = errore

SetNodeForce3_N3

Sub SetNodeForce3_N3()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BO(I + 3)

Next I

errore = St7SetNodeForce3(1, N°Nodo N6, 1, Force(0)) AE22 = errore

SetNodeForce3_N4

Sub SetNodeForce3_N4()

Dim errore As Integer Dim Force(2) As Double For I = 0 To 2

Force(I) = BO(I + 7)

Next I

errore = St7SetNodeForce3(1, N°Nodo N4, 1, Force(0)) AE23 = errore

RunSolver

Sub RunSolver()

Dim errore As Integer

Solvers = BA2 SolversModes = BA3 Wait = BA4

errore = St7RunSolver(1, Solvers, SolversModes, Wait) AE14 = errore

OpenResult

Sub OpenResult()

Capitolo 4 136

Dim percorso As String, modello As String, nome_analisi As String

percorso = C31 modello = C33

nome_analisi = percorso & modello & ".lsa"

errore = St7OpenResultFile(1, nome_analisi, "", 0, 1, 0) AE15 = errore

GetNodeResult_UP

Sub GetNodeResult_UP()

Dim errore As Integer, ResultType As Long Dim NodeRes(6) As Double

ResultType = BD2

errore = St7GetNodeResult(1, ResultType, N°Nodo UPCRACK, 1, NodeRes(0)) AE16 = errore M40 = NodeRes(0) M41= NodeRes(1) M42 = NodeRes(2) M43 = NodeRes(3) M44 = NodeRes(4) M45 = NodeRes(5) GetNodeResult_DOWN Sub GetNodeResult_DOWN()

Dim errore As Integer Dim NodeRes(6) As Double

ResultType = BD2

errore = St7GetNodeResult(1, ResultType, N°Nodo DOWNCRACK, 1, NodeRes(0)) AE17 = errore M47 = NodeRes(0) M48 = NodeRes(1) M49 = NodeRes(2) M50 = NodeRes(3) M51 = NodeRes(4) M52 = NodeRes(5)