Mehanika_1-11_Prostorne_rešetke_(v0.5)

1457 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 prostorni rešetkasti nosači

 

[Ovaj radni list sadrži program Truss_3D za izračunavanje sila u štapovima statički određenih prostornih rešetkastih nosača i primjere njegove primjene. Teorijske natuknice možete naći u datoteci  Jednostavni statički određeni rešetkasti  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, z0), oznaka1: (x1, y1, z1), oznaka2: (x2, y2, z2), ... }

  • oznakaioznaka (indeks) čvora i
  • (xi, yi, zi) koordinate čvora (os z 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, Fz0), oznaka1: (Fx1, Fy1, Fz1), oznaka2: (Fx2, Fy2, Fz2), ... }

  • oznakai — oznaka čvora u kojem djeluje opterećenje
  • (Fxi, Fyi, Fzi) — komponente čvornog opterećenja
       
joints:
   0:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   1:  (3.00000000000000, 0.000000000000000, 0.000000000000000)
   2:  (0.000000000000000, 3.00000000000000, 0.000000000000000)
   3:  (0.000000000000000, 0.000000000000000, 3.00000000000000)

bars:
   0:  (0, 3)
   1:  (1, 3)
   2:  (2, 3)

supports: [0, 1, 2]

loads:
   3:  (100.000000000000, 100.000000000000, 0.000000000000000)
joints:
   0:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   1:  (3.00000000000000, 0.000000000000000, 0.000000000000000)
   2:  (0.000000000000000, 3.00000000000000, 0.000000000000000)
   3:  (0.000000000000000, 0.000000000000000, 3.00000000000000)

bars:
   0:  (0, 3)
   1:  (1, 3)
   2:  (2, 3)

supports: [0, 1, 2]

loads:
   3:  (100.000000000000, 100.000000000000, 0.000000000000000)

Grafički prikaz rešetke:

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


       



                                
                            



                                

Izračunavanje sila u štapovima:

truss3D (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:  199.99999999999997
   1:  -141.42135623730948
   2:  -141.42135623730948
   0:  199.99999999999997
   1:  -141.42135623730948
   2:  -141.42135623730948

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

       
[3]
[3]
  •  provjera zadovoljenja Maxwellova pravila:

$3\,n - b \,=\, 0$

$n$ — broj slobodnih čvorova

$b$ — broj štapova

       
3 * 1 - 3  ==  0
3 * 1 - 3  ==  0
  •  „ravnotežna” matrica:
       

                                
                            

                                
  •  vektor vanjskih sila:
       
(-100.0, -100.0, -0.0)
(-100.0, -100.0, -0.0)
  •  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
       
(199.99999999999997, -141.42135623730948, -141.42135623730948)
(199.99999999999997, -141.42135623730948, -141.42135623730948)
       
   0:  199.99999999999997
   1:  -141.42135623730948
   2:  -141.42135623730948
   0:  199.99999999999997
   1:  -141.42135623730948
   2:  -141.42135623730948

 

Primjer 2.

 

       
joints:
   0:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   1:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   2:  (0.000000000000000, 5.00000000000000, 0.000000000000000)
   3:  (5.00000000000000, 5.00000000000000, 0.000000000000000)
   4:  (2.50000000000000, 2.50000000000000, 10.0000000000000)
   5:  (-1.00000000000000, 0.000000000000000, 0.000000000000000)
   6:  (0.000000000000000, -1.00000000000000, 0.000000000000000)
   7:  (0.000000000000000, 0.000000000000000, -1.00000000000000)
   8:  (-1.00000000000000, 5.00000000000000, 0.000000000000000)
   9:  (0.000000000000000, 5.00000000000000, -1.00000000000000)
  10:  (5.00000000000000, 5.00000000000000, -1.00000000000000)

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

supports: [5, 6, 7, 8, 9, 10]

loads:
   1:  (0.000000000000000, 0.000000000000000, -100.000000000000)
   4:  (50.0000000000000, -50.0000000000000, 0.000000000000000)
joints:
   0:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   1:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   2:  (0.000000000000000, 5.00000000000000, 0.000000000000000)
   3:  (5.00000000000000, 5.00000000000000, 0.000000000000000)
   4:  (2.50000000000000, 2.50000000000000, 10.0000000000000)
   5:  (-1.00000000000000, 0.000000000000000, 0.000000000000000)
   6:  (0.000000000000000, -1.00000000000000, 0.000000000000000)
   7:  (0.000000000000000, 0.000000000000000, -1.00000000000000)
   8:  (-1.00000000000000, 5.00000000000000, 0.000000000000000)
   9:  (0.000000000000000, 5.00000000000000, -1.00000000000000)
  10:  (5.00000000000000, 5.00000000000000, -1.00000000000000)

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

supports: [5, 6, 7, 8, 9, 10]

loads:
   1:  (0.000000000000000, 0.000000000000000, -100.000000000000)
   4:  (50.0000000000000, -50.0000000000000, 0.000000000000000)
       



                                
                            



                                
  • plot_truss (joints, bars, supports, loads, load_scale)
  • load_scale — vrijednost kojom se množe vrijednosti sila za određivanje duljina strelica; podrazumijeva se vrijednost 0,01
       
   1:  -75.0
   2:  106.06601717798213
   3:  -25.000000000000014
   4:  -25.0
   5:  -25.0
   6:  106.06601717798213
   7:  -212.1320343559643
   8:  318.19805153394645
   9:  -212.1320343559643
  10:  -0.0
  11:  -50.0
  12:  -200.00000000000003
  13:  50.0
  14:  300.00000000000006
  15:  -200.00000000000003
   1:  -75.0
   2:  106.06601717798213
   3:  -25.000000000000014
   4:  -25.0
   5:  -25.0
   6:  106.06601717798213
   7:  -212.1320343559643
   8:  318.19805153394645
   9:  -212.1320343559643
  10:  -0.0
  11:  -50.0
  12:  -200.00000000000003
  13:  50.0
  14:  300.00000000000006
  15:  -200.00000000000003
       



                                
                            



                                

Rješavanje u koracima:

       
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4]
       
