1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| Private Declare Sub cA Lib "pcont.dll" Alias "_CALCULS_APPUIS@100" (ByVal nbt&, ByVal nelem&, ByVal genre&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, reaction#, deplacement#, _
Mb#, Md#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
Private Declare Sub cM Lib "pcont.dll" Alias "_CONSTRUIT_MATRICE@56" (ByVal nbt&, a#, b#, c#, e#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#, Ma#)
Private Declare Sub cT Lib "pcont.dll" Alias "_CALCULS_TRAVEES@136" (ByVal nbt&, ByVal nelem&, ByVal pas&, ByVal l#, ByVal abscisse#, ByVal n&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, _
reaction#, deplacement#, Mb#, Md#, Mt#, Th#, Fl#, Re#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
Sub calcul_moments(nbt As Long, portee() As Double, cod() As Double, Ko As Double, Kn As Double, k() As Double, module() As Double, inertie() As Double, moments() As Double, tranchants() As Double, flèches() As Double, réactions() As Double)
'intermédiaires :
Dim Rog(150) As Double, Rod(150) As Double, Rg(150) As Double, Rd(150) As Double
Dim reaction(150) As Double, deplacement(150) As Double, Mb(150) As Double, Md(150) As Double
Dim Ai(150) As Double, Bi(150) As Double, Ci(150) As Double, EI(150) As Double
Dim Ma() As Double
Dim genre As Long
Dim distance As Double, abscisse As Double
'sorties :
Dim Mt(25, 2) As Double, Th(25, 2) As Double, Fl(25, 2) As Double, Re(25, 2) As Double
'autres :
Dim i As Long, j As Long, l As Double
ReDim Ma(nbt, nbt) As Double
genre = 1
Call cM(nbt, Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn, Ma(0, 0))
Call cA(nbt, cod(0, 0), genre, Ma(0, 0), cod(0, 0), Rog(0), Rod(0), Rg(0), Rd(0), reaction(0), deplacement(0), Mb(0), Md(0), Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn)
For i = 1 To nbt
Call cT(nbt, cod(0, 0), pas, portee(i), abscisse, i, Ma(0, 0), cod(0, 0), Rog(0), Rod(0), Rg(0), Rd(0), reaction(0), deplacement(0), Mb(0), Md(0), Mt(0, 0), Th(0, 0), Fl(0, 0), Re(0, 0), Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn)
For l = 1 To 3
For j = 1 To 2 * pas
moments(2 * (i - 1) * pas + j, l) = Mt(j, l - 1)
tranchants(2 * (i - 1) * pas + j, l) = Th(j, l - 1)
Next
For j = 1 To pas
flèches(2 * (i - 1) * pas + 2 * j - 1, l) = 1000 * Fl(j - 1, l - 1)
flèches(2 * (i - 1) * pas + 2 * j, l) = 1000 * Fl(j, l - 1)
Next
réactions(2 * i - 1, l) = Re(0, l - 1)
réactions(2 * i, l) = Re(1, l - 1)
Next
Next
For j = 1 To 2 * pas * nbt
'mini
moments(j, 1) = moments(j, 1) + moments(j, 2)
tranchants(j, 1) = tranchants(j, 1) + tranchants(j, 2)
flèches(j, 1) = flèches(j, 1) + flèches(j, 2)
'maxi
moments(j, 3) = moments(j, 3) + moments(j, 2)
tranchants(j, 3) = tranchants(j, 3) + tranchants(j, 2)
flèches(j, 3) = flèches(j, 3) + flèches(j, 2)
Next
For j = 1 To 2 * nbt
réactions(j, 1) = réactions(j, 1) + réactions(j, 2)
réactions(j, 3) = réactions(j, 3) + réactions(j, 2)
Next
End Sub |
Partager