Читать книгу: «Modelamiento y simulación de sistemas con Simulink», страница 15

Шрифт:

8.3 MODELOS MATEMÁTICOS PARA PÓRTICOS PLANOS

Los modelos matemáticos son representaciones idealizadas del posible comportamiento dinámico de una estructura.

El uso de cada uno de los modelos matemáticos va de acuerdo a la simplicidad del sistema estructural y al alcance de resultados que se pretende obtener; dependiendo de un conjunto de simplificaciones teórico-prácticas que permiten mini-mizar la magnitud de los cálculos y generar resultados dentro de lo aceptable con respecto a la realidad. Esto se traduce en la discretización del sistema estructural.

8.3.1 Modelo simplificado de corte

Este modelo es el más sencillo de todos, ya que solo admite 1 grado de libertad horizontal por nivel debido a que el sistema simula el comportamiento de una viga sometida a fuerzas cortantes. Para considerar un modelo simplificado de corte se asumen las siguientes idealizaciones:

• El sistema vigas-losa es demasiado rígido a la flexión, considerándose diafragma rígido.

• No existe deformación axial ni en vigas ni en columnas.

• No existe el efecto de la fuerza axial sobre la rigidez de las columnas.

• La masa se idealiza como si estuviera concentrada en cada nivel del pórtico.

• La disipación de energía en una estructura se representa por un mecanismo de amortiguamiento viscoso lineal.


Figura 8.15. Modelo simplificado de corte de un pórtico de 3 niveles y 1 vano.

8.3.2 Modelo de viga en voladizo

Este modelo es bastante similar al simplificado de corte, con la diferencia de que ahora se tienen 2 grados de libertad por nudo, añadiéndose una rotación adicional; como consecuencia de la inclusión de las rotaciones el diafragma rígido ya no existe, solo permanecen rígidos en el eje horizontal los nudos de los extremos correspondientes a cada nivel.


Figura 8.16. Modelo de viga en voladizo de un pórtico de 3 niveles y 1 vano

8.4 MODELOS MATEMÁTICOS PARA PÓRTICOS PLANOS

Una estructura sometida a una aceleración en la base puede ser representada por un modelo de fuerzas estáticas equivalentes; dicho modelo manifiesta las fuerzas originadas por la acción del sismo como fuerzas laterales en cada uno de los niveles del sistema estructural.


Figura 8.17. Equivalencia del problema sísmico


Capítulo9Matriz de masa, amortiguamiento y rigidez para pórticos bidimensionales mediante el uso de Matlab

9.1 INTRODUCCIÓN

En este capítulo se presenta la formulación y construcción, en código fuente de Matlab, de las matrices de masa, amortiguamiento y rigidez de pórticos bidimensionales. Los ejemplos desarrollados son pórticos de 1, 3 y 10 pisos; bajo la idealización de elementos axialmente rígidos. Se consideran tres ejemplos para despejar duda alguna que el lector pueda tener, en cuanto a cómo sería el desarrollo de dichas matrices con respecto a la cantidad de pisos por considerar.

9.2 PÓRTICO BIDIMENSIONAL DE UN PISO

El pórtico bidimensional por desarrollarse corresponde a la figura 9.1, donde la masa concentrada del único piso es 21.63 KN-s2/m y la fracción de amortiguamiento ζ = 0.05 (para obtener el amortiguamiento del sistema utilizar la expresión c = 2mζωn).

Figura 9.1. Pórtico bidimensional de un piso

Las columnas están espaciadas 5,00 m horizontalmente a ejes y tienen una altura de 4,00 m; las dimensiones de las secciones transversales son 0,50 m x 0,50 m en columnas y 0,30 m x 0,50 m en vigas; el módulo de elasticidad considerado es E = 21316773.9449 KN/m2.

9.2.1 Masa

La masa concentrada a nivel de techo del primer piso es 21.63KNs2 / m.

9.2.2 Matriz de rigidez y rigidez lateral

La construcción de esta matriz de rigidez se vincula a la idealización asumida de un comportamiento axialmente rígido de los elementos estructurales (columnas y vigas); y la matriz de rigidez lateral se obtendrá aplicando el procedimiento de condensación estática a la matriz de rigidez del sistema.

En primera instancia, se recomienda desarrollar un bosquejo de la discretización del sistema (figura 9.2),

Figura 9.2. Discretización del pórtico de 1 piso