3 * 5 - 15  ==  0
3 * 5 - 15  ==  0
       

                                
                            

                                
       
(0.0, 0.0, 0.0, -0.0, -0.0, 100.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -50.0, 50.0,
-0.0)
(0.0, 0.0, 0.0, -0.0, -0.0, 100.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -50.0, 50.0, -0.0)
       
   1:  -75.0
   2:  106.06601717798213
   3:  -25.000000000000014
   4:  -25.0
   5:  -25.0
   6:  106.06601717798213
   7:  -212.1320343559643
   8:  318.19805153394645
   9:  -212.1320343559643
  10:  -0.0
  11:  -50.0
  12:  -200.00000000000003
  13:  50.0
  14:  300.00000000000006
  15:  -200.00000000000003
   1:  -75.0
   2:  106.06601717798213
   3:  -25.000000000000014
   4:  -25.0
   5:  -25.0
   6:  106.06601717798213
   7:  -212.1320343559643
   8:  318.19805153394645
   9:  -212.1320343559643
  10:  -0.0
  11:  -50.0
  12:  -200.00000000000003
  13:  50.0
  14:  300.00000000000006
  15:  -200.00000000000003

 

Primjer 3.

 

       
joints:
   1:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   2:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   3:  (0.000000000000000, 10.0000000000000, 0.000000000000000)
   4:  (5.00000000000000, 10.0000000000000, 0.000000000000000)
   5:  (0.000000000000000, 0.000000000000000, 5.00000000000000)
   6:  (5.00000000000000, 0.000000000000000, 5.00000000000000)
   7:  (0.000000000000000, 5.00000000000000, 5.00000000000000)
   8:  (5.00000000000000, 5.00000000000000, 5.00000000000000)
   9:  (0.000000000000000, 10.0000000000000, 5.00000000000000)
  10:  (5.00000000000000, 10.0000000000000, 5.00000000000000)
  11:  (0.000000000000000, 0.000000000000000, 10.0000000000000)
  12:  (5.00000000000000, 0.000000000000000, 10.0000000000000)
  13:  (0.000000000000000, 5.00000000000000, 10.0000000000000)
  14:  (5.00000000000000, 5.00000000000000, 10.0000000000000)
  15:  (0.000000000000000, 10.0000000000000, 10.0000000000000)
  16:  (5.00000000000000, 10.0000000000000, 10.0000000000000)

