You are on page 1of 182

TRABAJO DE ASCENSO

MÉTODO DE ELEMENTOS FINITOS: TEORÍA,


ALGORÍTMOS Y PROGRAMAS EN MATLAB

Roa de Rodríguez, Olga B.

Profesora del Departamento de Matemáticas y Física


Universidad Nacional Experimental del Táchira

San Cristóbal, septiembre 2012


A mi esposo e hijos :

Ernesto, Andrés, Ernesto y Sebastián


v

RESUMEN

Muchos problemas de ingeniería pueden caracterizarse por sistemas cuyos comportamientos


son expresados por modelos matemáticos más o menos complejos, para abordar su estudio es
conveniente simplificarlos en lo posible. El método de elementos finitos (MEF), utiliza un modelo
matemático compuesto de un cierto número de elementos independientes denominados finitos o
discretos, unidos entre si a través de un número finito de puntos o nodos. Cada elemento finito
se estudia aisladamente, aplicando teorías clásicas de cálculo y estableciéndose condiciones de
continuidad y equilibrio a través de los nodos.

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.

Palabras clave: Elementos finitos, ensamblaje, sistema discreto y continuo, algoritmo.


Índice general

1. GENERALIDADES DEL MÉTODO DE ELEMENTOS FINITOS 11

1.1. Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3. Organización y contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4. Método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2. TEORÍA GENERAL DEL MÉTODO DE ELEMENTOS FINITOS: PRO-


BLEMA UNIDIMENSIONAL 19

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1. Sistemas discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.2. Sistemas continuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2. Análisis matricial de sistemas discretos . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.1. Etapas básicas del análisis matricial de un sistema discreto . . . . . . . . 31

2.3. Análisis de sistemas continuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

vii
viii ÍNDICE GENERAL

2.3.1. Formulación variacional: el método de Rayleigh-Ritz . . . . . . . . . . . 33

2.3.2. Aproximación formal de la matriz de rigidez . . . . . . . . . . . . . . . . 37

2.3.3. Formulación residual: planteamiento general del problema . . . . . . . . . 38

3. TEORÍA GENERAL DEL MÉTODO DE ELEMENTOS FINITOS: PRO-


BLEMA BIDIMENSIONAL 63

3.1. Sistemas discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.1.1. Ejemplo del problema discreto bidimensional: sistema de dos barras . . . 66

3.1.2. Aproximación formal de la matriz de rigidez . . . . . . . . . . . . . . . . 69

3.2. Sistemas continuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.2.1. Forma general de la matriz de rigidez en 2D: caso ecuación estacionaria


de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

3.2.2. Forma integral equivalente . . . . . . . . . . . . . . . . . . . . . . . . . . 76

3.3. Elementos bidimensionales de lados rectos: elemento triangular, elemento rec-


tangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

3.3.1. Elemento triangular de tres nodos . . . . . . . . . . . . . . . . . . . . . . 81

3.3.2. Elemento rectangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4. SOLUCIÓN DE PROBLEMAS UTILIZANDO ALGORITMOS 95

4.1. Problemas de tipo discreto unidimensionales: 1 grado de libertad por nodo . . . 95

4.2. Problema de tipo continuo unidimensional . . . . . . . . . . . . . . . . . . . . . 105

4.3. Problemas de tipo discreto bidimensionales: 2 grados de libertad por nodo . . . 109

4.4. Problemas de tipo continuo bidimensionales . . . . . . . . . . . . . . . . . . . . 114


ÍNDICE GENERAL ix

5. PROGRAMACIÓN DEL MEF USANDO MATLAB 129

5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

5.2. Programación del método de elementos finitos . . . . . . . . . . . . . . . . . . . 129

A. ANEXOS 149

A.1. Algebra matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

A.1.1. Sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

A.1.2. Generalidades sobre memoria, dimensionamiento y esquemas de almace-


namiento de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

A.2. Integración numérica: método de Gauss-Legendre . . . . . . . . . . . . . . . . . 163

A.3. Operaciones básicas de MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . 168

A.3.1. Funciones predefinidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

A.3.2. Gráficas en MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Bibliografía 181
Capítulo 1

GENERALIDADES DEL MÉTODO DE


ELEMENTOS FINITOS

1.1. Presentación

Muchos problemas de ingeniería pueden caracterizarse por sistemas cuyos comportamientos


pueden expresarse por modelos matemáticos más o menos complejos, para abordar el estudio
de estos sistemas es conveniente simplificarlos en lo posible. La formulación de problemas me-
diante funciones que permiten calcular por ejemplo deformaciones, tensiones, temperaturas,
fuerzas, desplazamientos entre otros, frecuentemente se complica o no resulta posible si su for-
ma geométrica o su estado de cargas adoptan formas irregulares. La opción más sencilla es
subdividir el sistema en partes o elementos de estudio sencillo, para luego volverlo a reconstruir
ensamblando la contribución de cada elemento y predecir así su comportamiento.

El método de elementos finitos es un procedimiento numérico que conduce a la solución apro-


ximada de problemas del campo de la física y matemática; consiste en estudiar un "sistema
o problema físico" mediante el uso de un modelo matemático compuesto de un cierto número
de elementos independientes denominados finitos o discretos, unidos entre si a través de un
número finito de puntos o nodos. Cada elemento finito se estudia aisladamente, aplicando teo-
rías clásicas de cálculo y estableciéndose condiciones de continuidad y equilibrio a través de los
nodos.

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:

Dividir la estructura en partes ó piezas (elementos y nodos).

Describir el comportamiento de cantidades físicas sobre cada elemento.

Conectar (ensamblar) los elementos y nodos de toda la estructura de forma apropiada en


un sistema de ecuaciones.

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:

1943: Courant (Métodos variacionales)

1956: Turner, Clough, Martin and Topp (Rigidez)

1960: Clough (Problema en el plano)

1970s: Aplicaciones computacionales

1980s: Micro computador, pre - post procesador

1990s: Análisis de grandes sistemas estructurales.

2000s: Desarrollo de sistemas informáticos y computacionales sofisticados.

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.)

Algunas aplicaciones del MEF en ingeniería que pueden mencionarse son:

Ingeniería Mecánica

Ingeniería Aeroespacial

Ingeniería Civil

Ingeniería Automotriz

Análisis estructural (estático, dinámico, lineal, no lineal)

Térmica, flujo de fluidos

Electromagnetismo

Geomecánica

Biomecánica, entre otros.

En éste trabajo se describen los procedimientos y formulaciones matemáticas utilizados para


aplicar el método de elementos finitos a problemas simples de ingeniería. Está dirigido a estu-
diantes que se inician en la investigación y utilizan el MEF como herramienta de trabajo, así
como también a profesionales que sean usuarios de software comerciales y requieran formarse
en las bases matemáticas del método.

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

1.2.1. Objetivo general

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.

1.2.2. Objetivos específicos

1. Presentar la clasificación de los procedimientos de estudio del método de elementos finitos.

2. Estudiar los sistemas unidimensionales discretos y continuos, desarrollo de algoritmos.

3. Estudiar los sistemas bidimensionales discretos y continuos, desarrollo de algoritmos.

4. Resolver ejemplos sencillos siguiendo los algoritmos propuestos.

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.3. Organización y contenido

El contenido del trabajo se presenta en 5 capítulos

En el capítulo 1 se resume el procedimiento de estudio mediante el uso del método de ele-


mentos finitos. Se comenta brevemente la historia sobre el desarrollo del MEF. Posterior-
mente se mencionan algunas aplicaciones del MEF en ingeniería y los software disponibles
para aplicarlo.
El capítulo 2 presenta importantes aspectos matemáticos de la teoría general del método de
elementos finitos mediante el estudio del problema unidimensional, para lo cual se analizan
los sistemas discretos y sistemas continuos mediante el análisis matricial. En cada caso se
describen las etapas básicas del análisis matricial. Luego se presenta un esquema y se
desarrollan las formulaciones variacional y residual, así como la aproximación formal de la
matriz de rigidez. Finalmente se realiza el planteamiento general del problema.
En el capítulo 3 se desarrolla la teoría general del método de elementos finitos para estudiar
el problema bidimensional. El estudio se realiza dividiendo a los sistemas en: sistemas
discretos y sistemas continuos, en cada caso se desarrollan ejemplos como un elemento
barra, ecuación estacionaria de Poisson en dos dimensiones. Finalmente se desarrollan
las expresiones de las funciones de forma de elementos bidimensionales de lados rectos:
elemento triangular, elemento rectangular.
En el capítulo 4 se presenta un grupo de problemas, los cuales son resueltos siguiendo las
estructuras algorítmicas desarrolladas en los capítulos previos en relación a problemas de
tipo discreto unidimensionales (1 grado de libertad por nodo), problemas de tipo continuo
unidimensionales y problemas de tipo discreto y continuo bidimensionales (2 grados de
libertad por nodo).
El capítulo 5 se inicia introduciendo aspectos básicos en el uso de MATLAB, posteriormen-
te se presentan y exponen diferentes programas en MATLAB que desarrollan las etapas
de pre proceso, proceso y post proceso.
Finalmente los apéndices se han estructurado en 3 secciones: aspectos generales de algebra
matricial y solución de sistemas de ecuaciones, integración numérica (método de Gauss
Legendre), descripción de algunos aspectos computacionales relacionados con la dimen-
sión de matrices, consideraciones generales sobre la memoria y estrategias de dimensión
dinámica de matrices y sobre algunos esquemas de almacenamiento para matrices. Todos
estos aspectos son requeridos en el análisis y programación del método de elementos finitos,
permitiendo la simplificación de las etapas de pre proceso, proceso y post proceso.
16 Cap. 1 GENERALIDADES DEL MÉTODO DE ELEMENTOS FINITOS

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:

Pre proceso: consiste en la construcción del modelado geométrico:

• 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)

El resultado final de esta fase es un archivo de datos.

Proceso: análisis mediante elementos finitos: ensamblaje, planteamiento del sistema de


ecuaciones.
Esta fase es desarrollada por un programa especializado que lee el archivo de datos generado
en la fase de pre-procesamiento y, si no detecta errores, efectúa el análisis del modelo y
genera un archivo de resultados para post procesamiento.
El usuario no tiene acceso al proceso de análisis en programas que no son propios.

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.

La implementación computacional del MEF, se resume en el esquema que se presenta en la


figura 1.1 donde se señalan en forma global los pasos a seguir para el desarrollo de cada fase.
Sec. 1.4 Método 17

Figura 1.1: Esquema de implementación computacional, adaptado de [Oñate, 1995]


18 Cap. 1 GENERALIDADES DEL MÉTODO DE ELEMENTOS FINITOS

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.

1. Problemas de equilibrio (estacionarios): aquellos en los cuales el sistema no varía con el


tiempo.

2. Problemas de autovalores: constituyen una extensión de los problemas de equilibrio en los


cuales además de la correspondiente configuración de estado constante, se deben determi-
nar valores críticos de ciertos parámetros. Ejemplos asociados a este tipo de problema son
la rotación de ejes, matrices ortogonales, cargas críticas, frecuencias propias entre otros.

3. Problemas de propagación: aquellos que comprenden los fenómenos no estacionarios, es


decir, dependientes del tiempo.

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.

En este trabajo se desarrollan en forma algorítmica los procedimientos matemáticos requeridos


para la aplicación del MEF, así como su aplicación a problemas sencillos de ingeniería que le
permitan al lector un camino simple para la comprensión y programación del MEF.
Capítulo 2

TEORÍA GENERAL DEL MÉTODO DE


ELEMENTOS FINITOS: PROBLEMA
UNIDIMENSIONAL

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.

Si F es la fuerza axial aplicada en la sección transversal y b es la fuerza aplicada por unidad de


longitud entonces, es posible abordar el problema considerando al menos uno de los siguientes

19
20 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

Figura 2.1: Equilibrio en un elemento tipo barra.

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).

2. La energía potencial total de un cuerpo elástico definida como la suma de la energía de


deformación unitaria (U) y el potencial de trabajo (V) para un material elástico lineal
en un sistema conservativo, expresando en forma integral, el modelo matemático para un
sistema discreto o para un sistema continuo.

3. Asumiendo cargas estáticas, material elástico, pequeñas deformaciones y expresando la


fuerza axial en términos diferenciales, entonces, al plantear las ecuaciones de equilibrio se
obtiene una expresión diferencial que puede ser resuelta mediante una formulación integral
equivalente, (modelo matemático para un sistema continuo).

2.1.1. Sistemas discretos

Son aquellos cuyas componentes o configuraciones geométricas se pueden conocer a través de


un número finito de parámetros. Están constituidos por subsistemas indeformables (partículas
o cuerpos rígidos). Si el análisis es estático o independiente del tiempo el resultado del proceso
de análisis se reduce a un sistema de ecuaciones lineales simultáneas con variables nodales como
Sec. 2.1 Introducción 21

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.

2.1.2. Sistemas continuos

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

sistemas son puentes, represas, tuberías, entre otros (figura 2.3).

Figura 2.3: Sistemas continuos: (a) Presas, (b) Láminas, (c) Puentes, (d) Placas

El comportamiento de sistemas continuos puede generalmente expresarse mediante ecuaciones


diferenciales; es decir, determinando una solución de una ecuación que relaciona una función
desconocida con una o más de sus derivadas especificadas en un valor de variable independiente,
llamadas condiciones iniciales. Si la función desconocida está especificada en dos o mas valores
de la variable independiente, son llamadas condiciones de frontera. Los sistemas continuos
modelan en forma satisfactoria la realidad física pero requieren de simplificaciones e hipótesis
para la formulación de un modelo manejable matemáticamente, [Lamar and Fortoul, 2007].

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

Figura 2.4: Formulaciones del problema de valor inicial

2.2. Análisis matricial de sistemas discretos

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

Considere un elemento (e) tipo resorte de constante elástica k (e) en N ewtonm


, tal como se
indica en la figura 2.5, donde los desplazamientos de los nodos ui , uj están dados en metros,
y las fuerzas nodales fi , fj en Newton.
24 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

Figura 2.5: Elemento tipo resorte

La relación fuerza - desplazamiento está dada por

F = k(uj − ui ) = kδ (2.1)

Considerando el equilibrio de fuerzas en cada nodo se tiene:

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.

Figura 2.6: Elemento tipo resorte

Un aspecto importante a considerar es la notación en la formulación y la representación


gráfica de un elemento genérico o un sistema genérico de elementos. Se establece entonces
la numeración local y numeración global de los nodos, ver figura 2.7. Posteriormente se
Sec. 2.2 Análisis matricial de sistemas discretos 25

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.

La lectura de la notación en coordenadas locales para f12 se realiza de la siguiente forma:


componente del vector de fuerzas del elemento 1 en el nodo 2 y f21 es la componente del
vector de fuerzas del elemento 2 en el nodo 1 en la numeración local. En el caso del vector
de desplazamientos del elemento 2 en coordenadas globales u21 , u22 se leería componente
del vector de desplazamiento del elemento 2 en el nodo 1 y componente del vector de
desplazamiento del elemento 2 en el nodo 2, respectivamente.

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.

Considerando el equilibrio de fuerzas (ecuación 2.3) en cada nodo en la referencia local se


tiene:

" # 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