de modo que se establezca un orden conveniente (de elementos, nodos y grados de libertad) para el ingreso de datos.

El orden establecido es plasmado en matrices de ingreso de datos, con las cuales se construirá la matriz de rigidez del sistema. La matriz de ingreso data1 (tabla 9.1) establece la relación de los nodos con sus respectivos grados de libertad.

Tabla 9.1

Matriz de ingreso data1 (Pórtico 1 piso)

La matriz de ingreso data2 (tabla 9.2) establece entre que nodos se encuentran comprendidos los elementos o miembros.

Tabla 9.2

Matriz de ingreso data2 (Pórtico 1 piso)

La matriz de ingreso data3 (tabla 9.3) establece la relación de los miembros con sus respectivos grados de libertad.

Tabla 9.3

Matriz de ingreso data3 (Pórtico 1 piso)

donde:

gdlcX: grado de libertad cercano en X

gdlcY: grado de libertad cercano en Y

gdlcZ: grado de libertad cercano en Z

gdllX: grado de libertad lejano en X

gdllY: grado de libertad lejano en Y

gdllZ: grado de libertad lejano en Z

La matriz de ingreso data4 (tabla 9.4) establece la ubicación de los nodos en las coordenadas X y Y.

Tabla 9.4

Matriz de ingreso data4 (Pórtico 1 piso)

La matriz de ingreso data5 (tabla 9.5) establece propiedades y características de cada uno de los miembros.

Tabla 9.5

Matriz de ingreso data5 (Pórtico 1 piso)

El código fuente para la construcción de la matriz de rigidez del pórtico de 1 piso y la obtención de su respectiva matriz de rigidez lateral se muestran a continuación:

1 % Rigidez lateral (Pórticos 2D con elementos axialmente rígidos)

2 % Por: Ing. Miguel Raúl Guzmán Prado e Ing. Raul Franco Guzmán

3 % López. Candidatos a Maestros en Ciencias con mención en Ingeniería

4 % Estructural de la Facultad de Ingeniería Civil de la Universidad

5 % Nacional de Ingeniería.

6 % Funciones de limpieza

7 clc; clear all; close all;

8 % Ingreso de datos

9 data1 =[1 0 0 0; 2 0 0 0; 3 1 0 2; 4 1 0 3];

10 ndgl =max(max( data1 (: ,2:4) ));

11 [nn , ncdata1 ]= size ( data1 );

12 data2 =[1 1 3; 2 2 4; 3 3 4];

13 [nm , ncdata2 ]= size ( data2 );

14 for i=1: nm

15 data3 (i ,1)=i;

16 data3 (i ,2)= data1 ( data2 (i ,2) ,2);

17 data3 (i ,3)= data1 ( data2 (i ,2) ,3);

18 data3 (i ,4)= data1 ( data2 (i ,2) ,4);

19 data3 (i ,5)= data1 ( data2 (i ,3) ,2);

20 data3 (i ,6)= data1 ( data2 (i ,3) ,3);

21 data3 (i ,7)= data1 ( data2 (i ,3) ,4);

22 end

23 data4 =[1 0 0; 2 5 0; 3 0 4; 4 5 4];

24 data5 =[1 21316775.9449 (1/12) *0.5^4 0; 2 21316775.9449 (1/12) *0.5^4 0; 3 21316775.9449 (1/12) *0.3*0.5^3 0];

25 ngdlc =1; % Número de grados de libertad condensados

26 % Cálculo de cosenos directores y longitudes de cada elemento

27 for i=1: nm

28 xN= data4 ( data2 (i ,2) ,2);

29 yN= data4 ( data2 (i ,2) ,3);

30 xF= data4 ( data2 (i ,3) ,2);

31 yF= data4 ( data2 (i ,3) ,3);

32 met(i ,1) =((xF -xN) ^2+( yF -yN)^2) ^0.5;

33 met(i ,2) =(xF -xN)/( met(i ,1));

34 met(i ,3) =(yF -yN)/( met(i ,1));

35 end

36 % Matriz de rigidez (Global) de los elementos viga y columna

37 for i=1: nm

38 E= data5 (i ,2); I= data5 (i ,3); A= data5 (i ,4); L=met(i ,1); lambdax =met(i ,2) ; lambday =met(i ,3);

39 matrix (1,1,i)=A*E/L* lambdax ^2+12* E*I/L^3* lambday ^2;