bars:
   1:  (15, 16)
   2:  (13, 16)
   3:  (13, 14)
   4:  (12, 13)
   5:  (11, 12)
   6:  (8, 13)
   7:  (9, 10)
   8:  (8, 9)
   9:  (7, 8)
  10:  (6, 7)
  11:  (5, 6)
  12:  (6, 12)
  13:  (8, 12)
  14:  (8, 14)
  15:  (8, 16)
  16:  (10, 16)
  17:  (12, 14)
  18:  (14, 16)
  19:  (6, 8)
  20:  (8, 10)
  21:  (5, 11)
  22:  (7, 11)
  23:  (7, 13)
  24:  (9, 13)
  25:  (9, 15)
  26:  (11, 13)
  27:  (13, 15)
  28:  (5, 7)
  29:  (7, 9)
  30:  (9, 16)
  31:  (1, 5)
  32:  (1, 6)
  33:  (2, 6)
  34:  (3, 5)
  35:  (3, 9)
  36:  (4, 9)

supports: [1, 2, 3, 4]

loads:
  14:  (100.000000000000, 0.000000000000000, 0.000000000000000)
joints:
   1:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   2:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   3:  (0.000000000000000, 10.0000000000000, 0.000000000000000)
   4:  (5.00000000000000, 10.0000000000000, 0.000000000000000)
   5:  (0.000000000000000, 0.000000000000000, 5.00000000000000)
   6:  (5.00000000000000, 0.000000000000000, 5.00000000000000)
   7:  (0.000000000000000, 5.00000000000000, 5.00000000000000)
   8:  (5.00000000000000, 5.00000000000000, 5.00000000000000)
   9:  (0.000000000000000, 10.0000000000000, 5.00000000000000)
  10:  (5.00000000000000, 10.0000000000000, 5.00000000000000)
  11:  (0.000000000000000, 0.000000000000000, 10.0000000000000)
  12:  (5.00000000000000, 0.000000000000000, 10.0000000000000)
  13:  (0.000000000000000, 5.00000000000000, 10.0000000000000)
  14:  (5.00000000000000, 5.00000000000000, 10.0000000000000)
  15:  (0.000000000000000, 10.0000000000000, 10.0000000000000)
  16:  (5.00000000000000, 10.0000000000000, 10.0000000000000)

bars:
   1:  (15, 16)
   2:  (13, 16)
   3:  (13, 14)
   4:  (12, 13)
   5:  (11, 12)
   6:  (8, 13)
   7:  (9, 10)
   8:  (8, 9)
   9:  (7, 8)
  10:  (6, 7)
  11:  (5, 6)
  12:  (6, 12)
  13:  (8, 12)
  14:  (8, 14)
  15:  (8, 16)
  16:  (10, 16)
  17:  (12, 14)
  18:  (14, 16)
  19:  (6, 8)
  20:  (8, 10)
  21:  (5, 11)
  22:  (7, 11)
  23:  (7, 13)
  24:  (9, 13)
  25:  (9, 15)
  26:  (11, 13)
  27:  (13, 15)
  28:  (5, 7)
  29:  (7, 9)
  30:  (9, 16)
  31:  (1, 5)
  32:  (1, 6)
  33:  (2, 6)
  34:  (3, 5)
  35:  (3, 9)
  36:  (4, 9)

supports: [1, 2, 3, 4]

loads:
  14:  (100.000000000000, 0.000000000000000, 0.000000000000000)
       



                                
                            



                                
       
