Mehanika_1-11_Ravninske_rešetke_(v0.3)

2058 days ago by fresl

[Napomene o programskom kôdu u Sage-u:

Ćelije u kojima je prvi redak %auto ne trebate izvoditi ( evaluate ); one se izvode „same” pri otvaranju radnoga lista.

Funkcije, programska realizacija kojih nije bitna za razumijevanje gradiva Mehanike 1., „skrivene” su.]

       

 

Mehanika 1.

 

Statički određeni ravninski rešetkasti nosači

 

[Ovaj radni list sadrži program Truss_2D za izračunavanje sila u štapovima statički određenih ravninskih rešetkastih nosača i primjere njegove primjene. Teorijske natuknice možete naći u datoteci  Jednostavni statički određeni rešetkasti nosači  u  Bilješkama i skicama s predavanja iz Mehanike 1.

 

Primjer 1.

 

Opis rešetke:

  • čvorovi, štapovi, ležajevi, opterećenja u čvorovima

Zadavanje čvorova:

  • rječnik čvorova:

{ oznaka0: (x0, y0), oznaka1: (x1, y1), oznaka2: (x2, y2), ... }

  • oznakaioznaka (indeks) čvora i
  • (xi, yi) koordinate čvora (os y je orijentirana „prema gore”)
  • općenito:  rječnik (dictionary) — niz uređenih parova  ključ: vrijednost  navedenih unutar vitičastih zagrada {}

Zadavanje štapova:

  • rječnik štapova:

{ oznaka0: (čvor00, čvor10), oznaka1: (čvor01, čvor11), oznaka2: (čvor02, čvor12), ... }

  • oznakaioznaka (indeks) štapa i
  • (čvor0i, čvor1i) — početni i krajnji čvor štapa i

Zadavanje ležajeva:

  • lista oznaka ležajnih čvorova:

[ oznaka0, oznaka1, ... ]

Zadavanje opterećenja u čvorovima:

  • rječnik opterećenja:

{ oznaka0: (Fx0, Fy0), oznaka1: (Fx1, Fy1), oznaka2: (Fx2, Fy2), ... }

  • oznakai — oznaka čvora u kojem djeluje opterećenje
  • (Fxi, Fyi) — komponente čvornog opterećenja
       
joints:
   0:  (0.000000000000000, 0.000000000000000)
   1:  (3.00000000000000, 0.000000000000000)
   2:  (6.00000000000000, 0.000000000000000)
   3:  (1.50000000000000, 2.50000000000000)
   4:  (4.50000000000000, 2.50000000000000)
   5:  (-0.500000000000000, 0.000000000000000)
   6:  (0.000000000000000, -0.500000000000000)
   7:  (6.00000000000000, -0.500000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 1)
   4:  (1, 4)
   5:  (4, 2)
   6:  (3, 4)
   7:  (5, 0)
   8:  (6, 0)
   9:  (7, 2)

supports: [5, 6, 7]

loads:
   1:  (0.000000000000000, -100.000000000000)
joints:
   0:  (0.000000000000000, 0.000000000000000)
   1:  (3.00000000000000, 0.000000000000000)
   2:  (6.00000000000000, 0.000000000000000)
   3:  (1.50000000000000, 2.50000000000000)
   4:  (4.50000000000000, 2.50000000000000)
   5:  (-0.500000000000000, 0.000000000000000)
   6:  (0.000000000000000, -0.500000000000000)
   7:  (6.00000000000000, -0.500000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 1)
   4:  (1, 4)
   5:  (4, 2)
   6:  (3, 4)
   7:  (5, 0)
   8:  (6, 0)
   9:  (7, 2)

supports: [5, 6, 7]

loads:
   1:  (0.000000000000000, -100.000000000000)

Grafički prikaz rešetke:

  • crno — ležajni čvorovi
  • bijelo — slobodni čvorovi
       

Izračunavanje sila u štapovima:

truss2D (joints, bars, supports, loads)rezultat: rječnik s komponentama  oznakai: silai

  • oznakai — oznaka štapa i (iz rječnika bars)
  • silai — sila u štapu i
       
   0:  30.0
   1:  30.0
   2:  -58.3095189485
   3:  58.3095189485
   4:  58.3095189485
   5:  -58.3095189485
   6:  -60.0
   7:  -0.0
   8:  -50.0
   9:  -50.0
   0:  30.0
   1:  30.0
   2:  -58.3095189485
   3:  58.3095189485
   4:  58.3095189485
   5:  -58.3095189485
   6:  -60.0
   7:  -0.0
   8:  -50.0
   9:  -50.0

Grafički prikaz rješenja:

  • plavo — štapovi s vlačnim silama
  • crveno — štapovi s tlačnim silama
  • žuto — štapovi bez sila
 
       

 

Rješavanje u koracima:

  •  slobodni čvorovi:

others (a1, a2) — rezultat: komponente liste ili rječnika a2 koje nisu u listi ili rječniku a1

       
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4]
  •  provjera zadovoljenja Maxwellova pravila:

$2\,n - b = 0$

$n$ — broj slobodnih čvorova

$b$ — broj štapova

       
2 * 5 - 10  ==  0
2 * 5 - 10  ==  0
  •  „ravnotežna” matrica:
       

                                
                            

                                
  •  vektor vanjskih sila:
       

                                
                            

                                
  •  rješavanje matričnog sustava i pridruživanje rješenja štapovima:

dict_bar_force (bars, forces) — rezultat: rječnik s komponentama  oznakai: silai

  •  oznakai — oznaka štapa i u rječniku bars
  •  silai uzdužna sila u štapu i u listi forces
       
(29.999999999999996, 29.999999999999996, -58.309518948453004, 58.30951894845301,
58.30951894845301, -58.30951894845301, -60.0, -0.0, -49.99999999999999,
-49.99999999999999)
(29.999999999999996, 29.999999999999996, -58.309518948453004, 58.30951894845301, 58.30951894845301, -58.30951894845301, -60.0, -0.0, -49.99999999999999, -49.99999999999999)
       
   0:  30.0
   1:  30.0
   2:  -58.3095189485
   3:  58.3095189485
   4:  58.3095189485
   5:  -58.3095189485
   6:  -60.0
   7:  -0.0
   8:  -50.0
   9:  -50.0
   0:  30.0
   1:  30.0
   2:  -58.3095189485
   3:  58.3095189485
   4:  58.3095189485
   5:  -58.3095189485
   6:  -60.0
   7:  -0.0
   8:  -50.0
   9:  -50.0

 