40 matrix (2,1,i)=(A*E/L -12* E*I/L^3)* lambdax * lambday ;

41 matrix (3,1,i)= -6*E*I/L^2* lambday ;

42 matrix (4,1,i)=-(A*E/L* lambdax ^2+12* E*I/L^3* lambday ^2);

43 matrix (5,1,i)=-(A*E/L -12* E*I/L^3)* lambdax * lambday ;

44 matrix (6,1,i)= -(6*E*I/L^2)* lambday ;

45 matrix (1,2,i)=(A*E/L -12* E*I/L^3)* lambdax * lambday ;

46 matrix (2,2,i)=A*E/L* lambday ^2+12* E*I/L^3* lambdax ^2;

47 matrix (3,2,i)=6*E*I/L^2* lambdax ;

48 matrix (4,2,i)=-(A*E/L -12* E*I/L^3)* lambdax * lambday ;

49 matrix (5,2,i)=-(A*E/L* lambday ^2+12* E*I/L^3* lambdax ^2);

50 matrix (6,2,i)=6*E*I/L^2* lambdax ;

51 matrix (1,3,i)= -6*E*I/L^2* lambday ;

52 matrix (2,3,i)=6*E*I/L^2* lambdax ;

53 matrix (3,3,i)=4*E*I/L;

54 matrix (4,3,i)=6*E*I/L^2* lambday ;

55 matrix (5,3,i)= -6*E*I/L^2* lambdax ;

56 matrix (6,3,i)=2*E*I/L;

57 matrix (1,4,i)=-(A*E/L* lambdax ^2+12* E*I/L^3* lambday ^2);

58 matrix (2,4,i)=-(A*E/L -12* E*I/L^3)* lambdax * lambday ;

59 matrix (3,4,i)=6*E*I/L^2* lambday ;

60 matrix (4,4,i)=A*E/L* lambdax ^2+12* E*I/L^3* lambday ^2;

61 matrix (5,4,i)=(A*E/L -12* E*I/L^3)* lambdax * lambday ;

62 matrix (6,4,i)=6*E*I/L^2* lambday ;

63 matrix (1,5,i)=-(A*E/L -12* E*I/L^3)* lambdax * lambday ;

64 matrix (2,5,i)=-(A*E/L* lambday ^2+12* E*I/L^3* lambdax ^2);

65 matrix (3,5,i)= -6*E*I/L^2* lambdax ;

66 matrix (4,5,i)=(A*E/L -12* E*I/L^3)* lambdax * lambday ;

67 matrix (5,5,i)=A*E/L* lambday ^2+12* E*I/L^3* lambdax ^2;

68 matrix (6,5,i)= -6*E*I/L^2* lambdax ;

69 matrix (1,6,i)= -(6*E*I/L^2* lambday );

70 matrix (2,6,i)=6*E*I/L^2* lambdax ;

71 matrix (3,6,i)=2*E*I/L;

72 matrix (4,6,i)=6*E*I/L^2* lambday ;

73 matrix (5,6,i)= -6*E*I/L^2* lambdax ;

74 matrix (6,6,i)=4*E*I/L;

75 end

76 for i=1: nm

77 for j =2:7

78 if data3 (i,j)~=0

79 matrix1 (:, data3 (i,j),i)= matrix (:,j -1,i);

80 else

81 end

82 end

83 end

84 for i=1: nm

85 for j =2:7

86 if data3 (i,j)~=0

87 matrix2 ( data3 (i,j) ,:,i)= matrix1 (j -1,:,i);

88 else

89 end

90 end

91 end

92 % Ensamblaje de la matriz de rigidez

93 K= zeros (ndgl , ndgl );

94 for i=1: nm

95 K=K+ matrix2 (:,:,i);

96 end

97 % Procedimiento de condensación estática

98 KT=K(1: ngdlc ,1: ngdlc )-K(1: ngdlc , ngdlc +1: end)/(K( ngdlc +1: end , ngdlc +1: end))*K( ngdlc +1: end ,1: ngdlc );

99 % Visualización gráfica de la discretización

100 figure ( ' Name ' , ' Análisis Matricial Integral de Pórticos Bidimensionales ' , ' NumberTitle ' , ' off ' , ' units ' , ' normalized ' , ' outerposition ' ,[0 0 1 1])

101 set(gcf , ' Color ' , ' w ' )