3 * 12 - 36  ==  0
3 * 12 - 36  ==  0
       
   1:  0.0
   2:  70.71067811865484
   3:  100.0
   4:  -2.0097183471152322e-14
   5:  0.0
   6:  -212.13203435596432
   7:  -2.842170943040401e-14
   8:  141.42135623730957
   9:  50.0
  10:  -70.71067811865476
  11:  -1.4210854715202004e-14
  12:  -100.00000000000003
  13:  141.42135623730957
  14:  0.0
  15:  70.71067811865476
  16:  0.0
  17:  -100.00000000000001
  18:  -100.00000000000001
  19:  50.0
  20:  -0.0
  21:  100.00000000000006
  22:  -141.4213562373096
  23:  100.00000000000006
  24:  70.71067811865474
  25:  -0.0
  26:  100.00000000000004
  27:  -0.0
  28:  2.6129691639212584e-14
  29:  -150.00000000000003
  30:  -70.71067811865477
  31:  100.00000000000004
  32:  70.71067811865478
  33:  -150.00000000000003
  34:  -2.9213883368193624e-14
  35:  49.99999999999998
  36:  -70.71067811865476
   1:  0.0
   2:  70.71067811865484
   3:  100.0
   4:  -2.0097183471152322e-14
   5:  0.0
   6:  -212.13203435596432
   7:  -2.842170943040401e-14
   8:  141.42135623730957
   9:  50.0
  10:  -70.71067811865476
  11:  -1.4210854715202004e-14
  12:  -100.00000000000003
  13:  141.42135623730957
  14:  0.0
  15:  70.71067811865476
  16:  0.0
  17:  -100.00000000000001
  18:  -100.00000000000001
  19:  50.0
  20:  -0.0
  21:  100.00000000000006
  22:  -141.4213562373096
  23:  100.00000000000006
  24:  70.71067811865474
  25:  -0.0
  26:  100.00000000000004
  27:  -0.0
  28:  2.6129691639212584e-14
  29:  -150.00000000000003
  30:  -70.71067811865477
  31:  100.00000000000004
  32:  70.71067811865478
  33:  -150.00000000000003
  34:  -2.9213883368193624e-14
  35:  49.99999999999998
  36:  -70.71067811865476
       



                                
                            



                                

 

Primjer 4. — Varijacija na temu

 

       
joints:
   1:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   2:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   3:  (0.000000000000000, 10.0000000000000, 0.000000000000000)
   4:  (5.00000000000000, 10.0000000000000, 0.000000000000000)
   5:  (0.000000000000000, 0.000000000000000, 5.00000000000000)
   6:  (5.00000000000000, 0.000000000000000, 5.00000000000000)
   7:  (0.000000000000000, 5.00000000000000, 5.00000000000000)
   8:  (5.00000000000000, 5.00000000000000, 5.00000000000000)
   9:  (0.000000000000000, 10.0000000000000, 5.00000000000000)
  10:  (5.00000000000000, 10.0000000000000, 5.00000000000000)
  11:  (0.000000000000000, 0.000000000000000, 10.0000000000000)
  12:  (5.00000000000000, 0.000000000000000, 10.0000000000000)
  13:  (0.000000000000000, 5.00000000000000, 10.0000000000000)
  14:  (5.00000000000000, 5.00000000000000, 10.0000000000000)
  15:  (0.000000000000000, 10.0000000000000, 10.0000000000000)
  16:  (5.00000000000000, 10.0000000000000, 10.0000000000000)

bars:
   1:  (15, 16)
   2:  (13, 16)
   3:  (13, 14)
   4:  (12, 13)
   5:  (11, 12)
   6:  (6, 11)
   7:  (9, 10)
   8:  (8, 9)
   9:  (7, 8)
  10:  (5, 8)
  11:  (5, 6)
  12:  (6, 12)
  13:  (8, 12)
  14:  (8, 14)
  15:  (8, 16)
  16:  (10, 16)
  17:  (12, 14)
  18:  (14, 16)
  19:  (6, 8)
  20:  (8, 10)
  21:  (5, 11)
  22:  (5, 13)
  23:  (7, 13)
  24:  (9, 13)
  25:  (9, 15)
  26:  (11, 13)
  27:  (13, 15)
  28:  (5, 7)
  29:  (7, 9)
  30:  (9, 16)
  31:  (1, 5)
  32:  (1, 6)
  33:  (2, 6)
  34:  (3, 5)
  35:  (3, 9)
  36:  (4, 9)

