/
Modelo_DinamicaAvanzada.m
75 lines (60 loc) · 2.17 KB
/
Modelo_DinamicaAvanzada.m
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
clear all; %#ok<CLALL>
fprintf('>\tMODELO_DINAMICA_AVANZADA\n');
%% Creamos el modelo
modeloObj = Modelo(2, 3);
%% Nodos modelo
nodos = {};
Modelo_DinamicaAvanzadaNodo;
% Agregamos los nodos al modelo
modeloObj.agregarNodos(nodos);
%% Creamos los elementos
% Propiedades de la viga
Av = 0.65 * 0.4; % [m2]
Ev = 2625051; % [Tonf/m2]
Iv = (0.4 * 0.65^3) / 12;
% Propiedades de la columna
Ac = 1; % [m2]
Ec = 2625051; % [Tonf/m2]
Ic = 1 / 12;
% Densidad del material
Rhoh = 2.5; % [Tonf/m3]
%% Crea los elementos
elementos = {};
Modelo_DinamicaAvanzadaElementos;
% Agregamos los elementos al modelo
modeloObj.agregarElementos(elementos);
%% Creamos las restricciones
restricciones = cell(10, 1);
restricciones{1} = RestriccionNodo('R1', nodos{1}, [1, 2, 3]');
restricciones{2} = RestriccionNodo('R2', nodos{2}, [1, 2, 3]');
restricciones{3} = RestriccionNodo('R3', nodos{3}, [1, 2, 3]');
restricciones{4} = RestriccionNodo('R4', nodos{4}, [1, 2, 3]');
restricciones{5} = RestriccionNodo('R5', nodos{5}, [1, 2, 3]');
restricciones{6} = RestriccionNodo('R6', nodos{6}, [1, 2, 3]');
restricciones{7} = RestriccionNodo('R7', nodos{7}, [1, 2, 3]');
restricciones{8} = RestriccionNodo('R8', nodos{8}, [1, 2, 3]');
restricciones{9} = RestriccionNodo('R9', nodos{9}, [1, 2, 3]');
restricciones{10} = RestriccionNodo('R10', nodos{10}, [1, 2, 3]');
% Agregamos las restricciones al modelo
modeloObj.agregarRestricciones(restricciones);
%% Creamos la carga
cargas = cell(1, 103);
for i = 1:103
cargas{i} = CargaVigaColumnaDistribuida('Carga distribuida piso', ...
elementos{i}, -1, 0, -1, 1, 0);
end
%% Creamos el patron de cargas
PatronesDeCargas = cell(1, 1);
PatronesDeCargas{1} = PatronDeCargasConstante('CargaConstante', cargas);
% Agregamos las cargas al modelo
modeloObj.agregarPatronesDeCargas(PatronesDeCargas);
%% Creamos el analisis
analisisObj = ModalEspectral(modeloObj);
analisisObj.activarPlotDeformadaInicial();
analisisObj.activarCargaAnimacion();
analisisObj.plot();
return;
analisisObj.analizar(50, [0.02, 0.05], [0.05, 0.02, 0]);
analisisObj.disp();
analisisObj.plot('modo', 8, 'factor', 25, 'numcuadros', 25, ...
'gif', 'test/modal/out/Modelo_DinamicaAvanzada_%d.gif', 'defelem', true);