102 set(gca , ' Color ' , ' w ' , ' Visible ' , ' off ' )

103 axis equal tight

104 hold on

105 for i=1: nm

106 plot ([ data4 ( data2 (i ,2) ,2) data4 ( data2 (i ,3) ,2)], [ data4 ( data2 (i ,2) ,3) data4 ( data2 (i ,3) ,3)], ' LineWidth ' ,2.0, ' Color ' , ' y ' );

107 end

108 x=max( data4 (: ,2));

109 altprom =x/5;

110 for i=1: nn

111 plot ([ data4 (i ,2) ,data4 (i ,2) ],[ data4 (i ,3) ,data4 (i ,3) +0.5* altprom ], ' Color ' ,[0.9 0.5 0.1]) ;

112 plot ([ data4 (i ,2) ,data4 (i ,2) -0.075* altprom ],[ data4 (i ,3) +0.5* altprom , data4 (i ,3) +0.375* altprom ], ' Color ' ,[0.9 0.5 0.1]) ;

113 plot ([ data4 (i ,2) ,data4 (i ,2) +0.075* altprom ],[ data4 (i ,3) +0.5* altprom , data4 (i ,3) +0.375* altprom ], ' Color ' ,[0.9 0.5 0.1]) ;

114 text ( ' Position ' ,[ data4 (i ,2) +0.1* altprom , data4 (i ,3) +0.55* altprom ], ' String ' ,data1 (i ,3) , ' FontSize ' ,12, ' Color ' ,[0.1 0.4 0.9]) ;

115 end

116 for i=1: nn

117 plot ([ data4 (i ,2) ,data4 (i ,2) +0.5* altprom ],[ data4 (i ,3) ,data4 (i ,3)], ' Color ' ,[0.9 0.5 0.1]) ;

118 plot ([ data4 (i ,2) +0.5* altprom , data4 (i ,2) +0.375* altprom ],[ data4 (i ,3) , data4 (i ,3) -0.075* altprom ], ' Color ' ,[0.9 0.5 0.1]) ;

119 plot ([ data4 (i ,2) +0.5* altprom , data4 (i ,2) +0.375* altprom ],[ data4 (i ,3) , data4 (i ,3) +0.075* altprom ], ' Color ' ,[0.9 0.5 0.1]) ;

120 text ( ' Position ' ,[ data4 (i ,2) +0.50* altprom , data4 (i ,3) +0.20* altprom ], ' String ' ,data1 (i ,2) , ' FontSize ' ,12, ' Color ' ,[0.1 0.4 0.9]) ;

121 end

122 th= linspace (0,pi ,100) ;

123 r= altprom /4;

124 for i=1: nn

125 xh=r*cos(th)+ data4 (i ,2);

126 yh=r*sin(th)+ data4 (i ,3);

127 plot (xh ,yh , ' Color ' ,[0.9 0.5 0.1]) ; axis equal ;

128 text ( ' Position ' ,[-2*r+ data4 (i ,2) ,data4 (i ,3) +1.0* r], ' String ' ,data1 (i ,4) , ' FontSize ' ,12, ' Color ' ,[0.1 0.4 0.9])

129 plot ([ data4 (i ,2) -r data4 (i ,2) -0.5*r],[ data4 (i ,3) data4 (i ,3) +0.5* r], ' Color ' ,[0.9 0.5 0.1])

130 plot ([ data4 (i ,2) -r data4 (i ,2) -1.5*r],[ data4 (i ,3) data4 (i ,3) +0.5* r], ' Color ' ,[0.9 0.5 0.1])

131 end

132 for i=1: nn

133 plot ( data4 (i ,2) ,data4 (i ,3) , ' Marker ' , ' O ' , ' Color ' ,[0.3 0.7 0.1] , ' LineWidth ' ,0.5, ' MarkerSize' ,22);

134 end

135 for i=1: nn

136 Xp= data4 (i ,2);

137 Yp= data4 (i ,3);

138 text ( ' Position ' ,[Xp ,Yp], ' String ' ,i, ' color ' , ' r ' , ' FontName ' , ' Lucida Bright ' , ' HorizontalAlignment ' , ' center ' , ' VerticalAlignment ' , ' Middle ' , ' FontSize ' ,14);

139 end

140 for i=1: nm

141 Xm =( data4 ( data2 (i ,2) ,2)+ data4 ( data2 (i ,3) ,2))/2;