supports: [1, 2, 3, 4]

loads:
  14:  (100.000000000000, 0.000000000000000, 0.000000000000000)
joints:
   1:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   2:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   3:  (0.000000000000000, 10.0000000000000, 0.000000000000000)
   4:  (5.00000000000000, 10.0000000000000, 0.000000000000000)
   5:  (0.000000000000000, 0.000000000000000, 5.00000000000000)
   6:  (5.00000000000000, 0.000000000000000, 5.00000000000000)
   7:  (0.000000000000000, 5.00000000000000, 5.00000000000000)
   8:  (5.00000000000000, 5.00000000000000, 5.00000000000000)
   9:  (0.000000000000000, 10.0000000000000, 5.00000000000000)
  10:  (5.00000000000000, 10.0000000000000, 5.00000000000000)
  11:  (0.000000000000000, 0.000000000000000, 10.0000000000000)
  12:  (5.00000000000000, 0.000000000000000, 10.0000000000000)
  13:  (0.000000000000000, 5.00000000000000, 10.0000000000000)
  14:  (5.00000000000000, 5.00000000000000, 10.0000000000000)
  15:  (0.000000000000000, 10.0000000000000, 10.0000000000000)
  16:  (5.00000000000000, 10.0000000000000, 10.0000000000000)

bars:
   1:  (15, 16)
   2:  (13, 16)
   3:  (13, 14)
   4:  (12, 13)
   5:  (11, 12)
   6:  (6, 11)
   7:  (9, 10)
   8:  (8, 9)
   9:  (7, 8)
  10:  (5, 8)
  11:  (5, 6)
  12:  (6, 12)
  13:  (8, 12)
  14:  (8, 14)
  15:  (8, 16)
  16:  (10, 16)
  17:  (12, 14)
  18:  (14, 16)
  19:  (6, 8)
  20:  (8, 10)
  21:  (5, 11)
  22:  (5, 13)
  23:  (7, 13)
  24:  (9, 13)
  25:  (9, 15)
  26:  (11, 13)
  27:  (13, 15)
  28:  (5, 7)
  29:  (7, 9)
  30:  (9, 16)
  31:  (1, 5)
  32:  (1, 6)
  33:  (2, 6)
  34:  (3, 5)
  35:  (3, 9)
  36:  (4, 9)

supports: [1, 2, 3, 4]

loads:
  14:  (100.000000000000, 0.000000000000000, 0.000000000000000)
       



                                
                            



                                
       
3 * 12 - 36  ==  0
3 * 12 - 36  ==  0
       
   1:  0.0
   2:  -35.35533905932738
   3:  100.0
   4:  -106.06601717798213
   5:  75.0
   6:  -106.06601717798213
   7:  3.552713678800501e-15
   8:  35.35533905932738
   9:  -0.0
  10:  -35.35533905932738
  11:  25.0
  12:  -25.0
  13:  35.35533905932738
  14:  -0.0
  15:  -35.35533905932738
  16:  0.0
  17:  50.0
  18:  50.0
  19:  0.0
  20:  -0.0
  21:  75.0
  22:  35.35533905932738
  23:  -0.0
  24:  -35.35533905932738
  25:  1.7763568394002505e-14
  26:  0.0
  27:  -0.0
  28:  3.552713678800501e-15
  29:  3.552713678800501e-15
  30:  35.355339059327356
  31:  100.0
  32:  70.71067811865476
  33:  -150.0
  34:  0.0
  35:  49.999999999999986
  36:  -70.71067811865474
   1:  0.0
   2:  -35.35533905932738
   3:  100.0
   4:  -106.06601717798213
   5:  75.0
   6:  -106.06601717798213
   7:  3.552713678800501e-15
   8:  35.35533905932738
   9:  -0.0
  10:  -35.35533905932738
  11:  25.0
  12:  -25.0
  13:  35.35533905932738
  14:  -0.0
  15:  -35.35533905932738
  16:  0.0
  17:  50.0
  18:  50.0
  19:  0.0
  20:  -0.0
  21:  75.0
  22:  35.35533905932738
  23:  -0.0
  24:  -35.35533905932738
  25:  1.7763568394002505e-14
  26:  0.0
  27:  -0.0
  28:  3.552713678800501e-15
  29:  3.552713678800501e-15
  30:  35.355339059327356
  31:  100.0
  32:  70.71067811865476
  33:  -150.0
  34:  0.0
  35:  49.999999999999986
  36:  -70.71067811865474
       



                                
                            



                                

 

