Вы находитесь на странице: 1из 8

PROGRAMA DE ELEMENTOS FINITOS

ENTRADA
DE
DATOS

CALCULO

SALIDA
DE
RESULTADOS
ENTRADA DE DATOS

MEDIANTE ARCHIVO

1. Lnea de comandos
N Total de elementos NTELEM
N de elementos barra NTELBA
N de elementos viga NTELVI
N de elementos triangulares NTELTR
N de elementos cuadrilteros NTELCU
N de nodos NTNODS
N de fuerzas NTFUER
N de condiciones de borde NTCOBO
N de materiales NTMATE
N de espesores NTESPE
N de secciones de barras NTSECB
N de momentos de inercia NTSEIN
MEDIANTE ARCHIVO
I es el nmero del nodo
2. Datos nodales

I X(I) Y(I) GDL(I)


1 0.0 0.0 0
2 1.5 2.3 0
3 2.3 0.0 1 GDL
. 0 .- Libre
. 1 .- Fijo en X
. 2 .- Fijo en Y
3 .- Fijo Giro
4 .- Fijo X-Y-Giro
NTNODS 7.5 -1.0 4
MEDIANTE ARCHIVO
I es el nmero del
3. Datos elementos BARRA elemento respectivo

I NODIBA(I) NODJBA(I) AREAB(I)


1 1 5 0.034
2 3 2 0.034
3 4 6 0.034

NTELBA 5 8 0.034

4. Datos elementos VIGA

I NODIVI(I) NODJVI(I) AREAV(I) INER(I)


1 3 2 0.055 0.00123
2 1 6 0.055 0.00123
3 4 5 0.055 0.00123

NTELVI 10 20 0.055 0.00123


MEDIANTE ARCHIVO

5. Datos elementos CST


I NODITRI(I) NODJTRI(I) NODKTRI(I) ESPE(I)
1 1 2 3 0.01
2 2 3 5 0.01
3 1 2 6 0.01

NTELTR 10 15 16 0.01

6. Datos elementos Cuadrilatero


I NODITRI(I) NODJTRI(I) NODKTRI(I) NODKTRI(I) ESPES(I)
1 1 2 3 5 0.01
2 2 3 5 8 0.01
3 1 2 6 10 0.005

NTELTR 10 15 16 18 0.01
Matriz de Rigidez ELEMENTO BARRA (se forma en la matriz global)

DO I=1,NTELBA

L(I)=SQRT((X(NODIBA(I))-X(NODJBA(I)))**2+ (Y(NODIBA(I))-Y(NODJBA(I)))**2))
COS= (X(NODJBA(I))-X(NODIBA(I)))/L(I)
SEN= (Y(NODJBA(I))-Y(NODIBA(I)))/L(I)