142 Ym =( data4 ( data2 (i ,2) ,3)+ data4 ( data2 (i ,3) ,3))/2;

143 text ( ' Position ' ,[Xm ,Ym], ' String ' ,i, ' color ' , ' b ' , ' FontName ' , ' Lucida Bright ' , ' HorizontalAlignment ' , ' center ' , ' VerticalAlignment ' , ' Middle ' , ' FontSize ' ,14);

144 plot ([ Xm Xm ],[ Ym Ym], ' Marker ' , ' s ' , ' Color ' ,[1 0.8 0.4] , ' LineWidth ' ,0.5, ' MarkerSize ' ,24)

145 end

146 % Visualización de la matriz de rigidez lateral de la estructura

147 f= figure ( ' Name ' , ' Matriz de rigidez lateral ' , ' NumberTitle ' , ' off ' , ' Position ' ,[500 500 340 150]) ;

148 set(gcf , ' Color ' , ' w ' )

149 uitable ( ' Parent ' ,f, ' Data ' ,KT , ' ColumnName ' ,[ ], ' RowName ' ,[ ], ' Position ' ,[47.5 25 250 100]) ;

Por resultados se obtiene la matriz de rigidez lateral presentada en un formato tabular (figura 9.3) y la discretización generada del sistema (figura 9.4).

Figura 9.3. Matriz de rigidez lateral (Pórtico de 1 piso)

Figura 9.4. Discretización de la estructura (pórtico de un piso)

9.2.3 Amortiguamiento

El coeficiente de amortiguamiento corresponde al valor de


9.3 PÓRTICO BIDIMENSIONAL DE TRES PISOS

El pórtico por desarrollarse corresponde a la figura 9.5, donde las masas concentradas del primero, segundo y tercer niveles son: 59,55, 52,35 y 50,48 KN-s2/m, respectivamente. Las columnas del primer piso tienen 4,00 m de altura y las de los pisos siguientes tienen 3,00 m, dichas columnas están espaciadas 5,00 m horizontalmente a los ejes; las dimensiones de las secciones transversales son 0,50 m x 0,50 m en columnas y 0,30 m x 0,50 m en vigas; el módulo de elasticidad considerado es E = 21316773.9449 KN / m2.

Figura 9.5. Pórtico de tres pisos

9.3.1 Matriz de masa

La construcción de la matriz de masa se realiza con la función diag. Dicho procedimiento se ilustra a continuación:

1 %% Ingreso de datos

2 clc; clear all; close all; % Funciones de limpieza

3 M= diag ([59.55 52.35 50.48]) ;

9.3.2 Matriz de rigidez y matriz de rigidez lateral

Comparte los mismos conceptos de desarrollo del pórtico de 1 piso y la misma secuencia; donde lo primero será desarrollar un bosquejo de la discretización del sistema (figura 4.6),


Figura 9.6. Discretización del pórtico de tres pisos

de modo que se establezca un orden conveniente para el ingreso de datos; dicho orden está plasmado en las matrices de ingreso de datos de las tablas: tabla 9.6, tabla 9.7, tabla 9.8, tabla 9.9 y tabla 9.10.

Tabla 9.6

Matriz de ingreso data1 (pórtico de tres pisos)

Tabla 9.7

Matriz de ingreso data2 (pórtico de tres pisos)

Tabla 9.8

Matriz de ingreso data3 (pórtico de tres pisos)

Tabla 9.9

Matriz de ingreso data4 (pórtico de tres pisos)

Tabla 9.10

Matriz de ingreso data5 (pórtico de tres pisos)

A continuación se muestran el código fuente en forma parcial para la construcción de la matriz de rigidez del pórtico de tres pisos y la obtención de su respectiva matriz de rigidez lateral:

1 % Rigidez lateral (pórticos 2D con elementos axialmente rígidos)

2 % Por: Ing. Miguel Raúl Guzmán Prado e Ing. Raul Franco Guzmán

3 % López. Candidatos a Maestros en Ciencias con mención en Ingeniería

4 % Estructural de la Facultad de Ingeniería Civil de la Universidad

5 % Nacional de Ingeniería.

6 % Funciones de limpieza

7 clc; clear all; close all;

8 % Ingreso de Datos