Primjer 2.

 

       
joints:
   0:  (1.60000000000000, 3.00000000000000)
   1:  (4.80000000000000, 3.00000000000000)
   2:  (8.00000000000000, 3.00000000000000)
   3:  (0.000000000000000, 0.000000000000000)
   4:  (3.20000000000000, 0.000000000000000)
   5:  (6.40000000000000, 0.000000000000000)
   6:  (9.60000000000000, 0.000000000000000)
   7:  (-0.500000000000000, 0.000000000000000)
   8:  (0.000000000000000, -0.500000000000000)
   9:  (6.40000000000000, -0.500000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (3, 0)
   3:  (0, 4)
   4:  (4, 1)
   5:  (1, 5)
   6:  (5, 2)
   7:  (2, 6)
   8:  (3, 4)
   9:  (4, 5)
  10:  (5, 6)
  11:  (7, 3)
  12:  (3, 8)
  13:  (9, 5)

supports: [7, 8, 9]

loads:
   1:  (0.000000000000000, -22.0000000000000)
   6:  (22.4000000000000, 16.8000000000000)
joints:
   0:  (1.60000000000000, 3.00000000000000)
   1:  (4.80000000000000, 3.00000000000000)
   2:  (8.00000000000000, 3.00000000000000)
   3:  (0.000000000000000, 0.000000000000000)
   4:  (3.20000000000000, 0.000000000000000)
   5:  (6.40000000000000, 0.000000000000000)
   6:  (9.60000000000000, 0.000000000000000)
   7:  (-0.500000000000000, 0.000000000000000)
   8:  (0.000000000000000, -0.500000000000000)
   9:  (6.40000000000000, -0.500000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (3, 0)
   3:  (0, 4)
   4:  (4, 1)
   5:  (1, 5)
   6:  (5, 2)
   7:  (2, 6)
   8:  (3, 4)
   9:  (4, 5)
  10:  (5, 6)
  11:  (7, 3)
  12:  (3, 8)
  13:  (9, 5)

supports: [7, 8, 9]

loads:
   1:  (0.000000000000000, -22.0000000000000)
   6:  (22.4000000000000, 16.8000000000000)
       
       
2 * 7 - 14  ==  0
2 * 7 - 14  ==  0
       
   0:  -14.8266666667
   1:  -17.92
   2:  -15.7533333333
   3:  15.7533333333
   4:  -15.7533333333
   5:  -9.18
   6:  19.04
   7:  -19.04
   8:  29.8133333333
   9:  44.64
  10:  31.36
  11:  22.4
  12:  -13.9
  13:  8.7
   0:  -14.8266666667
   1:  -17.92
   2:  -15.7533333333
   3:  15.7533333333
   4:  -15.7533333333
   5:  -9.18
   6:  19.04
   7:  -19.04
   8:  29.8133333333
   9:  44.64
  10:  31.36
  11:  22.4
  12:  -13.9
  13:  8.7
       

 

Primjer 2., još jednom

 

       
joints:
   0:  (1.60000000000000, 3.00000000000000)
   1:  (4.80000000000000, 3.00000000000000)
   2:  (8.00000000000000, 3.00000000000000)
   3:  (0.000000000000000, 0.000000000000000)
   4:  (3.20000000000000, 0.000000000000000)
   5:  (6.40000000000000, 0.000000000000000)
   6:  (9.60000000000000, 0.000000000000000)
   9:  (6.40000000000000, -0.500000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (3, 0)
   3:  (0, 4)
   4:  (4, 1)
   5:  (1, 5)
   6:  (5, 2)
   7:  (2, 6)
   8:  (3, 4)
   9:  (4, 5)
  10:  (5, 6)
  13:  (9, 5)

supports: [3, 9]

loads:
   1:  (0.000000000000000, -22.0000000000000)
   6:  (22.4000000000000, 16.8000000000000)
joints:
   0:  (1.60000000000000, 3.00000000000000)
   1:  (4.80000000000000, 3.00000000000000)
   2:  (8.00000000000000, 3.00000000000000)
   3:  (0.000000000000000, 0.000000000000000)
   4:  (3.20000000000000, 0.000000000000000)
   5:  (6.40000000000000, 0.000000000000000)
   6:  (9.60000000000000, 0.000000000000000)
   9:  (6.40000000000000, -0.500000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (3, 0)
   3:  (0, 4)
   4:  (4, 1)
   5:  (1, 5)
   6:  (5, 2)
   7:  (2, 6)
   8:  (3, 4)
   9:  (4, 5)
  10:  (5, 6)
  13:  (9, 5)

supports: [3, 9]

loads:
   1:  (0.000000000000000, -22.0000000000000)
   6:  (22.4000000000000, 16.8000000000000)
       
       
2 * 6 - 12  ==  0
2 * 6 - 12  ==  0
       
   0:  -14.8266666667
   1:  -17.92
   2:  -15.7533333333
   3:  15.7533333333
   4:  -15.7533333333
   5:  -9.18
   6:  19.04
   7:  -19.04
   8:  29.8133333333
   9:  44.64
  10:  31.36
  13:  8.7
   0:  -14.8266666667
   1:  -17.92
   2:  -15.7533333333
   3:  15.7533333333
   4:  -15.7533333333
   5:  -9.18
   6:  19.04
   7:  -19.04
   8:  29.8133333333
   9:  44.64
  10:  31.36
  13:  8.7
       

 

Primjer 3.

 

       
joints:
   1:  (0.000000000000000, 0.000000000000000)
   2:  (3.00000000000000, 4.00000000000000)
   3:  (0.000000000000000, 4.00000000000000)
   4:  (-6.00000000000000, 6.50000000000000)
   5:  (-6.00000000000000, -0.500000000000000)
   6:  (3.00000000000000, 0.000000000000000)
   7:  (10.5000000000000, 0.000000000000000)

bars:
   1:  (1, 3)
   2:  (1, 2)
   3:  (6, 2)
   4:  (2, 7)
   5:  (3, 5)
   6:  (3, 4)

supports: [4, 5, 6, 7]

loads:
   1:  (-30.0000000000000, 0.000000000000000)
   2:  (60.0000000000000, 0.000000000000000)
   3:  (0.000000000000000, -90.0000000000000)
joints:
   1:  (0.000000000000000, 0.000000000000000)
   2:  (3.00000000000000, 4.00000000000000)
   3:  (0.000000000000000, 4.00000000000000)
   4:  (-6.00000000000000, 6.50000000000000)
   5:  (-6.00000000000000, -0.500000000000000)
   6:  (3.00000000000000, 0.000000000000000)
   7:  (10.5000000000000, 0.000000000000000)

bars:
   1:  (1, 3)
   2:  (1, 2)
   3:  (6, 2)
   4:  (2, 7)
   5:  (3, 5)
   6:  (3, 4)

supports: [4, 5, 6, 7]

loads:
   1:  (-30.0000000000000, 0.000000000000000)
   2:  (60.0000000000000, 0.000000000000000)
   3:  (0.000000000000000, -90.0000000000000)
       
       
2 * 3 - 6  ==  0
2 * 3 - 6  ==  0
       
   1:  -40.0
   2:  50.0
   3:  -24.0
   4:  -34.0
   5:  -53.5714285714
   6:  46.4285714286
   1:  -40.0
   2:  50.0
   3:  -24.0
   4:  -34.0
   5:  -53.5714285714
   6:  46.4285714286
       

 

Primjer 4.

 

Tvorba rječnika čvorova:

make_joints (j0, generator)

  • j0 — oznaka prvoga čvora
  • generator — lista uređenih trojki  (nj, (x0, y0), (dx, dy))

nastaje niz čvorova s koordinatama  (x0, y0),  (x0 + dx, y0 + dz),  (x0 + 2$\cdot$dx, y0 + 2$\cdot$dz), ...,  (x0 + (nj-1)$\cdot$dx, y0 + (nj-1)$\cdot$dy)

       
   0:  [0.000000000000000, 0.000000000000000]
   1:  [1.50000000000000, 0.000000000000000]
   2:  [3.00000000000000, 0.000000000000000]
   3:  [4.50000000000000, 0.000000000000000]
   4:  [6.00000000000000, 0.000000000000000]
   5:  [7.50000000000000, 0.000000000000000]
   6:  [9.00000000000000, 0.000000000000000]
   7:  [10.5000000000000, 0.000000000000000]
   8:  [12.0000000000000, 0.000000000000000]
   9:  [13.5000000000000, 0.000000000000000]
  10:  [15.0000000000000, 0.000000000000000]
  11:  [0.000000000000000, 2.00000000000000]
  12:  [1.50000000000000, 2.00000000000000]
  13:  [3.00000000000000, 2.00000000000000]
  14:  [4.50000000000000, 2.00000000000000]
  15:  [6.00000000000000, 2.00000000000000]
  16:  [7.50000000000000, 2.00000000000000]
  17:  [9.00000000000000, 2.00000000000000]
  18:  [10.5000000000000, 2.00000000000000]
  19:  [12.0000000000000, 2.00000000000000]
  20:  [13.5000000000000, 2.00000000000000]
  21:  [15.0000000000000, 2.00000000000000]
  22:  (0.000000000000000, -0.500000000000000)
  23:  (15.0000000000000, -0.500000000000000)
  24:  (-0.500000000000000, 2.00000000000000)
   0:  [0.000000000000000, 0.000000000000000]
   1:  [1.50000000000000, 0.000000000000000]
   2:  [3.00000000000000, 0.000000000000000]
   3:  [4.50000000000000, 0.000000000000000]
   4:  [6.00000000000000, 0.000000000000000]
   5:  [7.50000000000000, 0.000000000000000]
   6:  [9.00000000000000, 0.000000000000000]
   7:  [10.5000000000000, 0.000000000000000]
   8:  [12.0000000000000, 0.000000000000000]
   9:  [13.5000000000000, 0.000000000000000]
  10:  [15.0000000000000, 0.000000000000000]
  11:  [0.000000000000000, 2.00000000000000]
  12:  [1.50000000000000, 2.00000000000000]
  13:  [3.00000000000000, 2.00000000000000]
  14:  [4.50000000000000, 2.00000000000000]
  15:  [6.00000000000000, 2.00000000000000]
  16:  [7.50000000000000, 2.00000000000000]
  17:  [9.00000000000000, 2.00000000000000]
  18:  [10.5000000000000, 2.00000000000000]
  19:  [12.0000000000000, 2.00000000000000]
  20:  [13.5000000000000, 2.00000000000000]
  21:  [15.0000000000000, 2.00000000000000]
  22:  (0.000000000000000, -0.500000000000000)
  23:  (15.0000000000000, -0.500000000000000)
  24:  (-0.500000000000000, 2.00000000000000)

Tvorba rječnika štapova:

make_bars (b0, generator)

  • b0 — oznaka prvog štapa
  • generator — lista uređenih trojki  (nb, (a0, b0), (as, bs))

nastaje niz štapova sa čvorovima oznake kojih su  (a0, b0),  (a0 + as, b0 + bs),  (a0 + 2$\cdot$as, b0 + 2$\cdot$bs), ...,  (a0 + (nb-1)$\cdot$as, b0 + (nb-1)$\cdot$bs)

       
   0:  [0, 1]
   1:  [1, 2]
   2:  [2, 3]
   3:  [3, 4]
   4:  [4, 5]
   5:  [5, 6]
   6:  [6, 7]
   7:  [7, 8]
   8:  [8, 9]
   9:  [9, 10]
  10:  [11, 12]
  11:  [12, 13]
  12:  [13, 14]
  13:  [14, 15]
  14:  [15, 16]
  15:  [16, 17]
  16:  [17, 18]
  17:  [18, 19]
  18:  [19, 20]
  19:  [20, 21]
  20:  [0, 11]
  21:  [1, 12]
  22:  [2, 13]
  23:  [3, 14]
  24:  [4, 15]
  25:  [5, 16]
  26:  [6, 17]
  27:  [7, 18]
  28:  [8, 19]
  29:  [9, 20]
  30:  [10, 21]
  31:  [0, 12]
  32:  [1, 13]
  33:  [2, 14]
  34:  [3, 15]
  35:  [4, 16]
  36:  [5, 17]
  37:  [6, 18]
  38:  [7, 19]
  39:  [8, 20]
  40:  [9, 21]
  41:  (22, 0)
  42:  (23, 10)
  43:  (24, 11)
   0:  [0, 1]
   1:  [1, 2]
   2:  [2, 3]
   3:  [3, 4]
   4:  [4, 5]
   5:  [5, 6]
   6:  [6, 7]
   7:  [7, 8]
   8:  [8, 9]
   9:  [9, 10]
  10:  [11, 12]
  11:  [12, 13]
  12:  [13, 14]
  13:  [14, 15]
  14:  [15, 16]
  15:  [16, 17]
  16:  [17, 18]
  17:  [18, 19]
  18:  [19, 20]
  19:  [20, 21]
  20:  [0, 11]
  21:  [1, 12]
  22:  [2, 13]
  23:  [3, 14]
  24:  [4, 15]
  25:  [5, 16]
  26:  [6, 17]
  27:  [7, 18]
  28:  [8, 19]
  29:  [9, 20]
  30:  [10, 21]
  31:  [0, 12]
  32:  [1, 13]
  33:  [2, 14]
  34:  [3, 15]
  35:  [4, 16]
  36:  [5, 17]
  37:  [6, 18]
  38:  [7, 19]
  39:  [8, 20]
  40:  [9, 21]
  41:  (22, 0)
  42:  (23, 10)
  43:  (24, 11)
       
       
       
2 * 22 - 44  ==  0
2 * 22 - 44  ==  0
       
   0:  17.4
   1:  22.8
   2:  16.2
   3:  9.6
   4:  3.0
   5:  -3.6
   6:  3.3
   7:  10.2
   8:  5.1
   9:  -2.6645352591e-15
  10:  0.0
  11:  -5.4
  12:  -10.8
  13:  -4.2
  14:  2.4
  15:  9.0
  16:  15.6
  17:  8.7
  18:  -10.2
  19:  -5.1
  20:  -0.0
  21:  7.2
  22:  -8.8
  23:  -8.8
  24:  -8.8
  25:  -8.8
  26:  9.2
  27:  9.2
  28:  -6.8
  29:  -6.8
  30:  -6.8
  31:  -9.0
  32:  -9.0
  33:  11.0
  34:  11.0
  35:  11.0
  36:  11.0
  37:  -11.5
  38:  -11.5
  39:  8.5
  40:  8.5
  41:  -7.2
  42:  -6.8
  43:  -0.0
   0:  17.4
   1:  22.8
   2:  16.2
   3:  9.6
   4:  3.0
   5:  -3.6
   6:  3.3
   7:  10.2
   8:  5.1
   9:  -2.6645352591e-15
  10:  0.0
  11:  -5.4
  12:  -10.8
  13:  -4.2
  14:  2.4
  15:  9.0
  16:  15.6
  17:  8.7
  18:  -10.2
  19:  -5.1
  20:  -0.0
  21:  7.2
  22:  -8.8
  23:  -8.8
  24:  -8.8
  25:  -8.8
  26:  9.2
  27:  9.2
  28:  -6.8
  29:  -6.8
  30:  -6.8
  31:  -9.0
  32:  -9.0
  33:  11.0
  34:  11.0
  35:  11.0
  36:  11.0
  37:  -11.5
  38:  -11.5
  39:  8.5
  40:  8.5
  41:  -7.2
  42:  -6.8
  43:  -0.0
       

 

Primjer 5.

 

       
joints:
   0:  (0, 0)
   1:  (5, 1.00000000000000)
   2:  (10.0000000000000, 0.000000000000000)
   3:  (1.00000000000000, 3.00000000000000)
   4:  (9.00000000000000, 3.00000000000000)
   5:  (5.00000000000000, 5.00000000000000)
   6:  (-1.00000000000000, 0.000000000000000)
   7:  (0.000000000000000, -1.00000000000000)
   8:  (10.0000000000000, -1.00000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 5)
   4:  (5, 4)
   5:  (4, 2)
   6:  (1, 5)
   7:  (3, 2)
   8:  (0, 4)
   9:  (0, 6)
  10:  (0, 7)
  11:  (2, 8)

supports: [6, 7, 8]

loads:
   1:  (0.000000000000000, -50.0000000000000)
joints:
   0:  (0, 0)
   1:  (5, 1.00000000000000)
   2:  (10.0000000000000, 0.000000000000000)
   3:  (1.00000000000000, 3.00000000000000)
   4:  (9.00000000000000, 3.00000000000000)
   5:  (5.00000000000000, 5.00000000000000)
   6:  (-1.00000000000000, 0.000000000000000)
   7:  (0.000000000000000, -1.00000000000000)
   8:  (10.0000000000000, -1.00000000000000)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 5)
   4:  (5, 4)
   5:  (4, 2)
   6:  (1, 5)
   7:  (3, 2)
   8:  (0, 4)
   9:  (0, 6)
  10:  (0, 7)
  11:  (2, 8)

supports: [6, 7, 8]

loads:
   1:  (0.000000000000000, -50.0000000000000)
       
       
2 * 6 - 12  ==  0
2 * 6 - 12  ==  0
       
   0:  -21.24591464
   1:  -21.24591464
   2:  -32.9403922934
   3:  -46.5847495312
   4:  -46.5847495312
   5:  -32.9403922934
   6:  41.6666666667
   7:  32.9403922934
   8:  32.9403922934
   9:  -2.26933941565e-15
  10:  -25.0
  11:  -25.0
   0:  -21.24591464
   1:  -21.24591464
   2:  -32.9403922934
   3:  -46.5847495312
   4:  -46.5847495312
   5:  -32.9403922934
   6:  41.6666666667
   7:  32.9403922934
   8:  32.9403922934
   9:  -2.26933941565e-15
  10:  -25.0
  11:  -25.0
       
       
loads:
   2:  (50, 0)
loads:
   2:  (50, 0)
       
       
   0:  42.4918292799
   1:  42.4918292799
   2:  -13.1761569174
   3:  -18.6338998125
   4:  -18.6338998125
   5:  -13.1761569174
   6:  16.6666666667
   7:  13.1761569174
   8:  13.1761569174
   9:  50.0
  10:  1.2490009027e-15
  11:  -1.2490009027e-15
   0:  42.4918292799
   1:  42.4918292799
   2:  -13.1761569174
   3:  -18.6338998125
   4:  -18.6338998125
   5:  -13.1761569174
   6:  16.6666666667
   7:  13.1761569174
   8:  13.1761569174
   9:  50.0
  10:  1.2490009027e-15
  11:  -1.2490009027e-15
       

 

Primjer 6.

 

Točna aritmetika:

 

       
joints:
   0:  (0, 0)
   1:  (5, -5/3*sqrt(3))
   2:  (10, 0)
   3:  (0, 10/3*sqrt(3))
   4:  (10, 10/3*sqrt(3))
   5:  (5, 5*sqrt(3))
   6:  (-1, 0)
   7:  (0, -1)
   8:  (10, -1)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 5)
   4:  (5, 4)
   5:  (4, 2)
   6:  (1, 5)
   7:  (3, 2)
   8:  (0, 4)
   9:  (0, 6)
  10:  (0, 7)
  11:  (2, 8)

supports: [6, 7, 8]

loads:
   1:  (0, -50)
joints:
   0:  (0, 0)
   1:  (5, -5/3*sqrt(3))
   2:  (10, 0)
   3:  (0, 10/3*sqrt(3))
   4:  (10, 10/3*sqrt(3))
   5:  (5, 5*sqrt(3))
   6:  (-1, 0)
   7:  (0, -1)
   8:  (10, -1)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 5)
   4:  (5, 4)
   5:  (4, 2)
   6:  (1, 5)
   7:  (3, 2)
   8:  (0, 4)
   9:  (0, 6)
  10:  (0, 7)
  11:  (2, 8)

supports: [6, 7, 8]

loads:
   1:  (0, -50)
       
       
2 * 6 - 12  ==  0
2 * 6 - 12  ==  0
       
Traceback (click to the left of this block for traceback)
...
numpy.linalg.linalg.LinAlgError: singular matrix
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_49.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("YmFyX2ZvcmNlcyA9IHRydXNzMkQgKGpvaW50cywgYmFycywgc3VwcG9ydHMsIGxvYWRzKQpwcmludF9kaWN0IChiYXJfZm9yY2VzKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmp4PU8IR/___code___.py", line 2, in <module>
    bar_forces = truss2D (joints, bars, supports, loads)
  File "<string>", line 82, in truss2D
  File "sage/matrix/matrix_double_dense.pyx", line 1758, in sage.matrix.matrix_double_dense.Matrix_double_dense.solve_right (/home/sage/SageMath/src/build/cythonized/sage/matrix/matrix_double_dense.c:13465)
  File "/home/sage/SageMath/local/lib/python2.7/site-packages/scipy/linalg/basic.py", line 103, in solve
    raise LinAlgError("singular matrix")
numpy.linalg.linalg.LinAlgError: singular matrix

 

Pseudorealna aritmetika:

 

       
joints:
   0:  (0.000000000000000, 0.000000000000000)
   1:  (5.00000000000000, -2.88675000000000)
   2:  (10.0000000000000, 0.000000000000000)
   3:  (0.000000000000000, 5.77350000000000)
   4:  (10.0000000000000, 5.77350000000000)
   5:  (5.00000000000000, 8.66025000000000)
   6:  (-1.00000000000000, 0.000000000000000)
   7:  (0.000000000000000, -1.00000000000000)
   8:  (10.0000000000000, -1.00000000000000)
joints:
   0:  (0.000000000000000, 0.000000000000000)
   1:  (5.00000000000000, -2.88675000000000)
   2:  (10.0000000000000, 0.000000000000000)
   3:  (0.000000000000000, 5.77350000000000)
   4:  (10.0000000000000, 5.77350000000000)
   5:  (5.00000000000000, 8.66025000000000)
   6:  (-1.00000000000000, 0.000000000000000)
   7:  (0.000000000000000, -1.00000000000000)
   8:  (10.0000000000000, -1.00000000000000)
       
   0:  -1.08397709278e+17
   1:  -1.08397709278e+17
   2:  -1.08397671373e+17
   3:  -1.08397709278e+17
   4:  -1.08397709278e+17
   5:  -1.08397671373e+17
   6:  1.08397671373e+17
   7:  1.08397709278e+17
   8:  1.08397709278e+17
   9:  1.64882056843e-15
  10:  -27.7926204058
  11:  -22.2073795942
   0:  -1.08397709278e+17
   1:  -1.08397709278e+17
   2:  -1.08397671373e+17
   3:  -1.08397709278e+17
   4:  -1.08397709278e+17
   5:  -1.08397671373e+17
   6:  1.08397671373e+17
   7:  1.08397709278e+17
   8:  1.08397709278e+17
   9:  1.64882056843e-15
  10:  -27.7926204058
  11:  -22.2073795942
       

 

Primjer 7:

 

       
joints:
   0:  (0, 0)
   1:  (5, 0)
   2:  (10, 0)
   3:  (0, 4)
   4:  (10, 4)
   5:  (5, 4)
   6:  (-1, 0)
   7:  (0, -1)
   8:  (10, -1)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 5)
   4:  (5, 4)
   5:  (4, 2)
   6:  (1, 5)
   7:  (3, 2)
   8:  (0, 4)
   9:  (0, 6)
  10:  (0, 7)
  11:  (2, 8)

supports: [6, 7, 8]

loads:
   1:  (0, -50)
joints:
   0:  (0, 0)
   1:  (5, 0)
   2:  (10, 0)
   3:  (0, 4)
   4:  (10, 4)
   5:  (5, 4)
   6:  (-1, 0)
   7:  (0, -1)
   8:  (10, -1)

bars:
   0:  (0, 1)
   1:  (1, 2)
   2:  (0, 3)
   3:  (3, 5)
   4:  (5, 4)
   5:  (4, 2)
   6:  (1, 5)
   7:  (3, 2)
   8:  (0, 4)
   9:  (0, 6)
  10:  (0, 7)
  11:  (2, 8)

supports: [6, 7, 8]

loads:
   1:  (0, -50)
       
       
2 * 6 - 12  ==  0
2 * 6 - 12  ==  0
       
Traceback (click to the left of this block for traceback)
...
numpy.linalg.linalg.LinAlgError: singular matrix
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_56.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("YmFyX2ZvcmNlcyA9IHRydXNzMkQgKGpvaW50cywgYmFycywgc3VwcG9ydHMsIGxvYWRzKQpwcmludF9kaWN0IChiYXJfZm9yY2VzKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpAwWN1c/___code___.py", line 2, in <module>
    bar_forces = truss2D (joints, bars, supports, loads)
  File "<string>", line 82, in truss2D
  File "sage/matrix/matrix_double_dense.pyx", line 1758, in sage.matrix.matrix_double_dense.Matrix_double_dense.solve_right (/home/sage/SageMath/src/build/cythonized/sage/matrix/matrix_double_dense.c:13465)
  File "/home/sage/SageMath/local/lib/python2.7/site-packages/scipy/linalg/basic.py", line 103, in solve
    raise LinAlgError("singular matrix")
numpy.linalg.linalg.LinAlgError: singular matrix