K(3*NODIBA(I)-2, 3*NODIBA(I)-2)= K(3*NODIBA(I)-2, 3*(NODIBA(I)-2)+E(I)*A(I)/L(I)*COS**2


K(3*NODIBA(I)-2, 3*NODIBA(I)-1)= K(3* NODIBA(I)-2, 3*NODIBA(I)-1)+E(I)*A(I)/L(I)*COS*SEN
K(3*NODIBA(I)-2, 3*NODJBA(I)-2)= K(3*NODIBA(I)-2, 3*NODJBA(I)-2)-E(I)*A(I)/L(I)*COS**2
K(3*NODIBA(I)-2, 3*NODJBA(I)-1)= K(3*NODIBA(I)-2, 3*NODJBA(I)-1)-E(I)*A(I)/L(I)*COS*SEN

K(3*NODIBA(I)-1, 3*NODIBA(I)-2)= K(3*NODIBA(I)-1, 3*NODIBA(I)-2)+E(I)*A(I)/L(I)*COS*SEN


K(3*NODIBA(I)-1, 3*NODIBA(I)-1)= K(3*NODIBA(I)-1, 3*NODIBA(I)-1)+E(I)*A(I)/L(I)*SEN**2
K(3*NODIBA(I)-1, 3*NODJBA(I)-2)= K(3*NODIBA(I)-1, 3*NODJBA(I)-2)-E(I)*A(I)/L(I)*COS*SEN
K(3*NODIBA(I)-1, 3*NODJBA(I)-1)= K(3*NODIBA(I)-1, 3*NODJBA(I)-1)-E(I)*A(I)/L(I)*SEN**2

K(3*NODJBA(I)-2, 3*NODIBA(I)-2)= K(3*NODJBA(I)-2, 3*NODIBA(I)-2)-E(I)*A(I)/L(I)*COS**2


K(3*NODJBA(I)-2, 3*NODIBA(I)-1)= K(3*NODJBA(I)-2, 3*NODIBA(I)-1)-E(I)*A(I)/L(I)*SEN*COS
K(3*NODJBA(I)-2, 3*NODJBA(I)-2)= K(3*NODJBA(I)-2, 3*NODJBA(I)-2)+E(I)*A(I)/L(I)*COS**2
K(3*NODJBA(I)-2, 3*NODJBA(I)-1)= K(3*NODJBA(I)-2, 3*NODJBA(I)-1)+E(I)*A(I)/L(I)*SEN*COS

K(3*NODJBA(I)-1, 3*NODIBA(I)-2)= K(3*NODJBA(I)-1, 3*NODIBA(I)-2)-E(I)*A(I)/L(I)*COS*SEN


K(3*NODJBA(I)-1, 3*NODIBA(I)-1)= K(3*NODJBA(I)-1, 3*NODIBA(I)-1)-E(I)*A(I)/L(I)*SEN**2
K(3*NODJBA(I)-1, 3*NODJBA(I)-2)= K(3*NODJBA(I)-1, 3*NODJBA(I)-2)+E(I)*A(I)/L(I)*COS*SEN
K(3*NODJBA(I)-1, 3*NODJBA(I)-1)= K(3*NODJBA(I)-1, 3*NODJBA(I)-1)+E(I)*A(I)/L(I)*SEN**2

END DO
Observe que se ha puesto como un pre-multiplicador un nmero 3 que
corresponde que en cada nodo estn asociados tres grados de libertad,
desplazamiento en x, desplazamiento en y, finalmente giro en z.

Todas las restantes matrices se construyen de la misma forma, con el mismo


nombre de variable, solo en la parte final se deben poner los valores
respectivos (indicados en color en esta presentacin)

Las matrices faltantes tienen los siguientes rangos:

K Viga 6x6

K Triangular 6x6

K Cuadriltero 8x8
Condiciones de Borde

Se tienen dos alternativas, como se sabe hay que eliminar filas y columnas
relacionadas con los grados de libertad restringidos:

1.- Crear una matriz auxiliar sin las filas y columnas que se encuentran
restringidas.

2.- Multiplicar la diagonal del grado de libertad restringido por 1010 y resolver.
DO I=1,NTNODS

IF(GDL(I).EQ.1)THEN
K(3*I-2, 3*I-2) = K(3*I-2, 3*I-2) *10E10
ELSE IF(GDL(I).EQ.2)THEN
K(3*I-1, 3*I-1) = K(3*I-1, 3*I-1) *10E10
ELSE IF(GDL(I).EQ.3)THEN
K(3*I, 3*I) = K(3*I, 3*I) *10E10
ELSE IF(GDL(I).EQ.4)THEN
K(3*I-2, 3*I-2) = K(3*I-2, 3*I-2) *10E10
K(3*I-1, 3*I-1) = K(3*I-1, 3*I-1) *10E10
K(3*I, 3*I) = K(3*I, 3*I) *10E10
ELSE IF(NTELVI.EQ.0)THEN
K(3*I, 3*I) = K(3*I, 3*I) *10E10
END IF
END DO

Вам также может понравиться