Primjer 5. — Još jedna varijacija

 

       
joints:
   1:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   2:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   3:  (0.000000000000000, 10.0000000000000, 0.000000000000000)
   4:  (5.00000000000000, 10.0000000000000, 0.000000000000000)
   5:  (0.000000000000000, 0.000000000000000, 5.00000000000000)
   6:  (5.00000000000000, 0.000000000000000, 5.00000000000000)
   7:  (0.000000000000000, 5.00000000000000, 5.00000000000000)
   8:  (5.00000000000000, 5.00000000000000, 5.00000000000000)
   9:  (0.000000000000000, 10.0000000000000, 5.00000000000000)
  10:  (5.00000000000000, 10.0000000000000, 5.00000000000000)
  11:  (0.000000000000000, 0.000000000000000, 10.0000000000000)
  12:  (5.00000000000000, 0.000000000000000, 10.0000000000000)
  13:  (0.000000000000000, 5.00000000000000, 10.0000000000000)
  14:  (5.00000000000000, 5.00000000000000, 10.0000000000000)
  15:  (0.000000000000000, 10.0000000000000, 10.0000000000000)
  16:  (5.00000000000000, 10.0000000000000, 10.0000000000000)

bars:
   1:  (15, 16)
   2:  (13, 16)
   3:  (13, 14)
   4:  (12, 13)
   5:  (11, 12)
   6:  (6, 11)
   7:  (9, 10)
   8:  (8, 9)
   9:  (7, 8)
  10:  (6, 7)
  11:  (5, 6)
  12:  (6, 12)
  13:  (8, 12)
  14:  (8, 14)
  15:  (8, 16)
  16:  (10, 16)
  17:  (12, 14)
  18:  (14, 16)
  19:  (6, 8)
  20:  (8, 10)
  21:  (5, 11)
  22:  (7, 11)
  23:  (7, 13)
  24:  (9, 13)
  25:  (9, 15)
  26:  (11, 13)
  27:  (13, 15)
  28:  (5, 7)
  29:  (7, 9)
  30:  (9, 16)
  31:  (1, 5)
  32:  (1, 6)
  33:  (2, 6)
  34:  (3, 5)
  35:  (3, 9)
  36:  (4, 10)

supports: [1, 2, 3, 4]

loads:
  14:  (100.000000000000, 0.000000000000000, 0.000000000000000)
joints:
   1:  (0.000000000000000, 0.000000000000000, 0.000000000000000)
   2:  (5.00000000000000, 0.000000000000000, 0.000000000000000)
   3:  (0.000000000000000, 10.0000000000000, 0.000000000000000)
   4:  (5.00000000000000, 10.0000000000000, 0.000000000000000)
   5:  (0.000000000000000, 0.000000000000000, 5.00000000000000)
   6:  (5.00000000000000, 0.000000000000000, 5.00000000000000)
   7:  (0.000000000000000, 5.00000000000000, 5.00000000000000)
   8:  (5.00000000000000, 5.00000000000000, 5.00000000000000)
   9:  (0.000000000000000, 10.0000000000000, 5.00000000000000)
  10:  (5.00000000000000, 10.0000000000000, 5.00000000000000)
  11:  (0.000000000000000, 0.000000000000000, 10.0000000000000)
  12:  (5.00000000000000, 0.000000000000000, 10.0000000000000)
  13:  (0.000000000000000, 5.00000000000000, 10.0000000000000)
  14:  (5.00000000000000, 5.00000000000000, 10.0000000000000)
  15:  (0.000000000000000, 10.0000000000000, 10.0000000000000)
  16:  (5.00000000000000, 10.0000000000000, 10.0000000000000)

