background image

Informatyka - Podstawy Programowania w Języku C++ 

prow. Sławomir Czarnecki 

 

Zadania na laboratorium nr. 6 

 
 1. Zapisz do plików tekstowych dane definiujące odpowiednio:  

  topologię połączeń prętów kratownicy  (relacje definiujące dla kaŜdego numeru pręta 

numery węzłów na jego końcach) – 

plik

 A.txt,  

  geometrię (współrzędne kartezjańskie węzłów) – 

plik

 Z.txt,  

  obciąŜenia (składowe kartezjańkie sił przyłoŜonych do węzłów) – 

plik

 Q.txt   

  warunki podparcia (numery odebranych stopnii swobody w kierunku poziomym i/lub 

pionowym) – 

plik

 R.txt 

  moduł  Younga  materiału,  z  którego  wykonane  są  pręty  kratownicy  oraz  ich  pola 

przekrojów poprzecznych – 

plik

 Y.txt 

8-prętowej kratownicy statycznie wyznaczalnej przedstawionej na rys.1. Przyjmij: 

[ ]

1.5

l

h

m

= =

[ ]

3

1.0 10

Q

N

=

7

2

1.0 10

/

E

N m

=

 , 

2

2

0

7

...

1.0 10

A

A

m

= =

=

 . 

0

1

2

3

4

5

0

1

2

3

4

7

5

6

Q

l

l

l

h

x

y

 

Rys.1. 

 
Proponuje się następujący schemat „organizacji danych” w plikach: 
 

plik

A.txt  

 

 

plik

Z.txt 

 

 

plik

Q.txt 

 

 

w pierwszym wierszu  

w pierwszym wierszu

  

w kolejnych wierszach

 

liczba prętów (równa 8)  

liczba węzłów (równa 6)

 

wszystkie składowe

 

a następnie w kolejnych  

a następnie w kolejnych 

wektorów obciąŜenia  

wierszach wszystkie    

wierszach wszystkie   

węzłów w układzie 0xy 

składowe macierzy    

składowe kartezjańskie 

przy czym nieznane  

alokacji oddzielone    

połoŜeń węzłów w    

składowe reakcji   

spacją   

 

 

przyjętym układzie 0xy  

przyjąć równe 0 

 

 

 

 

6

 

 

 

 

0.0 0.0

 

4 5 

 

 

 

1.5 0.0  

 

 

0.0 0.0 

0 5 

 

 

 

3.0 1.5  

 

 

0.0 -1.0e3 

0 4 

 

 

 

4.5 1.5  

 

 

0.0 0.0 

0 1 

 

 

 

3.0 0.0  

 

 

0.0 0.0 

1 3 

 

 

 

0.0 0.0  

 

 

0.0 0.0 

1 2 

 

 

 

0.0 1.5  

 

 

 

2 3 
0 3 
 

background image

plik

R.txt 

 

 

 

Uwaga !

 Przyjmujemy numerację stopni swobody 

w pierwszym wierszu

  

 

,

x

y

i i

 w kierunku odpowiednio osi x i y w węźle i-tym  

liczba odebranych

  

 

 

następująco: 

stopni swobody (równa 4)

 

 

2

x

i

i

= ⋅  

(w kierunku poziomym x

a następnie w kolejnych

 

 

2

1

y

i

i

= ⋅ +  

(w kierunku pionowym y

wierszach wszystkie  
numery odebranych 
stopni swobody 

 



10 
11

 

 

plik

Y.txt 

w pierwszym wierszu moduł Younga 

a następnie w kolejnych wierszach  
pola przekrojów poprzecznych 
wszystkich prętów kratownicy 
 

1.0e7 

1.0e-2 
1.0e-2 
1.0e-2 
1.0e-2 
1.0e-2 
1.0e-2 
1.0e-2 
1.0e-2 

 
Dołącz do projektu m.in. bibliotekę 

truss2D.h

 i zdefiniuj pełną ścieŜkę dostępu (zakończoną 

podwójnym \\ ) do katalogu, w którym zapisane zostały wszystkie powyŜsze pliki, np.: 
  

string PATH=

"I:\\Projekty\\Kratownica\\"

 

a nastepnie wywołaj funkcję (tylko dla płaskich, statycznie wyznaczalnych kratownic) 

 

kratownica2D_SW(PATH); 

 

lub funkcję (dla dowolnych płaskich kratownic) 
 

kratownica2D(PATH); 

 

w celu obliczenia sił i reakcji podporowych w przypadku kratownica2D_SW(…) oraz sił 
i przemieszczeń węzłów w przypadku kratownica2D(…)