y para el equilibrio de fuerzas en los nodos 1,2 y 3, en la referencia global


26 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

nodo 1 nodo 2 nodo 3


F1 = f11 F2 = f21 + f12 F3 = f22

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

en forma matricial (referencia global)


    
F1 k1 −k 1 0 u1
 F2  =  −k 1 k 1 + k 2 −k 2   u2 
    
F3 0 −k 2 k2 u3
La solución del sistema en su representación global se obtiene asumiendo las condiciones
de contorno, por ejemplo: u1 = 0, F2 = F3 = F , se reemplazan en el sistema de ecuaciones
y se obtiene que F1 = −k 1 u2 entonces el sistema se reduce a:
" # " #" #
F k 1 + k 2 −k 2 u2
=
F −k 2 k2 u3

Se resuelve el sistema de ecuaciones y se obtienen los desplazamiento u2 = 2F


k1
, u3 = 2F
k1
+ kF2 ,
ahora reemplazando u2 se obtiene la reacción F1 = −2T , finalmente se representan los
resultados de forma gráfica.

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

Figura 2.8: Deformación de una barra por fuerzas axiales.

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

en notación matricial compacta:


28 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

R = Ku (2.11)

donde la matriz de rigidez de la barra k(e) es función únicamente de la geometría de la


misma (l(e) , A(e) ) y de sus propiedades mecánicas (E (e) ). La representación de los vectores
de desplazamientos es u(e) , y de fuerzas de los nodos de la barra aislada es R(e) . La ecuación
2.10 y 2.11 son las expresiones matriciales de equilibrio de la barra aislada.
Si además actuara sobre la barra una fuerza uniformemente distribuida por unidad de
longitud de intensidad b(e) , la ecuación 2.10 se modifica repartiendo el efecto total de
dicha fuerza en partes iguales en cada nodo como
( ) " #( ) ( )
(e) (e)
R1 1 −1 u1 (bl)(e) 1
(e) = k (e) (e) − = k(e) u(e) − f (e) (2.12)
R2 −1 1 u2 2 1
( )
(e) (bl)(e) 1
donde f = es el vector de fuerzas que actúan en los nodos de la barra
2 1
debidas a la carga distribuida.

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.

Figura 2.9: Sistema de 2 barras

Planteando el equilibrio de fuerzas en cada elemento (referencia local) se tiene:

" # 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

Para una estructura compuesta de barras la expresión de equilibrio se obtiene a partir de


la ley de equilibrio: la suma de las fuerzas en un nodo debidas a las diferentes barras que
Sec. 2.2 Análisis matricial de sistemas discretos 29

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

nodo 1 nodo 2 nodo 3


(2.15)
F1 = f11 F2 = f21 + f12 F3 = f22

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

En forma matricial (referencia global)

    
F1 k1 −k 1 0 u1
 F2  =  −k 1 k 1 + k 2 −k 2   u2 
    
F3 0 −k 2 k2 u3

F = Ku

donde K es la matriz de rigidez de la estructura, u y F son los vectores de desplazamientos


y de fuerzas exteriores de todos los nodos de la estructura, respectivamente. En forma
general su representación es:

    

 f 1 
 K11 K12 · · · K1n 
 u1 

f   K21 K22 · · · K2n
   
    u2 
 2 

  

.. .. .. ..
   
. =
 . . 
 . (2.16)
 .
 .. 
 
  ..
  . ..  .. 



 
 . 

 . 



Kn1 Kn2 · · · Knn
   
fn un

La resolución de este sistema de ecuaciones proporciona los valores de los desplazamientos


en todos los nodos de la estructura a partir de los cuales se pueden conocer los esfuerzos
internos en las barras.
30 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

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).

Figura 2.10: Contribución de un elemento aislado a la matriz de rigidez global.

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].

El orden de numeración puede afectar de manera importante a la configuración de la matriz


de rigidez, ocasionando que los anchos de banda o la simetría de la matriz se modifique o no
existan. En la numeración mostrada en la figura 2.12(a) el ancho de banda es 3, mientras que
en la numeración mostrada en la figura 2.12(b) se pierde la forma en banda ya que el ancho de
banda es 5 y coincide con el número de términos de la diagonal principal (5).

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

Debido a la similitud en el proceso de análisis de sistemas discretos es posible establecer analo-


gías entre las variables que intervienen en el estudio de una barra con otros sistemas discretos,
en la siguiente tabla se presentan algunas analogías.

Tabla 2.1: Analogías entre el problema de una barra a tracción, el problema térmico y redes de tuberías

BARRA A TRACCIÓN ←→ PROBLEMA TÉRMICO ←→ REDES DE TUBERÍAS


(u) Desplazamiento ←→ (ψ) Temperatura ←→ (p) Presión
(EA) Rigidez axial ←→ (k) Conductividad ←→ (k) Permeabilidad
(b) Fuerza distribuida ←→ (Q) Fuente de calor ←→ (Q) Fuente o sumidero
(−H̄) Fuerza horizontal ←→ (q̄) Flujo de calor ←→ (q) Flujo de agua

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.

2.2.1. Etapas básicas del análisis matricial de un sistema discreto

En el análisis de un sistema discreto intervienen las siguientes etapas:


32 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

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).

3. Ensamblaje y resolución de la ecuación matricial de equilibrio global (Ka = F ) para calcular


los valores de las incógnitas (desplazamientos) en los nodos a, (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).

2.3. Análisis de sistemas continuos

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.

2.3.1. Formulación variacional: el método de Rayleigh-Ritz

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.

Un algoritmo de solución al asumir una configuración cinemáticamente admisible, consiste en:


34 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

Figura 2.12: Barra bajo la acción de su propio peso.

Asumir una configuración de la variable desplazamiento u, y sus correspondientes condi-


ciones iniciales, las cuales deben ser cinemáticamente admisible.

Remplazar las condiciones iniciales en la configuración inicial y simplificar.

Encontrar el gradiente del desplazamiento ( du


dx
).
du
Remplazar u y dx
en la expresión de la energía potencial

AE L du 2
Z Z L
Π=U +V = ( ) dx − u(wdx) (2.18)
2 0 dx 0

Minimizar Π, es decir conseguir el valor de Ci que produce el mínimo valor en la función,


∂Π
tal que ∂C i
=0.

Como resultado de minimizar Π se obtienen las expresiones de los diferentes Ci , los cuales
se reemplazan en la función desplazamiento u.

Finalmente se obtienen las expresiones de desplazamiento u, deformación ε, tensión σ,


energía potencial Π.

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].

Tabla 2.2: Configuraciones polinómicas del desplazamiento u y sus respectivas constantes

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.

La función u = C0 + C1 x + C2 x2 debe ser cinemáticamente admisible, entonces si:

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

Se obtiene la forma de la función de la energía potencial, reemplazando u y du dx


en 2.22:

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

Resolviendo el sistema de ecuaciones:


L 2
2LC1 +2L2 C2 = w AE
3 2L3
2L2 C1 +8 L3 C2 = w 3AE
wL w
C1 = AE
y C2 = − 2AE
wL w
Reemplazando Ci en la función dada u: u = AE
x − 2AE
x2

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

Otra posibilidad es subdividir la barra en secciones o elementos y estudiar cada elemento


utilizando alguna de las configuraciones anteriormente mencionadas. Como ejemplo se presenta
el caso de la barra dividida en dos elementos asumiendo la configuración del desplazamiento
dada por un polinomio lineal, tal como se puede observar en la figura 2.13.
36 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

Figura 2.13: Elementos de una barra elástica: (a) elemento genérico; (b) barra de dos elementos.

Partiendo de la solución lineal para el elemento genérico (e):

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.

2.3.2. Aproximación formal de la matriz de rigidez

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:

Pequeñas deformaciones (el modelo de carga no cambia debido a la configuración defor-


mada).

Material elástico (no se presenta plasticidad o fractura).

Cargas estáticas (la carga es aplicada a la estructura lentamente o en forma constante).

El análisis lineal da información sobre la estructura y es la base de estudios no lineales en la


mayoría de los casos. Para ello se definen dos funciones de configuración lineal o funciones de
forma (N (ξ)), las cuales serán detalladas en secciones posteriores.

Ni (ξ) = 1 − ξ
(2.26)
Nj (ξ) = ξ
x
donde ξ = L
(ver ecuación 2.20); para 0 ≤ x ≤ L.

La expresión del desplazamiento u(x) será:

u(x) = u(ξ) = Ni (ξ)ui + Nj (ξ)uj


( ) (2.27)
h i ui
u(x) = Ni (ξ) Nj (ξ) = Nu
uj
38 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

por tanto, la deformación se expresa como:


 
du d
ε= = N u = Bu (2.28)
dx dx
donde B es el elemento matriz deformación-desplazamiento
h i
d
B = dx Ni (ξ) Nj (ξ)

h i (2.29)
B = − L1 1
L

La expresión para tensión es σ = Eε y en forma matricial:

σ = 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.

2.3.3. Formulación residual: planteamiento general del problema

Los pasos a seguir en este método son los siguientes

Problema de valor de frontera

Forma integral equivalente


Sec. 2.3 Análisis de sistemas continuos 39

Formulación residual

Forma débil

Contorno natural, Wi = Wi

Método de los residuos ponderados (Método de Galerkin)

Definición de las funciones de forma

Forma del sistema de ecuaciones Ka=f

A continuación se presenta el desarrollo de cada uno de los pasos previamente mencionados,


[Zienkiewicz and Taylor, 2004] los cuales son aplicados al problema de transmisión de calor, sin
embargo no debe olvidarse la analogía entre los diferentes tipos de problemas.

Problema de valor de frontera: ecuación diferencial con condiciones de contorno

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.

El método de residuos ponderados (MRP) se basa en operar, no ya con la ecuación diferencial


que gobierna el problema, sino con una ecuación integral equivalente.

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

Considerando el problema unidimensional (1D):


2
A(ψ) = k ddxψ2 + Q(x) = 0

(2.33)
A(ψ) = d
dx
(k dψ
dx
) + Q(x) = 0 en Ω

siendo Ω : 0 ≤ x ≤ L, el dominio donde se satisface esta ecuación.

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.

Forma integral equivalente

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)
Ω Γ

siendo W(x) y W (x) las funciones de peso correspondientes.

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

Formulación residual: aproximación mediante residuos ponderados

Ante la imposibilidad general de encontrar soluciones exactas al problema bajo estudio, se


buscará una solución aproximada ψb tal que

ψ(x) ∼
= ψ(x)
b (2.38)

La manera más habitual de expresar la solución aproximada es a través de una combinación


lineal de funciones como p
X
ψ(x) =
b Ni (x)ai (2.39)
i=0

donde ai son los coeficientes a determinar y Ni (x) las funciones de la variable independiente x.

Sustituyendo la función aproximada en la expresión integral 2.37 se obtiene


XZ XI
W (x)A(ψ)dΩ +
b W (x)B(ψ)dΓ
b =0 (2.40)
e Ωe e Γe

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 Γ

Obviamente si ψb es la solución exacta, es decir si ψ = ψb se cumple que rΩ = 0 en Ω y rΓ = 0


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.

La solución aproximada se obtiene escogiendo un conjunto finito de 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)

Aplicando el MRP, se tiene

" ! # " !#
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

Forma débil del método de residuos ponderados

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:

dm f (x) dm−1 f (x)


Z Z
(m) (m−1)
f (x) dx = dx → f (x) = (2.47)
Ω Ω dxm dxm−1

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

los requisitos de continuidad han cambiado para ψ, W, k.


44 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

Contorno natural

Se selecciona W = −W en la forma débil. Tras simplificar y reorganizar los términos se obtiene


Z L Z L " #L
dW dψb dψb dψb
− k + W Qdx + W k − [Wi k ]x=l − [Wi q]x=l = 0 (2.51)
0 dx dx 0 dx dx
0

se simplifican dos términos y recordando que q = −k dψ


dx
y se obtiene la expresión
Z l Z l
dW dψb
k dx = W Qdx + [W q]0 − [W q]l = 0 (2.52)
0 dx dx 0

en la ecuación 2.52 se tiene que:

La variable ψ ha desaparecido del contorno donde el flujo de calor está prescrito (x = l)

Si el flujo prescrito es q = 0, desaparece también toda referencia a la condición de contorno


de flujo nulo. Por ello esta condición recibe el nombre genérico de condición de 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.

Reemplazando ψb = nj=1 Nj aj , en 2.52 y desarrollando para cada valor de i se genera un sistema


P

de ecuaciones Ka = f , con n incógnitas ai , tal que Ka queda como:


R l dW1 d  dN1
k dx dx a1 + dN a2 + ... + dN

0 dx dx
2
dx
n
an dx
R l dW2 d  dN1 dN2 dNn

0 dx
k dx dx
a 1 + dx
a 2 + ... + dx
a n dx
.. (2.53)
.
R l dWn d  dN1 dN2 dNn

0 dx
k dx dx
a 1 + dx
a 2 + ... + dx
a n dx

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

que puede escribirse matricialmente como


     
K11 K12 · · · K1n 
 a1 
 
 f1 

   
 K21 K22 · · · K2n a2 f2
     
 
 
 
 

 . .. ..  
 ..

 
 ..


 .. . .  
 .

 
 .


= (2.56)
 
· · · Kin
 
 Ki1 Ki2   ai   fi 
 . .. ..  
 ..

 
 ..


 .     
 . . . . .
   
 











   
Kn1 Kn2 · · · Knn  an   fn 

Método de los residuos ponderados (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

Tabla 2.3: Métodos Residuales

Método Funciones de peso


Colocación puntual Wi (x) = δ(x − xi )
Colocación por sub dominios Wi (x) = 1 → ∀x ∈ Ω ; Wi (x) = 0 → ∀x ∈
/Ω
Galerkin Wi (x) = Ni
I = Ω [A(ψ)]2 dΩ + Γ [B(ψ)]2 dΓ
R R
Mínimos cuadrados

tanto la expresión 2.52 se transforma en


Z l Z l
dNi dψb
k dx = Ni Qdx + [Ni q]0 − [Ni q]l = 0 i = 1, 2, ..., n (2.57)
0 dx dx 0

y recordando que ψb = nj=1 Nj aj ,


P

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

al desarrollar las sumatorias y para cada valor de i, se genera un sistema de ecuaciones Ka = f ,


con n incógnitas ai , siendo el lado derecho de la igualdad
R l dN1  dN1 dN2 dNn

dx 
k dx
a 1 + dx
a 2 + ... + dx
an dx
R0l dN dN1 dN2 dNn

0 dx
2
k dx a1 + dx a2 + ... + dx an dx
.. (2.59)
.
R l dNn  dN1
k dx a1 + dN a + ... + dN

0 dx
2
dx 2
n
dx n
a dx
donde: Z l
dNi dNj
Kij = k dx (2.60)
0 dx dx
46 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

y el lado izquierdo de la igualdad


Z l
fi = Ni Qdx + (Ni q)x=0 − (Ni q)x=l (2.61)
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:

Monomios (Ni (x) = xi ):


p p
X X
i
ψ(x)
b = ai x = a0 + ai x i (2.62)
i=0 i=1

Funciones de Fourier (Ni (x) = sin(ix), cos(ix)).


p p
X X X X
ψ(x)
b = ai cos(ix) + bi sen(ix) = a0 + ai cos(ix) + bi sen(ix) (2.63)
i=0 i=0 i=1 i=1

Funciones exponenciales (Ni (x) = ebi x )


p
X
ψ(x)
b = ai ebi x (2.64)
i=0

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.

Para la definición ”local” de las funciones de forma se siguen los pasos:

Definir la variación de la función incógnita dentro de cada elemento.

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

donde α0 , α1 , ..., αn , son constantes.

Tomando un polinomio de primer grado, se tiene

ψ (e) (x) ' ψb(e) (x) = α0 + α1 x (2.66)

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

(e) (e) (e) (e)


ψb(e) (x) = N1 (x)ψ1 + N2 (x)ψ2 (2.71)

2
(e) (e)
ψb(e) (x) =
P
Ni (x)ψi
i=1

de donde se deduce la expresión de las funciones de forma Ni como


(e) (e)
(e) x2 − x x2 − x
N1 (x) = (e) (e)
= (2.72)
x2 − x1 l(e)
48 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

(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].

La función de forma del nodo i de un elemento Lagrangiano unidimensional de n nodos se


obtiene directamente por la expresión general

n
Y (x − xj )
Ni (x) = (2.75)
(xi − xj )
j=1( j6=i )

dichos polinomios toman un determinado valor en un punto y cero en un conjunto de puntos


prefijados.

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:

ξ = −1 en el extremo izquierdo del elemento.

ξ = 0 en el punto central del elemento.

ξ = 1 en el extremo derecho del elemento.


Sec. 2.3 Análisis de sistemas continuos 49

Figura 2.15: Sistema normalizado.

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 )