bars:
   1:  (15, 16)
   2:  (13, 16)
   3:  (13, 14)
   4:  (12, 13)
   5:  (11, 12)
   6:  (6, 11)
   7:  (9, 10)
   8:  (8, 9)
   9:  (7, 8)
  10:  (6, 7)
  11:  (5, 6)
  12:  (6, 12)
  13:  (8, 12)
  14:  (8, 14)
  15:  (8, 16)
  16:  (10, 16)
  17:  (12, 14)
  18:  (14, 16)
  19:  (6, 8)
  20:  (8, 10)
  21:  (5, 11)
  22:  (7, 11)
  23:  (7, 13)
  24:  (9, 13)
  25:  (9, 15)
  26:  (11, 13)
  27:  (13, 15)
  28:  (5, 7)
  29:  (7, 9)
  30:  (9, 16)
  31:  (1, 5)
  32:  (1, 6)
  33:  (2, 6)
  34:  (3, 5)
  35:  (3, 9)
  36:  (4, 10)

supports: [1, 2, 3, 4]

loads:
  14:  (100.000000000000, 0.000000000000000, 0.000000000000000)
       



                                
                            



                                
       
Traceback (click to the left of this block for traceback)
...
numpy.linalg.LinAlgError: Matrix is singular.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_38.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("YmFyX2ZvcmNlcyA9IHRydXNzM0QgKGpvaW50cywgYmFycywgc3VwcG9ydHMsIGxvYWRzKQpwcmludF9kaWN0IChiYXJfZm9yY2VzKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmp3qM9L8/___code___.py", line 2, in <module>
    bar_forces = truss3D (joints, bars, supports, loads)
  File "<string>", line 85, in truss3D
  File "sage/matrix/matrix_double_dense.pyx", line 1760, in sage.matrix.matrix_double_dense.Matrix_double_dense.solve_right (build/cythonized/sage/matrix/matrix_double_dense.c:12195)
  File "/opt/SageMath/local/lib/python2.7/site-packages/scipy/linalg/basic.py", line 216, in solve
    _solve_check(n, info)
  File "/opt/SageMath/local/lib/python2.7/site-packages/scipy/linalg/basic.py", line 31, in _solve_check
    raise LinAlgError('Matrix is singular.')
numpy.linalg.LinAlgError: Matrix is singular.

 

Primjer 6. — Schwedlerova „kupola” (prve vrste)

 

Tvorba rječnika čvorova, rječnika štapova i liste ležajnih čvorova:

schwedler_1 (r0, [h1, h2, ...], n)

    • r0 — radijus ležajnog prstena
    • h1, h2, ... — visine na kojima su prsteni (0 $<$ h1 $<$ h2 $<$ ...);  uzima se da je za ležajni prsten h0 = 0;  posljednji h je visina sferina odsječka na kojemu su čvorovi;  posljednji h mora biti $\le$ r0
    • n — broj polja; n mora biti paran broj
    • rezultat: redom rječnik čvorova, rječnik štapova, lista oznaka ležajnih čvorova
       
       



                                
                            



                                
       
3 * 24 - 72  ==  0
3 * 24 - 72  ==  0

Tvorba rječnika opterećenja:

make_loads (generator)

  • generator — lista uređenih trojki  (nl, j0, step, (Fx, Fy, Fz))
  • nl — broj čvorova opterećenih silom  (Fx, Fy, Fz)
  • j0 — oznaka prvoga u nizu opterećenih čvorova
  • step — opterećuju se čvorovi s oznakama  j0j0 + stepj0 + 2$\cdot$step, ... ,  j0 + (nl-1)$\cdot$steppodrazumijeva se vrijednost 1
       
       



                                
                            



                                
       
       



                                
                            



                                

 

Primjer 7. — Schwedlerova „kupola” (prve vrste)

 

       
       



                                
                            



                                
       
3 * 24 - 72  ==  0
3 * 24 - 72  ==  0