Programa de elementos
finitos a cdigo abierto versin 1.0
Volumen 1. Descripcin y manejo del programa
PEFiCA
1.0
Dorian L. Linero S.
PEFiCA
Programa de elementos
finitos a cdigo abierto versin 1.0
Volumen 1. Descripcin y manejo del programa
16.10. ORXYNU....................................................................................................186
Captulo 17 Instrucciones para importar y exportar matrices .......................................189
17.1. IOEXPR ......................................................................................................190
17.2. IOEXPI........................................................................................................191
17.3. IOEXPD ......................................................................................................192
17.4. IOELDR ......................................................................................................193
17.5. IOEXPT ......................................................................................................194
Captulo 18 Instrucciones internas de uso comn .........................................................195
18.1. PBDEMR ....................................................................................................195
18.2. PBDEMI......................................................................................................195
18.3. PBATRI ......................................................................................................195
18.4. PBDIST.......................................................................................................196
18.5. PBCOSD .....................................................................................................196
18.6. PBDIAG......................................................................................................197
18.7. PBCOEL .....................................................................................................197
18.8. PBREDO.....................................................................................................198
18.9. PBDINU......................................................................................................198
18.10. PBPGAU.....................................................................................................199
Captulo 19 Instrucciones grficas ................................................................................201
19.1. GRAFDE.....................................................................................................204
19.2. GRAFIL ......................................................................................................204
19.3. GRAGEO ....................................................................................................205
19.4. GRAMAT ...................................................................................................207
19.5. GRAFIF ......................................................................................................208
19.6. GRAFIM .....................................................................................................210
19.7. GRAFIE ......................................................................................................214
19.8. GRATDE ....................................................................................................217
19.9. GRATFI ......................................................................................................218
19.10. GRATFE .....................................................................................................221
Captulo 20 Instrucciones de generacin de malla........................................................223
20.1. GEMARE....................................................................................................223
Captulo 21 Instrucciones para crear el vector de contribucin interelemental ............227
21.1. ITRIAN .......................................................................................................228
21.2. IRECTA ......................................................................................................229
Referencias ....................................................................................................................233
objetivo, es habitual que cada centro de investigacin cuente con un programa bsico de
elementos finitos a cdigo abierto, el cual enriquece permanentemente con sus nuevos de-
sarrollos.
Los planteamientos expresados en los prrafos anteriores justificaron y motivaron la
creacin de PEFiCA, acrnimo que significa Programa de Elementos Finitos a Cdigo
Abierto.
Este documento est dividido en tres partes. La primera parte o Captulo 1 presenta los
antecedentes, el objetivo y el alcance del programa. La segunda parte, conformada por los
captulos 2 y 3, describe la estructura y el manejo del programa, as como los tipos y forma-
tos de los datos de entrada y de salida. En la tercera parte presentada entre los captulos 4
y 21, se detallan las instrucciones o subrutinas disponibles para construir el proceso princi-
pal de clculo, donde cada captulo agrupa las instrucciones con un fin comn.
1.1. Antecedentes
En los aos 60s despus de establecidos los conceptos bsicos del anlisis matricial, co-
mienza el desarrollo de programas aislados de simulacin numrica con propsito especfi-
co. Mediante un proyecto de cooperacin de la NASA surge en 1968, uno de los primeros
programas de elementos finitos de uso general denominado NASTRAN (Nasa STRuctural
ANalysis) (MacNeal 1972). Desde entonces se han desarrollado muchos programas de
computador con objetivos similares. En la actualidad se encuentran algunos programas
comerciales como el ABACUS, ALGOR, ANSYS, COSMOS y ADINA, entre otros, que per-
miten la simulacin numrica de problemas multifsicos con gran eficiencia y comodidad
para el usuario. En este tipo de herramientas un programa previamente compilado realiza
el proceso de clculo y otro programa denominado post proceso, presenta los resultados,
actuando en conjunto como una caja negra para el usuario.
Por otro lado, los centros de investigacin en el rea han desarrollado programas a cdi-
go abierto, es decir, grupos de rutinas observables y modificables, que despus de ser com-
piladas en conjunto generan un programa ejecutable de elementos finitos. Entre los ms
populares se encuentran los programas escritos en lenguaje FORTRAN como el FEAP
(Taylor 2008) y el COMET (Cervera, Agelet et al. 2001), y las herramientas ejecutables en
el programa MATLAB como el FEMLAB (COMSOL 2007) y CALFEM (LundUniversity
1999).
En la Universidad Nacional de Colombia se desarroll el Programa Didctico de Ele-
mentos Finitos - Euler (Linero 1999), el cual proporcionaba al usuario un grupo de instruc-
ciones fijas con las cuales se podran resolver algunos problemas de campo y de elasticidad
unidimensional y bidimensional. Durante 3 aos ste programa fue incorporado en las
asignaturas correspondientes en los programas curriculares de Ingeniera Civil y de Maes-
tra en Ingeniera Estructuras. La respuesta de los estudiantes revel las fortalezas y de-
bilidades de la herramienta, dando paso a la creacin del nuevo programa denominado PE-
FiCA.
1.2. Objetivos
El programa PEFiCA tiene como objetivo principal motivar, estimular y facilitar el apren-
dizaje del Mtodo de los Elementos Finitos (MEF) en el campo de la Ingeniera Civil, a
travs del uso de subrutinas preestablecidas para resolver un problema especfico. El estu-
diante debe programar el procedimiento principal a partir de las subrutinas proporcionadas
por el programa o mediante nuevas rutinas creadas por l mismo. Con lo anterior el pro-
grama busca que el usuario participe activamente del proceso de aprendizaje en el tema,
observando, entendiendo y desarrollando progresivamente cada una de las etapas de clcu-
lo.
El programa pone al estudiante en un estadio intermedio entre la programacin de todos
y cada uno de los procedimientos de clculo y el proceso automatizado entrada de datos y
presentacin de resultados. El programa evita que el usuario ocupe mucho tiempo en los
procedimientos bsicos como la solucin de un sistema de ecuaciones simultaneas o el en-
samblaje de una matriz, sin embargo permite que observe y modifique cualquiera de las
subrutinas. Esta transparencia y flexibilidad del programa le permitan al usuario analizar
cada procedimiento y desarrollar nuevos procesos de clculo.
1.3. Alcance
Las rutinas definidas en la primera versin programa permiten resolver algunos problemas
particulares en Ingeniera y especficamente en mecnica de slidos, mediante el mtodo de
los elementos finitos.
Por un lado, PEFiCA soluciona de forma dbil la ecuacin diferencial de campo unidi-
mensional presentada en la Expresin (10.1), la cual gobierna problemas como deflexin de
vigas, alargamiento de barras sometidas a fuerza axial distribuida y transferencia de calor
unidimensional. De igual manera, se puede resolver la ecuacin diferencial parcial de
campo bidimensional denominada ecuacin de Poisson (Oate & Zrate 2000) expresada
en la Ecuacin (10.5), que define varios fenmenos en Ingeniera, tales como: distribucin
de esfuerzos cortantes en barras de seccin transversal arbitraria sometidas a torsin pura,
lneas de potencial y de corriente en flujo irrotacional, infiltracin del agua en suelos per-
meables y transferencia de calor bidimensional, entre otros.
Asimismo, el programa permite obtener el campo de los desplazamientos, deformacio-
nes y esfuerzos de un slido sometido a fuerzas estticas en condicin plana de esfuerzos o
de deformaciones, considerando que las deformaciones son infinitesimales y que el material
es elstico lineal istropo.
Para dar solucin a estos tipos de problemas el programa cuenta con subrutinas capaces
de construir la matriz de funciones de forma, la matriz de operadores diferenciales actuando
sobre funciones de forma, el vector de fuerzas y la matriz de rigidez de los elementos fini-
tos unidimensional lineal y cuadrtico, triangular lineal y rectangular bilineal de campo,
triangular lineal y rectangular bilineal de elasticidad. Otro grupo de subrutinas permite,
entre otras operaciones matriciales, calcular el vector solucin de un sistema de ecuaciones
simultneas linealmente independiente y los valores y vectores propios de un sistema de
sistema operativo Microsoft Windows y con el programa Microsoft Excel, lo cual es comn
en el medio.
Documentacin. El manual del usuario est dividido en dos volmenes: el presente
documento o volumen 1, el cual contiene la descripcin y manejo del programa, y el volu-
men 2 que presenta los ejemplos de aplicacin y los algoritmos de clculo ms representa-
tivos. Adicionalmente, se incluyen los archivos de ms de 20 ejemplos resueltos con el
programa.
Las hojas de entrada de datos constituyen el pre procesador del programa de elemen-
tos finitos. En cada una de ellas se almacena parte de la informacin del problema,
como las coordenadas de los nudos, las conectividades del los elementos, las fuerzas
aplicadas, entre otras. La Tabla 2.1 describe el contenido sugerido en cada una de las
hojas de entrada de datos incluidas en el libro de Excel, sin embargo, el usuario puede
modificar la organizacin presentada de las hojas de clculo siempre y cuando con-
tenga la informacin completa del problema.
12 Captulo 2. Estructura y manejo del programa
Hoja de
Descripcin
clculo
Contiene los parmetros generales del problema como el ttulo, la cantidad de nudos y
TB_GEN de elementos de la malla, el nmero de grados de libertad por nudo, las variables de
dibujo de los resultados, etc.
Contiene las coordenadas de los nudos de la malla de elementos finitos, ordenados de
TB_XYZ forma secuencial. A partir de esta tabla se construye la matriz especial de coordenadas
de los nudos descrita en la Seccin 3.4.1.
Contiene los nudos asociados a cada elemento de la malla, ordenados de forma secuen-
TB_ELE cial. A partir de esta tabla se construye la matriz especial de elementos descrita en la
Seccin 3.4.1.
Establece las condiciones de borde naturales, indicando los grados de libertad conoci-
TB_RES dos por cada nudo. A partir de esta tabla se construye la matriz especial de condiciones
de borde descrita en la Seccin 3.4.1.
Contiene las componentes de las fuerzas puntuales aplicadas a cada uno de los nudos
TB_FUN para los problemas de elasticidad. A partir de esta tabla se construye la matriz especial
de fuerzas organizadas por nudos descrita en la Seccin 3.4.2
Contiene las componentes de las fuerzas distribuidas por unidad de superficie y por
TB_FUE
unidad de volumen aplicadas sobre los elementos para los problemas de elasticidad. A
partir de esta tabla se construye la matriz especial de fuerzas distribuidas descrita en la
Seccin 3.4.2
Tabla 2.1. Hojas de entrada de datos
La hoja de salida de datos se utiliza para presentar los resultados del problema a tra-
vs de las matrices escogidas por el usuario. Las instrucciones EDIMEI, EDIMER,
EDIMPI y EDIMPR permiten escribir en una hoja de clculo: matrices y escalares, ente-
ras y reales, con un formato de salida particular. Se recomienda utilizar la hoja
TB_OUT para presentar los datos de salida, sin embargo el usuario puede escribir los
resultados en las celdas de cualquier hoja de clculo. El Apartado 3.3 indica como
presentar los resultados en la hoja de clculo TB_OUT de manera secuencial, lo cual
evita que se sobrescriban las matrices resultantes.
Prefijo de
Mdulo objetivo
las rutinas
Md Contiene solamente la subrutina principal del programa PEFiCA().
Contiene las subrutinas que construyen una matriz a partir de los valores de un
MdED ED grupo de celdas de una hoja de clculo y que escriben o presentan los coeficientes
de una matriz en una hoja de clculo (Captulo 4).
MdMT MT
Contiene las subrutinas que realizan las operaciones bsicas entre matrices. Estas
instrucciones se describen en el Captulo 5.
Contiene las subrutinas que solucionan sistemas de ecuaciones simultneas lineal-
MdSO SO mente independientes mediante diferentes mtodos. Estas instrucciones se descri-
ben en el Captulo 6.
MdVP VP
Contiene las subrutinas que calculan los valores y vectores propios en sistemas
homogneos de ecuaciones simultneas (Captulo 7).
MdN N
Contiene las subrutinas que crean la matriz o el vector de funciones de forma de un
tipo de elemento finito de la librera del programa (Captulo 8).
MdB B
Contiene las subrutinas que crean la matriz de operadores diferenciales actuando
sobre las funciones de forma de un tipo de elemento finito (Captulo 9).
MdK K
Contiene las subrutinas que crean la matriz de rigidez de los elementos finitos que
constituyen la librera del programa (Captulo 10).
Contiene las subrutinas que el vector de fuerzas equivalentes o vector de trminos
MdF F independientes de los elementos finitos que constituyen la librera del programa.
Estas instrucciones se describen en el Captulo 11.
Contiene las subrutinas que generan la matriz de constantes elsticas D en materia-
MdCE CE les cuya relacin constitutiva indicada en la Ecuacin (12.1). Estas instrucciones se
describen en el Captulo 12.
Contiene las subrutinas de cambio de base coordenada de variables fsicas como
MdTR TR
fuerzas, desplazamientos, esfuerzos y deformaciones. En algunas rutinas se cons-
truye la matriz de transformacin T, y en otros casos la instruccin transforma
directamente a la variable fsica. Estas instrucciones se describen en el Captulo 13.
Contiene las subrutinas que generan matrices o tablas de los identificadores de los
MdNGL NGL grados de libertad o valores nodales asociados a cada uno de los nudos o cada uno
de los elementos de la malla. Estas instrucciones se describen en el Captulo 14.
MdEN EN
Contiene las subrutinas que construyen la matriz o vector del sistema a partir del
ensamblaje de las matrices o vectores elementales (Captulo 15).
MdEX EX
Contiene las subrutinas que extraen una matriz o vector elemental conformada por
algunos coeficientes de una matriz o vector del sistema (Captulo 15).
Contiene las subrutinas dedicadas a ordenar los coeficientes de una matriz de
MdOR OR acuerdo con la numeracin de los grados de libertad, de los nudos o de los elemen-
tos del problema. Estas instrucciones se describen en el Captulo 16.
MdIO IO
Contiene las subrutinas que permiten importar y exportar matrices a un archivo
plano. Estas instrucciones se describen en el Captulo 17.
MdPB PB
Contiene las subrutinas miscelneas del programa, generalmente utilizadas por las
dems instrucciones. Estas instrucciones se describen en el Captulo 18.
MdGRA GRA
Contiene las subrutinas dedicadas a la generacin de grficas de cantidades de
inters sobre la malla de elementos finitos (Captulo 19).
MdGE GE
Contiene las subrutinas dedicadas a la generacin de la malla a partir de una regin
especfica. Estas instrucciones se describen en el Captulo 20.
MdI I
Contiene las subrutinas dedicadas a la generacin de vectores de constribucin
interelemental. Estas instrucciones se describen en el Captulo 21.
Tabla 2.2. Mdulos del programa
rutina objetivo
MTCONS
Crea una matriz M de nf filas por nc columnas, cuyos coeficientes corresponden a un nmero
real c.
MTCONI
Crea una matriz M de nf filas por nc columnas, cuyos coeficientes corresponden a un nmero
entero c.
MTSUBM Extrae una submatriz S de la matriz existente M.
MTADJU Crea un vector columna x conformado por dos subvectores columna existentes s y t.
MTADMR
Crea una matriz real X conformada por dos submatrices reales existentes S y T, adjuntando T
despus de la ltima fila o de la ltima columna de S.
MTADMI
Crea una matriz de trminos enteros X conformada por dos submatrices enteras existentes S y
T, adjuntando T despus de la ltima fila o de la ltima columna de S.
MTTRAN Calcula la matriz transpuesta de la matriz existente M, creando la matriz T.
MTMULT Multiplica la matriz A por la matriz B obteniendo la matriz C.
MTMUL3
Multiplica la primera matriz transpuesta AT por la segunda matriz B y el resultado lo multipli-
ca a la primera matriz A.
MTSUMA Calcula la matriz C como la suma entre las matrices A y B.
MTREST Calcula la matriz C como la resta de la matriz A menos la matriz B.
MTPROD
Multiplica trmino a trmino los coeficientes de las matrices A y B, almacenando el resultado
en la matriz C.
MTDIVI Multiplica trmino a trmino los coeficientes de las matrices A y B.
MTPORE Obtiene la matriz B como resultado de multiplicar el escalar c por la matriz A.
MTSUCI Suma los coeficientes de una matriz entera A.
MTSUCR Suma los coeficientes de una matriz real A.
MTMACI Encuentra el coeficiente mximo o mnimo de una matriz entera A.
MTMACR Encuentra el coeficiente mximo o mnimo de una matriz real A.
MTBAND
Establece el ancho de semi banda de una matriz simtrica llena A y crea la matriz banda B
correspondiente.
MTFUDU Factoriza una matriz cuadrada M.
MTFCLU
Factoriza la matriz M en el producto entre una matriz triangular inferior L y una matriz trian-
gular superior U.
MTDETE Calcula el determinante de una matriz cuadrada M.
MTINVE Calcula la matriz inversa de una matriz cuadrada M mediante eliminacin Gaussiana.
MTCOPI Crea una copia de una matriz real determinada.
Tabla 2.3. Instrucciones de operaciones matriciales bsicas indicadas en el mdulo MdMT
rutina objetivo
SOGAUS
Resuelve un sistema de ecuaciones simultaneas linealmente independiente mediante el mtodo
de eliminacin de Gauss.
SOCHLK
Resuelve un sistema simtrico de ecuaciones simultaneas linealmente independiente mediante
el mtodo de Cholesky modificado.
SOBAND
Resuelve un sistema de ecuaciones simultaneas linealmente independiente mediante el mtodo
de Cholesky modificado, en el cual la matriz simtrica se lee como una matriz banda.
Tabla 2.4. Instrucciones de solucin de ecuaciones simultneas indicadas en el mdulo MdSO
rutina objetivo
EDLECI
Crea la matriz entera M para la cual cada coeficiente corresponde a una celda de la hoja de
clculo.
EDLECR
Crea la matriz real M para la cual cada coeficiente corresponde a una celda de la hoja de cl-
culo
EDLECE
Captura el valor de una celda especfica de una hoja de clculo y lo guarda en una variable
escalar.
Construye una matriz entera a partir de un bloque de celdas de una hoja de clculo especfica.
EDTABI En esta subrutina un ndice establece en que fila de la matriz creada se guardarn los valores
de las celdas
Construye una matriz real a partir de un bloque de celdas de una hoja de clculo especfica. En
EDTABR esta subrutina un ndice establece en que fila de la matriz creada se guardarn los valores de
las celdas.
EDIMEI
Escribe una variable escalar entera en una hoja de clculo en el formato de salida para varia-
bles enteras.
EDIMER
Escribe una variable escalar real en una hoja de clculo en el formato de salida para variables
reales.
EDIMPI
Escribe una matriz entera en una hoja de clculo en el formato de salida para variables ente-
ras.
EDIMPR Escribe una matriz real en una hoja de clculo en el formato de salida para variables reales.
EDLIMH Borra el contenido de todas las celdas de la hoja de clculo especificada.
Tabla 2.5. Instrucciones de edicin de matrices indicadas en el mdulo MdED
rutina objetivo
VPITER
Obtiene el primer vector propio y el primer valor propio mediante el mtodo de la iteracin
inversa.
VPJACK
Obtiene los vectores propios y los valores propios mediante el mtodo de Jacobi de un sistema
de ecuaciones homogneo sin matriz de masas.
VPJACO
Obtiene los vectores propios y los valores propios mediante el mtodo de Jacobi de un sistema
de ecuaciones homogneo con matriz simtrica de masas.
Tabla 2.6. Instrucciones de clculo de vectores y valores propios, indicadas en el mdulo MdVP
rutina objetivo
NUNID2 Crea la matriz de funciones de forma de un elemento unidimensional lineal.
NUIND3 Crea la matriz de funciones de forma de un elemento unidimensional cuadrtico.
NTRIAN
Crea la matriz de funciones de forma de un elemento triangular lineal con un grado de libertad
por nudo.
NRECTA
Crea la matriz de funciones de forma de un elemento rectangular bilineal con un grado de
libertad por nudo.
NTRIEL
Crea la matriz de funciones de forma de un elemento triangular lineal para elasticidad bidi-
mensional u otro problema con dos grados de libertad por nudo.
NRECEL
Crea la matriz de funciones de forma de un elemento rectangular bilineal para elasticidad
bidimensional u otro problema con dos grados de libertad por nudo.
Tabla 2.7. Instrucciones para crear la matriz de funciones de forma de un elemento, indicadas en el mdulo
MdN
rutina objetivo
BUNID2
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un elemento
unidimensional lineal en un problema de campo unidimensional.
BUNID3
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un elemento
unidimensional cuadrtico en un problema de campo unidimensional.
BTRIAN
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un elemento
triangular lineal con un grado de libertad por nudo.
BRECTA
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un elemento
rectangular bilineal con un grado de libertad por nudo.
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un elemento
BTRIEL triangular lineal para elasticidad bidimensional u otro problema con dos grados de libertad por
nudo.
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un elemento
BRECEL rectangular bilineal para elasticidad bidimensional u otro problema con dos grados de libertad
por nudo.
Tabla 2.8. Instrucciones para crear la matriz de derivadas de funciones de forma de un elemento, indicadas
en el mdulo MdB
rutina objetivo
KUNID2
Crea la matriz de rigidez de un elemento finito unidimensional lineal preparado para resolver
una ecuacin diferencial de campo unidimensional.
KUNID3
Crea la matriz de rigidez de un elemento finito unidimensional cuadrtico preparado para
resolver una ecuacin diferencial de campo unidimensional..
KTRIAN
Crea la matriz de rigidez de un elemento finito triangular lineal preparado para resolver la
ecuacin diferencial de campo bidimensional de Poisson.
KRECTA
Crea la matriz de rigidez de un elemento finito rectangular bilineal preparado para resolver la
ecuacin diferencial de campo bidimensional de Poisson.
KTRIEL
Crea la matriz de rigidez de un elemento finito triangular lineal de elasticidad para un material
istropo en condicin plana de esfuerzos o de deformaciones.
KRECEL
Crea la matriz de rigidez de un elemento finito rectangular bilineal de elasticidad para un ma-
terial istropo en condicin plana de esfuerzos o de deformaciones.
Tabla 2.9. Instrucciones para crear la matriz rigidez de un elemento, indicadas en el mdulo MdK
rutina objetivo
CELAPL
Crea la matriz de constantes elsticas para un material de comportamiento lineal elstico is-
tropo en condicin plana de esfuerzos y en condicin plana deformaciones.
Tabla 2.10. Instrucciones para crear matrices de constantes elsticas, indicadas en el mdulo MdCE
rutina objetivo
TRVECO
Crea la matriz de transformacin de un vector definido en el plano. Se utiliza para realizar
cambios de base del vector de fuerza o de desplazamiento en un espacio bidimensional.
TRESP2
Crea la matriz de transformacin de las componentes de esfuerzo o deformacin contenidas en
el plano xy.
Calcula los esfuerzos (o deformaciones) principales y las respectivas direcciones principales a
TRPRIN partir de las componentes de esfuerzo (o de deformaciones) en la base original en un espacio
bidimensional.
TRVMIS
Calcula el esfuerzo de von Misses asociado al criterio de fluencia de la energa de distorsin a
partir de las componentes de esfuerzo en la base original en un espacio bidimensional.
Tabla 2.11. Instrucciones de cambio de base, indicadas en el mdulo MdTR
rutina objetivo
Crea el vector de trminos independientes de un elemento finito unidimensional lineal prepa-
FUNID2 rado para resolver una ecuacin diferencial de campo unidimensional donde el parmetro
independiente es constante.
Crea el vector de trminos independientes de un elemento finito unidimensional lineal prepa-
FUN2QL rado para resolver una ecuacin diferencial de campo unidimensional donde el parmetro
independiente tiene variacin lineal.
Crea el vector de trminos independientes de un elemento finito unidimensional cuadrtico
FUNID3 preparado para resolver una ecuacin diferencial de campo unidimensional donde el parmetro
independiente es constante.
Crea el vector de trminos independientes de un elemento finito unidimensional cuadrtico
FUN3QL preparado para resolver una ecuacin diferencial de campo unidimensional donde el parmetro
independiente tiene variacin lineal.
FTRIAN
Crea el vector de trminos independientes de un elemento finito triangular lineal preparado
para resolver la ecuacin diferencial de campo bidimensional de Poisson.
FRECTA
Crea el vector de trminos independientes de un elemento finito rectangular bilineal preparado
para resolver la ecuacin diferencial de campo bidimensional de Poisson.
Crea el vector de fuerzas en los nudos equivalentes a la aplicacin de una fuerza de superficie
FTRIES o presin constante sobre uno de los lados de un elemento finito triangular lineal de elastici-
dad.
FTRIEC
Crea el vector de fuerzas en los nudos equivalentes a la accin de una fuerza msica constante
o fuerza distribuida por unidad de volumen del elemento finito triangular lineal de elasticidad.
Crea el vector de fuerzas en los nudos equivalentes a la aplicacin de una fuerza de superficie
FRECES o presin constante sobre uno de los lados de un elemento finito rectangular bilineal de elasti-
cidad.
Crea el vector de fuerzas en los nudos equivalentes a la accin de una fuerza msica constante
FRECEC o fuerza distribuida por unidad de volumen del elemento finito rectangular bilineal de elastici-
dad.
Tabla 2.12. Instrucciones para crear el vector de fuerzas de un elemento, indicadas en el mdulo MdF
rutina objetivo
NGLNUD
Crea la matriz de grados de libertad por nudo a partir de la matriz indicadora de condiciones
de borde del problema.
NGLELE
Crea la matriz de incidencias o tabla de grados de libertad por elemento a partir de la matriz
de grados de libertad por nudo y la matriz de conectividades del problema.
NGLBAN
Calcula el ancho de la semi-banda de la matriz de rigidez y el nmero de grados de libertad del
sistema a partir de la matriz de incidencias.
Tabla 2.13. Instrucciones numerar grados de libertad, indicadas en el mdulo MdNGL
rutina objetivo
ENSAMK
Suma la contribucin de una matriz elemental a la matriz del sistema de acuerdo con la nume-
racin de los valores nodales o grados de libertad del elemento adicionado.
ENSAMV
Suma la contribucin de un vector elemental al vector del sistema de acuerdo con la numera-
cin de los valores nodales o grados de libertad del elemento adicionado.
ENBAND
Suma la contribucin de una matriz elemental simtrica a la matriz del sistema en formato de
matriz banda de acuerdo con la numeracin de los grados de libertad del elemento.
ENSAMX
Suma un coeficiente especificado de una matriz elemental a los coeficientes de un vector del
sistema de acuerdo con la numeracin de los grados de libertad del elemento.
EXTRAV
Extrae un vector elemental conformado por los coeficientes de un vector del sistema definidos
de acuerdo con la numeracin de los valores nodales o grados de libertad del elemento.
Tabla 2.14. Instrucciones para ensamblar y extraer matrices, indicadas en los mdulos MdEN y MdEX
rutina objetivo
ORFUGL
Crea el vector de valores nodales de la estructura ordenado de acuerdo con la numeracin de
los grados de libertad a partir de la tabla de valores nodales ordenada por nudo.
ORGLFU
Crea la tabla de valores nodales ordenada por nudo a partir del vector de valores nodales de la
estructura ordenado de acuerdo con la numeracin de los grados de libertad.
ORSONO
Crea un vector de resultados nodales a partir de una matriz de resultados elementales calcula-
dos en los nudos de cada elemento.
ORSONM
Crea una matriz de resultados nodales por material a partir de una matriz de resultados ele-
mentales calculados en los nudos de cada elemento.
ORNUDE Crea una matriz o tabla que contiene en cada fila los elementos asociados a cada nudo.
ORNLIN
Construye una listado de los nudos que hacen parte de un segmento recto entre dos nudos
extremos definidos en la tabla de coordenadas.
ORNLIX
Construye una listado de los nudos que hacen parte de un segmento recto definido entre dos
puntos cuya posicin puede o no coincidir con los nudos de la malla.
ORELIN
Construye una listado de los elementos cuyos lados hacen parte de un segmento definido por
dos nudos.
ORELIX
Construye una listado de los elementos cuyos lados hacen parte de segmento recto definido
entre dos puntos cuya posicin puede o no coincidir con los nudos de la malla.
ORXYNU
Extrae de la matriz de coordenadas o de cualquier matriz de resultados nodales, los respectivos
valores para los nudos relacionados en un vector o lista predefinida.
Tabla 2.15. Instrucciones de organizacin de matrices, indicadas en el mdulo MdOR
rutina objetivo
IOEXPR Permite exportar una matriz real existente a un archivo plano.
IOEXPI Permite exportar una matriz entera existente a un archivo plano.
IOEXPD Permite exportar un vector de datos enteros a un archivo plano en un formato definido.
IOELDR
Permite exportar una matriz real existente a un archivo plano en el formato indicado en la para
un paso de carga especfico.
IOEXPT Permite exportar una cadena de caracteres a la primera lnea de un archivo plano.
Tabla 2.16. Instrucciones para importar y exportar matrices, indicadas en el mdulo MdIO
rutina objetivo
GEMARE Genera una malla de elementos finitos rectangulares en una regin en forma de rectangular.
Tabla 2.17. Instrucciones de generacin de malla, indicadas en el mdulo MdGE
rutina objetivo
ITRIAN
Crea el vector de contribucin interelemental de un elemento finito triangular lineal preparado
para resolver una ecuacin diferencial de campo bidimensional de Poisson.
IRECTA
Crea el vector de contribucin interelemental de un elemento finito rectangular bilineal prepa-
rado para resolver una ecuacin diferencial de campo bidimensional de Poisson.
Tabla 2.18. Instrucciones para crear el vector de contribuciones interelementales, indicadas en el mdulo
MdI
rutina objetivo
PBDEMR Extrae el nmero de filas y de columnas de una matriz real existente.
PBDEMI Extrae el nmero de filas y de columnas de una matriz entera existente.
PBATRI Calcula el rea de un triangulo a partir de las coordenadas de sus extremos.
PBDIST
Calcula la distancia entre dos nudos en el espacio bidimensional a partir de la matriz o tabla de
coordenadas en los nudos.
PBCOSD
Calcula los cosenos directores que describen la direccin de un segmento recto definido entre
dos nudos a partir de las coordenadas de los mismos.
PBDIAG
Llena los coeficientes de la diagonal inferior de una matriz cuadrada a partir de los coeficien-
tes de la diagonal superior convirtindola en una matriz simtrica.
PBCOEL
Calcula cuatro factores de elasticidad para condicin plana de esfuerzos y plana de deforma-
ciones tiles en el clculo de la matriz de rigidez de los elementos de elasticidad plana.
PBREDO Redondea un escalar real segn el nmero de cifras significativas establecido.
PBDINU Calcula la distancia entre un nudo y un segmento recto definido por dos nudos.
PBPGAU
Construye una tabla que contiene las constantes de ponderacin en el mtodo de integracin
numrica de la cuadratura de Gauss.
Tabla 2.19. Instrucciones internas de uso comn, indicadas en el mdulo MdPB
rutina objetivo
GRAFDE
Crea la matriz de parmetros grficos con los valores por defecto de cada uno de los coeficien-
tes.
GRAFIL Crea un archivo que contiene los parmetros grficos almacenados en un vector existente.
GRAGEO
Dibuja la geometra de la malla de elementos finitos a partir de la matriz de coordenadas de
los nudos y la matriz de conectividades.
GRAMAT
Dibuja la malla de elementos finitos y representa el valor de una cantidad entera definida en
cada elemento (como por ejemplo el tipo de material), con un color especificado.
Dibuja los resultados nodales de una cantidad o funcin de aproximacin definida por el vec-
GRAFIF tor de valores nodales, la cual es interpolada en el interior de cada elemento mediante sus
funciones de forma.
Dibuja los resultados nodales de una cantidad o funcin de aproximacin definida por el vec-
GRAFIM tor de valores nodales, la cual es interpolada en el interior de los elementos finitos del mismo
material.
GRAFIE
Dibuja los resultados elementales de una cantidad o funcin de aproximacin definida por una
matriz de valores en el interior de cada elemento.
GRATDE
Dibuja la malla de elementos finitos deformada de acuerdo con el vector de desplazamientos
en los nudos para un problema de elasticidad bidimensional durante varios pasos de carga.
GRATFI
Dibuja los resultados nodales de una cantidad o funcin de aproximacin definida por el vec-
tor de valores en los nudos durante varios pasos de carga (o de pseudo-tiempo en general).
Dibuja los resultados elementales de una cantidad o funcin de aproximacin definida por el
GRATFE vector de valores en los elementos durante varios pasos de carga (o de pseudo-tiempo en gene-
ral).
Tabla 2.20. Instrucciones grficas indicadas en el mdulo MdGR
Observacin 2.1. El Editor de Visual Basic (VBE) incluido en Microsoft Office Ex-
cel permite visualizar y modificar las rutinas contenidas en los mdulos. Para ac-
tivar el VBE en Excel 2000 o 2003 seleccione el men: Herramien-
tasMacroEditor de Visual Basic. En cambio para activar el VBE en Excel 2007,
seleccione la ficha Programador de la cinta de opciones y haga clic en el icono de
Visual Basic. Si la ficha Programador no est disponible en la cinta de opciones,
haga clic en el botn de Office, haga clic en el botn Opciones de Excel, seleccione
la pestaa Ms frecuentes, seleccione la caja de verificacin Mostrar ficha del
Programador en la cinta de opciones y haga clic en le botn Aceptar.
Mximo de Mximo de
Tipo de problema
nudos elementos
Problema de campo unidimensional. 32,762 32,762
Problema de campo bidimensional: torsin pura en secciones
transversales, flujo potencial, infiltracin del agua en suelos, 32,762 32,762
transferencia de calor.
Anlisis mecnico bidimensional de slidos: estado plano de
16,381 32,762
esfuerzos y estado plano de deformaciones.
Anlisis estructural de armaduras bidimensionales. 16,381 32,762
Anlisis estructural de prticos bidimensionales. 10,920 32,762
Anlisis estructural de armaduras tridimensionales. 10,920 32,762
Anlisis estructural de prticos tridimensionales. 5,460 32,762
Anlisis estructural de placas planas delgadas. 10,920 32,762
Anlisis mecnico tridimensional de slidos. 10,920 32,762
Tabla 2.21. Capacidad del programa para problemas tpicos resueltos con el MEF
Copie la carpeta PEFiCA\ en el lugar del disco duro donde se desea ubicar el progra-
ma. Esta carpeta contiene los archivos: PEFiCA.xls, PEFiCAGraf.exe, PEFi-
CA.pdf, y la carpeta \ejemplos\.
Seleccione el men InicioPanel de control, haga doble clic sobre el icono de Op-
ciones regionales y de idioma, en la pestaa de Formatos haga clic en el botn Per-
sonalice este formato, en la pestaa Nmero modifique el smbolo decimal escri-
biendo el punto (.) y modifique el separador de miles por un espacio (_), finalmente,
haga clic en el botn Aceptar de la ventana Personalice este formato y haga clic en
Aceptar en la ventana Opciones regionales y de idioma. El generador de grficos
Abra Microsoft Office Excel, haga clic en el botn de Office en el extremo superior
izquierdo de la ventana, haga clic en el botn Opciones de Excel, seleccione la pesta-
a Centro de confianza, haga clic en el botn Configuracin del centro de confian-
za, seleccione la pestaa Configuracin de macros, haga clic en las cajas de verifica-
cin Deshabilitar todas las macros con notificacin y Confiar en el acceso al mode-
lo de objetos de proyectos de VBA, finalmente haga clic en el botn Aceptar de la
ventana actual, y haga clic en el botn Aceptar de la ventana Centro de confianza.
Esto le permitir decidir si ejecuta o no las macros contenidas en un archivo de Excel;
en particular, podr ejecutar las macros de PEFiCA.xls e impedir la ejecucin de ma-
cros no seguras provenientes de otros archivos.
Copie la carpeta PEFiCA\ en el lugar del disco duro donde se desea ubicar el progra-
ma. Esta carpeta contiene los archivos: PEFiCA.xls, PEFiCAGraf.exe, PEFi-
CA.pdf, y la carpeta \ejemplos\.
Abra el archivo PEFiCA.xls desde Microsoft Excel 2007, aparecer en la barra de ta-
reas el mensaje Advertencia de seguridad las macros se han deshabilitado y el bo-
tn Opciones, haga clic sobre este botn, seleccione Habilitar este contenido y haga
clic en el botn Aceptar. De esta forma el archivo PEFiCA.xls dispondr de las ru-
tinas que conforman el programa.
Escriba las lneas de cdigo dentro de la rutina PEFiCA() que conformen el proceso
general de clculo del problema contando con las subrutinas contenidas en los dems
mdulos y con las instrucciones bsicas del lenguaje de programacin (Dim, For
Next, If Then Else , entre otras).
Observacin 2.2. Las rutinas sin argumentos escritas en los mdulos son macros
ejecutables en Microsoft Excel, como por ejemplo, la rutina principal PEFiCA() del
mdulo Md. El usuario debe escribir el procedimiento en la rutina principal PEFi-
CA() y ejecutar la macro de su mismo nombre.
Observacin 2.3. El contenido del men Ayuda del Editor de Visual Basic contiene
temas de ayuda relacionados con el lenguaje de programacin Visual Basic for Ap-
plications, en cambio, el men de ayuda ? en la Hoja de Clculo contiene los temas
relacionados con el manejo general de Excel.
rea de cdigo
explorador de
proyectos
ventana de
propiedades
del objeto ventana de inspeccin
de variables
Ejecutar una rutina o macro: ejecuta la rutina actual si el cursor est situado sobre
ella y no tiene una lista de argumentos (Observacin 2.2). Se activa seleccionando el
men Ejecutar Ejecutar Sub/UserForm u oprimiendo la tecla F5.
Ejecutar paso a paso por instrucciones: ejecuta de forma secuencial una de las ins-
trucciones de la rutina actual. Permite correr una rutina completa ejecutando instruc-
cin por instruccin. Si la instruccin es un llamado a otra subrutina entra a ella para
ejecutar su primera instruccin. Se activa seleccionando el men Depuracin Paso a
paso por instrucciones u oprimiendo la tecla F8. La Figura 2.1 muestra en color
amarrillo la ejecucin de una instruccin.
Ejecutar paso a paso por procedimientos: ejecuta de forma secuencial una de las ins-
trucciones de la rutina actual. A diferencia del procedimiento anterior, cuando la ins-
truccin es un llamado a otra subrutina sin salirse de la rutina principal ejecuta todas
las instrucciones de la subrutina. Permite correr la rutina principal completa ejecu-
tando instruccin por instruccin sin entrar a las subrutinas llamadas. Para comenzar
el proceso se selecciona el men Depuracin Paso a paso por instrucciones o se
oprime la tecla F8, en adelante se ejecuta cada instruccin seleccionando el men De-
puracin Paso a paso por procedimientos u oprimiendo simultneamente las teclas
Mayus+F8.
Pila de llamadas: muestra en un cuadro de dilogo la lista de las rutinas que han lla-
mado a una instruccin activa en tiempo de ejecucin. Por ejemplo, cuando se pro-
duce un error de compilacin, como lo indica la Figura 2.4, aparece en color amarillo
la lnea del cdigo dentro de la subrutina generadora del error EDIMER (paso 1); para
conocer las rutinas que llamaron a la subrutina EDIMER se hace clic en el icono de pila
de llamadas (paso 2), se selecciona del cuadro de dialogo la rutina principal PEFiCA,
y se hace clic en Mostrar (paso 3), finalmente, en la rutina PEFiCA aparece un triangu-
lo verde a la izquierda de la lnea de cdigo que llam a la subrutina generadora del
error (paso 4).
Etapa de pre proceso: Introducir los datos del problema en las hojas de clculo desig-
nadas para tal fin, describiendo la geometra de la malla de elementos finitos, las con-
diciones de borde, los parmetros mecnicos de los materiales, las acciones externas y
las dems caractersticas propias del problema, como lo ilustra la Figura 2.6(1).
Etapa de construccin del proceso: Escribir en la rutina principal PEFiCA() las lneas
de cdigo del anlisis con elementos finitos (Figura 2.5), apoyndose en las instruc-
ciones preexistentes en el programa y las instrucciones propias del lenguaje de pro-
gramacin, como lo ilustra la Figura 2.6(2). En esta etapa el usuario construye por si
mismo el proceso de clculo apropindose del conocimiento en el tema.
Etapa de post-proceso: Como parte del proceso de clculo se incluyen lneas de cdi-
go que presentan los resultados mediante matrices escritas en la hoja de salida habi-
tualmente denominada TB_OUT (Figura 2.6(3)) y grficas creadas en ventanas nuevas
(Figura 2.6(4)).
'opciones generales
Option Explicit 'forzar la declaracin de todas las variables
Option Base 1 'declarar el lmite inferior predeterminado para subndices
'de matriz igual a 1
'---------------------------------------------------------------
Public Sub PEFiCA()
End Sub
Figura 2.5. Rutina principal de clculo PEFiCA() donde el usuario escribir el procedimiento de
clculo
Observacin 2.4. Las dos primeras lneas del mdulo Md mostradas en la Figura
2.5, se utilizan para forzar declaraciones explcitas de todas las variables en dicho
mdulo y para establecer el lmite inferior del ndice de toda matriz como 1. En
consecuencia todas las variables utilizadas deben ser declaradas y el primer trmi-
no de una matriz cualquiera A debe ser el A1,1 .
Tipo de Tamao
Descripcin Intervalo
datos almacenado
10 bytes +
cadena de
String longitud de desde 0 a 2E+09 de caracteres
caracteres
la cadena
Integer entero 2 bytes -32768 a 32767
para valores negativos:
real de
-1.79769313486E+306 a -4.94065645841E-324
Double doble pre- 8 bytes
para valores positivos:
cisin
4.94065645841E-324 a 1.79769313486E308
Tabla 3.1. Tipos de datos utilizados en el programa
32 Captulo 3. Tipos de datos, formatos y matrices
Una matriz con un tamao especificado es una matriz de tamao fijo; por ejemplo, en la
primera lnea de cdigo de la Figura 3.2 se declara a una matriz de tamao fijo con 2 filas y
4 columnas como real de doble precisin (double). El primer argumento corresponde al
nmero de filas y el segundo al nmero de columnas.
En cambio, una matriz cuyo tamao puede cambiar mientras el programa se est ejecu-
tando es una matriz dinmica. Al declarar la matriz se abre y cierra parntesis omitiendo
los indicadores de tamao, como se presenta en la ltima lnea de cdigo en la Figura 3.2.
Cuando se necesario establecer una dimensin especfica de la matriz se utiliza la ins-
truccin ReDim, como se ilustra la Figura 3.1. Este tipo de matrices son las ms utilizadas
en el programa.
El tamao almacenado en memoria depende de las dimensiones de la matriz y del tipo
de datos. Cada elemento o trmino de la matriz tiene el tamao de una variable escalar del
mismo tipo, por lo tanto, una matriz de nf filas y nc columnas ocupar nf por nc por el tama-
o segn el tipo (Tabla 3.1).
POSC = 3
POSF = 20
Figura 3.3. Designacin numrica las filas y las columnas en la posicin de una celda.
Cada matriz presenta un ttulo identificador en color negro y en letra negrita cursiva
que termina con el tamao de la misma entre parntesis.
En las matrices, los rtulos en color gris C1, C2, y F1, F2, indican el nmero
de la columna y de la fila respectivamente.
Los coeficientes positivos de la matriz se presentan en color azul, los negativos en co-
lor rojo y los coeficientes iguales a cero en color negro.
Rtulos indicadores de
Tamao de matriz columnas de la matriz
Ttulo de matriz
Rtulos indicadores
de filas de la matriz
Coeficiente
entero cero
Coeficiente
entero positivo
Rtulos indicadores de
Tamao de matriz columnas de la matriz
Ttulo de matriz
Coeficiente
real positivo
Rtulos indicadores
de filas de la matriz
Coeficiente
real cero
Coeficiente
real negativo
Con anterioridad se crea la hoja de clculo para presentar los resultados o hoja de sa-
lida. Por defecto el programa tiene la hoja TB_OUT.
La posicin de las matrices en la hoja de salida se define con las variables FILA y
COLM, las cuales solo deben ser utilizadas para tal fin.
Se limpia la hoja de salida con la instruccin EDLIMH, por ejemplo la lnea de cdigo
en Visual Basic for Applications EDLIMH "TB_OUT" borra el contenido de la hoja de
clculo TB_OUT.
A travs del cdigo en Visual Basic for Applications se escriben los resultados en la
hoja de salida utilizando las instrucciones EDIMER, EDIMEI, EDIMPR y EDIMPI. Algu-
nos parmetros de este tipo de instrucciones, como el nombre de la hoja de clculo
debe ser el mismo nombre asignado a la hoja de salida, (por ejemplo "TB_OUT").
Asimismo, la fila POSF y la columna POSC donde se escriben los resultados deben co-
rresponder a las variables FILA y COLM.
La Figura 3.6 muestra algunas lneas de cdigo de la rutina principal relacionadas con la
presentacin secuencial de resultados en una hoja de salida, en particular escribe las matri-
ces XYZ() y ELE() en la hoja TB_OUT. Despus de ejecutada la rutina PEFiCA, el contenido
del la hoja TB_OUT es el presentado en la Figura 3.7.
Figura 3.7. Contenido de la hoja de salida TB_OUT despus de ejecutar la rutina PEFiCA.
01 04 07
En la figura, los grados de libertad desconocidos estn numerados del 1 al 14 y los co-
nocidos del 15 al 18, de tal manera que el vector de valores nodales se puede dividir en
los subvectores y que contienen los grados de libertad desconocidos y conocidos
respectivamente.
= [ ]
T
T
= [1 2 K 14 ] (3.1)
T T
= [15 16 17 18 ] = [0 0 0 0]
Como parte de la programacin del mtodo son esenciales las matrices o tablas que des-
criban la geometra y las condiciones de borde de la malla de elementos finitos. A conti-
nuacin se indican dichas matrices:
Matriz o tabla de coordenadas de los nudos. Matriz real que contiene en cada fila la
coordenada de un nudo de la malla con respecto al origen de un sistema coordenado
cartesiano general. En la primera columna se ubica el valor de la coordenada x, en la
segunda la coordenada y, y en la tercera, si es el caso, la coordenada z. El nmero de
filas de esta matriz es igual al total de nudos de la malla y el nmero de columnas co-
rresponde a la dimensin del problema. La Figura 3.9 indica la matriz de coordena-
das de los 9 nudos del ejemplo bidimensional ilustrado en la Figura 3.8.
coordenada
nudo en x en y
Matriz de elementos o tabla de conectividades. Matriz entera que contiene los cdi-
gos identificadores de los nudos asociados a cada elemento finito. Una fila de la ma-
triz presenta la informacin de un elemento finito y cada columna contiene el identifi-
cador de un nudo, por lo tanto, el nmero de filas es igual a la cantidad de elementos
de la malla y el nmero de columnas corresponde con la cantidad de nudos que tenga
un elemento finito. El orden establecido para identificar los nudos de un elemento
finito corresponder con el orden de las columnas de la matriz de elementos, por
ejemplo, si los nudos de los elementos rectangulares bilineales de una malla estn
identificados en su orden como i, j, k y m (Figura 3.8), la primera columna de la ma-
triz de elementos contendr el cdigo que identifica al nudo i, la segunda al nudo j, la
tercera al nudo k y la cuarta al nudo m como se indica en la Figura 3.10. Cuando la
malla tiene elementos finitos con diferente cantidad de nudos, el nmero de columnas
de la tabla de conectividades estar definido por el tipo de elemento finito con mayor
nmero de nudos. En este caso, se llenan con cero los coeficientes de la(s) ltima(s)
columna(s) de la tabla de conectividades que corresponde(n) a el(los) nudo(s) inexis-
tente(s) de los elementos finitos con menor cantidad de nudos.
Identificador de grado
de libertad conocido
Identificador de grado
de libertad desconocido
Matriz o tabla de grados de libertad por nudo. Matriz entera que contiene el identi-
ficador de los valores nodales o grados de libertad de cada uno de los nudos de la ma-
lla. Cada fila contiene la informacin de un nudo y cada columna presenta el identi-
ficador de un grado de libertad o valor nodal, por lo tanto, el nmero de filas de la
matriz es igual a la cantidad de nudos de la malla y el nmero de columnas corres-
ponde a la cantidad de valores nodales o de grados de libertad tenga un nudo. En
problemas donde hay dos o ms grados de libertad por nudo es necesario establecer el
orden en el cual se presentarn en la matriz de grados de libertad, por ejemplo, en
problemas de elasticidad bidimensional en un plano xy, la primera columna contiene
el identificador del desplazamiento nodal en direccin x, y la segunda columna alma-
cena el identificador del desplazamiento nodal en direccin y. La Figura 3.12 indica
la matriz de grados de libertad por nudo para el ejemplo de esta seccin. Un coefi-
ciente igual a 0 est indicando que no existe o que no se quiere considerar ese grado
de libertad. Esta matriz se puede obtener a partir de la tabla de condiciones de borde,
utilizando la instruccin NGLNUD.
Matriz de incidencias o tabla de grados de libertad por elemento. Matriz entera que
contiene los identificadores de los grados de libertad o valores nodales asociados a
cada elemento finito de la malla. Se presenta en cada fila la informacin de un ele-
mento finito y en cada columna el identificador de un grado de libertad, como lo
muestra la Figura 3.13 para el ejemplo de esta seccin. Esta tabla es indispensable en
el proceso de ensamblaje de la matriz de rigidez y del vector de trminos indepen-
dientes. A partir de la matriz de elementos y de la matriz de grados de libertad por
nudo, la instruccin NGLELE del programa puede generar la matriz de incidencias.
elem # ui # vi # uj # vj # uk # vk # um # vm
Matriz o tabla de fuerzas organizadas por nudo. Tabla que contiene en cada fila la
magnitud de las componentes de fuerzas aplicadas sobre un nudo especfico, por tan-
to, su tamao ser el nmero nudos por el nmero de grados de libertad por nudo.
Un coeficiente igual a cero indica que la componente de la fuerza nodal es cero o que
es desconocida (fuerza reactiva en un apoyo), dicha diferencia estar definida por la
matriz indicadora de condiciones de borde. En el ejemplo de elasticidad plana pre-
sentado en la Figura 3.14, el coeficiente de la fila 3 y columna 2 de la matriz indica la
magnitud de la fuerza en direccin y aplicada en el nudo 3. Esta forma de organizar
las fuerzas en los nudos permite introducir la informacin cmodamente y presentar
de manera agradable de los resultados.
Vector o tabla de fuerzas organizadas por grados de libertad. Vector que contiene la
magnitud de las fuerzas nodales organizadas de acuerdo con la numeracin previa-
mente asignada a los grados de libertad. Para el ejemplo anterior, la Figura 3.15
muestra que el coeficiente de la fila 10 de la matriz corresponde a la magnitud de la
fuerza nodal en el grado de libertad nmero 10. Esta forma de organizar las fuerzas
nodales es indispensable en el proceso de clculo, dado que el sistema de ecuaciones
del problema est planteado en trminos de los valores nodales o grados de libertad.
En el programa se puede cambiar el formato de la matriz de fuerzas con las instruc-
ciones ORFUGL y ORGLFU descritas en el Captulo 16.
FY FY FY FY
FX FX FX FX
08 09 11 12
FY FY FY FY
FX FX FX FX
01 04 05 06
notacin malla de
componente magnitud de elementos
de la fuerza la fuerza
finitos
Matriz o tabla de fuerzas nodales FY=2.4
ordenada de acuerdo con la FX=2.3
numeracin de los nudos 07 # nudo
Matriz o tabla de desplazamientos organizados por nudo. Tabla que contiene en ca-
da fila la magnitud de las componentes de desplazamiento en un nudo especfico.
Esta matriz tiene las mismas caractersticas de la tabla de fuerzas organizadas por
nudo (Figura 3.14).
Matriz o tabla de fuerzas distribuidas. Tabla que contiene en cada fila la magnitud
de las componentes de fuerza de volumen o de superficie aplicadas sobre un elemento
finito especfico. Las fuerzas de superficie son acciones distribuidas por unidad de
rea actuantes en una cara del elemento y las fuerzas de volumen son acciones distri-
buidas en el volumen del elemento. Como se muestra en la Figura 3.16, la primera
columna contiene el nmero identificador del elemento, la segunda y la tercera con-
tienen las componentes en las direcciones x y y respectivamente, de la fuerza por uni-
dad de volumen o fuerza msica. La cuarta y quinta columna indican la magnitud de
la presin en direccin x y y aplicada sobre la cara del elemento identificada en la sex-
ta columna. Las caras o lados de un elemento finito se numera de forma secuencial a
partir del nudo inicial y en sentido antihorario, como se muestra en la Figura 11.1 para
un elemento triangular lineal y la Figura 11.3 para un elemento rectangular bilineal.
Los datos contenidos en esta tabla proporcionan los argumentos necesarios para cal-
cular el vector de fuerzas equivalentes a la accin de una fuerza msica mediante las
instrucciones FTRIEC y FRECEC, o para obtener el vector de fuerzas equivalentes a la
accin de una presin aplicada sobre un lado del elemento mediante las instrucciones
FTRIES y FRECES.
grado de fuerza
libertad nodal
Vector de fuerzas
nodales ordenadas
segn la numeracin notacin
de los grados de # grado de magnitud de
libertad libertad la fuerza
F(11)=2.4
F(10)=2.3
07 # nudo
02 03 07 10
08 09 11 12
01 04 05 06
malla de
elementos finitos
Figura 3.15. Matriz o tabla de fuerzas organizadas por grados de libertad.
elem. 20
nudo 87
(inicial) lado 2
lado 1
nudo 1
p x = 10 k / pul 2
4.1. EDLECI
Construye una matriz entera a partir de un bloque de celdas de una hoja de clculo especfi-
ca. En otras palabras, crea la matriz entera M para la cual cada coeficiente corresponde a
una celda de la hoja de clculo.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
EDLECI HOJA, POSF, POSC, MX(), NF, NC
Ejemplo 4.1 Construir una matriz MI()de 2 filas por 4 columnas cuyos coeficien-
tes estn en la hoja de clculo Hoja1; especficamente, el trmino (1,1) corresponde
a la celda A14 como lo indica la Figura 4.1.
fila 13 NF = 2
fila 14
fila 15
HOJA = Hoja1
MI() (2x4)
C1 C2 C3 C4
F1 000 001 002 003
F2 004 005 006 007
4.2. EDLECR
Construye una matriz real a partir de un bloque de celdas de una hoja de clculo especfica.
En otras palabras, crea la matriz real M para la cual cada coeficiente corresponde a una
celda de la hoja de clculo.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Como se puede observar, que esta instruccin tiene un objetivo similar al de la instruc-
cin EDLECI con la nica diferencia en el tipo de variable de la matriz creada.
Ejemplo 4.2 Construir una matriz XY()de 6 filas por 2 columnas cuyos coeficien-
tes estn en la hoja de clculo TB_XYZ; especficamente, el trmino (1,1) correspon-
de a la celda B5 como lo indica la Figura 4.2.
columna 2
columna 1 columna 3
POSF = 5 NC = 2
POSC = 2
fila 5
fila 6 NF = 6
fila 7
HOJA = TB_XYZ
Figura 4.2. Parmetros de la instruccin EDLECR.
XY() (6x2)
C1 C2
F1 4.0000E+00 0.0000E+00
F2 5.0000E-01 0.0000E+00
F3 3.5000E+00 0.0000E+00
F4 3.0000E+00 0.0000E+00
F5 2.5000E+00 0.0000E+00
F6 2.0000E+00 0.0000E+00
4.3. EDLECE
Captura el valor de una celda especfica de una hoja de clculo y lo guarda en una variable
escalar.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
columna 1 columna 2
POSF = 12
POSC = 2
fila 12
fila 13
fila 14
HOJA = TB_GEN
4.4. EDTABI
Construye una matriz entera a partir de un bloque de celdas de una hoja de clculo especfi-
ca. A diferencia de la instruccin EDLECI, en esta subrutina un ndice establece en que fila
de la matriz creada se guardarn los valores de las celdas. Los nmeros de filas no especi-
ficados por los ndices generan coeficientes iguales a cero en la matriz.
Esta instruccin permite construir una matriz indicando solamente las filas donde sus
coeficientes diferentes de cero. La tabla de condiciones de borde y de fuerzas en los nudos
son ejemplos de este tipo de matrices.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 4.4 Construir una matriz MRE()de NNUD=10 filas por NGLN=2 columnas
cuyos coeficientes diferentes de cero estn ubicados en las filas 1 y 5, como se indi-
ca en la hoja de clculo TB_RES de la siguiente figura.
POSC-1
nmero de la fila de los
coeficientes de la matriz POSC = 2
fila 1 de
la matriz coeficientes
de la matriz
m11=001
POSF = 5
m12=001
fila 5 de coeficientes
la matriz de la matriz
HOJA = TB_RES m51=000
m52=001
Figura 4.4. Parmetros de la instruccin EDTABI.
MRE() (10x2)
C1 C2
F1 001 001
F2 000 000
F3 000 000
F4 000 000
F5 000 001
F6 000 000
F7 000 000
F8 000 000
F9 000 000
F10 000 000
4.5. EDTABR
Construye una matriz real a partir de un bloque de celdas de una hoja de clculo especfica.
A diferencia de la instruccin EDLECR, en esta subrutina un ndice establece en que fila de la
matriz creada se guardarn los valores de las celdas. Los nmeros de filas no especifica-
dos por los ndices generan coeficientes iguales a cero en la matriz.
Esta instruccin permite construir una matriz indicando solamente las filas donde sus
coeficientes diferentes de cero. La tabla de condiciones de borde y de fuerzas en los nudos
son ejemplos de este tipo de matrices.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 4.5 Construir una matriz MFN()de NNUD=12 filas por NGLN=2 columnas
cuyos coeficientes diferentes de cero estn ubicados en las filas 3, 7 y 10, como se
indica en la hoja de clculo TB_FUN de la siguiente figura.
POSC-1
nmero de la fila de los
coeficientes de la matriz POSC = 2
coeficientes
de la matriz
fila 3 de m31=1.500
la matriz m32=4.800
POSF = 5 coeficientes
de la matriz
m71=2.300
fila 7 de
m72=2.400
la matriz
fila 10 de coeficientes
la matriz de la matriz
HOJA = TB_FUN
m10,1=-1.600
m10,2=1.200
Figura 4.5. Parmetros de la instruccin EDTABR.
MFN() (12x2)
C1 C2
F1 0.0000E+00 0.0000E+00
F2 0.0000E+00 0.0000E+00
F3 1.5000E+00 4.8000E+00
F4 0.0000E+00 0.0000E+00
F5 0.0000E+00 0.0000E+00
F6 0.0000E+00 0.0000E+00
F7 2.3000E+00 2.4000E+00
F8 0.0000E+00 0.0000E+00
F9 0.0000E+00 0.0000E+00
F10 -1.6000E+00 1.2000E+00
F11 0.0000E+00 0.0000E+00
F12 0.0000E+00 0.0000E+00
4.6. EDIMEI
Escribe una variable escalar entera en una hoja de clculo en el formato de salida para va-
riables enteras indicado en el Captulo 3. La sintaxis de la instruccin y la descripcin de
sus respectivos argumentos se presentan a continuacin.
POSC = 2
MXLB = BAND
tamao de la matriz
HOJA = TB_OUT
Figura 4.6. Parmetros de la instruccin EDIMEI.
4.7. EDIMER
Escribe una variable escalar real en una hoja de clculo en el formato de salida para varia-
bles reales indicado en el Captulo 3. La sintaxis de la instruccin y la descripcin de sus
respectivos argumentos se presentan a continuacin.
POSC = 2
MXLB = determinante
tamao de la matriz
POSF-1
POSF ESC
POSF+1 lnea en blanco
POSF+3
HOJA = TB_OUT
Figura 4.7. Parmetros de la instruccin EDIMER.
4.8. EDIMPI
Escribe una matriz entera en una hoja de clculo en el formato de salida para variables
enteras indicado en el Captulo 3.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
POSF-1
POSF
POSF+1
rotulo de filas
POSF+NF+1
POSF+NF+3
resultado se
presenta en la si-
guiente figura:
4.9. EDIMPR
Escribe una matriz real en una hoja de clculo en el formato de salida para variables reales
indicado en el Captulo 3. La sintaxis de la instruccin y la descripcin de sus respectivos
argumentos se presentan a continuacin.
POSF-1
POSF
POSF+1 rotulo de
columnas
rotulo de filas
trminos de
la matriz
POSF+NF+1
POSF+NF+3
HOJA = TB_OUT
4.10. EDLIMH
Borra el contenido de todas las celdas de la hoja de clculo especificada. Se recomienda
limpiar la hoja de resultados al comienzo del proceso principal de clculo en la subrutina
PEFiCA(). La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se
presentan a continuacin.
EDLIMH HOJA
Ejemplo 4.10 La siguiente lnea de cdigo borra el contenido de todas las celdas
de la hoja de clculo TB_OUT.
EDLIMH "TB_OUT"
5.1. MTCONS
Crea una matriz M de nf filas por nc columnas, cuyos coeficientes corresponden a un nme-
ro real c como se indica en la siguiente ecuacin:
1 1 L 1
1 1
M = c (5.1)
M M
1 1 L 1 n n
f c
Ejemplo 5.1 Construir una matriz de 2 filas por 8 columnas cuyos coeficientes son
iguales a 2.50. La lnea de comando utilizada es:
MX() (2x6)
C1 C2 C3 C4 C5 C6
F1 2.5000E+00 2.5000E+00 2.5000E+00 2.5000E+00 2.5000E+00 2.5000E+00
F2 2.5000E+00 2.5000E+00 2.5000E+00 2.5000E+00 2.5000E+00 2.5000E+00
5.2. MTCONI
Crea una matriz M de nf filas por nc columnas, cuyos coeficientes corresponden a un nme-
ro entero c. La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se
presentan a continuacin.
5.3. MTSUBM
Extrae una submatriz S de la matriz existente M. La submatriz de nf filas por nc columnas
est formada la matriz M desde el coeficiente m p f , pc hasta el coeficiente m p f + n f 1, pc + nc 1
como lo indica la siguiente expresin:
m11 L m1n mp , p L m p f , p c + n c 1
c
f c
dado M = M M S= M M (5.2)
m L mn f nc m L m p f + n f 1, p c + nc 1
n f 1 n f nc p f + n f 1, p c n f nc
Por lo tanto, la posicin del primer coeficiente de la matriz M que conforma la subma-
triz s corresponde a la fila pf y la columna pc de la matriz M.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 5.2 Extraer una submatriz MS() de 3 filas y 4 columnas desde el coefi-
ciente MX(2,1) de la matriz existente MX() definida como:
MX() (6x6)
C1 C2 C3 C4 C5 C6
F1 5.2267E+04 2.0000E+04 -1.2267E+04 -4.0000E+03 -2.6133E+04 -2.0000E+04
F2 2.0000E+04 8.0711E+04 4.0000E+03 2.5956E+04 -2.0000E+04 -4.0356E+04
F3 -1.2267E+04 4.0000E+03 5.2267E+04 -2.0000E+04 -1.3867E+04 -4.0000E+03
F4 -4.0000E+03 2.5956E+04 -2.0000E+04 8.0711E+04 4.0000E+03 -6.6311E+04
F5 -2.6133E+04 -2.0000E+04 -1.3867E+04 4.0000E+03 5.2267E+04 2.0000E+04
F6 -2.0000E+04 -4.0356E+04 -4.0000E+03 -6.6311E+04 2.0000E+04 8.0711E+04
El recuadro a trazos indica la posicin del primer coeficiente de la matriz MX() que
conforma la submatriz MS(), la cual corresponde a la fila POSF=2 y la columna
POSC=1 de la matriz MX(). En cambio, la zona de color gris de NF=3 filas por NC=4
columnas, muestra los trminos que deben conformar a la submatriz creada. El re-
sultado de est instruccin es la matriz MS() indicada a continuacin:
MS() (3x4)
C1 C2 C3 C4
F1 2.0000E+04 8.0711E+04 4.0000E+03 2.5956E+04
F2 -1.2267E+04 4.0000E+03 5.2267E+04 -2.0000E+04
F3 -4.0000E+03 2.5956E+04 -2.0000E+04 8.0711E+04
5.4. MTADJU
Crea un vector columna x conformado por dos subvectores columna existentes s y t expre-
sados como:
s11 t11
s= M , t= M (5.3)
s t
n f 1 n f 1 n f n f 1
Ejemplo 5.3 Construir el vector MX()a partir de los vectores existentes MS() y
MT() definidos como:
MX() (6x1)
C1
F1 -4.6505E-01
F2 -7.9349E-03
F3 2.7165E-01
F4 -2.3153E-06
F5 5.4164E-07
F6 3.3956E-06
5.5. MTADMR
Crea una matriz real X conformada por dos submatrices reales existentes S y T, adjuntando
T despus de la ltima fila o de la ltima columna de S. Sean S y T matrices de trminos
reales de la forma:
s11 L s1, ncs t11 L t1, nct
S= M M , T= M M (5.5)
sn ,1 L sn , n tn ,1 L t n , n
fs fs cs ft ft ct
Ejemplo 5.4 Construir la matriz MX()a partir de las submatrices existentes KGL()
y MAS() definidas como:
KGL() (4x4)
C1 C2 C3 C4
F1 2.0000E+00 -1.0000E+00 0.0000E+00 0.0000E+00
F2 -1.0000E+00 2.0000E+00 -1.0000E+00 0.0000E+00
F3 0.0000E+00 -1.0000E+00 2.0000E+00 -1.0000E+00
F4 0.0000E+00 0.0000E+00 -1.0000E+00 1.0000E+00
MAS() (4x4)
C1 C2 C3 C4
F1 4.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F2 0.0000E+00 2.0000E+00 0.0000E+00 0.0000E+00
F3 0.0000E+00 0.0000E+00 8.0000E+00 0.0000E+00
F4 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00
MX() (8x4)
C1 C2 C3 C4
F1 2.0000E+00 -1.0000E+00 0.0000E+00 0.0000E+00
F2 -1.0000E+00 2.0000E+00 -1.0000E+00 0.0000E+00
F3 0.0000E+00 -1.0000E+00 2.0000E+00 -1.0000E+00
F4 0.0000E+00 0.0000E+00 -1.0000E+00 1.0000E+00
F5 4.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F6 0.0000E+00 2.0000E+00 0.0000E+00 0.0000E+00
F7 0.0000E+00 0.0000E+00 8.0000E+00 0.0000E+00
F8 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00
MX() (4x8)
C1 C2 C3 C4 C5 C6
F1 2.0000E+00 -1.0000E+00 0.0000E+00 0.0000E+00 4.0000E+00 0.0000E+00
F2 -1.0000E+00 2.0000E+00 -1.0000E+00 0.0000E+00 0.0000E+00 2.0000E+00
F3 0.0000E+00 -1.0000E+00 2.0000E+00 -1.0000E+00 0.0000E+00 0.0000E+00
F4 0.0000E+00 0.0000E+00 -1.0000E+00 1.0000E+00 0.0000E+00 0.0000E+00
C7 C8
F1 0.0000E+00 0.0000E+00
F2 0.0000E+00 0.0000E+00
F3 8.0000E+00 0.0000E+00
F4 0.0000E+00 1.0000E+00
5.6. MTADMI
Crea una matriz de trminos enteros X conformada por dos submatrices enteras existentes S
y T, adjuntando T despus de la ltima fila o de la ltima columna de S. La descripcin
general de esta rutina se puede estudiar en la instruccin MTADMR.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se pre-
sentan a continuacin.
5.7. MTTRAN
Calcula la matriz transpuesta de la matriz existente M, creando la matriz T, donde:
MX() (3x4)
C1 C2 C3 C4
F1 2.0000E+04 8.0711E+04 4.0000E+03 2.5956E+04
F2 -1.2267E+04 4.0000E+03 5.2267E+04 -2.0000E+04
F3 -4.0000E+03 2.5956E+04 -2.0000E+04 8.0711E+04
MT() (4x3)
C1 C2 C3
F1 2.0000E+04 -1.2267E+04 -4.0000E+03
F2 8.0711E+04 4.0000E+03 2.5956E+04
F3 4.0000E+03 5.2267E+04 -2.0000E+04
F4 2.5956E+04 -2.0000E+04 8.0711E+04
5.8. MTMULT
Multiplica la matriz A por la matriz B obteniendo la matriz C. Se requiere que el nmero
de columnas del pre multiplicador A sea igual al nmero de filas del post multiplicador B.
Esta operacin matricial se define como:
nc
A B = C cij = air brj (5.9)
r =1
Ejemplo 5.6 Dadas las matriz BEL()y DEL() definidas previamente como:
BEL() (3x6)
C1 C2 C3 C4 C5 C6
F1 3.4406E+00 0.0000E+00 -1.3721E+00 0.0000E+00 -2.0685E+00 0.0000E+00
F2 0.0000E+00 0.0000E+00 0.0000E+00 4.0000E+00 0.0000E+00 -4.0000E+00
F3 0.0000E+00 3.4406E+00 4.0000E+00 -1.3721E+00 -4.0000E+00 -2.0685E+00
DEL() (6x1)
C1
F1 3.1481E-04
F2 -6.2890E-04
F3 0.0000E+00
F4 -6.8608E-04
F5 0.0000E+00
F6 -6.3553E-04
EPE() (3x1)
C1
F1 1.0831E-03
F2 -2.0220E-04
F3 9.2166E-05
5.9. MTMUL3
Multiplica la primera matriz transpuesta AT por la segunda matriz B y el resultado lo multi-
plica a la primera matriz A. La operacin matricial se define como:
nf nf
A Tnc n f B nf nc A n f nc = C nc nc tij = ari brj cij = tir arj (5.10)
r =1 r =1
= BT D B dV (5.11)
Tambin se utiliza para transformar una matriz de rigidez de una armadura o prtico en
sistema coordenado local KL a una matriz en sistema a general de coordenadas K, mediante
la matriz de rotacin R, de la forma:
K = RT K L R (5.12)
Ejemplo 5.7 Dadas las matriz REL()y KEL() definidas previamente como:
REL() (6x6)
C1 C2 C3 C4 C5 C6
F1 8.6603E-01 5.0000E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F2 -5.0000E-01 8.6603E-01 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F3 0.0000E+00 0.0000E+00 1.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F4 0.0000E+00 0.0000E+00 0.0000E+00 8.6603E-01 5.0000E-01 0.0000E+00
F5 0.0000E+00 0.0000E+00 0.0000E+00 -5.0000E-01 8.6603E-01 0.0000E+00
F6 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00
KEL() (6x6)
C1 C2 C3 C4 C5 C6
F1 6.0000E+04 0.0000E+00 0.0000E+00 -6.0000E+04 0.0000E+00 0.0000E+00
F2 0.0000E+00 7.1111E+02 1.0667E+03 0.0000E+00 -7.1111E+02 1.0667E+03
F3 0.0000E+00 1.0667E+03 2.1333E+03 0.0000E+00 -1.0667E+03 1.0667E+03
F4 -6.0000E+04 0.0000E+00 0.0000E+00 6.0000E+04 0.0000E+00 0.0000E+00
F5 0.0000E+00 -7.1111E+02 -1.0667E+03 0.0000E+00 7.1111E+02 -1.0667E+03
F6 0.0000E+00 1.0667E+03 1.0667E+03 0.0000E+00 -1.0667E+03 2.1333E+03
KEG() (6x6)
C1 C2 C3 C4 C5 C6
F1 4.5178E+04 2.5673E+04 -5.3333E+02 -4.5178E+04 -2.5673E+04 -5.3333E+02
F2 2.5673E+04 1.5533E+04 9.2376E+02 -2.5673E+04 -1.5533E+04 9.2376E+02
F3 -5.3333E+02 9.2376E+02 2.1333E+03 5.3333E+02 -9.2376E+02 1.0667E+03
F4 -4.5178E+04 -2.5673E+04 5.3333E+02 4.5178E+04 2.5673E+04 5.3333E+02
F5 -2.5673E+04 -1.5533E+04 -9.2376E+02 2.5673E+04 1.5533E+04 -9.2376E+02
F6 -5.3333E+02 9.2376E+02 1.0667E+03 5.3333E+02 -9.2376E+02 2.1333E+03
5.10. MTSUMA
Calcula la matriz C como la suma entre las matrices A y B. Esta operacin se define co-
mo:
Ejemplo 5.8 Dadas las matriz MA()y MB() definidas previamente como:
MA() (3x4)
C1 C2 C3 C4
F1 1.2500E+01 4.3000E+00 0.0000E+00 2.0000E+00
F2 -8.5000E+00 1.5800E+01 1.4400E+01 5.2000E+00
F3 6.3000E+00 -9.8000E+00 7.5000E+00 4.0000E+00
MB() (3x4)
C1 C2 C3 C4
F1 1.0200E+01 -4.3000E+00 -1.8000E+00 -2.6000E+00
F2 9.6000E+00 7.1000E+00 5.8000E+00 3.0000E+00
F3 6.7000E+00 2.3000E+00 2.7000E+00 5.6000E+00
MC() (3x4)
C1 C2 C3 C4
F1 2.2700E+01 0.0000E+00 -1.8000E+00 -6.0000E-01
F2 1.1000E+00 2.2900E+01 2.0200E+01 8.2000E+00
F3 1.3000E+01 -7.5000E+00 1.0200E+01 9.6000E+00
5.11. MTREST
Calcula la matriz C como la resta de la matriz A menos la matriz B. Tal operacin se defi-
ne como:
Ejemplo 5.9 Dadas las matriz MA()y MB() definidas en el Ejemplo 5.8 la resta en-
tre ellas se obtiene ejecutando la instruccin:
MC() (3x4)
C1 C2 C3 C4
F1 2.3000E+00 8.6000E+00 1.8000E+00 4.6000E+00
F2 -1.8100E+01 8.7000E+00 8.6000E+00 2.2000E+00
F3 -4.0000E-01 -1.2100E+01 4.8000E+00 -1.6000E+00
5.12. MTPROD
Multiplica trmino a trmino los coeficientes de las matrices A y B, almacenando el resul-
tado en la matriz C. Este tipo de operacin denominada producto de Hadamard (Horn &
Johnson 1994) se define como:
Ejemplo 5.10 Dadas las matriz MA()y MB() definidas en el Ejemplo 5.8 el produc-
to de Hadamard entre ellas se obtiene ejecutando la instruccin:
MC() (3x4)
C1 C2 C3 C4
F1 1.2750E+02 -1.8490E+01 0.0000E+00 -5.2000E+00
F2 -8.1600E+01 1.1218E+02 8.3520E+01 1.5600E+01
F3 4.2210E+01 -2.2540E+01 2.0250E+01 2.2400E+01
5.13. MTDIVI
Multiplica trmino a trmino los coeficientes de las matrices A y B. Obtiene el trmino cij
la matriz C de la divisin entre el trmino aij de la matriz A y el trmino bij de la matriz B,
es decir:
aij
A n f nc / B n f n c = C n f nc cij = bij 0 (5.16)
bij
Ejemplo 5.11 Dadas las matriz MA()y MB() definidas en el Ejemplo 5.8 la divisin
trmino a trmino entre ellas se obtiene ejecutando la instruccin:
MC() (3x4)
C1 C2 C3 C4
F1 1.2255E+00 -1.0000E+00 0.0000E+00 -7.6923E-01
F2 -8.8542E-01 2.2254E+00 2.4828E+00 1.7333E+00
F3 9.4030E-01 -4.2609E+00 2.7778E+00 7.1429E-01
5.14. MTPORE
Obtiene la matriz B como resultado de multiplicar el escalar c por la matriz A. En otras
palabras, realiza la operacin:
MB() (3x4)
C1 C2 C3 C4
F1 5.6250E+01 1.9350E+01 0.0000E+00 9.0000E+00
F2 -3.8250E+01 7.1100E+01 6.4800E+01 2.3400E+01
F3 2.8350E+01 -4.4100E+01 3.3750E+01 1.8000E+01
5.15. MTSUCI
Suma los coeficientes de una matriz entera A, de la forma:
nc n f
asum = aij (5.18)
i =1 j =1
[variable]= MTSUCI(MA())
SUMI = MTSUCI(MI())
MI() (2x4)
C1 C2 C3 C4
F1 000 001 002 003
F2 004 005 006 007
5.16. MTSUCR
De forma similar a la funcin MTSUCI, est instruccin suma los coeficientes de una matriz
real A. La sintaxis de la funcin y la descripcin de sus respectivos argumentos se presen-
tan a continuacin.
[variable]= MTSUCR(MA())
SUMA = MTSUCI(MA())
5.17. MTMACI
Encuentra el coeficiente mximo o mnimo de una matriz entera A, de la forma:
{ } { }
amax = max aij , amin = min aij (i = 1,K, n f j = 1,K, nc ) (5.19)
[variable]= MTMACI(MA(),TP)
MAXI = MTMACI(MI())
5.18. MTMACR
Encuentra el coeficiente mximo o mnimo de una matriz real A, de la misma forma como
lo hace la funcin MTMACI con trminos enteros.
La sintaxis de la funcin y la descripcin de sus respectivos argumentos se presentan a
continuacin.
[variable]= MTMACR(MA(),TP)
MAXR = MTMACR(MA())
5.19. MTBAND
Establece el ancho de semi banda de una matriz simtrica llena A y crea la matriz banda B
correspondiente (Gere & Weaver 1990; Uribe 1995). La sintaxis de la funcin y la des-
cripcin de sus respectivos argumentos se presentan a continuacin.
KGL() (6x6)
C1 C2 C3 C4 C5 C6
F1 4.0000E+04 -2.0000E+04 1.0000E+04 0.0000E+00 0.0000E+00 0.0000E+00
F2 -2.0000E+04 9.0000E+04 -1.5000E+04 0.0000E+00 2.0000E+04 0.0000E+00
F3 1.0000E+04 -1.5000E+04 9.0000E+04 -1.2000E+04 6.0000E+04 0.0000E+00
F4 0.0000E+00 0.0000E+00 -1.2000E+04 8.0000E+04 4.5000E+04 -2.2000E+04
F5 0.0000E+00 2.0000E+04 6.0000E+04 4.5000E+04 7.0000E+04 1.4000E+04
F6 0.0000E+00 0.0000E+00 0.0000E+00 -2.2000E+04 1.4000E+04 4.0000E+04
y ejecutando la instruccin:
KBA() (6x4)
C1 C2 C3 C4
F1 4.0000E+04 -2.0000E+04 1.0000E+04 0.0000E+00
F2 9.0000E+04 -1.5000E+04 0.0000E+00 2.0000E+04
F3 9.0000E+04 -1.2000E+04 6.0000E+04 0.0000E+00
F4 8.0000E+04 4.5000E+04 -2.2000E+04 0.0000E+00
F5 7.0000E+04 1.4000E+04 0.0000E+00 0.0000E+00
F6 4.0000E+04 0.0000E+00 0.0000E+00 0.0000E+00
5.20. MTFUDU
Factoriza una matriz cuadrada M de la forma (Uribe 1995):
M n n = UTn n D n n U n n
es decir, dada la matriz M la instruccin obtiene una matriz triangular superior U y una
matriz diagonal D que cumplen con la igualdad anterior. La sintaxis de la funcin y la des-
cripcin de sus respectivos argumentos se presentan a continuacin.
MX() (4x4)
C1 C2 C3 C4
F1 7.0000E+00 1.2000E+01 5.0000E+00 0.0000E+00
F2 1.2000E+01 3.0000E+00 1.0000E+00 -2.0000E+00
F3 5.0000E+00 1.0000E+00 1.5000E+01 8.0000E+00
F4 0.0000E+00 -2.0000E+00 8.0000E+00 4.0000E+00
Al ejecutar la instruccin:
MX() (4x4)
C1 C2 C3 C4
F1 1.0000E+00 1.7143E+00 7.1429E-01 0.0000E+00
F2 0.0000E+00 1.0000E+00 4.3089E-01 1.1382E-01
F3 0.0000E+00 0.0000E+00 1.0000E+00 6.0321E-01
F4 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00
MD() (4x4)
C1 C2 C3 C4
F1 7.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F2 0.0000E+00 -1.7571E+01 0.0000E+00 0.0000E+00
F3 0.0000E+00 0.0000E+00 1.4691E+01 0.0000E+00
F4 0.0000E+00 0.0000E+00 0.0000E+00 -1.1179E+00
5.21. MTFCLU
Factoriza la matriz M en el producto entre una matriz triangular inferior L y una matriz
triangular superior U de la forma (Horn & Johnson 1994; Antia 2002):
ML() (4x4)
C1 C2 C3 C4
F1 1.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F2 1.7143E+00 1.0000E+00 0.0000E+00 0.0000E+00
F3 7.1429E-01 4.3089E-01 1.0000E+00 0.0000E+00
F4 0.0000E+00 1.1382E-01 6.0321E-01 1.0000E+00
MU() (4x4)
C1 C2 C3 C4
F1 7.0000E+00 1.2000E+01 5.0000E+00 0.0000E+00
F2 0.0000E+00 -1.7571E+01 -7.5714E+00 -2.0000E+00
F3 0.0000E+00 0.0000E+00 1.4691E+01 8.8618E+00
F4 0.0000E+00 0.0000E+00 0.0000E+00 -1.1179E+00
5.22. MTDETE
Calcula el determinante de una matriz cuadrada M. El procedimiento consiste en descom-
poner la matriz M en el producto entre una matriz triangular inferior L y una matriz trian-
gular superior U, como se indica en la Ecuacin (5.21). El determinante de la matriz M
Dorian Luis Linero Segrera Universidad Nacional de Colombia, 2010
PEFiCA Programa de elementos finitos a cdigo abierto 77
ser el producto entre los trminos de la diagonal de las matrices L y U, en virtud de las
siguientes propiedades:
Es decir,
M = LU det M = det L det U
det L = l11 K lii K lnn ; det U = u11 K uii K unn (5.22)
det M = l11u11 K lii uii K l nn u nn
[variable]= MTDETE(MX())
DETM = MTDETE(MX())
5.23. MTINVE
Calcula la matriz inversa de una matriz cuadrada M mediante eliminacin Gaussiana. Da-
da una matriz M, la instruccin obtiene una matriz M-1 tal que,(Grossman 1996)
M n1 n M n n = I n n (5.23)
MTINVE MX()
MTINVE MX()
MX() (4x4)
C1 C2 C3 C4
F1 -5.3465E-02 7.3267E-02 9.9010E-02 -1.6139E-01
F2 7.3267E-02 -6.3366E-02 4.9505E-02 -1.3069E-01
F3 9.9010E-02 4.9505E-02 -2.5743E-01 5.3960E-01
F4 -1.6139E-01 -1.3069E-01 5.3960E-01 -8.9455E-01
5.24. MTCOPI
Crea una copia de una matriz real determinada. La sintaxis de la instruccin y la descrip-
cin de sus respectivos argumentos se presentan a continuacin.
M n nu n1 = f n1 (6.2)
donde M es una matriz cuadrada conformada por los coeficientes M ij y los vectores co-
lumna u y f contienen las variables dependientes del sistema u j y los trminos indepen-
dientes f i , respectivamente (Antia 2002). La Tabla 2.4 indica el objetivo de las subrutinas
del mdulo MdSO.
6.1. SOGAUS
Resuelve un sistema de ecuaciones simultaneas linealmente independiente como lo indica
la Ecuacin (6.1), mediante el mtodo de eliminacin de Gauss (Antia 2002). Dada la ma-
triz cuadrada M y el vector de trminos independientes f, calcula el vector de variables de-
pendientes u. Cuando el sistema de ecuaciones es linealmente dependiente la instruccin
presenta en pantalla un mensaje de error y termina la subrutina.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
80 Captulo 6. Instrucciones de solucin de ecuaciones simultneas
M() (4x4)
C1 C2 C3 C4
F1 7.0000E+00 1.2000E+01 5.0000E+00 0.0000E+00
F2 8.0000E+00 3.0000E+00 1.0000E+00 -2.0000E+00
F3 9.0000E+00 4.0000E+00 1.5000E+01 8.0000E+00
F4 1.0000E+01 5.0000E+00 -1.0000E+00 4.0000E+00
F() (4x1)
C1
F1 8.0000E+00
F2 1.0000E+01
F3 -2.0000E+00
F4 1.0000E+00
U() (4x1)
C1
F1 7.5070E-01
F2 1.0845E-01
F3 2.8873E-01
F4 -1.6901E+00
6.2. SOCHLK
Resuelve un sistema simtrico de ecuaciones simultaneas linealmente independiente me-
diante el mtodo de Cholesky modificado (Uribe 1995); en otras palabras, calcula el vec-
tor de variables dependientes u de la Ecuacin (6.1), dada la matriz simtrica M y el vector
de trminos independientes f. Cuando el sistema de ecuaciones es linealmente dependiente
la instruccin presenta en pantalla un mensaje de error y termina la subrutina.
M() (4x4)
C1 C2 C3 C4
F1 7.0000E+00 1.2000E+01 5.0000E+00 0.0000E+00
F2 1.2000E+01 3.0000E+00 1.0000E+00 -2.0000E+00
F3 5.0000E+00 1.0000E+00 1.5000E+01 8.0000E+00
F4 0.0000E+00 -2.0000E+00 8.0000E+00 4.0000E+00
F() (4x1)
C1
F1 8.0000E+00
F2 1.0000E+01
F3 -2.0000E+00
F4 1.0000E+00
U() (4x1)
C1
F1 -5.4455E-02
F2 -2.7723E-01
F3 2.3416E+00
F4 -4.5718E+00
6.3. SOBAND
Resuelve un sistema de ecuaciones simultaneas linealmente independiente mediante el m-
todo de Cholesky modificado, en el cual la matriz simtrica M de la Ecuacin (6.1) se lee
como una matriz banda (Gere & Weaver 1990; Uribe 1995).
Ejemplo 6.3 La matriz simtrica M(), de dimensin igual a 4 y ancho de semi ban-
da igual a 3, expresada como:
M() (4x4)
C1 C2 C3 C4
F1 7.0000E+00 1.2000E+01 5.0000E+00 0.0000E+00
F2 1.2000E+01 3.0000E+00 1.0000E+00 -2.0000E+00
F3 5.0000E+00 1.0000E+00 1.5000E+01 8.0000E+00
F4 0.0000E+00 -2.0000E+00 8.0000E+00 4.0000E+00
se puede representar mediante una matriz banda MBA() de 4 filas por 3 columnas,
de la forma:
MBA() (4x3)
C1 C2 C3
F1 7.0000E+00 1.2000E+01 5.0000E+00
F2 3.0000E+00 1.0000E+00 -2.0000E+00
F3 1.5000E+01 8.0000E+00 0.0000E+00
F4 4.0000E+00 0.0000E+00 0.0000E+00
F() (4x1)
C1
F1 8.0000E+00
F2 1.0000E+01
F3 -2.0000E+00
F4 1.0000E+00
VX() (4x1)
C1
F1 -5.4455E-02
F2 -2.7723E-01
F3 2.3416E+00
F4 -4.5718E+00
Ai xi = 0 (7.2)
7.1. VPITER
Obtiene el primer vector propio x1 y el primer valor propio 1 mediante el mtodo de la
iteracin inversa (Bathe 1996), en un sistema de ecuaciones homogneo de la forma:
K x i = i M x i (7.3)
Ejemplo 7.1 Dada la matriz de rigidez KGL() y la matriz de masas MAS(), cuyos
coeficientes son:
KGL() (4x4)
C1 C2 C3 C4
F1 2.0000E+00 -1.0000E+00 0.0000E+00 0.0000E+00
F2 -1.0000E+00 2.0000E+00 -1.0000E+00 0.0000E+00
F3 0.0000E+00 -1.0000E+00 2.0000E+00 -1.0000E+00
F4 0.0000E+00 0.0000E+00 -1.0000E+00 1.0000E+00
MAS() (4x4)
C1 C2 C3 C4
F1 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F2 0.0000E+00 2.0000E+00 0.0000E+00 0.0000E+00
F3 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F4 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00
calcular el primer vector propio VEP() y el primer valor propio VAP, mediante la
instruccin:
VEP() (4x1)
C1
F1 2.5126E-01
F2 5.0252E-01
F3 6.0302E-01
F4 7.0353E-01
VAP (1x1)
1.4646E-01
NCIC (1x1)
002
TOLC (1x1)
4.0568E-03
7.2. VPJACK
Obtiene los vectores propios xi y los valores propios i mediante el mtodo de Jacobi
(Bathe 1996), en un sistema de ecuaciones homogneo de la forma:
K xi = i xi (7.4)
KGL() (4x4)
C1 C2 C3 C4
F1 5.0000E+00 -4.0000E+00 1.0000E+00 0.0000E+00
F2 -4.0000E+00 6.0000E+00 -4.0000E+00 1.0000E+00
F3 1.0000E+00 -4.0000E+00 6.0000E+00 -4.0000E+00
F4 0.0000E+00 1.0000E+00 -4.0000E+00 5.0000E+00
VEP() (4x4)
C1 C2 C3 C4
F1 3.7175E-01 -3.7175E-01 -6.0150E-01 -6.0150E-01
F2 6.0150E-01 6.0150E-01 3.7175E-01 -3.7175E-01
F3 6.0150E-01 -6.0150E-01 3.7175E-01 3.7175E-01
F4 3.7175E-01 3.7175E-01 -6.0150E-01 6.0150E-01
VVP() (4x1)
C1
F1 1.4590E-01
F2 1.3090E+01
F3 6.8541E+00
F4 1.9098E+00
NCIC (1x1)
004
7.3. VPJACO
Obtiene los vectores propios xi y los valores propios i mediante el mtodo de Jacobi
(Bathe 1996), en un sistema de ecuaciones homogneo de la forma:
K xi = i M xi (7.6)
Ejemplo 7.3 Dada la matriz de rigidez KGL()y la matriz de masas MAS(), cuyos
coeficientes son:
KGL() (4x4)
C1 C2 C3 C4
F1 5.0000E+00 -4.0000E+00 1.0000E+00 0.0000E+00
F2 -4.0000E+00 6.0000E+00 -4.0000E+00 1.0000E+00
F3 1.0000E+00 -4.0000E+00 6.0000E+00 -4.0000E+00
F4 0.0000E+00 1.0000E+00 -4.0000E+00 5.0000E+00
MAS() (4x4)
C1 C2 C3 C4
F1 2.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F2 0.0000E+00 2.0000E+00 0.0000E+00 0.0000E+00
F3 0.0000E+00 0.0000E+00 1.0000E+00 0.0000E+00
F4 0.0000E+00 0.0000E+00 0.0000E+00 1.0000E+00
VEP() (4x4)
C1 C2 C3 C4
F1 6.5094E-01 -1.4092E+00 1.7190E-01 6.8261E-01
F2 1.0317E+00 -3.9381E-01 -4.0853E-01 -6.4848E-01
F3 9.9759E-01 1.5490E+00 1.1638E+00 -3.6135E-02
F4 6.0339E-01 1.8261E+00 -8.9810E-01 8.0444E-01
VVP() (4x1)
C1
F1 9.6537E-02
F2 1.3915E+00
F3 1.0638E+01
F4 4.3735E+00
NCIC (1x1)
004
8.1. NUNID2
Crea la matriz de funciones de forma de un elemento unidimensional lineal. En el dominio
(e ) de este tipo de elemento se define una funcin de aproximacin lineal en un espacio
unidimensional de la forma:
( e ) ( x) = a1 + a 2 x x ( e ) (8.2)
El elemento de longitud L(e ) , tiene dos nudos ubicados en sus extremos y un grado de liber-
tad o valor nodal por cada nudo (Figura 8.1(a)).
La funcin de aproximacin se puede escribir en trminos de las funciones de forma y
de los valores nodales como:
( e ) = N i( e)i( e ) + N (j e ) (j e ) (8.3)
92 Captulo 8. Instrucciones para crear la matriz de funciones de forma de un elemento
( e ) = a1 + a2 x (ej )
1.0 N i(e ) N (ej ) 1.0
i(e )
0.0 0.0
i L(e ) j i L(e ) j
x, x,
(a) (b)
N ( e ) = [N i( e ) N (j e ) ] (8.4)
siendo,
x x
N i( e ) = 1 ; N (j e ) = (8.5)
L( e ) L( e )
como lo muestra la Figura 8.1(b). Sustituyendo al cociente x L(e ) por la coordenada
natural 0 1 las funciones de forma se pueden expresar como:
N i( e ) = 1 ; N (j e ) = (8.6)
NEL() (1x2)
C1 C2
F1 2.0000E-01 8.0000E-01
8.2. NUNID3
Crea la matriz de funciones de forma de un elemento unidimensional cuadrtico. En el
dominio (e ) de este tipo de elemento se define una funcin de aproximacin polinmica
de orden 2 en un espacio unidimensional de la forma:
( e ) ( x) = a1 + a 2 x + a3 x 2 x ( e) (8.7)
El elemento de longitud L(e ) , tiene tres nudos ubicados en el centro y en sus extremos. En
cada nudo hay un grado de libertad o valor nodal como se indica en la .
(e )
i(e ) ( e ) = a1 + a2 x + a3 x 2 k N i(e ) N k(e )
1.0 1.0
(ej )
N (ej )
0.0 0.0
i L(e ) 2 j L(e ) 2 k i j k
x,
(a) (b)
( e ) = N i( e)i( e) + N (j e ) (j e ) + N k( e ) k( e ) (8.8)
N ( e ) = [N i( e ) N (j e ) N k( e ) ] (8.9)
siendo,
2
= 1 3 ( e ) + 2 ( e )
(e) x x
N i
L L
2
= 4 ( e ) 4 ( e )
(e) x x
N j
(8.10)
L L
2
= ( e ) + 2 ( e )
(e) x x
N j
L L
como lo muestra la Figura 8.1(b). Sustituyendo al cociente x L(e ) por la coordenada
natural 0 1 las funciones de forma se pueden expresar como:
N i( e ) = 1 3 + 2 2 ; N (j e ) = 4 4 2 ; N (j e ) = + 2 2 (8.11)
NEL() (1x3)
C1 C2 C3
F1 -1.2000E-01 6.4000E-01 4.8000E-01
8.3. NTRIAN
Crea la matriz de funciones de forma de un elemento triangular lineal con un grado de li-
bertad por nudo. En el dominio (e ) de este tipo de elemento se define una funcin de
aproximacin lineal en un espacio bidimensional de la forma:
( e ) ( x, y ) = a1 + a 2 x + a3 y ( x, y ) ( e ) (8.12)
El elemento de rea A, tiene tres nudos ubicados en sus extremos y un grado de libertad o
valor nodal por cada nudo como se ilustra en la Figura 8.3. En general en los elementos
bidimensionales se elige el nudo i y los dems se designan en sentido antihorario.
j (x j , y j )
( xk , y k ) k
x i ( xi , yi )
(a) (b)
Figura 8.3. Elemento triangular lineal: (a) geometra, (b) funcin de aproximacin
( e ) = N i( e)i( e) + N (j e ) (j e ) + N k( e ) k( e ) (8.13)
N ( e ) = [N i( e ) N (j e ) N k( e ) ] (8.14)
siendo,
1
N i( e ) ( x, y ) = (ai + bi x + ci y )
2A
1
N (j e ) ( x, y ) = (a j + b j x + c j y ) (8.15)
2A
1
N k( e ) ( x, y ) = (a k + bk x + c k y )
2A
donde,
ai = x j y k xk y j bi = y j y k ci = x k x j
a j = x k y i xi y k b j = y k yi c j = xi x k (8.16)
a k = xi y j x j y i bk = y i y j c k = x j xi
La Figura 8.4 representa las funciones de forma del elemento mediante tres grficos tri-
dimensionales donde el eje vertical indica la funcin de forma y los otros dos ejes definen
la geometra del elemento.
Ejemplo 8.3 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE() mostrada en la Figura 8.6, las
funciones de forma en el centroide del elemento triangular lineal nmero 4, se ob-
tiene de las siguientes instrucciones:
:
:
'coordenadas del centroide del elemento
XP = (XYZ(ELE(4, 1), 1) + XYZ(ELE(4, 2), 1) + XYZ(ELE(4, 3), 1)) / 3
YP = (XYZ(ELE(4, 1), 2) + XYZ(ELE(4, 2), 2) + XYZ(ELE(4, 3), 2)) / 3
'matriz de funciones de forma del elemento
NTRIAN NEL(), XYZ(), ELE(), 4, XP, YP
:
:
Figura 8.5. Parte del cdigo de la rutina principal PEFiCA donde se calcula la matriz de fun-
ciones de forma de un elemento triangular lineal.
03 06 09
05 04
02
02 05 08
yp
01 03
y
01 04 07
x
xp
Matriz de coordenadas de los
nudos (existente) malla de elementos finitos
NEL() (1x3)
C1 C2 C3
F1 3.3333E-01 3.3333E-01 3.3333E-01
8.4. NRECTA
Crea la matriz de funciones de forma de un elemento rectangular bilineal con un grado de
libertad por nudo. En el dominio (e ) de este tipo de elemento se define una funcin de
aproximacin lineal en un espacio bidimensional de la forma:
( e ) ( s, t ) = a1 + a 2 s + a3 t + a 4 st ( s, t ) ( e ) (8.17)
siendo s y t los ejes de un sistema coordenado local con origen en el nudo i como se indica
en la Figura 8.7. El elemento tiene cuatro nudos ubicados en sus extremos y un grado de
libertad o valor nodal por cada nudo. En general en los elementos bidimensionales se elige
el nudo i y los dems se designan en sentido antihorario.
t
k
m
2a
y s
i 2b j
(a) (b)
Figura 8.7. Elemento rectangular bilineal: (a) geometra, (b) funcin de aproximacin
( e ) = N i( e)i( e ) + N (j e ) (j e ) + N k( e) k( e) + N m( e ) m( e ) (8.18)
N ( e ) = [N i( e ) N (j e ) N k( e ) N m( e ) ] (8.19)
siendo,
1
N i( e ) ( s, t ) = (2b s ) (2a t )
4ab
s
N (j e ) ( s, t ) = ( 2a t )
4ab
(8.20)
st
N k( e ) ( s, t ) =
4ab
t
N m( e ) ( s, t ) = (2b s )
4ab
La Figura 8.9 representa las funciones de forma del elemento mediante cuatro grficos
tridimensionales donde el eje vertical indica la funcin de forma y los otros dos ejes defi-
nen la geometra del elemento.
La instruccin evala a las funciones de forma en la posicin relativa 0 s 2b 1 en
direccin s y 0 t 2a 1 en direccin t, como lo indican las siguientes ecuaciones:
N i( e ) , = 1 1
s t s t
2b 2a 2b 2a
N (j e ) , =
s t s t
1
2b 2a 2b 2a
(8.21)
N k( e ) , =
s t s t
2b 2a 2b 2a
N m( e ) , =
s t t s
1
2b 2a 2a 2b
Ejemplo 8.4 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE() mostrada en la Figura 8.8, las
funciones de forma en el centroide del elemento rectangular bilineal nmero 1, se
obtiene a partir de la siguientes instruccin:
03 06 09
05 04
02
02 05 08
2a=1.5
y 03
(t 2a )(1) = 0.5 01
x
01
04 07
(1)
( s 2b ) = 0.5
Matriz de coordenadas de los 2b=1.5
nudos (existente) malla de elementos finitos
Figura 8.8. Ejemplo. Elemento rectangular bilineal nmero 1 de la malla de elementos finitos.
NEL() (1x4)
C1 C2 C3 C4
F1 2.5000E-01 2.5000E-01 2.5000E-01 2.5000E-01
N (j e )
N i( e )
(a) (b)
N k(e ) N m( e )
(c) (d)
Figura 8.9. Funciones de forma del elemento rectangular bilineal.
8.5. NTRIEL
Crea la matriz de funciones de forma de un elemento triangular lineal para elasticidad bi-
dimensional u otro problema con dos grados de libertad por nudo como lo indica la Figura
8.10.
vj
(x j , y j ) uj
vk j
k uk v(x,y)
( xk , y k ) u(x,y)
vi
y
ui
( xi , yi ) i
x
Figura 8.10. Elemento triangular lineal de elasticidad bidimensional.
u ( x) ( e ) = N ( x ) ( e ) U ( e ) x ( e ) (8.23)
a:
(e) N i( e ) 0 N (j e ) 0 N k( e ) 0
N = (8.24)
0 N i( e ) 0 N (j e ) 0 N k( e )
Ejemplo 8.5 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE() mostrada en la Figura 8.6, las
funciones de forma en el centroide del elemento triangular lineal para elasticidad
bidimensional nmero 4, se obtiene de las siguientes instrucciones:
:
:
'coordenadas del centroide del elemento
XP = (XYZ(ELE(4, 1), 1) + XYZ(ELE(4, 2), 1) + XYZ(ELE(4, 3), 1)) / 3
YP = (XYZ(ELE(4, 1), 2) + XYZ(ELE(4, 2), 2) + XYZ(ELE(4, 3), 2)) / 3
'matriz de funciones de forma del elemento
NTRIEL NEL(), XYZ(), ELE(), 4, XP, YP
:
:
Figura 8.11. Parte del cdigo de la rutina principal PEFiCA donde se calcula la matriz de
funciones de forma de un elemento triangular lineal de elasticidad bidimensional.
NEL() (2x6)
C1 C2 C3 C4 C5 C6
F1 3.3333E-01 0.0000E+00 3.3333E-01 0.0000E+00 3.3333E-01 0.0000E+00
F2 0.0000E+00 3.3333E-01 0.0000E+00 3.3333E-01 0.0000E+00 3.3333E-01
8.6. NRECEL
Crea la matriz de funciones de forma de un elemento rectangular bilineal para elasticidad
bidimensional u otro problema con dos grados de libertad por nudo como lo indica la
Figura 8.12.
Como se indic en la seccin anterior, las componentes cartesianas del vector del des-
T
plazamiento en elasticidad bidimensional u = [u v ] corresponden a dos funciones de
aproximacin independientes del mismo tipo, definidas para todo punto (s,t) que pertenece
al dominio del elemento rectangular bilineal (e ) as:
u ( e ) ( s, t ) = N i( e ) u i( e ) + N (j e ) u (je ) + N k( e ) u k( e ) + N m( e ) u m( e )
(8.25)
v ( e ) ( s, t ) = N i( e ) vi( e ) + N (j e ) v (je ) + N k( e ) v k( e ) + N m( e ) v m( e )
corresponde a:
N (e) 0 N (j e ) 0 N k( e ) 0 N m( e ) 0
N (e) = i (8.26)
0 N i( e ) 0 N (j e ) 0 N k( e ) 0 N m( e )
Ejemplo 8.6 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE() mostrada en la Figura 8.8, las
funciones de forma en el centroide del elemento rectangular bilineal nmero 1, se
obtiene a partir de la siguientes instruccin:
NEL() (2x8)
C1 C2 C3 C4 C5 C6
F1 2.5000E-01 0.0000E+00 2.5000E-01 0.0000E+00 2.5000E-01 0.0000E+00
F2 0.0000E+00 2.5000E-01 0.0000E+00 2.5000E-01 0.0000E+00 2.5000E-01
C7 C8
F1 2.5000E-01 0.0000E+00
F2 0.0000E+00 2.5000E-01
t
vm vk
um
m k uk
v(s,t)
2a
u(s,t)
vi vj
y i j s
ui 2b
uj
x
Figura 8.12. Elemento rectangular bilineal de elasticidad bidimensional.
B (e ) = N (e) (9.1)
( e ) = (N ( e ) ( e ) ) = B ( e) ( e ) (9.2)
donde el vector de los valores nodales ( e) = [i( e ) , (j e) ,L, n( e ) ] tiene coeficientes in-
T
9.1. BUNID2
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un ele-
mento unidimensional lineal en un problema de campo unidimensional.
La derivada con respecto a x de la funcin de aproximacin indicada en la Ecuacin
(8.3) en trminos de las funciones de forma de la Ecuacin (8.5), es igual a:
(e)
( e ) N i( e ) ( e ) N j ( e) (9.3)
= i + j
x x x
donde,
106 Captulo 8. Instrucciones para crear la matriz de funciones de forma de un elemento
N i( e) 1 N i( e ) 1
= (e) ; = ( e) (9.4)
x L x L
Al expresar la Ecuacin (9.3) en notacin matricial como lo indica el Ecuacin (9.2), la
matriz de operadores diferenciales actuando sobre funciones de forma del elemento unidi-
mensional lineal es igual a:
N ( e ) N (j e ) 1
B ( e) = N (e ) = i = ( e ) [ 1 1] (9.5)
x x L
BEL() (1x2)
C1 C2
F1 -4.0000E-01 4.0000E-01
9.2. BUNID3
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un ele-
mento unidimensional cuadrtico en un problema de campo unidimensional.
La derivada con respecto a x de la funcin de aproximacin indicada en la Ecuacin
(8.8) en trminos de las funciones de forma de la Ecuacin (8.10), es igual a:
(e)
( e ) N i( e ) ( e ) N j ( e) N k( e) ( e) (9.6)
= i + j + k
x x x x
donde,
N i( e) 1 3 + 4x
= (e)
x L L( e)
( e)
N j 1 4 8x
= (e) (9.7)
x L L( e )
( e)
N k 1 1 + 4x
= (e)
x L L( e )
Al expresar la Ecuacin (9.6) en notacin matricial como lo indica el Ecuacin (9.2) y
sustituyendo al cociente x L( e ) por la coordenada natural 0 1 , la matriz de operadores
diferenciales actuando sobre funciones de forma del elemento unidimensional cuadrtico es
igual a:
(e) ( e)
N ( e ) N (j e ) N k( e)
B = N = i
x x x
(9.8)
1
B (e) = ( e) [(3 + 4 ) (4 8 ) (1 + 4 )]
L
Por lo tanto, el operador nabla para problemas de campo unidimensional corresponde a
= [ x ] .
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
BEL() (1x3)
C1 C2 C3
F1 8.0000E-02 -9.6000E-01 8.8000E-01
9.3. BTRIAN
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un ele-
mento triangular lineal con un grado de libertad por nudo (Figura 8.3). En problemas de
T
campo bidimensional donde el operador diferencial nabla = [ x y ] , el gradiente
de la funcin de aproximacin ( e) definido en la Ecuacin (9.2) corresponde a un vector
de la forma:
( e) (e) ( e) (e) i( e )
x x N i xN j xN k (e)
(e)
= (e) (e) (e) j (9.9)
y y N i yN j yN k ( e )
k
En general las derivadas parciales de una funcin () en trminos de x y de y se escri-
ben de la forma x () () x y y () () y . Derivando las funciones de forma
dadas en la Ecuacin (8.15) se obtiene,
bi bj b
x N i( e) = ; x N (j e) = ; x N k( e) = k
2A 2A 2A
(9.10)
(e) c cj c
yN i = i ; y N (j e ) = ; yN k( e ) = k
2A 2A 2A
De acuerdo con las ecuaciones anteriores la matriz de operadores diferenciales actuando
sobre las funciones de forma para un elemento triangular lineal de rea A y con un grado de
libertad es igual a:
1 bi bj bk
B ( e) = (9.11)
2 A ci cj c k
donde,
ai = x j y k xk y j bi = y j y k ci = x k x j
a j = x k y i xi y k b j = yk yi c j = xi x k (9.12)
a k = xi y j x j y i bk = yi y j c k = x j xi
La Ecuacin (9.11) muestra que la matriz B ( e ) es la misma para todo punto (x,y) en el
interior de un elemento triangular lineal. La sintaxis de la instruccin se indica en la Tabla
9.3.
Ejemplo 9.3 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE()mostrada en la Figura 8.6, la
matriz B ( e ) del elemento triangular lineal nmero 4 se obtiene de la siguiente ins-
truccin:
BEL() (2x3)
C1 C2 C3
F1 -6.6667E-01 6.6667E-01 0.0000E+00
F2 0.0000E+00 -1.0000E+00 1.0000E+00
9.4. BRECTA
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un ele-
mento rectangular bilineal con un grado de libertad por nudo como se indica en la Figura
8.7(a). En problemas de campo bidimensional donde el operador diferencial nabla
= [ x y ] , el gradiente de la funcin de aproximacin ( e ) definido en la Ecua-
T
Ejemplo 9.4 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE()mostrada en la Figura 8.8, la
BEL() (2x4)
C1 C2 C3 C4
F1 -3.3333E-01 3.3333E-01 3.3333E-01 -3.3333E-01
F2 -5.0000E-01 -5.0000E-01 5.0000E-01 5.0000E-01
9.5. BTRIEL
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un ele-
mento triangular lineal para elasticidad bidimensional u otro problema con dos grados de
libertad por nudo (Figura 8.10).
En elasticidad bidimensional en el plano xy, las componentes de la deformacin en un
punto material se puede representar mediante el vector = [ xx yy xy ] . Para una
T
x N i( e) 0 x N (j e) 0 x N k( e ) 0
(e) (e) ( e) ( e) (e)
N =B = 0 yN i 0 yN j 0 yN k (9.20)
y N i( e ) xN i
(e)
y N (j e) xN (e)
j y N k( e) xN (e)
k
Las componentes de la matriz B ( e ) son las derivadas de las funciones de forma del ele-
mento triangular lineal presentadas en la Ecuacin (9.10), por lo tanto, la matriz B ( e ) es
constante en el interior de un elemento triangular lineal. La sintaxis de la instruccin es:
Ejemplo 9.5 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE()mostrada en la Figura 8.6, la
matriz B ( e ) del elemento triangular lineal de elasticidad nmero 4 se obtiene de la
siguiente instruccin:
BEL() (3x6)
C1 C2 C3 C4 C5 C6
F1 -6.6667E-01 0.0000E+00 6.6667E-01 0.0000E+00 0.0000E+00 0.0000E+00
F2 0.0000E+00 0.0000E+00 0.0000E+00 -1.0000E+00 0.0000E+00 1.0000E+00
F3 0.0000E+00 -6.6667E-01 -1.0000E+00 6.6667E-01 1.0000E+00 0.0000E+00
9.6. BRECEL
Crea la matriz de operadores diferenciales actuando sobre funciones de forma de un ele-
mento rectangular bilineal para elasticidad bidimensional u otro problema con dos grados
de libertad por nudo (Figura 8.12).
Como se indic en el apartado anterior, el vector de deformacin en el plano xy se defi-
ne como = [ xx yy xy ] y se obtiene al aplicar el operador diferencial dado en la
T
T
Ecuacin (9.18) sobre el vector de desplazamiento u = [u v ] , es decir, = u . En el
dominio de un elemento finito rectangular lineal ( e ) , el vector de deformaciones definido
en la Ecuacin (9.19), donde el vector de valores nodales de desplazamiento corresponde a
Las componentes de la matriz B ( e ) son las derivadas de las funciones de forma del ele-
mento rectangular bilineal presentadas en la Ecuacin (9.15). La sintaxis de la instruccin
y la descripcin de sus respectivos argumentos se presentan a continuacin.
Ejemplo 9.6 Dada una malla de elementos finitos definida por la matriz de coor-
denadas XYZ() y por la matriz de elementos ELE()mostrada en la Figura 8.8, la
matriz B ( e ) en el centroide del elemento rectangular bilineal de elasticidad nmero
1 se obtiene a partir de la siguiente instruccin:
BEL() (3x8)
C1 C2 C3 C4 C5 C6
F1 -3.3333E-01 0.0000E+00 3.3333E-01 0.0000E+00 3.3333E-01 0.0000E+00
F2 0.0000E+00 -5.0000E-01 0.0000E+00 -5.0000E-01 0.0000E+00 5.0000E-01
F3 -5.0000E-01 -3.3333E-01 -5.0000E-01 3.3333E-01 5.0000E-01 3.3333E-01
C7 C8
F1 -3.3333E-01 0.0000E+00
F2 0.0000E+00 5.0000E-01
F3 5.0000E-01 -3.3333E-01
10.1. KUNID2
Crea la matriz de rigidez de un elemento finito unidimensional lineal preparado para resol-
ver la ecuacin diferencial en trminos de (x) de la forma:
d 2
D +Q = 0 (10.1)
dx 2
Los parmetros D y Q de la ecuacin diferencial dependen de x, sin embargo, se consi-
dera que conservan un valor constante D ( e) y Q ( e ) en el interior de cada elemento finito, es
decir, para x ( e ) D( x) = D ( e) Q( x) = Q ( e ) .
El elemento unidimensional lineal define una funcin de aproximacin lineal en un es-
pacio unidimensional, por lo tanto cuenta con dos nudos ubicados en sus extremos (Figura
10.1).
i L(e ) j
K (e) =
(e )
(B(e) )T D (e)B (e) dx (10.2)
116 Captulo 10. Instrucciones para crear la matriz de rigidez de un elemento
KUNID2 MX(), D, L
KEL() (2x2)
C1 C2
F1 2.6667E+04 -2.6667E+04
F2 -2.6667E+04 2.6667E+04
10.2. KUNID3
Crea la matriz de rigidez de un elemento finito unidimensional cuadrtico preparado para
resolver la ecuacin diferencial en trminos de ( x) indicada en la Ecuacin (10.1), consi-
derando que los parmetros D y Q conservan un valor constante D (e ) y Q (e ) en el interior
de cada elemento finito.
El elemento unidimensional cuadrtico define una funcin de aproximacin polinmica
de orden 2 en un espacio unidimensional, por lo tanto cuenta con tres nudos ubicados en el
centro y en sus extremos como lo muestra la Figura 10.2.
i L(e ) 2 j L(e ) 2 k
x
Figura 10.2. Elemento Unidimensional Cuadrtico
KUNID3 MX(), D, L
KEL() (3x3)
C1 C2 C3
F1 6.2222E+04 -7.1111E+04 8.8889E+03
F2 -7.1111E+04 1.4222E+05 -7.1111E+04
F3 8.8889E+03 -7.1111E+04 6.2222E+04
10.3. KTRIAN
Crea la matriz de rigidez de un elemento finito triangular lineal (Figura 8.3(a)), preparado
para resolver una ecuacin diferencial de campo bidimensional denominada ecuacin de
Poisson (Oate & Zrate 2000), de la forma:
2 2
Dx + D G + Q = 0 (10.5)
x 2 y 2
y
Los parmetros Dx, Dy, G y Q de la ecuacin diferencial dependen de (x,y), sin embargo,
se considera que conservan un valor constante D x(e ) , D y(e ) , G (e ) y Q (e ) en el interior de ca-
da elemento finito. Los primeros dos parmetros se presentan como coeficientes de una
matriz diagonal D (e ) de la forma:
(e) D x( e ) 0
D = (10.6)
0 D y( e )
K ( e ) = (B ( e ) ) D ( e ) B ( e ) d ( e ) + G ( e ) (N ( e ) ) N ( e ) d ( e )
T T
(10.7)
KEL() (3x3)
C1 C2 C3
F1 1.6917E-01 -1.6542E-01 1.2500E-03
F2 -1.6542E-01 5.4417E-01 -3.7375E-01
F3 1.2500E-03 -3.7375E-01 3.7750E-01
10.4. KRECTA
Crea la matriz de rigidez de un elemento finito rectangular bilineal (Figura 8.7(a)), prepara-
do para resolver la ecuacin diferencial de campo bidimensional denominada ecuacin de
Poisson y presentada en la Expresin (10.5).
Al plantear la solucin de la ecuacin diferencial con el mtodo de los elementos finitos
se obtiene la matriz de rigidez elemental indicada en la Ecuacin (10.7). En particular para
el elemento rectangular bilineal, el operador diferencial actuando sobre las funciones de
forma o matriz B (e ) est definida en la Ecuacin (9.16) y la matriz de funciones de forma
N (e ) est dada en las Ecuaciones (8.19) y (8.20). Como resultado, la matriz de rigidez de
un elemento rectangular bilineal asociado con la ecuacin diferencial bidimensional de
Poisson es igual a:
K ( e ) = K (De ) + K (Ge )
2 2 1 1 2 1 1 2
D a 2 1 1 D y b 2 2 1
K (De ) = x +
6b 2 2 6 a 2 1
(10.10)
sim. 2 sim. 2
4 2 1 2
Gab 4 2 1
K G( e ) =
9 4 2
sim. 4
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
KEL() (4x4)
C1 C2 C3 C4
F1 3.6444E-01 1.5556E-02 -1.7972E-01 -1.9278E-01
F2 1.5556E-02 3.6444E-01 -1.9278E-01 -1.7972E-01
10.5. KTRIEL
Crea la matriz de rigidez de un elemento finito triangular lineal de elasticidad para un mate-
rial istropo en condicin plana de esfuerzos o de deformaciones (Figura 8.10).
Un problema de elasticidad se puede plantear a partir de la relacin deformacin-
desplazamiento, la ecuacin constitutiva del material lineal elstico y la ecuacin de equili-
brio del slido dada por el principio de la energa potencial total estacionaria. La deforma-
cin infinitesimal es igual al operador diferencial actuando sobre el vector de desplaza-
mientos, es decir,
= u (10.11)
T
u = [u v] y el operador diferencial es igual a:
0
x
=0 (10.12)
y
y x
La ecuacin constitutiva de un material lineal elstico es de la forma:
= D (10.13)
d11 d12 0
D = d12 d 22 0 (10.14)
0 0 d 33
Para un problema en condicin plana de esfuerzos,
E E E
d 11 = d 22 = 2
; d12 = 2
; d 33 = (10.15)
(1 ) (1 ) 2(1 + )
En cambio, para un problema en condicin plana de deformaciones los coeficientes de
D son:
(1 ) E E E
d11 = d 22 = ; d12 = ; d 33 = (10.16)
(1 + )(1 2 ) (1 + )(1 2 ) 2(1 + )
La energa potencial total de una estructura puede expresarse como la diferencia entre la
energa elstica de deformacin y el trabajo realizado por las acciones externas, es decir
P = U-W.
El principio de la energa potencial total estacionaria establece que de todos los estados
admisibles de desplazamiento, es decir, los que cumplen con las condiciones de borde y de
compatibilidad, aquel que satisface las ecuaciones de equilibrio adopta un valor estaciona-
rio de la energa potencial total. Adems indica que si la condicin estacionaria es un m-
nimo relativo el equilibrio del sistema es estable. Este principio es aplicable a problemas
donde la relacin entre la carga aplicada y el desplazamiento es lineal (Cook, Malkus et al.
1989).
En el dominio de un slido de material elstico la energa de deformacin es igual a:
1 T
2
U= dV (10.17)
a:
W = b T u dV + p T u dS (10.19)
En el mtodo de los elementos finitos el campo del desplazamiento u(x) para todo punto
material en el dominio , se convierte en el conjunto de campos continuos de desplaza-
miento en el interior de cada elemento finito, es decir u(x) ( e ) x ( e ) , que satisfacen la
condicin de continuidad en los nudos de los mismos.
Los trminos de la energa potencial total en la Ecuacin (10.20) son integrales en el
dominio y en el contorno del slido, que corresponden a la sumatoria de las integrales en el
subdominio de cada elemento (e ) y en su contorno (e ) , as:
m 1
P
T
P= (e)
; P (e) = ( e )T D ( e ) ( e ) dV b ( e ) u ( e ) dV p ( e )T u ( e ) dS (10.21)
( e ) =1 2 ( e ) ( e ) ( e )
como lo indica la Ecuacin (10.27). Sin embargo, se deben sumar las derivadas de P (e)
con respecto al mismo valor nodal, esto se puede lograr mediante una suma organizada de
acuerdo con la numeracin de los valores nodales o grados de libertad del slido denomi-
nada ensamblaje A (me ) =1 , es decir,
P m
P (e) m
P (e)
= = A (e) = 0 (10.29)
U ( e )=1 U ( e ) =1 U
Del ensamblaje del primer trmino de la Ecuacin (10.27), se establece la siguiente
igualdad:
m
m
A (K U (e) ) = A K (e) U
(e)
(10.30)
( e ) =1 ( e ) =1
Por lo tanto,
P
= KU f = 0 (10.31)
U
siendo K la matriz de rigidez del slido obtenida del ensamblaje de las matrices de rigi-
dez de los elementos, es decir,
m
K = A K (e) (10.32)
( e )=1
y f el vector de fuerzas nodales del slido resultante del ensamblaje de los vectores de
fuerzas nodales de los elementos de la forma:
m
f = A f (e) (10.33)
( e ) =1
La matriz de rigidez de un elemento triangular lineal de elasticidad indicada a continua-
cin se obtiene al sustituir a la matriz B (e ) definida en la Ecuacin (9.20) en la Ecuacin
(10.25).
K ii( e ) K ij( e ) K ik( e )
t (e )
K = K ij( e ) K (jje ) K (jke ) ; h =
(e)
4 A (e)
K ik( e ) K (jke ) K (kke )
b2d + c2d bi c i (d 12 + d 33 ) bi b j d 11 + c i c j d 33 bi c j d 12 + b j c i d 33
K ii(e ) = h i 11 i 33 (e )
K ij = h b c d + b c d
2 2
bi c i ( d 12 + d 33 ) bi d 33 + c i d 22 j i 12 i j 33 bi b j d 33 + c i c j d 22 (10.34)
b b d + c c d bi c k d 12 + bk c i d 33 b 2j d 11 + c 2j d 33 b j c j ( d 12 + d 33 )
K ik( e ) = h i k 11 i k 33 K (e)
jj = h 2 2
bk c i d 12 + bi c k d 33 bi bk d 33 + c i c k d 22 b j c j ( d 12 + d 33 ) b j d 33 + c j d 22
b j bk d 11 + c j c k d 33 b j c k d 12 + bk c j d 33 bk2 d 11 + c k2 d 33 bk c k (d 12 + d 33 )
K (jke ) = h K (e)
= h
bk c j d 12 + b j c k d 33 b j bk d 33 + c j c k d 22 kk 2 2
bk c k ( d 12 + d 33 ) bk d 33 + c k d 22
bi = y j y k ci = x k x j
b j = yk yi c j = xi x k
bk = y i y j c k = x j xi
Las constantes elsticas d11 , d 22 , d12 , d33 estn definidas en las ecuaciones (10.15) y
(10.16).
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
KEL() (6x6)
C1 C2 C3 C4 C5 C6
F1 8.0000E+05 0.0000E+00 -8.0000E+05 4.0000E+05 0.0000E+00 -4.0000E+05
F2 0.0000E+00 2.6667E+05 4.0000E+05 -2.6667E+05 -4.0000E+05 0.0000E+00
10.6. KRECEL
Crea la matriz de rigidez de un elemento finito rectangular bilineal de elasticidad para un
material istropo en condicin plana de esfuerzos o de deformaciones (Figura 8.12).
K ( e ) = K 1( e ) + K (2e )
2 s1
s 2 s2 sim.
3
2 s1 s3 2 s1
s s2 s3 2 s2
K 1( e ) = 3
s1 s3 s1 s3 2 s1
s3 s2 s3 2 s2 s3 2 s2
s1 s3 s1 s3 2 s1 s3 2 s1
s3 2 s2 s3 s2 s3 s2 s3 2 s2
d11at ( e ) d 22bt ( e ) d t (e)
s1 = , s2 = , s3 = 12 (10.35)
6b 6a 4
2 s4
s 2 s5 sim.
6
s4 s6 2 s4
s 2 s5 s6 2 s5
K (2e ) = 6
s4 s6 2 s4 s6 2 s4
s6 s5 s6 s5 s6 2 s5
2 s4 s6 s4 s6 s4 s6 2 s4
s6 s5 s6 s5 s6 2 s5 s6 2 s5
( e) (e) (e)
d 33bt d 33 at d 33t
s4 = , s5 = , s6 =
6a 6b 4
KEL() (8x8)
C1 C2 C3 C4 C5 C6
F1 8.7407E+03 3.3333E+03 -2.7407E+03 -6.6667E+02 -4.3704E+03 -3.3333E+03
F2 3.3333E+03 1.2444E+04 6.6667E+02 3.5556E+03 -3.3333E+03 -6.2222E+03
F3 -2.7407E+03 6.6667E+02 8.7407E+03 -3.3333E+03 -1.6296E+03 -6.6667E+02
F4 -6.6667E+02 3.5556E+03 -3.3333E+03 1.2444E+04 6.6667E+02 -9.7778E+03
F5 -4.3704E+03 -3.3333E+03 -1.6296E+03 6.6667E+02 8.7407E+03 3.3333E+03
F6 -3.3333E+03 -6.2222E+03 -6.6667E+02 -9.7778E+03 3.3333E+03 1.2444E+04
C7 C8
F1 -1.6296E+03 6.6667E+02
F2 -6.6667E+02 -9.7778E+03
F3 -4.3704E+03 3.3333E+03
F4 3.3333E+03 -6.2222E+03
F5 -2.7407E+03 -6.6667E+02
F6 6.6667E+02 3.5556E+03
F7 8.7407E+03 -3.3333E+03
F8 -3.3333E+03 1.2444E+04
11.1. FUNID2
Crea el vector de trminos independientes de un elemento finito unidimensional lineal
(Figura 10.1), preparado para resolver la ecuacin diferencial de campo indicada en la Ex-
presin (10.1). Los parmetros D y Q de la ecuacin diferencial dependen de x, sin em-
bargo, esta instruccin considera que Q (e ) conserva un valor constante en el interior de
cada elemento finito, es decir, x ( e ) Q( x) = Q ( e ) .
Como resultado de plantear la solucin en el mtodo de los elementos finitos se obtiene
que el vector de trminos independientes de un elemento unidimensional es igual a:
f (e) =
(e)
(N (e) )T Q (e) dx (11.1)
FUNID2 MX(), Q, L
FEL() (2x1)
C1
F1 6.0000E+00
F2 6.0000E+00
11.2. FUN2QL
Crea el vector de trminos independientes de un elemento finito unidimensional lineal
(Figura 10.1), preparado para resolver la ecuacin diferencial de campo indicada en la Ex-
presin (10.1), considerando que Q (e ) varia de forma lineal en el interior de cada elemento
finito, es decir,.
x
Q ( e ) ( x) = Qi( e ) + (Q (j e ) Qi( e ) ) x ( e) (11.3)
L( e )
siendo Q (ej ) y Qi(e ) los valores del parmetro Q (e ) en los nudos del elemento i y j, res-
pectivamente.
Sustituyendo en la Ecuacin (11.1), la expresin anterior y la matriz de funciones de
forma del elemento N (e ) presentada en la Ecuacin (8.5), se obtiene el vector de trminos
independientes de un elemento unidimensional lineal considerando variacin lineal del pa-
rmetro Q (e ) , como:
(e)
Q (j e ) L( e ) 1 (Q (j e ) Qi( e ) )L( e ) 1
f = + (11.4)
2 1 6 2
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (2x1)
C1
F1 7.0000E+00
F2 8.0000E+00
11.3. FUNID3
Crea el vector de trminos independientes de un elemento finito unidimensional cuadrtico
(Figura 10.2), preparado para resolver la ecuacin diferencial de campo indicada en la Ex-
presin (10.1), considerando al parmetro Q constante en el interior del elemento, es decir,
Q( x) = Q ( e ) x ( e ) .
Sustituyendo en la Ecuacin (11.1) la matriz de funciones de forma del elemento N (e )
presentada en las Ecuaciones (8.9) y (8.10), se obtiene el vector de trminos independientes
de un elemento unidimensional cuadrtico de la forma:
1
(e)
Q ( e ) L( e )
f = 4 (11.5)
6
1
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FUNID3 MX(), Q, L
FEL() (3x1)
C1
F1 2.0000E+00
F2 8.0000E+00
F3 2.0000E+00
11.4. FUN3QL
Crea el vector de trminos independientes de un elemento finito unidimensional cuadrtico
(Figura 10.2), preparado para resolver la ecuacin diferencial de campo indicada en la Ex-
presin (10.1), considerando que Q (e ) varia de forma lineal en el interior de cada elemento
finito como lo indica la Ecuacin (11.3).
Sustituyendo la matriz de funciones de forma del elemento N (e ) presentada en la Ecua-
cin (8.5) y el parmetro Q (e ) de la Ecuacin (11.3), en la expresin de f (e ) dada en la
Ecuacin (11.1), se obtiene el vector de trminos independientes de un elemento unidimen-
sional lineal considerando variacin lineal del parmetro Q (e ) , como:
1 0
(e)
Q (j e ) L( e ) (Q (j e ) Qi( e ) )L( e ) 2
f = 4 + (11.6)
6 6
1 1
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (3x1)
C1
F1 2.0000E+00
F2 1.0000E+01
F3 3.0000E+00
11.5. FTRIAN
Crea el vector de trminos independientes de un elemento finito triangular lineal (Figura
8.3(a)), preparado para resolver una ecuacin diferencial de campo bidimensional expresa-
da en la Ecuacin (10.5), considerando al parmetro Q constante en el interior del elemen-
to, es decir, Q( x) = Q ( e ) x ( e ) .
Como resultado de plantear la solucin en el mtodo de los elementos finitos se obtiene
que el vector de trminos independientes de un elemento bidimensional es igual a:
f (e) =
( e )
(N (e) )T Q (e) dA (11.7)
1
Q (e) A(e)
f (e) = 1 (11.8)
3
1
donde A(e ) es el rea del elemento finito.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (3x1)
C1
F1 2.5000E+00
F2 2.5000E+00
F3 2.5000E+00
11.6. FRECTA
Crea el vector de trminos independientes de un elemento finito rectangular bilineal (Figura
8.7(a)), preparado para resolver la ecuacin diferencial de campo bidimensional expresada
en la Ecuacin (10.5), considerando al parmetro Q constante en el interior del elemento.
Al plantear la solucin de la ecuacin diferencial con el mtodo de los elementos finitos
se obtiene el vector de trminos independientes indicado en la Ecuacin (11.7). En parti-
cular para el elemento rectangular bilineal, la matriz de funciones de forma N (e ) est dada
en las Ecuaciones (8.19) y (8.20). Como resultado, el vector de trminos independientes
de un elemento rectangular bilineal asociado con la ecuacin diferencial bidimensional de
Poisson es igual a:
1
Q A(e) (e) 1
f (e) = (11.9)
4 1
1
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (4x1)
C1
F1 3.7500E+00
F2 3.7500E+00
F3 3.7500E+00
F4 3.7500E+00
11.7. FTRIES
Crea el vector de fuerzas en los nudos equivalentes a la aplicacin de una fuerza de superfi-
cie o presin constante sobre uno de los lados de un elemento finito triangular lineal de
elasticidad (Figura 8.10).
Del planteamiento del problema de elasticidad mediante el mtodo de los elementos fi-
nitos se obtiene el vector de fuerzas expresado en la Ecuacin (10.26), como la suma de los
vectores de fuerzas equivalentes a la accin de diferentes tipos de carga. La aplicacin de
una fuerza por unidad de superficie o presin constante p (jke ) = [ p x p y ] sobre la cara jk
T
del elemento finito (Figura 11.1), de dimensiones Ljk por t, produce un vector de fuerzas de
la forma:
(N )
(e) T
f p( e( )jk ) = p (jke ) tdL jk (11.10)
(jke )
La expresin anterior es una integral de lnea definidas en entre los nudos j y k. Las ca-
ras Lij , Ljk y Lik del elemento se designa como los lados 1, 2 y 3 respectivamente.
nudo k nudo k
y
x
py
px
lado 3 lado 2 lado 3 lado 2
lado 1 lado 1
nudo i nudo i
nudo j nudo j
Figura 11.1. Fuerza de superficie aplicada sobre el lado jk o lado 2 del elemento finito triangular
lineal en direccin x y y.
(N ) (N )
(e) T (e) T
f p( e(ij) ) = p ij( e ) tdLij ; f p( e()ik ) = p ik( e ) tdLik (11.11)
ij( e ) ik( e )
px 0 px
p 0 p
y y
tLij p x tL jk p x tLik 0
f p( e(ij) ) = (e)
; f p ( jk ) =
(e)
; f p ( ik ) = (11.12)
2 py 2 py 2 0
0 px px
0 py py
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (6x1)
C1
F1 0.0000E+00
F2 0.0000E+00
F3 2.5000E+00
F4 0.0000E+00
F5 2.5000E+00
F6 0.0000E+00
nudo 9
y
lado 3
p x = 50 kN / m 2
x lado 2
elem. 04
11.8. FTRIEC
Crea el vector de fuerzas en los nudos equivalentes a la accin de una fuerza msica cons-
tante o fuerza distribuida por unidad de volumen del elemento finito triangular lineal de
elasticidad (Figura 8.10).
Del planteamiento del problema de elasticidad mediante el mtodo de los elementos fi-
nitos se obtiene el vector de fuerzas expresado en la Ecuacin (10.26), como la suma de los
vectores de fuerzas equivalentes a la accin de diferentes tipos de carga. La aplicacin de
una fuerza msica b ( e ) = [bx b y ] produce un vector de fuerzas equivalentes en los nudos
T
(N )
(e) T
f b( e ) = b ( e ) tdA ( e ) (11.13)
( e )
La integral anterior est definida el rea del elemento finito A(e ) , siendo t el espesor del
mismo. Un ejemplo habitual de fuerza msica es el peso especfico del material , en
cuyo caso b ( e ) = [0 ] .
T
b x
b
y
tA x
(e) b
f b( e ) = (11.14)
3 b y
b x
b y
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (6x1)
C1
F1 0.0000E+00
F2 -6.0000E-01
F3 0.0000E+00
F4 -6.0000E-01
F5 0.0000E+00
F6 -6.0000E-01
11.9. FRECES
Crea el vector de fuerzas en los nudos equivalentes a la aplicacin de una fuerza de superfi-
cie o presin constante sobre uno de los lados de un elemento finito rectangular bilineal de
elasticidad (Figura 8.12).
Del planteamiento del problema de elasticidad mediante el mtodo de los elementos fi-
nitos se obtiene el vector de fuerzas equivalentes a la aplicacin de una presin constante
como lo indican las Ecuaciones (11.10) y (11.11). La aplicacin de una fuerza por unidad
de superficie o presin constante p (jke ) = [ p x p y ] sobre la cara jk del elemento finito
T
(N )
(e) T
f p( e( )jk ) = p (jke ) tdL jk (11.15)
(jke )
La expresin anterior es una integral de lnea definidas en entre los nudos j y k. Las ca-
ras Lij , Ljk , Lkm y Lim del elemento se designa como los lados 1, 2, 3 y 4 respectivamente.
lado 3 lado 3
lado 2 px lado 2
py
lado 4 lado 4
lado 1 lado 1
nudo i nudo j y nudo i nudo j
x
Figura 11.3. Fuerza de superficie aplicada sobre el lado jk o lado 2 del elemento finito rectangular
bilineal en direccin x y y.
(N ) p
(e) T
f p( e( )ij ) = (e)
ij tdLij
ij( e )
(N ) p
(e) T
f p( e( )km) = ( e)
km tdLkm (11.16)
(e )
km
(N ) p
(e) T
f p( e( )im ) = (e)
im tdLim
(e)
im
px 0 0 px
p 0 0 p
y y
px px 0 0
tLij p y ( e ) tL jk p y ( e ) tLkm 0 ( e ) tLim 0
f p( e(ij) ) = f p ( jk ) = f p ( km) = f p (im ) = (11.17)
2 0 2 px 2 px 2 0
0 py py 0
0 0 px px
0 0 p y p y
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (8x1)
C1
F1 0.0000E+00
F2 0.0000E+00
F3 2.5000E+00
F4 0.0000E+00
F5 2.5000E+00
F6 0.0000E+00
F7 0.0000E+00
F8 0.0000E+00
nudo 8
nudo 5
lado 3
lado 2
y lado 4
p x = 50 kN / m 2
elem. 03
x
lado 1
nudo 4 nudo 7
(inicial)
Figura 11.4. Fuerza de superficie aplicada sobre una cara del elemento rectangular bilineal nmero
3 de la malla de la Figura 8.8.
11.10. FRECEC
Crea el vector de fuerzas en los nudos equivalentes a la accin de una fuerza msica cons-
tante o fuerza distribuida por unidad de volumen del elemento finito rectangular bilineal de
elasticidad (Figura 8.12).
Del planteamiento del problema de elasticidad mediante el mtodo de los elementos fi-
nitos se obtiene el vector de fuerzas equivalentes a la accin de una fuerza msica
b ( e ) = [bx b y ] como lo indica la Ecuacin (11.13).
T
b x
b
y
b x
( e ) b
tA y
f b( e ) = (11.18)
4 b x
b y
b x
b y
siendo A(e ) y t el rea y el espesor del elemento finito.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
FEL() (8x1)
C1
F1 0.0000E+00
F2 -9.0000E-01
F3 0.0000E+00
F4 -9.0000E-01
F5 0.0000E+00
F6 -9.0000E-01
F7 0.0000E+00
F8 -9.0000E-01
= D (12.1)
12.1. CELAPL
Crea la matriz de constantes elsticas para un material de comportamiento lineal elstico
istropo en condicin plana de esfuerzos y en condicin plana deformaciones.
Para problemas de elasticidad en el plano xy se establece un vector de componentes de
esfuerzo de la forma = [ xx yy xy ] y un vector de componentes de deformacin
T
(1 ) E E E
d11 = d 22 = ; d12 = ; d 33 = (12.4)
(1 + )(1 2 ) (1 + )(1 2 ) 2(1 + )
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
DMT() (3x3)
C1 C2 C3
F1 2.1333E+06 5.3333E+05 0.0000E+00
F2 5.3333E+05 2.1333E+06 0.0000E+00
F3 0.0000E+00 0.0000E+00 8.0000E+05
= T (13.1)
= TT (13.2)
13.1. TRVECO
Crea la matriz de transformacin de un vector definido en el plano. Se utiliza para realizar
cambios de base del vector de fuerza o de desplazamiento en un espacio bidimensional.
Sea un vector de la forma v = [v x v y ] , cuyas componentes estn definidas en una ba-
T
se coordenada global xy. Las componentes del vector en la base coordenada local x y ,
v = [v x v y ] se obtienen de la siguiente expresin:
T
v x cos sin v x
v = Tv = (13.3)
v y sin cos v y
donde el ngulo conformado entre el eje x del sistema global de coordenadas y el eje
x del sistema local.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
148 Captulo 13. Instrucciones de cambios de base
TRVECO TR(), 30
TR() (2x2)
C1 C2
F1 8.6603E-01 5.0000E-01
F2 -5.0000E-01 8.6603E-01
13.2. TRESP2
Crea la matriz de transformacin de las componentes de esfuerzo o deformacin contenidas
en el plano xy.
Sea un vector = [ xx yy xy ] que contiene las componentes de esfuerzo defini-
T
das en la base original xy. Las componentes de esfuerzo en la base coordenada local x y ,
= [ xx yy xy ] se obtienen de la siguiente expresin:
T
= T
xx cos 2 sin 2 2 sin cos xx
= (13.4)
yy sin 2 cos 2 2 sin cos yy
xy sin cos sin cos cos 2 sin 2 xy
donde el ngulo conformado entre el eje x del sistema global de coordenadas y el eje
x del sistema local. Las componentes de deformacin en la base local
= [ xx yy xy ] se calculan de la forma:
T
= T (13.5)
TRESP2 TR(), 30
TR() (3x3)
C1 C2 C3
F1 7.5000E-01 2.5000E-01 8.6603E-01
F2 2.5000E-01 7.5000E-01 -8.6603E-01
F3 -4.3301E-01 4.3301E-01 5.0000E-01
13.3. TRPRIN
Calcula los esfuerzos (o deformaciones) principales y las respectivas direcciones principa-
les a partir de las componentes de esfuerzo (o de deformaciones) en la base original en un
espacio bidimensional. La instruccin guarda los esfuerzos (o deformaciones) principales
en un vector de la forma p = [ p1 p 2 ] , en cambio, el ngulo que forma el eje x (glo-
T
p1 =
1
2
[
( xx + yy ) + ( xx + yy )2 + (2 xy )2 ]
(13.6)
p2
1
2
[
= ( xx + yy ) ( xx + yy ) + (2 xy )
2 2
]
donde p1 > p 2 . Las direcciones principales se definen como:
( xx p1 )
p1 = arctg
xy
(13.7)
( xx p 2 )
p2 = arctg
xy
De forma anloga se calculan las deformaciones principales p1 y p 2 , y sus respecti-
vas direcciones.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
SPE() (2x1)
C1
F1 2.2496E+00
F2 -1.6685E+01
TPE() (2x1)
C1
F1 -8.8852E+00
F2 8.1115E+01
13.4. TRVMIS
Calcula el esfuerzo de von Misses asociado al criterio de fluencia de la energa de distor-
sin (Popov 1998), a partir de las componentes de esfuerzo en la base original en un espa-
cio bidimensional.
Sea un vector = [ xx yy xy ] que contiene las componentes de esfuerzo defini-
T
das en la base original xy. Los esfuerzos principales se obtienen con la Ecuacin (13.6), y
a partir de ellos se calcula el esfuerzo de von Mises:
vm = p21 + p2 2 p1 p 2 (13.8)
[variable]= TRVMIS(SXY())
SVM = TRVMIS(STE())
14.1. NGLNUD
Crea la matriz de grados de libertad por nudo a partir de la matriz indicadora de condicio-
nes de borde del problema. La instruccin asigna un identificador numrico a cada uno de
grados de libertad del problema. Inicialmente numera de forma secuencial todos los gra-
dos de libertad desconocidos con la informacin dada por la matriz indicadora de condicio-
nes de borde y luego numera todos los grados de libertad conocidos.
Como consecuencia del orden dado a los grados de libertad, el vector de valores noda-
les del sistema pueda dividirse en dos subvectores: el vector de valores nodales desco-
nocidos y el vector de valores nodales conocidos . Por lo tanto la ecuacin de
equilibrio del sistema:
K = f (14.1)
Figura 14.1. Ejemplo de la instruccin NGLNUD numerando todos los grados de libertad.
Ejemplo 14.1 Dada la malla de 9 nudos y 2 grados de libertad por nudo y la ma-
triz indicadora de las condiciones de borde MRE() obtener la matriz de grados de
libertad por nudo MGL(). Mediante la siguiente instruccin se crea la matriz MGL()
numerando todos lo grados de libertad (desconocidos y conocidos):
Figura 14.2. Ejemplo de la instruccin NGLNUD numerando solamente los grados de libertad
desconocidos.
14.2. NGLELE
Crea la matriz de incidencias o tabla de grados de libertad por elemento a partir de la ma-
triz de grados de libertad por nudo y la matriz de conectividades del problema. La ins-
truccin construye una tabla de identificadores de los grados de libertad de asociados a cada
elemento. La matriz de incidencias es esencial para realizar el proceso de ensamblaje de
matrices y vectores descrito por la instruccin ENSAMK, ENSAMV, ENBAND y ENSAMX, al igual
que la extraccin de vectores con la rutina EXTRAV. La sintaxis de la instruccin y la des-
cripcin de sus respectivos argumentos se presentan a continuacin.
m k
(e)
vi vj
ui uj
i j
Matriz de elementos o tabla de conectividades
elem # ui # vi # uj # vj # uk # vk # um # vm
14.3. NGLBAN
Calcula el ancho de la semi-banda de la matriz de rigidez y el nmero de grados de libertad
del sistema a partir de la matriz de incidencias.
En el proceso de ensamblaje de matrices de rigidez tipo banda realizado con la instruc-
cin ENBAND es necesario conocer el ancho de la semi-banda de la misma.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
15.1. ENSAMK
Suma la contribucin de una matriz elemental a la matriz del sistema de acuerdo con la
numeracin de los valores nodales o grados de libertad del elemento adicionado, en otras
palabras, ensambla una matriz elemental en una matriz del sistema. En mecnica compu-
tacional de slidos, las matrices del sistema que comnmente intervienen en el problema
son la matriz de rigidez y la matriz de masas de la estructura.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 15.1 Dada la matriz rigidez del elemento finito nmero 1 como:
160 Captulo 15. Instrucciones para ensamblar y extraer matrices
KEL() (8x8)
C1 C2 C3 C4 C5 C6
F1 5.2444E+04 2.0000E+04 -1.6444E+04 -4.0000E+03 -2.6222E+04 -2.0000E+04
F2 2.0000E+04 7.4667E+04 4.0000E+03 2.1333E+04 -2.0000E+04 -3.7333E+04
F3 -1.6444E+04 4.0000E+03 5.2444E+04 -2.0000E+04 -9.7778E+03 -4.0000E+03
F4 -4.0000E+03 2.1333E+04 -2.0000E+04 7.4667E+04 4.0000E+03 -5.8667E+04
F5 -2.6222E+04 -2.0000E+04 -9.7778E+03 4.0000E+03 5.2444E+04 2.0000E+04
F6 -2.0000E+04 -3.7333E+04 -4.0000E+03 -5.8667E+04 2.0000E+04 7.4667E+04
F7 -9.7778E+03 -4.0000E+03 -2.6222E+04 2.0000E+04 -1.6444E+04 4.0000E+03
F8 4.0000E+03 -5.8667E+04 2.0000E+04 -3.7333E+04 -4.0000E+03 2.1333E+04
C7 C8
F1 -9.7778E+03 4.0000E+03
F2 -4.0000E+03 -5.8667E+04
F3 -2.6222E+04 2.0000E+04
F4 2.0000E+04 -3.7333E+04
F5 -1.6444E+04 -4.0000E+03
F6 4.0000E+03 2.1333E+04
F7 5.2444E+04 -2.0000E+04
F8 -2.0000E+04 7.4667E+04
INC() (4x8)
C1 C2 C3 C4 C5 C6 C7 C8
F1 000 000 004 005 006 007 000 001
F2 000 001 006 007 008 009 002 003
F3 004 005 010 011 012 013 006 007
F4 006 007 012 013 014 015 008 009
Suponiendo que todos los coeficientes de la matriz KGL() son iguales a cero antes
de ejecutar la instruccin, se tiene como resultado que:
KGL() (15x15)
C1 C2 C3 C4 C5 C6
F1 7.4667E+04 0.0000E+00 0.0000E+00 2.0000E+04 -3.7333E+04 -4.0000E+03
F2 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F3 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F4 2.0000E+04 0.0000E+00 0.0000E+00 5.2444E+04 -2.0000E+04 -9.7778E+03
F5 -3.7333E+04 0.0000E+00 0.0000E+00 -2.0000E+04 7.4667E+04 4.0000E+03
F6 -4.0000E+03 0.0000E+00 0.0000E+00 -9.7778E+03 4.0000E+03 5.2444E+04
F7 2.1333E+04 0.0000E+00 0.0000E+00 -4.0000E+03 -5.8667E+04 2.0000E+04
F8 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F9 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F10 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F11 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F12 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F13 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
F14 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
15.2. ENSAMV
Suma la contribucin de un vector elemental al vector del sistema de acuerdo con la nume-
racin de los valores nodales o grados de libertad del elemento adicionado, en otras pala-
bras, ensambla un vector elemental en el vector del sistema. La sintaxis de la instruccin
y la descripcin de sus respectivos argumentos se presentan en la Tabla 15.2.
Ejemplo 15.2 Dada el vector de fuerzas de cuerpo del elemento finito nmero 1
como:
VEL() (8x1)
C1
F1 5.6250E+00
F2 3.7500E+00
F3 5.6250E+00
F4 3.7500E+00
F5 5.6250E+00
F6 3.7500E+00
F7 5.6250E+00
F8 3.7500E+00
INC() (4x8)
C1 C2 C3 C4 C5 C6 C7 C8
F1 000 000 004 005 006 007 000 001
F2 000 001 006 007 008 009 002 003
F3 004 005 010 011 012 013 006 007
F4 006 007 012 013 014 015 008 009
Suponiendo que todos los coeficientes del vector VGL() son iguales a cero antes de
ejecutar la instruccin, se tiene como resultado que:
VGL() (15x1)
C1
F1 3.7500E+00
F2 0.0000E+00
F3 0.0000E+00
F4 5.6250E+00
F5 3.7500E+00
F6 5.6250E+00
F7 3.7500E+00
F8 0.0000E+00
F9 0.0000E+00
F10 0.0000E+00
F11 0.0000E+00
F12 0.0000E+00
F13 0.0000E+00
F14 0.0000E+00
F15 0.0000E+00
15.3. ENBAND
Suma la contribucin de una matriz elemental simtrica a la matriz del sistema en formato
de matriz banda de acuerdo con la numeracin de los valores nodales o grados de libertad
del elemento ensamblado. En mecnica computacional de slidos, las matrices del sistema
que comnmente intervienen en el problema son la matriz de rigidez y la matriz de masas
de la estructura. La sintaxis de la instruccin y la descripcin de sus respectivos argumen-
tos se presentan a continuacin.
La instruccin requiere la existencia de la matriz banda KBA(), cuyo nmero de filas co-
rresponde con el nmero de grados de libertad del sistema y el nmero de columnas con el
ancho de la semi banda. Por esta razn se recomienda utilizar la instruccin NGLBAN para
determinar el ancho de la semi banda a partir de la matriz de incidencias y la instruccin
MTCONS para construir una matriz llena de un valor constante.
15.4. ENSAMX
Suma un coeficiente especificado de una matriz elemental a los coeficientes de un vector
del sistema de acuerdo con la numeracin de los valores nodales o grados de libertad del
elemento. La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se
presentan en la Tabla 15.4.
Ejemplo 15.3 Dada la matriz rigidez del elemento finito nmero 1 como:
KEL() (8x8)
C1 C2 C3 C4 C5 C6
F1 5.2444E+04 2.0000E+04 -1.6444E+04 -4.0000E+03 -2.6222E+04 -2.0000E+04
F2 2.0000E+04 7.4667E+04 4.0000E+03 2.1333E+04 -2.0000E+04 -3.7333E+04
F3 -1.6444E+04 4.0000E+03 5.2444E+04 -2.0000E+04 -9.7778E+03 -4.0000E+03
F4 -4.0000E+03 2.1333E+04 -2.0000E+04 7.4667E+04 4.0000E+03 -5.8667E+04
F5 -2.6222E+04 -2.0000E+04 -9.7778E+03 4.0000E+03 5.2444E+04 2.0000E+04
F6 -2.0000E+04 -3.7333E+04 -4.0000E+03 -5.8667E+04 2.0000E+04 7.4667E+04
F7 -9.7778E+03 -4.0000E+03 -2.6222E+04 2.0000E+04 -1.6444E+04 4.0000E+03
C7 C8
F1 -9.7778E+03 4.0000E+03
F2 -4.0000E+03 -5.8667E+04
F3 -2.6222E+04 2.0000E+04
F4 2.0000E+04 -3.7333E+04
F5 -1.6444E+04 -4.0000E+03
F6 4.0000E+03 2.1333E+04
F7 5.2444E+04 -2.0000E+04
F8 -2.0000E+04 7.4667E+04
INC() (4x8)
C1 C2 C3 C4 C5 C6 C7 C8
F1 000 000 004 005 006 007 000 001
F2 000 001 006 007 008 009 002 003
F3 004 005 010 011 012 013 006 007
F4 006 007 012 013 014 015 008 009
Suponiendo que todos los coeficientes de VGL() son iguales a cero antes de ejecutar
la instruccin, se tiene como resultado que:
VGL() (15x1)
C1
F1 2.0000E+04
F2 0.0000E+00
F3 0.0000E+00
F4 2.0000E+04
F5 2.0000E+04
F6 2.0000E+04
F7 2.0000E+04
F8 0.0000E+00
F9 0.0000E+00
F10 0.0000E+00
F11 0.0000E+00
F12 0.0000E+00
F13 0.0000E+00
F14 0.0000E+00
F15 0.0000E+00
15.5. EXTRAV
Extrae un vector elemental conformado por los coeficientes de un vector del sistema defi-
nidos de acuerdo con la numeracin de los valores nodales o grados de libertad del elemen-
to. La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presen-
tan a continuacin.
DGT() (26x1)
C1
F1 3.3141E-05
F2 -1.6683E-05
F3 5.3922E-05
F4 -2.7864E-05
F5 7.0790E-05
F6 -3.4794E-05
F7 8.6501E-05
F8 -3.7790E-05
F9 1.0246E-04
F10 -3.8817E-05
F11 1.1949E-04
F12 -3.8941E-05
F13 9.7604E-06
F14 -6.7274E-05
F15 3.5833E-05
F16 -6.5668E-05
F17 5.5388E-05
F18 -6.6101E-05
F19 7.1419E-05
F20 -6.7600E-05
F21 8.6328E-05
F22 -6.8235E-05
F23 1.0171E-04
F24 -6.8530E-05
F25 1.1872E-04
F26 -6.8421E-05
INC() (6x8)
C1 C2 C3 C4 C5 C6 C7 C8
F1 000 000 013 014 015 016 001 002
F2 001 002 015 016 017 018 003 004
F3 003 004 017 018 019 020 005 006
F4 005 006 019 020 021 022 007 008
F5 007 008 021 022 023 024 009 010
F6 009 010 023 024 025 026 011 012
DEL() #1 (8x1)
C1
F1 0.0000E+00
F2 0.0000E+00
F3 9.7604E-06
F4 -6.7274E-05
F5 3.5833E-05
F6 -6.5668E-05
F7 3.3141E-05
F8 -1.6683E-05
En el vector DEL() los coeficientes de las filas 1 y 2 son iguales a cero porque los
dos primeros grados de libertad indicados en la matriz de incidencias INC() estn
numerados como cero.
y se obtiene un vector DEL() de 6 filas que contiene los coeficientes del vector
DGT() en las filas 3,4,17,18,19 y 20, indicadas en las 6 primeras columnas de la fila
3 de la matriz de incidencias:
DEL() #3 (6x1)
C1
F1 5.3922E-05
F2 -2.7864E-05
F3 5.5388E-05
F4 -6.6101E-05
F5 7.1419E-05
F6 -6.7600E-05
16.1. ORFUGL
Crea el vector de valores nodales de la estructura ordenado de acuerdo con la numeracin
de los grados de libertad a partir de la tabla de valores nodales ordenada por nudo.
Una tabla o matriz ordenada por nudos significa que cada fila contiene los valores noda-
les de los grados de libertad de un nudo especfico, por tanto, su tamao ser el nmero
nudos por el nmero de grados de libertad por nudo.
La importancia de la presentacin de los valores nodales de la estructura de dos formas
distintas esta motivado por las siguientes razones. Por un lado, en el sistema de ecuaciones
simultneas planteado para calcular los valores nodales de la forma K nglngl u ngl1 = f ngl1 ,
cada ecuacin esta asociada a un grado de libertad, por lo tanto el vector de trminos inde-
pendientes y el vector solucin estn ordenados de acuerdo con la numeracin de los grados
de libertad. Por otra parte, es ms adecuado presentar los resultados nodales en una tabla
que indique en cada fila el valor nodal en los grados de libertad asociados a un nudo.
La Figura 16.1 muestra como ejemplo una malla de 8 nudos y 5 elementos de un pro-
blema de elasticidad bidimensional en el cual cada nudo tiene dos grados de libertad que
corresponden a los desplazamientos en x y en y. All se indica la tabla de valores ordena-
dos por nudos de 8 por 2, como tambin el vector de valores nodales ordenados de acuerdo
con la numeracin de los grados de libertad de 16 por 1.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
170 Captulo 16. Instrucciones de organizacin de matrices
12 14 16
# nudo u v
11 13 15
201 1 2
206 207 208
105 202 3 4
102
203 5 6
8 10
204 7 8
7 9 104
204 205 205 9 10
206 11 12
101
2 4 103 6 207 13 14
1 3 5 208 15 16
201 202 203
tabla de valores nodales
ordenados por nudos
1
Notacin
2
v 3
# grado de libertad
4
u 5
# nudo 6
7
8
# elemento 9
10
11
12
13 vector de valores nodales
14 ordenados de acuerdo con la
15 numeracin de los grados de
16 libertad
Figura 16.1. Ordenamiento de los valores nodales para un problema de elasticidad bidimen-
sional.
Ejemplo 16.1 Dada la matriz de fuerzas nodales ordenada de acuerdo con la nu-
meracin de los nudos FFU() y la matriz de la numeracin de los grados de libertad
por cada nudo MGL() indicadas en la Figura 4.1, se obtiene el vector de fuerzas
nodales ordenadas de acuerdo con la numeracin de los grados de libertad FGL()
mediante la siguiente lnea de comando:
16.2. ORGLFU
Crea la tabla de valores nodales ordenada por nudo a partir del vector de valores nodales de
la estructura ordenado de acuerdo con la numeracin de los grados de libertad, como se
muestra en la Figura 16.1.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
La instruccin genera un error si el nmero de filas del vector VGL() es menor que el
mximo coeficiente de la matriz de grados de libertad por nudo MGL(), lo cual indicara la
inexistencia del valor nodal correspondiente a ese grado de libertad.
Si un coeficiente de la matriz de grados de libertad por nudo MGL() es igual a cero, se
desconoce la posicin del coeficiente correspondiente del vector VGL() en la matriz VFU(), y
por lo tanto no se considera tal trmino.
Ejemplo 16.2 Dado el vector de fuerzas nodales ordenadas de acuerdo con la nu-
meracin de los grados de libertad FGL() y la matriz de la numeracin de los gra-
dos de libertad por cada nudo MGL() indicadas en la Figura 16.3, se obtiene la ma-
triz de fuerzas nodales ordenada de acuerdo con la numeracin de los nudos FFU()
mediante la siguiente lnea de comando:
mximo
coeficiente
de MGL()
16.3. ORSONO
Crea un vector de resultados nodales a partir de una matriz de resultados elementales calcu-
lados en los nudos de cada elemento. Cada coeficiente del vector de resultados nodales es
igual al promedio entre los valores calculados en el interior de los elementos que comparten
un mismo nudo.
Los resultados elementales son aquellos que han sido obtenidos en puntos especficos
del dominio de un elemento finito, a partir de las derivadas de las funciones de forma del
mismo. En los problemas de elasticidad, por ejemplo, el campo de las deformaciones se
calcula en un punto (x,y) en el interior del elemento e de la forma (( ex), y ) = B (( ex), y )u ( e ) donde
B (( ex), y ) = N (( ex), y ) es a la matriz de operadores diferenciales actuando sobre funciones de for-
ma evaluada en el punto (x,y) del elemento e, y u (e ) corresponde el vector de desplaza-
miento del elemento e.
La cantidad presentada de forma elemental no muestra continuidad entre los elementos
a pesar de ser continua en el interior de cada uno.
La matriz de resultados elementales contiene en cada fila los valores calculados en luga-
res especiales del interior de un elemento, tales como los nudos, el centro o los puntos de
Gauss. Por lo tanto, en dicha matriz el nmero de filas es igual al nmero de elementos y
el nmero de columnas corresponde al nmero de puntos donde se evale la cantidad de
inters. Por ejemplo, la Figura 16.4 muestra una matriz de resultados elementales que con-
tiene la deformacin lineal en y evaluada en los nudos de cada elemento rectangular bili-
neal.
i j (xe) ( e ) = B (xe) ( e ) u ( e ) [
(xe)( e ) = xx( e ) yy( e ) xy( e ) ]x
T
(e)
( e) ( e)
yy x= x n
Figura 16.4. Matriz de resultados elementales: deformacin lineal en y evaluada en los nudos
de cada elemento rectangular bilineal.
Los resultados nodales corresponden a valores en los nudos de la malla que son interpo-
lados en el interior de los elementos describiendo una funcin continua para toda la malla
(cuando la estructura modelada tiene un solo material). Por lo tanto, el nmero de filas del
vector de resultados nodales corresponde al nmero de nudos de la malla.
La ausencia de continuidad en los campos derivados de la funcin de aproximacin en-
tre los elementos finitos, motiva el desarrollo de tcnicas de suavizado de funciones en la
malla de elementos finitos. Una de las formas ms sencillas consiste en utilizar el valor
promedio en cada nudo del valor calculado en los elementos finitos asociados a l. Por
ejemplo, la Figura 16.5 muestra una matriz de resultados nodales que contiene una compo-
nente de deformacin promedio en cada nudo.
nudo valor
3 6 r r
( 3) ( 6)
x= x r
x= x r
(1) r
x= x r ( 9)
x= x r
1 ne
1 9 r =
ne
(e )
(e )
x=x r ( e ) x r
1 (1)
4
x = x r + x(9=)x r + x(3=)x r + x(6=)x r
r = ( )
Figura 16.5. Matriz de resultados nodales: deformacin promedio en cada nudo de una malla de
un solo material.
esfuerzo
nudo promedio
calcular
promedio vector de esfuerzos
promedio en los nudos
(resultado nodal)
matriz de esfuerzos en los elementos
(resultado elemental)
Figura 16.6. Ejemplo de la instruccin ORSONO. Clculo del esfuerzo xx promedio en el
nudo 86 (resultado nodal).
Ejemplo 16.3 Construir el vector de esfuerzos promedio en los nudos NXX() a par-
tir de la matriz o tabla de esfuerzos en los nudos de cada elemento SXX() y de la
matriz de conectividades ELE(). La lnea de comando utilizada es:
Dorian Luis Linero Segrera Universidad Nacional de Colombia, 2010
176 Captulo 16. Instrucciones de organizacin de matrices
La Figura 4.2 describe la obtencin del esfuerzo promedio en el nudo 86 a partir de los
elementos 1, 2, 22, 23, 24 y 27, los cuales comparten dicho nudo.
16.4. ORSONM
Crea una matriz de resultados nodales por material a partir de una matriz de resultados ele-
mentales calculados en los nudos de cada elemento. Cada columna de la matriz de resulta-
dos nodales contiene el promedio entre los valores calculados en el interior de los elemen-
tos asociados a un mismo nudo para un material especfico.
Los resultados nodales por material corresponden a valores en los nudos de la malla que
son interpolados en el interior de los elementos describiendo una funcin continua para
cada grupo de elementos finitos del mismo material. Por lo tanto, el nmero de filas de la
matriz de resultados nodales corresponde al nmero de nudos de la malla y el nmero de
columnas es el nmero de materiales del problema. Por ejemplo, la Figura 16.7 muestra
una matriz de resultados nodales por material que contiene una componente de deformacin
promedio en cada nudo para los materiales 1 y 2.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
deformacin
nudo mat. 1 mat. 2
material 1 material 2
r rm =1 rm = 2
3 6
( 3) ( 6)
xx==x r
xx==x r
r 1 ne ( e )
(1)
=xr
xx= ( 9)
xx==xr
rm =
ne ( e )
( ) (
x=x r ( e) x r (e ) ( m) )
1 9
1
( )
rm =1 = x(1=)x r + x(3=)x r
2
1 ( 6)
2
rm =1 = (
x = x r + x(9=)x r )
Figura 16.7. Matriz de resultados nodales: deformacin promedio en cada nudo de una malla de
varios materiales.
Ejemplo 16.4 Construir la matriz de esfuerzos nodales por material TAS() a partir
de la matriz o tabla de esfuerzos en los elementos TAO(), la matriz de conectivida-
des ELE() y la matriz de materiales MAT(). La lnea de comando utilizada es la si-
guiente:
La Figura 16.8 describe la obtencin del esfuerzo promedio en el nudo 313 para el
material tipo 1. Tal valor es calculado a partir de los esfuerzos en los elementos
653 y 661, los cuales estn conectados al nudo 313 y asociados al material 1.
material 1
653
661
313
16
5
39
material 2
vector de esfuerzos
promedio en los nudos
calcular
(resultado nodal)
promedio
Figura 16.8. Ejemplo de la instruccin ORSONM. Esfuerzo en el nudo 313 (resultado nodal)
para el material 1, calculado como el promedio de los esfuerzos en los elementos asociados al
material 1 que comparten el nudo 313.
16.5. ORNUDE
Crea una matriz o tabla que contiene en cada fila los elementos asociados a cada nudo. La
sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan en la
Tabla 16.5.
Ejemplo 16.5 Crear la matriz de elementos asociados a cada nudo NLE() a partir
de la matriz de nudos asociados a cada elemento o matriz de conectividades de la
malla presentada en la Figura 16.9 . La lnea de comando necesaria es la siguien-
te:
03 06 09 12
02 04 06
02 05 08 11
01 03 05
01 04 07 10
malla de elementos finitos
nudo elementos
16.6. ORNLIN
Construye una listado de los nudos que hacen parte de un segmento recto entre dos nudos
extremos definidos en la tabla de coordenadas. Tambin crea otra lista con la distancia
entre el nudo inicial y cada uno de los nudos que componen la lnea.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
en la Tabla 16.6.
Ejemplo 16.6 Dada la matriz de coordenadas XYZ(), crear el listado de los nudos
que hacen parte del segmento de lnea definido entre los nudos 25 y 17. Adems,
crear la lista de distancias entre el nudo inicial 25 y cada uno de los nudos que
componen la lnea. La Figura 16.10 describe este ejemplo. La lnea de comando
utilizada es la siguiente:
nudo
final
nudo
final
lnea
nudo lista de nudos
inicial de la lnea
matriz de coordenadas
en los nudos
16.7. ORNLIX
Construye una listado de los nudos que hacen parte de un segmento recto definido entre dos
puntos cuya posicin puede o no coincidir con los nudos de la malla. Tambin crea otra
lista con la distancia entre el punto inicial y cada uno de los nudos que componen la lnea.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 16.7 Dada la matriz de coordenadas XYZ(), crear el listado de los nudos
que hacen parte del segmento de lnea definido entre las coordenadas (0.00, 0.50) y
(0.00, 4.00). Adems, crear la lista de distancias entre el punto de coordenadas
(0.00,0.50) y cada uno de los nudos que componen la lnea. La siguiente figura
describe este ejemplo.
punto final
(0.00,4.00)
lnea
lista de nudos
de la lnea
matriz de coordenadas en los
nudos de la malla
16.8. ORELIN
Construye una listado de los elementos cuyos lados hacen parte de un segmento definido
por dos nudos. Tambin crea otra lista con la distancia entre el nudo inicial y cada uno de
los nudos que componen la lnea.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 16.8 Dada la matriz de coordenadas XYZ(), crear el listado de los ele-
mentos y los nudos que hacen parte del segmento de lnea definido entre los nudos
25 y 17. Adems, crear la lista de distancias entre el nudo inicial 25 y cada uno de
los nudos que componen la lnea. La Figura 16.12 describe este ejemplo. La lnea
de comando utilizada es la siguiente:
nudo
final
matriz de conectividades
nudo
nudo final
inicial
matriz de coordenadas
en los nudos
lnea
16.9. ORELIX
Construye una listado de los elementos cuyos lados hacen parte de segmento recto definido
entre dos puntos cuya posicin puede o no coincidir con los nudos de la malla.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
en la Tabla 16.9.
Ejemplo 16.9 Dada la matriz de coordenadas XYZ(), crear el listado de los lados
de los elementos que hacen parte del segmento de lnea definido las coordenadas
(0.00,0.50) y (0.00,4.0), como lo describe la siguiente figura:
matriz de conectividades
punto final
(0.00,4.00)
matriz de coordenadas
en los nudos nudo k
lado 3
lado 2
elemento
matriz de coordenadas en los
extremos del segmento de lnea
nudo i
(inicial) lado 1
nudo j
indicador del
elemento lado nudo inicial i
lnea
16.10. ORXYNU
Extrae de la matriz de coordenadas o de cualquier matriz de resultados nodales, los respec-
tivos valores para los nudos relacionados en un vector o lista predefinida. Crea una matriz
o tabla donde el nmero de filas corresponde con el nmero de filas de la lista de nudos y el
nmero de columnas coincide con el nmero de columnas de la matriz de coordenadas o de
valores nodales.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 16.10 Extraer los valores nodales de esfuerzo de la tabla NXX() para los
nudos de la lista LNU() , y guardarlos en la tabla NAB().
lista de nudos
matriz de resultados
nodales en los nudos
relacionados en la lista
de nudos
matriz de resultados
nodales
Figura 16.14. Ejemplo de la instruccin ORXYNU.
Las lneas siguientes contienen los coeficientes de las filas sucesivas de la matriz.
La Figura 17.1(b) presenta, en el Bloc de notas, el archivo plano que contiene los coefi-
cientes de la matriz incluida en la hoja de clculo de Microsoft Excel y mostrada en la
Figura 17.1(a). La Tabla 2.16 resume el objetivo de las instrucciones de este captulo.
190 Captulo 17. Instrucciones para importar y exportar matrices
nombre del
archivo
nmero de columnas
columna #1 columna #2
nmero de filas, nmero
nmero de columnas columna #1 columna #2 de filas
nombre de fila #1
la matriz
fila #1
fila #23
Figura 17.1. Instrucciones para importar y exportar matrices: (a) hoja de clculo visualizada
desde Microsoft Excel, (b)archivo plano visualizado desde el Bloc de notas.
17.1. IOEXPR
Esta instruccin permite exportar una matriz real existente a un archivo plano en el formato
indicado en la Figura 17.1(b).
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
IOEXPR XYZ(),"XYZ"
17.2. IOEXPI
Esta instruccin permite exportar una matriz entera existente a un archivo plano en el for-
mato indicado en la Figura 17.1(b). La sintaxis de la instruccin y la descripcin de sus
respectivos argumentos se presentan a continuacin.
IOEXPI ELE(),"ELE"
17.3. IOEXPD
Esta instruccin permite exportar un vector existente de datos enteros a un archivo plano en
el siguiente formato:
Los coeficientes son cantidades enteras las cuales se escriben sin un formato especfi-
co.
IOEXPD GRA(),"GRA"
17.4. IOELDR
Esta instruccin permite exportar una matriz real existente a un archivo plano en el formato
indicado en la Figura 17.1(b) para un paso de carga especfico.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
en la Tabla 17.4.
17.5. IOEXPT
Esta instruccin permite exportar una cadena de caracteres a la primera lnea de un archivo
plano. La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se pre-
sentan a continuacin.
18.1. PBDEMR
Extrae el nmero de filas y de columnas de una matriz real existente con dimensiones defi-
nidas. La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se pre-
sentan a continuacin.
18.2. PBDEMI
Extrae el nmero de filas y de columnas de una matriz entera existente con dimensiones
definidas. La sintaxis de la instruccin se indica en la Tabla 18.2.
18.3. PBATRI
Calcula el rea de un triangulo a partir de las coordenadas de sus extremos. La sintaxis de
la funcin y la descripcin de sus respectivos argumentos se presentan en la Tabla 18.3.
196 Captulo 18. Instrucciones internas de uso comn
18.4. PBDIST
Calcula la distancia entre dos nudos en el espacio bidimensional a partir de la matriz o tabla
de coordenadas en los nudos. La sintaxis de la funcin y la descripcin de sus respectivos
argumentos se presentan a continuacin.
18.5. PBCOSD
Calcula los cosenos directores que describen la direccin de un segmento recto definido
entre dos nudos a partir de las coordenadas de los mismos. En otras palabras, obtiene las
componentes de un vector unitario n cuya direccin est definida por un segmento recto.
La sintaxis de la funcin y la descripcin de sus respectivos argumentos se presentan a
continuacin.
18.6. PBDIAG
Llena los coeficientes de la diagonal inferior de una matriz cuadrada a partir de los coefi-
cientes de la diagonal superior convirtindola en una matriz simtrica.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
PBDIAG MX(), NF
18.7. PBCOEL
Calcula cuatro factores de elasticidad para condicin plana de esfuerzos y plana de defor-
maciones tiles en el clculo de la matriz de rigidez de los elementos de elasticidad plana.
Se definen E1, E2, E3 y E4 como factores de elasticidad en condicin plana de esfuerzos, de
la forma:
(1 ) 1 1
E1 = , E2 = , E3 = , E 4 = (1 + ) (18.1)
(1 2 ) (1 2 ) 2
donde corresponde a la relacin de Poisson del material. En cambio, en condicin
plana de deformaciones los factores son iguales a:
(1 )
E1 = 1 , E 2 = , E3 = , E 4 = (1 2 ) (18.2)
2
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
18.8. PBREDO
Redondea un escalar real segn el nmero de cifras significativas establecido. La sintaxis
de la funcin y la descripcin de sus respectivos argumentos se presentan a continuacin.
[variable]= PBREDO(V, N)
18.9. PBDINU
Calcula la distancia entre un nudo y un segmento recto definido por dos nudos.
La sintaxis de la funcin y la descripcin de sus respectivos argumentos se presentan a
continuacin.
18.10. PBPGAU
Construye una tabla que contiene las constantes de ponderacin en el mtodo de integra-
cin numrica de la cuadratura de Gauss (Zienkiewicz 1980; Cook, Malkus et al. 1989;
Hughes 2000). La sintaxis de la funcin y la descripcin de sus respectivos argumentos se
presentan a continuacin.
En el interior de las subrutinas presentadas en este captulo se ejecuta una aplicacin es-
pecial adjunta al programa denominado PEFI-Graf 1.0 la cual genera diferentes tipos de
grficos a partir de los resultados en los nudos o en los elementos de la malla.
Para utilizar dicha aplicacin es necesario que el archivo ejecutable PEFIGRAF.exe est
ubicado en la misma carpeta donde se encuentre el libro de Microsoft Excel con las rutinas
del programa. Los datos de entrada son archivos de texto que contienen la topologa y los
resultados de la malla de elementos finitos, como se indica en la Tabla 19.1.
A excepcin de GRA.txt, los archivos de texto deben mantener la siguiente estructura
para que sean ledos por el programa PEFI-Graf 1.0, (Figura 19.1):
202 Captulo 19. Instrucciones grficas
nmero de columnas
nmero
de filas
fila 1
fila 12
columna 1 columna 2
archivo de texto que contienen la matriz de
coordenadas de los nudos
De forma secuencial, cada lnea contiene los coeficientes de una fila de la matriz.
El archivo GRA.txt contiene los parmetros generales del grfico que ser generado por
el programa PEFI-Graf 1.0. Estos datos han sido guardados en la matriz de parmetros
grficos GRA() del programa PEFiCA. La Tabla 19.2 describe cada uno de estos parme-
tros.
El primer coeficiente de la matriz de parmetros grficos identifica el tipo de resultado
que se desea dibujar seleccionado de la Tabla 19.3.
En la Tabla 19.2, los cdigos que determinan el color de una propiedad estn definidos
por el formato de color de Microsoft Basic presentado en la Tabla 19.4. Este formato utili-
za 16 colores presentados como nmeros enteros entre 0 y 15.
Estas subrutinas tienen el prefijo GRA y estn contenidas en el mdulo MdGRA para facili-
tar su ubicacin en el cdigo como lo indica la Tabla 2.20.
Posicin en
Coeficiente Valor por
el archivo Descripcin
de la matriz defecto
(# lnea)
GRA(1,1) 1 2Identificador del tipo de grfico (Tabla 19.3).
GRA(2,1) 2 0
Color del fondo de la ventana grfica (Tabla
19.4).
GRA(3,1) 3 15
Color de las etiquetas de numeracin de nudos
y elementos (Tabla 19.4).
GRA(4,1) 4 12 Color de los nudos de la malla (Tabla 19.4).
GRA(5,1) 5 14
Color de las lneas de delimitan a los elemen-
tos de la malla (Tabla 19.4).
GRA(6,1) 6 2 Tipo de puntero.
Estado de la ventana.
Si GRA(7,1)=0 ventana normal.
GRA(7,1) 7 2
Si GRA(7,1)=1 ventana minimizada.
Si GRA(7,1)=2 ventana maximizada.
GRA(8,1) 8 40
Nmero de iso lneas dibujadas (mltiplo de
4).
GRA(9,1) 9 20
Nmero de etiquetas de las iso-lneas dibuja-
das (mltiplo de 4).
Nmero del primer nudo numerado.
GRA(10,1) 10 -1
Si GRA(10,1)=-1 se numeran todos los nudos.
GRA(11,1) 11 -1 Nmero del ltimo nudo numerado.
Nmero del primer elemento numerado.
GRA(12,1) 12 -1 Si GRA(12,1)=-1 se numeran todos los ele-
mentos.
Nmero del ltimo elemento numerado.
Si GRA(13,1)=-1 se numeran todos los
GRA(13,1) 13 -1
elementos.
Si GRA(13,1)=-2 se numeran todos los
elementos e indica la direccin del nudo
inicial.
Indicador del tipo de gama de tonos para los
resultados.
GRA(14,1) 14 0
Si GRA(14,1)=0 se utiliza la escala rojo-
amarillo-verde-cian-azul.
Si GRA(14,1)=1 se utiliza la escala de
grises (blanco-negro).
Tabla 19.2. Parmetros grficos de la matriz GRA() para el programa PEFiCA 1.0 o del
archivo GRA.txt para el programa PEFiCAGraf 1.0.
19.1. GRAFDE
Crea la matriz de parmetros grficos con los valores por defecto de cada uno de los coefi-
cientes indicados en la tercera columna de la Tabla 19.2. La sintaxis de la instruccin y la
descripcin de sus respectivos argumentos se presentan a continuacin.
GRAFDE GRA()
19.2. GRAFIL
Crea un archivo GRA.TXT que contiene los parmetros grficos almacenados en un vector
existente GRA().
Dorian Luis Linero Segrera Universidad Nacional de Colombia, 2010
PEFiCA Programa de elementos finitos a cdigo abierto 205
GRAFIL GRA()
19.3. GRAGEO
Dibuja la geometra de la malla de elementos finitos a partir de la matriz de coordenadas de
los nudos y la matriz de conectividades. Indica la numeracin tanto de nudos como de
elementos.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
GRA() (16x1)
C1
Tipo de grfico (ser asignado en la instruccin GRAGEO de
F1 003
acuerdo con el valor de TG).
F2 015 Color del fondo de la ventana grfica = blanco brillante.
F3 000 Color de las etiquetas de numeracin = negro.
F4 012 Color de los nudos de la malla = rojo claro.
F5 000 Color de las lneas de delimitan a los elementos = negro.
F6 000 Tipo de puntero.
F7 000 Estado de la ventana = normal
Si se ejecuta la instruccin:
19.4. GRAMAT
Dibuja la malla de elementos finitos y representa el valor de una cantidad entera definida en
cada elemento (como por ejemplo el tipo de material), con un color especificado.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
GRA() (16x1)
C1
Tipo de grfico (ser asignado en la instruccin GRAMAT de
F1 003
acuerdo con el valor de TG).
F2 015 Color del fondo de la ventana grfica = blanco brillante.
F3 000 Color de las etiquetas de numeracin = negro.
F4 000 Color de los nudos de la malla = negro.
F5 000 Color de las lneas de delimitan a los elementos = negro.
F6 000 Tipo de puntero.
F7 000 Estado de la ventana = normal
F8 040 No aplica
F9 020 No aplica
F10 000
Nmero del primer nudo numerado = no se numeran los
nudos.
F11 000
Nmero del ltimo nudo numerado = no se numeran los
nudos.
F12 000
Nmero del primer elemento numerado = no se numeran los
elementos.
F13 000 Nmero del ltimo elemento numerado = no se numeran los
elementos.
F14 000 No aplica
Si se ejecuta la instruccin:
material 1
material 2
19.5. GRAFIF
Dibuja los resultados nodales de una cantidad o funcin de aproximacin definida por el
vector de valores nodales, la cual es interpolada en el interior de cada elemento mediante
sus funciones de forma.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
GRA() (16x1)
C1
Tipo de grfico (ser asignado en la instruccin GRAFIF de acuerdo con el
F1 003
valor de TG).
F2 015 Color del fondo de la ventana grfica = blanco brillante.
F3 000 Color de las etiquetas de numeracin = negro.
F4 012 Color de los nudos de la malla = rojo claro.
F5 000 Color de las lneas de delimitan a los elementos = negro.
F6 000 Tipo de puntero.
F7 000 Estado de la ventana = normal
F8 040 Nmero de iso-lneas dibujadas
F9 020 Nmero de etiquetas de las iso-lneas dibujadas
F10 -001 Nmero del primer nudo numerado = se numeran todos los nudos.
F11 -001 Nmero del ltimo nudo numerado = se numeran todos los nudos.
F12 -001 Nmero del primer elemento numerado = se numeran todos los elementos.
F13 -002
Nmero del ltimo elemento numerado = se numeran todos los elementos,
sin embargo para GRAFIF no se indica la direccin del nudo inicial.
F14 000
Indicador del tipo de gama de tonos para los resultados = escala rojo-
amarillo-verde-cian-azul.
Si se ejecuta la instruccin:
19.6. GRAFIM
Dibuja los resultados nodales de una cantidad o funcin de aproximacin definida por el
vector de valores nodales, la cual es interpolada en el interior de los elementos finitos del
mismo material. A diferencia de la instruccin GRAFIF, esta subrutina presenta los resulta-
dos nodales de cada material por separado.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
La matriz de resultados nodales por material contiene los valores promedio en los nudos
de la malla describiendo una funcin continua en el interior de cada grupo de elementos
finitos del mismo material. La instruccin ORSONM permite obtener dicha matriz.
Ejemplo 19.4 Dada la matriz de coordenadas de los nudos XYZ(), la matriz de co-
nectividades ELE() y la matriz de materiales MAT(), dibujar los resultados nodales
por material en la malla definidos en el vector TAS(), presentado de dos formas dis-
tintas: a) mediante iso-lneas , b) mediante regiones llenas. Los coeficientes de la
matriz de parmetros grficos GRA() son:
GRA() (16x1)
C1
Tipo de grfico (ser asignado en la instruccin GRAFIM de
F1 003
acuerdo con el valor de TG).
F2 015 Color del fondo de la ventana grfica = blanco brillante.
F3 000 Color de las etiquetas de numeracin = negro.
F4 000 Color de los nudos de la malla = negro.
F5 000 Color de las lneas de delimitan a los elementos = negro.
F6 000 Tipo de puntero.
F7 000 Estado de la ventana = normal
F8 040 Nmero de iso-lneas dibujadas
F9 020 Nmero de etiquetas de las iso-lneas dibujadas
F10 000 Nmero del primer nudo numerado = no se numeran los
nudos.
F11 000
Nmero del ltimo nudo numerado = no se numeran los
nudos.
F12 000
Nmero del primer elemento numerado = no se numeran los
elementos.
F13 000
Nmero del ltimo elemento numerado = no se numeran los
elementos.
F14 000
Indicador del tipo de gama de tonos para los resultados =
escala rojo-amarillo-verde-cian-azul.
Si se ejecuta la instruccin:
En un problema como este donde hay dos o ms materiales diferentes, los resultados
nodales corresponden al promedio de la cantidad de inters en los elementos del mismo
material. Si en la evaluacin del promedio no se considera la diferencia entre los materia-
les, los resultados nodales presentados sern diferentes, como se muestra en la Figura 19.6.
(a) malla de elementos material 1 (b) resultado nodal por material dibujado
finitos material 2 con iso-lneas
material 1
material 2
(d) detalle de la
malla de
elementos finitos
19.7. GRAFIE
Dibuja los resultados elementales de una cantidad o funcin de aproximacin definida por
una matriz de valores en el interior de cada elemento. La instruccin permite presentar los
resultados de dos formas distintas. La primera, toma de la matriz de valores elementales
una cantidad que considera constante para todos los puntos del interior del elemento. La
segunda, toma la cantidad que se desea dibujar en los nudos de cada elemento y con ellos
obtiene los valores en su interior interpolndolo mediante las funciones de forma.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
GRA() (16x1)
C1
Tipo de grfico (ser asignado en la instruccin GRAFIE de
F1 003
acuerdo con el valor de TG).
F2 015 Color del fondo de la ventana grfica = blanco brillante.
F3 000 Color de las etiquetas de numeracin = negro.
F4 012 Color de los nudos de la malla = rojo claro.
F5 000 Color de las lneas de delimitan a los elementos = negro.
F6 000 Tipo de puntero.
F7 000 Estado de la ventana = normal
F8 040 Nmero de iso-lneas dibujadas (no aplica)
F9 020 Nmero de etiquetas de las iso-lneas dibujadas (no aplica)
F10 -001 Nmero del primer nudo numerado = se numeran todos los
nudos.
F11 -001
Nmero del ltimo nudo numerado = se numeran todos los
nudos.
F12 -001
Nmero del primer elemento numerado = se numeran todos
los elementos.
F13 -001
Nmero del ltimo elemento numerado = se numeran todos
los elementos.
F14 000
Indicador del tipo de gama de tonos para los resultados =
escala rojo-amarillo-verde-cian-azul.
19.8. GRATDE
Dibuja la malla de elementos finitos deformada de acuerdo con el vector de desplazamien-
tos en los nudos para un problema de elasticidad bidimensional durante varios pasos de
carga. Previamente debe existir un archivo que contenga las coordenadas de los nudos de
la geometra deformada exagerada por cada paso de carga. Los nombres de los archivos
para los pasos de carga tendrn el siguiente formato: XYZ001.txt, XYZ002.txt,
XYZ003.txt , La instruccin IOELDR facilita la construccin de tales archivos.
Los desplazamientos reales son multiplicados por un factor de exageracin de tal forma
que la deformada de la estructura sea visible en la grfica.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
GRA() (16x1)
C1
Tipo de grfico (ser asignado igual a 50 por la instruccin
F1 050
GRATDE).
F2 015 Color del fondo de la ventana grfica = blanco brillante.
F3 000 Color de las etiquetas de numeracin = negro.
F4 012 Color de los nudos de la malla = rojo claro.
F5 000 Color de las lneas de delimitan a los elementos = negro.
F6 000 Tipo de puntero.
F7 000 Estado de la ventana = normal
F8 040 Nmero de iso-lneas dibujadas (no aplica)
F9 020 Nmero de etiquetas de las iso-lneas dibujadas (no aplica)
F10 -001
Nmero del primer nudo numerado = se numeran todos los
nudos.
F11 -001
Nmero del ltimo nudo numerado = se numeran todos los
nudos.
F12 -001
Nmero del primer elemento numerado = se numeran todos
los elementos.
F13 -001
Nmero del ltimo elemento numerado = se numeran todos
los elementos.
F14 000
Indicador del tipo de gama de tonos para los resultados =
escala rojo-amarillo-verde-cian-azul.
F15 005 Nmero de pasos de carga NULD
F16 010
Tiempo de retraso entre pasos de carga en dcimas de se-
gundo.
Si se ejecuta la instruccin: GRATDE ELE(), GRA(), NULD se activa una ventana gr-
fica que muestra una animacin de la deformada de la estructura en cada paso de
carga con una diferencia de tiempo de 1 segundo. La Figura 19.9 presenta el final
de la animacin. Los coeficientes GRA(1,1) y GRA(15,1) toman un valor de 50 y
NULD respectivamente.
Figura 19.9. Ejemplo de la instruccin GRATDE. Grfico del ltimo paso de carga.
19.9. GRATFI
Dibuja los resultados nodales de una cantidad o funcin de aproximacin definida por el
vector de valores en los nudos durante varios pasos de carga (o de pseudo-tiempo en gene-
ral). Previamente debe existir un archivo que contenga el vector de valores nodales por
cada paso de carga. Los nombres de los archivos para los pasos de carga tendrn el si-
guiente formato: FIF001.txt, FIF002.txt, FIF003.txt , La instruccin IOELDR faci-
lita la construccin de tales archivos.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
GRA() (16x1)
C1
Tipo de grfico (ser asignado en la instruccin GRATFI de
F1 051
acuerdo con el valor de TG).
F2 015 Color del fondo de la ventana grfica = blanco brillante.
Si se ejecuta la instruccin:
se activa una ventana grfica que muestra una animacin del esfuerzo xx promedio
en los nudos de la estructura en cada paso de carga con una diferencia de tiempo de
1 segundo. La Figura 19.11 presenta el final de la animacin. Los coeficientes
GRA(1,1) y GRA(15,1) toman un valor de 54 y NULD respectivamente.
Figura 19.11. Ejemplo de la instruccin GRATFI. Grfico del ltimo paso de carga.
19.10. GRATFE
Dibuja los resultados elementales de una cantidad o funcin de aproximacin definida por
el vector de valores en los elementos durante varios pasos de carga (o de pseudo-tiempo en
general). Previamente debe existir un archivo que contenga el vector de valores elementa-
les por cada paso de carga. Los nombres de los archivos para los pasos de carga tendrn el
siguiente formato: FIE001.txt, FIE002.txt, FIE003.txt , La instruccin IOELDR
facilita la construccin de tales archivos.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
GRA() (16x1)
C1
Tipo de grfico (ser asignado en la instruccin GRATFE de
F1 051
acuerdo con el valor de TG).
Si se ejecuta la instruccin:
se activa una ventana grfica que muestra una animacin del esfuerzo xx en el in-
terior de los elementos de la estructura para cada paso de carga con una diferencia
de tiempo de 1 segundo. La Figura 19.13 presenta el final de la animacin. Los
coeficientes GRA(1,1) y GRA(15,1) toman un valor de 56 y NULD respectivamente.
Figura 19.13. Ejemplo de la instruccin GRATFE. Grfico del ltimo paso de carga.
20.1. GEMARE
Genera una malla de elementos finitos rectangulares en una regin en forma de rectangular.
Crea la matriz de coordenadas de los nudos y la matriz de conectividades de los elementos
de la malla construida.
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Coeficiente
Descripcin
de la matriz
GEM(1,1)
Coordenada x del extremo inferior izquierdo de la regin
rectangular que se desea enmallar.
GEM(2,1)
Coordenada y del extremo inferior izquierdo de la regin
rectangular que se desea enmallar.
GEM(3,1)
Coordenada x del extremo superior derecho de la regin
rectangular que se desea enmallar.
GEM(4,1)
Coordenada y del extremo superior derecho de la regin
rectangular que se desea enmallar.
GEM(5,1)
Nmero de elementos finitos en que se divide la regin
rectangular en direccin x.
GEM(6,1)
Nmero de elementos finitos en que se divide la regin
rectangular en direccin y.
Tabla 20.2. Parmetros de generacin de malla contenidos en la matriz
GEM().
GEM() (16x1)
C1
F1 0.0000E+00
Coordenada x del extremo inferior izquierdo de la regin
rectangular que se desea enmallar.
F2 0.0000E+00
Coordenada y del extremo inferior izquierdo de la regin
rectangular que se desea enmallar.
F3 9.0000E+00
Coordenada x del extremo superior derecho de la regin
rectangular que se desea enmallar.
F4 6.0000E+00
Coordenada y del extremo superior derecho de la regin
rectangular que se desea enmallar.
F5 3.0000E+00
Nmero de elementos finitos en que se divide la regin
rectangular en direccin x.
F6 2.0000E+00
Nmero de elementos finitos en que se divide la regin
rectangular en direccin y.
(x,y)=GEM(3,1),GEM(4,1)
03 06 09 12
02 04 06
GEM(6,1)
02 05 08 11
GEM(5,1) 01 03 05
y y
01 04 07 10
(x,y)=GEM(1,1),GEM(2,1)
x x
superficie rectangular malla de elementos finitos
Figura 20.1. Ejemplo de la instruccin GEMARE.
K = f i (21.1)
m
f = A f (e) (21.3)
( e ) =1
m
i = A i (e) (21.4)
( e )=1
Las contribuciones interelementales son valores de derivada direccional de la funcin
( x, y ) en el contorno del problema, lo cual corresponde al producto entre el gradiente de
y el vector n = n x i + n y j , es decir:
228 Captulo 21. Instrucciones para crear el vector de contribucin interelemental
n = = nx + ny ( x, y ) (21.5)
n x x
siendo n el vector unitario en direccin normal al contorno y en sentido tal que sale del
dominio del problema.
Un elemento finito bidimensional que comparte por lo menos uno de sus lados con el
contorno del problema, podra tener un vector de contribucin interelemental i (e ) igual a la
integral de lnea en los lados del elemento que conforman el contorno, de la forma:
(
i (e ) = ( e ) N ( e)
)T
S ( e ) dL (21.6)
21.1. ITRIAN
Crea el vector de contribucin interelemental de un elemento finito triangular lineal (Figura
8.3(a)), preparado para resolver una ecuacin diferencial de campo bidimensional expresa-
da en la Ecuacin (10.5).
Sustituyendo la matriz de funciones de forma del elemento N (e ) presentada en las Ecua-
ciones (8.14) a (8.16), en la Ecuacin (21.6) se obtiene el vector de contribucin interele-
mental sobre los tres lados de un elemento triangular lineal de nudos ijk de la forma:
1 0 1
(e) Sij( e ) L(ije ) S (jke ) L(jke ) (e) (e )
1 + Sik Lik 0
i = 1 + (21.7)
2 2 2
0 1 1
donde Sij(e ) es la derivada direccional con respecto a la normal al lado ij de longitud L(eij ) ,
S (ejk ) es la derivada direccional con respecto a la normal al lado jk de longitud L(ejk) y Sik(e ) es
la derivada direccional con respecto a la normal al lado ik de longitud L(eik ) .
Sin embargo, la instruccin FTRIAN calcula el vector de contribucin interelemental por
cada lado c del elemento indicado en la Figura 11.1 de la forma:
Sij( e ) L(ije )
Si c = 1 i (e)
= [1 1 0]
T
2
(e) (e)
S L
Si c = 2 i ( e ) = jk jk
[0 1 1]
T
(21.8)
2
(e) (e)
S L
Si c = 3 i ( e ) = ik ik [1 0 1]
T
2
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 21.1 Sea un problema controlado por la Ecuacin (10.5), para el cual el
lado ik del elemento triangular lineal nmero 2 pertenece al contorno cuya condi-
cin de Neumann indica que n = 5.2 . La contribucin interelemental dada por
el elemento nmero 2 se obtiene de la siguiente instruccin:
Dadas las coordenadas de los nudos que definen el lado ik del elemento finito se tie-
ne que L(ike ) = 2.0 . Por lo tanto, los coeficientes del vector de contribucin interele-
mental son los siguientes:
IEL() (3x1)
C1
F1 -5.2000E+00
F2 0.0000E+00
F3 -5.2000E+00
21.2. IRECTA
Crea el vector de contribucin interelemental de un elemento finito rectangular bilineal
(Figura 8.7(a)), preparado para resolver una ecuacin diferencial de campo bidimensional
expresada en la Ecuacin (10.5).
Sustituyendo la matriz de funciones de forma del elemento N (e ) presentada en las Ecua-
ciones (8.19) y (8.20), en la Ecuacin (21.6) se obtiene el vector de contribucin interele-
mental sobre los cuatro lados de un elemento rectangular bilineal de nudos ijkm de la for-
ma:
1 0 0 1
(e)
S L (e) 1 S ( e ) L( e ) 1 (e ) (e) 0 (e ) (e) 0
i (e) =
ij ij + jk jk + S km Lkm + S im Lim (21.9)
2 0 2 1 2 1 2 0
0 0 1 1
donde Sij(e ) es la derivada direccional con respecto a la normal al lado ij de longitud L(eij ) ,
S es la derivada direccional con respecto a la normal al lado jk de longitud L(ejk) , S km
(e )
jk
(e )
es la
derivada direccional con respecto a la normal al lado km de longitud L(ekm) y Sim(e ) es la deri-
vada direccional con respecto a la normal al lado im de longitud L(eim) . Sin embargo, la ins-
truccin IRECTA calcula el vector de contribucin interelemental por cada lado c del ele-
mento indicado en la Figura 11.3 de la forma:
Sij( e ) L(ije )
Si c = 1 i (e)
= [1 1 0 0]
T
2
(e) (e)
S L
Si c = 2 i ( e ) = jk jk
[0 1 1 0]
T
2 (21.10)
(e) (e)
S L
Si c = 3 i ( e ) = [0 0 1 1]T
km km
2
(e) (e)
S L
Si c = 4 i ( e ) = im im [1 0 0 1]
T
2
La sintaxis de la instruccin y la descripcin de sus respectivos argumentos se presentan
a continuacin.
Ejemplo 21.2 Sea un problema controlado por la Ecuacin (10.5), para el cual el
lado km del elemento rectangular bilineal nmero 1 pertenece al contorno cuya
condicin de Neumann indica que n = 5.2 . La contribucin interelemental dada
por el elemento nmero 1 se obtiene de la siguiente instruccin:
Dadas las coordenadas de los nudos que definen el lado km del elemento finito se
tiene que L(kme ) = 2.0 . Por lo tanto, los coeficientes del vector de contribucin inter-
elemental son los siguientes:
IEL() (3x1)
C1
F1 0.0000E+00
F2 0.0000E+00
F3 -5.2000E+00
F3 -5.2000E+00
Antia, H. M. (2002). Numerical Methods for Scientists and Engineers. Berlin, Birkhuser
Verlag.
Argyris, J. (1954). "Energy theorems ans structural analysis." Aircraft Engineering 26: 347-
356, 383-387.
Argyris, J. (1955). "Energy theorems ans structural analysis." Aircraft Engineering 27: 42-
58, 80-94, 125-134, 145-158.
Bathe, K. (1996). Finite elements procedures. New Jersey, Prentice Hall.
Belytschko, T., Liu, W. K. & Moran, B. (2000). Nonlinear finite elements for continua and
structures, John Wiley and Sons.
Bonet, J. & Wood, R. (1997). Nonlinear continuum mechanics for finite elements analysis,
Cambridge University Press.
Cervera, M., Agelet, C. & Chiumenti, M. (2001). COMET. Contact Mechanical and Ther-
mal analysis. Multi purpose coupled nonlinear program for steady and transient
conditions. Barcelona.
Clough, R. (1960). The finite element in plane stress analysis. Conference on Electronic
Computation, Pittsburgh.
COMSOL (2007). COMSOL Multiphysics. Los Angeles, USA.
Cook, R., Malkus, D. & Plesha, M. (1989). Concepts and applications of finite elements
analysis. New York, John Wiley & Son.
Crisfield, M. A. (1991a). Non-linear finite elements analysis of solid and structures. 1 -
Essentials. John Wiley and Sons.
Crisfield, M. A. (1991b). Non-linear finite elements analysis of solid and structures. 2 -
Advanced topics, John Wiley and Sons.
Felippa, C. (1991). Nonlinear finite elements method. Boulder, University of Colorado.
Gere, W. & Weaver, J. (1990). Matrix Analysis of Framed Structures. New York, Van
Nostrand Reinhold.
Grossman, S. (1996). Algebra Lineal. Mxico D.F., Mc Graw Hill.
Herrera, L. (2007). Simulacin del comportamiento elstico del concreto reforzado someti-
do a torsin pura mediante el mtodo semi-inverso de Saint-Venant y el mtodo de
los elementos finitos. Tesis de pregrado en Ingeniera Civil, Universidad Nacional
de Colombia, Bogot.
Holzapfel, G. (2000). Nonlinear solid mechanics, John Wiley and Sons.
Horn, R. & Johnson, C. (1994). Topics in Matrix Analysis, Cambridge.
Hughes, T. J. R. (2000). The finite element method. New York, Dover.
Kojic, M. & Bathe, K. J. (2005). Inelastic Analysis of Solids and Structures. Berlin, Sprin-
ger-Verlag.
Linero, D. (1999). Euler. Programa didctico de elementos finitos. Bogot, Facultad de
Ingeniera. Universidad Nacional de Colombia.
LundUniversity (1999). CALFEM. A finite element toolbox to MATLAB. Lund, Sweden,
Division of Structural Mechanics and Division of Solid Mechanics.
MacNeal, R. (1972). The NASTRAN Theorial Manual.
234 Referencias