A continuación se desarrollan las funciones de forma de elementos lagrangianos de 2, 3 y 4


nodos,

’Elemento Lagrangiano de dos nodos:


Con ξ = −1, ξ = +1, (ver figura 2.16 a), las funciones de forma se obtienen por

(ξ − ξ2 ) 1
N1 = = (1 − ξ)
(ξ1 − ξ2 ) 2
(ξ − ξ1 ) 1
N2 = = (1 + ξ)
(ξ2 − ξ1 ) 2

se puede observar que sustituyendo el valor de ξ = 2 x−x


l(e)
c
se recupera la expresión cartesiana
de las funciones de forma.

Elemento cuadrático de tres nodos:


Con ξ1 = −1, ξ2 = 0, ξ3 = +1 (ver figura 2.16 b), las funciones de forma se obtienen por
50 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

(ξ − ξ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

Elemento cúbico de cuatro nodos:


Con ξ1 = −1, ξ2 = −1/3, ξ3 = 1/3 y ξ4 = 1 (ver figura 2.16 c), las funciones de forma son

(ξ − ξ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)

por otra parte, el gradiente g se obtiene como

(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

la expresión del gradiente se escribe como


1 dξ 1 dξ
g=− ψ1 + ψ2 (2.81)
2 dx 2 dx


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].

Si se conocen las coordenadas x1 , x2 , ..., xm de m puntos cualesquiera del elemento, mediante la


interpolación de las coordenadas conocidas, se puede calcular la coordenada de cualquier punto
del elemento. Dicha interpolación puede escribirse en la forma

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

x (ξ) = N1 (ξ) x1 + N2 (ξ) x2 (2.83)

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


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

 (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

Una vez planteada la expresión Ka = f , se resuelve el sistema de ecuaciones teniendo en cuenta


que el valor prescrito de ψ corresponde al valor de la incógnita en (x = 0) por lo tanto, q0 será
la reacción en x = 0 y puede calcularse una vez obtenida la solución del sistema.
54 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

El procedimiento desarrollado facilitará la comprensión del desarrollo de elementos isoparamé-


tricos más complejos. Se presenta ahora la formulación isoparamétrica del elemento cuadrático
de tres nodos, el cual corresponde a funciones de forma polinómicas de segundo grado. Siguiendo
el procedimiento desarrollado.

(e) (e) (e)


ψb = N1 (ξ) ψ1 + N2 (ξ) ψ2 + N3 (ξ) ψ3 (2.91)

El gradiente dentro del elemento cuadrático se obtiene por

(e) (e) (e)



b dN1 dN2 dN3
g= = ψ1 + ψ2 + ψ3
dx dx dx dx (2.92)
( ( (e)
dψ dξ dN1 e) dξ dN2 e) dξ dN3 dξ
= ψ1 + ψ2 + ψ3
dξ dx dξ dx dξ dx dξ dx

la expresión para la geometría del elemento cuadrático será

(e) (e) (e)


x = N1 (ξ) x1 + N2 (ξ) x2 + N3 (ξ) x3 (2.93)

donde

(e) (e) (e)


dN1 1 dN2 dN3 1
=ξ− ; = −2ξ; =ξ+ (2.94)
dξ 2 dξ dξ 2

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)

la expresión anterior proporciona la relación entre dx y dξ en función de las coordenadas de los


tres nodos del elemento. Si el nodo intermedio está situado en el centro del elemento, se tiene
Sec. 2.3 Análisis de sistemas continuos 55

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

entonces las expresiones de la matriz de rigidez y el vector de fuerzas en términos isoparámetricos


es

Z 1
dNi (ξ) dNj (ξ) 1
Kij = k dξ (2.98)
−1 dξ dξ j

y el lado izquierdo de la igualdad

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ξ

 
 (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

Siguiendo los pasos mencionados anteriormente se obtendrán la expresiones de la matriz de


rigidez y vector de fuerzas para dos casos de ingeniería considerando un dominio unidimensional.
En primer lugar se estudia la transmisión estacionaria de calor por conducción y convección en
un elemento de barra de longitud l, y posteriormente se estudia una barra elástica sometida a
la acción de fuerzas.

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:

Figura 2.17: Transmisión de calor en una barra


Sec. 2.3 Análisis de sistemas continuos 57

[q + Qdx] − [(q + dq) + hA(ψ − ψe )] = 0


| {z } | {z } (2.104)
flujo que entra flujo que sale

donde h es el coeficiente de convección y A el área de transferencia por convección (A =


1 ∗ dx).
Se conocen la temperatura ψ en x=0.

ψ = ψ |x=0 (2.105)

y el flujo de calor q en x = l

q = q |x=l (2.106)

La relación entre el flujo de calor q y la temperatura ψ viene expresada por la conocida


ley de Fourier


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 :



 q−q =k +q =0
dx

Aplicando el MRP, se tiene

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

simplificando la expresión mediante las siguientes consideraciones:


58 Cap. 2 MEF: PROBLEMA UNIDIMENSIONAL

• 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

al desarrollar por ejemplo para i=1,2 y j=1,2

" # " RL R L dN1 dN2 #


dN1 dN1
k11 k12 (k dx dx
+ hN N
1 1 )dx (k dx dx
+ hN N
1 2 )dx
= R0L dN 2 dN1
R0L dN 2 dN2
(2.114)
k21 k22 0
(k dx dx + hN2 N1 )dx 0 (k dx dx + hN2 N2 )dx
" # " RL #
f1 N Qdx + N [q] − [N q]
= R0L 1 1 x=0 1 x=L
(2.115)
f2 0
N 2 Qdx + N 2 [q] x=0 − [N 2 q]x=L

si se utiliza la formulación iso paramétrica de las funciones de forma


Z 1
dNi (ξ) dNj (ξ) 1
Kij = [ k + hjNi (ξ)Nj (ξ)]dξ (2.116)
−1 dξ dξ j
y el lado izquierdo de la igualdad
Z 1
fi = Ni (ξ)Qjdξ + (Ni (ξ)q)ξ=−1 − (Ni (ξ)q)ξ=1 (2.117)
−1

suponiendo un elemento de tres nodos y el nodo intermedio centrado en el elemento


j (e) = l(e) /2, adicionalmente suponiendo que k, h y Q son constantes sobre el elemen-
to, al desarrollar las expresiones de kij y fi , se obtiene:
 
k11 k12 k13
Kij =  k21 k22 k23  (2.118)
 
k31 k32 k33
Sec. 2.3 Análisis de sistemas continuos 59

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

Caso 2: para un elemento de barra elástica de dos nodos, de longitud L, sometido a la


acción de una fuerza axial (F ) y fuerza distribuida (b) (figura 2.18), asumiendo pequeñas
deformaciones se plantea la siguiente ecuación de equilibrio:

Figura 2.18: Barra bajo fuerzas axiales

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

aplicando el MRP, se tiene

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

simplificando la expresión mediante las siguientes consideraciones:

• 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

al desarrollar por ejemplo para i=1,2 y j=1,2


" # " RL RL #
dN1 dN1 dN1 dN2
k11 k12 (EA dx dx
)dx (EA dx dx
)dx
= R0L dN2 dN1
R0L dN2 dN2
(2.130)
k21 k22 0
(EA dx dx
)dx 0
(EA dx dx
)dx
" # " RL   #
f1 N 1 bdx + N 1 [h] x=0 − N 1 h
= R0L  x=L (2.131)
f2 0
N 2 bdx + N 2 [h] x=0 − N 2 h x=L
Sec. 2.3 Análisis de sistemas continuos 61

Si se utiliza la formulación isoparamétrica de las funciones de forma


Z 1
dNi (ξ) dNj (ξ) 1
Kij = [ EA ]dξ (2.132)
−1 dξ dξ j
y el lado izquierdo de la igualdad
Z 1 
fi = Ni (ξ)bjdξ + (Ni (ξ)h)ξ=−1 − Ni (ξ)h ξ=1 (2.133)
−1

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ξ

R1 dN1 (ξ) dN2 (ξ)


k12 = k21 = −1
( EA
j dξ dξ
)dξ (2.135)

R1 dN2 (ξ) dN2 (ξ)


k22 = −1
( EA
j dξ dξ
)dξ
 (e) " #
EA 1 −1
K (e) = (2.136)
l −1 1
 R1  
" # bj −1
N1 (ξ)dξ + (N1 (ξ)h)ξ=−1 N1 (ξ)h ξ=1
f1
fij = = (2.137)
 
 
f2 R1 
bj −1
N2 (ξ)dξ + (N2 (ξ)h)ξ=−1 N2 (ξ)h ξ=1
 
1 + (h)ξ=−1 
bl(e)

 
f (e) = (2.138)
2   1 − h 

ξ=1

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

TEORÍA GENERAL DEL MÉTODO DE


ELEMENTOS FINITOS: PROBLEMA
BIDIMENSIONAL

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

3.1. Sistemas discretos

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 θ

Figura 3.1: Barra elástica en el espacio bidimensional

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.

En notación compacta la ecuación 3.2 queda:

" #
0 T
b 0
u = Tu → T = (3.3)
0 T
b

La expresión para las fuerzas nodales es f 0 = k0 u0 , en el espacio bidimensional y en sistema


local:

 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

posteriormente, para obtener la matriz de rigidez en el sistema de coordenadas globales se


reemplazan los vectores fuerza y desplazamiento dados por f 0 = Tf y u0 = Tu, y se obtiene la
siguiente expresión:

0 0 0 0
f = k u → Tf = k Tu (3.5)

recordando que T es ortogonal, se multiplica por T T a la derecha de ambos lados de la igualdad


3.5

0
TT Tf = T T
| {zk T} u; donde (T T T = I) (3.6)

entonces la matriz de rigidez en el sistema de coordenadas globales será k = TT k0 T, la cual es


una matriz simétrica de 4 × 4.
66 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL

 
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

3.1.1. Ejemplo del problema discreto bidimensional: sistema de dos barras

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:

Las cargas externas: f2y = −F

Las restricciones impuestas: u1 = v1 = u3 = v3 = 0

Se establecen las conectividades de los elementos:


Sec. 3.1 Sistemas discretos 67

Figura 3.2: Elementos de Barra 2D

Nodo inicial Nodo Final


Elemento Num. Local Num Global Num. Local Num Global
1 11 1 21 2
2 2
2 1 2 2 3

La matriz de rigidez en la expresión K’u’=f ’ para el sistema de coordenadas locales es:

 (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

En el sistema global se realiza el ensamblaje para el sistema de barras en estudio y se obtiene:


    
f1x 1 1 −1 −1 0 0 u1
 f1y   1 1 −1 −1 0 0   v1 
    
    
 f2x  EA  −1 −1 2 0 −1 1   u2 
 f  = 2L  −1 −1
    
 2y   0 2 1 −1    v2 
 
 f3x   0 0 −1 1 1 −1   u3 
    
f3y 0 0 1 −1 −1 1 v3

imponiendo las condiciones de contorno u1 = v1 = u3 = v3 = 0, f2y = −F y f2x = 0 el sistema


de ecuaciones se reduce a:

" # " #" #


f2x EA 2 0 u2
=
f2y 2L 0 2 v2

resolviendo el sistema reducido se obtiene:

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

para calcular la tensión en cada elemento se hace uso de la ecuación 2.30

σ 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

3.1.2. Aproximación formal de la matriz de rigidez

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

Figura 3.3: Deformación en una viga, [Singer and Pytel, 2007]

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

Figura 3.4: Curva elástica


Sec. 3.1 Sistemas discretos 71

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].

Figura 3.5: Elemento tipo viga

Utilizando la teoría de vigas es posible representar la deflexion como:


y(x) = Nu
 

 yi 


 θ 
i
 (3.14)
y(x) = [N1 (x)N2 (x)N3 (x)N4 (x)]

 yj 

 
θj
 

entonces la ecuación diferencial de la elástica de la viga es:


d2 y
 2 
d
2
= N u = Bu (3.15)
dx dx2
donde B es el elemento matriz deformación-desplazamiento.

Suponiendo que el material es homogéneo y obedece a la ley de Hooke, el esfuerzo en el segmento


gh viene dado por:
σ = Eε (3.16)
72 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL

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

donde I es el momento de inercia del área respecto al eje neutro.

Despejando ρ1 de M = Eρ I y reemplazando en 3.13 es posible expresar la ecuación diferencial


de la elástica de la viga como:

1 d2 y M
= 2 = (3.18)
ρ dx EI

considerando que la energía de deformación almacenada está dada por la expresión:

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)

los valores de los coeficientes ai se obtienen al reemplazar los valores de la deflexion y de su


derivada
y1 = a0 + a1 x1 + a2 x21 + a3 x31
dy
( dx )1 = a1 + 2a2 x1 + 3a3 x21
(3.27)
y2 = a0 + a1 x2 + a2 x22 + a3 x32
dy
( dx )2 = a1 + 2a2 x2 + 3a3 x22

La solución del sistema de ecuaciones anterior se reemplaza en la deflexion y simplificando se


obtiene:
L dy L dy
y = N1 y1 + N2 ( )1 + N3 y2 + N4 ( )2 (3.28)
2 dx 2 dx
donde Ni son las funciones de forma, las cuales pueden ser representadas en coordenadas na-
74 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL

turales o en coordenadas rectangulares, [Cook, 1995]:


1 2 3
N1 (ξ) = 4
(2 − 3ξ + ξ 3 ) N1 (x) = 1 − 3xL2
+ 2x
L3
1 2 3
N2 (ξ) = 4
(1 − ξ − ξ 2 + ξ 3 ) N2 (x) = x − 2xL + Lx 2
1 2 3 (3.29)
N3 (ξ) = 4
(2 + 3ξ − ξ 3 ) N3 (x) = 3x
L2
− 2xL3
1 2 3
N4 (ξ) = 4
(−1 − ξ + ξ 2 + ξ 3 ) N4 (x) = − xL + Lx 2
con
(x2 +x1 )
ξ = L2 (x − xc ) y xc = 2
(3.30)

ahora es posible definir a B y u:

B en coordenadas naturales:
d2 h
3ξ (−1+3ξ)L (1+3ξ)L
i
B = 2 N(ξ) = 2 4
− 3ξ2 4
(3.31)

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

si se combina con la rigidez axial del elemento barra, se obtiene:


Sec. 3.2 Sistemas continuos 75

 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

3.2. Sistemas continuos

3.2.1. Forma general de la matriz de rigidez en 2D: caso ecuación estacionaria de


Poisson

La ecuación bidimensional de Poisson en régimen estacionario es

   
∂ ∂ψ ∂ ∂ψ
A (ψ) = kx + ky +Q en Ω (3.34)
∂x ∂x ∂y ∂y

siendo ψ(x, y) la función incógnita, kx y ky son las conductividades en direcciones x e y res-


pectivamente y Q(x, y) es una fuente distribuida sobre el dominio Ω. Dicha ecuación se puede
obtener planteando el balance de flujos para un elemento diferencial (figura 3.6).

Las condiciones de contorno pueden ser de dos tipos





 Condición de variable prescrita (Dirichlet)
ψ−ψ =0


 en Γψ
B (ψ) = Condición de flujo normal prescrito (Neumann) (3.35)

 ∂ψ
 ∂ψ
 kx n x + k y ny + q n + α(ψ − ψ a ) = 0 en Γq


∂x ∂y

donde q n es el flujo prescrito en dirección normal al contorno Γq (q n es positivo, si el flujo es


en dirección de la normal al contorno n). El último término de la ecuación 3.35 expresa el
flujo de calor que sale por el contorno debido a una diferencia de temperatura entre los puntos
del contorno y el ambiente a temperatura. ψ a . Asimismo α es el denominado coeficiente de
convección.
76 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL

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.

3.2.2. Forma integral equivalente

La forma integral equivalente de las ecuaciones de gobierno anteriores se obtiene multiplicando


las formas diferenciales A y B por las funciones de peso respectivas e integrando sobre el dominio
de definición de cada ecuación, al igual que en el caso 1D.

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.

Aproximación por residuos ponderados

Teniendo en cuenta lo planteado en el caso 1D:

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.

Sustituyendo en A(ψ) y B(ψ) la función aproximada y éstas en la expresión integral se obtiene

" ! ! #
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

la ecuación anterior se denomina expresión de residuos ponderados en 2D.

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

teniendo en cuenta que (figura 3.6b)

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

Se selecciona W = −W en la forma débil. Tras simplificar y reorganizar los términos se llega a


Sec. 3.2 Sistemas continuos 79

 
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

teniendo en cuenta que


∂ψ ∂ψ
qn = qx nx + qy ny = −kx n x − ky ny (3.46)
∂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 Γψ

la expresión 3.49 puede escribirse en la forma matricial usual

Ka = f (3.50)

los términos de K y f se obtienen ensamblando las contribuciones elementales, y sus notaciones


indiciales están dadas por:

" (e) (e)


#
(e) (e)
∂Nj ∂Nj
Z Z I
(e) ∂Ni ∂Ni (e) (e)
Kij = kx + ky dΩ + αNi ∂Nj dΓ
Ω(e) ∂x ∂x ∂y ∂y (e)
Γq
| {z } | {z }
(e) (e)
Kkij Kcij

(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.

La forma genérica de los términos del vector de fuerzas nodales equivalente es


Z Z I I
(e) (e) (e) (e)
fi = Ni QdΩ − Ni [q n − αψa ] dΓ − Ni qn dΓ
(e) (e) (e)
| Ω {z } | Γq {z
Γ
} | ψ {z }
(e) (e) (e)
fQi fci fRi (3.52)

(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
Γψ .

En las siguientes secciones se desarrollan los procesos de obtención de las expresiones de K y f


en los casos de elementos triangulares y rectangulares.

3.3. Elementos bidimensionales de lados rectos: elemento triangular,


elemento rectangular

3.3.1. Elemento triangular de tres nodos

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)

los coeficientes α0 , α1 , y α2 , pueden determinarse al sustituir las coordenadas nodales (xi , yi )


en la ecuación 3.53.
82 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL

Figura 3.7: Discretización de un dominio bidimensional con triángulos de tres nodos. (Oñate 1999, apuntes
clase)

 (e) (e) (e)


 ψ1 = α0 + α1 x1 + α2 y1

(e) (e) (e)
ψ2 = α0 + α1 x2 + α2 y2 (3.54)
 (e)
 (e) (e)
ψ3 = α0 + α1 x3 + α2 y3

se obtienen los valores de αi mediante la resolución del sistema, posteriormente se sustituyen


en la ecuación 3.53 y simplificando se obtiene:

1  (e) (e) (e)



(e)

(e) (e) (e)

(e)
ψ(x, y) = (e)
a1 + b1 + c1 y ψ1 + a2 + b2 x + c2 y ψ2 + (3.55)
2A

 
(e) (e) (e) (e)
a3 + b3 x + c3 y ψ3 (3.56)

en donde
Sec. 3.3 Elementos bidimensionales de lados rectos 83

(e) (e) (e) (e) (e)


ai = xj yk − xk yj (3.57)
(e) (e) (e)
bi = yj − yk (3.58)
(e) (e) (e)
ci = xk − xj (3.59)

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

Se definen ahora las funciones de forma del elemento mediante:

(e) 1 (e) (e) (e)


Ni (x, y) = (a + bi x + ci y); i = 1, 2, 3 (3.61)
2A(e) i

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.

Ahora expresando la ecuación 3.55 en términos de las funciones de forma:


3
X (e) (e) (e) (e) (e) (e) (e) (e)
ψb = Ni ψi = N1 ψ1 + N2 ψ2 + N3 ψ3 (3.62)
i=1
84 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL

y sus derivadas como:

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

La matriz de rigidez global K y el vector de fuerzas nodales f se obtienen ensamblando las


contribuciones elementales. La expresión genérica de K(e) para el elemento triangular de tres
nodos es

(e) (e) (e)


 
K11 K12 K13
 (e) (e) (e) 
K(e) =  K21 K22 K23  (3.64)
(e) (e) (e)
K31 K32 K33

(e) (e)
∂Ni bi ∂Ni ci
= ; = (3.65)
∂x 2A(e) ∂y 2A(e)

Sustituyendo estas expresiones en la ecuación 3.51:

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

La evaluación de la segunda integral de 3.51 proporciona la matriz de rigidez de ”convección”


 (e) (e) (e) (e) (e) (e)

Z N1 N1 N1 N2 N1 N3
 (e) (e) (e) (e) (e) (e) 
K(e)
c = α  N2 N1 N2 N2 N2 N3  dΓ (3.68)
(e)
Γq (e) (e) (e) (e) (e) (e)
N3 N1 N3 N2 N3 N3
Sec. 3.3 Elementos bidimensionales de lados rectos 85

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

Si el coeficiente de convección es constante sobre el lado:

(
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

(e) (e) (e) (e)


K(e) = Kk + Kc12 + Kc23 + Kc13 (3.74)

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

Si Q es constante sobre el elemento se obtiene:

 
1
(e) QA(e)
fQ =  1  (3.76)
 
3
1

La contribución del término de convección al vector de fuerza se calcula como sigue

(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

Suponiendo ahora que q n , α y ψa son constantes sobre el lado se obtiene

 
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 ψ.

3.3.2. Elemento rectangular

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.

Considere una discretización utilizando elementos rectangulares de cuatro nodos en un dominio


de análisis como los representados en la siguiente figura 3.9. Para realizar el estudio de esta
configuración utilizando elementos finitos, en primer lugar se deben obtener las expresiones de
las funciones de forma siendo necesario para ello utilizar el sistema de coordenadas naturales
(ξ, η) en el que los elementos tienen lados ξ = ±1 y η = ±1 ver figura 3.9.

Figura 3.9: Coordenadas naturales en 2D: elemento de 4 nodos

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

ξ = −1, η = −1 en el extremo inferior izquierdo del elemento.

ξ = 0, η = 0 en el punto central del elemento.

ξ = 1, η = 1 en el extremo superior derecho del elemento.


Sec. 3.3 Elementos bidimensionales de lados rectos 89

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

Las funciones de forma reproducen variaciones polinómicas, en 2D un polinomio de grado n


completo posee p términos, tal que:

p = (n + 1)(n + 2)/2 (3.85)

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.

El triángulo de Pascal, también se utiliza para identificar el número de términos de un polinomio


completo en dos dimensiones, ver figura 3.10.

Figura 3.10: Representación de términos polinomiales en 2D: Triángulo de Pascal

Haciendo uso de la ecuación 3.86 para un polinomio en 2D de grado 1 se tiene:

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.

1. Elementos rectangulares Lagrangianos:


Las funciones de forma se obtienen utilizando interpolaciones polinómicas de Lagrange en
2D. Para un nodo i se realiza el producto de los polinomios unidimensionales de Lagrange
i
(ln,m ) en cada dirección (ξ, η) del nodo, donde n y m representan el grado del polinomio.

Ni (ξ, η) = lni (ξ)lm


i
(η) (3.87)

El número de nodos definido en cada una de las direcciones ξ y η no puede variar en las
diferentes líneas nodales del elemento.

a) Elemento rectangular Lagrangiano de cuatro nodos


Para obtener la expresión de Ni del nodo i del elemento de cuatro nodos se reem-
plaza en la ecuación 3.87 en la ecuación 2.77 para polinomios de primer grado en las
direcciones ξ y η (n = 1, m = 1):
1 1 1
Ni (ξ, η) = (1 + ξξi ) (1 + ηηi ) = (1 + ξξi )(1 + ηηi ) (3.88)
2 2 4
Entonces para cada nodo se obtienen las siguientes expresiones:

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 + η)

En la figura 3.11 se representa el elemento de cuatro nodos y sus funciones de forma.


Como se puede observar en la figura 3.11(b) la aproximación del elemento de cuatro
nodos es de primer orden ya que contiene todos los términos del polinomio completo
de primer grado y solo un término de segundo grado.
b) Elemento rectangular Lagrangiano de nueve nodos
Para obtener la expresión de la función de forma N del nodo i del elemento de nueve
nodos se reemplaza en la ecuación 3.87 para polinomios de segundo grado en las
Sec. 3.3 Elementos bidimensionales de lados rectos 91

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 − η )

