Академический Документы
Профессиональный Документы
Культура Документы
SMIS
(Symbolic Matrix Interpretive System)
Mario Durn L.
F1
OPER
F2
12 13
F3
18 19
F4
24 25
N1
30 31
N2
36 37
FIGURA N 1
N3
42 43
N4
48 49
S1
54 55
S2
60 61
66 67
72
1.- INTRODUCCION:
La idea bsica del programa-lenguaje SMIS, es la entrada de datos en forma de palabras y nmeros que
permiten al programa identificar y ejecutar una determinada operacin mediante el nombre entregado por el
usuario. Por ejemplo, si el usuario escribe la palabra MULT el programa reconoce la operacin para
multiplicar dos matrices y llama a la subrutina correspondiente.
La versin original de este programa escrito en lenguaje FORTRAN fue desarrollada por E. Wilson en 1963
en la Universidad de California en Berkeley. El programa fue con el transcurso de los aos instalado y
desarrollado en numerosas universidades, institutos de investigacin y oficinas de ingeniera en el mundo. Un
desarrollo importante del programa fue realizado en Alemania en la Universidad de Bochum entre los aos
1971 y 1980, donde me toc participar /1/. Es de esa versin que originalmente era para grandes
computadores, que desarroll en el Departamento de Obras Civiles de la Universidad de La Serena este
programa para computadores personales (PC).
Existen en la presente versin 69 instrucciones que realizan todas las operaciones del lgebra matricial y en
especial las empleadas para el anlisis estructural esttico y dinmico que son usadas en los cursos de
Anlisis Matricial de Estructuras /2/ e Ingeniera Antissmica /3/.
La entrada de datos al programa SMIS-PC, es en forma de lneas separadas en columnas como se indica en la
Fig. 1. Los nombres all indicados tiene los siguientes significados.
OPER
El grupo de datos de entrada debe llevar al comienzo la operacin START (en las columnas asignadas como
OPER). Adems, esta operacin puede ser incluida adicionalmente en otra parte de la entrada de datos lo que
hace al programa comenzar de nuevo borrando toda la informacin (matrices) generada hasta ese momento.
Al final de la entrada de datos debe ir la operacin STOP que detiene la ejecucin del programa.
(-)
(+)
ADD
DELETE
F1=
DUPL
F1=
F2=
EXRC
F1=
F2=
F3=
Nombre de la matriz cuyas filas y/o columnas deben ser intercambiadas (-).
Nombre de una matriz-fila (tipo "integer") que indica el intercambio (permutaciones) de
columnas (-).
Nombre de una matriz-fila (tipo "integer") que indica el intercambio (permutaciones) de
filas (-).
La matriz resultante queda almacenada en F1.
LOAD
LOADLM
LPLOT
MULT
Nombre de la matriz de cuyas filas se har un ploteo a escala logartmica. Esta matriz
puede contener un mximo de nueve filas (-)
Nmero de las lneas siguientes que contiene un texto como ttulo del ploteo.
Multiplicacin de dos matrices.
F1=
F2=
F3=
PLOT
F1=
N1=
Nombre de la matriz de cuyas filas se har un ploteo. Esta matriz puede tener un
mximo de nueve filas (-).
Nmero de lneas que siguen a continuacin con un texto como ttulo ploteo a realizar.
Los elementos de la matriz F1 son llevados a un grfico X-Y. En el eje X se lleva el
nmero de la columna y en el eje Y el valor relativo de los elementos con respecto al mayor
elemento de la matriz. Cada fila (mximo 9) se grafica por separado. Si se quiere una
escala logartmica del eje Y se debe ocupar la operacin LPLOT.
Imprimir una matriz.
F1=
N1=
N2=
REMARK
N1=
START
STOP
SUB
TRANS
F1=
F2=
TRFORM
F1=
F2=
N2=
TRMULT
F1=
F2=
F3=
WRITE
Sumar una sub-matriz F2 a partir de cierta fila y columna de una matriz F1.
F1=
Nombre de la matriz en la cual una sub-matriz ser sumada (-).
F2=
Nombre de la sub-matriz (-).
N1,N2 Nmero de la fila y columna de la matriz F1 donde se sumar el primer elemento de la
sub-matriz F2.
DELRC
MERGE
F1=
F2=
F3=
F4=
N1=
RMVSM
F1=
Nombre de la matriz de la cual se extraer una sub-matriz F2 (-).
F2=
Nombre de la sub-matriz (+).
N1,N2 Nmero de la fila y columna de la matriz F1 que contiene el primer elemento de la submatriz F2.
N3,N4 Nmero de filas y columnas de la matriz F2.
STOSM
Introducir una sub-matriz a partir de cierta fila y columna de una matriz F1.
Esta operacin es idntica a ADDSM (F1, F2, N1 y N2, tienen igual significado) con la
diferencia de que los elementos correspondientes de la matriz F1 son reemplazados (en
lugar de sumados) por los elementos de la sub-matriz F2.
DGADD
F1=
F2=
DGMPY
F1,F2
DGPOST
F1=
F2=
DGPRE
DGSUB
IDADD
Similar a DGADD, en que los elementos de la matriz diagonal son todos iguales.
F1=
Nombre de una matriz cuadrada (-).
N4, S1 Con estos valores se forma un escalar k=S1*10eN4 .
El resultado de esta operacin F1+k*I (en que I es la matriz identidad) queda almacenado
en F1.
RMVDG
F1=
F2=
STODG
Formacin de una matriz de una fila a partir de la diagonal de una matriz cuadrada.
Nombre de una matriz cuadrada (-).
Nombre de una matriz-fila que contendr los elementos de la diagonal de F1 (+).
Introduccin de una matriz de una fila en la diagonal de una matriz cuadrada.
F1=
F2=
INVEL
Nombre de la matriz de la cual se quiere determinar el mayor valor absoluto de cada fila
Nombre de una matriz-columna en la que se almacenarn los valores obtenidos (+).
Nmero de lneas que siguen a continuacin y se imprimirn como texto.
Formacin de una matriz con los valores recprocos de sus elementos.
F1=
LOG
Nombre de la matriz cuyos elementos sern reemplazados por sus valores recprocos (-)
Formacin de una matriz con los logaritmos de sus elementos.
F1=
MSCALE
F1=
F2=
MTXMAP
Nombre de la matriz cuyos elementos sern reemplazados por sus logaritmos naturales (-)
Multiplicacin de una matriz por un escalar obtenido de otra matriz.
Nombre de la matriz que ser multiplicada por un escalar (-).
Nombre de la matriz cuyo primer elemento ser tomado como escalar (-).
Obtener elementos de una matriz que sean mayores que un escalar k dado.
F1=
Nombre de la matriz que ser examinada (-).
N1=
Nmero de lneas que siguen a continuacin y se imprimirn como texto.
N4,S1 El escalar k se forma como k = S1*10N4
La matriz F1 se imprime en forma simblica de manera que (asterisco) identifica a elementos cuyo valor
absoluto es mayor que k, mientras que (punto) identifica a los elementos con valor absoluto menor o igual a
k
SCALE
SELECT
F1=
SYMCHK
F1=
Nombre de la matriz a examinar. Se aceptar un margen de error
N4,S1 Se forma = k*S1*10N4, en que k es el primer elemento de la matriz F1
Si no se indican los valores para N4 y S1, el programa asume = k*10-6
ZERO
Formacin automtica de una matriz (caso especial matriz llena con ceros).
F1=
N1=
N2=
S1=
S2=
Si no se indican S1 y S2 se llena una matriz llena de ceros. En el caso N1N2 (matriz rectangular) no debe
indicarse valores S1 y S2.
BASOL1
F1=
BASOL2
F1=
F2=
CHOL1
F1=
F2=
CHOL2
Nombre de una matriz triangular inferior. Puede ser obtenida por transposicin de la
matriz triangular superior obtenida con CHOL1. Una vez finalizada la operacin CHOL2
la matriz F1 contiene la inversa de la matriz original (-).
F2=
Nombre de la matriz que contiene la parte derecha del sistema de ecuaciones. Despus de
CHOL2, la matriz F2 contiene la solucin del sistema de ecuaciones. Si no se indica una
matriz F2 solo se realiza la inversin de la matriz F1.
N4,S1 Se forma = k * S1*10N4, siendo k el primer elemento de la matriz F1.
Si no se indican los valores para N4 y S1, el programa asume = k*10-6
CHOL2 realiza los siguientes controles:
a) Si algn elemento aij de la matriz F1 ubicada sobre la diagonal es tal que aij > , se interrumpe la
ejecucin con el mensaje: *** Matrices son incompatibles ***
b) Si algn elemento aii de la diagonal de F1 es tal que aii < , se interrumpe la ejecucin con el mensaje:
*** Matriz no es positiva definida ***
CHOL3
INVSYM
F1=
Nombre de la matriz simtrica (-).
N4,S1 Se forma = k* S1*10N4, en que k es primer elemento de la matriz F1
Si no se indican los valores para N4 y S1, el programa asume = k*10-6. La inversin se realiza mediante
Gauss sin intercambio de filas o columnas. Si algn elemento de la diagonal de F1 es < , entonces se
interrumpe la ejecucin con el mensaje *** Matriz es singular ***
PSINV
SOLVE
F1=
Nombre de una matriz cuadrada no-singular. Los elementos de esta matriz se pierden
durante la ejecucin de esta operacin (-).
F2=
Nombre de una matriz que contiene la "parte derecha" del sistema de ecuaciones. Si
existen varias "partes derechas", la matriz F1 posee varias columnas. Despus de la
operacin SOLVE, F2 contiene la solucin del sistema de ecuaciones (-).
N4,S1 Similar a INVERT.
Los elementos de la matriz F3 representan la relacin entre los desplazamientos de los nudos del elemento y
los desplazamientos de los nudos de la estructura en coordenadas globales (tabla de incidencia).
Si una misma matriz F2 debe ser incluida en distintas partes de F1, puede repetirse la operacin ADDSTF
con distintos F3. Otra posibilidad es la siguiente:
F3=
N1=
N2=
Nombre de una matriz de varias filas, cuyos elementos son enteros positivos. Cada fila de
F3 representa una inclusin de F2 en F1. Los enteros N1 y N2 indican cuales filas de F3 se
usarn para incluir F2 en F1 (-).
Nmero de la primera fila de F3 que se usar para incluir F2 en F1. Si no se indican, se
asume N1=1.
Cantidad de filas de F3 a partir de la fila N1 que se usarn para incluir F2 en F1 (nmero
de inclusiones).
CONDEN
K12
K21
K22
K =
F1=
F1=
Formacin de la matriz de rigidez de un elemento de enlace para anlisis seudotridimensional. El elemento tiene 2 extremos (AB y CD) infinitamente rgidos con una zona
intermedia (BC) flexible. Se deben ingresar las propiedades del tramo flexible y las
coordenadas de los nudos A, B, C y D que definen el elemento (tomando como origen el
nudo inicial A)
Nombre de la matriz de rigidez del elemento de enlace a formar (+)
Momento de Inercia I
Area de Corte AQ = A/
Mdulo de Elasticidad E.
Area de la Seccin A.
Mdulo de Poisson
Segunda lnea:
Columna 1-12
13-24
25-36
37-48
49-60
61-72
De esta forma la lnea con la operacin ENLACE debe ser seguida por 2 lneas con datos.
Nota: Recuerde que las propiedades del tramo flexible corresponden a una viga que representa un tramo de
losa. Esa viga tiene un ancho que corresponde al espesor de la losa. La deformacin por corte es en este caso
importante y debe ser considerada.
FORCEM
F1=
F2=
F1=
N1=
N2=
Columna 1-12
13-24
25-36
37-48
49-60
Formacin de la matriz de rigidez reducida krj de un elemento de viga tipo (a) como se
indica en (2) con o sin consideracin de esfuerzo normal, o bien la matriz de rigidez kj del
elemento en coordenadas locales sin considerar el esfuerzo normal y posterior
almacenamiento en la matriz hiper-diagonal kr o k respectivamente.
Nombre de la matriz hiperdiagonal que almacenar las matrices de rigidez de los
elementos (segn /2/). F1=diag{ krj } o bien F1=diag{ kj }.
Parmetro que indica el tipo de matriz de rigidez a formar.
N1=2 forma la matriz de rigidez reducida krj de un elemento despreciando la deformacin
axial.
N1=3 forma la matriz de rigidez reducida krj de un elemento con deformacin axial.
N1=4 forma la matriz de rigidez kj de un elemento en coordenadas locales despreciando la
deformacin axial.
Parmetro que indica la cantidad de matrices de rigidez que se formarn y almacenarn en
F1. Se deben entregar N2 lneas con los datos necesarios para formar las matrices de los
elementos (para la matriz de solo un elemento, N2=1, luego se necesita una lnea a
continuacin). Los datos son los siguientes :
Momento de Inercia I.
Area de Corte AQ.
Largo L.
Mdulo de Elasticidad E.
Area de la Seccin.
Si N1=2 o N1=4 no se considera el rea de la seccin. Si no se quiere considerar deformacin por corte se
debe indicar AQ=0.
FORMKD
F1=
N1=
Segunda lnea:
Columna 1-12
13-24
25-36
37-48
49-61
61-73
De esta forma la lnea con la operacin FORMKD debe ser seguida por 2 lneas con datos.
Nota: Si se desea despreciar la deformacin por corte, se debe indicar AQ=0.
FORMKR
F1=
con
Momento de Inercia I
Area de Corte AQ = A/
Mdulo de Elasticidad E.
Area de la Seccin A.
Mdulo de Poisson (solo si AQ 0 )
Segunda lnea:
Columna 1-12
13-24
25-36
37-48
49-62
61-74
De esta forma la lnea con la operacin FORMKR debe ser seguida por 2 lneas con datos.
Nota: Si se desea despreciar la deformacin por corte, se debe indicar AQ=0.
FORMKG
F1=
N1=
Fuerza axial del elemento (debe ser negativa, esto es, de compresin)
Segunda lnea:
Columna 1-12
13-24
25-36
37-48
De esta forma la lnea con la operacin FORMKG debe ser seguida por 2 lneas con datos.
FORMF
F1=
N1=
N2=
A continuacin deben seguir N2 lneas con datos para formar las matrices fj :
Columna 1-12
13-24
25-36
37-48
Momento de Inercia I
Largo L.
Mdulo de Elasticidad E.
Area de la Seccin A.
Despus de la lnea con al operacin FORMT debe seguir una lnea con datos:
Columna 1-12
13-24
25-36
37-48
RIGID
De esta forma la lnea con la operacin RIGID debe ser seguida por una lnea con datos.
SLOPED
F1=
Despus de la operacin SLOPED debe seguir una lnea con los siguientes datos:
Columna 1-12
13-24
TRUSS
Despus de cada operacin TRUSS debe seguir una lnea con datos:
Columna 1- 6
7-12
13-24
25-36
EIGEN
F1=
F2=
F3=
F4=
N1=
EIGKX
F1=
F2=
F3=
F4=
FUNGN
F1=
F2=
N1=
S1=
Nota:
Nombre de una matriz que contiene la parte real B de una matriz compleja A. Despus de
la operacin EIGKX, F1 contiene en su diagonal la parte real de los valores propios de la
matriz compleja A (-).
Nombre de la matriz que contiene la parte imaginaria C de una matriz compleja A. Luego
de la operacin EIGKX, F2 contiene en su diagonal la parte imaginaria de los valores
propios de la matriz compleja A (-).
Nombre de una matriz en que se almacenar la parte real de los vectores propios (por
columnas) (+).
Nombre de una matriz en que se almacenar la parte imaginaria de los vectores propios
(por columnas) (+).
Determinacin de la ordenadas de una funcin mediante interpolacin.
Nombre de una matriz de dos columnas que define una funcin por sus pares de valores
abcisa Xi y ordenada Yi. En la primera columna deben estar almacenados los Xi y en la
segunda columna los correspondientes Yi. Los pares de valores deben estar ordenados de
modo que Xi+1 > Xi (-).
Nombre de una matriz-fila en que se almacenarn la ordenadas interpoladas para valores
equidistantes de abcisa, partiendo de la abcisa Xi . El primer valor almacenado en F2 es por
lo tanto Yi (+).
Parmetro que indica la cantidad de intervalos a calcular.
Intervalo de abcisa en que se determinarn las ordenadas.
En el caso de que Xi+1 < Xi o bien Xmax - Xmin < N1*S1 se termina la ejecucin con el mensaje :
*** Matrices son incompatibles ***
RESPON
F1=
F2=
F3=
F4=
N1=
N2=
S1=
S2=
Yi + 2 i Yi + i Yi = ai F(t)
4.-REFERENCIAS
/1/
/2/
/3/