9 data1 =[1 0 0 0; 2 0 0 0; 3 0 0 0; 4 0 0 0; 5 1 0 4; 6 1 0 5; 7 1 0 6; 8 1 0 7; 9 2 0 8; 10 2 0 9; 11 2 0 10; 12 2 0 11; 13 3 0 12; 14 3 0 13; 15 3 0 14; 16 3 0 15];

10 ndgl =max(max( data1 (: ,2:4) ));

11 [nn , ncdata1 ]= size ( data1 );

12 data2 =[1 1 5; 2 2 6; 3 3 7; 4 4 8; 5 5 9; 6 6 10; 7 7 11; 8 8 12; 9 9 13; 10 10 14; 11 11 15; 12 12 16; 13 5 6; 14 6 7; 15 7 8; 16 9 10; 17 10 11; 18 11 12; 19 13 14; 20 14 15; 21 15 16];

13 [nm , ncdata2 ]= size ( data2 );

14 for i=1: nm

15 data3 (i ,1)=i;

16 data3 (i ,2)= data1 ( data2 (i ,2) ,2);

17 data3 (i ,3)= data1 ( data2 (i ,2) ,3);

18 data3 (i ,4)= data1 ( data2 (i ,2) ,4);

19 data3 (i ,5)= data1 ( data2 (i ,3) ,2);

20 data3 (i ,6)= data1 ( data2 (i ,3) ,3);

21 data3 (i ,7)= data1 ( data2 (i ,3) ,4);

22 end

23 data4 =[1 0 0; 2 5 0; 3 10 0; 4 15 0; 5 0 4; 6 5 4; 7 10 4; 8 15 4; 9 0 7; 10 5 7; 11 10 7; 12 15 7; 13 0 10; 14 5 10; 15 10 10; 16 15 10];

24 data5 =[1 21316775.9449 (1/12) *0.5^4 0; 2 21316775.9449 (1/12) *0.5^4 0; 3 21316775.9449 (1/12) *0.5^4 0; 4 21316775.9449 (1/12) *0.5^4 0; 5

21316775.9449 (1/12) *0.5^4 0; 6 21316775.9449 (1/12) *0.5^4 0; 7

21316775.9449 (1/12) *0.5^4 0; 8 21316775.9449 (1/12) *0.5^4 0; 9

21316775.9449 (1/12) *0.5^4 0; 10 21316775.9449 (1/12) *0.5^4 0; 11

21316775.9449 (1/12) *0.5^4 0; 12 21316775.9449 (1/12) *0.5^4 0; 13

21316775.9449 (1/12) *0.3*0.5^3 0; 14 21316775.9449 (1/12) *0.3*0.5^3

0; 15 21316775.9449 (1/12) *0.3*0.5^3 0; 16 21316775.9449 (1/12)

*0.3*0.5^3 0; 17 21316775.9449 (1/12) *0.3*0.5^3 0; 18 21316775.9449

(1/12) *0.3*0.5^3 0; 19 21316775.9449 (1/12) *0.3*0.5^3 0; 20

21316775.9449 (1/12) *0.3*0.5^3 0; 21 21316775.9449 (1/12) *0.3*0.5^3 0];

25 ngdlc =3; % Número de grados de libertad condensados

Por resultados se obtiene la matriz de rigidez lateral presentada en un formato tabular (figura 9.7) y la discretización generada del sistema (figura 9.8).

Figura 9.7. Matriz de rigidez lateral (pórtico de tres pisos)

Figura 9.8. Discretización de la estructura (pórtico de tres pisos)

Покупайте книги и получайте бонусы в Литрес, Читай-городе и Буквоеде.

Участвовать в бонусной программе

Жанры и теги

Возрастное ограничение:
0+
Объем:
599 стр. 649 иллюстраций
ISBN:
9789972455339
Издатель:
Правообладатель:
Bookwire
Формат скачивания:
Текст
Средний рейтинг 5 на основе 1 оценок
Текст
Средний рейтинг 5 на основе 3 оценок
Текст PDF
Средний рейтинг 5 на основе 1 оценок
Текст, доступен аудиоформат
Средний рейтинг 5 на основе 1 оценок
По подписке
Текст, доступен аудиоформат
Средний рейтинг 5 на основе 4 оценок
По подписке
Текст PDF
Средний рейтинг 0 на основе 0 оценок
Текст PDF
Средний рейтинг 5 на основе 1 оценок
Текст
Средний рейтинг 4,2 на основе 10 оценок
По подписке
Аудио
Средний рейтинг 0 на основе 0 оценок