En la figura 3.12 se representa el elemento de nueve nodos y sus funciones de forma.


Como se observa en la figura 3.12(b) la aproximación del elemento de nueve nodos
92 Cap. 3 MEF: PROBLEMA BIDIMENSIONAL

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

aproximación y el número de variables nodales es mejor en los elementos Serendípitos


respecto de los elementos Lagrangianos, estos son recomendados en los problemas de
elasticidad en 2D.
Capítulo 4

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.

4.1. Problemas de tipo discreto unidimensionales: 1 grado de libertad


por nodo

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:

Paso 1: Selección del tipo de problema, se considera la teoría lineal de estructuras de


barras unidimensionales para calcular los esfuerzos en las barras o elementos 1 y
2. (se sigue el procedimiento desarrollado en la sección 2.2 en los puntos 3 y 4)
Paso 2: Se definen los elementos discretos representando cada barra como un elemen-
to (e1 , e2 )
Paso 3: Se identifican y numeran los nodos (1, 2, 3)

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

Paso 4: Se establecen las propiedades geométricas y físicas para cada elemento:


• Elemento 1: Longitud=L, Área= 2A, Módulo de elasticidad=E
• Elemento 2: Longitud=L, Área= A, Módulo de elasticidad=E
Paso 5: Se identifican cargas externas aplicadas y restricciones:
• Cargas: aplicada en el nodo 2 (P)
• Restricciones: los nodos 1 y 3 son apoyos restringidos de movimiento en la
dirección x (R1 , R3 )
Paso 6: Se construye la tabla (archivo) de conectividades:
Sec. 4.1 Problemas de tipo discreto unidimensionales 97

Tabla 4.1: Numeración de elementos y nodos en forma local y global

Nodo inicial Nodo Final


Elemento Num. Local Num Global Num. Local Num Global
1 11 1 21 2
2 12 2 22 3

Tabla 4.2: Coordenadas de los nodos

Nodo Coordenada x Coordenada y Coordenada z


1 0 0 0
2 3L 0 0
3 4L 0 0

Paso 7: Se construye la tabla (archivo) de coordenadas iniciales de nodos:

Etapa 2 Proceso:

Paso 1: Se determina la constante elástica de cada elemento


EA (e)
k (e) = ( )
L
Paso 2: Se inicializan los desplazamientos de los nodos (u1 , u2 , u3 ), y las fuerzas no-
dales (f1 , f2 , f3 ), luego se establecen las condiciones de borde u1 = u3 = 0 y P = f2
tal como se indica en el diagrama de la figura 4.3.

Figura 4.3:

Paso 3: Se desarrollan las formas de la matriz de rigidez de cada elemento (local) y


posteriormente se realiza el ensamblaje (global), se imponen las condiciones de bor-
de y se busca la solución del sistema de ecuaciones para obtener el desplazamiento
98 Cap. 4 SOLUCIÓN DE PROBLEMAS

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

nodo 1 nodo 2 nodo 3


f1 = f11 f2 = f21 + f12 = P f3 = f22
La matriz de rigidez global es:
    
f1 2/3 −2/3 0 0
 P  = EA L  −2/3 5/3 −1   u2 
    
f3 0 −1 1 0

resolviendo el sistema de ecuaciones


5EA 3P L
3L
(u2 ) = (P ) → u2 = 5EA

Paso 4: Una vez determinado el valor del desplazamiento u2 es posible obtener el


valor de la reacciones (F1 , F3 ) en los nodos 1 y 3,

f1 = − 2EA
3L
; f3 = − EA
L

Paso 5: Se determina el valor de la tensión axial en cada elemento.


( )
(e) (e) (e)
(e) u2 − u1 u1
h i
σ (e) = E (e) ε(e) =E = EBu = E (e)
−1/L 1/L (e)
L(e) u2
( )
h i 0 3P
σ (1) = E (1) −1/L 1/L = 5A(e)
u2
( )
h i u2
σ (2) = E (2) −1/L 1/L = − 5A3P(e)
0

la barra 1 esta a tracción y la barra 2 se encuentra a compresión,


Etapa 3 Post proceso:

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

Nodo Desplazamiento nodal Fuerza nodal


1 u1 = 0 F1 = − 2EA
3L
3P L
2 u2 = 5EA F2 = P
3 u3 = 0 F3 = − EA
L
Elemento Tensión axial elemento
1 σ (1) = 5A3P(e)
2 σ (2) = − 5A3P(e)
Representación gráfica de los desplazamientos

Figura 4.4: Negro: configuración inicial, Blanco: configuración deformada

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 1: Selección del tipo de problema, se considera la teoría lineal de estructuras de


barras unidimensionales (Se sigue el procedimiento desarrollado en la sección 2.2
en los puntos 3 y 4)
Paso 2: Se definen los elementos discretos para el estudio de la barra,(e1 , e2 ),
100 Cap. 4 SOLUCIÓN DE PROBLEMAS

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:

Tabla 4.3: Numeración de elementos y nodos en forma local y global

Nodo inicial Nodo Final


Elemento Num. Local Num Global Num. Local Num Global
1 11 1 21 2
2 12 2 22 3

Paso 7: Se construye la tabla (archivo) de coordenadas iniciales de nodos:

Etapa 2 Proceso:

Paso 1: Se inicializan los desplazamientos de los nodos (u1 , u2 , u3 ), y las fuerzas


nodales (f1 , f2 , f3 ), luego se establecen las condiciones de borde, las cuales son
u1 = 0, u3 = ∆x y P = f2 tal como se indica en el diagrama de la figura 4.7.
Sec. 4.1 Problemas de tipo discreto unidimensionales 101

Tabla 4.4: Coordenadas de los nodos

Nodo Coordenada x Coordenada y Coordenada z


1 0 0 0
2 L 0 0
3 2L 0 0

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:

σ (e) = E (e) ε(e)


P ∗
A
= E (e) ∆x
L
∆x∗ = EAPL

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

reemplazando las condiciones iniciales se tiene:


    
f1 1 −1 0 0
 P  = EA L  −1 2 −1   u2 
    
f3 0 −1 1 u3

Despejando la segunda ecuación del sistema de ecuaciones global se puede deter-


minar el valor de u2 :
102 Cap. 4 SOLUCIÓN DE PROBLEMAS

( )
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:

Paso 1: Se presentan los resultados obtenidos, para facilitar su evaluación e interpre-


tación sobre la base de las teorías y suposiciones iniciales.

Nodo Desplazamiento nodal Fuerza nodal


1 u1 = 0 f1 = − PL − EAu
2L
3

2 u2 = 21 ( EA
PL
+ u3 ) f2 = P
3 u3 = ∆x, Si ∆x∗ > ∆x f3 = − PL − 3EAu
2L
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

Figura 4.8: Esquema de un circuito eléctrico resistivo

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:

Paso 1: El voltaje en cada nodo (i) es Vi = Ii Re , despejando Ii = R1e Vi , donde


1
Re
= K e . La figura 4.9 permite visualizar la ecuación de equilibrio de cada elemento

" # elemento
" e #" #
I1e 1 −1 V1
e
= R1e
I2e −1 1 V2e
104 Cap. 4 SOLUCIÓN DE PROBLEMAS

Tabla 4.5: Conectividades de los elementos en numeración local y global

Nodo inicial Nodo Final


Elemento Num. Local Num Global Num. Local Num Global
1 11 1 21 2
2 12 1 22 4
3 13 2 23 4
4 14 2 24 3
5 15 3 25 4

Figura 4.9: Identificación de un elemento genérico

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

la etapa de proceso finaliza con la solución del sistema de ecuaciones.

4.2. Problema de tipo continuo unidimensional

Problema 1: La ecuación diferencial dada por:


∂2ψ
A(ψ) :
+ 3ψ + 4 = 0
∂x
representa la transmisión estacionaria de calor en una barra de longitud L=1, sujeta a las
condiciones iniciales y de contorno definidas por:
(
ψ = 1 en x = 0
B(ψ) dψ
dx
= 2 en x = 1
106 Cap. 4 SOLUCIÓN DE PROBLEMAS

Se pide utilizar el método de residuos ponderados de Galerkin para determinar :


• Interpretar físicamente el significado de los diferentes términos de la ecuación y las
condiciones de contorno.
• Obtener la expresión de la matriz de rigidez y el vector de fuerzas nodales.
• Determinar la variación de la temperatura (ψ) para la configuración de los nodos dada.

Figura 4.10: Dominio con tres elementos de dos nodos

Solución:
De la ecuación diferencial dada y teniendo en cuenta las ecuaciones 2.104 y 2.108, así como
las condiciones iniciales:

ψ(0) = 1, Condición de contorno para temperatura en x=0


k = 1, Conductividad térmica
Q = 4, Coeficiente de convección
q = 2, Condición de contorno para flujo de calor en x=0
Para resolver el problema de valor inicial se parte de la formulación integral equivalente
(ecuación 3.36)

1
∂2ψ
Z

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

al desarrollar las sumatorias y para cada valor de i, se genera un sistema de ecuaciones


Ka = f , con n incógnitas ai , siendo el lado derecho de la igualdad
R l dN1  dN1
a + dN a + ... + dN

{ dx dx 1
2
dx 2 dx
n
an − N1 3(N1 a1 + N2 a2 + ... + Nn an )}dx
R0l dN  dN1 dN2 dNn

0 dx
2
dx
a1 + dx
a2 + ... + dx
an − N2 3(N1 a1 + N2 a2 + ... + Nn an )}dx
..
.
Rl dNn
 dN1 dN2 dNn

0 dx
a
dx 1
+ a
dx 2
+ ... + dx
an − Ni 3(N1 a1 + N2 a2 + ... + Nn an )}dx

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:

e N1e N2e dN1e /dx dN2e /dx


1 1 − 3x 3x −3 3
2 2 − 3x 3x − 1 −3 3
3 3 − 3x 3x − 2 −3 3

Para i=1,2 ; j=1,2


108 Cap. 4 SOLUCIÓN DE PROBLEMAS

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

Ensamblando las contribuciones de cada elemento se obtiene la matriz de rigidez:


 
8/3 −19/6 0 0
 −19/6 16/3 −19/6 0 
K=
 
−19/6 16/3 −19/6

 0 
0 0 −19/6 8/3
Ahora desarrollando el vector de fuerzas:
R 1/3
f11 = 0 N11 4dx + N11 q|0
R 1/3
= 0 (1 − 3x)4dx + (1 − 3x)q|0
= 2/3 + q |0

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

nodo 1 nodo 2 nodo 3 nodo 4


F1 = f11 F2 = f21 + f12 F3 = f22 + f13 F4 = f23
Se plantea el sistema Kψ = f , luego se imponen la condición de inicial ψ1 = 1 lo que
reduce el orden del sistema y se resuelve:
     
8/3 −19/6 0 0 1 2/3 + q0
 −19/6 16/3 −19/6 0   ψ2   10/3 
=
     
     
 0 −19/6 16/3 −19/6   ψ3   4/3 
0 0 −19/6 8/3 ψ4 8/3

ψ2 = −11.8941, ψ3 = −21.0847, ψ4 = −24.0381

de la primera ecuación del sistema Kψ = f , se tiene:

8/3ψ1 − 19/6ψ2 = 2/3 + q |0

de donde: q |0 = 39.6646

4.3. Problemas de tipo discreto bidimensionales: 2 grados de libertad


por nodo

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

Figura 4.11: Sistema de barras con restricciones multipunto

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

Paso 6: Se construye la tabla (archivo) de conectividades:

Tabla 4.6: Conectividades de los elementos en numeración local y global

Nodo inicial Nodo Final


Elemento Num. Local Num Global Num. Local Num Global
1 11 1 21 2
2 12 3 22 2
3 12 1 22 3

Paso 7: Se construye la tabla (archivo) de coordenadas iniciales de nodos en el sistema


global:

Tabla 4.7: Coordenadas de los nodos

Nodo Coordenada x Coordenada y Coordenada z


1 0 0 0
2 L L 0
3 0 L 0

Etapa 2 Proceso:

Paso 1: se determina la constante elástica de cada elemento


EA
Elemento 1 k 1 = ( √ )(e)
2L
EA
Elemento 2 k 2 = ( )(e)
L
EA (e)
Elemento 3 k 3 = ( )
L
Paso 2: Se inicializan y definen las condiciones de contorno en:
• los desplazamientos u de los nodos: u1 , v1 , u2 , v2 , u3 , v3
• las fuerzas nodales f en los nodos: f1x , f1y , f2x , f2y , f3x , f3y
donde u1 = v1 = v3 = 0 y f3x = F . Las componentes de desplazamiento en el nodo
2 en el sistema local son: u0 2 , v 0 2 , donde v 0 2 = 0.
Utilizando las relaciones de transformación:
√ h " #
2 i u
2
v02 = −1 1 =0
2 v2
112 Cap. 4 SOLUCIÓN DE PROBLEMAS

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

se obtiene f2y = −f2x .


A continuación se presenta el diagrama de cuerpo libre del sistema de barras 4.12.

Figura 4.12:

Paso 3: Se desarrollan las formas de la matriz de rigidez de cada elemento (local)



2
• Elemento 1: si θ = 45 entonces sin(θ) = cos(θ) o m = l = 2

 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

• Elemento 2 si θ = 0 entonces sin(θ) = m = 0, cos(θ) = l = 1


Sec. 4.3 Problemas de tipo discreto bidimensionales 113

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

Paso 4: Se desarrolla la forma de la matriz de rigidez global realizando el ensamblaje:

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

Paso 5: Se obtiene el sistema de ecuaciones


1 1 1 1
    

2 2

2 2
− √
2 2
− √
2 2
0 0 u 1 f1x
1 1 1 1
 2√ 2 2√ 2 + 1
 − 2√ 2 − 2√ 2 0 −1   v1   f1y
    

1 1 1 1
    
EA  −
 2 2
√ − √
2 2
√ +1
2 2

2 2
−1 0   u2   f2x 
 v  =  f
   
1
L  − 2√ 2 − 2√1 2 1

2 2
1

2 2
0 0   2   2y


0   u3   f3x
    
 0 0 −1 0 1 
0 −1 0 0 0 1 v3 f3y

Se imponen las condiciones de contorno en los vectores de fuerza y desplazamientos,


lo que reduce el sistema a:
 1 1
   

2 2
+1 √
2 2
−1 u 2 f2x
EA  1 1
√ √ 0   u2  =  −f2x 
   
L 2 2 2 2

−1 0 1 u3 F
simplificando
114 Cap. 4 SOLUCIÓN DE PROBLEMAS

   
√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

4.4. Problemas de tipo continuo bidimensionales

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

• qn = 0 en las caras 3-6, 5-6, 6-8 y 8-7


• La temperatura en los nodos 1,2,3,4,7 es T=0
• La fuente de calor Q es 20 cal/m2◦ C
Para la numeración sugerida en la figura se requiere calcular el valor de la temperatura
(T) en los nodos 5, 6 y 8.

Figura 4.13: Discretización mediante elementos rectangulares de cuatro nodos

Solución:
Etapa 1 Preproceso:

Paso 1: Identificación del tipo de problema: transmisión de calor en régimen estacio-


nario
Paso 2: En el enunciado del problema ya se han definido los elementos discretos para
el estudio, (e1 , e2 , e3 ), de la misma forma se ha definido la localización de los nodos
(1, 2, 3, 4, 5, 6, 7, 8).
Paso 3: Se establecen las propiedades geométricas y físicas para cada elemento:
• Elementos 1,2,3: longitud=a, en las direcciones x e y, coeficiente de conducti-
vidad térmica (k)=1, en las direcciones x e y.
Paso 4: Se identifican los flujos y temperaturas conocidos:
• Flujo de calor: qn = 0 en los contornos 3-6, 6-5, 5-8, 8-7. Fuente de calor: Q = 20
• Temperaturas: nodo 1: T1 = 0, nodo 2: T2 = 0, nodo 3: T = 0, nodo 4: T4 = 0,
nodo 7: T7 = 0
Paso 5: Se construye la tabla (archivo) de conectividades:

Etapa 2 Proceso:
116 Cap. 4 SOLUCIÓN DE PROBLEMAS

Tabla 4.8: Conectividades de los elementos en la numeración local y global

Elemento Num. Local Num. Global


1 1 1 1
1 1 ,2 ,3 ,4 1, 4, 5, 2
2 12 , 22 , 32 , 42 2, 5, 6, 3
3 13 , 23 , 33 , 43 4, 7, 8, 5

Paso 1: Los términos de K y f de cada elemento se obtienen imponiendo las condi-


ciones iniciales y de contorno en las expresiones 3.51 y 3.52 respectivamente:
" (e) (e)
#
(e) (e)
∂Nj ∂Nj
Z Z
(e) ∂Ni ∂Ni
Kij = kx + ky dΩ
Ω(e) ∂x ∂x ∂y ∂y
Z Z
(e) (e)
fi = Ni QdΩ
Ω(e)
Paso 2: Para representar a Kij y fij en el sistema de coordenadas naturales se tiene
en cuenta la ecuación 3.83 y las expresiones de las funciones de forma dadas en
la tabla 1b, así como las condiciones dadas por la geometría donde a = b y las
condiciones iniciales, entonces:
" (e) (e)
#
l l (e) (e)
∂Ni ∂Nj ∂Ni ∂Nj
Z Z
(e)
Kij = + abdξdη
−1 −1 a∂ξ a∂ξ b∂η b∂η
Z l Z l
(e) (e)
fi = Ni 20a2 ξdη
−1 −1

Paso 3: Las coordenadas de los nodos en el sistema de coordenadas naturales y las


expresiones de las funciones de forma en la numeración local:

Tabla 4.9: Coordenadas de los nodos

Nodos ξi ηi Ni dNi /dξ dNi /dη


1
1 -1 -1 4
(1 − ξ)(1 − η) 1/4(η − 1) 1/4(ξ − 1)
1
2 1 -1 4
(1 + ξ)(1 − η) 1/4(1 − η) 1/4(−ξ − 1)
1
3 1 1 4
(1 + ξ)(1 + η) 1/4(1 + η) 1/4(1 + ξ)
1
4 -1 1 4
(1 − ξ)(1 + η) 1/4(−η − 1) 1/4(1 − ξ)

Paso 4: La matriz de rigidez de cada elemento Kije para i=1,..., 4 y j=1,...,4 en la


numeración local es:
Sec. 4.4 Problemas de tipo continuo bidimensionales 117

 (e) (e) (e) (e) 


K11 K12 K13 K14
(e) (e) (e) (e)
(e)
 K21 K22 K23 K24 
K =
 
(e) (e) (e) (e) 
 K31 K32 K33 K34 
(e) (e) (e) (e)
K41 K42 K43 K44
debido a la simetría se puede verificar que:
(e) (e) (e) (e) (e) (e)
K12 = K21 K13 = K31 K14 = K41
(e) (e) (e) (e) (e) (e)
K23 = K32 K24 = K42 K34 = K43
entonces para a = b = 1:
• si i=1, j=1
" #
Z l Z l (e) (e) (e) (e)
(e) ∂N1 ∂N1 ∂N1 ∂N1
K11 = + dξdη
−1 −1 ∂ξ ∂ξ ∂η ∂η

reemplazando la derivadas de las funciones de forma:


(e) R l R l 1 1 1 1

K11 = −1 −1 4
(η − 1) 4
(η − 1) + 4
(ξ − 1) 4
(ξ − 1) dξdη

