Professional Documents
Culture Documents
RESUMEN
Los siguientes pasos resumen el uso del MEF: Dividir la estructura en partes (elementos y
nodos). Describir el comportamiento de cantidades físicas sobre cada elemento. Conectar (en-
samblar) los elementos y nodos en forma apropiada (sistema de ecuaciones). Resolver el sistema
de ecuaciones para determinar las cantidades desconocidas en los nodos (desplazamientos, tem-
peraturas, ...). Calcular las cantidades deseadas (deformaciones y tensiones, calor transferido,
...) en los elementos seleccionados.
En este trabajo se han desarrollado aspectos matemáticos de la teoría general del MEF me-
diante el estudio del problema unidimensional y bidimensional, analizando sistemas discretos y
sistemas continuos en forma matricial. En cada sección se plantean algoritmos que simplifican la
comprensión del procedimiento teórico y facilitan su posterior programación mediante el código
de MATLAB. Posteriormente se da solución a un grupo de problemas aplicando los algoritmos
y programas desarrollados.
Entre los objetivos de éste trabajo esta describir de forma simple las ideas fundamentales del
método de elementos finitos, explicando las bases matemáticas usadas por el método y su
aplicación a diferentes campos de ingeniería.
1.1. Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4. Método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
vii
viii ÍNDICE GENERAL
4.3. Problemas de tipo discreto bidimensionales: 2 grados de libertad por nodo . . . 109
A. ANEXOS 149
Bibliografía 181
Capítulo 1
1.1. Presentación
La discretización del sistema en estudio generará sistemas de ecuaciones lineales que pueden ser
11
12 Cap. 1 GENERALIDADES DEL MÉTODO DE ELEMENTOS FINITOS
resuelto<s mediante métodos matriciales, los cuales abarcan un gran número de operaciones
repetitivas que favorecen el cálculo automático mediante el uso de computadores.
El método de elementos finitos, también es conocido como análisis mediante elementos finitos.
El procedimiento de estudio mediante el uso del método de elementos finitos puede resumirse
en los siguientes pasos:
Resolver el sistema de ecuaciones para determinar las cantidades desconocidas en los nodos
(por ejemplo, desplazamientos, temperaturas, ...).
Calcular las cantidades deseadas (por ejemplo , deformaciones y tensiones, calor transfe-
rido, ...) en los elementos seleccionados.
Una breve historia sobre el desarrollo del método de elementos finitos puede considerarse como
una extrapolación de los métodos de cálculo matricial para estructuras de barras al análisis de
estructuras de tipo continuo,(OÑATE, 1999). Un resumen cronológico sobre el desarrollo del
método se presenta a continuación:
La versatilidad del método y las fuertes bases matemáticas inherentes a dicho método son
reconocidas y aplicadas a otras áreas siendo Zienkiewicz y Cheung los primeros en publicar el
Sec. 1.1 Presentación 13
método aplicado a otros problemas de campo (conductores de calor, fluidos irrotacionales, entre
otros.)
Ingeniería Mecánica
Ingeniería Aeroespacial
Ingeniería Civil
Ingeniería Automotriz
Electromagnetismo
Geomecánica
Para facilitar la comprensión y aplicación del método por parte del lector, se presentan las
bases teóricas mediante sencillas estructuras algorítmicas y se espera que posteriormente sirvan
de guía para desarrollar problemas de mayor complejidad. Debido a que una de las fortalezas
del MEF es su aplicación en forma computacional, los algoritmos desarrollados en este trabajo
se utilizan para dar solución a problemas sencillos en forma manual y así adquirir las destrezas
básicas necesarias para la comprensión y elaboración de programas.
Finalmente éste trabajo proporciona a los lectores una breve introducción a MATLAB, ilus-
trando con la implementación de algunos problemas el uso de secuencias de comandos simples
y de funciones. No se pretende dar una visión profunda de la implementación computacional
del método de elementos finitos, sólo se quiere implementar las ecuaciones y estructuras básicas
de modo que el usuario pueda modificar los códigos.
14 Cap. 1 GENERALIDADES DEL MÉTODO DE ELEMENTOS FINITOS
1.2. Objetivos
Describir los procedimientos matemáticos utilizados para aplicar el método de elementos finitos,
mediante sencillas estructuras algorítmicas que permitan obtener la solución de problemas en
forma manual y faciliten la comprensión y elaboración de programas en MATLAB.
5. Introducir aspectos básicos de MATLAB para desarrollar programas sencillos que identi-
fiquen el pre proceso, proceso y post proceso en la programación del método de elementos
finitos.
Sec. 1.3 Organización y contenido 15
1.4. Método
Este trabajo permite comprender de forma simple las ideas fundamentales del método de ele-
mentos finitos, así como, conocer el comportamiento y uso de cada tipo de elemento. Se presenta
la forma de construir apropiadamente un modelo de elementos finitos para diferentes tipos de
problemas, posteriormente la interpretación y evaluación de la calidad de los resultados (cono-
cido el problema físico).
Es importante conocer las limitaciones del método de elementos finitos para evitar su mal uso
como herramienta numérica. Para la implementación computacional se presentan tres etapas:
• Generación de la geometría.
• Definición de nodos.
• Definición de elementos.
• Propiedades de los elementos.
• Definición de materiales.
• Condiciones de contorno (cargas y restricciones)
Post proceso: en esta fase el programa lee el archivo de resultados generados durante el
análisis del modelo y los presenta por ejemplo en forma gráfica. Presenta los valores de
las variables como regiones coloreadas o líneas sobre la superficie del modelo, e inclusive,
secuencias animadas.
Algunos programas comerciales y paquetes disponibles para la aplicación del MEF son: ANSYS
(Propósitos generales, PC y estaciones de trabajo), SDRC/I-DEAS (paquetes para CAD/CAM/CAE),
NASTRAN (Análisis de elementos finitos general para PC), ABAQUS (Análisis no lineal y aná-
lisis dinámico), COSMOS (Análisis de elementos finitos general), ALGOR (PC y estaciones de
trabajo). PATRAN (Pre/Post Procesador), Dyna-3D (Choques y análisis de impacto), entre
otros.
Dentro del ámbito de la ingeniería, la matemática aplicada y la física, son básicamente tres las
áreas en las que el MEF se aplica.
Desde el punto de vista práctico, la característica más atractiva del método de elementos finitos,
y quizás también la más riesgosa, estriba en el hecho de que es un método aproximado. Cuando
es utilizado por expertos o por profesionales muy cuidadosos es un procedimiento muy útil para
obtener información sobre el comportamiento de sistemas para los que no existen soluciones
analíticas disponibles o son de un alto grado de complejidad. No obstante, su mismo carácter
aproximado le confiere un nivel de riesgo si no se posee una experiencia previa, en cuyo caso
debe actuarse con precaución.
2.1. Introducción
El método de Elementos Finitos (MEF) permite abordar el estudio de los modelos matemáti-
cos que describen el comportamiento de sistemas estructurales, mecánicos, eléctricos, térmicos,
entre otros, cuya configuración geométrica podrá definirse o no, por un número finito de coor-
denadas generalizadas o conjunto de parámetros que pueden ser función del tiempo o tomar
valores constantes; estos parámetros pueden ser interpretados geométricamente como longitud,
área, volumen, coordenadas rectangulares, entre otros. El número de coordenadas generalizadas
permiten clasificar a los sistemas como discretos y sistemas continuos.
En este capítulo se desarrollan las formulaciones para diferentes tipos de problemas clasificados
como sistemas discretos y continuos. Como ejemplo se hace referencia al análisis unidimensional
de un elemento sólido o barra elástica de longitud L como el mostrado en la figura 2.1, con
extremos identificados por los nodos 1 y 2, al cual se le quiere determinar el desplazamiento en
los puntos de la barra debido a la acción de una carga axial.
19
20 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL
enfoques:
1. Las ecuaciones de equilibrio de fuerzas axiales actuantes en los extremos de la barra, te-
niendo en cuenta que la deformación en cualquier punto de la barra es igual al alargamiento
relativo de la misma, así como la relación entre la tensión y la deformación mediante la
Ley de Hooke. Obteniendo bajo estas consideraciones una formulación matricial, (modelo
matemático para un sistema discreto).
incógnitas a partir de cuya solución se obtendrá el comportamiento del sistema, por ejemplo
una red eléctrica, una red de tuberías, sistemas estructurales. (figura 2.2).
Figura 2.2: Sistemas discretos:(a) sistema de barras, (b) sistema eléctrico resistivo, (c) sistema de resortes, (d)
sistema de tuberías.
Si el análisis es dinámico o dependiente del tiempo el resultado del proceso de análisis se reduce
a ecuaciones diferenciales ordinarias, en donde la variable independiente es el tiempo. Los
sistemas discretos no existen en la realidad pero bajo hipótesis y simplificaciones representan
convenientemente una situación real. Para el estudio de este tipo de sistemas se hace necesario
definir una malla de elementos discretos, asignándoles los valores de propiedades mecánicas
y geométricas, luego haciendo uso de leyes físicas se plantean las correspondientes ecuaciones
de equilibrio generando sistemas de ecuaciones cuya solución numérica permitirá obtener las
incógnitas nodales y a partir de estos resultados obtener otros parámetros de interés.
Son aquellos donde no se puede identificar un conjunto de parámetros discretos que caractericen
el sistema. En estos sistemas existen elementos deformables y al intentar una subdivisión ésta
puede proseguir de modo indefinido, con lo que el problema debe representarse mediante el
uso del cálculo diferencial e integral lo cual conduce a un modelo matemático generalmente
expresado en ecuaciones diferenciales ordinarias o ecuaciones diferenciales en derivadas parciales
que deben satisfacer cada punto del sistema. Ante tales situaciones se trata de obtener respuestas
aproximadas a través de técnicas que reduzcan el problema de infinitas variables a uno de un
número finito de variables (grados de libertad) de resolución más accesible. Ejemplos de estos
22 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL
Figura 2.3: Sistemas continuos: (a) Presas, (b) Láminas, (c) Puentes, (d) Placas
En el siguiente esquema (figura 2.4), se presentan en forma resumida los métodos para buscar
la solución de una ecuación diferencial o un sistema de éstas. La primera división clasifica
a los métodos en exactos y aproximados. El método aproximado a su vez se divide en la
formulación por diferencias finitas y la formulación integral equivalente, ambos métodos no
deben confundirse aunque tienen como finalidad la resolución de ecuaciones diferenciales y
requieren sobre la geometría el trazado de mallas o cuadrículas.
En este trabajo se plantea la solución haciendo uso del método aproximado y mediante la for-
mulación integral equivalente. Adicionalmente se exponen aspectos básicos sobre la formulación
variacional y la formulación residual. La formulación variacional se basa en la búsqueda de la
solución del problema a partir de la resolución de una ecuación integral que representa una pro-
piedad general del sistema, un ejemplo es la integral obtenida a partir del principio de energía
mínima. Posteriormente se presentan las formulaciones residuales que se basan en el Método
de Residuos Ponderados (MRP), tales como el método de colocación por puntos, el método de
colocación por subdominios, el método de mínimos cuadrados, el método de Galerkin etc.
Sec. 2.2 Análisis matricial de sistemas discretos 23
Las ecuaciones matriciales de sistemas discretos se obtienen a partir del estudio del ”equilibrio” e
implican un importante número de operaciones repetitivas. A continuación se presentan algunos
ejemplos para elementos simples y para sistemas de elementos en los casos mas característicos
como son el análisis de resortes y barras a tracción, en los cuales se asume comportamiento
lineal.
1. Resorte simple
F = k(uj − ui ) = kδ (2.1)
nodo i nodo j
(2.2)
fi = −F = −k(uj − ui ) fj = F = k(uj − ui )
En forma matricial: " # " #" #
fi k −k ui
= (2.3)
fj −k k uj
En notación matricial compacta:
f = Ku (2.4)
donde f es el vector de fuerzas del elemento, K es la matriz de rigidez del elemento y u es
el vector de desplazamientos del elemento.
2. Sistema de resortes
Considere un sistema de 2 resortes en serie de constantes elásticas k (1) , k (2) en N ewton
m
, tal
como se indica en la figura 2.6, donde los desplazamientos de los nodos u1 , u2 , u3 están
dados en metros, y las fuerzas nodales f1 , f2 , f3 en Newton.
comentará el efecto del orden de numeración sobre la forma de la matriz de rigidez, sin
embargo debe tenerse en cuenta que la numeración local de los nodos de cada elemento
se considerará siempre de izquierda a derecha en el caso unidimensional, y en sentido anti
horario en el caso bidimensional.
Figura 2.7: Representación del elemento genérico: (a) Numeración de un elemento genérico, (b) Numeración de
dos elementos en forma global, (c) Numeración de dos elementos en forma local.
" # elemento
" 1 #" # " # elemento
" 2 #" #
f11 k 1
−k 1 1
u1 2
f1 k 2
−k 2
u12
= ; =
f21 −k 1
k 1 1
u2 2
f2 −k 2
k 2
u22
3. Barra a tracción
Considere un elemento de barra (e) de longitud l(e) sometida únicamente a fuerzas axia-
les como la de la figura 2.8. Se deduce de la teoría de Resistencia de Materiales que la
deformación en cualquier punto de la barra es igual al alargamiento relativo de la misma
[Timoshenko and Gere, 1974] , es decir
(e) (e)
4l(e) u −u
ε= (e)
= 2 (e) 1 (2.5)
l l
(e) (e)
donde u1 y u2 son los desplazamientos de los extremos 1 y 2 de la barra, respectivamente.
Por otra parte, la tensión axial (σ) está relacionada con la deformación (ε) por la Ley de
Hooke [Timoshenko and Goodier, 1970]
(e) (e)
(e) (e) u2 − u1
σ=E ε=E (2.6)
l(e)
Sec. 2.2 Análisis matricial de sistemas discretos 27
donde E (e) es el módulo de elasticidad del material de la barra. Por integración de las
tensiones sobre la sección transversal de área A(e) se obtiene la fuerza axial (N) que se
transmite a través de los nodos a las barras adyacentes. Suponiendo que el material es
homogéneo se tiene
(e) (e)
(e) (e) u2 − u1
N = A σ = (EA) (2.7)
l(e)
(e) (e)
(e) u2 − u1 (e) (e)
N = (EA) (e)
= k (e) (u2 − u1 ) (2.8)
l
EA (e)
donde k (e) = ( ) .
l
(e) (e)
Estableciendo el equilibrio de las fuerzas axiles R1 y R2 actuantes en los extremos de la
barra, se tiene (ver figura 2.8)
(e) (e)
R2 = −R1 = N (2.9)
nodo 1 ( ) nodo 2 ( )
h i u(e) h i u(e)
(e) 1 (e) 1
R1 = k (e) 1 −1 (e) R2 = k (e) −1 1 (e)
u2 u2
en forma matricial:
( ) " #( )
(e) (e)
R1 1 −1 u1
(e) = k (e) (e) (2.10)
R2 −1 1 u2
R = Ku (2.11)
4. Sistema de barras
EA (e)
Considere un sistema de 2 barras cuyas constantes elásticas están dadas por k (e) = ( )
l
en N ewton
m
, tal como se indica en la figura 2.9. Los desplazamientos de los nodos u1 , u2 , u3
están dados en metros, y las fuerzas nodales f1 , f2 , f3 en Newton.
" # elemento
" 1 #" # " # elemento
" 2 #" #
f11 k 1 −k 1 u11 f12 k 2 −k 2 u21 (2.13)
= =
f21 −k 1 k 1 u12 f22 −k 2 k 2 u22
concurren en el mismo, es igual a la fuerza exterior que actúa en dicho nodo. En forma
matemática
Xne
(e)
Fi = Fjexterior (2.14)
e=1
La ecuación 2.13 expresa las fuerzas de cada barra (elemento) en función de los despla-
zamientos de los nodos, entonces para obtener la representación matricial del equilibrio
global de la estructura se realiza un proceso definido como ensamblaje:
En forma matricial (referencia local)
f11 k1 −k 1 0 u11
1
f2 + f12 = −k 1 k 1 + k 2 −k 2 u12 = u21
f22 0 −k 2 k2 u22
F1 k1 −k 1 0 u1
F2 = −k 1 k 1 + k 2 −k 2 u2
F3 0 −k 2 k2 u3
F = Ku
f 1
K11 K12 · · · K1n
u1
f K21 K22 · · · K2n
u2
2
.. .. .. ..
. =
. .
. (2.16)
.
..
..
. .. ..
.
.
Kn1 Kn2 · · · Knn
fn un
Al observar la matriz de rigidez global es posible deducir una regla general, mediante la cual
se puede ensamblar la contribución de la rigidez de un elemento individual. Un elemento (e)
que conecta a los nodos de numeración global m y n, en la matriz de rigidez global ocupará la
misma posición (m, n) (ver figura 2.10).
Es decir, para ensamblar la matriz de rigidez global se pueden ir añadiendo directamente los
coeficientes de rigidez de cada elemento según la posición de filas y columnas asociada a la nume-
ración global del elemento. Esta regla general facilita la programación [Hinton and Owen, 1980].
Figura 2.11: Efecto sobre la matriz de rigidez de la numeración de nodos: (a) Ancho de banda 3, (b) Ancho de
banda 5
Sec. 2.2 Análisis matricial de sistemas discretos 31
Ancho de banda 3
1 2
(1)
3 4 5
(1)
1 K11 −K12 0 0 0
(1) (1) (2) (4) (2) (4)
−K12 −K12 0
2 K21 K22 + K11 + K11
(2) (2) (3) (3)
3 0
−K21 K22 + K11 0 −K12
(4) (3) (4)
4 0 −K21 −K21 K22 0
(3) (3)
5 0 0 −K21 0 K22
Ancho de banda 5
1 2 3 4 5
(1) (2) (4) (2) (4) (1)
1 K22 + K11 + K11 −K12 −K12 0 −K21
(2) (2) (3) (3)
−K21 −K12
2 K22 + K11 0 0
(4) (4)
3
−K21 0 K22 0 0
(3) (3)
4 0 −K21 0 K22 0
(1) (1)
5 −K12 0 0 0 K11
Tabla 2.1: Analogías entre el problema de una barra a tracción, el problema térmico y redes de tuberías
Debe tenerse en cuenta que entre el flujo de calor (q) y la fuerza horizontal (−H) son de signos
contrarios. Ello se debe a que en estructuras el esfuerzo axial positivo está orientado en dirección
del gradiente y no en el sentido contrario como ocurre con el flujo térmico.
1. Definición de una malla de elementos discretos conectados entre sí por nodos. Cada ele-
mento (e) tiene asignadas unas propiedades geométricas y mecánicas conocidas. Todas
estas características constituyen los datos del problema y conviene definirlos de la manera
más automática posible (etapa de preproceso).
2. Cálculo de las matrices de rigidez k(e) y los vectores de fuerzas nodales f (e) de cada
elemento del sistema, (etapa de proceso).
4. A partir de los valores de las incógnitas en los nodos obtener información sobre otros pará-
metros de interés del sistema (ejemplo: tensiones y deformaciones en las barras, voltajes,
caudales, etc.)
Todos los resultados deben presentarse con la mayor claridad, y de forma gráfica si es posible,
para facilitar la toma de decisiones sobre el diseño. Esta presentación constituye la etapa de
postproceso que, al igual que la de preproceso, debe estar preparada para poder adaptarse a
todas las posibles opciones de cada tipo de problema, (etapa de post proceso).
La mayor parte de los sistemas en ciencia e ingeniería son de naturaleza continua, por tanto,
su comportamiento no puede expresarse en forma precisa en función de un número pequeño de
variables discretas. Un análisis riguroso de dichos sistemas precisa la integración de las ecua-
ciones diferenciales que expresan el equilibrio de un elemento diferencial genérico del sistema.
Ejemplos de estos sistemas ”continuos” son comunes en el análisis estructural de sólidos, placas
y láminas en ingeniería civil, mecánica, aeronáutica y naval, el estudio de la transferencia de
calor en sólidos, los problemas de dinámica de fluidos y electromagnetismo, entre otros, tal
como se mencionó anteriormente.
La mayor parte de los sistemas continuos son inherentemente tridimensionales, sin embargo, en
algunos casos su comportamiento puede describirse adecuadamente por modelos matemáticos
unidimensionales o bidimensionales. Así ocurre, por ejemplo, con los problemas de flexión de
placas, en los que el análisis se limita al estudio de la deformación del plano medio de la placa,
en general con todos los sistemas en los que pueda hacerse uso de las hipótesis simplificativas
el estudio se reduce al de un problema bidimensional.
Sec. 2.3 Análisis de sistemas continuos 33
Para obtener la solución de un problema de tipo continuo expresado mediante una ecuación
diferencial, se plantea a continuación el uso del método aproximado mediante la formulación
integral equivalente, en primer lugar haciendo uso de la formulación variacional y posteriormente
mediante la formulación residual (ver esquema de la figura 2.4).
El método variacional se relaciona con un ente matemático llamado funcional, el cual es asociado
a un problema dado y puede obtenerse a partir de alguna expresión de energía o desde un
problema de valor de contorno. Una vez obtenido el funcional el método consiste en minimizar
el valor funcional con respecto a cada uno de los valores nodales de la(s) variables del problema.
Las formulaciones residuales, estan asociadas al problema de valor de contorno de un problema
dado, y consiste en re-escribir la ecuación diferencial que gobierna el problema de tal forma
que el lado derecho de la igualdad sea cero. La solución aproximada de la ecuación diferencial
conduce a un error residual distinto de cero (r). El error (r) se multiplica por una función de peso
(W) y el producto se integra sobre toda la región del dominio. El resultados es el error residual
(R), el cual debe ser cero. La selección de las funciones de peso dan origen a diferentes criterios
de residuos ponderados (MRP), tales como: el método de colocación por puntos, el método de
colocación por subdominios, el método de mínimos cuadrados, el método de Galerkin, entre
otros.
Este método propone una solución aproximada para resolver el problema diferencial en su
formulación energética. Considere una barra de sección transversal constante A, longitud L,
módulo de elasticidad E, sometida a la acción de su propio peso (figura 2.12). Para el caso de la
barra la energía potencial (Π) será, por definición: la diferencia entre la energía de deformación
acumulada internamente, U, y la energía potencial de las cargas aplicadas, V.
Z L Z L
AE du
Π=U +V = ( )2 dx − u(wdx) (2.17)
2 0 dx 0
El principio de la mínima energía potencial, establece que de todas las posibles configuraciones
cinemáticamente admisibles que un cuerpo puede adoptar, aquella que minimice la energía
potencial será la configuración de equilibrio.
AE L du 2
Z Z L
Π=U +V = ( ) dx − u(wdx) (2.18)
2 0 dx 0
Como resultado de minimizar Π se obtienen las expresiones de los diferentes Ci , los cuales
se reemplazan en la función desplazamiento u.
Para el caso de la barra elástica la variable desplazamiento u, puede asumir diferentes tipos
de configuraciones sujetas a las condiciones iniciales x = 0, u = 0, tal como se muestra en la
siguiente tabla, [Febres, 2006].
Configuración C0 C1 C2
wL
u = C0 + C1 x 0 2AE
u = C0 + C1 x + C2 x2 0 wL
AE
w
− 2AE
u = C0 + C1 x2 0 w
4AE
Sec. 2.3 Análisis de sistemas continuos 35
Como ejemplo se desarrollaran las expresiones para una solución cuadrática en el caso de la barra
elástica, para ello considere la función u = C0 + C1 x + C2 x2 , que representa el desplazamiento.
x = 0 → u = 0 → C0 = 0
Reemplazando C0 = 0 en u se tiene u = C1 x + C2 x2
du
Se obtiene el gradiente de desplazamiento: dx
= C1 + 2C2 x
AE L
Z Z L
2
Π=U +V = (C1 + 2C2 x) dx − (C1 x + C2 x2 )(wdx)
2 0 0
Minimizando Π
∂Π AE
RL RL
∂C1
= 2 0
2(C1 + 2C2 x)dx − 0
x(wdx) =0
AE 2 2
= 2
[2C1 L + 4C2 L2 ] − w L2 =0
∂Π AE
RL RL
∂C2
= 2 0
2(C1 + 2C2 x)2xdx − 0
x2 (wdx) = 0
AE 4C1 L2 3 3
= 2
[ 2 + 8C2 L3 ] − w L3 =0
Teniendo en cuenta las suposiciones básicas pueden obtenerse ahora otras variables de
interés, tales como: deformación ε = du
dx
, tensión σ = Eε, energía potencial Π = U + V
Figura 2.13: Elementos de una barra elástica: (a) elemento genérico; (b) barra de dos elementos.
u = C0 + C1 x
Si x = 0 → u(0) = ui
Si x = L → u(L) = uj
u(0) = ui = C0 + C1 ∗ 0 C0 = ui
u −u (2.19)
u(L) = uj = C0 + C1 ∗ L C1 = j L i
la función desplazamiento sera entonces:
uj −ui
u = C0 + C1 x = ui + L
x → u = (1 − Lx )ui + ( Lx )uj (2.20)
por lo tanto la derivada de la función desplazamiento es:
du uj −ui
dx
= L
(2.21)
du
reemplazando u y en la función de la energía potencial e integrando:
dx
R L uj −ui 2 RL u
Πe = U + V = AE2 0
( L
) dx − w 0
(ui − uLi x + Lj x)dx − fi ui + fj uj
(2.22)
= AE
2L
(uj − ui )2 − wL 2
(ui + uj ) − fi ui + fj uj
minimizando Πe respecto a ui y uj e igualando a cero:
∂Πe
∂ui
= − AE
L
(uj − ui ) − wL
2
− fi = 0
∂Πe AE wL (2.23)
∂uj
= L
(uj − ui ) − 2
+ fj = 0
en forma matricial
" # " # " #
wL
AE 1 −1 ui 2
− fi
= wL
L −1 1 uj 2
+ fj (2.24)
| {z } | {z } | {z }
Matriz de rigideze vector de desplazamientose vector de fuerzase
Sec. 2.3 Análisis de sistemas continuos 37
Ensamblando la contribución de cada elemento a partir del elemento genérico (e), se obtiene la
matriz de rigidez global
wL
2 −2 0 u1 − f1
AE 4 wL
−2 4 −2 u2 = (2.25)
L 2
wL
0 −2 2 u3 4
+ f3
Se imponen entonces las condiciones de contorno y se determinan los valores de los desplaza-
mientos (u(x)), las deformaciones, las tensiones y la energía.
Se obtendrá la misma matriz de rigidez utilizando una aproximación formal la cual puede ser
aplicada a muchas otras situaciones complejas. Teniendo en cuenta que muchos problemas de
análisis estructural pueden ser analizados como problemas estáticos lineales, basados en las
siguientes suposiciones:
Ni (ξ) = 1 − ξ
(2.26)
Nj (ξ) = ξ
x
donde ξ = L
(ver ecuación 2.20); para 0 ≤ x ≤ L.
h i (2.29)
B = − L1 1
L
σ = Eε = EBu (2.30)
Considerando que la energía de deformación gastada es igual al trabajo realizado por las fuerzas
nodales para un sistema conservativo:
U =V (2.31)
1
= 12 fi ui + fj uj
R
2 V
σ T εdV
1
uT BT EBudV 1 T
R
2 V
= 2
u f
1 T
BT EBdV ]u = 1 T
R
2
u [ V 2
u f
(2.32)
Z
[ BT EBdV ] u = f
V
| {z }
ku = f
Como pudo verificarse la expresión de la matriz de rigidez del elemento también fue derivada
utilizando aproximaciones mas rigurosas tales como el principio de mínima energía potencial,
posteriormente se verificará utilizando el método de Galerkin.
Formulación residual
Forma débil
Contorno natural, Wi = Wi
El problema de valor de frontera es aquel donde se busca determinar una solución a una ecuación
diferencial sujeta a condiciones sobre la función desconocida y sus derivadas especificadas en
un valor de variable independiente, llamadas condiciones de frontera. Si la función desconocida
esta especificada en dos o mas valores de la variable independiente, son llamadas condiciones
de frontera.
Sea A(ψ) la ecuación diferencial de gobierno, que en nuestro caso será la ecuación de Poisson,
cuya forma más sencilla es la siguiente:
2
1D : k ddxψ2 + Q(x) = 0
2 2
2D : k ddxψ2 + k ddyψ2 + Q(x, y) = 0
2 2 2
3D : k ddxψ2 + k ddyψ2 + k ddzψ2 + Q(x, y, z) = 0
40 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL
(2.33)
A(ψ) = d
dx
(k dψ
dx
) + Q(x) = 0 en Ω
Asimismo sean B(ψ) las ecuaciones que expresan las condiciones de contorno
(
ψ − ψ = 0 en Γψ
B(ψ) (2.34)
k dψ
dx
+ q = 0 en Γq
donde Γψ es el contorno de Dirichlet donde se prescribe la función incógnita y Γq el contorno
de Neumann donde se prescribe el flujo saliente. Obviamente las variables ψ, k, Q y q tienen el
significado adecuado según el problema físico bajo estudio.
La forma integral equivalente de las ecuaciones de gobierno se obtiene multiplicando las expre-
siones diferenciales A y B por funciones de peso e integrando sobre el dominio de definición de
cada ecuación, es decir
Z I
W (x)A(ψ)dΩ + W (x)B(ψ)dΓ = 0 (2.35)
Ω Γ
Puede intuirse que si se cumple la ecuación integral anterior para las funciones de peso W y
W , debe necesariamente cumplirse que
(
A(ψ) = 0 en Ω
(2.36)
B(ψ) = 0 en Γ
puede escribirse la forma integral equivalente como:
XZ XI
W (x)A(ψ)dΩ + W (x)B(ψ)dΓ = 0 (2.37)
e Ωe e Γe
donde la sumatoria se extiende sobre el conjunto de dominio no intersectante entre sí que cubren
el dominio total Ω y el contorno Γ. Esta expresión es la base del ensamblaje en el MEF.
Sec. 2.3 Análisis de sistemas continuos 41
ψ(x) ∼
= ψ(x)
b (2.38)
donde ai son los coeficientes a determinar y Ni (x) las funciones de la variable independiente x.
esta última ecuación se denomina expresión del método de residuos ponderados (MRP), el
nombre proviene de observar que A(ψ) b y B(ψ)
b son los ”residuos” de la solución aproximada en
el dominio y en el contorno, respectivamente.
A(ψ)
b = rΩ en Ω
(2.41)
B(ψ)
b = rΓ en Γ
La expresión 2.40 puede por tanto interpretarse como la integral de los residuos de la ecuación
diferencial ponderados por las funciones de peso.
XZ X XI X
Wi A( Nj aj )dΩ + W i B( Nj aj )dΓ = 0 (2.42)
e Ωe j e Γe j
Considérese la ecuación
d dψ
A(ψ) = (k ) + Q = 0 en 0 ≤ x ≤ l (2.43)
dx dx
42 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL
la cual gobierna el problema de transmisión de calor de la barra de la figura 2.14 con las
condiciones de contorno
(
ψ − ψ = 0 en x = 0 Γψ
B(ψ) (2.44)
k dψ
dx
+ q = 0 en x = l Γq
Figura 2.14: Transmisión de calor en una barra. (Oñate 1999, apuntes de clase)
" ! # " !#
Z l
d dψb dψb
Wi k + Q dx + W i k +q =0 (i = 1, 2, ..., n) (2.45)
0 dx dx dx
x=l
donde no se ha tenido en cuenta la ponderación en la frontera Γ(x=0) ya que, como se verá más
adelante, en general se escogerán funciones ψb que satisfagan las condiciones de contorno de
Dirichlet. Reemplazando la ecuación 2.39 en 2.45 y desarrollando
l
" Pn ! # " Pn !#
Nj aj Nj aj
Z
d j=1 j=1
Wi k + Q dx + W i k +q =0 (i = 1, 2, ..., n) (2.46)
0 dx dx dx
x=l
Sec. 2.3 Análisis de sistemas continuos 43
En la expresión 2.45 debe tenerse en cuenta que para que la derivada m-ésima de una función
cualquiera f (x) sea integrable, es necesario que sean continuas las (m − 1) primeras derivadas,
es decir:
En la ecuación 2.45 se observa que ψ es derivada dos veces, k es derivada una vez y W no
requiere ser derivada, por lo tanto los requisitos de continuidad son asimétricos, lo que genera
formas no simétricas del sistema de ecuaciones resultante de la discretización. Mediante el uso
de integración por partes puede ser resuelta esta asimetría, tal que
Z L Z L
udv = [uv]L0 − vdu (2.48)
o 0
donde: u = W y v = k dψ
dx
" ! # " #L
Z L Z L Z L
d dψb dψb dW dψb
Wi k + Q dx = W k − k + W Qdx (2.49)
0 dx dx dx 0 dx dx 0
0
reemplazando la forma débil (ecuación 2.49), por la primera integral de la ecuación 2.45
" #L
Z L Z L
dW dψb dψb dψb
− k + W Qdx + W k + [W i k ]x=l + [W i q]x=l = 0 (2.50)
0 dx dx 0 dx dx
0
Contorno natural
q0 es el flujo que entra en el dominio por el extremo con el valor de ψ prescrito (x = 0). En
terminología ”estructural”, q0 es la ” reacción” en (x = 0) correspondiente al valor prescrito
de la incógnita. El valor de q0 puede calcularse posteriormente una vez conocida la solución
aproximada de ψ en todo el dominio.
donde: Z l
dWi d dNj
Kij = k dx (2.54)
0 dx dx dx
y el lado derecho de la igualdad
Z l
fi = − Wi Qdx + (W q)0 − W i q x=l
(2.55)
0
Sec. 2.3 Análisis de sistemas continuos 45
Según sea la elección de Wi , se obtiene una de las alternativas que nos ofrece el MRP. Por lo
Z l Pn Z l
dNi j=1 dNj aj
k dx = Ni Qdx + [Ni q]0 − [Ni q]l = 0 i = 1, 2, ..., n (2.58)
0 dx dx 0
Funciones de forma
Debido a la dificultad de hallar soluciones exactas al problema en estudio, se busca una solución
aproximada 2.38 y 2.39. Las funciones de forma Ni (x) son función de la variable independiente
x y frecuentemente suelen ser:
Las funciones de forma Ni (x) se pueden definir en todo el dominio Ω ”globalmente”, y también
se pueden definir ”localmente” en subdominios. Globalmente se consideran tantas incógnitas
(n), como se requiera y localmente se establece una función de forma para los elementos de la
discretización, es decir, un elemento tendrá n incógnitas.
Suponer una división del dominio bajo estudio en n elementos finitos unidimensionales.
Aislar un elemento genérico, expresando la función de forma mediante una variable ψ(x)
en su interior, por ejemplo mediante un polinomio lineal.
Sec. 2.3 Análisis de sistemas continuos 47
Para definir las funciones de forma en el caso de expresar una variable ψ(x) en el interior de
un elemento unidimensional de n nodos mediante una aproximación polinómica, se parte de lo
siguiente:
Xn
(e) (e)
ψ (x) ' ψ (x) =
b αi xi = α0 + α1 x + ... + αn xn (2.65)
i=0
ahora seleccionando los nodos extremos y teniendo en cuenta que la función verdadera y la
aproximada toman el mismo valor en dichos puntos se obtiene el siguiente sistema de dos
ecuaciones con dos incógnitas
(e) (e)
ψb(e) (x1 ) ' ψ1 = α0 + α1 x1
(e) (e) (2.67)
ψb(e) (x2 ) ' ψ2 = α0 + α1 x2
resolviendo se obtiene
(e) (e)
(e) ψ2 − ψ1 (e)
α0 = ψ1 − (e) (e)
x1 (2.68)
x2 − x1
(e) (e)
ψ2 − ψ1
α1 = (e) (e)
(2.69)
x2 − x1
sustituyendo se puede escribir la aproximación lineal de la incógnita por
! !
(e) (e) (e) (e)
(e) ψ − ψ (e) ψ − ψ
ψb(e) (x) = ψ1 − 2(e) 1
(e) 1
x + 2
(e)
1
(e)
x (2.70)
x2 − x1 x2 − x1
(e) (e)
tras sacar factor común a ψ1 y ψ2 , queda
(e) (e)
x2 −x (e) x−x1 (e)
ψb(e) (x) = (e) (e) ψ1 + (e) (e) ψ2
x2 −x1 x2 −x1
2
(e) (e)
ψb(e) (x) =
P
Ni (x)ψi
i=1
(e) (e)
(e) x − x1 x − x1
N2 (x) = (e) (e)
= (2.73)
x2 − x1 l(e)
Nótese que para
( (
(e) (e)
(e) N1 (x) = 1 (e) N1 (x) = 0
x= x1 → (e) ; x= x2 → (e) (2.74)
N2 (x) = 0 N2 (x) = 1
la función de forma de un nodo toma el valor unidad en dicho nodo y cero en los otros nodos,
siendo esta una propiedad de las funciones de forma.
Para evitar tener que resolver un sistema de ecuaciones de mayor orden al incrementar el número
de nodos por elemento en la obtención de las funciones de forma de elementos unidimensionales,
se puede hacer uso de las propiedades de los polinomios de Lagrange [Burden and Faires, 2002].
n
Y (x − xj )
Ni (x) = (2.75)
(xi − xj )
j=1( j6=i )
Por conveniencia para transformar la geometría real del elemento en una geometría normalizada
se introduce el sistema de coordenadas natural o normalizado, basado en la variable que se define
como
x − xc
ξ=2 (2.76)
l(e)
siendo xc la coordenada del centro del elemento (Ver figura 2.15), tal que:
La ecuación anterior permite expresar las funciones de forma en esta nueva geometría e inde-
pendizar así la obtención de las mismas de la geometría del elemento, lo cual es de gran interés
práctico. La idea es interpolar la geometría del elemento a partir de las coordenadas de una
serie de puntos conocidos por lo que la expresión general de Ni (ξ) puede escribirse mediante
los multiplicadores de Lagrange como:
n
Y (ξ − ξj )
Ni (ξ) = (2.77)
(ξi − ξj )
j=1( j6=i )
(ξ − ξ2 ) 1
N1 = = (1 − ξ)
(ξ1 − ξ2 ) 2
(ξ − ξ1 ) 1
N2 = = (1 + ξ)
(ξ2 − ξ1 ) 2
(ξ − ξ2 )(ξ − ξ3 ) 1
N1 = = ξ(ξ − 1)
(ξ1 − ξ2 )(ξ1 − ξ3 ) 2
(ξ − ξ1 )(ξ − ξ3 )
N2 = = (1 + ξ)(1 − ξ)
(ξ2 − ξ1 )(ξ2 − ξ3 )
(ξ − ξ1 )(ξ − ξ2 ) 1
N3 = = ξ(1 + ξ)
(ξ3 − ξ1 )(ξ3 − ξ2 ) 2
(ξ − ξ2 )(ξ − ξ3 )(ξ − ξ4 ) 9 1 1
N1 = = − (ξ + )(ξ − )(ξ − 1)
(ξ1 − ξ2 )(ξ1 − ξ3 )(ξ1 − ξ4 ) 16 3 3
(ξ − ξ1 )(ξ − ξ3 )(ξ − ξ4 ) 27 1
N2 = = (ξ + 1)(ξ − )(ξ − 1)
(ξ2 − ξ1 )(ξ2 − ξ3 )(ξ2 − ξ4 ) 16 3
(ξ − ξ1 )(ξ − ξ2 )(ξ − ξ4 ) 27 1
N3 = = − (ξ + 1)(ξ + )(ξ − 1)
(ξ3 − ξ1 )(ξ3 − ξ2 )(ξ3 − ξ4 ) 16 3
(ξ − ξ1 )(ξ − ξ2 )(ξ − ξ3 ) 9 1 1
N4 = = (ξ + 1)(ξ + )(ξ − )
(ξ4 − ξ1 )(ξ4 − ξ2 )(ξ4 − ξ3 ) 16 3 3
Para un elemento lineal de dos nodos la variable axial en un punto del elemento en función de
la expresión normalizada de las funciones de forma se representa dentro del elemento por
(e) (e)
ψ(ξ)(e) = N1 (ξ)ψ1 + N2 (ξ)ψ2 (2.78)
(e) (e)
dψ dN1 (ξ) dN2 (ξ)
g= = ψ1 + ψ2 (2.79)
dx dx dx
para el cálculo del gradiente necesitamos conocer la derivada de Ni con respecto a la coordenada
cartesiana. La evaluación de dichas derivadas implica las operaciones siguientes:
Sec. 2.3 Análisis de sistemas continuos 51
Figura 2.16: Sistema normalizado: a.- elemento lineal de dos nodos; b.- elemento cuadrático de tres nodos; c.-
elemento cúbico de cuatro nodos
52 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL
(e) (e)
dN1 (ξ) dN1 (ξ) dξ d 1−ξ
dξ dξ
dx
= dξ dx
= dξ 2 dx
= − 21 dx
(e)
dN2 (ξ)
(e)
dN2 (ξ)
(2.80)
dξ d 1+ξ dξ dξ
= + 21 dx
dx
= dξ dx
= dξ 2 dx
dξ
para completar el cálculo de ξ hay que evaluar dx , lo que exige conocer una relación explícita
entre x y ξ. Dicha relación puede obtenerse mediante una interpolación paramétrica de la
geometría del elemento, [Irons, 1980].
b1(e) (ξ)x1 + N
x=N b2(e) (ξ)x2 + ... + N
b (e) (ξ)xm (2.82)
m
Nbi (ξ) son funciones de interpolación de geometría que satisfacen los mismos requisitos que
las funciones de forma utilizadas para interpolar el campo de desplazamientos, es decir, N bi (ξ)
debe tomar el valor unidad en el punto i y cero en el resto de los m − 1 puntos. La ecuación
2.82 proporciona directamente la relación entre las coordenadas x y ξ buscada. Dicha ecuación
puede también interpretarse como la transformación de coordenadas ξ → x de manera que a
cada punto del espacio normalizado [−1, 1] le corresponde otro del espacio cartesiano [x1 , x2 ]. Es
fundamental que dicha transformación sea biunívoca, lo que en general depende de la geometría
del elemento.
En la formulación isoparamétrica del elemento de dos nodos se expresa la geometría del elemento
en función de las coordenadas de los dos nodos como
donde N1 y N2 son las mismas funciones de forma lineales utilizadas para describir la aproxi-
mación de la incógnita. Derivando x (ξ) respecto de ξ
Sec. 2.3 Análisis de sistemas continuos 53
(e) (e)
dx dN1 dN2 1 1 l(e)
= x1 + x2 = − x1 + x2 = (2.84)
dξ dξ dξ 2 2 2
de alli que
l(e) dξ 2
dx = dξ y = (e) (2.85)
2 dx l
dξ
sustituyendo la expresión de en la ecuación 2.80, se obtiene
dx
(e)
dN1 1
= − (e)
dx l
(e)
dN2 1
= (e) (2.86)
dx l
suponiendo que k (ecuación 2.60) y Q (ecuación 2.61) son constantes sobre el elemento se
obtiene, tras operar
" # " R1 R1 #
dN1 (ξ) dN1 (ξ) dN1 (ξ) dN2 (ξ)
k11 k12 dξ dξ
Kij = = kj R−1
1
dξ dξ
dN2 (ξ) dN1 (ξ) R−1
1
dξ dξ
dN2 (ξ) dN2 (ξ) 1 (2.87)
k21 k22 −1 dξ dξ
dξ −1 dξ dξ j
dξ
(e) " #
k 1 −1
K (e) = (2.88)
l −1 1
" # " R1 #
f1 N 1 (ξ)Qjdξ + (N 1 (ξ)q)ξ=−1 − (N 1 (ξ)q)ξ=1
fij = = R−1
1 (2.89)
f2 N (ξ)Qjdξ + (N2 (ξ)q)ξ=−1 − (N2 (ξ)q)ξ=1
−1 2
( )
Ql(e) 1 + (q)ξ=−1
f (e) = (2.90)
2 1 − (q)ξ=1
donde
por lo tanto
dx 1 1
= (ξ − )x1 − 2ξx2 + (ξ + )x3
dξ 2 2
dx l(e)
= + ξ(x1 + x3 − 2x2 ) (2.95)
dξ 2
dx
= j (e)
dξ
l(e) dξ l(e)
j (e) = y = (2.96)
2 dx 2
y, por consiguiente
dx l(e) l(e)
= → dx = dξ (2.97)
dξ 2 2
Z 1
dNi (ξ) dNj (ξ) 1
Kij = k dξ (2.98)
−1 dξ dξ j
Z 1
fi = Ni (ξ)Qjdξ + (Ni (ξ)q)ξ=−1 − (Ni (ξ)q)ξ=1 (2.99)
−1
suponiendo el nodo intermedio centrado en el elemento j (e) = l(e) /2 y que k y Q son constantes
sobre el elemento se obtiene, tras operar
R1 dN1 (ξ) dN1 (ξ) R1 dN1 (ξ) dN2 (ξ) R1 dN1 (ξ) dN3 (ξ)
k11 k12 k13 −1
dξ dξ dξ
k R1
dξ dξ
dN2 (ξ) dN1 (ξ) R−1
1
dξ dξ
dN2 (ξ) dN2 (ξ) 1 R−1
1
dξ dξ
dN2 (ξ) dN3 (ξ)
Kij = k21 k22 k23 = dξ dξ dξ (2.100)
j −1 dξ dξ
R−1 dξ dξ j
R−1 dξ dξ
R1 dN3 (ξ) dN1 (ξ) 1 dN3 (ξ) dN2 (ξ) 1 dN3 (ξ) dN3 (ξ)
k31 k32 k33 −1 dξ dξ
dξ −1 dξ dξ
dξ −1 dξ dξ
dξ
(e) 14 −16 2
k
K (e) = −16 32 −16 (2.101)
6l
2 −16 14
R1
f1 Qj −1 N1 (ξ)dξ + (N1 (ξ)q)ξ=−1 (N1 (ξ)q)ξ=1
R1
fij = f2 = Qj −1 N2 (ξ)dξ + (N2 (ξ)q)ξ=−1 (N2 (ξ)q)ξ=1 (2.102)
R1
f3 Qj −1 N3 (ξ)dξ + (N3 (ξ)q)ξ=−1 (N3 (ξ)q)ξ=1
56 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL
Ql(e) 1 + (q)ξ=−1
f (e) = 4 (2.103)
6
1 − (q)
ξ=1
para una posición arbitraria del nodo intermedio las expresiones de la matriz de rigidez y del
vector de fuerzas nodales serían diferentes, en cuyo caso los términos de la matriz de rigidez
(Kij ) contienen funciones racionales, y como se deduce de la expresión general del Jacobiano
(j (e) ) la integración directa de la matriz K se hace más laboriosa.
Es importante resaltar que a medida que el orden del elemento aumenta se incrementa también
la dificultad del cálculo de las integrales del elemento, por lo que es aconsejable hacer uso de
la integración numérica. (ver anexo A.2)
Ejemplo 1
Caso 1: el balance térmico en una barra en la que se genera una cantidad de calor debida
a una fuente de calor Q y se pierde una cantidad de calor por unidad de longitud (figura
2.17 proporcional a la diferencia de temperatura entre la barra y el exterior, se representa
por:
ψ = ψ |x=0 (2.105)
y el flujo de calor q en x = l
q = q |x=l (2.106)
dψ
q = −k =0 (2.107)
dx
siendo k el coeficiente de conductividad térmica. Reemplazando términos y simplificando se
obtiene finalmente la ecuación de balance térmico, A(ψ), donde k y h se asumen constantes.
d dψ
A(ψ) = (k ) + Q − h(ψ − ψe ) = 0 (2.108)
dx dx
Las condiciones de contorno B(ψ) del problema pueden simplificarse como:
en x=0 :
ψ−ψ =0
(
Cond. de temperatura prescrita (g)
Cond. de flujo prescrito (h)
en x=l :
dψ
q−q =k +q =0
dx
Z l
d dψ dψ
Wi k + Q − hψ dx + W i +q =0 (i = 1, 2, ..., n) (2.109)
0 dx dx dx x=l
• Forma débil
L Z L Z L Z L
dψ dW dψ dψ
Wk − k + W Qdx − W hψdx + W k + W q x=l = 0 (2.110)
dx 0 0 dx dx 0 0 dx x=l
• Contorno natural
Z L Z L Z L
dW dψ
k + W hψdx = W Qdx + W [q]x=0 − [W q]x=L (2.111)
0 dx dx 0 0
• Formulación residual
se obtienen las expresiones de matriz de rigidez y vector de fuerzas respectivamente:
Z L
dNi dNj
Kij = k( + hNi Nj )dx (2.112)
0 dx dx
Z L
fi = Ni Qdx + Ni [q]x=0 − [Ni q]x=L (2.113)
0
donde
R1
k11 = −1 ( kj dNdξ1 (ξ) dNdξ1 (ξ) + jhN1 (ξ)N1 (ξ))dξ
R1
k12 = −1 ( kj dNdξ1 (ξ) dNdξ2 (ξ) + jhN1 (ξ)N2 (ξ)j)dξ
R1
k13 = −1 ( kj dNdξ1 (ξ) dNdξ3 (ξ) + jhN1 (ξ)N3 (ξ)j)dξ (2.119)
..
.
R1
k33 = −1 ( kj dNdξ3 (ξ) dNdξ3 (ξ) + jhN3 (ξ)N3 (ξ)j)dξ
(e) 14 −16 2
k
K (e) = −16 32 −16 (2.120)
6l
2 −16 14
R1
f1 Qj −1 N1 (ξ)dξ + (N1 (ξ)q)ξ=−1 (N1 (ξ)q)ξ=1
R1
fij = f2 = Qj −1 N2 (ξ)dξ + (N2 (ξ)q)ξ=−1 (N2 (ξ)q)ξ=1 (2.121)
R1
f3 Qj −1 N3 (ξ)dξ + (N3 (ξ)q)ξ=−1 (N3 (ξ)q)ξ=1
Ql(e) 1 + (q)ξ=−1
f (e) = 4 (2.122)
6
1 − (q)
ξ=1
dF
+b=0 (2.123)
dx
donde
du
F =σ∗A=E∗∗A=E A
dx
siendo u los desplazamientos de los puntos de la barra, entonces la ecuación de equilibrio
puede expresarse por:
60 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL
dF d2 u
+ b = EA 2 + b = 0 (2.124)
dx dx
Las condiciones de contorno B(ψ) del problema son
( u − u = 0 en x=0
Cond. de desplazamiento prescrito (g)
Cond. de fuerza prescrita (h) F − h = EA
du
+ h = 0 en x=l
dx
Z l
d du du
Wi k + b dx + W i +h =0 (i = 1, 2, ..., n) (2.125)
0 dx dx dx x=l
• Forma débil
L Z L Z L
du dW du du
Wk − EA + W bdx + W EA + W h x=l = 0 (2.126)
dx 0 0 dx dx 0 dx x=l
• Contorno natural
Z L Z L
dW dψ
EA = W bdx + W [h]x=0 − W h x=L (2.127)
0 dx dx 0
• Formulación residual
Se obtienen las expresiones de la matriz de rigidez y vector de fuerzas respectivamente:
Z L
dNi dNj
Kij = EA( )dx (2.128)
0 dx dx
Z L
fi = Ni bdx + Ni [h]x=0 − Ni h x=L (2.129)
0
Suponiendo el nodo intermedio centrado en el elemento j (e) = l(e) /2, desarrollando kij y fi
" #
k11 k12
Kij = (2.134)
k21 k22
donde
R1 dN1 (ξ) dN1 (ξ)
k11 = −1
( EA
j dξ dξ
)dξ
La solución a los sistemas de ecuaciones obtenidos del análisis de sistemas de tipo discreto y
continuo se apoya en los contenidos básicos del algebra matricial. Al aplicar el método de ele-
mentos finitos, si se incrementa el número de elementos del sistema en estudio se incrementaran
las dimensiones de las matrices resultantes.
Como apoyo al lector en el anexo A.1 se presentan algunos fundamentos de algebra (los cuales
también sirven de respaldo a los contenidos del capítulo 5 donde se da una breve introducción
al MATLAB).
Capítulo 3
Las ecuaciones desarrolladas en el problema bidimensional tienen como base las formulaciones
del problema unidimensional, por lo tanto la estructura de este capítulo también se divide en
sistemas discretos y continuos. Por ejemplo, en el espacio bidimensional el número de com-
ponentes del vector desplazamiento son dos por nodo (dos grados de libertad por nodo); esto
incrementa el tamaño de las matrices y vectores que representan las variables del problema en
estudio (problema térmico, problema estructural, entre otros). Los tipos de elementos usados
para discretizar el espacio bidimensional son los elementos triangulares y los elementos rectan-
gulares con diferentes grados de aproximación polinomial en cada caso. Desde el punto de vista
computacional se generarán dos archivos que contendrán información sobre: las coordenadas x e
y de cada nodo que forma al elemento, y de las conectividades (ó nodos)que forman al elemento.
En el modelado de superficies curvas se requerirá de criterios de refinamiento de mallas, en cuyo
caso debe tenerse en cuenta el incremento del orden de las matrices y los vectores. Al igual
que en el problema unidimensional, la precisión del cálculo puede mejorarse al incrementar las
aproximaciones polinomiales en cada elemento. En relación a las condiciones de contorno es im-
portante recordar que en el método de elementos finitos, todos los tipos de cargas (distribuidas,
fuerzas, momentos, entre otras) son convertidas en cargas puntuales aplicadas en los nodos y
en el caso bidimensional se descomponen en las direcciones x e y.
63
64 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
Considerando un problema del análisis estructural, basándose en suposiciones tales como: pe-
queñas deformaciones, comportamiento de material elástico y la aplicación de cargas estáticas.
Partiendo de estas suposiciones se estudiará el caso de un elemento de barra en el espacio
bidimensional.
Se tienen dos sistemas de referencia, el sistema local (x, y) y el sistema global (X, Y ). Para una
barra en el espacio 2D, se hace coincidir el eje x con el eje de la barra, por lo tanto, existirá 1
grado de libertad por nodo en el sistema local y dos grados de libertad por nodo en el sistema
global. Los grados de libertad por nodo corresponden al número de componentes del vector
desplazamiento por nodo, (ui , vi ), [Yijun, 2000].
Tal como se indica en la figura 3.1, la matriz de transformación del sistema local al global o
viceversa, esta dada por los ángulos directores según la siguiente relación:
" #
cos θ sin θ
T
b= (3.1)
− sin θ cos θ
b −1 = T
b es ortogonal, es decir, T
La matriz T b T.
La forma general del vector desplazamiento del elemento de barra para los nodos i, j, en las
coordenadas locales es:
Sec. 3.1 Sistemas discretos 65
0
ui cos θ sin θ 0 0 ui
0
vi − sin θ cos θ 0 0 vi
= (3.2)
0
uj 0 0 cos θ sin θ uj
0
vj 0 0 − sin θ cos θ vj
donde ui = vj = 0.
" #
0 T
b 0
u = Tu → T = (3.3)
0 T
b
0 0
fi 1 0 −1 0 ui
0 EA 0 0 0 0 0
= (3.4)
0 0
L −1
fj 0 1 0 uj
0 0 0 0 0 0
0 0 0 0
f = k u → Tf = k Tu (3.5)
0
TT Tf = T T
| {zk T} u; donde (T T T = I) (3.6)
l2 lm −l2 −lm
EA lm m2 −lm −m2
TT k0 T = (3.7)
2 2
L −l −lm l
lm
−lm −m2 lm m2
Xj −Xi Yj −Yi
donde l = cos θ = L
y m = sin θ = L
entonces la expresión para f=ku en el sistema global para un problema bidimensional es:
f1i l2 lm −l2 −lm ui
2 2
f2i EA lm m −lm −m vi
= (3.8)
2
L −l −lm l2
f1j lm uj
f2j −lm −m2 lm m2 vj
La figura 3.2 representa un sistema de 2 barras con restricciones, si se conocen las longitudes
y el área de la sección transversal de cada barra (A1 , A2 ) donde A1 = A2 , así como el valor
del módulo de Young de cada una y se aplica una fuerza F tal como se indica en la figura, se
pide determinar los desplazamiento, las reacciones en los apoyos y tensión en cada elemento de
barra.
Solución:
En el enunciado del problema ya se han definido los elementos discretos para el estudio, (e1 , e2 ),
de la misma forma se ha definido la localización de los nodos (1, 2, 3). Las propiedades conocidas
de los elementos del sistema son el área, longitud y módulo de Young, finalmente se identifican:
(e) " #
EA 1 −1
(K (1) )0 = (K (2) )00
l −1 1
Sin embargo, esas matrices no pueden ser ensambladas debido a que sus sistemas de coordenadas
son diferentes por lo que debe obtenerse la forma de la matriz de rigidez de cada elemento en
el sistema de coordenadas globales. Haciendo uso de la ecuación 3.7 se obtiene:
√
2
Elemento 1: si θ = 45 entonces sin(θ) = cos(θ) o m = l = 2
68 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
1 1 −1 −1
1 EA 1 1 −1 −1
k =( )
2L −1 −1
1 1
−1 −1 1 1
√ √
2 2
Elemento 2 si θ = 135 entonces sin(θ) = cos(θ) o m = 2
;l =− 2
1 −1 −1 1
EA −1 1 1 −1
k2 = ( )
2L −1 1 −1
1
1 −1 −1 1
L
u2 = 0; v2 = −F
EA
se reemplazan los valores conocidos en el sistema ensamblado para calcular las reacciones en
los apoyos:
F F
f1x = f1y = f3y = ; f3x = −
2 2
Sec. 3.1 Sistemas discretos 69
σ e = Eεe = E(Bu0 )e
" # ui
h i l m 0 0 vi
σe = E − L1 1
L
0 0 l m uj
vj
ui
E
h i vi
σe = −l −m l m
L
uj
vj
0
√ h i 0 √
E 2 −F 2
Elemento 1 : σ 1 = −1 −1 1 1 =
L2 2A
0
L
−F EA
0
√ h i −F L √
2 E 2 EA F 2
Elemento 2 : σ = 1 −1 −1 1 =
L2 2A
0
0
Se obtendrá la forma de la matriz de rigidez para un elemento viga utilizando una aproximación
formal. Para ello se definen funciones de configuración lineal o funciones de forma (N (ξ)), las
cuales serán detalladas en secciones posteriores.
Considere la deformación de una fibra situada a una distancia y de la superficie neutra, como
se muestra en la figura 3.3. El alargamiento de la fibra δ o segmento hk está dado por el arco de
circunferencia de radio y y ángulo dθ, según la expresión δ = y ∗ dθ, el segmento ef o longitud
L está dado por el arco de circunferencia de radio ρ y ángulo dθ según la expresión L = ρdθ,
entonces la deformación (ε) se obtiene a partir de la relación entre el alargamiento (δ) y la
longitud inicial L:
δ ydθ y
ε= = = (3.9)
L ρdθ ρ
70 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
La curva elástica o "elástica de la viga", es la curva que forma el eje longitudinal, inicialmente
recto. En la figura 3.4 se representa en forma exagerada la curva que forma el eje longitudinal
inicialmente recto. Para deducir dicha curva y calcular el desplazamiento vertical o deflexion de
cualquier punto en función de su abscisa, se supone que las deformaciones son tan pequeñas que
no hay diferencia apreciable entre la longitud inicial de la viga y la proyección de su longitud
deformada, entonces:
dy
θ = tan(θ) = (3.10)
dx
y
dθ d2 y
= 2 (3.11)
dx dx
adicionalmente la longitud de arco ds es prácticamente igual a dx, por lo tanto puede escribirse
que:
dx = ρdθ (3.12)
ó
1 dθ d2 y
= = 2 (3.13)
ρ dx dx
Para un elemento de viga como el mostrado en la figura 3.5, donde L representa la longitud
del elemento, I es el momento de inercia del área de la sección transversal, E es el módulo
de elasticidad del material, y = y(x) representa la deflección o desplazamiento respecto al eje
dy
neutro, θ = dx la rotación respecto al eje z, F es la fuerza de corte y finalmente M es el
momento respecto a z, [Singer and Pytel, 2007].
P
La condición de equilibrio Mz = 0, requiere que el momento de flexión (M ) sea equilibrado
por el momento resistente (Mr ) respecto al eje neutro
M = Mr
R
M = y(σx dA) reemplazando σx = Eε
ε = yρ
R
M = y(EεdA) reemplazando
(3.17)
= yE yρ dA
R
M simplif icando
= Eρ y 2 dA
R R
M reemplazando I = y 2 dA
M = Eρ I
1 d2 y M
= 2 = (3.18)
ρ dx EI
1
R
U = 2 V
σ T εdV (3.19)
donde
σ T = (Eε)T (3.20)
y
y M
ε= = y (3.21)
ρ EI
entonces
My
σT = (3.22)
I
R
desarrollando la integral de volumen para dV = dAdx y teniendo en cuenta que I = y 2 dA
Sec. 3.1 Sistemas discretos 73
1
( MI y )T ( M y
RR
U = 2 EI
)dAdx
L
RA
1 1
= 2
M T EI M dx
L
2
d y T 2
d y
1
R
= 2
( dx2 ) EI( dx2 )dx (3.23)
L
1
R
= 2
(Bu)T EI(Bu)dx
L R
= 2 u ( BT EIBdx)u
1 T
L
Si la energía de deformación almacenada es igual al trabajo realizado por las fuerzas nodales
para un sistema conservativo:
U =V (3.24)
1 T
BT EIBdx)u = 1 T
R
2
u ( 2
u F
L
Z
[ BT EIBdx] u = F (3.25)
|L {z }
ku = F
dy
El número de variables nodales del elemento viga de dos nodos es 4 (yi y ( dx )i por nodo). Dichas
variables definen una variación cúbica de la deflexion:
y = a0 + a1 x + a2 x 2 + a3 x 3 (3.26)
B en coordenadas naturales:
d2 h
3ξ (−1+3ξ)L (1+3ξ)L
i
B = 2 N(ξ) = 2 4
− 3ξ2 4
(3.31)
dξ
B en coordenadas rectangulares:
d2 h i
B= N(x) = − L62 + 12x
L3
− L4 + 6x
L2
6
L2
− 12x
L3
− L2 + 6x
L2
(3.32)
dx2
y1
dy
( dx )1
u= (3.33)
y2
dy
( dx )2
por lo tanto la forma de la matriz de rigidez de un elemento de viga se obtiene al desarrollar la
integral BT EIBdx. Si se usan las coordenadas naturales, los límites de la integral son de -1
R
L
a 1 y dx = L2 dξ:
vi θi vj θj
12EI 6EI 12EI 6EI
L3 L2
− L3 L2
6EI 4EI
k=
L2 L
− 6EI
L2
2EI
L
12EI
− L3 − 6EI 12EI
− 6EI
L2 L3 L2
6EI 2EI
L2 L
− 6EI
L2
4EI
L
ui vi θi uj vj θj
EA
L
0 0 − EA
L
0 0
12EI 6EI
0 0 − 12EI 6EI
L3 L2 L3 L2
6EI 4EI 6EI 2EI
k=
0 L2 L
0 − L2 L
− EA 0 0 EA
0 0
L L
0 − 12EI − 6EI 0 12EI 6EI
− L2
L3 L2 L3
6EI 2EI 6EI 4EI
0 L2 L
0 − L2 L
∂ ∂ψ ∂ ∂ψ
A (ψ) = kx + ky +Q en Ω (3.34)
∂x ∂x ∂y ∂y
Figura 3.6: (a)Dominio bidimensional, (b)Normal a la superficie. (Oñate 1999, apuntes clase)
Resolveremos el problema definido por las ecuaciones 3.34 y 3.35 en modo similar al caso
unidimensional, aplicando el método de residuos ponderados de Galerkin.
Z I
W A(ψ)dΩ + W B(ψ)dΓ = 0 (3.36)
Ω Γ
siendo W(x) y W (x) las funciones de peso correspondientes. La forma integral equivalente puede
escribirse como:
XZ XI
W (x)A(ψ)dΩ + W (x)B(ψ)dΓ = 0 (3.37)
e Ωe e Γe
Sec. 3.2 Sistemas continuos 77
donde la sumatoria se extiende sobre el conjunto de dominio no intersectante entre sí que cubren
el dominio total Ω y el contorno Γ. Esta expresión es la base del ensamblaje en el MEF.
p
ψ∼
X
= ψb = Ni (x, y)ai (3.38)
i=0
donde ai son los coeficientes a determinar y Ni (x, y) las funciones de las variables independientes
x e y.
" ! ! #
RR ∂ ∂ ψb ∂ ∂ ψb
Ω
W kx + ky + Q dxdy+
∂x ∂x ∂y ∂y
" # (3.39)
R ∂ ψb ∂ ψb
Γq
W k x n x + ky ny + q n + α(ψb − ψ a ) Γ = 0
∂x ∂y
Forma débil
En la expresión 3.39 en el lado derecho de la igualdad y para cada dirección debe tenerse en
cuenta que ψb es derivada dos veces, k es derivada una vez y W no requiere ser derivada, por
lo tanto los requisitos de continuidad son asimétricos, lo que genera formas no simétricas del
sistema de ecuaciones resultante de la discretización. Mediante el uso de integración por partes
puede ser resuelta esta asimetría, tal que
Z L Z L
udv = [uv]L0 − vdu (3.40)
o 0
78 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
donde: u = W y v = k ddxψ
b
la forma débil se obtiene integrando por partes los términos en derivadas segundas en (3.39).
Así
! !
RR ∂ ∂ ψb R R ∂ ∂ ψb
W kx dxdy = dy W kx dx
∂x ∂x ∂x ∂x
(3.41)
R R ∂W ∂ ψb R ∂ ψb
= − kx dxdy + W kx dy
∂x ∂x ∂x
!
∂ ∂ ψb
Realizando una operación similar para la integral de ky , se obtiene tras sustituir
∂y ∂y
" ! ! # " #
RR ∂ ∂ ψb ∂ ∂ ψb RR ∂W ∂ ψb ∂W ∂ ψb
Ω
W kx + ky + Q dxdy = − Ω
kx + ky dxdy+
∂x ∂x ∂y ∂y ∂x ∂x ∂y ∂y
RR
+ Ω
W Qdxdy+ (3.42)
" #
R ∂ ψb ∂ ψb
+ Γψ
W kx dy + ky dx dΓ
b +Γq ∂x ∂y
dy = dΓ cos α = dΓnx
dx = dΓ cos β = dΓny (3.43)
la forma débil es el punto de partida para obtener las ecuaciones de la aproximación por el
MEF. Los requisitos de continuidad han cambiado para ψ, W, k.
Contorno natural
RR ∂W ∂ψ ∂W ∂ψ RR
− Ω
kx + ky dxdy + Ω
W Qdxdy+
∂x ∂x ∂y ∂y
R ∂ψ ∂ψ
+ Γψ +Γq W kx nx + ky ny dΓ+ (3.44)
∂x ∂y
R ∂ψ ∂ψ
− Γq W kx nx + ky ny + q n + α(ψ − ψa ) dΓ = 0
∂x ∂y
R
simplificando la expresión se eliminan los términos comunes en las integrales Γq
. La forma
integral resultante es
" #
RR ∂W ∂ ψb ∂W ∂ ψb RR
− Ω kx + ky dΩ + Ω
W QdΩ+
∂x ∂x ∂y ∂y
" # (3.45)
R ∂ ψb ∂ ψb R
+ Γψ W kx nx + ky ny dΓ − Γψ W [q n + α(ψ − ψa )] dΓ = 0
∂x ∂y
agrupando los términos convectivos en los que interviene ψ en el primer miembro y teniendo
en cuenta la expresión de qn anterior, se obtiene finalmente
" #
∂W ∂ ψb ∂W ∂ ψb
RR R
− Ω kx + ky dΩ + Γq αW ψdΓ =
∂x ∂x ∂y ∂y (3.47)
RR R h i R
Ω
W QdΩ − Γq
W q n − α ba dΓ −
ψ Γψ
W qn dΓ = 0
la última integral en (3.47) se debe al flujo qn que sale por el contorno Γψ donde el valor de ψ
es conocido. Como en el problema unidimensional, dicho flujo se puede interpretar como una
”reacción” que se calcula una vez conocido el valor de ψ sobre Γψ , recordando que:
n
X (e)
ψ ' ψb = Ni (x, y)ψ (e) (3.48)
i=1
80 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
(e)
donde Ni (x, y) son las funciones de forma bidimensional y ψ (e) los valores nodales de la
solución aproximada.
Método de Galerkin
Según sea la elección de Wi , se obtiene una de las alternativas que nos ofrece el MRP. Por lo
tanto seleccionando Galerkin Wi = Ni (x, y) la expresión 3.47 se transforma en
" n (e)
! n (e)
!#
(e) (e)
XZ Z ∂Ni X ∂Nj (e) ∂Ni X ∂Nj (e)
kx ψj + ky ψj dΩ
e Ω(e) ∂x j=1
∂x ∂y j=1
∂y
XZ n
X
(e) (e) (e)
+ αNi ∂Nj ψj dΓ =
(e)
e Γq j=1
XZ Z (e)
XZ (e)
XZ (e)
Ni QdΩ − Ni [q n − αψa ] dΓ − Ni qn dΓ (3.49)
(e)
e Ω(e) e Γq e Γψ
Ka = f (3.50)
(e) (e)
Los términos Kkij representan la rigidez de ”conducción” y Kcij la rigidez de ”convección”, es
decir:
(e) (e)
Kij = Kkij + K(e)
cij ; i, j = 1, 2, 3 (3.51)
Sec. 3.3 Elementos bidimensionales de lados rectos 81
(e)
Kcij es nulo en los contornos donde no se prescriba la condición de contorno de convección, es
decir α 6= 0 en la ecuación 3.51.
(e) (e)
donde fQi , es el término de fuerza nodal asociado a Q, fci es el término de fuerza nodal debido
(e)
a la convección y fRi es el vector de flujo "reacción" en los nodos del elemento situado sobre
el contorno Γψ donde la variable está prescrita.
Nótese que las integrales sobre los contornos elementales en la expresión 3.52 sólo intervienen
en el caso de que el elemento en estudio tenga uno o más de sus lados sobre los contornos Γq y
Γψ .
Considere la discretización del dominio mediante elementos triangulares de tres nodos como se
muestra en la figura 3.7.
Si la variación de la incognita nodal es lineal y para cada nodo del elemento se tiene un grado
de libertad, entonces
ψ(x, y) = α0 + α1 x + α2 y (3.53)
Figura 3.7: Discretización de un dominio bidimensional con triángulos de tres nodos. (Oñate 1999, apuntes
clase)
(e) (e) (e) (e)
a3 + b3 x + c3 y ψ3 (3.56)
en donde
Sec. 3.3 Elementos bidimensionales de lados rectos 83
Permutando i, j, k cíclicamente se pueden hallar las expresiones de cada uno de los parámetros,[Oñate, 2002].
El área del elemento A(e) se obtiene del determinante de los coeficientes de 3.54, siendo
1 x(e) y (e)
i i
2A(e) = 1 x(e) y
(e)
(3.60)
j j
1 x(e) y (e)
k k
La función de forma de un nodo, como siempre, toma un valor unitario en un nodo y nulo en
los restantes (figura 3.8). El dominio de influencia de la función de forma global de un nodo
abarca todos los elementos que rodean al nodo.
Figura 3.8: Función de forma local en un nodo genérico para el elemento triangular de tres nodos.
3 (e)
∂ψ X ∂Ni (x, y) (e)
= ψi
∂x i=1
∂x
3 (e)
∂ψ X ∂Ni (x, y) (e)
= ψi (3.63)
∂y i=1
∂y
(e) (e)
∂Ni bi ∂Ni ci
= ; = (3.65)
∂x 2A(e) ∂y 2A(e)
Z Z
(e) 1 1
Kkij = (e)2
[kx bi bj + ky ci cj ] dΩ = [kx bi bj + ky ci cj ] (3.66)
Ω(e) 2A 4A(e)
(e)
desarrollando Kij para i=1,...,3 y j=1,...,3:
kx b 1 b1 + k y c 1 c 1 kx b1 b2 + ky c 1 c 2 kx b1 b3 + ky c 1 c 3
(e) 1
Kk = kx b 2 b1 + k y c 2 c 1 kx b2 b2 + ky c 2 c 2 kx b2 b3 + ky c 2 c 3 (3.67)
4A(e)
kx b 3 b1 + k y c 3 c 1 kx b3 b2 + ky c 3 c 2 kx b3 b3 + ky c 3 c 3
Al integrar sobre un lado del elemento, la función de forma del tercer nodo que no pertenece
(e)
al lado toma un valor nulo sobre el mismo, simplificando Kc según el lado donde se calcula la
(e)
integral de contorno y desarrollando Kc , se obtiene:
(e)
Lado 12, N3 = 0
(e) (e) (e) (e)
Z N1 N1 N1 N2 0
(e) (e) (e) (e) (e)
Kc12 =α N N N N 0 dΓ (3.69)
(e)
2 1 2 2
l12
0 0 0
Lado 23
Z 0 0 0
(e) (e) (e) (e) (e)
Kc23 =α 0 N 2 N2 N2 N3 dΓ (3.70)
(e)
l23 (e) (e) (e) (e)
0 N 3 N2 N3 N3
Lado 13
(e) (e) (e) (e)
Z N1 N1 0 N1 N3
(e)
Kc13 =α 0 0 0 dΓ (3.71)
(e)
l13 (e) (e) (e) (e)
N3 N1 0 N3 N3
(
Z (e)
(e) (e) lij /3; i=j
Ni Nj dΓ = (e) (3.72)
(e)
lij lij /6; i 6= j
(e)
donde lij la longitud del lado i − j del elemento (e).
Lado 12:
(e) 2 1 0
(e) αl
Kc12 = 12 1 2 0
6
0 0 0
Lado 23:
(e) 0 0 0
(e) αl23
Kc23 = 0 2 1
6
0 1 2
86 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
lado 13:
(e) 2 0 1
(e) αl13
Kc13 = 0 0 0 (3.73)
6
1 0 2
Reemplazando en 3.51
de la ecuación 3.52 correspondiente al vector de fuerzas nodales, para el triángulo de tres nodos:
(e) (e) (e) (e)
fi = fQi + fci + fRi
donde:
(e)
(e)
f1 Z Z N1
(e) (e) (e)
fQi = f2 = N2 QdΩ (3.75)
(e) Ω(e) (e)
f3 N3
1
(e) QA(e)
fQ = 1 (3.76)
3
1
(e)
ZN1
(e)
fc(e) =− N2 [q n − αψa ] dΓ (3.77)
(e)
Γq (e)
N3
Para en el cálculo de la matriz de rigidez, en la evaluación de la integral anterior hay que tener
en cuenta que sobre cada lado sólo son diferentes de cero las funciones de forma correspondientes
(e)
a dicho lado. Así, el valor de fc se obtiene para cada lado por:
para el lado 12
Sec. 3.3 Elementos bidimensionales de lados rectos 87
(e)
Z N1
(e) (e)
fc12 =− N2 [q n − αψa ] dΓ (3.78)
(e)
l12
0
para el lado 23
Z 0
(e) (e)
fc23 =− N2 [q n − αψa ] dΓ (3.79)
(e)
l23 (e)
N3
para el lado 13
(e)
Z N1
(e)
fc13 =− 0 [q n − αψa ] dΓ (3.80)
(e)
l13 (e)
N3
1
(e)
fc12 = [q n − αψa ] 1 (3.81)
0
(e) (e)
Con expresiones similares para fc23 , fc13
(e)
fRi es el flujo de reacción en el nodo donde está prescrito el valor de ψ. Dichos flujos se añaden
directamente a los nodos del contorno correspondiente y su valor se obtiene posteriormente una
vez calculados los valores nodales de ψ.
Los elementos rectangulares en general comprenden dos grupos, los rectangulares Lagrangianos
y los rectangulares Serendípitos. En los Lagrangianos las funciones de forma están basadas en
interpolaciones polinómicas de Lagrange en dos dimensiones teniendo en cuenta que el número
de nodos en cada dirección no puede variar a lo largo de las diferentes líneas nodales. Los
88 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
elementos Serendípitos seleccionan en cada lado un número de nodos que puede definir una
variación lineal, cuadrática, etc., sobre cada lado que garantice la continuidad inter elemental.
En esta sección se desarrollan las funciones de forma para dos elementos de cada grupo, sin
embargo las estrategias matemáticas desarrolladas pueden ser aplicadas a elementos superiores.
La coordenada natural ξ fue introducida mediante la ecuación 2.76, ahora para realizar la
transformación de la geométrica real del elemento en una geometría normalizada bidimensional
deben definirse las coordenadas ξ y η como:
ξ = 2 x−x
a
c
η = 2 y−y
b
c
(3.82)
donde xc , yc son las coordenada del centro del elemento de manera que
Adicionalmente:
dξ 1 dη 1
dx
= a
; dy
= b
(3.83)
por tanto, al considerar una función f (x, y) en el elemento rectangular su integración es posible
haciendo uso de la transformación al sistema de coordenadas naturales:
Z Z Z 1Z 1
f (x, y)dxdy = h(ξ, η)abdξdη (3.84)
Ae −1 −1
entonces la expresión general de este polinomio puede darse mediante la siguiente expresión:
X
f (x, y) = = 1p αi xj y k (3.86)
i
donde j + k ≤ n.
P = (1 + 1)(1 + 2)/2 = 3
= α1 x0 y 0
P
i=1 j=0 k=0
P1
i=2 j=1 k=0 = α2 x1 y 0
P2 0 1
i=3 j=0 k=1 3 = α3 x y
90 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
f (x, y) = α1 + α2 x + α3 y
lo que puede verificarse por inspección del triángulo de Pascal.
A continuación se presentan las expresiones de las funciones de forma de los elementos rectan-
gulares de cada grupo.
El número de nodos definido en cada una de las direcciones ξ y η no puede variar en las
diferentes líneas nodales del elemento.
Tabla 3.1: Ecuaciones para obtener las funciones en los nodos del elemento Lagrangiano de 4 nodos
Nodos ξi ηi Ni
1
1 -1 -1 4
(1 − ξ)(1 − η)
1
2 1 -1 4
(1 + ξ)(1 − η)
1
3 1 1 4
(1 + ξ)(1 + η)
1
4 -1 1 4
(1 − ξ)(1 + η)
Figura 3.11: Elemento rectangular Lagrangiano de cuatro nodos:(a) elemento, (b) Triángulo Pascal, (c) Ec.
general de Ni , (d) Gráfica función de forma
direcciones ξ y η (n = 2, m = 2):
1 1 1
Ni (ξ, η) = (ξ − 1)ξ (η − 1)η = (1 + ξξi )(1 + ηηi ) (3.89)
2 2 4
Entonces para cada nodo se obtienen las siguientes expresiones:
Tabla 3.2:
Ecuaciones para obtener las funciones en los nodos del elemento Lagrangiano de 9 nodos
Nodos ξi ηi Ni
1
1 -1 -1 4
(ξ − 1)(η − 1)ξη
2 0 -1 1
2
(η + 1)(1 − ξ 2 )η
1
3 1 -1 4
(ξ + 1)(η − 1)ξη
4 1 0 1
2
(ξ + 1)(1 − η 2 )ξ
1
5 1 1 4
(ξ + 1)(η + 1)ξη
6 0 1 1
2
(η − 1)(1 − ξ 2 )η
1
7 -1 1 4
(ξ − 1)(η + 1)ξη
8 -1 0 1
2
(ξ − 1)(1 − η 2 )ξ
2 2
9 0 0 (1 − ξ )(1 − η )
es de segundo orden ya que contiene todos los términos del polinomio completo de
segundo grado aunque también contiene 2 términos de segundo grado y uno de tercer
grado.
Las funciones de forma de un elemento Lagrangiano de n nodos en cada dirección ξ y η
contiene polinomios completos de grado n y n(n + 1)/2 términos de polinomios incom-
pletos de grados superiores. Cuando se requieren elementos de transición entre dos mallas
de elementos diferentes, es posible utilizar elementos Lagrangianos que posean diferentes
números de nodos en las direcciones ξ y η en cuyo caso deben multiplicarse los polinomios
asociados al número de nodos en cada dirección.
2. Elementos rectangulares Serendípitos:
Las funciones de forma de los elementos Serendípitos no se obtienen de forma sistemática
como en el caso de los elementos Lagrangianos. Es necesario seleccionar el número de
nodos de cada lado del elemento para definir una variación lineal, cuadrática, cúbica,
etc,. tal que se garantice la continuidad inter elemental. Posteriormente se selecciona el
mínimo número de nodos en su interior de manera que se obtenga una variación polinómica
completa y simétrica en las direcciones ξ y η, del mismo grado que la variación sobre los
lados. Debe cumplirse la condición de compatibilidad nodal y la condición de sólido rígido.
[Oñate, 1992].
a) Elemento rectangular Serendípito de cuatro nodos
Las funciones de forma de este elemento coinciden con las del elemento Lagrangiano
b) Elemento rectangular Serendípito de ocho nodos
Este elemento se caracteriza porque no posee nodos internos tal como se observa en
la figura 3.13(a). Para determinar las funciones de forma se analizan los cuatro nodos
esquina, en este caso debe seguirse el siguiente procedimiento:
1 Se parte de la expresión de un nodo esquina como si este correspondiese a un
elemento de cuatro nodos, en este caso la función de forma vale uno en el nodo
esquina y cero en los nodos restantes menos en los adyacentes al nodo esquina.
∗ 1
Nesquina = (1 − ξ)(1 − η) (3.90)
4
2 Para lograr que la función de forma sea nula en los nodos adyacentes se resta a la
ecuación 3.90 la mitad de la función de forma de cada nodo adyacente:
∗∗ ∗ 1 1
Nesquina = Nesquina − Nadyacente1 − Nadyacente2 (3.91)
2 2
3 La expresión final para los nodos esquinas (i = 1, 3, 5, 7)del elemento Serendípito de
ocho nodos es:
1
Ni (ξ, η) = (1 + ξξi )(1 + ηηi )(ξξi + ηηi − 1) (3.92)
4
Sec. 3.3 Elementos bidimensionales de lados rectos 93
Figura 3.12: Elemento rectangular Lagrangiano de nueve nodos:(a) elemento, (b) Triángulo Pascal, (c,e,g) Ec.
general de Ni , (d,f,h) Gráfica función de forma
94 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL
Ahora para determinar las funciones de forma de los nodos intermedios se realiza el
producto de un polinomio de segundo grado por uno de primer grado, ambos en (ξ y
η). La expresión para los nodos intermedios (i = 2, 4, 6, 8) es:
1
Ni (ξ, η) = (1 + ηηi )(1ξ 2 ); i = 2, 6 (3.93)
2
1
Ni (ξ, η) = (1 + ξξi )(1η 2 ); i = 4, 8 (3.94)
2
En la figura 3.13 se presenta en forma esquemática el proceso para obtener las funciones
de forma del elemento Serendípito de 8 nodos. Debido a que la relación entre el grado de
Figura 3.13: Elemento rectangular Serendípito de ocho nodos:(a) elemento, (b) Triángulo Pascal, (c) Rep. gráfica
para obtener la función de forma de los nodos 2, 4, 6, 8(d) Rep. gráfica para obtener la función de forma de los
nodos 1, 3, 5, 7
SOLUCIÓN DE PROBLEMAS
UTILIZANDO ALGORITMOS
Para comprender como abordar de forma sencilla el estudio del comportamiento de sistemas en
ingeniería mediante el uso del método de elementos finitos, en los capítulos 2 y 3 se presentaron
en forma algorítmica los modelos matemáticos básicos.
En este capítulo se hará uso de dichos algoritmos para plantear en forma literal la solución
de ejemplos sencillos, identificando en cada caso las variables conocidas y las que deben ser
determinadas. El lector podrá asignar un valor numérico a las variables conocidas y así aplicar
los procedimientos planteados a los casos en estudio.
El contenido de este capítulo le permitirá al lector en primer lugar seguir paso a paso las dife-
rentes etapas del MEF, luego aplicar las destrezas matemáticas adquiridas para posteriormente
lograr una programación sencilla y finalmente fortalecer la comprensión de los componentes
básicos de los diferentes software existentes.
Problema 1:
En la figura 4.1 se representan dos barras ensambladas en un punto sin fricción y restrin-
95
96 Cap. 4 SOLUCIÓN DE PROBLEMAS
gidas de movimiento en sus extremos. Si se aplica una carga P tal como se indica en la
figura; se requiere determinar la tensión axial (σi ) en cada barra y verificar si las barras
se encuentran en tracción o compresión.
Figura 4.1: Dos barras ensambladas en un punto sin fricción y restringidas de movimiento en sus extremos
Solución:
Etapa 1 Preproceso:
Figura 4.2: Identificación de elementos y nodos en dos barras ensambladas en un punto sin fricción y restringidas
de movimiento en sus extremos
Etapa 2 Proceso:
Figura 4.3:
de los nodos.
" # elemento
" 1 #" # " # elemento
" 2 #" #
f11 1 −1 u 1
1 f12 1 −1 u 2
1
= 2EA
3L
= EA
L
f21 −1 1 u12 f22 −1 1 u22
f1 = − 2EA
3L
; f3 = − EA
L
Paso 1: Se presentan los resultados obtenidos mediante tablas y gráficas, para fa-
cilitar su evaluación e interpretación sobre la base de las teorías y suposiciones
iniciales.
Sec. 4.1 Problemas de tipo discreto unidimensionales 99
Problema 2:
En la figura 4.5 se representan una barra empotrada en uno de sus extremos (izquierdo) y
el otro extremo (derecho) no empotrado, adicionalmente se encuentra sometida a la acción
de una fuerza P en el punto medio de su longitud. Se pide:
(a) Determinar si debido a la acción de P la barra hace contacto con la pared derecha
(b) Determinar las reacciones en los extremos de la barra.
Se conoce la distancia del extremo derecho de la barra a la pared (∆x)
Figura 4.5:
Solución:
Etapa 1 Preproceso:
Paso 3: Se identifican y numeran los nodos (1, 2, 3), se elabora un diagrama como en
la figura 4.6.
Figura 4.6: Identificación de elementos y nodos en una barra restringida de movimiento en un extremo
Paso 4: Se establecen las propiedades geométricas y físicas conocidas para cada ele-
mento:
• Elemento 1: Longitud=L en mm, Área= A, (mm2 ), Módulo de elasticidad=
E, (N/mm2 )
• Elemento 2: Longitud=L en mm, Área= A, (mm2 ), Módulo de elasticidad=
E, (N/mm2 )
Paso 5: Se identifican cargas externas aplicadas y restricciones conocidas:
• Cargas: aplicada en el nodo 2 (P en Newton)
• Restricciones: el nodo 1 con apoyo u1 = 0 y restricción de movimiento en la
dirección x (R1 ).
• Distancia del extremo derecho de la barra a la pared ∆x, (mm)
Paso 6: Se construye la tabla (archivo) de conectividades:
Etapa 2 Proceso:
Figura 4.7: Identificación de elementos y nodos en una barra restringida de movimiento en un extremo
Paso 2: Para verificar si se hace contacto entre la barra y la pared del lado derecho
se calcula el desplazamiento a la derecha de la barra (∆x∗ ) debido a la acción de
P asumiendo que no existe la pared:
Solución (a): Se producirá el contacto si ∆x∗ > ∆x, entonces para determinar
las reacciones u3 = ∆x. Si ∆x∗ < ∆x, entonces para determinar las reacciones
u3 = ∆x∗
Paso 3: La matriz de rigidez global para el sistema unidimensional de dos elementos
es:
f1 1 −1 0 u1
f2 = EA L −1 2 −1 u2
f3 0 −1 1 u3
( )
EA
h i u2
P = L 2 −1 → u2 = 21 ( EA
PL
+ u3 )
u3
quedando plenamente definido el vector de desplazamientos: u1 = 0, u2 = 12 ( EA
PL
+
u3 ), u3 .
Para determinar las reacciones en los extremos de la barra se utilizan las ecuaciones
1 y 3 del sistema de ecuaciones globales:
h i u1
f1 = EA 1 −1 0 u2 = EA (−u2 ) = − PL − EAu 3
L L 2L
u3
h i u1
f3 = EA 0 −1 1 u2 = EA (−u2 + u3 ) = − PL − 3EAu 3
L L 2L
u3
Etapa 3 Post proceso:
2 u2 = 21 ( EA
PL
+ u3 ) f2 = P
3 u3 = ∆x, Si ∆x∗ > ∆x f3 = − PL − 3EAu
2L
3
Problema 3:
Para el circuito resistivo mostrado en la figura 4.10, obtenga las expresiones de la matriz
de rigidez y el vector de fuerzas nodales en los sistemas locales y globales. Asuma como
conocidos los valores de las resistencias, el voltaje en el nodo 3 (0 volt) y la excitación
externa de corriente en el nodo 1
Solución:
Etapa 1 Preproceso:
Paso 1: Selección del tipo de problema: problema eléctrico que requiere el uso de las
P
leyes de Kirchoff, (corrientes) = 0 en cada nodo y V = I ∗ R donde V=voltaje,
I=corriente y R= resistencia. Debido a la analogía entre sistemas es posible utilizar
el procedimiento desarrollado en la sección 2.2 en el punto 1.
Sec. 4.1 Problemas de tipo discreto unidimensionales 103
Paso 2: En el enunciado del problema ya se han definido los elementos discretos para
el estudio del sistema eléctrico,(e1 , e2 , e3 , e4 , e5 ),
Paso 3: En el enunciado del problema ya se ha definido la localización de los nodos
(1, 2, 3, 4, 5)
Paso 4: Se establecen las propiedades conocidas de los elementos del sistema:
• Elemento 1: R1 en Ohm
• Elemento 2: R2 en Ohm
• Elemento 3: R3 en Ohm
• Elemento 4: R4 en Ohm
• Elemento 5: R5 en Ohm
Paso 5: Se identifican cargas externas aplicadas y restricciones conocidas:
• Cargas: corriente = I1 en amp
• Restricciones: voltaje V3 .
Paso 6: Se construye la tabla (archivo) de conectividades:
Etapa 2 Proceso:
" # elemento
" e #" #
I1e 1 −1 V1
e
= R1e
I2e −1 1 V2e
104 Cap. 4 SOLUCIÓN DE PROBLEMAS
Paso 2: La matriz de rigidez local para cada elemento del sistema eléctrico resistivo
es:
" 1 2 #
1 K (1) −K (1)
Elemento 1
2 −K (1) K (1)
" 1 4 #
(2)
1 K −K (2)
Elemento 2
4 −K (2) K (2)
" 2 4 #
2 K (3) −K (3)
Elemento 3
4 −K (3) K (3)
" 2 3 #
2 K (4) −K (4)
Elemento 4
3 −K (4) K (4)
" 3 4 #
3 K (5) −K (5)
Elemento 5
4 −K (5) K (5)
Paso 3: Se realiza el ensamblaje para obtener la matriz de rigidez global del sistema
Sec. 4.2 Problemas de tipo continuo unidimensionales 105
eléctrico resistivo.
1 2 3 4
K + K (2)
(1)
−K (1) −K (2)
1 0
2
−K (1) K + K (3) + K (4)
(1)
−K (4) −K (3)
−K (4) K (4) + K (5) −K (5)
3 0
4 −K (2) −K (3) −K (5) K (2) + K (3) + K (5)
Paso 4: Para obtener el vector de fuerzas nodales I se utilizan las leyes de Kirchoff,
desarrollando las ecuaciones de sumatorias de las corrientes en cada nodo (Ni )
igual a cero:
N1 = I11 + I12 = I1
1 3 4
N2 : I2 + I1 + I1 = 0
N3 : I24 + I25 = 0
3 5 4
N4 : −I2 − I2 − I2 = 0
I1
0
I=
0
0
Paso 5: Se imponen las condiciones de contorno y se obtiene el siguiente sistema de
ecuaciones en forma matricial:
K (1) + K (2) −K (1) −K (2)
0 V1 I1
−K (1) K (1)
+ K (3) + K (4) −K (4) −K (3) V
2
0
=
−K (4) K (4) + K (5) −K (5)
0 0 0
−K (2) −K (3) −K (5) K (2)
+ K (3) + K (5) V4 0
Solución:
De la ecuación diferencial dada y teniendo en cuenta las ecuaciones 2.104 y 2.108, así como
las condiciones iniciales:
1
∂2ψ
Z
dψ
W( + 3ψ + 4)dx + W ( ) |x=1 = 0
0 ∂x dx
Aplicando la forma débil, contorno natural, método de residuos ponderados: método de
Galerkin y finalmente utilizando las funciones de forma para elementos Lagrangianos de
dos nodos (sección 2.3.3), se obtiene:
l
Pn l
dNj aj
Z Z
dNi j=1
k dx = Ni Qdx + [Ni q]0 − [Ni q]l = 0 i = 1, 2, ..., n
0 dx dx 0
simplificando:
l
Pn l l
dNj aj
Z Z Z
dNi j=1
dx − Ni 3Nj aj = Ni 4dx + [Ni q]0 + Ni 2 |l = 0 i = 1, 2, ..., n
0 dx dx 0 0
Sec. 4.2 Problemas de tipo continuo unidimensionales 107
donde:
Z 1
dNi dNj
Kij = { − Ni 3Nj aj }dx
0 dx dx
y el lado izquierdo de la igualdad
Z 1
fi = Ni 4dx + [Ni q]0 + (Ni 2)x=l
0
las funciones de forma para un elemento de dos nodos están dadas por:
(e) (e)
(e) x2 − x x2 − x
N1 (x) = (e) (e)
=
x2 − x1 l(e)
(e) (e) (e)
N2 x−x x − x1
= (e) 1 (e) =
(x) x2 − x1 l(e)
(e)
dN1 (x) dx
=−
dx l
dx (e)
dN2 (x)/dx =
l
A continuación se desarrollaran los términos de la matriz de rigidez de el elemento 1.
Procedimientos similares deben seguirse para obtener las matrices de los elementos 2 y 3.
• Elemento 1:
R 1/3
K11 = 0
{ dN
dx
1 dN1
( dx ) − 3N1 (N1 )}dx
R l/3
= 0 {−3(−3) − 3(1 − 3x)2 }dx
= 8/3
R 1/3
K12 = K21 = 0 { dNdx
1 dN2
( dx ) − 3N1 (N2 )}dx
R 1/3
= 0 {−3(3) − 3(1 − 3x)(3x)}dx
= −19/6
R 1/3
K22 = 0 { dN dx
2 dN2
( dx ) − 3N2 (N2 )}dx
R 1/3
= {3(3) − 3(3x)2 }dx
0
= 8/3
" #
8/3 −19/6
K1 =
−19/6 8/3
• Elementos 2 y 3:
K2 = K3 = K1
R 1/3
f21 = 0 N21 4dx
R 1/3
= 0 (3x)4dx
= 8/3
R 2/3
f12 = 1/3
N12 4dx
R 2/3
= 1/3
(2 − 3x)4dx
= 2/3
Sec. 4.3 Problemas de tipo discreto bidimensionales 109
R 2/3
f22 = N22 4dx
R1/3
2/3
= 1/3 (3x − 1)4dx
= 2/3
R1
f13 = 2/3 N13 4dx
R1
= 2/3 (3 − 3x)4dx
= 2/3
Rl
f23 = N 3 4dx + N23 2 |l
2/3 2
Rl
= 2/3
(3x − 2)4dx + (3x − 2)2 |l
= 8/3
de donde: q |0 = 39.6646
Problema 1:
Dado un sistema de barras en el plano como se muestra en la figura 4.11:
110 Cap. 4 SOLUCIÓN DE PROBLEMAS
Se han identificado tres elementos y tres nodos, la fuerza F que actúa en el nodo 3 es
conocida, las barras en posición vertical y horizontal respecto al sistema de coordenadas
global (x,y) tienen una longitud conocida L, el área de la sección transversal de las barras
es A, el módulo de Young para las tres barras es E. Determine los desplazamientos en cada
nodo y las reacciones en los apoyos debidos a la acción de la fuerza F
Solución:
Etapa 1 Preproceso:
Paso 1: Selección del tipo de problema: teoría lineal de estructuras de barras bidi-
mensionales para calcular desplazamientos y reacciones.
Paso 2: Se definen los elementos discretos, de tal manera que cada barra representa
un elemento (e1 , e2 , e3 )
Paso 3: Se identifican y numeran los nodos (1, 2, 3)
Paso 4: Se establecen las propiedades geométricas y físicas para cada elemento:
√
• Elemento 1: longitud= 2L, área= A, módulo de elasticidad=E
• Elemento 2: longitud=L, área= A, módulo de elasticidad=E
• Elemento 3: longitud=L, área= A, módulo de elasticidad=E
Paso 5: Se identifican cargas externas aplicadas y restricciones:
• Cargas: aplicada en el nodo 3 (-F)
• Restricciones: nodo 1: u1 = v1 = 0, nodo 2: v 0 2 = 0, nodo 3: v3 = 0
Sec. 4.3 Problemas de tipo discreto bidimensionales 111
Etapa 2 Proceso:
se obtiene u2 = v2 .
Las componentes de fuerza en el nodo 2 en el sistema local son: f 0 2x , f 0 2y , donde
f 0 2x = 0. Utilizando las relaciones de transformación :
√ h " #
0 2 i f
2x
f 2x = 1 1 =0
2 f2y
Figura 4.12:
u1 v1 u2 v2
1 1
√ √ − 2√1 2 − 2√1 2
212 2 2
1
− 2√1 2 − 2√1 2
√ √
k 1 = ( EA
L
) 2 2
− √1 − √1
2 2
1 1
√ √
2 2 2 2 2 2 2 2
− 2√1 2 − 2√1 2 1
√
2 2
1
√
2 2
u v u v
3 3 2 2
1 0 −1 0
0 0 0 0
k 2 = ( EA )
L
−1 0 1 0
0 0 0 0
• Elemento 3 si θ = 90 entonces sin(θ) = m = 1, cos(θ) = l = 0
u v u3 v 3
1 1
0 0 0 0
0 1 0 −1
k 3 = ( EA )
L
0 0 0 0
0 −1 0 1
u1 v1 u2 v2 u3 v3
1 1 1 1
√
2 2
√
2 2
− √
2 2
− √
2 2
0 0
1 1 1 1
√
2 2
√
2 2
+ 1 − √
2 2
− √
2 2
0 −1
1 1 1 1
EA
− 2√ 2 − 2√ 2 2√ 2 + 1 √
2 2
−1 0
K= L
− 2√1 2 − 2√1 2 1
√
2 2
1
√
2 2
0 0
0 0 −1 0 1 0
0 −1 0 0 0 1
√1 + 1 −1 " # f2x
2
EA u2
√1 0 = −f2x
L 2 u3
−1 1 F
Paso 6: De la ecuación 2 se obtiene √1 u2 = −f2x , sustituyendo en el sistema de
2
ecuaciones y simplificando
" #" # " #
EA √2 + 1 −1 u2 0
2 =
L −1 1 u3 F
Resolviendo el sistema:
√
• u2 = 2F L/EA
√
• u3 = (1 + 2)F
Paso 7: Finalmente para calcular las reacciones debe resolverse el producto de la
matriz de rigidez por el vector desplazamiento en el siguiente sistema:
− 2√1 2 − 2√1 2
0 f1x
− √1 − √1 0 f1y
2 2 2 2
1 1
u2
EA √ +1
2 2
√
2 2
−1
v2 =
f2x
L 1 1 f
√ √ 0
2y
2 2 2 2 u3
f3x
−1 0 1
0 0 0 f3y
Problema 1:
Sea el dominio bidimensional en el cual se genera una cantidad de calor interno conocido.
Se realiza un mallado con elementos rectangulares de cuatro nodos, tal como se muestra
en la figura 4.13. Se quiere analizar la transmisión de calor en el mismo bajo las siguientes
condiciones:
• Considere la ecuación que rige el problema como:
d2 ψ d2 ψ
k + k + Q(x, y) = 0
dx2 dy 2
en régimen estacionario
• Los coeficientes de conductividad térmica en las direcciones x e y son Kx = Ky = 1
Sec. 4.4 Problemas de tipo continuo bidimensionales 115
Solución:
Etapa 1 Preproceso:
Etapa 2 Proceso:
116 Cap. 4 SOLUCIÓN DE PROBLEMAS
(e) Rl Rl 1 1
K11 = −1 −1 16
(η − 1)2 + 16
(ξ − 1)2 dξdη
integrando:
K11 = 2/3
• si i=1, j=2
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N1 ∂N2 ∂N1 ∂N2
K12 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
(e) Rl Rl 1 1
K12 = −1 −1 16
(η − 1)(1 − η) + 16
(ξ − 1)(−ξ − 1) dξdη
integrando:
K12 = −1/6
• si i=1, j=3
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N1 ∂N3 ∂N1 ∂N3
K13 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
118 Cap. 4 SOLUCIÓN DE PROBLEMAS
(e) Rl Rl 1 1
K13 = −1 −1 16
(η − 1)(1 + η) + 16
(ξ − 1)(1 + ξ) dξdη
integrando:
K13 = −1/3
• si i=1, j=4
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N1 ∂N4 ∂N1 ∂N4
K14 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
(e) Rl Rl 1 1
K14 = −1 −1 16
(η − 1)(−η − 1) + 16
(ξ − 1)(1 − ξ) dξdη
integrando:
K14 = −1/6
• si i=2, j=2
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N2 ∂N2 ∂N2 ∂N2
K22 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
(e) RlRl 1 1
K22 = 0 0 16
(1 − η)2 + 16
(−ξ − 1)2 dξdη
integrando:
K22 = 2/3
• si i=2, j=3
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N2 ∂N3 ∂N2 ∂N3
K23 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
(e) Rl Rl 1 1
K23 = −1 −1 16
(1 − η)(1 + η) + 16
(−ξ − 1)(1 + ξ) dξdη
integrando:
K23 = −1/6
Sec. 4.4 Problemas de tipo continuo bidimensionales 119
• si i=2, j=4
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N2 ∂N4 ∂N2 ∂N4
K24 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
reemplazando la derivadas de las funciones de forma:
(e) Rl Rl 1 1
K24 = −1 −1 16
(1 − η)(−η − 1) + 16
(−ξ − 1)(1 − ξ) dξdη
integrando:
K24 = −1/3
• si i=3, j=3
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N3 ∂N3 ∂N3 ∂N3
K33 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
reemplazando la derivadas de las funciones de forma:
(e) Rl Rl 1 1
K33 = −1 −1 16
(1 − η)2 + 16
(1 + ξ)2 dξdη
integrando:
K33 = 2/3
• si i=3, j=4
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N3 ∂N4 ∂N3 ∂N4
K34 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
reemplazando la derivadas de las funciones de forma:
(e) Rl Rl 1 1
K34 = −1 −1 16
(1 + η)(−1 − η) + 16
(1 + ξ)(1 − ξ) dξdη
integrando:
K34 = −1/6
• si i=4, j=4
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N4 ∂N4 ∂N4 ∂N4
K44 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η
reemplazando la derivadas de las funciones de forma:
(e) Rl Rl 1 1
K44 = −1 −1 16
(−1 − η)2 + 16
(1 − ξ)2 dξdη
120 Cap. 4 SOLUCIÓN DE PROBLEMAS
integrando:
K44 = 2/3
finalmente la matriz de rigidez del elemento (e) en la numeración local es:
2/3 −1/6 −1/3 −1/6
−1/6 2/3 −1/6 −1/3
K(e) =
−1/3 −1/6 2/3 −1/6
◦ Elemento 2:
(2) (2) (2) (2)
2 5 6 3
K11 K12 K13 K14
(2) (2) (2) (2) 2 K22 K25 K26 K23
K21 K22 K23 K24
K(2) =
K (2) (2) (2) (2)
= 5
K52 K55 K56 K53
31 K32 K33 K34
(2) (2) (2) (2)
6 K62 K65 K66 K63
K41 K42 K43 K44
3 K31 K35 K36 K33
◦ Elemento 3:
(3) (3) (3) (3)
4 7 8 5
K11 K12 K13 K14
(3) (3) (3) (3) 4 K44 K47 K48 K45
K21 K22 K23 K24
K(2) =
K (3) (3) (3) (3)
= 7
K74 K77 K78 K75
31 K32 K33 K34
(3) (3) (3) (3)
8 K84 K87 K88 K85
K41 K42 K43 K44
5 K54 K57 K58 K55
(e)
f1 = 20
• Para i = 2
Z l Z l
(e) (e)
f2 = N2 20a2 ξdη
−1 −1
reemplazando la función de forma en el nodo 2 del elemento (e) y con a=1
Z l Z l
(e) 1
f2 = (1 + ξ)(1 − η)20dξdη
−1 −1 4
integrando
(e)
f2 = 20
• Para i = 3
Z l Z l
(e) (e)
f3 = N3 20a2 ξdη
−1 −1
reemplazando la función de forma en el nodo 3 del elemento (e) y con a=1
Z l Z l
(e) 1
f3 = (1 + ξ)(1 + η)20dξdη
−1 −1 4
integrando
(e)
f3 = 20
122 Cap. 4 SOLUCIÓN DE PROBLEMAS
• Para i = 4
Z l Z l
(e) (e)
f4 = N4 20a2 ξdη
−1 −1
reemplazando la función de forma en el nodo 4 del elemento (e) y con a=1
Z l Z l
(e) 1
f4 = (1 − ξ)(1 + η)20dξdη
−1 −1 4
integrando
(e)
f4 = 20
asociando la forma del vector de fuerzas de cada elemento en la numeración local
y global:
• Elemento 1:
(1) (1)
f1 1 f1
(1) (1)
f2 4 f4
f (1) =
f (1)
=
f (1)
3
5 5
(1) 2 (1)
f4 f2
• Elemento 2:
(2) (2)
f 2 f
1(2) 2(2)
f2 5 f5
f (2) =
f (2)
=
f (2)
3
6 6
(2) 3 (2)
f4 f3
• Elemento 3:
(3) (3)
f 4 f
1(3) 4(3)
f2 7 f7
f (2) =
f (3)
=
f (3)
3
8 8
(3) 5 (3)
f4 f5
kT = f
Paso 8: Obtenidos los Ti , en los nodos del elemento situados sobre el contorno se calcula
el vector de flujo "reacción" R1 , R2 , R3 , R4 , R7 , utilizando las ecuaciones :
(1)
k11 T1 + k12 T2 + k14 T4 + k15 T5 = f1 + R1
(1) (2)
k21 T1 + k22 T2 + k23 T3 + k24 T4 + k25 T5 + k26 T6 = f2 + f1 + R2
(2)
k32 T2 + k33 T3 + k35 T5 + k26 T6 = f4 + R3
(1) (3)
k41 T1 + k42 T2 + k44 T4 + k45 T5 + k47 T7 + k48 T8 = f2 + f1 + R4
(3)
k74 T7 + k75 T5 + k77 T7 + k78 T8 = f2 + R7
kT = f
Problema 2:
Utilizando elementos triangulares, se repetirá el estudio del ejercicio anterior en el cual
se requiere calcular el valor de la temperatura (T) en los nodos 5, 6 y 8. Las condiciones
iniciales y de contorno están dadas por:
• El calor prescrito es cero (qn = 0) en los lados 3-6, 5-6, 5-8 y 7-8
• La fuente de calor Q, de 20 cal/m2◦ C
• Los coeficientes de conductividad térmica en las direcciones x e y, Kx = Ky = 1
Se sugiere la numeración de elementos y nodos mostrada en la figura 4.14. Adicionalmente
la longitud del lado es a = 5
Solución:
Etapa 1 Preproceso:
124 Cap. 4 SOLUCIÓN DE PROBLEMAS
Paso 1: Selección del tipo de problema: problema en regimen estacionario que se rige
mediante la ecuación de Poisson
Paso 2: En el enunciado del problema ya se han definido los elementos discretos para
el estudio. Considerando la simetría del problema es posible reducir el estudio a
los elementos (e1 , e2 , e4 ).
Paso 3: Se establecen las propiedades geométricas y físicas para cada elemento:
• Elementos 1,2,4: longitud de los lados = a, en las direcciones x e y, coeficiente
de conductividad térmica (k)=1, en las direcciones x e y.
Paso 4: Se identifican cargas externas aplicadas y restricciones:
• Cargas: flujo de calor qn = 0, en los contornos 3-6, 6-5, 5-8, 8-7. Fuente de
calor, Q = 20
• Restricciones: nodo 1: T1 = 0, nodo 2: T2 = 0, nodo 3: T3 = 0, nodo 4: T4 = 0,
nodo 7: T7 = 0
Paso 5: Se construye la tabla (archivo) de conectividades:
Etapa 2 Proceso:
Elemento nodo bi ci
1 b1 = y21 − y31 = −5 c1 = x13 − x12 =0
1 2 b2 = y31 − y11 = 5 c2 = x11 − x13 = −5
1 1
3 b3 = y1 − y2 = 0 c3 = x12 − x11 =5
2 2
1 b1 = y2 − y3 = −5 c1 = x23 − x22 =0
2 2 b2 = y32 − y12 = 5 c2 = x21 − x23 = −5
2 2
3 b3 = y1 − y2 = 0 c3 = x22 − x21 =5
4 4
1 b1 = y2 − y3 = 0 c1 = x43 − x42 = −5
4 4
4 2 b2 = y3 − y1 = 5 c2 = x41 − x43 =0
4 4
3 b3 = y1 − y2 = −5 c3 = x42 − x41 =5
126 Cap. 4 SOLUCIÓN DE PROBLEMAS
1 x(e) y (e)
i i
2A(e) = 1 xj yj(e)
(e)
1 x(e) y (e)
k k
el área para cada elemento es:
Elemento Area
1 25/2
2 50/2
4 25/2
Para cada elemento se obtiene la matriz de rigidez:
(e) (e) (e)
K11 K12 K13 b1 b1 + c1 c1 b1 b2 + c1 c2 b1 b3 + c1 c3
(e) (e) (e) (e) 1
Kk = K21 K22 K23 = b2 b1 + c2 c1 b2 b2 + c2 c2 b2 b3 + c2 c3
(e) (e) (e) 4A(e)
K31 K32 K33 b 3 b 1 + c3 c1 b3 b2 + c3 c2 b3 b3 + c3 c3
• Elemento 2:
(1) (1) (1) 2 3 6
K11 K12 K13
(1) (1) (1) 2 K22 K23 K26
K(2) = K21 K22 K23 =
3 K32 K33 K36
(1) (1) (1)
K31 K32 K33
6 K62 K63 K66
• Elemento 4:
(1) (1) (1) 2 6 5
K11 K12 K13
(1) (1) (1) 2 K22 K26 K25
K(4) = K21 K22 K23 =
6 K62 K66 K65
(1) (1) (1)
K31 K32 K33
5 K52 K56 K55
Ahora ensamblado la matriz global
1 2 3 5 6
(1) (1) (1)
K12
1 K11 K14 0 0
(1) (1) (2) (2) (1) 0
2 K41
K44 + K11 K24 K42
3
(2) (2) 0 0
0 K41 K44
(3) (3)
5 K (1)
0 K21 K13
21 0
6 (3) (3)
0 0 0 K31 K33
Sec. 4.4 Problemas de tipo continuo bidimensionales 127
Ahora ensamblado
(1)
1 f1
(1) (2) (4)
2 f2 + f1 + f1
(2)
3
f2
(1) (4)
5
f3 + f3
(2) (4)
6 f3 + f2
Paso 6: Reemplazando los valores prescritos, el vector de incógnitas nodales es:
T1 0
T 0
2
T = T3 = 0
T5 T5
T6 T6
Paso 8: Obtenidos los Ti , en los nodos del elemento situados sobre el contorno se calcula
el vector de flujo "reacción" R1 , R2 , R3 , utilizando las ecuaciones
128 Cap. 4 SOLUCIÓN DE PROBLEMAS
(1)
k11 T1 + k12 T2 + k14 T5 = f1 + R1
(1) (2) (4)
k21 T1 + k22 T2 + k23 T3 + k23 T5 = f2 + f1 + f1 + R2
(2)
k11 T1 + k12 T2 + k14 T5 = f2 + R3
Capítulo 5
5.1. Introducción
Sobre la base del esquema para la implementación computacional del análisis de un problema
mediante el método de elementos finitos presentado en la figura 1.1, se plantean tres etapas
básicas: el preproceso, proceso y post proceso.
1. Preproceso:
129
130 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
Para cada etapa se presentan a continuación diferentes subrutinas, las cuales permiten visualizar
el uso de diferentes comandos y estrategias de programación que se ajustan a los algoritmos
de solución de problemas unidimensionales y bidimensionales en los casos de sistemas discretos
y continuos. Los programas descritos utilizan comandos simples y avanzados según la destreza
en el manejo de MATLAB, estos últimos logran la optimización de cada etapa. En cada caso
se realizará una descripción de los diferentes pasos e instrucciones con el interés de facilitar su
comprensión. El tipo de problema en que ha enfocado la programación es el problema estructural
sin embargo debido a la analogía con otros sistemas es fácil adaptarlos. Las etapas del programa
pueden ser escritas en forma consecutiva o mediante subrutinas llamadas desde un programa
principal.
1. Programa modelo 1:
Estudio de un sistema de tipo discreto con 1 grado de libertad por nodo.
Programa modelo 1
Sec. A.3 Programación del Método de Elementos Finitos 131
% PREPROCESO
% Limpieza de memorias
clear all
mYoung_e=input(’Módulo de Young de cada elemento del sistema, [a,b,...]=’);
Area_e=input(’Área de cada elemento del sistema, [a,b,...]=’);
Long_e=input(’Longitud de cada elemento del sistema, [a,b,...]=’);
TotalNodos=input(’Número total de nodos del sistema: n’);
MatrizConectElemen=input(’Matriz de conectividades de cada elemento = [a b; c d; ...]’)
TotalElem=size(MatrizConectElemen,1);
Desplazamientos=zeros(TotalNodos,1);
VectorFuerza=zeros(TotalNodos,1);
MatrizRigidez=zeros(TotalNodos);
FuerzaNodo=input(’Nodo en que se aplica una fuerza=’);
ValorFuerzaNodo=input(’Magnitud de la fuerza=’);
VectorFuerza(FuerzaNodo)=ValorFuerzaNodo;
GLPrescritos=input(’Nodos con desplazamientos conocidos=[a,b,...]’);
% PROCESO
for i=1:TotalElem;
K_e(i)=mYoung_e(i).*Area_e(i)./Long_e(i);
GLElem=MatrizConectElemen(i,:);
MatrizRigidez(GLElem,GLElem)=MatrizRigidez(GLElem,GLElem)+K_e(i).*[1 -1;-1 1]
end
MatrizReducida=setdiff([1:TotalNodos],[GLPrescritos])
Desplazamientos1=MatrizRigidez(MatrizReducida,MatrizReducida)...
\ VectorFuerza(MatrizReducida);
Desplazamientos(MatrizReducida)=Desplazamientos1
100
VectorFuerza(FuerzaNodo)=ValorFuerzaNodo
VectorFuerza(3)=100
GLPrescritos=[1 4]
3 −3 0 0
−3 6 −3 0
K_e(2) =[3 3 0]; GLElem =[2 3];MatrizRigidez=
0 −3 3 0
0 0 0 0
i=3:
3 −3 0 0
−3 6 −3 0
K_e(3) =[3 3 3]; GLElem =[3 4];MatrizRigidez=
0 −3 6.75 −3.75
0 0 −3.73 3.75
2. Programa modelo 2:
Estudio de sistema de tipo continuo unidimensional para una barra empotrada en sus
extremos, considerando la formulación isoparamétrica. El usuario introduce el número de
elementos y las coordenadas y conectividades son generadas por el programa, todos los
elementos tienen igual valor para el área, longitud y módulo de Young.
Programa modelo 2
% PREPROCESO
Sec. A.3 Programación del Método de Elementos Finitos 135
clear all
fprintf(’Seleccione el material:\ n’);
fprintf(’1 - Aluminio ( 70.000MPa) \n’);
fprintf(’2 - Acero (200.000 MPa) \ n’);
fprintf(’3 - Madera ( 10.000 MPa) \n’);
fprintf(’5 - Otros \ n’);
Opc=input(’Ingrese la Opción = ’);
switch Opc
case 1, mYoung_e=70000; case 2, mYoung_e=200000;
case 3, mYoung_e=30000; case 4, mYoung_e=100000;
otherwise
mYoung_e=input(’Ingrese el Módulo de Young en MPa, E = ’);
end
mYoung_e= mYoung_e*1e3;
Area_e=input(’Área de la sección en m2 A = ’);
Long_e=input(’Longitud de la barra m L = ’);
TotalElem=input(’Número de elementos = ’);
VectorCoordNodos=linspace(0,Long_e,TotalElem+1);
TotalNodos=size(VectorCoordNodos,2);
NE=1:TotalElem;
MatrizConectElemen(:,1)=NE; MatrizConectElemen(:,2)=NE+1;
VectorFuerza=zeros(TotalNodos,1);
NC=input(’Nodo con carga = ’);
VectorFuerza(NC)=input(’Magnitud de la carga = ’);
VectorDesplazamientos=zeros(TotalNodos,1); CN=VectorCoordNodos;
GLPrescritos=find(CN==min(CoordNodos(:)) | CN==max(VectorCoordNodos(:)))’;
GL_NoPrescritos=setdiff([1:TotalNodos]’,[GLPrescritos]);
MatrizRigidez=zeros(TotalNodos, TotalNodos);
% PROCESO
for i=1:TotalElem
CE=MatrizConectElemen(i,:) ;
LElem=VectorCoordNodos(CE(2))-VectorCoordNodos(CE(1));
Jacobiano=LElem/2;
xelem=0.0; FunForma=([1-xelem 1+xelem]/2)’;
DFunForma=[-1;1]/2;
MatrizB=zeros(1,length(CE)); MatrizB1=DFunForma*1/Jacobiano;
MatrizB(1:length(CE)) = B1(:);
MatrizRigidez(CE,CE)=MatrizRigidez(CE,CE)+MatrizB’*MatrizB*2*Jacobiano*...
mYoung_e*Area_e;
end
VectorDesplazamientos=MatrizRigidez(GL_NoPrescritos,GL_NoPrescritos)\...
VectorFuerza(GL_NoPrescritos);
VectorDesplazamientos1=zeros(TotalNodos,1);
VectorDesplazamientos1(GL_NoPrescritos)=VectorDesplazamientos;
VectorFuerza=MatrizRigidez*VectorDesplazamientos1; Reacciones=Fuerza(GLPrescritos);
%POSTPROCESO
fprintf(’Nodos Desplazamientos Fuerzas \ n’)
136 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
for j=1:TotNodos;
fprintf(’ %d %18.6f %18.6f \n’, j, Desplazamientos1(j), VectorFuerza(j))
end
Se requieren las propiedades físicas y geométricas, en este caso el usuario puede seleccio-
nar el módulo de Young al seleccionar el material en estudio mediante opciones de 1 a 4
o puede asignar un nuevo material opción 5.
fprintf(’Seleccione el material:\ n’);
fprintf(’1 - Aluminio ( 70.000MPa) \ n’);
fprintf(’2 - Acero (200.000 MPa) \ n’);
fprintf(’3 - Madera ( 10.000 MPa) \’);
fprintf(’5 - Otros \’);
Opc=input(’Ingrese la Opción = ’);
switch Opc
case 1, mYoung_e=70000;
case 2, mYoung_e=200000;
case 3, mYoung_e=30000;
case 4, mYoung_e=100000;
Sec. A.3 Programación del Método de Elementos Finitos 137
otherwise
mYoung_e=input(’Ingrese el Módulo de Young en MPa, E = ’);
end
mYoung_e= mYoung_e*1e3;
3
Luego asigna el área de la sección transversal (m2 ) y la longitud (m) para la barra en
estudio.
Area_e=input(’Área de la sección en (m2 ), A = ’);
Long_e=input(’Longitud de la barra en (m), L = ’);
0.25
1
El usuario deberá introducir el número de elementos en que desea estudiar a la barra co-
mo una variable entera, cuando aparece en pantalla: Número de elementos =, el valor es
asignado a la variable TotalElem mediante la sentencia:
TotalElem=input(’Número de elementos = ’);
3
El programa utilizará la función linspace(A,B,C) la cual genera C puntos equiespaciados
entre los puntos A y B. En el vector VectorCoordNodos se almacenan los valores de los
puntos que corresponderán con las coordenadas unidimensionales de cada nodo.
VectorCoordNodos=linspace(0,Long_e,TotalElem+1);
4
Para construir la matriz de conectividades de los elementos MatrizConectElemen crea un
vector cuyos componentes van desde 1 hasta el número total de elementos y los almacena
en la primera columna 1 de MatrizConectElemen, luego incrementa cada término del vec-
tor en 1 y almacena los valores en la columna 2 de MatrizConectElemen
NE=1:TotalElem;
138 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
MatrizConectElemen(:,1)=NE;
MatrizConectElemen(:,2)=NE+1;
1 2
2 3
3 4
Se inicializa la variable del vector de fuerza de cada nodo VectorFuerza, se identifica el
nodo(s) con carga y luego se asigna la magnitud de la(s) fuerza(s), en caso de existir varios
nodos con carga se escribe un vector en cada caso.
VectorFuerza=zeros(TotalNodos,1);
NC=input(’Nodo(s) con carga = ’);
VectorFuerza(NC)=input(’Magnitud de la(s) carga(s) = ’);
3
100
Se inicializa la variable para los desplazamientos de los nodos VectorDesplazamientos me-
diante el comando zeros, y se identifican los nodos extremos de la barra como nodos con
desplazamiento prescrito igual a cero (restricciones) utilizando el comando find que regresa
las posiciones de los valores de coordenadas mínima y máxima, posiciones que correspon-
den con los nodos extremos de la barra (GLPrescritos). Posteriormente con el uso del el
comando setdiff se determinan los nodos intermedios o con desplazamientos por determi-
nar, (GL_NoPrescritos):
VectorDesplazamientos=zeros(TotalNodos,1);
CN=VectorCoordNodos;
GLPrescritos=find(CN==min(VectorCoordNodos(:)) |
CN==max(VectorCoordNodos(:)))’;
GL_NoPrescritos=setdiff([1:TotalNodos]’,[GLPrescritos] );
2
3
Se inicializa la matriz de rigidez del sistema utilizando la función zeros:
MatrizRigidez=zeros(TotalNodos,TotalNodos);
de estos nodos se obtiene la longitud del elemento, (LElem). Es posible ahora determinar
el Jacobiano mediante la expresión LElem/2. La matriz de rigidez de cada elemento (ec.
2.85) utiliza las derivadas de las funciones de forma, por tanto las funciones de forma
son FunForma=([1-xelem 1+xelem]/2)’ donde xelem=coordenadas naturales. La matriz
de rigidez global resulta del ensamblaje de las matrices locales.
for i=1:TotalElem
CE=MatrizConectElemen(i,:);
LElem=VectorCoordNodos(CE(2))-VectorCoordNodos(CE(1));
Jacobiano=LElem/2;
DFunForma=[-1;1]/2;
MatrizB=zeros(1,length(CE));
MatrizB(1:length(CE)) =DFunForma*1/Jacobiano;;
MatrizRigidez(CE,CE)=MatrizRigidez(CE,CE)+...
MatrizB’*MatrizB*2*Jacobiano*mYoun_e*Area_e;
end
i=1;
LElem = 0.3333;
Jacobiano = 0.1667
" # 22500000 −22500000 0 0
−0.5000 −22500000 22500000 0 0
DFunForma = ; MatrizRigidez =
0.5000 0 0 0 0
0 0 0 0
i=2;
LElem = 0.3333;
Jacobiano = 0.1667
" # 22500000 −22500000 0 0
−0.5000 −22500000 45000000 −22500000 0
DFunForma = ; MatrizRigidez =
0.5000 0 −22500000 22500000 0
0 0 0 0
i=3;
LElem = 0.3333;
Jacobiano = 0.1667
" # 2.2500 −2.2500 0 0
−0.5000 −2.2500 4.5000 −2.2500 0
DFunForma = ; MatrizRigidez = 1.0e+07 *
0.5000 0 −2.2500 4.5000 −2.2500
0 0 −2.2500 2.2500
Finalmente se resuelve el sistema de ecuaciones Ku=F para hallar los desplazamientos y
posteriormente se determinan las reacciones de los modos apoyados.
VectorDesplazamientos = MatrizRigidez(GL_NoPrescritos,...
140 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
GL_NoPrescritos) \ VectorFuerza(GL_NoPrescritos);
VectorDesplazamientos1 = zeros(TotalNodos,1);
VectorDesplazamientos1(GL_NoPrescritos) = VectorDesplazamientos;
VectorFuerza = MatrizRigidez*VectorDesplazamientos1;
Reacciones = VectorFuerza(GLPrescritos);
0
0.1481
VectorDesplazamientos1 = 1.0e − 005 ∗
0.2963
0
−33.3333 " #
0 −33.3333
VectorFuerza = ; Reacciones =
100.0000 −66.6667
−66.6667
Descripción del programa Post proceso, modelo 2:
En forma de tablas se presentan los desplazamiento y fuerzas en cada nodo
fprintf(’Nodos Desplazamientos Fuerzas \n’)
for j=1:TotNodos;
fprintf(’ %d %18.6f %18.6f \n’, j, Desplazamientos1(j), VectorFuerza(j))
end
3. Programa modelo 3:
Sistema de tipo discreto bidimensional. En este programa los datos requeridos son asigna-
dos directamente en las líneas del programa; si el usuario desea conocer o modificar algún
valor debe acceder al código del programa.
Programa modelo 3
% PREPROCESO
clear all
mYoung_e=70e6; Area_e=2;
K_e= mYoung_e*Area_e
TotalElem=2;
TotalNodos=3;
VectorConectElemen=[1 2;2 3];
MatrizCoordNodos=[ 0 0;75 75;0 150];
VectorCoordX=MatrizCoordNodos(:,1);
VectorCoordY=MatrizCoordNodos(:,2);
GLNodo=2;
GLPrescrito=[1 2 0 0 5 6]’;
TotalGL=GLNodo*TotalNodos;
MatrizRigidez=zeros(TotalGL);
VectorDesplazamientos=zeros(TotalGL,1);
Sec. A.3 Programación del Método de Elementos Finitos 141
VectorFuerzas=zeros(TotalGL,1);
VectorFuerza(4)=-1000.0;
% PROCESO
for i=1:TotalElem;
CE=MatrizConectElemen(i,:);
TotalGL_e=[ CE(1)*2-1 CE(1)*2 CE(2)*2-1 CE(2)*2];
Long_eX=VectorCoordX(CE(2))-VectorCoordX(CE(1));
Long_eY=VectorCoordY(CE(2))-VectorCoordY(CE(1));
Long_e=sqrt(Long_eX 2 +Long_eY 2 );
C=Long_eX/Long_e;
S=Long_eY/Long_e;
MatrizRigidez_e= K_e/Long_e*[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S;...
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
MatrizRigidez(TotalGL_e,TotalGL_e)= MatrizRigidez(TotalGL_e,TotalGL_e)+...
MatrizRigidez_e;
end
GL_NoPrescrito=setdiff([1:TotalGL]’, [GLPrescrito]);
VectorDesplazamientos1 = MatrizRigidez(GL_NoPrescrito,GL_NoPrescrito) \ ...
VectorFuerza(GL_NoPrescrito);
VectorDesplazamientos=zeros(TotalGL,1);
VectorDesplazamientos(GL_NoPrescrito)=VectorDesplazamientos1;
%POSTPROCESO
for i=1:TotalElem
p1=[VectorCoordX(MatrizConectElemen(i,1)) VectorCoordX(MatrizConectElemen(i,2))];
p2=[VectorCoordY(MatrizConectElemen(i,1)) VectorCoordY(MatrizConectElemen(i,2))];
plot(p1,p2,’ro’)
line(p1,p2,’Color’,’b’,’LineWidth’,4)
hold on
end
k=0
for i=1:2:TotalGL
k=k+1
VectorCoordX2(k)=VectorDesplazamientos(i)
j=i+1;
VectorCoordY2(k)=VectorDesplazamientos(j)
end
FactorAmpliacion=10
VectorCoordX3=VectorCoordX+(VectorCoordX2’)*FactorAmpliacion
VectorCoordY3=VectorCoordY+(VectorCoordY2’)*FactorAmpliacion
for i=1:TotalElem
p1=[VectorCoordX3(MatrizConectElemen(i,1)) VectorCoordX3(MatrizConectElemen(i,2))];
p2=[VectorCoordY3(MatrizConectElemen(i,1)) VectorCoordY3(MatrizConectElemen(i,2))];
plot(p1,p2,’ro’)
line(p1,p2,’Color’,’G’,’LineWidth’,2)
hold on
end
142 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
Las características del mallado tales como la matriz de conectividades y la matriz de coor-
denadas x e y de los nodos se asignan mediante:
TotalElem=2;
TotalNodos=3;
MatrizConectElemen=[1 2;2 3];
MatrizCoordNodos=[ 0 1;1 1;0 0];
VectorCoordX = MatrizCoordNodos(:,1); VectorCoordY = ...
MatrizNodos(:,2);
VectorDesplazamientos=zeros(TotalGL,1);
VectorFuerzas=zeros(TotalGL,1);
Fuerza(3)=100000.0;
Fuerza(4)=300000.0;
Mediante el uso de un ciclo se obtienen las conectividades para cada elemento, posterior-
mente se crea un vector que define dos grados de libertad por cada nodo del elemento.
Se calcula la longitud de cada elemento por medio de la relación de coordenadas entre el
nodo inicial y final del elemento; ahora es posible hallar la matriz de ángulos directores
para obtener la matriz de rigidez local y luego la global
for i=1:TotalElem;
CE=MatrizConectElemen(i,:);
TotalGL_e=[CE(1)*2-1 CE(1)*2 CE(2)*2-1 CE(2)*2];
Long_eX=VectorCoordX(CE(2))-VectorCoordX(CE(1));
Long_eY=VectorCoordY(CE(2))-VectorCoordY(CE(1));
Long_e = sqrt(Longe X 2 + Longe Y 2 );
C=Long_eX/Long_e;
S=Long_eY/length_element;
MatrizRigidez_e= K_e/Long_e*...
[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
MatrizRigidez(TotalGL_e,TotalGL_e) = MatrizRigidez(TotalGL_e,TotalGL_e)+...
MatrizRigidez_e;
end
i=1
207000000 0 −207000000 0
0 0 0 0
Long_e = 1;MatrizRigidez_e =
−207000000 0 207000000 0
0 0 0 0
i=2
7.3186 7.3186 −7.3186 −7.3186
7.3186 7.3186 −7.3186 −7.3186
Long_e = 1.4142;MatrizRigidez_e =1.0e + 007 ∗
−7.3186 −7.3186 7.3186 7.3186
−7.3186 −7.3186 7.3186 7.3186
144 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
2.0700 0 −2.0700 0 0 0
0 0 0 0 0 0
−2.0700 0 2.8019 0.7319 −0.7319 −0.7319
MatrizRigidez =1.0e + 008 ∗
0 0 0.7319 0.7319 −0.7319 −0.7319
−0.7319 −0.7319
0 0 0.7319 0.7319
0 0 −0.7319 −0.7319 0.7319 0.7319
Para determinar el vector de desplazamientos en primer lugar se asignan los nodos con
desplazamientos prescritos GLPrescrito para simplificar la matriz de rigidez y el vector de
fuerzas y así hallar solución del sistema de ecuaciones.
GLPrescrito=[3:8]’;
GL_NoPrescrito=setdiff([1 : T otalGL]0 , [GLP rescrito]);
VectorDesplazamientos1 = MatrizRigidez(GL_NoPrescrito,GL_NoPrescrito) \...
VectorFuerza(GL_NoPrescrito);
VectorDesplazamientos=zeros(TotalGL,1);
VectorDesplazamientos (GL_NoPrescrito) = VectorDesplazamientos1;
0
0
−0.0010
VectorDesplazamientos =
0.0051
0
0
4. Programa modelo 4:
El modelo 4 consta de un grupo de subrutinas predefinidas que forman parte de un pro-
grama principal para estudiar un problema continuo bidimensional. La primera subrutina
(programa modelo 4.1) consiste en la generación de una malla 2D de elementos rectan-
Sec. A.3 Programación del Método de Elementos Finitos 145
Descripción del programa modelo 4.1: Los datos de salida calculados son las coordena-
das x e y de los nodos, las conectividades de cada elemento, el total de nodos y total de
elementos. El nombre de la programa es MallaRectangular ; los datos de entrada son las
longitudes en la dirección x e y de la geometría bidimensional y el número de elementos
146 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
en cada dirección.
function [CoordNodos,MatrizConectElemen, TotalElem,TotalNodos]= ...
Mallarectangular(lx,ly,TotalElemx,TotalElemy)
MatrizConectElemen(k,4)=i+TotalElemx+1;
end
p=p+TotalElemx+1;
end
TotalElem=k;
function [Pesos,PuntosInteg]=gaussQuadrature(’NumPuntos’)
switch NumPuntos
case ’2x2’
PuntosInteg= [ -0.577350269189626 -0.577350269189626;...
0.577350269189626 -0.577350269189626;...
0.577350269189626 0.577350269189626;...
-0.577350269189626 0.577350269189626];...
Pesos=[ 1;1;1;1];
end
end
Programa modelo 4.4: Cálculo del Jacobiano para posteriormente ser usado en la ob-
tención de la matriz de rigidez
function modelo 4.4: Jacobiano
function [Jacobiano1,InvJacobiano,XYDerivadas]=...
Jacobiano(CoordNodos,DerivadasXiEta)
148 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB
Jacobiano1=CoordNodos’*DerivadasXiEta;
InvJacobiano=inv(Jacobiano1);
XYDerivadas=DerivadasXiEta*InvJacobiano;
end
Anexo A
ANEXOS
En este anexo definiciones que frecuentemente serán de mucha utilidad relacionadas con el al-
gebra matricial, operaciones con matrices, propiedades de las matrices: simetría, singularidad,
transpuesta, determinante, identidad, inversa. Posteriormente se describen las técnicas numé-
ricas de solución de los sistemas de ecuaciones. Se plantea la diferenciación e integración de
matrices. En forma breve se estudiara el dimensionamiento de matrices. Finalmente se realizan
algunas consideraciones generales sobre la memoria del computador y el concepto de dimensio-
namiento dinámico, así como, algunos esquemas de almacenamiento para matrices diagonales,
triangulares y de banda.
Todos estos aspectos son muy importantes en el análisis y programación del método de elemen-
tos finitos, permitiendo la simplificación de las etapas de preproceso y proceso.
para cada i = 1, 2, · · · , n y j = 1, 2, · · · , m.
149
150 Cap. A ANEXOS
d11
d22
D = (dij ) =
...
dnn
U11 U12 · · · U1n
U22 · · · U2n
U = ... ..
.
Unn
Si A = (aij ) es una matriz de orden (n × n) con n > 2, se puede definir det(A) como:
n
X
det(A) = aij Cij
j=1
desarrollado por i-ésima fila o por la j-ésima columna de A, donde Cij es el cofactor
asociado al menor complementario Mij y se define como:
Cij = (−1)(i+j) Mij
A continuación se desarrolla el calculo del determinante de una matriz de orden (3 × 3):
a a a
11 12 13
det(A) =
a21 a22 a23
a31 a32 a33
= a11 ∗ C11 + a12 ∗ C12 + a13 ∗ C13
= a11 ∗ (−1)1+1 M11 + a12 ∗ (−1)1+2 M12 + a13 ∗ (−1)1+3 M13
= a11 (a22 a33 − a23 a32 ) −a12 (a23 a31 − a21 a33 ) +a13 (a21 a32 − a22 a31 )
| {z } | {z } | {z }
M11 M12 M13
La expresión final para hallar el determinante de una matriz A = (aij ) de orden (n × n) con
n > 2 es: det(A) = nj=1 (−1)i+j aij Mij para cada j = 1, 2, . . . , n.
P
El cofactor (Cij ) asociado a el menor complementario (Mij ) se define como Cij =(−1)(i+j) Mij .
El determinante de A se define por det(A) = nj=1 aij Cij
P
d
La derivación de la matriz esta definida por: dt
A(t) = d[aij (t)]/dt.
R R
La integración de la matriz esta definida por: dtA(t) = [ aij (t)dt]
Un sistema lineal de ecuaciones puede ser representado como Ax = b, la solución de este sistema
puede ser obtenida mediante la determinación de la inversa, tal que, x = A−1 b, o mediante el
uso de métodos exactos o iterativos. Los métodos exactos permiten alcanzar la solución exacta
del problema en un número finito de operaciones (salvo los errores de redondeo), sin embargo son
útiles solo en sistemas relativamente pequeños y matrices llenas, es decir con pocos elementos
nulos. Los métodos iterativos consisten en la construcción de una sucesión convergente hacia
la solución exacta del problema, y su uso frecuente es en sistemas de gran tamaño y matrices
dispersas o que contienen de un importante número de elementos nulos. A continuación se
desarrollan los algoritmos del método exacto de Gauss y del método iterativo de Gauss Seidel.
Paso 1: Haga i = 1
Paso 2: Sea p el primer entero i ≤ p ≤ n con:
Dada una aproximación inicial x0 = (x01 , x02 , ..., x0n )t y un valor de tolerancia ξ, para ello se
efectúan los siguientes pasos:
Sec. A.1 ALGEBRA MATRICIAL, ASPECTOS COMPUTACIONALES matricial 155
i−1 n
Paso 1: para cada i = 1, . . . , n hacer xki = 1
aij xkj − aij xk−1
P P
(b
aii i
− j )
j=1 j=i+1
Paso 2: Para calcular el error de tolerancia permitido se determina la norma del vector
y se compara con la tolerancia dada.
La norma esta dada por la expresión:
j=n q
k
X
(x − xk−1 )
=
(xi − xi−1 )2
∞ j j
j=1
Paso 3: Si:
k
(x − xk−1 )
< ε finaliza el proceso
k
∞
(x − xk−1 )
> ε incremente i y regrese al paso 1
∞
156 Cap. A ANEXOS
En álgebra lineal numérica es necesario trabajar con vectores y matrices, los cuales deben tener
su representación en el computador para poder programar los distintos algoritmos. El número de
componentes de los vectores y las matrices se definen mediante subíndices, el número máximo de
subíndices que puede tener una matriz depende del compilador empleado. Es usual no exceder
de siete subíndices. Los nombres que se asignan a los vectores o matrices se pueden definir como
variables enteras, reales, complejas, de carácter, lógicas, entre otras.
Paso 1: i = 1, n
Paso 2: j = 1, p
c(i,j)=0
Paso 3: haga k = 1, m
c(i,j)=c(i,j)+mat1(i,k)*mat2(k,j)
si k = m y j 6= p vaya al paso 2
si k = m y j = p vaya al paso 1
si k = m, j = p y i = n finaliza
Paso 4: La matriz C cuyos términos son cij , es el producto de las matrices AB, finaliza el
proceso
Existen dos factores de gran importancia, que deben ser considerados al momento de trabajar
variables con subíndices, estos son la programación estructurada y las memorias del computador.
repetidas estas se pueden definir como funciones externas o módulos (function, xmodule) o
subrutinas (subroutine), dependiendo del lenguaje usado las cuales retornan el valor calcula-
do. Estas funciones externas o subrutinas se interpretan como un subprograma que tiene casi
total independencia del programa que la requiere, en ellos las variables pueden tener nombres
distintos al programa principal y cada uno de los subprogramas pueden compilarse de forma
independiente.
Otro aspecto importante a considerar es cuando se trabaja con matrices de distintos tamaños,
con el propósito de no tener que recompilar y linkar cada vez que se trabaja con diferentes
dimensiones de cada matriz, se define un parámetro (max), que indica el tamaño máximo
permitido sin tener que modificar el programa, considerando que no se analizarán matrices
superiores a ese tamaño. Por ejemplo si el parámetro es (max = 50) entonces la dimension de
la matriz y vector mas grandes son a(max, max), v(max), si el orden de la matriz a usar es
dim=6, solo utilizaran las primeras 36 posiciones de memoria de la matriz de (50 × 50), por lo
tanto, entre los coeficientes de la matriz (a) y el vector (v) existe 2464 posiciones de memoria no
usadas, y luego de las 6 posiciones de ocupadas por el vector v existen 44 posiciones de memoria
no usadas lo cual no verifica entonces, la condición de proximidad de datos entre posiciones de
memoria.
Con el propósito de verificar la proximidad entre las posiciones de memoria y para saber donde
empieza cada matriz y vector, se usan los punteros. Un ejemplo de uso de punteros se presenta
a continuación para el producto matriz por vector:
Definición de punteros
na= 1
nb= na+ dim x dim
nc= nb + dim
nfin= nc + dim
La verificación del espacio necesario se realiza mediante la siguiente comparación, nfin ≥ max,
en caso de cumplirse entonces existe un ERROR de dimensionamiento insuficiente, si nfin ≤
max entonces quedan libres las posiciones del vector de almacenamiento = max - dim*dim -
dim - dim. En la figura A.1 se representa en forma gráfica el resultado al usar o no los punteros.
Figura A.1: Uso de punteros: a.- sin punteros, b.- con punteros.
En almacenamiento de las variables con dos subíndices se puede realizar por columnas (por
defecto en Fortran), o por filas (por defecto en lenguaje C).
Como ejemplo se escriben las secuencias de los términos de una matriz A de orden (4 × 4)
en primer lugar si se almacenan los coeficientes siguiendo el orden por columnas, se obtiene:
a11 , a21 , a31 , a41 , a12 , a22 , a32 , a42 , a13 , a23 , a33 , a43 , a14 , a24 , a34 , a44 . en segundo lugar si se almace-
Sec. A.1 ALGEBRA MATRICIAL, ASPECTOS COMPUTACIONALES matricial 159
nan los coeficientes siguiendo el orden por filas, se obtiene: a11 , a12 , a13 , a14 , a21 , a22 , a23 , a24 , a31 , a32 , a33 , a34 , a
Es importante tener este hecho en cuenta para el diseño de algoritmos, así, considerando el
almacenamiento de los elementos de la matriz A siguiendo el orden por filas, al programar
el algoritmo de resolución de la matriz triangular inferior y sustitución hacia delante de dos
formas distintas se puede apreciar el orden en que se accede en cada caso, a los coeficientes de
la matriz A.
Paso 1: Verificar si aii = 0 para i=1,...n, entonces el sistema no tiene solución única.
Paso 2: Realice la operación:
a1,n+1
x1 =
a11
Paso 3: Hacer i = 2, · · · , n
i−1
1 X
xi = {ai,n+1 − ai,j xj }
aii j=1
Programación 1:
Orden 1 2 3 4 5 6 7 8 9 10
Elementos a11 0 0 0 a21 a22 0 0 a31 a32 a33 0 a41 a42 a43 a44
end do
do j=1,dim-1
x(j) =x(j) / a(j,j)
do i=j+1, dim
x(i) =x(i) - a(i,j)*x(j)
end do
end do
x(dim) =a(dim,n+1) / a(dim,dim)
el orden en que se accede a los coeficientes de A es
Orden 1 2 5 3 6 8 4 7 9 10
Elementos a11 0 0 0 a21 a22 0 0 a31 a32 a33 0 a41 a42 a43 a44
Debido a que el acceso a los elementos van saltando de un sitio a otro, no se accede a los
elementos de la matriz triangular inferior ni de forma secuencial ni con proximidad, sin embargo
en este caso resultaría más conveniente el almacenamiento por columnas.
Llenas
Triangulares o simétricas
En bandas
Dispersas, es decir, muchos elementos nulos y con ancho de banda elevado
Vacías, es decir, la mayoría de elementos nulos y un ancho de banda próximo al orden de
la matriz.
Debido a esta variedad en las formas de las matrices se han desarrollado diferentes esquemas
de almacenamiento, entre los cuales se pueden mencionar: por filas, por columnas, triangulares
o simétricas, en bandas, sparse, skyline, compacto, entre otros. A continuación se presenta un
breve resumen de estos esquemas.
aij = 0 si i − j > l) y todos los elementos de B por encima de la sub diagonal u son nulos
( aij = 0 si j − i > u).
El almacenamiento de este tipo de matriz requiere de su transformación a una matriz
rectangular R con n filas y (l + 1 + u) columnas, y será conveniente su uso solo si n >>
(l + 1 + u). Si la matriz rectangular se almacena por columnas entonces la matriz banda
es almacenada por diagonales, y si la matriz rectangular se almacena por filas entonces la
matriz banda es almacenada por filas.
A continuación se muestra la representación de una matriz de banda y su equivalente
matriz rectangular.
Un elemento aij , de la matriz banda se almacenara en un elemento rps de la matriz rec-
tangular, tal que: p = i y s = 1 + l + (j − i). Si la matriz de banda es simétrica esta forma
de almacenamiento puede simplificarse.
4. Almacenamiento sparse
Si la matriz que se quiere almacenar presentar un ancho de banda muy importante pero
con muchos elementos nulos en su interior. La representación de este tipo de matriz se
muestra en la figura A.2. Para realizar el almacenamiento sparse de una matriz se guardan
todos los elementos no nulos en un vector C y en otros dos vectores el número de fila (i)
y columna (j) respectivamente, para la construcción de la matriz se debe conocer el orden
(m × n)de la matriz original (A).
Por ejemplo sea la matriz A (3 × 4).
Sec. A.2 Integración numérica 163
c=[1,3,2,2,3,3]
1 0 2 3
A= 0 0 0 3 i=[1,3,3,1,1,2]
3 2 0 0
j=[1,1,2,3,4,4]
a(1, 1) = 1
a(3, 1) = 3
a(3, 2) = 2
donde
a(1, 3) = 2
a(1, 4) = 3
a(2, 4) = 3
En caso de matriz simétrica sólo se deben almacenar los elementos de la triangular superior
o inferior.
Los valores de los nodos x0 y x1 no son valores fijos como el caso de los extremos del intervalo
(a,b) sino que son incógnitas, así como sus imágenes f (x0 ) y f (x1 ) y deben ser calculados.
al evaluar en los nuevos límites, las integrales de las funciones f (x) = 1 (la cual representa una
función constante (y=1) equivalente a un polinomio de grado cero), y la función es f (x) = x
(la cual representa una recta (y=x) equivalente a un polinomio de grado uno), y al utilizar la
cuadratura del trapecio en cada caso la solución debe ser exacta:
(b−a)/2
(b − a) (b − a)
Z
f (x)dx = c0 f (− ) + c1 f ( )
−(b−a)/2 2 2
Z (b−a)/2
dx = c0 + c1
−(b−a)/2
Sec. A.2 Integración numérica 165
b − a = c0 + c1 (A.3)
(b−a)/2
(b − a) (b − a)
Z
f (x)dx = c0 f (− ) + c1 f ( )
−(b−a)/2 2 2
(b−a)/2
b−a b−a
Z
xdx = −c0 + c1
−(b−a)/2 2 2
b−a b−a
0 = −c0 + c1 (A.4)
2 2
las expresiones (A.3) y (A.4) forman un sistema de dos ecuaciones y dos incógnitas:
b − a = c0 + c1
0 = −c0 2 + c1 b−a
b−a
2
Ahora se desarrolla nuevamente el método de los coeficientes indeterminados con los puntos x0
y x1 los cuales no son fijos y adicionalmente también son incógnitas c0 y c1 .
Dada una función f (x) la cual se desea aproximar a la integral en el intervalo [−1, +1], es decir
Z+1
I = f (x)dx (A.7)
−1
entonces
b 1
a+b b−a b−a
Z Z
f (x)dx = f( + t) dt (A.11)
a −1 2 2 2
1 n
b−aX a+b b−a
Z
f (x)dx = ci f ( + ti ) (A.12)
−1 2 i=1 2 2
En la Tabla (A.2) se muestran las coordenadas ti y los pesos ci para las ocho primeras cuadratu-
ras de Gauss-Legendre. Puede observarse que los puntos de integración están todos expresados
en el espacio normalizado −1 ≤ t ≤ 1, lo que resulta de gran utilidad en la aplicación de los
elementos finitos. La popularidad de la cuadratura de Gauss-Legendre se debe a que utiliza el
mínimo número de puntos de integración para conseguir un error determinado en el cálculo de
la integral. Por consiguiente, minimiza el número de veces que hay que calcular el valor de la
función a integrar.
n ± ti ci Error
1 0.0 2.0
f 4 (ξ)
2 0.5773502692 1.0 135
0.774596697 0.5555555556 f 6 (ξ)
3 15750
0.0 0.8888888889
0.8611363 0.3478548451 f 8 (ξ)
4 3472732650
0.3399810436 0.6521451549
0.9061798459 0.2369268851
f 10 (ξ)
5 0.5384693101 0.4786286705 1237732650
0.0 0.5688888889
0.9324695142 0.1713244924
f 12 (ξ)213 (6!)4
6 0.6612093865 0.3607615730 (12!)3 13!
0.2386191861 0.4679139346
En este anexo se presentan en forma resumida aspectos básicos para el uso de MATLAB.
Para obtener información más detallada sobre el uso del MATLAB, es recomendable leer el
documento Getting started, suministrado por MATLAB,para acceder a los textos de ayuda se
utiliza el comando help y los manuales de referencia.
El símbolo >> se denomina prompt del MATLAB. Las instrucciones que aparezcan precedidas
del prompt indican que se trabaja en la ventana de comandos (command window). MATLAB
no requiere de instrucciones para declarar variables como ocurre en otros lenguajes de progra-
mación, solo es necesario realizar la asignación directa de un valor a una variable.
Los vectores se introducen en MATLAB entre corchetes, sus elementos, separados por comas (,)
o por espacios en blancos ( ) para generar vectores fila. Un vector columna se obtiene separando
sus elementos por punto y coma (;) o también transponiendo un vector fila mediante una comilla
simple situada al final de su definición.
En MATLAB se definen las matrices al escribir sus componentes entre corchetes. Cada fila de
la matriz es separada por punto y coma. Los elementos de cada fila se escriben separándolos
por espacios en blanco o por comas.
Crea una matriz A »A = [a11 a12 a13 ; a21 a22 a23 ; a31 a32 a33 ]
Mediante el uso del operador ” : ” se puede simplificar la escritura de ciertas operaciones con
vectores y matrices. Este operador sirve para especificar vectores fila cuyos elementos están
uniformemente espaciados. La expresión a : t : b corresponde al vector fila formado por los
valores a, a + t, a + 2 ∗ t . . . , que no sobrepasan el valor de b.
170 Cap. A ANEXOS
Sintaxis para obtener el vector fila x = [2, 3] con un incremento o tamaño de paso de
t = 0.2: » x = 2 : 0.2 : 3 ←-
2 2.2 2.4 2.6 2.8 3
Si no se especifica el tamaño de paso MATLAB asume por defecto que éste vale 1: »
x = 2 : 7 ←-
234567
Una vez que una variable matricial ha sido definida, MATLAB habilita muchos caminos para
insertar, extraer, renumerar y manipular en general sus elementos. En la tablaA.3 presenta
diferentes instrucciones de MATLAB y sus correspondientes definiciones referidas a variables
matriciales.
Tabla A.1: Resumen de instrucciones de MATLAB referidas a variables
matriciales, [Peregrina, 1997]
VARIABLES MATRICIALES
A(m, n) Define el elemento (m,n) de la matriz A (fila m y columna n).
A(a : b, c : d) Define la submatriz de A formada por las filas que hay entre la a-ésima y la b-ésima
y por las columnas que hay entre la c-ésima y la d-ésima.
A(a : p : b, c : q : d) Define la submatriz de A formada por las filas que hay entre la a-ésima y la b-ésima
tomándolas de p en p, y por las columnas que hay entre la c-ésima y la d-ésima
tomándolas de q en q.
A([ab], [cd]) Define la submatriz de A formada por la intersección de las filas a-ésima b-ésima y
las columnas c-ésima y d-ésima.
A(abc...d], [ef g...]) Define la submatriz de A formada por la intersección de las filas a, b, c, ... y las
columnas e, f, g, ... .
zeros(m, n) Define la matriz nula de orden m × n.
ones(m, n) Define la matriz de orden (m × n) con todos sus elementos 1.
size(A) Define la dimensión o el orden (tamaño) de la matriz A.
length(v) Define el número de componentes del vector v.
MATLAB posee una gran cantidad de funciones matemáticas predefinidas, que permiten resol-
ver de manera sencilla funciones elementales como las funciones trigonométricas, exponenciales,
logarítmicas, entre otras. Los argumentos de las funciones pueden ser escalares, vectoriales y
matriciales, así como también variables complejas.
MATLAB posee funciones que realizan un trabajo específico, en la tabla A.2, se resumen algunas
Sec. A.3 MATLAB 171
FUNCIONES
sqrt(x) Calcula la raíz cuadrada de x. El argumento puede ser real o complejo.
det(a) Calcula el determinate de una matriz a
abs(x) Calcula el módulo del número x, sea real o complejo.
conj(z) Calcula el conjugado del número complejo z.
real(z), imag(z) Calcula la parte real e imaginaria del número complejo z.
exp(x) Calcula el exponencial de x, siendo x un número real o complejo.
max(a) Calcula el máximo valor de las componentes de un vector
min(a) Calcula el mínimo valor de las componentes de un vector
sum(a) Suma las componentes de un vector
dot(a, b) Calcula el producto escalar de los vectores a y b.
cross(a, b) Calcula el producto vectorial de los vectores a y b.
Para almacenar datos, al igual que los archivos del MS-DOS, el nombre del archivo puede
tener a lo sumo 8 caracteres y la extensión 3. Como regla general, es conveniente no utilizar
como nombre de archivo el nombre de una variable o de una función existente. Los archivos de
comandos nombre_archivo.m son archivos ASCII (archivos de texto) que contienen una serie
de comandos MATLAB escritos justo en el orden en que serían ejecutados sobre una ventana
MATLAB. La extensión obligatoria para estos archivos es m.
Se recomienda que la primera o las primeras líneas de estos archivos sean de comentario con el
propósito de indicar el objetivo del código de ese archivo.
Para crear un archivo.m es necesario, acceder a la opción "New" del menú "File" y seleccionar
"M-File". Realizada la elección se abre una ventana para la edición de texto. Los archivo *.m
son muy útiles cuando queremos definir gran cantidad de variables que provienen de medidas
experimentales y que ya están escritas en otros archivos de texto. Sólo es preciso que mediante
un editor de texto se copien en el sitio adecuado los comandos de MATLAB necesarios.
» A=rand(5,4)
A=
172 Cap. A ANEXOS
» A(2,3)
ans =
0.9706
» A(1:3,2:4)
ans =
0.0975 0.1576 0.1419
0.2785 0.9706 0.4218
0.5469 0.9572 0.9157
» A(3,:)
ans =
0.1270 0.5469 0.9572 0.9157
» A(:,3)
ans =
0.1576
0.9706
0.9572
0.4854
0.8003
» B=[1 2;5 6; 9 7]
B=
1 2
5 6
9 7
» B(3)
ans =
5
Sec. A.3 MATLAB 173
» B([1 2 3 4])
ans =
1 2 5 6
Las gráficas forman parte importante del entorno MATLAB, la elaboración de estas para re-
presentar resultados se puede realizar de una manera simple en este entorno.
Para la creación de gráficas bidimensionales MATLAB incluye una gran cantidad de funciones
gráficas, por ejemplo para graficar la función y = cos(x) definida en x ∈ [0, 4π] se requiere:
Crear dos vectores de igual dimensión que contengan las abscisas x = [0 : π/6 : 4π] y las
ordenadas y = cos(x), respectivamente.
Luego mediante la sintaxis plot(x,y), se dibuja automáticamente con color azul una línea
poligonal continua. También se puede utilizar la sintaxis plot(x,y,’s’) donde la variable ’s’
la componen dos dígitos entre comillas simples, el primero de los cuales fija el color de la
línea del gráfico y el segundo el tipo de trazo a usar en el dibujo por ejemplo color rojo y
trazo de puntos (’r-’).
En la tabla A.3 se presenta algunas sintaxis de funciones para graficar en MATLAB, en los
siguientes ejemplos se utilizan algunas de ellas. Los comandos plot y fplot cumplen la función
de dibujar el conjunto de puntos (x, y), donde x e y representan vectores fila. El control del
color, el tipo de línea poligonal, el tipo de vértices, el rango de valores de cada eje, la inserción
de títulos, rótulos de texto en los ejes, entre otros puede ser ajustado por el usuario mediante
el uso de comandos gráficos como title, xlabel, ylabel, line, y otros, los cuales son utilizados en
los siguientes ejemplos.
Tabla A.3: Resumen de instrucciones de MATLAB y sus corres-
pondientes definiciones referidas a funciones usadas para graficar,
[Nakamura, 1997]
—continúa ... —
174 Cap. A ANEXOS
plot(x1, y1, s1, x2, y2, s2, . . . ) Permite combinar sobre los mismos ejes, los gráficos definidos por los con-
juntos de puntos (xi , yi , si )
fplot(0 f 0 , [xmin, xmax,
Gráfica la función en los intervalos de variación de x e y dados, con las
ymin, ymax],0 s0 )
opciones de color y caracteres dadas por 0 s0 .
fplot(0 [f1, . . . , fn]0 ,
Gráfica las funciones f1, . . . , fn sobre los mismos ejes en los intervalos de
[xmin, xmax, ymin, ymax],0 s0 )
variación de x e y especificados y con las opciones de color y caracteres
definidas por 0 s0 .
loglog(x, y) Gráficas similares a plot(x,y), pero con escala logarítmica en los dos ejes.
semilogx(x, y) Realiza gráficos similares a plot(x,y), pero con escala logarítmica en el eje
x y escala normal en el eje y.
semilogy(x, y) Realiza gráficos similares a plot(x,y), pero con escala logarítmica en el eje
y escala normal en el eje x.
polar(α, r,0 s0 ) Hace los cálculos en coordenadas polares r=r(α), con estilo de líneas dado
por 0 s0 .
Para obtener información sobre opciones para elaborar gráficas en MATLAB se escribe en la
ventana de comandos: >> help plot. Adicionalmente el usuario podrá verificar que cada llama-
da a plot elimina la gráfica anterior (si existe) y la sustituye por la nueva. El comando hold
on, se utiliza para conservar el contenido gráfico de la ventana anterior, hasta que se escriba la
instrucción hold off.
Ejemplo A.3.1 Dibujar en la misma ventana las funciones sin(x), cos(x), sin(x) ∗ cos(x), uti-
lizando una sola vez la instrucción plot.
» x=0:0.01:2*pi;
» plot(x, sin(x),0 r − −0 , x, cos(x),0 b − −0 , x, sin(x) · ∗ cos(x),0 g−0 )
En este ejemplo la sintaxis 0 − −0 indica que la línea a trazar es discontinua. La sintaxis 0 g−0
indica que la poligonal es una línea continua (−) de color verde (g).
La figura A.4 representan los resultados obtenidos en los dos últimos ejemplos.
MATLAB implementa otros tipos de gráficos bidimensionales como histogramas (hist, histe
y bar), trazado de una malla con grid, dibujos en coordenadas polares utilizando el comando
polar, gráficos semi logarítmicos y logarítmicos utilizando los comandos semilogx, semilogy
y loglog .
Sec. A.3 MATLAB 175
MATLAB puede utilizarse como un lenguaje de programación de alto nivel que incluye estruc-
turas de datos, funciones, instrucciones de control de flujo, manejo de entradas/salidas e incluso
programación orientada a objetos. Los programas de MATLAB suelen escribirse en archivos
denominados archivo.m; como se explico anteriormente los archivos.m se crean utilizando el
editor de texto.
MATLAB permite al usuario definir funciones, con variables de entrada y salida. La progra-
mación de funciones se realiza en un archivo.m, con la característica de que su primera línea
ejecutable comienza por la palabra function.
Los argumentos de entrada deben definirse cada vez que la función es llamada. Si hay
mas de un argumento de salida, estos deben colocarse entre corchetes [ , , ] y separados
por comas.
Se recomienda en la siguiente línea agregar un comentario que especifique que hace la
176 Cap. A ANEXOS
función
Las siguientes líneas contienen los comandos necesarios comandos. El objetivo de estos
comandos será definir cada uno de los argumentos de salida en función de los argumentos
de entrada.
Ejemplo A.3.2 Crear un archivo en el editor del MATLAB con el nombre ecuacion2 que
resuelva la ecuación: ax2 + bx + c = 0
1 function [x1,x2]=ecuacion2(a,b,c)
2 % Esta función resuelve la ecuación de segundo grado ax2 + bx + c = O
3 % cuyos coeficientes son a, b y c (parámetros de entrada)
4 % y cuyas soluciones son x1 y x2 (parámetros de salida)
5 d = b ∧ 2 − 4 ∗ a ∗ c;
6 x1 = (−b + sqrt(d))/(2 ∗ a);
7 x2 = (−b − sqrt(d))/(2 ∗ a);
La función eval, evalúa la función en sus parámetros de entrada cuando son cadenas de carac-
teres, [Biran and Breiner, 1999]. La sintaxis es: eval(’string’)
Ejemplo A.3.3 Use la función eval para generar la matriz de Hilbert de orden n.
1 x = ’1/(i+j-1)’;
Sec. A.3 MATLAB 177
2 for i = 1:n
3 for j = 1:n
4 a(i,j) = eval(x);
5 end
6 end
Tipos de datos
En MATLAB existen diferentes tipos de datos, por ejemplo: array, char, numeric, cell, structure,
user class, function handle, java class, intB, uintB, int16, uint1 6, int32, uint32, single, double,
sparse.
Las condiciones utilizadas en las estructuras de control se definen utilizando los siguientes
operadores:
Relacionales: Lógicos:
Menor < o|
Menor o igual <= y&
Mayor > no ∼
Mayor o igual >=
Igual ==
Distinto ∼ =
Control de flujo
El bucle for-end:
MATLAB dispone de la sentencia for-end. Esta sentencia permite ejecutar, en forma re-
petitiva un comando o grupo de comandos. La sintaxis de un bucle for-end y un ejemplo
178 Cap. A ANEXOS
se presentan a continuación:
Formato de salida sin (;) al final del comando que define Formato de salida con (;) al final del comando que
la variable la salida: define la variable la salida:
x= 0 x= 0 0 0
x= 0 0
x= 0 0 0
El siguiente programa permite obtener los términos de la matriz de Hilbert, por medio del
uso del bucle for-end. Luego de crear y guardar el programa en un archivo (matriz.m) se
ejecutara desde el promt.
function A = matriz(m,n)
%Definición de una matriz de n filas y m columnas, orden (n × m).
for i=1:m,
for j=1:n,
A(i,j)=1/(i+j-1);
end
end;
%Este bucle representa la matriz de Hilbert
break:
finaliza la ejecución de un bucle for o while en el cual aparece continuando la ejecución
en la siguiente instrucción fuera del bucle. La sintaxis de un bucle for-end que contiene
break y un ejemplo se presentan a continuación:
[Biran and Breiner, 1999] Biran, A. and Breiner, M. (1999). MATLAB 5 for Engineers. Assison
- Wesley Iberoamericana, España.
[Burden and Faires, 2002] Burden, R. and Faires, D. (2002). Análisis Numérico. Thomson
Learning, España.
[Cook, 1995] Cook, R. (1995). Finite element modeling for stress analysis. John Wiley, New
York.
[Febres, 2006] Febres, H. (2006). Curso:introducción a elementos finitos y abacus. Master’s
thesis, Universitat de los Andes, Mérida - Venezuela.
[Hinton and Owen, 1980] Hinton, E. and Owen, D. (1980). Programación de elementos finitos,
matemática computacional y aplicaciones. Academic Press, publicado en línea, NOV 2006,
Great Britain.
[Irons, 1980] Irons, B. (1980). Techniques of finite elements. Ellis Harwood, Chichester.
[Lamar and Fortoul, 2007] Lamar, S. and Fortoul, C. (2007). Ecuaciones Diferenciales. Edito-
rial CITECI, Venezuela.
[Nakamura, 1997] Nakamura, S. (1997). Análisis Numérico y Visualización Gráfica con Matlab.
Editorial Prentice-Hall S.A., Mèxico.
[Oñate, 1992] Oñate, E. (1992). Cálculo de estructuras por el método de elementos finitos-
Análisis estático lineal. Centro Internacional de Métodos Numéricos en Ingeniería, Barcelona-
España.
[Oñate, 1995] Oñate, E. (1995). Cálculo de estructuras por el método de lementos finitos, 2a
edc. CIMNE, Barcelona,España.
[Oñate, 2002] Oñate, E. (2002). Funciones de forma de elementos bidimensionales de clase C0 .
Lecture notes, Barcelona-España.
[Peregrina, 1997] Peregrina, Q. (1997). Introducción a MATLAB y sus aplicaciones. USC,
Servicio de Publicaciones e Intercambio Científico, España.
181
182
[Pérez, 2002] Pérez, C. (2002). MATLAB y sus Aplicaciones en las Ciencias y la Ingeniería.
Prentice Hall, Madrid.
[Rodríguez, 1994] Rodríguez, E. (1994). Algoritmos de Métodos Numéricos. Editorial UNET,
Venezuela.
[Rodríguez and Roa, 2012] Rodríguez, E. and Roa, O. (2012). Métodos Numéricos con MAT-
LAB. Impreso: Lito Formas, Venezuela.
[Singer and Pytel, 2007] Singer, F. and Pytel, A. (2007). Resistencia de Materiales. Impreso:
Univ. nacional de Colombia, Colombia.
[Timoshenko and Gere, 1974] Timoshenko, S. and Gere, J. (1974). Mecánica de Materiales.
Editoral Hispano-Americana.
[Timoshenko and Goodier, 1970] Timoshenko, S. and Goodier, J. (1970). Resistencia de Ma-
teriales. Espasa-Calpe, Madrid.
[Yijun, 2000] Yijun, L. (2000). Introduction to Finite Element Method. Lecture notes, Cincin-
nati Univ.
[Zienkiewicz and Taylor, 2004] Zienkiewicz, O. and Taylor, R. (2004). El método de elementos
finitos: Las bases, Vol. 1. Mc Graw Hill - Cimne.