(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 ∂ξ ∂ξ ∂η ∂η

reemplazando la derivadas de las funciones de forma:


(e) R l R l 1
(η − 1) 41 (1 − η) + 14 (ξ − 1) 14 (−ξ − 1) dξdη

K12 = −1 −1 4

(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

reemplazando la derivadas de las funciones de forma:

(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 ∂ξ ∂ξ ∂η ∂η

reemplazando la derivadas de las funciones de forma:

(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 ∂ξ ∂ξ ∂η ∂η

reemplazando la derivadas de las funciones de forma:

(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 ∂ξ ∂ξ ∂η ∂η

reemplazando la derivadas de las funciones de forma:

(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 

−1/6 −1/6 −1/6 2/3


asociando la forma de la matriz de rigidez de cada elemento en la numeración
local y global:
◦ Elemento 1:
 (1) (1) (1) (1)
 1 4 5 2
K11 K12 K13 K14  
 (1) (1) (1) (1)  1 K11 K14 K15 K12
 K21 K22 K23 K24 
K(1) =
 K (1) (1) (1) (1)
 = 4 
 K41 K44 K45 K42 

31 K32 K33 K34   

(1) (1) (1) (1)
 5  K51 K54 K55 K52 
K41 K42 K43 K44
2 K21 K24 K25 K22

◦ 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

ahora ensamblado la contribución inter elemental


1 2 3 4 5 6 7 8
(1) (1) (1)
 (1) K14 0 K12 K13 0 0 0 
1 K11
 

(1) (2) (2) (1) (1) (2) (2)


(1) K44 + K11 K24 K42 K43 + K12 K13 0 0 
2  K41
 

 
(2)
 
 (2) (2) 0 K42 (2) 0 0 
3 
 0 K41 K44 K43 

 

(1) (3) (2) (2) (2) (3) 
4

 (1) (1) 0 K22 + K11 K23 + K14 0 K12 K13 

 K K24
21

 
 

(2) (1) (3) (1) (2) (3) (2) (2) (3) 
5  (1) (1) (2) K24 K32 + K41 K33 + K22 + K44 K23 K42 K43 
 K31 K34 + K21
 

 
 
6  (2) 0 (2) (2) 0 0 
0 (2) K34 K32 K33
K31
 
 
 
7

(3) (2) (3) 

0 0 K21 (3) 0 K22 K23 
0 K24
 
 
 
8 (2) (3)
0 0 (3) (3) 0 K32 K33
0 K31 K34
Sec. 4.4 Problemas de tipo continuo bidimensionales 121

Paso 5: El vector de fuerzas correspondiente a cada elemento fie para i = 1, ..., 4 en


la numeración local es:
 (e) 
f1
(e)
 f2 
f (e) = 
 
(e) 
 f3 
(e)
f4
• Para i = 1
Z l Z l
(e) (e)
f1 = N1 20a2 ξdη
−1 −1
reemplazando la función de forma en el nodo 1 del elemento (e) y con a=1
Z l Z l
(e) 1
f1 = (1 − ξ)(1 − η)20dξdη
−1 −1 4
integrando

(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

ahora ensamblando la contribución inter elemental


 (1)

1 f1
(1) (2)
f2 + f1
 
2  
(2)
 
3 
 f4 

(1) (3)
4 
 f2 + f1 

 (1) (2) (2) 
5  f3 + f2 + f4 
 (2)

6 
 f3 

(3)
7 
 f2


(3)
8 f3
Sec. 4.4 Problemas de tipo continuo bidimensionales 123

Paso 6: Reemplazando los valores prescritos, el vector de incógnitas nodales es:


   
T1 0

 T2 


 0 

T3 0
   
   
   
 T4   0 
T=   =  

 T5 


 T5 

T6 T6
   
   
   
 T7   0 
T8 T8
Paso 7: Se reemplazan los valores obtenidos de kij y fi en la matriz de rigidez y vector
de fuerzas para resolver

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

Figura 4.14: Discretización mediante elementos triangulares de tres nodos

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:

Tabla 4.10: Conectividades de los elementos en la numeración local y global

Elemento Num. Local Num. Global


1 11 , 21 , 31 1, 2, 5
2 12 , 22 , 32 2, 3, 6
4 13 , 23 , 33 2, 6, 5

Paso 6: Se construye la tabla (archivo) de coordenadas iniciales de nodos:


Sec. 4.4 Problemas de tipo continuo bidimensionales 125

Tabla 4.11: Coordenadas de los nodos

Nodo Coordenada x Coordenada y


1 0 0
2 5 0
3 10 0
5 5 5
6 10 5

Etapa 2 Proceso:

Paso 1: Los términos de K y f de cada elemento se obtienen reemplazando las con-


diciones iniciales y de contorno en las expresiones 3.51 y 3.52 respectivamente:
" (e) (e)
#
(e) (e)
∂Nj ∂Nj
Z Z
(e) ∂Ni ∂Ni
Kij = kx + ky dΩ
Ω(e) ∂x ∂x ∂y ∂y
Z Z
(e) (e)
fi = Ni QdΩ
Ω(e)
Paso 2: Para obtener Kij se utiliza la ecuación 3.67 teniendo en cuenta que kx =
ky = 1. Calculando los valores de bi , ci , y Ae :

(e) (e) (e)


bi = yj − yk
(e) (e) (e)
ci = xk − xj

Permutando i, j, k cíclicamente se pueden hallar las expresiones de cada uno de los


parámetros. En la numeración local se obtiene:

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

Asociando la forma de la matriz de rigidez de cada elemento en la numeración


local y global:
• Elemento 1:
 (1) (1) (1)  1 2 5
K11 K12 K13  
(1) (1) (1) 1 K11 K12 K15
K(1) =  K21 K22 K23 =
 

2  K21 K22 K25 
 
(1) (1) (1)
K31 K32 K33
5 K51 K52 K55

• 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

Paso 5: El vector de fuerzas correspondiente a cada elemento fie para i=1,..., 3 en la


numeración local es:
 (e)   
f1 1
(e)  (e)  QA(e)  
fQ =  f2  =  1 
(e) 3
f3 1

Asociando la forma del vector de fuerzas de cada elemento en la numeración local


y global:
• Elemento 1:   (1)
  (1)
f1 1 f1
=  f2(1) 
 (1) 
f (1) = 2  f2
 

(1) (1)
f3 5 f5

• Elemento 2:  (2)   (2) 


f1 2 f2
 (2)   (2) 
f (2) =  f2  = 3  f3 
(2) (2)
f3 6 f6

• Elemento 4:  (3)   (3) 


f1 2 f2
 (3)   (3) 
f (4) =  f2  = 6  f6 
(3) (3)
f3 5 f5

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 7: Se reemplazan los valores obtenidos de kij y fi en la matriz de rigidez y vector


de fuerzas para resolver
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 , 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

PROGRAMACIÓN DEL MEF USANDO


MATLAB

5.1. Introducción

MATLAB es el nombre abreviado de MATrix LABoratory, es un software comercial y una


marca registrada de The MathWorks, Inc., EE.UU.. El software dispone de un código básico de
programación, de varias librerías especializadas (toolboxes) e incluye interfaces gráficas. En el
anexo A.3 se presenta un resumen de los elementos básicos necesarios de MATLAB, su revisión
puede facilitar la comprensión de los programas desarrollados.

5.2. Programación del método de elementos finitos

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.

En forma general cada etapa esta constituida por:

1. Preproceso:

Asignación del número de nodos y elementos

129
130 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB

Definición de las coordenadas de los nodos


Asignación de las conectividades del sistema
Visualización del mallado de la geometría
Definición de las propiedades físicas y geométricas de los elementos.
Identificación de las restricciones y cargas
2. Proceso:
Generación de la matriz de rigidez local y global
Generación de la matriz de rigidez global reducida
Vector de fuerzas
Solución del sistema de ecuaciones
Determinación de incógnitas nodales
3. Post proceso
Determinación de reacciones
Tablas de resultados
Gráfica de resultados
Otros.

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

En el sistema de tres barras mostrado en la figura 5.1, se requiere determinar el desplaza-


miento de los puntos 3 y 4 debido a la acción de la fuerza F, y las reacciones en los nodos
1 y 2. Las barras tienen área A y módulo de elasticidad E.

Figura 5.1: Problema de barras

Descripción del Preproceso, modelo 1:


Se inicia identificando el problema a resolver también puede agregarse el autor y el nombre
del archivo en MATLAB
132 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB

Limpieza de la memoria de variables


clear all
Se requieren las propiedades físicas y geométricas tales como el módulo de Young (MPa),
el área de la sección transversal (m2 )y la longitud de cada elemento. Las magnitudes son
introducidas en forma de vector
mYoung_e=input(’Módulo de Young de cada elemento del sistema, [a,b,...]=’)
[20 20 15]
Area_e=input(’Área de cada elemento del sistema, [a,b,...]=’)
[1.5 1.5 2]
Long_e=input(’Longitud de cada elemento del sistema, [a,b,...]=’)
[10 10 8]
El usuario deberá introducir el número total de nodos como una variable entera cuando
aparece en pantalla:Número total de nodos del sistema=, y el valor es asignado a la variable
TotalNodos
TotalNodos=input(’Número total de nodos del sistema=’)
4
En la variable MatrizConectElemen se almacena la matriz que contiene los nodos que
definen cada elemento por filas
MatrizConectElemen=input(’Matriz de conectividades de cada elemento=’)
[1 3; 2 3; 3 4]
Para visualizar los valores asignados a una variable, por ejemplo MatrizConectElemen,
la sentencia anterior puede modificarse por: MatrizConectElemen=input(’ Vector de co-
nectividades de cada elemento =’,’s’) entonces será necesario transformar de variables tipo
string a variables tipo numéricas mediante la sentencia MatrizConectElemen = str2num(MatrizNodos)
Ahora es posible realizar el cálculo del número total de elementos del sistema mediante la
función size la cual determina el número de filas de MatrizNodos
TotalElementos=size(MatrizConectElemen,1)
3
Se inicializan las variables a calcular: el vector de desplazamientos de los nodos, el vector
de fuerza de cada nodo y la matriz de rigidez del sistema utilizando la function zeros:
Desplazamientos=zeros(TotalNodos,1)
VectorFuerza=zeros(TotalNodos,1)
MatrizRigidez=zeros(TotalNodos)
Sec. A.3 Programación del Método de Elementos Finitos 133
 
    0 0 0 0
0 0  0 0 0 0 
Desplazamientos= 0 ; VectorFuerza= 0 ; MatrizRigidez=
     

 0 0 0 0 
0 0
0 0 0 0
Se identifica el nodo en que se aplica una fuerza
FuerzaNodo=input(’Nodo en que se aplica una fuerza=’)

Se asigna la magnitud de la fuerza aplicada a la variable ValorFuerzaNodo y luego se


introduce en el vector de fuerzas:
ValorFuerzaNodo=input(’Magnitud de la fuerza=’)

100

VectorFuerza(FuerzaNodo)=ValorFuerzaNodo

VectorFuerza(3)=100

Finalmente se identifican los nodos con desplazamientos conocidos o prescritos y se intro-


ducen como un vector
GLPrescritos = input(’ Nodos con desplazamientos conocidos, [a,b,...] = ’);

GLPrescritos=[1 4]

Descripción del Proceso, modelo 1:


Inicio de un ciclo para cada elemento
for i=1:TotalElementos
Proceso Calculo de la rigidez del elemento
RigElem(i)=mYoung_e(i).*AreaE(i)./Long_(i)
Calculo de la matriz de rigidez mediante el ensamblaje de las matrices de los elementos
GLElemento=VectorNodos(i,:)
MatrizRigidez ( GLElemento, GLElemento ) = MatrizRigidez ( GLElemento, GLElemen-
to ) + RigElem(i) * [1-1;-1 1]
Finaliza el ciclo
end
i=1:  
3 −3 0 0
 −3 3 0 0 
K_e(1) =[3 0 0]; GLElem =[1 2]; MatrizRigidez=
 

 0 0 0 0 
0 0 0 0
i=2:
134 Cap. 5 PROGRAMACIÓN DEL MEF USANDO MATLAB

 
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

La imposición de las condiciones de contorno (nodos con desplazamientos conocidos o pres-


critos) permite reducir el sistema de ecuaciones K u=f. Utilizando el comando setdiff(A,B),
cuando A y B son vectores se obtienen los valores de A que no están contenidos en B
GLlibres=setdiff([1:TotalNodos],[GLPrescritos])
GLlibres = [2 3]
se resuelve el sistema de ecuaciones K u = F, utilizando la instrucción de MATLAB u=K
\F
Desplazamientos1=MatrizRigidez(GLlibres,GLlibres) \ VectorFuerza(GLlibres)
" # " #
6.0000 −3.0000 0
MatrizRigidez= ; VectorFuerza=
−3.0000 6.7500 100

Localizando todos los deplazamientos


Desplazamientos = zeros(TotalNodos,1)
Desplazamientos(GLlibres)=Desplazamientos1
 
0
 9.5238 
Desplazamientos1=
 

 19.0476 
0

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

En el sistema de tres elementos mostrado en la figura 5.2, se requiere determinar el des-


plazamiento de los puntos 2 y 3 debido a la acción de la fuerza F, y las reacciones en los
nodos 1 y 2. Las barras tienen área A y módulo de elasticidad E.

Figura 5.2: Problema de barras

Descripción del Preproceso, modelo 2:


Se inicia identificando el problema a resolver, el nombre del archivo en MATLAB o cual-
quier otra información que se requiera
% PREPROCESO

Limpieza de la memoria de variables mediante


clear all

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);

0 0.3333 0.6667 1.0000


Posteriormente utilizando el comando size se determina el total de columnas en Vector-
CoordNodos y este valor corresponde con el número de nodos totales.
TotalNodos=size(VectorCoordNodos,2);

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);

Descripción del programa Proceso, modelo 2 :


Inicia un bucle sobre el número de elementos, entonces para cada fila de la matriz Ma-
trizConectElemen identifica los elementos de la fila los cuales corresponden con las co-
nectividades o nodos que definen al elemento y haciendo la diferencia de las coordenadas
Sec. A.3 Programación del Método de Elementos Finitos 139

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

Figura 5.3: Problema de barras

Para la configuración mostrada en la figura 5.3, considere L=1m, E=207.0e09 N/m2 y


barras de área A=0.001 m2 sometidas a cargas R2 x = 100000N , R2 y = 300000N
Descripción del Preproceso, modelo 3:
La asignación de variables físicas y geométricas del problema se realiza en las líneas de
programa.
mYoung_e=207.0e09 N/m2 ;
Area_e=0.001 m2 ;
L_e=1m;
K_e= mYoung_e*Area_e;

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);

Inicialización de vectores y matrices de cálculo


GLNodo=2 TotalGL=GLNodo*TotalNodos;
MatrizRigidez=zeros(TotalGL);
Sec. A.3 Programación del Método de Elementos Finitos 143

VectorDesplazamientos=zeros(TotalGL,1);
VectorFuerzas=zeros(TotalGL,1);
Fuerza(3)=100000.0;
Fuerza(4)=300000.0;

Descripción del Proceso, modelo 3 :

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

Figura 5.4: Problema de barras

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

gulares, como parte del preproceso.


Programa modelo 4.1: Generación de una malla de elementos rectangulares

% Código MATLAB generación del mallado con elementos rRectangulares


% O. Roa, 2012 : prob4.m
function [CoordNodos,MatrizConectElemen, TotalElem,TotalNodos]= ...
Mallarectangular(lx,ly,TotalElemx,TotalElemy)
longx_e=lx/TotalElemx;
longy_e=ly/TotalElemy;
coordx=linspace(0,longx_e,TotalElemx+1);
coordy=linspace(0,longy_e,TotalElemy+1);
x=0:longx_e:lx;y=0:longy_e:ly;
[xx,yy]=meshgrid(x,y);
z=xx.*0;
mesh(xx,yy,z);
k=0;
for i=1:size(xx,1)
for j=1:size(xx,2)
k=k+1;
CoordNodos(k,1)=xx(i,j);
CoordNodos(k,2)=yy(i,j);
end
end
TotalNodos=k;
k=0;
p=1;
MatrizConectElemen=zeros(TotalElemx*TotalElemy,4);
for j=0:(TotalElemy-1)
for i=(p):((j+1)*TotalElemx+j)
k=k+1;
MatrizConectElemen(k,1)=i;
MatrizConectElemen(k,2)=i+1;
MatrizConectElemen(k,3)=i+TotalElemx+2;
MatrizConectElemen(k,4)=i+TotalElemx+1;
end
p=p+TotalElemx+1;
end
TotalElem=k;

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)

Dividiendo la longitud de la geometría entre el número de elementos en cada dirección se


obtiene la longitud de cada elemento, luego utilizando el comando linspace de MATLAB
se obtienen las coordenadas en cada nodo.
longx_e=lx/TotalElemx;
longy_e=ly/TotalElemy;
coordx=linspace(0,longx_e,TotalElemx+1);
coordy=linspace(0,longy_e,TotalElemy+1);
k=0;
for i=1:size(xx,1)
for j=1:size(xx,2)
k=k+1;
CoordNodos(k,1)=xx(i,j);
CoordNodos(k,2)=yy(i,j);
end
end
TotalNodos=k;

Utilizando la función mesh se genera la gráfica de la malla en la condición inicial


x=0 : longx_e : lx; y=0 : longy_e : ly;
[xx,yy]=meshgrid(x,y);
z=xx.*0;
mesh(xx,yy,z);

Se construye la matriz de conectividades de cada elemento recorriéndolo en sentido an-


tihorario. k=0;
p=1;
MatrizConectElemen=zeros(TotalElemx*TotalElemy,4);
for j=0:(TotalElemy-1)
for i=(p):((j+1)*TotalElemx+j)
k=k+1;
MatrizConectElemen(k,1)=i;
MatrizConectElemen(k,2)=i+1;
MatrizConectElemen(k,3)=i+TotalElemx+2;
Sec. A.3 Programación del Método de Elementos Finitos 147

MatrizConectElemen(k,4)=i+TotalElemx+1;
end
p=p+TotalElemx+1;
end
TotalElem=k;

Programa modelo 4.2: Puntos de integración mediante Gauss-Legendre, (En el anexo


A.2 se presenta el desarrollo teórico del método de Gauss-Legendre)

Function modelo 4.2: Puntos de integración de Gauss-Legendre

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.3: Funciones de formas para un elemento rectangular de cuatro


nodos
Programa modelo 4.3: Funciones de forma y sus derivadas

function [FuncionesForma, DerivadasNaturales] = FuncionesForma(xi,eta,NumNodos)


% xi, eta: (-1 ... +1)
FuncionesForma=1/4*[ (1-xi)*(1-eta); (1+xi)*(1-eta); (1+xi)*(1+eta); (1-xi)*(1+eta)];
DerivadasNaturales=1/4*[-(1-eta), -(1-xi); 1-eta, -(1+xi); 1+eta, 1+xi; -(1+eta), 1-xi];
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.

A.1. Algebra matricial

Definición A.1.1 Producto de matrices


Si A es una matriz de orden (n × m) y B es una matriz de orden (m × p), se define el producto
matricial de A ∗ B como una nueva matriz C de orden (n × p), en donde sus elementos cij
vienen definidos por:
m
X
(cij ) = aik bkj = ai1 b1j + ai2 b2j + ai3 b3j + · · · + aim bmj
k=1

para cada i = 1, 2, · · · , n y j = 1, 2, · · · , m.

149
150 Cap. A ANEXOS

Definición A.1.2 Matriz transpuesta


Dada la matriz A = (aij ) de orden (n × m), la matriz transpuesta de A es At = (aji ), donde
para cada i, la i-ésima columna de At es la misma que la i-ésima fila de A. El calcular una
matriz transpuesta consiste en el intercambio de filas por columnas.

Definición A.1.3 Matriz diagonal


Es una matriz D con la propiedad de que sus elementos (dij ) son iguales a cero siempre que
i 6= j.

 
d11
d22
 
 
D = (dij ) = 
 ...


 
dnn

Definición A.1.4 Matriz simétrica


Es una matriz S con la propiedad de que sus elementos (sij ) = (sji ) o S = S t siempre que
i 6= j.

Definición A.1.5 Matriz triangular superior, U de orden (n × n)


Es aquella que tiene los elementos (Uij ) = 0 definidos para cada j = 1, . . . , n y para cada
i = j + 1, j + 2, . . . , n

 
U11 U12 · · · U1n
U22 · · · U2n
 
 
U = ... .. 
.
 
 
Unn

Definición A.1.6 Matriz triangular inferior, L


Es aquella que tiene los elementos (Lij ) = 0 para cada j = 1, 2, . . . , n y para cada i = 1, 2, ..., j −
1.
 
L11
L21 L22
 
 
L= .. .. ..


 . . . 

Ln1 Ln2 · · · Lnn
Sec. A.1 ALGEBRA MATRICIAL, ASPECTOS COMPUTACIONALES matricial 151

Definición A.1.7 Determinante de una matriz


El determinante de una matriz cuadrada A de (n × n) es una cantidad escalar que se denota por
det(A) o usando la notación |A|. Mediante el determinante de una matriz se puede determinar
la existencia y la unicidad de los sistemas de ecuaciones lineales.

Si A = (aij ) es una matriz de orden (1 × 1), se puede definir det(A) = a.


Si A = (aij ) es una matriz de orden (n × n) con n = 2, se puede definir det(A) como el
menor complementario Mij , es decir:
" #
a b
det(A) = Mij = = ad − bc
c d

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

Definición A.1.8 Matriz no singular


Una matriz A de orden (n × n) se define como no singular, si existe una matriz A−1 de orden
(n × n) con la propiedad AA−1 =A−1 A=I. La matriz A−1 se le define como la inversa de A.

Definición A.1.9 Matriz singular


Una matriz A de orden (n × n) se define como singular si no posee inversa.
152 Cap. A ANEXOS

Definición A.1.10 Inversa de una matriz


Para una matriz cuadrada y no singular, es decir, (det(A)) 6= 0, la inversa de A se obtiene de
la siguiente forma:

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

La inversa de A se define por A−1 = 1


det(A)
∗ Ctij

La inversa de la matriz permite obtener la solución de sistemas de ecuaciones pero obtener la


inversa de una matriz es un proceso de alto costo computacional y muy laborioso de programar,
motivo por el cual se utilizan los diferentes métodos numéricos para la resolución de sistemas
de ecuaciones y cuyo desarrollo se presenta en la siguiente sección.

Definición A.1.11 Derivación e integración de una matriz


Si la matriz A esta expresada como una función del tiempo t, A(t) = [aij (t)] entonces:

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]

A.1.1. Sistemas de ecuaciones

En esta sección se presentan algunos métodos numéricos de solución de sistemas de ecuaciones


lineales y sus respectivos algoritmos para obtener la solución.

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.

1. Métodos de eliminación Gaussiana (método exacto)


Cuando se trabaja con sistemas de ecuaciones lineales de la forma Ax = b de orden (n×n)
Sec. A.1 ALGEBRA MATRICIAL, ASPECTOS COMPUTACIONALES matricial 153

definido de la siguiente manera:

E1 : a11 x1 + a12 x2 + · · · · · · + a1n xn = b1 = a1,n+1


E2 : a21 x1 + a22 x2 + · · · · · · + a2n xn = b2 = a2,n+1
.. ..
. .
En : an1 x1 + an2 x2 + · · · · · · + ann xn = bn = an,n+1
(A.1)

Se permiten tres tipos básicos de operaciones:


Escalado: la ecuación Ej puede ser multiplicada por cualquier constante λ 6= 0 que
transforme la ecuación λEj en Ej . Esta operación se denota por (λEj ) → (Ej )
Sustitución: la ecuación Ej puede ser multiplicada por cualquier constante λ y sumada
a la ecuación Ei para obtener la nueva ecuación Ei . Esta operación se denota por
(Ei + λEj ) → (Ei )
Intercambio: la ecuación Ei y la ecuación Ej pueden intercambiarse . Esta operación
se denota por (Ei ) ←→ (Ej ).
Mediante el uso de las operaciones básicas el sistema dado se transforma en un sistema
equivalente reducido llamado triangular. Si la transformación es en matriz triangular
superior, el sistema puede ser resuelto por una sustitución hacia atrás. Este método es
conocido como método de Gauss con sustitución hacia atrás. Una estrategia para
evitar que exista un cero en los términos de la diagonal principal es seleccionar la fila cuyo
elemento es aii = 0 para intercambiarla por otra. Existe también la estrategia de pivoteo,
la cual consiste en seleccionar el máximo valor de |aij | para realizar el intercambio de filas,
esta estrategia se denomina de pivoteo parcial y permite reducir la propagación del error,
existen otras estrategias de pivoteo que mejoran la precisión.
Algoritmo de Gauss con sustitución hacia atrás y pivote parcial
Se desea resolver un sistema de ecuaciones lineales Ax = b de orden (n × n) definido de
la siguiente manera: [Rodríguez, 1994]

a11 x1 + a12 x2 + · · · · · · + a1n xn = b1 = a1,n+1


a21 x1 + a22 x2 + · · · · · · + a2n xn = b2 = a2,n+1
.. ..
. .
an1 x1 + an2 x2 + · · · · · · + ann xn = bn = an,n+1
aij
para ello se definen los aii como pivotes y los multiplicadores mij = aii
, y se siguen los
siguientes pasos:
154 Cap. A ANEXOS

Paso 1: Haga i = 1
Paso 2: Sea p el primer entero i ≤ p ≤ n con:

|api | = máx |aji |


i≤j≤n

Paso 3: Si |api | = 0 el sistema de ecuaciones no tiene solución única


y el procedimiento se para.
Si |api | =
6 0, realice la operación (Ep ) ←→ (Ei )
Paso 4: Hacer j = i + 1, i + 2, · · · , n
aji
Sea mji = aii
y efectúe las operaciones (Ej − mji Ei ) −→ Ej
Paso 5: Hacer i = i + 1
Paso 6: Si i < n vaya al paso 2
Si i = n vaya al paso 7
Paso 7: Si ann = 0 el sistema no tiene solución única y el procedimiento
se para.
Si ann 6= 0,vaya al paso 8
Paso 8: Realice la operación:
an,n+1
xn =
ann
Paso 9: Hacer i = n − 1, n − 2, · · · , 1
n
1 X
xi = {ai,n+1 − ai,j xj }
aii j=i+1

Paso 10: Termina el proceso


2. Algoritmo de Gauss Seidel (método iterativo)
Se desea resolver un sistema de ecuaciones lineales Ax = b de orden n × n definido de la
siguiente manera: [Rodríguez, 1994]

a11 x1 + a12 x2 + · · · · · · + a1n xn = b1 = a1,n+1


a21 x1 + a22 x2 + · · · · · · + a2n xn = b2 = a2,n+1
.. ..
. .
an1 x1 + an2 x2 + · · · · · · + ann xn = bn = an,n+1

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

A.1.2. Generalidades sobre memoria, dimensionamiento y esquemas de almace-


namiento de matrices

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.

Cuando se emplean variables con subíndices (vectores y matrices) es necesario proporcionar la


información sobre cuantos subíndices tiene cada variable y cual es el rango de valores de cada
subíndice. El límite inferior de los subíndices es un entero negativo, nulo o positivo; su valor
por defecto es uno. El límite superior debe ser siempre igual o superior al límite inferior, por
ejemplo para mat(i,j) se tiene mat(0:100 , -6:2), y para vec(j) se tiene vec(18:90 ).

En el producto de dos matrices An×m y Bm×p , que se obtiene al usar cij = m


P
k=1 aik bkj , debe
tenerse en cuenta que AB 6= BA. El siguiente algoritmo se emplea para obtener el producto
(C) de dos matrices.

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.

La programación estructurada es frecuente al programar cuando se agrupan y sistematizan


grupos de sentencias que realizan una tarea en concreto, por ejemplo calcular un área, un mó-
dulo, un producto de matrices, entre otros. Si en la programación del código existen tareas
Sec. A.1 ALGEBRA MATRICIAL, ASPECTOS COMPUTACIONALES matricial 157

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.

Adicionalmente existen diferentes tipos de memoria desde el punto de vista de hardware, la


memoria RAM y la memoria CACHE. En la RAM residen los datos, los programas que ejecuta
el usuario y parte del sistema operativo. La memoria CACHE es la que almacena los datos
antes de que los utilice el CPU. Debido a que la memoria pasa la información entre CACHE
- CPU, RAM - DISCO se pueden presentar aciertos y fallos. Los fallos producen costos en el
manejo de la memoria y tiempo de CPU, por lo tanto debe tenerse en cuenta en el desarrollo
de códigos, que los datos a emplear consecutivamente estén en posiciones de memoria lo mas
cercanos posibles. El objetivo es almacenar consecutivamente dejando las posiciones de memoria
inutilizadas al final del espacio reservad, .

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:

Si el orden de la matriz es dim=6x6 y para el vector es dim=6 y el valor máximo permitido


es (dim max=50), entonces se define a (na) como el puntero de la matriz definida como a de
(6 × 6), (nb) como el puntero del vector definido como b de (6 × 1), (nc) es el puntero del vector
definido como c de (6 × 1). La secuencia de los punteros seguirá el orden na, nb, nc.
158 Cap. A ANEXOS

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.

Algoritmo de resolución de la matriz triangular inferior y sustitución hacia delante:

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

Paso 4: Termina el proceso

Programación 1:

x(1)= a(1,n+1) / a(1,1)


do i=2,dim
x(i) =a(i,n+1)
do j=1, i-1
x(i) =x(i) - a(i,j)*x(j)
end do
x(i) =a(i,n+1) / a(i,i)
end do
por lo tanto, el orden en que se accede a los coeficientes de A es

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

El acceso a los elementos de la matriz triangular inferior es de forma secuencial.

Programación 2: do i=1, dim


x(i) =a(i,n+1)
160 Cap. A ANEXOS

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.

En los dos casos anteriores el almacenamiento de ceros no es conveniente y esto se aprecia al


incrementar el orden de la matriz.

Existen diferentes tipos de matrices, según la distribución de sus elementos no nulos:

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.

1. Almacenamiento de matrices llenas en un vector: por columnas y por filas.


Sec. A.1 ALGEBRA MATRICIAL, ASPECTOS COMPUTACIONALES matricial 161

Si la matriz A de orden (m × n) se almacena en C por columnas desde [a11 · · · aij · · · amn ],


es decir:
A = [a11 , a21 , a31 , a12 , a22 , a32 , a13 , a23 , a33 , a14 , a24 , a34 ]
el vector equivalente C, que va desde [c11 · · · ck · · · cnm ] es:
C = [c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 ]
un elemento aij se almacena en un elemento ck , si la posición k se obtiene de la siguiente
forma: k = (j − 1) ∗ m + i
Si la matriz A de orden (m × n) se almacena en F por filas [a11 · · · aij · · · amn ], es decir:
A = [a11 , a12 , a13 , a14 , a21 , a22 , a23 , a24 , a31 , a32 , a33 , a34 ]
el vector equivalente F que va desde [f11 · · · fk · · · fmn ] es:
F = [f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 , f10 , f11 , f12 ]
un elemento aij , se almacena en un elemento fk , si la posición k se obtiene de la siguiente
forma: k = (i − 1) ∗ n + j
2. Matrices simétricas y matrices triangulares
El almacenamiento de matrices triangulares inferiores o superiores se utiliza también para
almacenar matrices simétricas, de orden (n × n).
Si la matriz es triangular inferior se realiza el almacenamiento por filas y para la matriz
triangular superior es usual el almacenamiento por columnas, evitando el almacenamiento
de ceros. El vector fila y columna en cada caso es:
Elementos de la matriz A siguiendo el orden que imponen las filas que va desde [a11 · · · aij · · · ann ],
es decir:
A = [a11 , a21 , a22 , a31 , a32 , a33 , a41 , a42 , a43 , a44 ]
el vector equivalente C que va desde [f1 · · · fk · · · f n(n+1) ], es decir:
2
F = [f1 , f2 , f3 , f4 , f5 , f6 , f7 , f8 , f9 , f10 ]
un elemento aij , se almacena en un elemento fk , si la posición k se obtiene de la siguiente
forma: k = i(i−1)
2
+ j, para j ≤ i
Elementos de la matriz A siguiendo el orden que imponen las columnas, es decir:
a11 , a21 , a31 , a41 , a22 , a32 , a42 , a33 , a43 , a44
el vector equivalente C que va desde [c1 · · · ck · · · c n(n+1) ], es decir:
2
C = [c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 ]
un elemento aij , se almacena en un elemento ck , si la posición k se obtiene de la siguiente
forma: k = j(j−1)
2
+ i para i ≤ j
3. Matrices en banda
Para definir a una matriz en banda se considera el semi ancho inferior l y semi ancho
superior u, tal que todos los elementos de B por debajo de la sub diagonal l son nulos (
162 Cap. A ANEXOS

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

Figura A.2: Tipos de matrices dispersas.

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.

A.2. Integración numérica: método de Gauss-Legendre

El método de integración o cuadratura de Gauss-Legendre disminuye el error en la integración


basándose en el cambio de localización de los puntos sobre la curva, tal como se indica en la
figura A.3. El método fue elaborado a partir del método trapezoidal, pero en lugar de considerar
los dos puntos extremos A y B del intervalo, se escogen dos puntos interiores C y D. Se traza
una línea recta por los puntos C,D que se extiende hasta los extremos del intervalo A,B y se
forma el trapezoide sombreado. Parte de éste queda por encima y parte por debajo de la curva.
Al escoger adecuadamente los puntos C y D, las dos zonas son iguales, de modo que el área del
trapezoide será igual al área bajo la curva; el cálculo del área del trapezoide resultante da el
valor de la integral exacta, [Rodríguez and Roa, 2012].

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.

Utilizando el método de coeficientes indeterminados es posible obtener los coeficientes o pesos


de integración y los puntos o nodos de integración. En consecuencia una vez determinados los
valores de los pesos c0 y c1 y los nodos de integración x0 y x1 es posible obtener la integral
Rb
I = a f (x)dx = ni=0 ci f (xi )
P
164 Cap. A ANEXOS

Figura A.3: Integración numérica: Gauss-Legendre

Considere la ecuación de la cuadratura del trapecio, con h = b − a.


Z b
h
I= f (x)dx = (fa + fb ) = c0 fa + c1 fb (A.2)
a 2

Reemplazando los límites de integración a y b por − b−a 2


y b−a
2
respectivamente, los cuales son
simétricos respecto al origen de coordenadas:
Z (b−a)/2
I= f (x) dx
−(b−a)/2

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:

Si f (x) = 1 entonces f (− (b−a)


2
) = f ( (b−a)
2
)=1

(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)

Si f (x) = x entonces f ( −(b−a)


2
)= −(b−a)
2
f ( (b−a)
2
)= (b−a)
2

(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

resolviendo el sistema c0 = c1 = b−a


2
, comparando con la ecuación (A.2) se verifica la equivalen-
cia a la regla del trapecio. Sin embargo la regla del trapecio utiliza extremos fijos a y b (figura
A.3(b)).

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 .

Se tienen por lo tanto 4 incógnitas (c0 , c1 , x0 , x1 ), y para determinarlas se utiliza el mismo


razonamiento anterior. Planteando 4 condiciones y asumiendo que la regla del trapecio da
soluciones exactas al integrar f (x) = 1, f (x) = x, f (x) = x2 y f (x) = x3 , en cada caso se
definen los límites de integración como -1 y 1 por simplificación y generalización del cálculo de
las integrales.

Utilizando el método de los coeficientes indeterminados para evaluar a la integral de f (x) se


tiene: Z 1
I2 = f (x)dx ≈ c0 f (x0 ) + c1 f (x1 ) (A.5)
−1
166 Cap. A ANEXOS

Para determinar los valores de x1 , x2 , c0 y c1 , se desarrollan las siguientes integrales:


R1
1dx = c0 f (x0 ) + c1 f (x1 ) ⇒ 2 = c0 + c1
R−1
1
xdx = c0 f (x0 ) + c1 f (x1 ) ⇒ 0 = c0 x0 + c1 x1
R−1
1 (A.6)
x2 dx = c0 f (x0 ) + c1 f (x1 ) ⇒ 32 = c0 x20 + c1 x21
R−1
1
−1
x3 dx = c0 f (x0 ) + c1 f (x1 ) ⇒ 0 = c0 x30 + c1 x31
por lo tanto al resolver el sistema de ecuaciones no lineales para hallar los valores de x0 , x1 , c0
y c1 , correspondientes a los nodos y los pesos de integración respectivamente, se obtienen los
siguientes valores:
x0 = 0.5773502692, x1 = −0.5773502692, c0 = c1 = 1.0.

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

La regla de integración o cuadratura de Gauss-Legendre expresa el valor de dicha integral como


suma de los productos de los valores del integrando en una serie de puntos conocidos en el
interior del intervalo (xi ) por unos coeficientes (pesos, ci ) determinados. Es posible desarrollar
cuadraturas con mayor número de puntos (p) para lo cual deberán obtenerse los correspondien-
tes xi y ci , entonces la integral se expresa como
p
X
Ip = f (xi )ci (A.8)
i=1

La cuadratura de Gauss-Legendre de orden n integra exactamente un polinomio de grado 2n−1


o menor. Por otra parte, el error en el cálculo aproximado de una integral es de orden O(∆2n ),
donde, ∆ es la distancia entre los puntos de integración. Los polinomios de Legendre pertenecen
al grupo de polinomios ortogonales, cuyas raíces se encuentran en el intervalo (-1,1) y tienen
simetría con respecto del origen.

Cuando se tienen límites de integración a y b es posible utilizar un cambio de variable que


permita definirlos como -1 y 1 sin modificar el valor de la integral. Se define un parámetro t
que se relaciona linealmente con la variable original x:
x = a0 + a1 t (A.9)
se establece la correspondencia entre los límites de la siguiente forma: si x=a entonces t=-1 y
si x=b entonces t=1. Evaluando cada par valores de x y t en la ecuación (A.9) se obtiene el
sistema
a = a0 + a1 (1)
b = a0 + a1 (−1)
Sec. A.3 MATLAB 167

obteniendo los coeficientes a0 y a1 y reemplazandolos en (A.9) se obtiene la expresión para x y


su derivada dx
a+b b−a
x= 2
+ 2
t
(A.10)
b−a
dx = 2
dt

entonces
b 1
a+b b−a b−a
Z Z
f (x)dx = f( + t) dt (A.11)
a −1 2 2 2

ahora aplicando a (A.11) la fórmula de la cuadratura de Gauss-Legendre (A.8):

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

Cuadraturas de Gauss-Legendre: pesos y puntos de integración


168 Cap. A ANEXOS

A.3. Operaciones básicas de MATLAB

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.

Sintaxis para asignar y ver el contenido de una variable »z = 3 ←-


z=3
Sintaxis para asignar y no visualizar el contenido de una variable: »z = 3; ←-
añadir al final de la expresión un punto y coma. »

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.

Crea una variable v que hace referencia a un vector » v = [v1 v2 v3 v4 ... vn ]


fila.
Crea una variable v que hace referencia a un vector »v = [v1 ; v2 ; v3 ; ...; vn ]
columna.

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 ]

Operaciones básicas con matrices, [Nakamura, 1997]


Sec. A.3 MATLAB 169

+ A+B Suma de matrices


- A-B Resta de matrices
* A*B Multiplicación de matrices
.* A.*B Multiplicación elemento a elemento
/ A/B Division de matrices por la derecha
./ A./B División elemento a elemento
\ A\B División de matrices por la izquierda
∧ A ∧n Potenciación
.∧ A.∧n Potenciación elemento a elemento

Es importante tener en cuenta:

Al multiplicar matrices usando el símbolo ∗ de MATLAB, se efectúa el producto matricial.


Al multiplicar matrices usando el símbolo .∗ de MATLAB, se efectúa el producto término
a término de las matrices dadas.
Debe recordarse que A ∗ B 6= B ∗ A, la conmutatividad del producto de dos matrices, no
se cumple.
Debe recordarse que A. ∗ B = B. ∗ A.

Para obtener el determinate de una matriz dada A: »det(A) ←-

La inversa de una matriz dada A se obtiene al escribir: »inv(A)

MATLAB define la operación (B −1 ∗ A) como la División de matrices por la izquierda


para lo cual utiliza el operador  y la siguiente sintaxis BA
MATLAB define la operación (A ∗ B −1 ) como la División de matrices por la derecha
para lo cual utiliza el operador  y la siguiente sintaxis A/B

La matriz transpuesta se obtiene escribiendo: »A0 ←-.

La matriz identidad puede obtenerse al escribir: »eye(n);


donde n es el orden de la matriz identidad.

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.

A.3.1. Funciones predefinidas

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

de las funciones de mayor uso en este texto, [Pérez, 2002].

Tabla A.2: Resumen de instrucciones de MATLAB referidas a funciones

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 continuación se presentan algunas instrucciones de interés práctico:

» A=rand(5,4)
A=
172 Cap. A ANEXOS

0.8147 0.0975 0.1576 0.1419


0.9058 0.2785 0.9706 0.4218
0.1270 0.5469 0.9572 0.9157
0.9134 0.9575 0.4854 0.7922
0.6324 0.9649 0.8003 0.9595

» 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

A.3.2. Gráficas en MATLAB

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.

Gráficos bidimensionales (2D)

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]

FUNCIONES PARA ELABORAR GRAFICAS

—continúa ... —
174 Cap. A ANEXOS

Tabla A.3: Continuación: FUNCIONES DE GRAFICACIÓN

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

Figura A.4: Graficas de varias funciones en forma simultánea.

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.

Function, feval, eval

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.

La estructura de la programación de una function debe ser:

En la primera línea se escribe la sintaxis:


functionargumentos_salida=nombre_función(argumentos_entrada)

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.

En el siguiente ejemplo se escribe un archivo en el editor del MATLAB y se le da el nombre


ecuacion2 y los argumentos son los tres coeficientes de una ecuación de segundo grado, los
argumentos de salidas son sus dos soluciones.

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);

Una vez creado el archivo, se procede a escribir en el prompt del MATLAB


» [x1,x2]=ecuacion2(1,2,3)
x1= -1.000 + 1.4142i.
x2= -1.000 - 1.4142i.

La función feval, tiene la siguiente sintaxis:


f eval(0 F 0 , argumentos de entrada)
feval evalúa una función F (archivo: F.m) en sus parámetros de entrada, [Biran and Breiner, 1999].

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.

Operadores relacionales y lógicos

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 uso de funciones recursivas, condicionales y definidas a trozos es muy habitual en matemá-


ticas. Para la definición de este tipo de funciones es necesario el manejo de bucles o ciclos.

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:

for variable=expresión for i=1:3


comandos x(i)=0;
end end
Los comandos en su interior se separan por comas. Si algún comando define una variable,
se finaliza con punto y coma para evitar repeticiones en la salida.

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.

Programa: bucle for

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

Frente al prompt del MATLAB y se escribe:


» A=matriz(3,3)←-
y se obtiene la siguiente forma de la matriz de orden (3 × 3)
1.0000 0.5000 0.3333
A= 0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
El bucle while-end:
Esta sentencia permite ejecutar de forma repetitiva un comando o grupo de comandos,
un número determinado de veces mientras se cumple una condición lógica especificada. La
sintaxis general de este bucle y un ejemplo se presentan a continuación:
Sec. A.3 MATLAB 179

while condición r=0; while r<5


comandos r = r + 1; vol = (4/3) ∗ pi ∗ r ∧ 3; disp([r, vol])
end end
El bucle if elseif else end:
MATLAB, al igual que la mayoría de los lenguajes de programación estructurada, también
incorpora la estructura if elseif else end. Mediante esta estructura, se pueden ejecutar
secuencias de comandos si se cumplen determinadas condiciones. La sintaxis del bucle es
la siguiente:
if condición1 if n < 0
comandos1 A=’n es negativo’
elseif condición2 if n > 0
comandos2 A = ’n es positivo’
else else
comandos3 A = ’n es cero’
end end
Se ejecutan los comandos1 si la condición1 es cierta, y se ejecutan los comandos2 si la
condición1 es falsa y condición2 es cierta, en otro caso se ejecutan los comandos3 si la
condición1 y condición2 son falsas. Las sentencias if, al igual que las sentencias for, pueden
ser anidadas.
switch y case:
La instrucción switch ejecuta ciertas sentencias basadas en el valor de una variable o
expresión. Su sintaxis básica y un ejemplo son los siguientes:
switch %expresión (escalar o cadena) switch n
case valor1 case -1
sentencias disp ( ’menos uno’ );
case valor2 case 0
sentencias disp ( ’cero’ );
otherwise case wise
sentencias disp (’otro valor’);
..
.
end end
continue:
pasa el control a la iteración siguiente en un bucle for o while en el cual aparece ignorando
las restantes instrucciones en el cuerpo del bucle. A continuación se muestra el archivo
continue.m que cuenta las líneas de código en el fichero magig.m ignorando las líneas
blancas y los comentarios.
180 Cap. A ANEXOS

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:

for variable=expresión for i=1:3


comandos if x(i)=i*3, break, end
end end
return:
finaliza la secuencia actual de comandos y devuelve el control a la función invocada o al
teclado. Si se utiliza en ciclos anidados solo termina el ciclo.
Sub funciones:
Las funciones definidas mediante archivos.m pueden contener código para más de una
función. La función principal en el archivo.m se denomina función primaria, que es pre-
cisamente la función que invoca el archivo.m. Pero adicionalmente pueden haber sub
funciones formando parte de la función primaria y que sólo son visibles para dicha función
o para otra sub función dentro del mismo archivo.m. Cada sub función comienza, con su
propia línea de definición de función.
Bibliografía

[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.

You might also like