Professional Documents
Culture Documents
de los
Elementos
Finitos
Volumen 1
Formulacin bsica y problemas lineales
R.L. Taylor
Universidad de California, Berkeley
Traduccin al castellano
McGraw-Hill
MADRID BUENOS AIRES CARACAS GUATEMALA LISBOA MEXICO
NEW YOR K PANAMA SAN JUAN SANTA FE DE BOGOTA SANTIAGO SAO PAULO
AUCKLAND HANBURGO LONDRES MILAN MONTREAL NUEVA DELHI PARIS
SAN FRANCISCO SIDNEY SINGAPUR ST. LOUIS TOKIO TORONTO
CIMNE
Centro Internacional de Mtodos Numricos en Ingenera
Barcelona, Espaa
A
Nuestras Familias
NDICE
C aptulo 1
P rlog o
xvii
A gradecim ientos
xix
Lista de sm bolos
xxi
C aptulo 2
xv
Introduccin
Elementos y sistemas estructurales
Ensamblaje y anlisis de una estructura
Condiciones de contorno
Redes hidrulicas y elctricas
El proceso general
El sistema discreto general
Transformacin de coordenadas
Introduccin
Formulacin directa de las caractersticas de un
elemento finito
Generalizacin al dominio completo. Abandono del con
cepto de fuerza nodal
El mtodo de los desplazamientos como minimizacin
de la energa potencial total
Criterios de convergencia
Error de discretizacin e ndice de convergencia
Funciones de desplazamientos discontinuos entre ele
mentos. Elementos no conformes y el test de la parcela
1
1
3
9
11
12
14
16
18
21
21
23
31
33
36
37
39
2.8
2.9
2.10
2.11
40
41
42
44
T E N SI N Y D E F O R M A C I N P L A N A
47
3.1
3.2
3.3
3.4
3.5
47
48
58
61
3.6
Introduccin
Caractersticas de los elementos
Ejemplos. Estimacin de la precisin
^lgunas aplicaciones prcticas
Tratamiento particular de la deformacin plana en los
materiales incompresibles
Observacin finid
AN LISIS DE
R E V O L U C I N
4.1
4.2
4.3
4.4
4.5
4.6
TEN SIONES
EN
CUERPOS
72
72
DE
Introduccin
Caractersticas de los elementos
Algunos ejemplos de comprobacin
Aplicaciones prcticas
Cargas asimtricas
Simetra de revolucin, deformacin plana y tensin
plana
75
75
76
84
88
89
90
93
5.1
5.2
5.3
5.4
93
94
99
Introduccin
Caractersticas de los elementos tetradricos
Elementos compuestos de ocho nodos
Ejemplos y observaciones finales
N O T A C I N T E N SO R IA L EN LA A P R O X IM A
C I N DE P R O B L E M A S DE E L A S T IC ID A D
6.1
6.2
6.3
6.4
Introduccin
Notacin indicial
Derivadas y relaciones tensoriales
Materiales elsticos y discretizacin por elementos
finitos
101
107
107
107
108
111
NDICE
Captulo 7
115
Introduccin
Conceptos de elementos estndar y jerrquico
Elementos rectangulares. Algunas consideraciones pre
liminares
Polinomios completos
Elementos rectangulares. Familia de Lagrange
Elementos rectangulares. Familia serendpita
Eliminacin de variables internas antes del ensamblaje.
Subestructuras
Familia de elementos triangulares
Elementos lineales
Prismas rectangulares. Familia serendpita
Prismas rectangulares. Familia de Lagrange
Elementos tetradricos
Otros elementos tridimensionales sencillos
Polinomios jerrquicos en una dimensin
Elementos jerrquicos en dos y tres dimensiones del tipo
rectngulo o ladrillo
La familia del tringulo y el tetraedro
Aproximacin global y local por elemento finitos
Mejora del condicionamiento con formas jerrquicas
Observaciones finales
148
150
151
153
154
157
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12
7.13
7.14
7.15
7.16
7.17
7.18
7.19
Captulo 8
IX
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
Introduccin
El empleo de funciones de forma para establecer
transformaciones de coordenadas
Conformidad geomtrica de los elementos
Variacin de la funcin incgnita en el interior de
elementos curvilneos distorsionados. Condiciones de
continuidad
Clculo de las matrices de los elementos (transformacin
en las coordenadas , rj, )
Matrices del elemento. Coordenadas de rea y volumen
Convergencia de los elementos en coordenadas
curvilneas
Integracin numrica unidimensional
Integracin numrica en regiones rectangulares o
prismticas rectas
115
116
119
123
124
127
131
133
137
138
140
141
143
146
157
160
165
166
167
171
173
178
181
8.10
Captulo 0
200
203
209
215
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9
9.10
9.11
9.12
9.13
9.14
9.15
Introduccin
Equivalencia entre las ecuaciones diferenciales y las
formas integrales o dbiles
Forma dbil de la ecuacin de transmisin del calor
por conduccin con condiciones de contorno naturales
y forzadas
Aproximacin a formulaciones integrales: mtodo de
residuos ponderados (Galerkin)
Ejemplos
El principio de los trabajos virtuales como forma dbil
de las ecuaciones de equilibrio en el anlisis de slidos y
fluidos
Discretizacin parcial
Convergencia
Qu son los "principios variacionales ?
Los principios variacionales naturales y su relacin
con las ecuaciones diferenciales del problema
Establecimiento de principios variacionales naturales en
el caso de ecuaciones diferenciales lineales autoadjuntas
Mximo, mnimo o punto de ensilladura?
Principios variacionales condicionados. Multiplicadores
de Lagrange y funciones adjuntas
Principios variacionales condicionados. Funciones
penalizacin y el mtodo de los mnimos cuadrados
Observaciones finales
183
185
188
190
197
199
215
219
221
223
225
232
235
238
240
243
248
251
253
de
259
266
NDICE
Introduccin
Ecuacin cuasi-annnica general
Discretizacin en elementos finitos
Casos particulares desde el punto de vista econmico
Ejemplos. Estimaciones de la precisin
Algunas aplicaciones prcticas
Observaciones finales
Introduccin
Requisitos de convergencia
El test de la parcela simple (formas A y B)una
condicin necesaria de convergencia
11.4 Test de la parcela generalizado (test C) y test para un
elemento aislado
11.5 Test de la parcela de mayor orden
11.6 Aplicacin del test de la parcela a elementos
de elasticidad plana con cuadraturas estndar y
reducidas
11.7 Aplicacin del test de la parcela a un elemento
incomp atible
11.8 Generacin de funciones incompatibles que satisfacen el
test de la parcela
11.9 El test de la parcela dbilejemplo
11.10 Ejemplo de test de la parcela de alto ordenrobustez
11.11 Conclusin
Captulo 12 FORM ULACIN M IX T A Y RESTRICCIONES.
MTODOS DE CAM PO COMPLETO
12.1
12.2
12.3
12.4
12.5
12.6
12.7
Introduccin
Discretizacin
de
formas mixtas Algunas
observaciones generales
Estabilidad de la aproximacin mixta. El test de la
parcela.
Formulacin mixta en elasticidad
Elasticidad incompresible (o cuasi-incompresible)
Alisado de tensiones / muestreo ptimo
Integracin reducida y selectiva y su equivalencia con
problemas mixtos penalizados
XI
271
271
272
274
275
278
281
298
303
303
304
306
309
311
311
315
321
324
325
330
333
333
335
338
341
348
360
366
XII
12.8
382
389
13.1
13.2
372
377
Generalidades
Conexin a travs de fuerzas en la interfase entre dos (o
ms) subdominios con formas irreducibles
13.3 Conexin a travs de fuerzas en la interfase de dos o
ms subdominios con formis mixtas
13.4 Marco de interfase en desplazamientos
13.5 Conexin de soluciones de contorno (o tipo Trefftz)
mediante marcos de desplazamientos prescritos
13.6 Subdominios con elementos estndar y funciones
globales
13.7 Comentarios finales
410
412
415
14.1
14.2
14.3
14.4
14.5
14.6
Introduccin
Normas de error y velocidad de convergencia
Estimacin de error-un procedimiento simple y efectivo
para el refinamiento tipo h
El proceso de refinamiento h - Adaptabilidad
Estimadores de error para formulaciones jerrqui
cas. Una base para el refinamiento adaptable tipo p
Comentarios finales
389
389
392
393
405
415
416
424
439
443
447
453
453
456
468
478
486
499
512
514
NDICE
XIII
611
617
619
Apndice 4
621
623
629
631
635
ndice de autores
641
Indice temtico
647
XVI
PRLOGO
Hace ya ms de veinte aos desde que se public por primera vez The
Finite Element Method in Structural and Continuum M eckanics. Este libro,
que fue el primero en tratar el mtodo de los elementos finitos, sirvi de base
para muchos desarrollos posteriores. La expansin de la investigacin y el
cam po de aplicacin de los elementos finitos llev a la segunda edicin en
1971 y a la tercera en 1977. El tamao de cada uno de estos volmenes
creci geomtricamente (de 272 pginas en 1967, 521 pginas en 1971, a
787 pginas en 1977). Esto fue necesario para hacerle justicia a un cam po
de aplicacin profesional e investigacin en rpida expansin. An as, fue
preciso filtrar los contenidos de la tercera edicin para mantenerla dentro de
lmites razonables.
C om o, en esencia, los temas publicados en la tercera edicin son todava
vlidos hoy, y esto constituye un libro de texto y de referencia til y
ampliamente utilizando, hemos decidido publicar una versin extendida en
dos volmenes. Estos mantienen en la medida de lo posible los contenidos
de la tercera edicin y aaden o reinterpretan temas que han adquirido hoy
una im portancia adicional.
La divisin de los contenidos entre los dos volmenes sigue los fines
pedaggicos para los que puede utilizarse el libro, bien para estudio personal,
tal com o pensamos que ser ampliamente empleado por los ingenieros, o
bien en cursos universitarios para ingenieros y fsicos. Por tanto, el primer
volumen se dedica a los conceptos bsicos de aproximacin por elementos
finitos y a clculos sencillos, lineales y estticos, que incluso hoy constituyen
la mayor parte del uso de los elementos finitos.
Hemos relegado al segundo volumen todos los problemas de dinmica,
de tcnicas de solucin no-lineales, y ciertamente, los problemas lineales de
placas y lminas que introducen dificultades especiales y donde todava se
debaten las tcnicas ptimas.
Los contenidos del primer volumen estn ligeramente reordenados
respecto a los de la tercera edicin, y los primeros ocho captulos tratan
problemas de elasticidad lineal que para muchos son an la esencia de la
aplicacin del mtodo de los elementos finitos. El Captulo 9 generaliza los
conceptos y muestra el m todo y su aplicacin a la solucin de problemas
gobernados por ecuaciones diferenciales. En los primeros captulos hay pocos
XVIII
OCZ y RLT
t Se pueden obtener diskette* y cintas con el listado completo del programa pidindolo a R.L . Taylor,
Department of Civil Engineering, University of California, Berkeley CA 94720, USA.
AGRADECIMIENTOS
O.C. Zienkiewicz
VIV
R.L. Taylor
LISTA DE SMBOLOS
K , K
*
V*
Ti
<r
L ,T
b
> u
e
S
N
B = LN
D
b
E
V
CQj
*0
XXII
e, Su etc.
t
bx) t x >etc.,
xa
u
ab
ab
Aa'b
aab
ua,b
7 ,8
L u fy , ( 3)
J
HifWi
a = 1 ,2 ,3 coordenadas cartesianas
notacin indicial
desplazamiento paralelo a x a
componente del tensor de deformaciones
tensor de rotacin
cosenos directores x at y x,
componente del tensor de tensiones
derivada de ua en la direccin x
polinomios de Lagrange
coordenadas curvilneas de elementos, bi y
tridimensionales
coordenadas triangulares (superficie) 0 tetradricas (de volumen)
matriz jacobiana
coeficientes de peso de la cuadratura
LISTA DE SMBOLOS
L
C (u )
X
nT = [nx ,n y ,n z]
a
dominio
contorno de
operadores que definen las ecuaciones diferen
ciales del problema y las condiciones de con
torno
funciones incgnita
funcin de prueba
parmetros nodales (u otros) que definen el
desarrollo de prueba u ~ N a
funcin de ponderacin
un funcional estacionario
operador diferencial lineal
condicin de vinculacin en u
multiplicador de Lagrange
vector normal al contorno
nmero corrector
y
r
A ( u ) ,B ( u ) , etc.
u
V
a ,b , etc.
Wj
10
operador gradiente =
VT
operador de divergencia
k ,k
H
P
4>
T
H
B
J
12
A ,B ,C ,Q ,M
<r*
P
K ,G
14
XXIII
O Cu
lleil; INI
ri
$
a
a*
sistema de matrices
tensor de tensiones alisado (proyectado)
acelerador de convergencia
mdulos de deformacin y de rigidez tranversal
error local
error local en <r o u
norma de energa de e o u
porcentaje de error relativo
ndice de efectividad
aproximacin de la tensin por
elementos finitos
tensin alisada o proyectada
XXIV
J
C
residuo en el dominio
residuo o salto discontinuo
en la interfase
indicador de refinamiento
Captulo 1
1.1 Introduccin
Las limitaciones de la mente humana son tales que no puede captar el
comportamiento del complejo mundo que la rodea en una sola operacin
global. Por ello, una forma natural de proceder de ingenieros, cientficos, e
incluso economistas, consiste en separar los sistemas en sus componentes
individuales, o elementos , cuyo comportamiento pueda conocerse sin
dificultad, y a continuacin reconstruir el sistema original para estudiarlo
a partir de dichos componentes.
En muchos casos se obtiene un modelo adecuado utilizando un nmero
finito de componentes bien definidos. A tales problemas los denominaremos
discretos. En otros, la subdivisin prosigue indefinidamente y el problema
slo puede definirse haciendo uso de la ficcin matemtica de infinitsimo.
Ello nos conduce a ecuaciones diferenciales o expresiones equivalentes con un
nmero infinito de elementos implicados. A tales sistemas los llamaremos
continuos.
Con la llegada de las computadoras digitales, los problemas discretos
pueden resolverse generalmente sin dificultad, an cuando el nmero de
elementos sea muy elevado.
Como la capacidad de las computadoras
es finita, los problemas continuos slo se pueden resolver de forma
exacta mediante manipulaciones matemticas.
En este aspecto, las
tcnicas matemticas disponibles suelen limitar las posibilidades a casos
extremadamente simplificados.
Para vencer la dificultad que presenta la solucin de problemas continuos
reales, ingenieros y matemticos han ido proponiendo a travs de los aos
diversos mtodos de discretizacin. La aplicacin de estos mtodos hace
necesario efectuar alguna aproximacin de tal manera que quepa esperar que
la misma se acerque, tan estrechamente com o se quiera, a la solucin continua
verdadera a medida que crezca el nmero de variables discretas.
La discretizacin de problemas continuos ha sido abordada de manera
diferente por matemticos e ingenieros. Los primeros han desarrollado
tcnicas generales aplicables directamente a las ecuaciones diferenciales que
rigen el problema, tales com o aproximaciones por diferencias finitas , 1,2
diferentes mtodos de residuos ponderados ,3,4 o tcnicas aproximadas,
I
RBOL
GENEALGICO
TABLA
1.1
DE ELEMENTOS
FINITOS
DEL MTODO
DE
U,
Expresemos en forma matricial f las fuerzas que actan en todos los nudos
(3 en este caso) del elemento (1), tenemos
q1 =
qj | qi = { v i} etc-
( 1 .1 )
^3 J
y para los correspondientes desplazamientos nodales
*-{s)
etc.
( 1.2)
| En todo este libro se supondr que el lector posee ciertos conocimientos de lgebra
matricial. Esto se hace necesario para mantener un texto lo ms conciso posible.
Para lectores que no estn familiarizados con ese tema se incluye un breve apndice
(Apndice 1) donde se dan los suficientes principios de lgebra matricial para poder
seguir con conocimiento de causa el desarrollo del texto. Las matrices (y vectores) se
distinguirn a lo largo del texto por letras negritas.
(1.3)
en donde
representa las fuerzas nodales necesarias para equilibrar cualquier
carga distribuida que acte sobre el elemento y f*Q las fuerzas nodales
necesarias para equilibrar cualquier deformacin inicial, com o la que puede
ocasionar un cambio de temperatura si los nudos tienen impedido todo
desplazamiento. El primer trmino representa las fuerzas inducidas por los
desplazamientos de los nudos.
Similarmente, mediante un anlisis o experimento preliminar se pueden
definir unvocamente las tensiones o reacciones internas en cualquier punto
o puntos especificados del elemento, en funcin de los desplazamientos de
los nudos. Definiendo esas tensiones mediante la matriz <rl se obtiene una
relacin de la forma
a 1 = S V +<r + <rj0
(1.4)
donde los dos ltimos trminos son simplemente las tensiones originadas por
las cargas distribuidas que actan sobre el elemento o por tensiones iniciales
cuando se restringe el desplazamiento en los nudos.
La matriz K e se conoce com o matriz de rigidez del elemento y la matriz
Se como matriz de tensiones del elemento (e).
Se han ilustrado las relaciones (1.3) y (1.4) utilizando el ejemplo de un
elemento de tres nudos y puntos de interconexin capaces de transmitir
slo dos componentes de fuerza.
Obviamente, los mismos argumentos
y las mismas definiciones se pueden aplicar con carcter general.
Un
elemento como el (2) de una estructura hipottica tendr slo dos puntos de
interconexin; otros pueden tener un nmero muy superior. Anlogamente,
si los puntos de enlace se consideran rgidos han de tenerse en cuenta tres
componentes de fuerzas generalizadas y tres componentes de desplazamientos
generalizados, correspondiendo el tercero de ellos a un momento y a una
rotacin, respectivamente. Para una estructura tridimensional rgidamente
articulada, el nmero de componentes por nudo ser seis. As pues, en
general:
( 1 .6 )
K e=
\ce
*v mm
*m
- 1 V n - Vi
XV
, y{ y x n ,
de
pL
(.E a T A )
sen3
Finalmente, los desplazamientos del elemento
K eae =
EA
L
eos33
sen/? eos 3
- eos2 /?
-sen/? eos /3
sen/3 eos (3
sen23
sen/? eos/?
-sen 2/?
- eos2 /?
sen3cos3
-sen(3 eos 3
-sen 2
eos2 3
sen/? eos (3
sen/3 eos /9
sen2/?
10
{!}
adems de las cargas distribuidas aplicadas a cada elemento individual.
Como antes, cada una de las fuerzas
deber tener el mismo nmero de
componentes que las reacciones consideradas en cada elemento. En el ejemplo
en cuestin
r, =
ya que se ha supuesto que las uniones son articulaciones, pero ahora, a efectos
de generalizar, supongamos que el nmero de componentes es arbitrario.
Si establecemos ahora el equilibrio en un nudo cualquiera, i, cada
componente de
tiene que ser igual, a su vez, a la suma de las componentes
de las fuerzas que aportan los elementos que se renen en dicho nudo. As
pues, considerando todas esas componentes
m
r, =
q = q +q +
(1.10)
e=l
en donde qj es la fuerza que el elemento 1 aporta al nudo i , q? la fuerza que
aporta el elemento 2 , etc. Claramente, slo los elementos que contengan al
punto i contribuirn con fuerzas no nulas, pero para mayor claridad se han
incluido todos los elementos en el sumatorio.
Al sustituir las fuerzas aportadas al nudo i por sus expresiones dadas por
la definicin (1.3), resulta que las variables nodales
son comunes (y por
ello, omitiendo el suprandice e), tendremos
771
<> = (
e=l
771
+
e=l
TTl
K 2) * 2 + + ' %
e=l
( 1 -1 1 )
donde
fe = ? +
Como antes, el sumatorio slo afecta a los elementos que contienen al
nudo i. Reuniendo todas esas ecuaciones obtenemos simplemente
K a = r f
( 1 .12)
11
e1
m
(1.13)
con sumatorios que comprenden a todos los elementos. Esta regla tan
sencilla para ensamblar los elementos es muy til, pues tan pronto com o
se conozca un coeficiente para un elemento particular se puede almacenar
inmediatamente en la posicin adecuada del computador. Este proceso
general de ensamblaje constituye la caracterstica fundamental y comn a
todos los clculos por elementos finitos y debe ser bien comprendido por el
lector.
Si utilizamos diferentes tipos de elementos estructurales y stos han de
acoplarse, se ha de recordar que la regla para la suma de matrices slo
permite sta si las matrices son de idnticas dimensiones. Por consiguiente,
las submatrices individuales que hayan de ensamblarse deben formarse con
el mismo nmero de componentes de fuerzas o de desplazamientos. As, por
ejemplo, si un miembro capaz de transmitir momentos a un nudo tiene que
unirse en ese nudo a otro miembro que est articulado, es necesario completar
la matriz de rigidez de este ltimo insertando convenientemente ceros en las
posiciones correspondientes a las rotaciones y en las de los momentos.
1.4 C o n d ic io n e s d e c o n to r n o
El sistema de ecuaciones que resulta de la Ec. (1.12) puede resolverse una
vez sustituidos los desplazamientos impuestos en los apoyos. En el ejemplo
de la Figura 1.1, donde son nulas ambas componentes de los desplazamientos
de los nudos 1 y 6, habra que sustituir
31 = a6 = { 0 }
lo que equivale a reducir el nmero de ecuaciones de equilibrio (en este caso
doce) anulando las dos primeras y las dos ltimas, y reducindose as el
nmero total de incgnitas a ocho. Es conveniente, sin embargo, ensamblar
las ecuaciones de la forma expresada en la Ec. (1.12) para incluir todos los
nudos.
Es obvio que sin sustituir un nmero mnimo de desplazamientos,
obligados para impedir que la estructura se mueva com o un slido rgido,
sera imposible resolver el sistema pues los desplazamientos no pueden quedar
unvocamente determinados por las fuerzas y habra infinitas soluciones
para un sistema de fuerzas dado. Este hecho, fsicamente evidente, debe
12
(1*14)
(1-15)
13
n =
- vi )
J = ^ y j - y < )
o en forma matricial
{ ^ } = M - ~] W
que con nuestra notacin es simplemente
J e = K eV e
(1.16)
14
(1.18)
en la cual
m
K ij =
ti
e\
(1.19)
El p r o c e s o g e n e ra l
15
3
4
5
conexin
1 3
14 2
2
3
4
4
5
16
17
(1.20)
qf = K ^ a , + Kj2a, + + f
(1.21)
=E q
1-22)
e=l
donde r son cantidades del sistema (a menudo se les asigna el valor cero).
Si el problema es lineal, el resultado ser un sistema de ecuaciones
Ka + f = r
(1.23)
tal que
m
e =l
e=l
K =E kj $=E
t1-24)
18
1.8 T ra n s fo rm a ci n d e c o o r d e n a d a s
Suele ser conveniente establecer las caractersticas de un elemento
determinado en un sistema de coordenadas diferentes del que se miden
las fuerzas exteriores y los desplazamientos de la estructura, o el sistema
ensamblado. En realidad, para facilitar los clculos, puede utilizarse un
sistema de coordenadas diferente para cada elemento. Transformar las
componentes de las fuerzas y de los desplazamientos que aparecen en
la Ec. (1.3) a cualquier otro sistema de coordenadas es labor sencilla.
Obviamente, ser preciso hacerlo antes de iniciar el ensamblaje de la
estructura.
Diferenciemos al sistema de coordenadas locales en donde calculamos
las propiedades del elemento con un ndice prima y dejemos sin notacin
especial al sistema global de coordenadas necesarias para el ensamblaje.
Las componentes de los desplazamientos podrn transformarse mediante la
matriz L de cosenos directores adecuada
a' - La
(1.25)
qTa = q'Ta'
(1.26)
q = i /q '
(1.27)
(1.28)
19
K = L r K 'L
(1.29)
(1.30)
(1.31)
K T b = r f
(1.32)
(1.33)
20
Captulo 2
ELEMENTOS FINITOS DE UN
CONTINUO ELSTICO. MTODO
DE LOS DESPLAZAMIENTOS
2 .1
In tr o d u c c i n
21
22
23
= Na'
(2.1)
24
(matriz unidad)
25
Figura 2.2
mientras que
N t ( x j, 3/j) = N (* m,y m) =
etc.
( 2.2)
(2.3)
B = SN
(2.4)
con
26
du
'
' d
dx
dv
dx
d
0,
'
dy
dy
du
dv
dy
dx
dy
dx
:}
(2.5)
Oy
Txy
Ex ~ {Ex)o
E** _ E ay
v
ey ~ ( y)o
27
= " F * + E a'2 (l
Ixy ~ ( 7111)0
+ i/)
E
Txv
y resolviendo el sistema
E
D = i-------i
1 - 2/ J
i/
{l-v)/2
com o las fuerzas que actan en los nodos, siendo stas estticamente
equivalentes a las tensiones en el contorno y a las fuerzas distribuidas que
actan sobre el elemento. Cada una de las fuerzas a e debe tener el mismo
nmero de componentes que el desplazamiento nodal a correspondiente y
debe ordenarse en las direcciones apropiadas.
Las fuerzas distribuidas b son por definicin las que actan por unidad
de volumen en direcciones correspondientes a las de los desplazamientos u
de ese punto.
En el caso particular de tensin plana, las fuerzas nodales son
q = {^}
con las componentes U y V en correspondencia con las direcciones de los
desplazamientos u y v, y la carga repartida es
b= { t }
en la que bx y by son las componentes de la fuerza msica .
Para establecer la equivalencia esttica entre las fuerzas nodales y las
tensiones actuantes en el contorno y las fuerzas distribuidas, el procedimiento
ms sencillo es imponer un desplazamiento arbitrario (virtual) a los
nodos e igualar el trabajo exterior realizado por las fuerzas nodales al
efectuado anteriormente por las tensiones y fuerzas distribuidas durante dicho
desplazamiento.
28
Se = B ae
(2.6)
(2.7)
( 2 .8 )
ar (B r <r - N r b )
(2.9)
B T< rd {w o \ )-J
N r b d (v o l)^
(2.10)
qe = f
JV
& Ta (vol) f
N r b d(vol)
(2.11)
JV'
Esta expresin es vlida con carcter general cualesquiera que sean las
relaciones entre tensiones y deformaciones. En el caso de la ley lineal
expresada por la Ec. (2.5), podem os escribir la Ec. (2.11) com o
qe = K eae + f*
( 2 .12)
donde
t Advirtase que, segn las reglas del lgebra matricial, la traspuesta de un producto de
matrices verifica
(A B )T = B TA T
Ke=
Jv*
B r D B d(vol)
29
(2.13a)
y
f e = f N r b d(vol) / B r D e 0 d(vol) + f B Ttr0 d(vol)
JV
JV'
JVe
(2.13b)
30
N r t d(rea)
(2.15)
l Ae
con la integracin extendida a la superficie del contorno del elemento. Se
advertir que t debe tener el mismo nmero de componentes que u para que
la expresin anterior sea vlida.
En la Figura 2.1 se muestra dicho elemento de contorno siempre para el
caso particular de tensin plana. Las integrales de este tipo no se calculan
explcitmente. Con frecuencia, el analista siguiendo su intuicin fsica ,
sustituye la carga que acta en el contorno por cargas concentradas en los
nodos, calculando stas directamente mediante consideraciones de esttica.
En el caso particular considerado, los resultados son idnticos.
Una vez obtenidos los desplazamientos nodales por resolucin de las
ecuaciones globalps del tipo estructural , se pueden calcular las tensiones
en cualquier punto del elemento utilizando las Ecs. (2.3) y (2.5), y obtener
<r = D B a8 - De0 + <r0
(2.16)
(2.17)
(To
(2.18)
31
(2.19)
(2.20)
N i = N^
(2 .21 )
( 6uTb d V + 6ur t d A -
Jv
Ja
( SeT<rdV
(2.22)
Jv
32
Ka + f = r
(2.23)
donde
K =
f = - j
N Tb d V -
Br DB dV
(2.24a)
N Tt d A - j BTDc0 dV +
B T<r0 dV
(2.24b)
/,<
)d V
(2.26)
33
E l m t o d o d e los d e s p la z a m ie n to s c o m o m in im iz a c i n d e la
e n e rg a p o te n c ia l to ta l
uTb dV +
uTt d A j = - S W
(2.27)
( SeT<rdV
(2.28)
Jv
U= \
2 Jv
TD c d V -
Jv
e TD c 0 dV +
Jv
t To a dV
(2.29)
34
(2.30)
la
35
energa potencial total debe ser estacionaria para las variaciones de los
desplazamientos admisibles. Las ecuaciones de elementos finitos deducidas
en la seccin anterior [Ec. (2.23) y (2.25)] son simplemente la expresin de
esta variacin con respecto a un nmero de desplazamientos reducido a un
nmero finito de parmetros a, y podran escribirse
<m
da
= 0
(2.31)
36
2.5
C rite rio s d e co n v e r g e n c ia
\ ih
Cvd'&d'C; ?Ji t a g w
37
38
cada vez ms pequeo. Los argumentos para ello son sencillos: puesto que
el desarrollo es capaz de reproducir en el lmite cualquier distribucin de
desplazamientos concebible dentro del continuo, y adems, com o la solucin
de cada aproximacin es nica, aqul debe proporcionar en el lmite, cuando
h > 0, la solucin exacta. Y lo cierto es que en algunos casos, dicha solucin
exacta puede alcanzarse con un nmero finito de subdivisiones (o incluso con
un solo elemento) si el desarrollo polinmico utilizado para ese elemento puede
ajustarse exactamente a la solucin correcta. As, por ejemplo, si la solucin
exacta es un polinomio de segundo grado y las funciones de forma incluyen
todos los polinomios de ese grado, la aproximacin nos proporcionar la
solucin exacta.
Este ltimo argumento puede ayudarnos a determinar el grado de
convergencia del mtodo de los elementos finitos, puesto que la solucin
exacta puede siempre desarrollarse en serie polinmica en las proximidades
de cualquier punto (o nodo) i,
^ - ' ; +
'(hS l)
39
0 ( h 2)
= 4
(2.33)
0(h/2Y
y de esta ecuacin podemos predecir una solucin casi exacta para u. Tal
extrapolacin fue introducida originalmente por Richardson 17 y es de gran
utilidad si la convergencia es montona.
Volveremos a la importante cuestin de la estimacin del error debido
al proceso de dicretizacin en el Captulo 14 y se mostrar que hoy existen
mtodos mucho ms precisos que los derivados del anlisis de convergencia.
De hecho, se estn introduciendo mtodos de refinamiento automtico de
mallas para conseguir una precisin preespecificada.
El error de discretizacin no es el nico posible en los clculos por
elementos finitos. Adems de los errores obvios que se pueden producir
cuando se manejan computadores, los debidos al redondeo son siempre
posibles. C om o los computadores operan con nmeros redondeados a un
nmero finito de dgitos, cada vez que tenga lugar una sustraccin de dos
nmeros parecidos se producir una disminucin del grado de precisin.
En los procesos de resolucin de sistemas de ecuaciones son necesarias
muchas sustracciones y la precisin disminuye. Tambin se incluyen aqu
los problemas de condicionamiento de l a . matriz y cuando se emplee el
m todo de los elementos finitos se deber ser consciente en todo momento
de las limitaciones de precisin que impiden alcanzar la solucin exacta.
Afortunadamente, con los computadores modernos que admiten un gran
nmero de cifras significativas, estos errores con frecuencia son pequeos.
El tema de los errores provenientes de los procesos algebraicos se tratar
en el Captulo 15, que trata de los procesos de clculo.
2.7
asegura automticamente
la
40
(2.34)
= u+
(2.35)
W = -U
41
U =1 f
2 Jv
e TD e <f(vol)
(2.36)
[Jv
(2.37)
M in im iz a c i n d ir e c ta
k
+ -
J
1
42
r
h---------l 4*----------L ----------*1 l -------- A
2.10
Un ejemplo
<r = M = EI-
dx2
De esta forma tendremos inmediatamente, empleando la notacin general de
43
El
w = Na
para todo el sistema o para un elemento individual, ij.
En este ejemplo, las deformaciones se expresan com o derivadas segundas
de la flecha y es necesario asegurar que tanto w com o la derivada primera
wx =
dw
= e
dx
;}
B = - ^ N =
[6
Bj =
1 -6
- 12( x / L ) , (4 - 6( x / L ) ) L ] / L >
+ 1 2 (l/)
(2
"
44
i:
E l B j dx
El
12/L3,
-Q / L 2
wk
6/L2,
2/L
h
12 /L 3,
+BI
-6/L2,
+ El
2 4 /L 3,
-
6 /L 2
2 /L
o
8 /L
p /2
1=0
PL 7 1 2
O b s e rv a cio n e s finales
45
Referencias
1. R.W. CLOUGH, The finite element in plae stress analysis , Proc. 2nd.
A.S.C.E. Conf on Electronic Computation, Pittsburg Pa., Sept. 1960.
2. R.W. CLOUGH, The finite element method in structural mechanics , Captulo
7 de Stress Analysis (eds. O.C. Zienkiewicz and G.S. Holister), Wiley, 1965.
3. J. SZMELTER, The energy method of networks of arbitrary shape in problems
of the theory of elasticity , Proc. I. U. T.A.M., Symposium on Non-Homogeneity
in Elasticity and Plasticity (ed. W. Olszak, Pergamon Press, 1959.
4. R. COURANT, Variational methods for the solution of problems of equilibrium
and vibration , Bvll. Am. Math. S o c 49, 1-23, 1943.
5. W. PRAGER y J.L. SYNGE, Approximation in elasticity based on the concept
offimctions space , Q.J. Appl. Math., 5, 241-69, 1947.
6 . S. TIMOSHENKO y J.N. GOODIER, Theory of Elasticity, 2nd. ed., McGrawHill, 1951.
7. K. WASHIZU, Variational Methods in Elasticity and Plasticity, 2nd. ed., J.
Pergamon Press, 1975.
8 . J.W. STRUTT (Lord Rayleigh), On the theory of resonance , Trans. Roy. Soc.
(London), A 161, 77-118, 1870.
9. W. RITZ, ber eine neue Methode zur Lsung gewissen Variations - Probleme
der mathematischen Physik , J. Reine angew. Math., 135, 1-61, 1909.
10. G.P. BAZELEY, Y.K. CHEUNG, B.M. IRONS y O.C. ZIENKIEWICZ,
Triangular elements in bending-conforming and non-conforming solutions ,
Proc. Conf. Matriz Methods in Structural Mechanics, Air Forc Inst. Tech.,
Wright-Patterson A.F. Base, Ohio, 1965.
11. S.C. MIKHLIN, The Problem of the Minimum of a Quadratic Functional,
Holden-Day, 1966.
12. M.W. JOHNSON y R.W. McLAY, Convergence of the finite element method
in the theory of elasticity , J. Appl. Meck. Trans. Am. Soc. Mech. Eng., 274-8,
1968.
13. S.W. KEY, A convergence investigation of the direct stiffness method , Ph.D.
Thesis, University of Washington, 1966.
14. T.H.H. PIAN y PING TONG, The convergence of finite element method in
solving linear elastic problems , Int. J. Solids Struct., 3, 865-80, 1967.
15. E.R. DE ARRANTES OLIVEIRA, Theoretical foundations of the finite
element method , Int. J. Solids Struct., 4, 929-52, 1968.
16. G. STRANG y G.J. FIX, An Analysis of the Finite Element Method, p. 106,
Prentice-Hall, 1973.
17. L.F. RICHARDSON, The approximate arithmetical solution by finite
difFerences of physical problems , Trans. Roy. Soc. (London), A 2 1 0 , 307-57,
1910.
18. B.M. IRONS y A. RAZZAQUE, Experience with the patch test en
Mathematical Foundations if the Finite Element Method, 557-87 (ed. A.R.
Aziz), Academic Press, 1972.
19. B. FRAEIJS DE VEUBEKE, Variational principies and the patch test , Int.
J. Num. Meth. Eng., 8 , 783-801, 1974.
20. B. FRAEIJS DE VEUBEKE, Displacement and equilibrium models in the
finite element method , Captulo 9 de Stress Analysis (ed. O.C. Zienkiewicz
46
Captulo 3
3.1
Introduccin
47
48
3.2
{}
(3.2)
v = a A+ a sx + a 6y
Se pueden calcular fcilmente las seis constantes a resolviendo los dos
sistemas de tres ecuaciones simultneas que se obtienen al sustituir las
49
= ! + a 2Xi + a 3yi
Uj =oci + a 2X j + a 3yj
um
(3.4)
~ a l I" & 2 x m - f 0 :3 V m
x myj
k = y j - y m = yjm
ci x m
(3.5b)
xj xmj
yi
Xj
yj
xm
Vm
(3.5c)
2,
(3.7)
+ b(x + ciy)/ 2 A ,
etc.
(3.8)
50
0,
Su
dy
d_
d_
d y'
dx _
(3.9)
= B a e = [B
(3.10a)
B t = S Ni
0
0
dNi
=
o,
dy
dNi
dNi
. 6y
dx
2A
0,
Ci
bi
(3.10b)
51
(3.12)
(3.13)
-{
donde v es el coeficiente de Poisson.
Los materiales anistropos presentan problemas particulares ya que el
coeficiente de dilatacin trmica puede variar con la direccin. Llamemos x f
e y' a las direcciones principales del material (Figura 3.2). La deformacin
inicial debida a la dilatacin trmica es, tomando dichos ejes com o sistema
de referencia, para el caso de tensin plana,
(3.14)
= T re0
Con (3 definido com o en la Figura 3.2, es fcil comprobar que
(3-15)
52
T =
eos2/?
sen 23
sen /? eos (3
sen 2/3
eos 2 (3
sen (3 eos /3
sen fico s fi
2 sen (3 eos
eos 2 3 sen 2/3
2
(3.16)
7xy
va x
V
(3.17)
E
2( 1 + v ) t X y
7 xy
+ xyo
!/2
i/
0
0
0
(1 - v )2
53
(3.18)
v<ry
v <j z
e* = - ~ - - + a9
V(TZ
V<TX
&y
~ ~ E ~ +
2(1 + u)rxy
7 xy =
~E
+ a 0e
(3.19)
pero, adems
z= 0 = -
uax
E ( 1 - v)
(1 + v )(l 2is)
i / / ( l - y)
v{\ - v)
(1 2 ^ ) / [ 2 ( l - u ) ]
(3.20)
Materiales anistropos.
Para materiales totalmente anistropos se
necesitan 2 1 constantes elsticas independientes para definir completamente
las relaciones entre tensiones y deformaciones en tres dimensiones .4,5
Si ha de ser aplicable un anlisis bidimensional, las propiedades del
material deben presentar simetra, lo que implica que com o mximo podr
haber seis constantes independientes en la matriz D . Por consiguiente,
siempre se puede escribir
dn
D =
(sim)
dn
d22
d]
d:
d<
(3.21
54
V 2&y
V\(Tx
x = ~ ~ 2
4- v
y~
V 2(Tz
e2
E2
e2
v-ia y
VlCTx
Z = ~ E.
~~E: 7
2 (1 +
Ixz -
'1
1
I x y =-Q-'Jxy
l y z ~ 0 Tyz
en las que las constantes Ex y v\ (G i es dependiente) estn asociadas al
comportamiento en el plano de cada estrato, y E 2, G 2 y ^2 a una direccin
normal a ste.
55
n v2
1
m ( 1 t l v \)
(3.23)
D= ______ * ______
(1
)(1
n (l n v l)
nv2(l + ui)
0
- Vi -
2 n v )
(3.24)
nv2(l + v)
(1 - *
0
(3.25)
<r,Te' = aTe
o bien
e'T D V =
de donde se deduce la Ec. (3.25) por sustitucin de la Ec. (3.15) (ver tambin
Captulo 1).
3.2.5 Matriz de rigidez. La matriz de rigidez del elemento ijm viene definida
a partir de la relacin general de la Ec. (2.13) mediante los coeficientes
K\j J B ^ D B j d xdy
(3.26)
56
K ^ = B f D B ; tA
(3.27)
(f)f0 = -B fD e o A ,
etc.
(3.28)
b= { ; ; }
en la direccin de los ejes correspondientes.
Adems, segn la Ec. (2.13), la contribucin de dichas fuerzas a las que
actan en cada nodo del elemento viene dada por
\h
N-i dx dy,
etc.
(3.29)
x dx dy =
y dx dy =
57
Oy
bx
by } 3
bX
by
(3.31)
hx~ ~ d x
hy~ ~ d y
(3.32)
(3.33)
[Ni, N j , N m j #
(3.34)
As pues,
[bt, bj, b m ]? / 2A
bx =
dx
by
(3.35)
58
bi,
cii
Cj,
bm
cm
bit
bj,
bm
c ,
c ;>
cm
bu
hv
Cj,
(3.36)
bm
Cm
59
X
\
0 00
-0 07
0 07
o oo
-0 07
-oo6
y
yy
yy
X
X
/
X
0 00
-0 09
-oo
-ou
0-07
007
-0 45
oo 7
- o o
o
-ooi
- o os
L J
-007
-007
y
yy
/
/y
-OIS
o 07
0 07
-O H
- 0 07
-oo*
-ou
X
X^
-0 *5
-o os
-o o s
-o**
-o os
ooi
/
yy
y
yy
-0*3
oo4
- o o*
Medias nodales
0
Valores en el centro
de los tringulos
Figura 3.4 Flexin pura de una viga resuelta mediante una malla no tupida de
elementos triangulares (se resean los valores de ery, ax y rxy por este
orden).
60
___
61
63
64
Figura 3.8 Valle con estratos curvos sometido a tensin tectnica horizontal.
(Deformacin plana, 170 nodos, 298 elementos.)
y que entonces no es necesario considerar la presin exterior.
La presin intersticial p es ahora, de hecho, un potencial de fuerzas
msicas com o el definido en las expresiones (3.32). En la Figura 3.9 se
muestra la subdivisin en elementos de la regin y el croquis de la presa.
65
(a)
Falla
^ (hiptesis de
\ desplazamiento libre)
Arena alterada E
10
Arena E q = \EC
Figura 3.10 Anlisis tensional de la presa de contrafuertes de la Figura 3.9. Las tensiones principales debidas al peso propio se combinan
con la presin del agua que se supone acta: (a) como fuerza exterior, (b) como fuerza msica debida a la presin intersticial.
66
67
En las Figuras 3.10 (a) y (fe) se muestran las tensiones que resultan del
efecto del peso propio de la presa y las debidas a la presin del agua,
suponiendo que acta com o carga exterior o, alternativamente, com o presin
intersticial interna. Ambas soluciones indican grandes zonas de traccin,
pero el incremento de tensiones debido a la segunda hiptesis es importante.
Las tensiones calculadas aqu son las llamadas tensiones efectivas .
Estas representan las fuerzas de interaccin entre las partculas slidas y
se definen com o sigue en funcin de las tensiones totales tr y de las presiones
insterticiales p,
cr = <r +
mp
mr = [1,1,0]
(3.38)
(3.39)
(3.40)
J,
lve
B r m N ' d(vol)pe
(3.41)
68
Compresin (-)
Agua arriba
Zona de tracciones
Zona fsurada
(se considera
el material
con E 0 )
Traccin ( + ) /
Compresin (-)
1 00
200
lb/pulg
La flecha indica
| tracciones
lb/pulg
69
"J
5?
TENSIN
Y DEFORMACIN
PL A N A
Indica traccin
72
T r a ta m ie n to p a rticu la r d e
m a teria les in co m p r e s ib le s
la
d e fo r m a c i n
p la n a
en
los
M.J. TURNER, R.W. CLOUGH, H.C. MARTIN y L.J. TOPP, Stiffness and
defiection analysis of complex structures , J. Aero. Sci., 23, 805-23, 1956.
73
2. R.W. CLOUGH, The finite element in plae stress analysis , Proc. 2nd. ASCE.
Conf. on Electronic Computation, Pittsburg, Pa., Sept. 1960.
3. S. TIMOSHENKO y J.N. GOODIER, Theory of Elasticity, 2nd ed., McGrawHill, 1951.
4. S.G. LEKHNITSKII, Theory of Elasticity of an Anisotropic Elastic Body,
(Traducido del ruso por P.Fern), Holden Day, San Francisco, 1963.
5. R.F.S. HEARMON, An Introduction to Applied Anisotropic Elasticity, Oxford
Univ. Press, 1961.
6 . O.C. ZIENKIEWICZ, Y.K. CHEUNG y K.G. STAGG, Stresses in anisotropic
media with particular reference to problems of rock mechanics , J. Strain
Analysis, 1 , 172-82, 1966.
7. G.N. SAVIN, Stress Concentration Around Holes (Traducido del ruso),
Pergamon Press, 1961.
8 . O.C. ZIENKIEWICZ y Y.K. CHEUNG, Buttress dams on complex rock
foundations , Water Power, 16, 193, 1964.
9. O.C. ZIENKIEWICZ y Y.K. CHEUNG, Stresses in buttress dams , Water
Power, 17, 69, 1965.
10. K. TERZHAGI, Theoretical Soil Mechanics, Wiley, 1943.
1 1 . O.C. ZIENKIEWICZ, C. HUMPHESON y R.W. LEWIS, A unified approach to
soil mechanics problems, including plasticity and visco-plasticity , Int. Symp. on
Numerical Methods in Soil and Rock Mechanics, Karlsruhe, 1975. Ver tambin
Captulo 4 de Finite Elements en Geomechanics (ed. G. Gudehus), 151-78,
Wiley, 1977.
1 2 . O.C Zienkiewicz, Finite Element Method, 3rd ed., McGraw-Hill, 1977.
13. L.R. HERRMANN, Elasticity equations for incompressible, or nearly incompressible materials by a variational theorem , JAIAA., 3, 1896, 1965.
Captulo 4
ArsAi^isis DE TENSIONES EN
CUERPOS DE REVOLUCIN
4.1
Introduccin
76
4.2
.=
{: }
( 4 -1 )
ae =
j J
a*
(4.2)
= | | = [IJV,-, I N j , IiVm)a'
(4.3)
77
a j + bir + c iz
2A
b{ = Zj - zm = zjm
1*j =
(4.4)
Tm j
78
dv
'
dz
du
dr
u
> <
9 |
Ir, )
Su
(4.5)
r
du
dv
, dz ^ dr >
Haciendo uso de las funciones de desplazamiento definidas en las Ecs. (4.3)
y (4.4) obtenemos
e B a [B, B j, B m]a
donde
0
dNi
dz
dNj
B,
dr
l N>
dN t
dNt
dz
dr
2A
ai
+
r
0,
b
etc.
(4.6)
(4.7)
So
79
(4.8)
e0 =
(4.9)
80
<r =
= D (e - c0) +
_ _ U2<Tz
Et
El
v ie
Bi
Et
(4.10)
_ _ V2<Tz _ Ul<Tr i EL
e>
E2
El
El
Tzt
r"
Escribiendo adems
G2
*1
Er
E2
v\ n v2(l + is\) ,
n( 1 - nv\)
simtrica
nu2( 1 + /i)
( i + nv\)n
n (l-n v )
m( 1 + i/i) x
(4.11)
(1
Vi
2nv\)
n 1
81
Ui = i/2 = v
y empleando la conocida relacin entre las constantes elsticas istropas
G2
E 2 ~ E ~ m ~ 2(1 + v)
Sustituimos en la expresin (4.11) y obtenemos ahora
il i/
E ( 1 - v)
(1
+ v )( l - 2 v )
li i/ *
v
\ - v
1
(4.12)
,
o
1
simtrica
- 2v
2(1
- u )
- 2tt J B - D B , r dr dz
(4.13)
viniendo B expresada por la Ec. (4.6) y D por la Ec. (4.11) o la Ec. (4.12),
dependiendo del material.
No se puede efectuar la integracin tan sencillamente com o en el caso
de tensin plana porque la matriz B es funcin de las coordenadas. Hay
dos alternativas: la primera es una integracin numrica; la segunda, una
multiplicacin explcita y una integracin trmino a trmino.
El procedimiento aproximado ms sencillo es evaluar B en el centro de
gravedad
ri + rj + rm
T~
3
Zi
+ +
Zj
ZT
(4.14)
82
B TDe 0 rdrdz
(4.15)
ff = -2tt ( y
83
r dr dz^j De0
(4.16)
(4.17)
b= { }
<4-18>
2 tr
INi
|br |
r dr dz
z,
(4.19)
ff - - 2 tt | l rz } ? A /3
(4.20)
84
(4.22)
(4.23)
A lg u n o s e je m p lo s d e c o m p r o b a c i n
85
Eje de revolucin
86
Solucin exacta
^
A Valores medios en los tringulos
O Valores medio en los cuadrilteros
Figura 4.6 Esfera sometida a un flujo trmico estacionario. (Temperatura interior
100C, temperatura exterior 0o C): (a) variacin de la temperatura
y de las tensiones en una seccin radial; ( 6 ) valores medios en los
cuadrilteros.
basada
a una
Malla
presin
uniforme
empleada
interior
"cuadrilateral"
(a)
debidas
Solucin
tensiones
de un reactor:
(b)
de presin
el com p u ta d or,
de Poisson
que
v = 0 .1 5 ).
automtica
fue generada
de forma
el anlisis
(dibujadas
para
p or
por el co m p u ta d o r).
87
88
4.4
Aplicaciones prcticas
89
p = 162 0 0 0 tt Ib
Cargas asimtricas
El m todo descrito en este captulo puede ampliarse para incluir los casos
de cargas asimtricas. Si se expresa la variacin de la carga a lo largo de
la circunferencia en funcin de armnicos circulares, seguir siendo posible
dirigir la atencin sobre una seccin axial aunque el nmero de grados de
libertad aumente ahora a tres.
Algunos detalles de este proceso de describen en las referencias 5 y 6 .
90
-------
10 15 20 25
Tensiones verticales
en secciones horizontales
Figura 4.9 ( 6 ) Pilote en terreno estratificado. Grfico de las tensiones verticales
en secciones horizontales. Grfico tambin de la solucin para el
problema de Boussinesq obtenida haciendo
E2 Apilte Y
comparacin de sta con los valores exactos.
4.6
S im e tra d e r e v o lu c i n , d e fo r m a c i n p la n a y te n si n p la n a
91
por
por
Captulo 5
ANLISIS TRIDIMENSIONAL
DE TENSIONES
5.1
Introduccin
Habr advertido el lector que llegados a este punto no queda sino un paso
ms para aplicar el m todo general de los elementos nitos a los problemas
de anlisis de tensiones en cuerpos tridimensionales.
Tales problemas
abarcan evidentemente todos los casos prcticos, aunque en algunos casos
puede obtenerse un modelo adecuado y ms econmico utilizando distintas
aproximaciones bidimensionales.
El elemento continuo bidimensional ms sencillo es el tringulo. Su
equivalente tridimensional es el tetraedro, que tiene cuatro nodos, uno
en cada vrtice, y sobre cuya formulacin bsica tratar este captulo.
Inmediatamente nos encontramos con una dificultad no aparecida antes,
que es ordenar la numeracin de los nodos y, de hecho, la de representar
adecuadamente un cuerpo dividido en elementos com o los mencionados.
Parece que fueron Gallagher et al.1 y Melosh 2 los que inicialmente
sugirieron el uso de elementos tetradricos sencillos. Argyris3,4 profundiz
ms en el tema y Rashid y Rockenhauser 5 han demostrado que haciendo uso
de los computadores modernos de mayor capacidad se puede emplear dicha
formulacin para resolver problemas reales.
Es obvio inmediatamente, sin embargo, que el nmero de elementos
tetradricos que es preciso utilizar para obtener un orden de aproximacin
determinado ha de ser muy grande. En los problemas prcticos, ello dar
por resultado un nmero elevado de ecuaciones simultneas que pueden
limitar gravemente la aplicacin prctica del m todo. Ms an, el ancho
de banda del sistema de ecuaciones resultante se hace muy grande, lo que
lleva a la necesidad de disponer de computadores de gran capacidad de
almacenamiento.
Para adquirir una idea del orden de magnitud de los problemas que
se presentan supongamos que la precisin de un tringulo en anlisis
bidimensional sea comparable a la de un tetraedro en tres dimensiones. Si
un anlisis de tensiones correcto de una regin cuadrada en dos dimensiones
requiere una malla de unos 20 x 20 = 400 nodos, el nmero total de
ecuaciones simultneas es aproximadamente 800, suponiendo dos variables
de desplazamiento por nodo. (Esta es una cifra bastante real.) El ancho de
93
94
u= {l}
Al igual que en un tringulo plano los tres valores nodales definan la variacin
lineal de una cantidad, aqu una variacin lineal vendr definida por cuatro
valores nodales. Como en el caso de la Ec. (3.3) podemos escribir, por
ejemplo, que
u = olx + a 2x + a 3y + a 4z
(5.2)
etc.
(5.3)
95
u =
%V = det
1
1
1
Vi
XJ
yj
Zj
xm
xp
Vm
zm
zp
yP
(5.5a)
96
= det
x3
ltj
zi
xm
xp
Vm
zm
zp
x3
ZJ
Xm
xp
zm
zp
Vp
bi = det
yj
z3
Vm
yp
zm
zp
(5.5b)
det
yj
di = det
Xm.
Xp
Vm
yp
(5.6)
siendo
etc.
Podemos escribir el desplazamiento de un punto cualquiera as
u = [IV
IN j,
lNm,
I N p]a.e
(5.7)
etc.
(5.8)
97
du
dx
dv
dy
dw
e =
dz
z
Ixy
du
dv
lyz
7X2
dy
dv
dx
dw
dz
dw
dy
du
= Su
(5.9)
dx ^ dz
Empleando las Ec. (5.4) a (5.7) se comprueba fcilmente que
(5.10)
e = B a [ B n B j , B m )Bp]a
en la cual
dNt
dx '
0,
Bt =
dNi
dy
dNi
dz
0,
0,
dNi
dNi
dy '
0,
dNt
dz '
dx
dN t
dz
n
U
dNx
b
0,
0,
6V
o,
0,
0,
b
di,
o,
di
0
(5.11)
c
h
dy
dNj
0,
dx
e0
(5.12)
98
(5.13)
D (e o) + 0o
1,
(1
D=
E( 1
(1 + i / ) ( l - 2u)
0,
(l-v )
1,
s im tric a
0,
o,
0,
0,
\>
L- / )
0,
2u
2(1 - * )
2v
2(1
(5.14)
5.2.4 Matrices de rigidez, de tensiones y de cargas. La matriz de rigidez
definida por la Ec. (2.10) puede ahora integrarse explcitamente, ya que las
componentes de la deformacin y de la tensin son constantes dentro de cada
elemento.
La submatriz ij general de la matriz de rigidez ser una matriz 3 x 3
definida como:
(5.15)
donde Ve representa el volumen del tetraedro elemental.
Las fuerzas nodales debidas a las deformaciones iniciales se convierten,
similarmente a la Ec. (3.28), en
= - B f D oV e
99
(5.16)
teniendo una expresin similar las fuerzas debidas a las tensiones iniciales.
La similitud con las expresiones y resultados del Captulo 3 es de hecho
tan clara que es innecesaria una formulacin ms explcita. Los pasos
necesarios para formular un programa de computador pueden repetirse sin
ninguna dificultad por el lector.
Se pueden expresar de nuevo las fuerzas msicas en funcin de sus
componentes bx , by, bz , o en funcin del potencial de fuerzas msicas. De
nuevo se encontrar sin sorpresa que, si las fuerzas msicas son constantes,
las componentes nodales de la resultante total se distribuyen en cuatro partes
iguales [vase la Ec. (3.30)].
5.3
100
101
iyaaa
Cada una
dividida
as
divid
102
Figura 5.6 El problema de Boussinesq: (a) tensiones verticales ( az)\ (b) desplazamientos verticales (w)
Valor calculado
103
104
105
(b)
106
Captulo 6
NOTACIN TENSORIAL EN
LA APROXIMACIN DE
PROBLEMAS DE ELASTICIDAD
6.1
In tr o d u c c i n
N o t a c i n in d icia l
a = 1 ,2 ,3
(6.1)
a=
1 , 2 ,3
107
( 6 .2 )
108
Para evitar la confusin con las cantidades nodales a las que previamente
nos habamos referido con subndices, simplemente cambiaremos su posicin
a suprandices. As,
Ua
uj
(6-3)
o , 6 = 1 ,2 ,3
(6.4)
(6.5a)
K = K
6.3
(6 -5 b )
(6-6)
1,4 = 1,2,3
(6.7)
a , 6 = 1 ,2 ,3
( 6 .8 )
f Ntese que esta definicin es aigo distinta de la usada en los Captulos 2 a 5. Aqu
*j ~
cuando i j.
109
NOTACIN TENSORIAL
(6.9)
eab =
13
11
12
21
22
^23
.31
32
3 3 .
a ,6 = 1,2,3
(6.10)
y de la Ec. (6.8) se deduce que esta matriz debe ser simtrica, es decir,
12
21
(6-11)
etc.
*4/ = ^ 2 Aa'bx b
a\b = 1,2,3
(6.12)
6=1
Aa,b = cos(xal1z b)
define los cosenos directores de los ejes de forma similar a la Ec. (1.25).
La notacin de una suma [ej., ver Ec. (6.12)] se usa a menudo, y se emplea
el criterio de que los ndices repetidos dentro de cualquier trmino implican
una suma sobre el rango de los ndices. Por tanto, en vez de la Ec. (6.12) se
puede escribir simplemente
V = Aa'bx b
a' i b = 1 ,2 ,3
(6.14)
para expresar
v
= V i 1! +
+ V s*
' = l . 2.*
(6-15)
u'a, =
A0/Jt
o ', 6 = 1 ,2 ,3
(6.16)
110
'aV
(6.17)
aab
an
(712
<713
0"21
031
0*22
032
023
a, b - 1 ,2 ,3
(6.18)
033
a, 6 = 1 ,2 ,3
(6.19)
a = 1 ,2 ,3
(6.20)
a,fe = 1 ,2 ,3
(6.21)
donde los ndices repetidos indican suma sobre el rango del ndice; esto es.
3
^2 aba =
{.22)
6=1
NOTACIN TENSORIAL
111
(6.23)
(6.24)
Tambin se pueden usar las condiciones de simetra en <ra y
los nueve trminos a seis. De esta forma,
^ab^ab
para reducir
(6.25)
6.4
a, 6 =
1 , 2 ,3
(6.26)
aab
(6.27)
(6.28)
$abcd ^
{& a c h d
a* = { ;
a d h c )^
(6.29)
aa l
(6.30)
Un material istropo lineal est, por tanto, caracterizado por dos constantes
elsticas independientes. En vez de las constantes de Lam se pueden usar
112
2(1 + *0
(6.31)
vE
(1 + 0(1 - 21/)
ua = N lla
a = 1 ,2 ,3 ;
t = l,2 ,...,n
(6.32)
(6.33)
Jv*
S e ^ a id V
(6.34)
Utilizando las Ecs. (6.33) y (6.24) y usando las simetras de DafK se puede
escribir el trabajo virtual interno de un material elstico lineal como
SU1 = S i
A j J W * * , d v ) 4 - Sa JV'
- ah,) JV
(6.35)
reescribiendo los trminos obtenidos en el Captulo 2 en notacin tensorial.
El tensor de rigidez est ahora definido como
K ' = J ^ N ^ D ^ N ^ d V
(6.36)
w =jv,N\NdV
y entonces, haciendo las sumas con los mdulos del material
(6-37)
113
NOTACIN TENSORIAL
K 'Jc = x w i + /*[Wg + 6 a c (W $ )]
Esto permite llevar a cabo la integracin usando menos operaciones
aritmticas que cuando se usa la forma matricial.
Las ecuaciones finales del sistema se escriben como
K ' u - f la = 0
(6.38)
Captulo 7
FUNCIONES DE FORMA PARA
ELEMENTOS ESTNDAR Y
JERRQUICOS : ALGUNAS FAMILIAS
GENERALES DE CONTINUIDAD C 0
7.1
In tr o d u c c i n
115
116
(7.1)
FUNCIONES DE FORMA
117
= a{
(7.2)
(7-3)
X > = 1
(7.4)
t= l
en todos los puntos del dominio. La primera parte de este captulo tratar
de tales funciones de forma estndar.
Las funciones de forma estndar tienen una seria desventaja: cuando se
hace un refinamiento de elementos se tienen que generar funciones de forma
totalmente nuevas, y por tanto rehacer todos los clculos. Sera ventajoso
evitar esta dificultad considerando la expresin (7.1) com o una serie en la
que la funcin de forma N no depende del nmero de nodos de la malla n.
Esto se consigue con las funciones de forma jerrquicas, a las que se dedica
la segunda parte de este captulo.
El concepto jerrquico queda bien ilustrado en el problema
unidimensional (barra elstica) de la Figura 7.1. Se tomaron por simplicidad
propiedades elsticas constantes ( D = E ) y las fuerzas msicas b varan
de tal form a que se obtiene la solucin exacta mostrada en la figura (con
desplazamiento nulo en ambos extremos).
Se muestran dos mallas y se supone interpolacin lineal entre nodos.
Tanto para la forma estndar com o para la jerrquica, la malla grosera da
/f,a = A
(7.5)
118
(6) A p r o x i m a c i n jerrquica
Figura 7.1 U n p r o b l e m a unidimensional de deformacin de u n a barra elstica
uniforme mediante fuerzas msicas prescritas.
FUNCIONES DE FORMA
119
*T . = K n
(7-7)
D e f o r m a general,
y a q u e se h a u s a d o la m i s m a funcin d e f o r m a p a r a la p r i m e r a variable.
A d e m s , e n este caso particular los coeficientes d e fuera d e la diagonal s o n
cero y las e c u a ciones finales p a r a la m a l l a fina son:
La
"K { x
k [2
K *;
d i a g o n a l i d a d d e
el
Captulo
14
se
discuten
ms
ventajas
de
esta
forma
de
aproximacin.
El lector d e b e n o t a r q u e c o n la f o r m a jerrquica es conveniente considerar
la m a l l a fina c o m o u n a m e j o r a d e la m a l l a original, a a d i e n d o funciones
adicionales d e refinamiento.
L a s f o r m a s jerrquicas p r o p o r c i o n a n u n a c o n e x i n c o n otras soluciones
a p r o x i m a d a s p o r series. M u c h o s p r o b l e m a s resueltos e n la bibliografa clsica
m e d i a n t e desarrollo e n series trigonomtricas d e Fourier son, d e hecho, casos
particulares d e este procedimiento.
P a rte
F u n cion es de fo r m a e s t n d a r
E L E M E N T O S
7.3
BIDIMENSIONALES
(en
por
su
e d u c a c i n a p e n s a r e n el s i s t e m a d e c o o r d e n a d a s cartesianas), la f o r m a d e
e l e m e n t o m s sencilla es la de u n rectngulo d e lados paralelos a los ejes x
e y.
C o n s i d e r e m o s , p o r ejemplo, u n rectngulo c o m o el r e p r e s e n t a d o e n la
120
(7.9)
121
FUNCIONES DE FORMA
, yf,
{!}=
01
(7.10)
ota
o simplemente como
u Co
(7.11)
a = C- 1l ue
(7.12)
Formalmente,
(7.13)
P = [1, x yy , x y , y 2, x y \ y 3, x y 3}
(7.14)
en la cual
(7.15)
(7.16)
122
d = dx/a
V = (y
dr = dy/b
yc)/b
(7 .1 7 )
123
FUNCIONES DE FORMA
A
,
A
/
\
.
--- --------y---
orden 1
------------------------------------------ 3
-------------------------4
/\/\/\/\/\,
7 \ /\
/\
/\
-----5
/ \
124
segn la coordenada *, mientras que para y se tiene una forma de tercer grado
completa. El polinomio completo contenido es, por tanto, de primer grado
y en general siempre se obtendr el orden de convergencia correspondiente
a una variacin lineal aunque se incrementara el nmero total de variables.
Solamente en los casos donde la variacin lineal en x se acerque muchsimo a
la solucin exacta se dar un orden de convergencia ms elevado, y por esta
razn los elementos con tales direcciones preferentes deben restringirse a
casos particulares, com o vigas o bandas estrechas. En general, buscaremos
funciones que posean el polinomio completo de mayor grado para un nmero
de grados de libertad mnimo. En este contexto es til recordar el tringulo
de Pascal (Figura 7.5), del cual pueden deducirse fcilmente el nmero de
trminos que aparecen en un polinomio de dos variables x e y. Por ejemplo,
un polinomio de primer grado requiere tres trminos, uno de segundo grado
seis trminos, de tercer grado diez trminos, etc.
^ ~
~ 6 t - l ) U ~ (k + 1) (t ~ tn)
f7 ia 1
dando la unidad en
y pasando por n puntos.
Por tanto, si en dos dimensiones distinguimos cada nodo por su columna
y su nmero nodal I , 7, tenemos
Ni
N ij
r (()l? (n )
(7.19)
FUNCIONES DE FORMA
(0, w)
(/, J)
125
n, m)
)
(0 , 0 )
<. 0)
o
(c)
126
A
/ V V
\ , y*
x/* w
x ly
/ vx*y y
x r
./
w
xyl
x 3y
*V
/ \ /
\
y4
\
\
1--S
<!
ii
= +1
>
<
(a)
n= - i
<b)
-o--------
(c)
id)
FUNCIONES DE FORMA
127
(7.20)
(7.22)
(7-23)
Nodos laterales:
i = 0
Ni = i ( l - 2)(l + *o)
*7< = 0
tfi = ^ ( l + f o ) ( l - ? J)
Elemento cbico
Nodos de vrtice:
N, = ( 1 + fo ) (l + t o )[-1 0 + 9 (f2 + i f ) }
(7-24)
128
Nodos laterales:
f = 1
ij =
1
(a)N 5 -
FUNCIONES DE FORMA
129
*1 - *1 - j *5 - } *6
Figura 7.11 Funciones de forma para un elemento serendpito de transicin
cbico/lineal.
130
/\/\,
x*
jr
/ V \ / \ , _
A / \ / v /
A/
/ /
/ /
/ /
** /
' /
xmy
\\
f N \\
\
\\
\ vm
\ J /
\ /
xv"
/ \ / \ /
Figura 7.12 Trminos generados por funciones de forma de borde en los elementos
serendpitos ( 3 x 3 y m x m ) .
las primeras basta con una simple multiplicacin de dos interpolaciones
lagrangianas de grados m y 1.
Para las segundas es necesaria una
combinacin de funciones bilineales de vrtice, junto con las fracciones
apropiadas de las funciones de forma de los nodos laterales, para asegurar
valores nulos en los nodos correspondientes.
Siguiendo un algoritmo sistemtico es, por supuesto, bastante fcil
generar funciones de forma para elementos con diferente nmero de nodos
en cada lado. Estos elementos son muy apropiados cuando se desea obtener
una transicin entre elementos de diferente orden, lo que permite estudiar
grados de precisin diferentes en distintas secciones de un problema de
grandes dimensiones. En la Figura 7.11 se representan las funciones de forma
necesarias para una transicin cbico/lineal. El empleo de tales elementos
mixtos se introdujo originalmente segn la referencia 9, pero la formulacin
ms sencilla utilizada aqu corresponde a la referencia 7.
Disponiendo ya de un procedimiento para generar las funciones de
forma adecuadas a esta clase de elementos, es evidente de inmediato que
se necesitarn ahora menos grados de libertad para un polinomio completo
dado, tn la bTgura 771^se muestra este hecho para un elemento cbico,
donde slo aparecen dos trminos adicionales (com parados con los seis que
aparecan en un elemento lagrangiano del mismo grado).
Se aprecia de inmediato, sin embargo, que las funciones generadas slo
por nodos laterales no generarn polinomios completos de grado superior a
tres. Para grados ms elevados ser necesario complementar el polinomio con
nodos interiores (tal com o se hizo con el elemento curtico de la Figura 7.9), o
mediante el empleo de variables anodales (que se examinarn en la seccin
siguiente) que contengan los trminos polinmicos apropiados.
131
FUNCIONES DE FORMA
7.7
Eliminacin de variables
Subestructuras
internas
antes
del ensamblaje.
9Re
da?
= K eae + f*
(7.25)
~ da
? = -(t)-1(keTf+ T)
(7.27)
(7.28)
en la cual
- Le \=e
(7-29)
132
i Z
- U
- l Z
- l Z
- L
- 7 l
7 ]-7 \ -/ T S T -
Ti
\ /
\ /
\ /
...
(>)
FUNCIONES DE FORMA
133
<*)
(c)
Figura 7.15 Elementos de la familia del tringulo: (a) lineal, (6) cuadrtico y
(c) cbico.
Consideremos una serie de tringulos engendrados de la manera que se
indica en la Figura 7.15. El nmero de nodos de cada miembro de la familia
es ahora tal que asegura un polinomio completo del grado necesario para la
compatibilidad entre elementos. Esto se deduce mediante la comparacin con
el tringulo de Pascal de la Figura 7.5, en donde se ve que el nmero de nodos
coincide exactamente con el nmero de trminos polinmicos requerido. Esta
caracterstica especial coloca a la familia del tringulo en una posicin de
particular privilegio, en la que siempre existirn las inversas de las matrices
C de la Ec. (7.I I ) 2. Sin embargo, vuelve a ser preferible la generacin directa
134
(7.30)
L\ -f- L 2 -+ L 3
FUNCIONES DE FORMA
135
2A
a2 + b2x + c2y
L2 =
2A
a3 + b3x + c3y
L3 =
2A
(7.32)
en la cual
A = - det
1
1
1
*i
x2
V\
y 2 - rea 123
y3
(7.33)
i = X2V3 - x 3y 2
b\ = 2/2 - 2/3
c: = x 3 - x 2
etc., con permutacin cclica de los ndices 1, 2 y 3.
Vale la pena sealar la coincidencia de estas expresiones con las deducidas
en el Captulo 3 [Ecs. (3.5b) y (3.5c)].
7.8.2 Funciones de form a. Para el primer elemento de la serie [Figura
7.15(a)j, las funciones de forma son sencillamente las coordenadas de rea.
Por consiguiente
= i
N 2 = L-
N3 = L*
(7.34)
L 2 L 2i , L 3 L 3j
136
(O, O, M)
= M
etc.
Nodos laterales:
JV4 4 X 1 X 21
etc.
(7.36)
Nodos laterales:
N i -L iL i(Z L i 1),
etc.
(7.37)
FUNCIONES DE FORMA
137
JL
2A
L L b
2Lc3 dx dy = -------f h!c'
1 2 3
y
(a + ft + c + 2)!
(7.38)
v
'
ELEMENTOS UNIDIMENSIONALES
7.9
E le m e n to s lineales
'
o
o
138
JVi = | ( l + o ) ( l + V o ) ( l + Co)
(7.39)
m = i
< = i
(7-40)
FUNCIONES DE FORMA
139
C= l
20 nodos
32 nodos
m = 1
(i = 1
(7.41)
140
N i = l0 4 t 1 - 'H 1 + 9H 1 + vo )(! + o)
Cuando ( = 1 =
las expresiones anteriores se reducen a las Ecs. (7.22)
a (7.24). Estos elementos tridimensionales pueden adems unirse de manera
compatible a elementos planos o unidimensionales apropiados, tal com o se
muestra en la Figura 7.19.
El procedimiento para generar funciones de forma sigue de nuevo el
descrito en las Figuras 7.10 y 7.11, y nuevamente pueden deducirse elementos
con distintos grados de libertad a lo largo de las aristas siguiendo los mismos
pasos.
El equivalente a un tringulo de Pascal es ahora un tetraedro y adems
podemos observar el pequeo nmero de grados de libertad adicionales,
situacin que es an de mayor importancia que en el anlisis bidimensional.
(7.42)
FUNCIONES DE FORMA
141
Figura 7.21 La familia del tetraedro: (a) lineal, ( b) cuadrtico y (c) cbico.
7.12
Elementos tetradricos
142
x L \ X \ + L 2x 2 + L 3 X 3 + 4 X4
y L\y\ + L 2y 2 + L 3y3 + Zr4y4
z =L\Z\ -f- L 2z 2 + L 3Z3 + L 4Z4
(7.43)
1 = L i -f L 2 + L 3 + L 4
Nuevamente, las recprocas de las expresiones anteriores nos conducen a
expresiones del tipo (7.32) y (7.33), pudiendo identificarse las constantes
en el Captulo 5 [Ecs. (5.5)]. Se puede identificar otra vez el significado de
las coordenadas com o el cociente entre el volumen del tetraedro que tiene un
vrtice en un punto interior P del tetraedro inicial y el volumen total (ver
Figura 7.22):
volumen P234
volumen 1234
etc.
(7.44)
7.12.2
Funciones de forma. Como las coordenadas de volumen varan
linalmente con las cartesianas desde el valor uno en un nodo a cero en
la cara opuesta, las funciones de forma del elemento lineal [Figura 7.21(a)]
sern simplemente,
iVi = Li
N 2 = L 2,
etc.
(7.45)
143
FUNCIONES DE FORMA
etc.
(7.46)
Nodos de arista:
N s = 4 i 2,
etc.
Tetraedro cbico
Nodos de vrtice:
JVi = i( 3 Li - 1)(3! - 2) L U
etc.
(7.47)
Nodos de arista:
9
N$ = LiL2{3Li 1),
etc.
Nodos laterales:
N\ 7 2
etc.
///,
(7 -48)
145
FUNCIONES DE FORMA
Ni!
d/VJ
Nodos del
d/V|
dt
\
\
/vs
di
dA/$
etc.
(7.50)
etc.
146
(7-51)
^ = :S r
(7-52)
donde
w
>= - ^
^=
+ ol2^2 + c*33
(7.53)
que tom a valor nulo en = 1 (esto es, en los nodos 0 y 1). De nuevo existe
una infinidad de opciones y se puede seleccionar un polinomio que tenga
valor nulo en el centro del elemento y para el cual dN3/d = 1 en ese punto.
Podemos entonces escribir
m = C(1 - i 2)
(7-54)
FUNCIONES DE FORMA
147
( 7 .5 5 )
Par
(7.56)
) =
p\
- 0
P impar
N = \ ( e - o
^
= ( * - )
(7-57)
etc.
Se observa que todas las derivadas de
de segundo o mayor orden se
anulan para = 0, menos dPNp/dP, que es igual a la unidad en ese punto,
y, por tanto, usando las funciones de forma dadas por la Ec. (7.57) se pueden
identificar los parmetros de la aproximacin como
e
dp
aP =
dP
p >
(7.58)
148
^ = <
2F i | ? > ( { , - 1)Pi
(760)
=j
()
N = 2 (i3 - i )
etc.
stos se diferencian de las funciones de forma dadas por la Ec. (7.57) slo
en una constante multiplicativa hasta Ng, pero para p > 3 las diferencias
son significativas. El lector puede verificar fcilmente la ortogonalidad de las
derivadas de dichas funciones, lo cual es muy til computacionalmente. La
Figura 7.24 muestra estas funciones y sus derivadas.
149
FUNCIONES DE FORMA
(a) Estndar
(6) Jerrquica
JV, =
(e -
1)0? - l)/2
(7.62)
JVs = (! - l)(i7* - 1)
La distincin entre formas lagrangianas y serendpitas desaparece, ya que
para estas ltimas se omite ahora simplemente la ltima funcin de forma.
150
(7.63)
L 2ji_2 = - ( l + )
(7.64)
(7.65)
[ ( L i - L 1'jp - ( L
Nh ~ 2 )
1 + L 2)p]
p par
(7.66)
p impar
Se deduce de la Ec. (7.64) que estas funciones de forma son nulas en los
nodos 1 y 2. Adems, se puede demostrar fcilmente que
ser^ nula
a lo largo de los lados 3 1 y 3 2 del tringulo, por lo que la continuidad
Co de la aproximacin est asegurada.
Debe notarse que en este caso, para p > 3, el nmero de funciones
jerrquicas que surgen de los lados del elemento de esta manera es insuficiente
para definir un polinomio completo de orden p y deben introducirse funciones
jerrquicas internas, que son idnticamente nulas en el contorno; por ejemplo,
FUNCIONES DE FORMA
151
(a)
(b)
152
n
u = Y J Niai
(7.67)
i= 1
153
FUNCIONES DE FORMA
11110
'max'/^rnin
36
Ensamblaje de 4 elementos
(Reduccin del nmero de condicionamiento^ = 13.2)
154
Referencias
1. P.C. DUNNE, Complete polynomial displacement fields for finite element
methods , Trans. Roy. Aero. Soc.t 72, p. 245, 1968.
2. B.M. IRONS, J.G. ERGATOUDIS y O.C. ZIENKIEWICZ, Comentarios a la
ref. 1, Trans. Roy. Aero. Soc., 72, pp. 709-11, 1968.
3. J.G. ERGATOUDIS, B.M. IRONS y O.C. ZIENKIEWICZ, Curved,
isoparametric, quadrilateral elements for finite element anlaysis Int. J. Solids
Struct., 4, pp. 31-42, 1968.
4. O.C. ZIENKIEWICZ et al., Iso-parametric and associated elements families for
two and three dimensional analysis , Captulo 13 de Finite Element Methods in
Stress Analysis, (eds. I. Holand and K. Bell), Univ. Tc. de Noruega, Tapir
Press, Noruega, Trondheim, 1969.
5. J.G. ERGATOUDIS, Quadrilateral elements in plae analysis: introduction to
solid analysis, M.Sc. thesis, University of Wales, Swansea, 1966.
6. J.H. ARGYRIS, K.E. BUCK, H.M. HILBER, G. MARECZEC y D.W.
SCHARPF, Some new elements for matrix displacement methods , 2nd. Conf.
on Matrix Methods in Struct. Mech.t Air Forc Inst. of Techn., Wright Patterson
Base, Ohio, Oct. 1968.
7. R.L. TAYLOR, On completeness of shape functions for finite element analysis ,
Int. J. Num. Meth. Eng., 4, pp. 17-22, 1972.
8. F.C. SCOTT, UA quartic, two dimensional isoparametric element", Undergradate Project, Univ. of Wales, Swansea, 1968.
9. O.C. ZIENKIEWICZ, B.M. IRONS, J. CAMPBELL y F.C. SCOTT, Three
dimensional stress analysis , Int. Un. Th. Appl. Mech. Symposium on High Speed
Computing in Elasticity, Lige, 1970.
10. W.P. DOHERTY, E.L. WILSON y R.L. TAYLOR, Stress Analysis of
Axisymmetric Solids Utilizing Higher-Order Quadrilateral Finite Elements,
Report 69-3, Struc tur al Engineering Laboratory, Univ. of California, Berkeley,
Jan. 1969.
11. J.H. ARGYRIS, I. FRIED y D.W. SCHARPF, The TET 20 and the TEA 8
elements for the matrix displacement method , Aero. J., 72, pp. 618-25, 1968.
12. P. SILVESTER, Higher order polynomial triangular finite elements for
FUNCIONES DE FORMA
155
Captulo 8
ELEMENTOS TRANSFORMADOS
E INTEGRACIN NUMRICA
ELEMENTOS INFINITOS
Y DE SINGULARIDAD
8.1 Introduccin
Hemos visto en el captulo anterior cm o pueden obtenerse algunas
familias genricas de elementos finitos. Cada nuevo miembro de la familia
se caracteriza por un nmero de nodos progresivamente mayor, lo que
implica una mayor precisin y presumiblemente que el nmero de elementos
necesarios para obtener una solucin correcta disminuya rpidamente. Para
asegurar que con un nmero pequeo de elementos pueda representarse una
form a relativamente complicada com o las que aparecen ms frecuentemente
en los problemas reales, ms que en los tericos, ya no son suficientes simples
rectngulos o tringulos. Este captulo trata, por consiguiente, del tema de
la transformacin de estas formas sencillas en otras de configuracin ms
arbitraria.
Los elementos de los tipos bsicos uni, bi y tridimensionales se
transformarn punto por punto en formas distorsionadas com o las
representadas en las Figuras 8.1 y 8.2.
En dichas figuras se muestra cm o al dibujar en un espacio cartesiano
x , y , z la forma distorsionada de las coordenadas f , rj, o de las L\, L 2 , L 3 ,
4 se obtiene un nuevo sistema de coordenadas curvilneas.
No slo pueden distorsionarse los elementos bidimensionales en otros
tambin bidimensionales, sino que adems pueden transformarse en otros de
tres dimensiones, tal com o se indica para los elementos planos de la Figura 8.2
que se distorsionan en figuras tridimensionales. Este principio es aplicable
con carcter general, con tal que pueda establecerse una correspondencia
biunvoca entre las coordenadas cartesianas y las curvih'neas, o sea, si pueden
establecerse relaciones de la forma
157
ELEMENTOS TRANSFORMADOS
E INTEGRACIN
NUMRICA
160
E l e m p le o d e fu n cio n e s d e fo r m a p a r a e s ta b le ce r
tra n s fo r m a c io n e s d e c o o r d e n a d a s
161
Figura 8.3 Dibujo por computador de las coordenadas curvilneas para elementos
cbicos y cuadrticos (distorsin admisible).
162
163
164
165
a < 180c
Figura
8 .6
T E O R E M A 1.
166
Figura 8.7 Condiciones neces?jias de continuidad para la divisin real del espacio.
8.4
(8.3)
(8.4)
las funciones de forma que definen la geometra y la funcin son las mismas,
y los elementos se llaman entonces isoparamtricos.
Figura
8 .8
167
168
G dV
/,
(8.5)
B t D B dV
( 8 .6 )
N Tb dV
(8.7)
/,
dNj
0
dNj
dy
dNj
dy
dx
( 8 .8 )
169
>=
drj
dNi
dC
dx
dy
d z'
d i
dx
d i
di
dy
dz
dx
dNi
drj
df)
dy
dx
dy
dz
dNi
dNi
dC
d(
k dz t
k dz j
' d N i>
dx
dNi
> J i a
dy
(8J0)
dNi ]
di
dx
dNi
T -l <
= J
dy
dNi
dNi
( 8. 11)
dr,
dNi
k dz ,
d< >
^ dN
a p
J=
dN[
E - g f y i,
^ dN!
y ^ di
^ dN]
^ dN'
^ 8N'
S ftP" ^ m Vi
^ dN'
dN'.
_ 8N
T L
E - g ^ ,
x -a t* ^
d(
dN[
dN[
di
*i, yi , zx
dN[
dN[
*2 3/2j 2
di]
drj
3N[
8C
d(
(8.12)
(8.13)
170
I - i I - i I - i ( n' ()di n d(
(814)
j NTt
dA
171
dA =
di
dy
' dx '
drj
di
k V i dy
^ s
drj
dz
dz
di
drj
di drj
dy
d
dz
d(
d
en superficies de 77 constante.
172
= L ,
T) = L 2
(8.15)
( = l3
d N id ln
d N id L i
dU di
dh2 dt
dLz d
dN^dL*
dU di
dNj
~ dLx
dNj
dLA
1 1 77 C ___
/
Jo
G ( f , , , O d f dv d (
(8.17)
173
n=
j f F (u ,
* , y ) dfi +
E ( u ,.. ,)dT
(8.18)
f du '
dx
du
dy
> = j _ 1 ( , ?)
1
j du
dl j
174
= * < < = Na
N = N (,ij,C )
(8.20)
1=1
y = S Nm
x = ^2NiXi
z = YlN{Zi
(8-21)
N {X i+ a 3 ^
iV /;+a 4 ^
N{Z{ ( 8 .2 2 )
Si se toma
a{ = on + a 2Xi + a 3yt + a 4zty se compara ia expresin (8.20) con la (8.22) se observa que se obtiene una
identidad entre ellas siempre que
= i
Como ste es el requisito normal para las funciones de forma de los elementos
estndar [viz. Ec. (7.4)] se puede concluir que el siguiente teorema es vlido.
T EO RE M A 3. Todos los elementos isoparamtricos satisfacen el criterio de
derivada constante
Dado que los elementos subparamtricos pueden expresarse com o casos
particulares de la transformacin isoparamtrica, este teorema es obviamente
vlido jpara ellos.
Tiene inters continuar estas consideraciones y ver bajo qu
circunstancias se pueden conseguir desarrollos polinmicos de mayor orden
mediante transformaciones.
El sencillo caso lineal en el que se ha
adivinado la solucin debe desarrollarse considerando en detalle los
trminos polinmicos que aparecen en expresiones tales com o la ( 8 .2 0 ) y
( 8 .2 2 ) y establecer las condiciones en las que se igualan los coeficientes
adecuados.
175
Nodos transformados
= y , n 'x
1
4
y = 1 2 N yi
<8-23)
(8-24)
u = Pi + & +
+ A f +
+ A V
(8-25)
176
u = ^
Nidi
(8.26a)
N <i
(8.26b)
9
u
1
6i
62
6377
64 ^
65^77
(8.27)
61
+ fcjf +
6377
64 ^
+ + bg2T] + b ^ 2r2
(8.28)
177
Exacta
Tensin trx
en la seccin A-A
(punto de Gauss)
Figura
8 .1 1
178
/ = i / ( ) = f i / ( i )
(8-29)
I = /(-!) + /(!)
(8-30)
(8.31)
179
Figura 8.12 Integraciones de Newton Cotes (a) y de Gauss (b). Cada una integra
exactamente un polinomio de sptimo grado [es decir, con un error
de 0 {/i8)].
y para n = 4:
I=
f(~\) + 3f(\) + / ( ! ) )
(8-32)
180
TABLA 8.1
A B S C IS A S Y C O E F IC IE N T E S D E P E S O D E L A F R M U L A D
LA C U A D R A T U R A D E GAUSS
f ( x ) dx =
j= l
-1
n = 1
2-00000 00000 00000
0
n= 2
0-94910
0-74153
0-40584
0-00000
79123
11855
51513
00000
42759
99394
77397
00000
0-96028
0-79666
0-52553
0-18343
98564
64774
24099
46424
97536
13627
16329
95650
0-96816
0-83603
0-61337
0-32425
0-00000
02395
11073
14327
34234
00000
07626
26636
00590
03809
00000
0-97390
0-86560
0-67940
0-43339
0-14887
65285
33666
95682
53941
43389
17172
88985
99024
29247
81631
0-12948
0-27970
0-38183
0-41795
49661
53914
00505
91836
68870
89277
05119
73469
0-10122
0-22238
0-31370
0-36268
85362
10344
66458
37833
90376
53374
77887
78362
0-08127
0-18064
0-26061
0-31234
0-33023
43883
81606
06964
70770
93550
61574
94857
02935
40003
01260
0-06667
0 14945
0-21908
0-26926
0-29552
13443
13491
63625
67193
42247
08688
50581
15982
09996
14753
n = 8
n =
n = 10
181
/ = / ( { ) #
# < /(& )
(8-33)
y volvemos a suponer una expresin polinmica, es fcil ver que para n puntos
tenemos 2 n incgnitas
y &), y por tanto se puede construir un polinomio
de grado 2n 1 y obtener su integral exacta [Figura 8.12(6)]. El error sera
as de orden 0 (h ? n).
Las ecuaciones simultneas que se manejan son difciles de resolver, pero
algo de manipulacin matemtica demuestra que la solucin puede obtenerse
exph'citamente en funcin de polinomios de Legendre. Por ello, este mtodo
particular suele ser conocido com o cuadratura de Gauss-Legendre.
En la Tabla 8.1 se muestran las posiciones y los coeficientes de peso para
la integracin de Gauss.
En el anlisis por elementos finitos los clculos ms complicados son los
relativos a la determinacin de los valores de / , que es la funcin a integrar.
Por tanto, el procedimiento de Gauss es idealmente el ms favorable, puesto
que requiere un nmero mnimo de dichas evaluaciones, y a partir de ahora
ser utilizado exclusivamente.
Pueden deducirse otras expresiones para las funciones integrales del tipo
1
1
w (()m
d =
(8-34)
1
I n t e g r a c i n n u m r ic a e n r e g io n e s r e c t a n g u la r e s o p r is m t ic a s
re cta s
1= f f
(8-35)
f 1fU, n) di =
J- 1
H j f ( ^ , n) =
j=l
( 8 .3 6 )
182
il
=1
j= 1
^(r)drj=E
i=l ;=1
(8.37)
Anlogamente, para un prisma recto se obtiene
I=
f ^
y -iy -w -i
O ^drtdC =
m=lj-_li=1
(8.38)
1=
rl
i-i /_ !
fU,n)
^ = E
(-39)
Resulta que en este caso basta solamente con siete puntos para obtener
el mismo grado de precisin. Irons 11 ha desarrollado y se han empleado
183
1 ~L\
(8.40)
8 .2
F R M U L A S P A R A IN T E G R A C I N N U M R IC A D E T R I N G U L O S
Orden
~
~ "
Coordenadas
_
Error
Puntos
,
Pesos
______________________ Trian guiares_____________
Figura
Lineal
R = 0 { h 2)
I I I
3 13 3
Cuadr tico
0 (h
3)
Cbico
/ c
a
b
\
R = 0 (h
4)
c
d
a
b
Quinto
R = 0 { h 6)
b
c
/ b f\
3
3
i2 0 i2
1 1 1
3' 3 3
i.A .A )
A.ai.A }
A
. J
a 21P i 1P l
A i a JiA /
c
d
e
con
1 - 0.0597158717
A - 0.04701420641
- 0.7974269853
A = 0.1012865073
1
3
27
48
25
48
0.2250000000
0.1323941527
0.1259391805
184
TABLA 8.3
FRMULAS PARA INTEGRACIN NUMRICA DE TETRAEDROS
Nro.
_ ,
Orden
Lineal
Cuadrtico
_
Error
_
Puntos
R = 0 (h > )
Figura
a y/ 3 ,P ,0
P , a tfrl3
P,P,a,l3
/3, 3, P, a
a = 0.58541020
P = 0.13819660
1 1
1
4> 4 ' 4 4
i 1 1 i
2 6 6 6
9
20
y
/
/e \ \
/ %
U
\
Cbico
/ * . *- ------- R 0 ( h 4 )
^
R = 0 (h 3)
/
/ 0
_
Pesos
/**
Coordenadas
. . ,, .
tetraedncas
6 2 6 6
1 1 1 1
6 >6' 2 6
9
20
P
c
I I I I
6 6* 6 2
JL
20
8 .1 1
185
O r d e n d e in te g ra ci n n u m rica n e ce sa rio f
En un problema
186
1,
elementos lineales
p =
2,
0 ( h 3)
0 ( / i 5)
p = 3,
(/i)
(8.41)
187
(a)
^
Suprimido un grado
de libertad
(>)
A
(c)
LINEAL
CU AD RA TICO
Grados de
Libertad
4 x 2 3 = 5
Relacin
Independiente
>
1x3 = 3
Grados de
Libertad
Relacin
Independiente
2 x 8 - 3 = 13 >
singular
6
x 2 3 = 9
>
ib)
(c) 25 x 2 - 18 = 32 <
2x3 = 6
4 x 3 = 12
singular
13 x 2 3 = 23 >
8 x 3 = 24
singular
16 x 3 = 48
48 x 2 = 96
<
64 x 3 = 192
188
189
(*)
190
* ' ( ( ) = ( 1 0 / 2
N l(V) = ( l - V)/ 2
^ 2(f) = (l + )/2
N2(,,) = ( l + , ) / 2
(8-43)
(8-44)
+ N'iOx'ivM-h-i)
observamos que
4 = P r f + P( - P ( Pv
(8.46)
es una superficie alisada que interpola exactam ente las funciones de contorno.
La extensin a funciones de orden de combinacin ms elevado es casi
evidente, y el mtodo para transformar la regin cuadrilateral 1 < , 77 < 1
en cualquier forma arbitraria es obvio inmediatamente.
( 1,
191
1)
192
193
P,
O,
+ ^1 +
XQ
(8.48a)
R,
194
corresponde a
x =
x q
i =
= 1
corresponde a
x = oo
corresponde a
x =
xp
XQ ~ i ~~Xp
(8.48b)
= Nc + Nq
(8.49)
(8.50)
Si,
por ejemplo, la funcin incgnita u se aproxima mediante una funcin
polinmica usando, digamos, funciones de forma jerrquicas, y dando
u ato +
+ <*2 2 +
0 3^3
(8.51)
= ! _
x - xc
(g.52)
r
195
* = - r r ^ + (1+iT L K
y = - Y Z J yci + ( i + r + ) 90
z = ^ ^ ^ zcx +
^1
ZQ\
(853)
(en tres dimensiones)
x = N 1(r})
I fiM = ^
JVo(l) =
196
O R
en el oo
o * 3
en el oo
Elemento
estndar
Elemento estndar
infinito
0.01_ _ _ _ 1_ _ _ _ _ I_ _ _ _ _ i- - - - - - ^
0
197
= !)
198
Elementos infinitos
Figura
8 .2 1
199
(a)
(c)
200
Figura 8.23 Esquema de los clculos para efectuar numricamente las integrales
del elemento.
Inversamente, podrn emplearse las mismas rutinas de las funciones de
forma en muchas clases diferentes de problemas, tal com o se expresan en el
Captulo 15.
Se puede conseguir as con facilidad el uso de* diferentes elementos para
comprobar la eficacia de un nuevo elemento en un contexto dado, o la
ampliacin de los programas al anlisis de nuevas situaciones, evitando
clculos algebraicos excesivos (con sus inherentes probabilidades de error).
El ordenador queda situado as en el sitio que le corresponde, o sea, en
el de servidor obediente capaz de ahorrarnos trabajos rutinarios.
La mayor ventaja prctica del empleo de rutinas generales para las
funciones de forma es que sus errores pueden ser comprobados mediante
un programa sencillo, con el test de la parcela (vase el Captulo 1 1 ) jugando
un papel crucial.
La incorporacin a un sistema com o ste de elementos sencillos
integrables exactamente no repercute en gran manera, puesto que los tiempos
empleados en la integracin exacta y en la numrica son, en estos casos, casi
idnticos.
201
202
Figura 8.26 Lmina semiesfrica delgada con bordes empotrados. Solucin con 15
y 24 elementos cbicos.
203
tuO
'O 'f
&
u
ll
* 3
P.
bO
rs O
::ito
p<
z =
Oy r
'8 3
Figura 8.27 Una esfera giratoria como problema tridimensional. Siete elementos cuadrticos. Tensiones a lo largo de
204
bO
(X
205
206
Figura 8.30 Presa bveda en valle rgido - tensiones verticales en la seccin media.
207
208
209
Zona de anlisis
210
Referencias
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
I.C. TAIG, Structural analysis by the matrix displacement method, Engl. Electric
Aviation Report No. SOI7, 1961.
B.M. IRONS, Numerical integration applied to finite element methods , Conf.
Use of Digital Compvters in Struct. Eng. Univ. of Newcastle, 1966.
B.M. IRONS, MEngineering application o f numerical integration in stiffness
method , JAIAA, 14, pp. 2035-7 , 1966.
S.A. COONS, Surfaces for Computer aided design of space form> MIT. Project
MAC, M AC-TR-41,1967.
A.R. FORREST, Curves and Surfaces for Computer Aided Design, Computer
Aided Design Group, Cambridge, England, 1968.
G. STRANG y G.J. FIX, An Analysis of the Finite Element Method, pp. 156-63,
Prentice-Hall, 1973.
W.B. JORDAN, The plae isoparametric structural elementa General Elec. Co.,
Report KAPL-M-7112, Schenectady, New York, 1970.
F.D. MURNAGHAN, Finite Deformation of an Elastic Solid, Wiley, 1951.
E.L. WACHSPRESS, High order curved finite elementa , Int. J. Num. Eng.,
17, 735-45,1981.
Z. KOPAL, Numerical Analysis, 2nd. ed., Chapman k Hall, 1961.
211
11. B.M. IRONS, Quadrature rules for brick based finite elements , Int. J. Num.
Meih. Eng., 3, 1971.
12. T.K. HELLEN, Effective quadrature rules for quadxatic solid isoparametric
finite elements , Int. J. Num. Meih. Eng., 4, pp. 597-600,1972.
13. RADAU, Joum de Math., 3, p. 283, 1880.
14. E.G. ANDERSON, B.M. IRONS y O.C. ZIENKIEWICZ, Vibration and
stability of plates using finite elements , Int. J. Solids Struct., 4, pp. 1031-55,
1968.
15. P.C. HAMMER, O.P. MARLOWE y A.H. STROUD, Numerical integration
over simplexes and cones , Math. Tables Aids Comp., 1 0 , pp. 130-7, 1956.
16. C.A. FELIPPA, Refined finite element analysis of linear and non-linear twodimensional structures, Structures Materials Research Report, No. 66-22, Univ.
of California, Berkeley, Oct. 1966.
17. G.R. COWPER, Gaussian quadrature formulas for triangles , Int. J. Num.
Meih. Eng., 7, pp. 405-8, 1973.
18. G.J. FIX, On the effect of quadrature errors in the finite element method ,
Advances *n Compvtational Methods in Structural Mechanics and Design, (eds.
J.T. Oden, R.W. Clough and Y. Yamamoto), pp. 55-68, Univ. of Alabama
Press, 1972. (Ver tamb. The Mathematical Foundations of the Finite Element
Mehod with Applications to Differential Equations (ed. A.K. Aziz), pp. 525-56,
Academic Press, 1972.)
19. I. FRIED, Accuracy and condition of curved (isoparametric) finite elements ,
J. Sound Vibration, 31, pp. 345-55, 1973.
2 0 . I. FRIED, Numerical integration in the finite element method , Comp. Struc.,
4, pp. 921-32,1974.
21. M. ZLAMAL, Curved elements in the finite element method , SIAM J. Num.
Anal., 1 1 , pp. 347-62, 1974.
22. O.C. ZIENKIEWICZ y D.V. PHILIPS, An automatic mesh generation scheme
for plae and curved element domains , Int. J. Num. Meih. Eng., 3, pp. 519-28,
1971.
23. W.J. GORDON, Blending-function methods of bivariate and multivariate
interpolation and approximation , SIAM J. Num. Anal., 8 , pp. 158-77, 1971.
24. W.J. GORDON y C.A. HALL, Construction of curvilinear co-ordinate systems
and application to mesh generation , Int. J. Num. Meth. Eng., 7, pp. 461-77,
1973.
25. W.J. GORDON y C.A. HALL, Transfinite element methods blending-function
interpolation over arbitrary curved element domains , Numer. Math., 2 1 , pp.
109-29, 1973.
26. R.W. THATCHER, On the finite element method for unbounded regions ,
SIAM J. Numerical Analysis, 15, 3, pp. 466-76, Juio 1978.
27. P. SILVESTER, D.A. LOWTHER, C.J. CARPENTER y E.A. WYATT,
Exterior finite elements for 2 -dimensional field problems with open
boundaries , Proc. IEE, 124, No. 12, Diciembre 1977.
28. S.F. SHEN, An aerodynamics looks at the finite element method , in Finite
Elements in Fluids, (eds R.H Gallagher et al.), Vol. 2, pp. 179-204, Wiley, 1975.
29. O.C. ZIENKIEWICZ, D.WA. KELLY, y P. BETTES, The coupling of the
finite element and boundary solution procedures , Int. J. Num. Meth. Eng., 1 1 ,
212
355-75. 1977.
30. P. BETTESS, Infinite elements . Int. J. Num. Meth. Eng., 1 1 , 53-64, 1977.
31. P. BETTESS y O.C. ZIENKIEWICZ, Diffraction and refraction off surface
waves using finite and infinite elements , Int. J. Num. Meth. Eng., 11, 1271-90,
1977.
32. C. BEER y J.L. MEEK, Infinite domain elements , Int. J. Num. Meth. Eng.,
17, 43-52, 1981.
33. O.C. ZIENKIEWICZ, C. EMSON y P. BETTES, A novel boundary infinite
element , Int. J. Num. 'Meth. Eng., 19, 393-404, 1983.
34. G.R. IRWIN, Fracture mechanics , in Structural Mechantes, Proc. lst Symp.
on Naval Structural Mechanics, (eds J.N. Goodier y N.J. Hoff), pp. 557-94,
Pergamon Press, 1960.
35. G.C. SIH (edt) Mechanics of Fracture Vol. I: Methods of Analysis and
Solutions of Crack Problems, Noordhoff, 1973.
36. Y. TADA, P.C. PARIS y G.R. IRWIN, The Stress Analysis of Cracks
Handbook , del Research Corp., Hellertown, Penn., 1973.
37. J.F. KNOTT, Fundamentis of Fracture Mechanics, Butterworths, 1973.
38. R.H. GALLAGHER, Survey and evaluation of the finite element method in
fracture mechanics analysis , in Proc. lst Int. Conf. on Structural Mechanics in
Reactor Technology, Vol. 6 , Part I, pp. 637-53, Berln, 1971.
39. N. LEVY, P.V. MARQAL y J.R. RICE, Progress in three-dimensional elasticplastic stress analysis for fracture mechanics , Nuc. Eng. Des.,17, 64-75,1971.
40. J.J. OGLESBY y O. LOMACKY, An evaluation of finite elemt methods for
the computation of elastic stress intensity factors , J. Eng. Ind., 95, 177-83,
1973.
41. T.H.H. PIAN, Crack elements , in Proc. World Congress on Finite Element
Methods in Structural Mechanics, Vol. 1 , pp. F1-F39, Bouxnemouth, 1975.
42. J.R. RICE y D.M. TRACEY, Computational fracture mechanics , in
Numerical and Computer Methods in Structured Mechanics (eds S.J. Fenves
et al.), pp. 555-624. Academic Press, 1973.
43. E.F. RYBICKI y S.E. BENZLEY (eds), Computational Fracture mechanics,
ASME Special Publication, 1975.
44. A. A. GRJFFITHS, The phenomena of flow and rupture in solids , Phil. Trans.
Roy. Soc. (London) A221, 163-98. Oct. 1920.
45. B. AAMODT y P.G. BERGAN, Propagation of elliptical surface cracks and
nonlinear fracture mechanics by the finite element method , in 5th Conf. on
Dimensioning ans Strength Clculations, Budapest, Oct. 1974.
46. P.G. BERGAN y B. AAMONDT, Finite element analysis of crack propagation
in three-dimensional solids under cyclic loadingin Proc. 2nd Int. Conf on
Structural Mechanics in Reactor Technology, Vol. III, Part G-H, 1974.
47. J.L SWEDLOW, Elasto-plastic cracked plates in plae strain , Int. J. Fract.
Mech., 5, 33-44, Marzo 1969.
48. T. YOKOBORI y A. KAMEL, The size of the plstic zone at tip of a crack in
plae strain state by the finite element method , Int. J Fract. Mech., 9, 98-100,
1973.
49. N. LEVY, P.V. MARGAL, W.J. OSTERGREN, y J.R. RICE, Small scale
yielding near a crack in plae strain: a finite element analysis , Int. J. Fract.
213
M e c h 7, 143-57, 1967.
50. J.R. DIXON y L.P. POOK, Stress intensity factors calculated generally by the
finite element technique , Natvre, 224, 166, 1969.
51. J.R. DIXON y J. STRANNIGAN, Determination o f energy release rates and
stress-intensity factors by the finite element method , J Strain Analysis, 7, 125
31. 1972.
52. V.B. WATWOOD, Finite element method for prediction of crack behavior ,
Nuc. Eng. Des., II (No. 2), 323-32, Marzo, 1970.
53. D.F. MOWBRAY, A note on the finite element method in linear fracture
mechanics , Eng. Fract. Mech., 2 , 173-6, 1970.
54. D.M. PARKS, A stiffness derivative finite element technique for determination
of elastic crack tip stress intensity factors , Int. J, Fract., 1 0 , 487-502, 1974.
55. T.K. HELLEN. On the method of virtual crack extensions , Int. J. num. Meth.
Eng., 9 (No. 1 ), 187-208, 1975.
56. J.R. RICE. A path-independent integral and the approximate analysis of strain
concentration by notches and cracks , J. Appl. Mech. Trans. Am. Soc. Mech.
Eng., 35, 379-86, 1968.
57. P. TONG y T.H.H. PIAN. On the convergence of the finite element method
for problems with singularity , Int. J. Solids Struct. 9, 313-21, 1972.
58. T.A. CRUSE y W. VANBUREN, Three dimensional elastic stress analysis of
fracture specimen with edge crack , Int. J. Fract. Mech., 7, 1-15, 1971.
59. E. BYSKOV, The calculation of stress intensity factors using the finite element
method with cracked elements , Int. J. Fract. Mech., 6 , 159-67, 1970.
60. P.F. WALSH, Numerical analysis in orthotropic linea fracture mechanics Inst.
Eng. Australia, Civ. Eng., Trans., 15, 115-19, 1973.
61. P.F. WALSH, The computation of stress intensity factors by a special finite
element technique , Int. J. Solids Struct., 7, 1333-42, Oct. 1971.
62. A.K. RAO, I.S. RAJU y A. MURTHY KRISHNA, A powerful hybrid method
in finite element analysis , Int. J. Num. Meath. Eng., 3, 389-403, 1971.
63. W.S. BLACKBURN, Calculation of stress intensity factors at crack tips using
special finite elements , in The Mathematics of Finite Elements (ed. J.R.
Whiteman), pp. 327-36, Academic Press, 1973.
64. D.M TRACEY, Finite elements for detemination of crack tip elastic stress
intensity factors , Eng Fract. Mecha.,3, 255-65, 1971.
65. R.D. HENSHELL y K.G. SHAW, Crack tip elements are unncessary , Int. J.
Num. Meth. Eng., 9, 495-509, 1975.
6 6 . R.S. BARSOUM, On the use of isoparametric finite elements in linear fracture
mechanics , Int. J. Num. Meth. Eng., 1 0 , 25-38,1976.
67. R.S. BARSOUM, Triangular quater point elements as elastic and perfectly
plstic crack tip elements , Int. J. Num. Meth. Eng., 1 1 , 85-98, 1977.
6 8 . H.D HIBBIT, Some properties o f singular isoparametric elements, Int. J. Num.
Meth. eng., 11, 180-4, 1977.
69. S.E. BENZLEY, Representaron of singularities with isoparametric finite
elements , Int. J. Num Meth. Eng., 8 (No. 3), 537-45, 1974.
70. B.M. IRONS, Economical Computer techniques for numerically integratedfinite
elements , Int. J. Num. Meth. Eng., 1, pp. 201-3, 1969.
71. O.C. ZIENKIEWICZ, B.M. IRONS, J.G. ERGATOUDIS, S. AHMAD y F.C.
214
72.
73.
74.
75.
76.
77.
78.
SCOTT, Isoparametric and associated element families for two and three
dimensional analysis , in Proc. Course on Finite Element Methods in Stress
Analysis, (eds. I. Holand and K. Bell), Trondheim Tech. University, 1969.
B.M. IRONS y O.C. ZIENKIEWICZ, The isoparametric finite element system
- a new concept in finite element analysis , Proc. Conf. Recent Advances in
Stress Analysis, Royal Aero Soc., 1968.
J.G. ERGATOUDIS, B.M. IRONS y O.C. ZIENKIEWICZ, Curved,
isoparametric, quadrilateral elements for finite element analaysis , Int. J.
Solids Struct., 4, pp. 31-42, 1968.
J.G. ERGATOUDIS, Isoparametric elements in two and three dimensional
analaysis, Ph.D. Thesis, University of Wales, Swansea, 1968.
J.G. ERGATOUDIS, B.M. IRONS y O.C. ZIENKIEWICZ, Three dimensional
analysis of arch dams and their foundations , Symposium on Arch Dams, Inst.
Civ. Eng., London, 1968.
O.C. ZIENKIEWICZ, B.M. IRONS, J. CAMPBELL y F.C. SCOTT, Three
dimensional stress analysis , Int. Un. Th. Appl. Mech. Symp. on High Speed
Computing in Elasticity, Lige, 1970.
O.C. ZIENKIEWICZ, Isoparametric and other numerically integrated
elements , in Numrical and Computer Methods in Structural Mechanics, (ed.
S.J. Fenves, N. Perrone, A.R. Robinson, y W.C. Schnobrich), pp. 13-41,
Academic Press, 1973.
O.C. ZIENKIEWICZ y F.C. SCOTT, On the principie of repeatability and
its application in analysis of turbine and pump impellers , Int. J. Num. Meth.
Eng., 9, pp. 445-52, 1972.
Captulo 9
GENERALIZACIN DE LOS
CONCEPTOS DE ELEMENTOS
FINITOS. MTODOS DE RESIDUOS
PONDERADOS Y VARIACION ALES
9.1
I n t r o d u c c i n
jdiftnfiru:ialA.c>,v_b>.c
(9.2)
216
----------------------------- x
Figura 9.1 Dominio Q y contorno T del problema.
n
u = ^
i
= Na
(9-3)
en la que
son funciones de forma expresadas en funcin de variables
independientes (tales com o las coordenadas x, y, etc.), y donde todos o
algunos de los parmetros
son incgnitas.
Recordemos que en el captulo anterior se emple una aproximacin de
las mismas caractersticas para estudiar problemas de elasticidad. Ya se vio
entonces: a) que las funciones de forma normalmente se definen localmente
para cada subdominio o elemento, y b) que se recuperan las propiedades de
los sistemas discretos si las ecuaciones de aproximacin se expresan en forma
integral, com o en las ecuaciones ( 2 .2 2 ) y (2.26).
Teniendo esto presente trataremos de expresar la ecuacin de la cual
hayan de obtenerse los parmetros desconocidos a en una forma integral
tal com o
G j( )d ft +
g j(u )d T =
j =
a n
(9.4)
(9.5)
217
en fi
(9-6)
B (u ) = M u + t = 0
en T
(9.7)
(9.8)
siendo
m
k ; = E
k ;
( 9'9)
e 1
a w
= ( * ) + ( k% ) + Q =
B{4.) = 4>~4, =
=
on
en
, S
fc - g =
(9-10)
en L
28
= (*& )+i
( fcS ) + 8 + v% + Q =
( 9i i )
A(u) =
dx
d<j>
(9.12)
9yen fi y
en
en r c
donde qn es el flujo normal al contorno.
Aqu la funcin incgnita u est representada por el vector
219
(9.13)
donde
f vi 1
(9.14)
-{?
es un conjunto de funciones arbitrarias de nmero igual al de ecuaciones (o
componentes de u) del problema.
Esto tiene importantes consecuencias. Puede afirmarse que si (9.1 S)
se cumple para cualquier v , las ecuaciones diferenciales (9.1) debern
satisfacerse en todos los puntos del dominio. La prueba de la validez de
esta afirmacin es obvia si consideramos la posibilidad de que A (u ) ^ 0
en un punto o porcin del dominio. Inmediatamente se puede encontrar una
funcin v que haga la integral (9.13) distinta de cero, con lo que se demuestra
lo afirmado.
Si han de satisfacerse simultneamente las condiciones de contorno
(9.12), ello puede asegurarse eligiendo adecuadamente la funcin o bien
imponiendo que
j
(9.15)
Ja
v r A (u )< 0 +
Jr
v TB ( u ) d r = 0
(9.16)
220
221
J C (v )t D (u ) dl + J E (v )r F (u )d r = 0
(9.17)
F o rm a d b il d e la e cu a ci n d e tra n s m isi n d el c a lo r p o r
c o n d u c c i n c o n c o n d ic io n e s d e c o n to r n o n a tu ra les y fo rz a d a s
(9.18)
advirtiendo que v y v son funciones escalares y presuponiendo que una de
las condiciones de contorno, tal como
0 - ^ = 0
222
(9.19)
-L
( * 8
+% k%
- Qv
) dx d y + i
vk
(Sni+ny) dr+
+/r*[*IH^=0
(9-2o
)
(9.21)
v = -v
(9.22)
y, adems haciendo
podemos escribir, sin prdida de generalizacin (ya que ambas funciones son
arbitrarias), la ecuacin (9.20) como
V TvkV <f>d- v Q d - f
Jn
Jn
Jvq
vqdT-
v k ^ -d T = 0
(9.23)
Observemos que:
a) la variable <f> desaparece de las integrales sobre el contorno
condiciones de contorno
y que las
r
u =
Na = N a
i
v = wj
j = 1an
(9.24)
w jA (N a )d
+J
w j B ( N a ) dT =
0 j=
an
(9.25)
o bien, de (9.17),
/ C (w v )r D (N a ) d + ( E (w ,-)r F (N a ) d r = 0
Jn
Jr
j = la n
(9.26)
224
9.5 E je m p lo s
Para ilustrar el mtodo de aproximacin mediante residuos ponderados
y su relacin con el mtodo de los elementos finitos, consideramos algunos
ejemplos concretos.
Ejemplo 1. Ecuacin unidimensional de la transmisin del calor por
conduccin (Figura 9.3). El problema a analizar es el de la representacin
unidimensional de la transmisin del calor por conduccin (9.10) con
coeficiente de conductividad unidad (este problema podra igualmente
representar muy bien otros muchos problemas de la Fsica, por ejemplo, la
deformacin de una cuerda bajo carga). En este caso, tenemos
A(<>) = + Q = 0
dx
(9.27)
(0 < < L)
(9.28)
")
Lf // 1
Af,
II
S.
(2 = 1
-m
^
*
*
IV, (Galerkin)
X7
vV ,
J o
226
n X
sin ~^r
i
X
Colocacin por
plintos
X
W x
Figura 9.3 Conduccin unidimensional del calor, (a) Solucin con un trmino
utilizando diferentes procedimientos de ponderacin. ( 6 ) Solucin con
dos trminos utilizando diferentes procedimientos de ponderacin.
jVj = sin * x
Colocacin por
subdominios
^2
1
1t ................
228
dx = 0
(9.30)
(9.31)
n - f
fj = ~ I
S -
(9.32)
W jQdx
K ji=
f L dwj dNj
-T ^ -r + d x
f = -
fL
w3 Q d x
(9.33)
Ni = (L e - x)/L e
(9.34)
(9.35)
f ) = - Q L e 2 = f f
Dejamos para el lector el ensamblaje de una ecuacin tpica para el nodo
i y le aconsejamos que lleve a cabo los clculos que conducen a los resultados
de la Figura 9.4 para subdivisiones en dos y tres elementos.
Figura 9.4 Solucin por elementos finitos mediante el mtodo de Galerkin del
problema de la Figura 9.3, utilizando funciones de forma lineales
definidas localmente.
Al com pararlos resultados de las Figuras 9.3 y 9.4 surgen inmediatamente
varios puntos interesantes. Con funciones de forma globales alisadas, el
m todo de Galerkin proporciona mejores resultados de conjunto que los
obtenidos para el mismo nmero de parmetros incgnita a con funciones
definidas localmente (a intervalos). Hallaremos que esto es el caso general
de las aproximaciones de mayor orden, que producen una mejor precisin.
An ms, se observar que la aproximacin lineal proporciona la solucin
exacta en los puntos nodales. Esto es una propiedad de la ecuacin particular
resuelta y desafortunadamente no representa una regla general aplicable a
230
los problemas generales7 (ver tambin Apndice 7). Por ltimo, observar
el lector cun fcil es formar las ecuaciones cualquiera que sea el grado
de subdivisin, una vez deducidas las propiedades del elemento [Ec.(9.35)].
No ocurre lo mismo si la aproximacin es global, siendo entonces preciso
realizar nuevas integraciones para cada parmetro que se introduce. Esta
caracterstica de repetibilidad es una de las ventajas del m todo de los
elementos finitos.
Ejemplo 2. Transmisin estacionaria del calor en dos dimensiones por
conduccin y conveccin. Formulacin de Galerkin. Este problema ya ha
sido presentado en la Seccin 9.1, y definido mediante la Ec.(9.11) con las
condiciones de contorno adecuadas. La nica diferencia con la ecuacin de
la conduccin simple de calor, cuya forma dbil ya fue establecida mediante
la Ec. (9.23), estriba en los trminos relativos a la conveccin. As pues,
sustituyendo v = wj en (9.23) y aadiendo los trminos de conveccin a la
misma, podemos escribir inmediatamente la ecuacin de residuos ponderados.
Se obtiene as
V TWjkV4> dQ
+v
Wj
WjQ d
WjqdT = 0
(9.36)
siendo <}> = ^
tal que los valores impuestos de
se dan en el contorno
r = <f> y a la vez Wj = 0 en dicho contorno.
Estableciendo la aproximacin de Galerkin, es decir, haciendo w j = TVy,
obtenemos inmediatamente un sistema de ecuaciones de la forma
Ka + f = 0
(9.37)
donde
K ji=
/ V TN jk V N i dl -
Jn \ dx
- L ( Niu9 +N3vW
fj
= -
N jQ dtt -
N jqdT
d =
oy }
dn
(9-38a)
(9.38b)
231
- y
x
h h
y para el nodo j ,
_ (.h - x ) y
1
h'
Con estas funciones de forma se invita al lector a que evale las contribuciones
de cada elemento y a que ensamble las ecuaciones para el punto 1 de la malla
numerada que se muestra en la Figura 9.5. El resultado ser (si no existen
contornos del tipo
y se supone que Q es constante dentro de cada elemento)
/I
\ 3 ~ 3 k ~ 6 k ) ai ~ \3 ~~ 2fc " 2 j
uh
/I
uh
/I
uh
vh\
/I
vh \
uh
uh
vh \
vh\
uh
vh\
" \3 ~~ 6* ~ 3 k ) 4_
/I
uh
vh\
vh \
(l
uh
vh \
+ ) a> - { 3 + k + k ) a = A h Q
,
^
232
6
7
<,
(9.40)
donde b r = [bx ,by,bz] representa las fuerzas que actan por unidad de
volumen (pudiendo muy bien incluir efectos inerciales).
En mecnica de slidos, las seis componentes de la tensin sern
generalmente funciones de las componentes del desplazamiento
u
= !t, v,w\
(9.41)
(9.42)
+ ^
d
+ ^
+ il)
(9.43)
J [Su((Txnx +
(9.44)
234
dx
d_
Se
dy
d_
dz
(Su)
(Sv)
Su
(9.45)
(8w)
t -- [tx, ty , tZ]
ScTtr dV -
J urbdF- J
u J t dT = 0
(9.47)
(9.48)
(9.49)
(9.50)
a = a(z)
Evidentemente, en la discretizacin final quedarn las derivadas de a con
respecto a z y el resultado ser un sistema de ecuaciones diferenciales
ordinarias con z com o variable independiente. En problemas lineales tal
sistema de ecuaciones tendr el aspecto
K a + C + -j- f = 0
(9.51)
donde = ^ a ( z ) , etc.
Tal discretizacin parcial se puede emplear evidentemente de diferentes
maneras, pero es especialmente til cuando el subdominio O no depende de
z, o sea, cuando el problema es prismtico. En tal caso, los coeficientes de la
ecuacin diferencial ordinaria (9.51) son independientes de z y la resolucin
del sistema puede llevarse a cabo eficazmente por los mtodos analticos
corrientes.
Este tipo de discretizacin parcial ha sido aplicado extensamente por
Kantorovitch 11 y frecuentemente recibe este nombre. En el segundo volumen
analizaremos estos procedimientos semianalticos en relacin con los slidos
prismticos, donde la solucin final se obtiene en funcin de series de Fourier.
El problema prismtico ms corriente es el que incluye el tiempo como
variable, cuando el dominio ft no est sujeto a cambio. Es conveniente, a
ttulo de ejemplo, considerar aqu la ecuacin de la conduccin del calor en
236
A(* ) s ( * f a ) + ( * S ) + <J - e = 0
(952)
(9.54)
N {cN j dx dy
(9.55)
(9.56)
rL/2
dx dy =
7r2k
L/2 J - L / 2
f L/2
f L 2
*r2 j
L 2C
Cu = I
i
cN 1 dx dy = - y J
L/2 J
j
-L
J L/2
**
J -L / 2 J-L/2
(9.58)
Lo que nos lleva a una ecuacin diferencial ordinaria de una sola incgnita ai
Cu =
da,\
+ -^ 11^1 + / i =
(9.59)
238
N 2 = eos
Li
eos
Li
(9.60)
9.8 Convergencia
En las secciones anteriores hemos examinado cm o pueden obtenerse
soluciones aproximadas mediante un desarrollo de la funcin incgnita
expresada por n^edio de funciones de prueba o de forma. Ms an, hemos
establecido las condiciones necesarias que han de satisfacer dichas funciones
para que puedan calcularse en el dominio distintas integrales. As, si algunas
de las integrales contienen slo valores de N{ o de sus derivadas primeras,
N i tendr que ser de continuidad C q .
Si contienen derivadas segundas,
se necesita continuidad C i, etc. El problema que todava no nos hemos
planteado es el del grado de. bondad de la aproximacin y cmo podemos
mejorarla sistemticamente para acercarnos ms a la solucin exacta (ver
Captulo 14). La primera pregunta es casi imposible de contestar y presupone
el conocimiento de la solucin exacta. La segunda es ms racional y puede
contestarse si consideramos algn procedimiento sistemtico segn el cual
pueda suponerse que tiene lugar el aumento del nmero de parmetros a en
el desarrollo estndar de la Ec. (9.3),
r
= ^ N a
i
En algunos de los ejemplos hemos supuesto, en efecto, una serie de Fourier
limitada a un nmero finito de trminos, con una expresin nica para las
funciones de prueba en todo el dominio. En este caso, la adicin de nuevos
trminos implicara simplemente una ampliacin del nmero de trminos
de la serie que se incluiran en el anlisis, y com o las series de Fourier
presentan la conocida propiedad de representar cualquier funcin deseada con
la precisin que se desee sin ms que tomar el nmero de trminos necesario,
podemos decir que la aproximacin converge a la solucin exacta al aumentar
el nmero de trminos.
En otros ejemplos de este captulo hemos empleado funciones definidas
loealmente, siendo stas fundamentales en el anlisis mediante elementos
finitos. En este caso hemos supuesto tcitamente que se obtiene convergencia
al disminuir el tamao de los elementos y, por consiguiente, al incrementar
el nmero de parmetros nodales a. Es este tipo de convergencia el que
240
11
=i / (" ' )
dn + /r *
(9'61)
0.
(9.62)
fTT
dn c
=
a i +
aai
ou e
~z Ss2 +
o&2
dn e
* o
(s&n
^an 0
241
(9.63)
da.i
d
da
an
(9.64)
= 0
da.n
de las que podemos determinar los parmetros at-.
Estas ecuaciones
son expresiones integrales similares a las necesarias para la aproximacin
mediante elementos finitos, puesto que la definicin inicial de II se dio en
funcin de integrales definidas dentro del dominio y en el contorno.
El proceso de encontrar la estacionaridad respecto a los parmetros a es
un problema clsico y est asociado a los nombres de Rayleigh 12 y Ritz .13
Dicho proceso es de gran importancia en el anlisis por elementos finitos y
ha sido identificado por muchos investigadores com o proceso variacional .
Si el funcional II es de segundo grado , o sea, si la funcin u y sus
derivadas aparecen con exponentes menores o iguales a dos, la ecuacin (9.64)
se reducir a una expresin lineal del tipo general similar a la E c.(9.8), es
decir,
^ ==Ka + f =
da
(9.65)
K T8a
()-
(9.66)
d2n
*15.. = da{ daj
Por consiguiente, K y es simtrica.
= K
(9.67)
242
6 (| 5 ) = K a
K = Kr
(9.68)
n = ^aTK a + a r f
(9.69)
Que esto es cierto puede ser fcilmente com probado por el lector mediante
una sencilla diferenciacin, f
9 .1 0
Jn
u t A (u )
dU +
JT
u t B (u )
<r = 0.
(9.70)
en
fi
(9-71)
y
B (u ) = 0
en
T
Si A coincide exactamente con las ecuaciones diferenciales que gobiernan
el problema y B con sus condiciones de contorno, el principio variacional
ser natural.
Las ecuaciones (9.70) y (9.71) son conocidas com o las
ecuaciones diferenciales de Euler que corresponden al principio variacional
que exige la estacionaridad de II.
Es fcil demostrar que para todo
principio variacional se puede establecer el sistema de ecuaciones de Euler
correspondiente. Desafortunadamente, la inversa no es cierta y slo ciertas
formas de ecuaciones diferenciales son ecuaciones de Euler de un funcional
variacional. En la seccin siguiente consideraremos las condiciones necesarias
de existencia de principios variacionales y daremos las normas para establecer
II a partir de un sistema de ecuaciones diferenciales lineales adecuadas.
En esta seccin continuaremos suponiendo que el principio variacional es
conocido.
Para ilustrar el procedimiento, consideremos un ejemplo concreto.
Supongamos que el problema se especifica exigiendo la estacionaridad del
funcional
f Obsrvese que
SU =
Como K es simtrica,
aTK a = aTK a
y resulta
SIL = aT(K a + f) = 0
que es cierto para todo 6 aT y, por tanto,
Ka + f = 0
244
n = / [ b O
' + \ k { % ) 2- H
dn - / r, ^
(972)
n = L [* * ( ) +kt y S{ % ) - H
- l <**+)* (9-73)
Como
d
dxm
(9-74)
~jMs(s)+s(5H"+i,*(fH'r"0
(9.75a)
Esta expresin es similar a la Ec.(9.70) e inmediatamente vemos que las
ecuaciones de Euler son
en fi
B(<) = k -^ - g = 0
OTL
en L
(9.75b)
(9-76)
n = /nH
S r ai)
(9 77)
- l a Q Y , N ai d n - j T ? Y , N>a' d r
/ ,
dN{
\ dN j
*r, - k 1( E i? 'V
dNi
\ dNj
'*I ( S i r -) Tmt
- j Q Nj d
(y .o j
q Nj dT
dNi dNi
(9.79)
dNi dNj
(9.80)
N jqdT
(9.81)
246
8U =8aT f
N rA(Na)
+6ar
JT
N r B (N a )r
(9.82)
A(u) =
A 2( u )
(9.83)
L
Esta expresin no es nica ya que podemos ordenar el sistema de ecuaciones
A de muchas maneras. Slo una de stas corresponder exactamente con las
ecuaciones de Euler de un principio variacional (si ste existe), y el lector
puede comprobar que para un sistema de ecuaciones ponderadas segn el
procedimiento de Galerkin, en el mejor caso, solamente una de las diferentes
maneras de ordenar el vector A nos dar un sistema de ecuaciones simtrico.
Consideremos com o ejemplo el caso de la conduccin unidimensional del
calor (Ejemplo 1, Seccin 9.5), redefinido com o sistema de ecuaciones con
dos incgnitas: la temperatura <j> y el flujo de calor q. Sin tener en cuenta
por ahora las condiciones de contorno, podemos escribir dichas ecuaciones
com o sigue
d(f)
A (u ) =
dx
dq
dx
(9.84)
"
A(u) = Lu + b = 0
en las que
1
1
L=
d
dx
d
dx
n
U
(9.85)
u = E
N !
Nf
. / o N fL N j J , . / n
N A
Nl
dx
dx
Kij
(9.86)
un sistema de
Kji
(9.87)
A(u)
(9.88)
dx
3 dx
248
9.11
(9.89)
r L ^ n + t.c.
(9.90)
n = i ) [^uI'Lu + uTb
dl -f t.c.
(9.91)
^ u TLu + ^ u r (L u ) + <uTb
t
(9.92)
(9.93)
SU
[ u r (L u + b ) df + t.c.
(9.94)
Jn
(9.95)
L =
d x 2 d y2
b = Q
(9.96)
n _ i . [ H ^ + +c* ) +<w
dxdy
(9.97)
dx dy
(9.98)
teniendo en cuenta que los trminos del contorno con <f> prefijada no alteran
el principio.
Ejemplo 2. El segundo problema se refiere al sistema de ecuaciones ya
examinado en la seccin anterior [Ecs. (9.84)-(9.85). De nuevo se puede
comprobar que el operador es autoadjunto. El funcional se escribe ahora as
250
as
o
(9.99)
) dx
dx 2
dx
(9.100)
(9.101)
y que no es autoadjunto.
Sea p una funcin de x , por el momento indeterminada. Demostraremos
que es posible convertir la ecuacin (9.100) en una forma autoadjunta al
multiplicarla por esta funcin. El nuevo operador se transforma en
L=pL
(9.102)
f i>(pLj) dx = J
dx
Jn
, escribimos
(9.103)
dip
*1 + f p a d
Jl +
dx
dx
dj
dj (
)
dp\
= J [ - ^ Pd + ^ ( , P ~^J
dx + t.c.
+ j>3pj
(9.104)
dx + t.c.
251
Los trminos que presentan simetra (y, por tanto, son autoadjuntos) son
el primero y el ltimo. El trmino central slo ser simtrico si se anula, es
decir, si
dp
pa - = 0
dx
(9.105)
dp
= adx
P
p =
eSadx
(9.106)
(9.107)
(9.108)
si
g =
b T du
M x im o , m n im o o p u n to d e en silla d u ra ?
252
d(dH) = i
(9-109)
^ = 6ar K ra
(9.110)
9 .1 3
en
(9.111)
Jnf Ar C(u) d (l
(9.112)
(9.113)
(9.114)
en T
(9.115)
(9.116)
= ^ jb = b
(9.117)
254
an
{b}
de
<9-118)
o,2
(9.119)
sujeta a la condicin
ax - a 2 = 0
(9.120)
(9.121)
fll = a 2 = -1 2 .
Lagrange
A,
se
(9.122)
puede
encontrar
(9.123)
f=
<9i24)
A= 6
(9.125)
C(u) =
-j- Oj
ra=aTJ
n t a ( )
di + shT
t ( l 1
+ct)dn+
(9.126)
si las
127^
Jn
+ SaT f (L ]N )Tdf = 0
Com o esto ha de ser cierto para todas las variaciones a y b , obtenemos un
sistema de ecuaciones
Jn/ N t A ( ) d + Jn ( L 1N f X d
L
= 0
r (L! + C ^ d = 0
(9.128)
(9.129)
K cc
. V l U M s } -
256
donde
K ? j=
t L,N d
Jn
(9.131)
Jn
\T6C(\i)d=
Ja
u r R (A , u) d + t.c.
(9.132)
(9.133)
(9.134)
(9.135)
= 0 +
/
J
8\(<>-4>)dT+
J
r
8<j>\dT
(9.136)
(9.137)
dn
6\(<f>-4>)dT
+J
84>(^\ + k ^ j dT = 0
(9.138)
lo que debe ser cierto para todas las variaciones 8X y 8<f>. La primera integral
simplemente reitera la condicin
<j>-4> = O
en
(9.139)
(9.140)
771
&
Teniendo en cuenta que k -^ es igual al flujo q en el contorno
se ha
conseguido una interpretacin fsica del multiplicador.
Una vez que se ha identificado la variable lagrangiana, podemos
establecer un principio variacional modificado reemplazando A por su valor
identificado.
Podramos as escribir una nueva expresin para el ejemplo anterior:
n = n -
(9.141)
en la que II viene dado de nuevo por la expresin (9.72), pero <j> no est
sometida a ninguna condicin de contorno. El empleo de estos principios
258
(9.142)
[ XTA ( u ) d
(9.143)
(9.144)
[4
con
k
6 = / LTNd
J
f=
f r g d
Jo
(9.146)
(9.147)
A * (u ) = 0
(9.148)
y V A ( u ) < l = ^ u r A * (A )d n
(9.149)
y
donde el operador A * es tal que
c + .
(9.150)
260
donde
C r = [Ci,
C 21
S (C T C)
= 0
(9.151)
C r (u)C(u)
d l
(9.152)
a,\
18ai
^2 )^
(9.153)
= 0
7<2i
- = 0
U2
(9.154)
261
TABLA 9.1
a
10
ai
-1 2 0 0
-1 2 0 0
-1 2 0 0
- 1200
-12-00
a,
-13-50
-1 3 0 0
-12-43
- 12-78
-12-03
100
(9.155)
n = ^ aTK a + aTf
(9.156)
^ - ^
= 0
(9.157)
(9.158)
obtenindose
K\i = K\\ + 2a
/ j = fi 2aai
(9.159)
262
1 fL
d2w \ 2
fL
(9'160)
d x ~ J ^ w9 dx
(9.161)
sujeta a la condicin
dw
C = -B =
dx
(9.162)
(9.163)
(9.164)
(Ki + a K 2)a + f = 0
(9.165)
K 2a = - i / a
C(u) = A(u)
(9.166)
1 =
[ (A\ + A\ + - - - ) d n =
Jn
Jn
A T(u ) A ( u ) d n
(9.167)
264
Ji
(9.168)
'
P2
P3
(9.169)
.0
(9.170)
(9.171)
(9.172)
y
STL= a r (L N )Tp [(L N )a + b ]< m + / [(L N )a + b ]Tp (L N ) a d ft (9.173)
Jn
Jn
|^2J
( l N ) r p (I.N ) dl a + j f ( L N ) r p b d l j
(9.174)
(9.175)
K {j =
fi =
/ CV 2N + c N i ) ( V 2Nj + c N j ) d x dy
J
( V 2Ni + c Ni ) Qd z d y
(9.176)
Jn
266
d<t>y
+ -5 +c<f> + Q
A(u) =
oy
dx
(9.177)
d$
dy
= (N a )r
(9.178)
d_
dx
d_
d y'
dx'
dy
-1 ,
0,
-1
'
b= l 0
l 0
(9.179)
O b s e rv a cio n e s finales
TABLA 9.2
A P R O X IM A C I N M E D IA N T E E L E M E N T O S F IN IT O S
;
Forma Integral de problemas continuos
funcin de prueba
u = E Ni-a
I
Principios variacionales
Modelo
fsico
I
Integral de residuos ponderados
de ecuaciones de gobierno en
derivadas parciales
(formulacin dbil)
I
Principios
fsicos
generales
(ej. trabajos virtuales)
Importantes
principios
fsicos
Formas
lagrangianas
restringidas
Funcin
adjunta
Varias
funciones
de peso
Colocacin
(puntual o
subdominio)
Formas de
funciones de
penalizacin
Mnimos
cuadrados
Galerkin
(W = JVj)
q u e aqu se h a n m e n c i o n a d o .
No
obstante, e n algunos
aqu y
e n el Cap t u l o
2.
En
Y a se h a n introducido
268
270
Captulo 10
P R O B L E M A S D E C A M P O S E N R G IM E N
PERM ANENTE:
T R A N S M IS I N DEL C A L O R ,
P O T E N C IA L E L C T R IC O Y M A G N T IC O ,
FLU JO DE U N F L U ID O , E T C .
10.1 Introduccin
Si bien los detalles de la mayor parte de los captulos precedentes han
tratado de problemas relativos a medios continuos elsticos, los mismos
mtodos generales son aplicables a una gran variedad de problemas fsicos.
Esta posibilidad se ha sealado ya en el Captulo 9, y en ste estudiaremos
con ms detalle una amplia categora de dichos problemas.
En primer lugar, consideraremos situaciones regidas por la ecuacin
cuasi-armnica general, de la que son casos particulares las conocidas
ecuaciones de Laplace y Poisson1-6. Los problemas fsicos abarcados por
esta categora son numerosos y variados. Citando slo aqullos que aparecen
con mayor frecuencia en la ingeniera, sealaremos:
-
272
10.2
E cu a ci n cu a s i-a r m n ic a g e n e ra l
(10.1)
Si la velocidad a la que se genera (o desaparece) esa cantidad por unidad
de volumen es Q , en rgimen estacionario o permanente, la condicin de
continuidad o de equilibrio dar
d<7x
dq-y
dqz
dx
dy
dz
(10.2)
(10.3)
dy
d_
dz
(10.4)
dx
d<f>
273
(10.5)
dz
donde k es una matriz de dimensiones 3 x 3 , generalmente simtrica por
razonamientos energticos.
La ecuacin final de comportamiento del potencial <> se obtiene
sustituyendo la expresin (10.5) en la ecuacin (10.4), para dar
v rk V +
<2
= o
(10.6)
(10.7b)
(10.7c)
k; =
k x>
Ay
0
0
(10 .8 )
kzi
y la ecuacin de comportamiento [Ec. (10.6)] se puede escribir (prescindiendo
del ndice prima)
274
S (-s) M ) ( * ) -
<-*
( 1 0 .1 0 )
Jn
Jrq
t>[(kV)Tn - q - a] dT = 0
(10.11)
Jn
f vQ d -
Jn
Jvq
v(a<f> + q) dT = 0
(10.12)
n = \ f (V<)TkV< d l- ( Q<t>d(l +
2
Ja
J i
l f
2
j r<
j rg
(10.14)
275
(10.15)
^J
V r iV ,kV N
d- j
N{a
NdTj J
a -
N,Q
dl +J
Niq
dT =
(i = l , . . . , n )
(10.16)
(10.17)
con
Hij = f V t N, k ViV, dU + Ni a Nj dT
Jft
JTq
fi = ~
NiQ d + Niq dT
J
Jvq
(10.18)
y, de acuerdo con las indicaciones del Captulo 12, deben calcularse en los
puntos ptimos (de integracin), en concordancia con el grado de la expresin
polinmica empleada.
Puede volver a utilizarse cualquiera de los desarrollos Co,
transformaciones isoparamtricas, etc., estudiadas en los Captulos 7 y 8 .
10.4
276
----- ;--------------------------------------------------------- X
( * 8 ) + ( fc4 9 +c?=o
( i o -i9 )
277
( 10.20 )
No parecen necesarias en este punto ms consideraciones. Puede sin
embargo ser interesante particularizar la expresin anterior para el elemento
triangular ms sencillo, que no obstante es de gran eficacia (Figura 10.2).
Haciendo
Ni =
aj + bjx 4- Cjy
2A
b ib i
H = 4
sim.
b ib j
b ib m
b jb j
b jb m
bm bm
r cc
i
+ i .
4A [sim .
CiCj
cicm
c c3
CjCm
cmcm
(1 0 .2 1 )
278
^ = - ^
( 1 0 .2 2 )
r (krTt ) +
(* pf ) + '0 = 0
(10-23>
<) en
el contorno.
279
A\ \ \ \ \ \ \
,\ \ \ \ \ \ \ \
,\ \ \ \ \ \ \ \
\ \ \ \ \ N\
\ \ \ \ \ N\ N
<>
Figura 10.4 Torsin de una barra de seccin rectangular. Los nmeros entre
parntesis muestran una solucin ms exacta obtenida por Southwell
mediante una malla 12 x 16 (valores de <f>/G$L2).
280
C2 G,
Figura 10.5 Torsin de una barra hueca compuesta de dos metales. <j>G6L2 x 10*.
a ( \ d<t>\
d fid<f>\
281
'
fe (G ) + ^ V G i;J+2e 0
(1024)
283
v 2p = o
En los contornos, fijos o mviles, las condiciones de contorno son del tipo 2
284
pan
(10.27)
P7
P a
>2 1
(10.29)
>28
P35
PA2
PA9
P56
donde la matriz
Se pueden
distribucin de
es uniforme, las
285
<L
x{an)Lp
286
constante
variable
0-7249
0-3685
0-2466
0-1963
0-1743
0-0840
0-3685
0-9715
0-5648
0-4210
0-3644
0-1744
0-2466
0-5648
1-1459
0-7329
0-5954
0-2804
0-1963
0-4210
0-7329
1-3203
0-9292
0-4210
0-1744
0-3644
0-5954
0-9292
1-5669
0-6489
0-1680
0-3488
0-5607
0-8420
1-2977
1-1459
0-6429
14
0-1617
0-3332
0-5260
0-7548
1-0285
21
01365
0-2754
0-4171
0-5573
0-6793
0-3710
28
0-0879
0-1731
0-2519
0-3187
0-3657
0-1918
0-0863
35
0-0431
0-0838
0-1195
0-1478
0-1661
42
0-0186
0-0359
0-0150
0-0626
0*0699
0-0362
49
0-0078
0-0150
0-0213
0-0261
0-0291
0-0151
56
0-0069
0-0134
0-0190
0-0232
0-0259
0-0134
(L = H 6)
(10.30)
287
(10.31)
M 0a
(10.32)
P7 '
Estas presiones se traducen en las fuerzas nodales
(10.33)
288
ti = 67 -48'
289
290
VT x H = - J
B = xH
(10.34)
V r B =0
siendo las condiciones de contorno tales que para una distancia infinita a
la perturbacin, H y B tienden a cero. En la expresin anterior, J es una
densidad de corriente elctrica dada, que circula por conductores; H y B
son vectores de tres componentes que representan la intensidad del campo
magntico y la densidad de flujo, respectivamente;
es la permeabilidad
magntica que vara (en un sistema absoluto de unidades) desde la unidad en
el vaco a varios miles en los cuerpos magnticos, y x representa el producto
definido en el Apndice 5.
Las frmulas anteriores dependen del hecho de que es relativamente fcil
calcular un cam po H s, que satisfaga exactamente las ecuaciones (10.34)
cuando i = 1 en todo el dominio. Este campo est dado en cada punto,
definido por un vector de posicin r, por la integral
Hs =
J x (r - r')
/ V
dl
(r - r' ) 2
Jn
291
(10-35)
=0
B = ^ (H , + H m)
(10.36)
V t B =0
Si introducimos ahora un potencial escalar <> que defina H m como
H m = V4>
(10.37)
(10.38)
con <f> > 0 en el infinito. Esta ecuacin tiene precisamente la forma general
de las estudiadas en este captulo [Ec. (10.6)], estando Q representado por el
segundo trmino, que ahora s est definido.
Surge, sin embargo, una dificultad manifiesta si fi vara en forma
discontinua, com o efectivamente cabe esperar que ocurra en los lmites de
separacin entre dos materiales.
El trmino Q no estar entonces definido, y en la discretizacin estndar
de la Ec. (10.16) o (10.17) el trmino
/ NiQ dtt =
Jn
/ N ^ f i U s dQ
(10.39)
Ja
Jn
f V TN ifiH s + / N ifiH sn dT
Jn
(10.40)
Jr
292
superficie del segundo trmino sobre los h'mites de separacin donde existan
discontinuidades.
La introduccin del potencial escalar permite que los problemas de
magnetosttica bi y tridimensionales puedan resolverse mediante el programa
general empleado para todos los problemas de esta seccin.
En la
Figura 10.14 se representa la solucin del caso tridimensional tpico de
un transformador. En este caso se emplearon elementos isoparamtricos
cuadrticos del tipo ladrillo .18
Los problemas de magnetosttica tpicos son de gran no linealidad puesto
que
/x = M(|H|)
donde
|H| = y/H + H + H
(10.41)
l ( - ) - K ) - ^
donde h es el espesor de la pelcula de lubricante, p la presin desarrollada,
f la viscosidad y V la velocidad del patn en la direccin x .
La Figura 10.17 representa la distribucin de presiones para un caso
tpico de un patn con un escaln .23 La condicin de contorno es simplemente
que la presin en el mismo sea nula; es interesante advertir que el escaln,
tras integrar el segundo miembro de la ecuacin (10.42) es equivalente a
una carga lineal , tal com o ocurra en el caso de discontinuidad magntica
mencionado antes.
Evidentemente pueden tratarse casos ms generales de problemas de
lubricacin tomando en consideracin movimientos verticales del patn
(compresin de la pelcula) y la compresibilidad del lubricante; en este campo
se han realizado numerosos trabajos . 24-31
F lujos irrotacionales y flu jos con superficie libre.
La ecuacin
293
Subdivisin en elementos
0*0
2-0
4-0
6*0
8*0
10*0
12*0
14*0
16*0
a (cm )--------
18*0
20*0
Figura
(Programa
T O S C A , cortesa
294
;< 1 1
12*3 115
N p
3 * BW
295
a w o r o -io
Figura 10.16 Dos vistas de un rbol de levas para una aplicacin de inspeccin
de partculas magnticas, mostrando isoh'neas de densidad de flujo
y vectores de campo (Programa TOSCA, cortesa de Vector Fields
Ltd., Oxford, Reino Unido)
296
h= &
rfs pulg
du
dy
fe
etc.
(10.43)
d<>
V~
dy
(10.44)
(o u = V<f>)
Si, adems, el flujo es incompresible, la ecuacin de continuidad [vase
Ec. (10.2)] ha de satisfacerse; es decir,
V ru = 0
(10.45)
297
()
Figura 10.18 Problemas tpicos de superficie libre con una lnea de corriente
que satisface tambin una condicin adicional de presin = 0 .
(a) Corriente en cascada. ( 6 ) Filtracin en una presa de tierra.
y, por tanto,
(10.46)
V TV< = o
dx
(10.47)
(10.48)
298
= 0
(10.49)
Adems, la presin debe ser nula en dicha superficie por estar en contacto
con la atmsfera. Como
H = ^+y
7
(10.50)
donde 7 es el peo especfico del fluido, p la presin del fluido e y la altura con
respecto a un sistema de referencia arbitrario (horizontal), se debe cumplir
en la superficie que
H = y
(10.51)
Observaciones finales
299
300
301
Proc. Am. Soc. Civ. Eng., 03, HY2, pp. 25-33, 1967.
42. J.C. LUKE, A variational principie for a fluid with a free surface , J. Fluid
Mech., 27, pp. 395-7, 1957.
43. K. WASHIZU, Variational Methods in Elasticity and Plasticity, 2nd. ed.,
Pergamon Press, 1975.
44. J.C. BRUCH, A survey of free-boundary valu problems in the thory of fluid
flow through porous media", Advances in Water Resources, 3, 65-80, 1980.
45. C. BAIOCCHI, V. COMICIOLI y V. MAIONE, Unconfined flow through
porous media* * , Meccanice, Ital. Ass. Theor. Appl. MEch., 1 0 , 51-60, 1975.
46. J.M. SLOSS y J.C. BRUCH, Free surface seepage problem , Proc. ASCE, 108,
EM5, 1099-1111,1978.
47. N. KIKUCHI, Seepage flow problems by variational inequalities , Int. J. Num.
Anal. Meth. geomech., 1 , 283-90, 1977.
48. C.S. DESAI Finite element residual schemes for unconfined flow , Int. J. Num.
Meth. Eng., 1 0 , 1415-18,1976.
49. C.S. DESAI y G.C. LI, A residual flow procedure and application for free
surface, and porous media , Advances in Water Resources, 6 , 27-40, 1983.
50. K.J. BATHE y M. KOSHGOFTAR, Finite elements from surface seepage
analysis without mesh iteration , Int. J. Num. Anal. Meth. Geomech., 3, 13-22,
1979.
Captulo 11
EL T E S T D E L A P A R C E L A ,
IN T E G R A C I N R E D U C ID A Y
ELEM ENTOS NO CON FO RM ES
11.1 Introduccin
En el Captulo 2 se ha hecho referencia brevemente al test de la
parcela com o una forma de probar la convergencia de los elementos en
desplazamientos para problemas de elasticidad en los que las funciones de
forma violan los requisitos de continuidad. En este captulo se tratar con
ms detalle este test, aplicable a todas las formas de elementos finitos, y se
mostrar que:
a) es una condicin necesaria para probar la convergencia de cualquier
aproximacin de elementos finitos y, adems, que debidamente extendido
e interpretado, puede proporcionar
b) una condicin suficiente de convergencia,
c) una valoracin de la velocidad (asinttica) de convergencia del elemento
probado,
d) una prueba de la robustez del algoritmo, y
e) un procedimiento para desarrollar nuevas y precisas formas de elementos
finitos que violen los requisitos de compatibilidad (continuidad).
Aunque el test es en principio superfluo para elementos que satisfacen
a priori todos los requisitos de continuidad, mediante aproximaciones
polinmicas correctas e integracin exacta, tiene, no obstante, gran utilidad
ya que proporciona:
f) una prueba de que la programacin ha sido correcta.
Por todas las razones citadas anteriormente el test de la parcela ha sido
desde sus comienzos, y contina siendo, la prueba ms importante para los
programas prcticos de elementos finitos.
El test original fue introducido por Irons 1 - 3 basado en razonamientos
fsicos y podra ser interpretado com o una prueba que determinara si una
parcela de elementos (Figura 11.1) sujeta a deformacin constante reproduca
exactamente el comportamiento constitutivo del material y proporcionaba
las tensiones correctas cuando se haca infinitamente pequea.
Si as
era, se poda argumentar que el modelo de elementos finitos representaba
el comportamiento del material real y, en el lmite, a medida que el
tamao de los elementos disminuyese reproducira, por tanto, exactamente
303
304
>
j-
6---- i
XA
a constante
exd x
*1
x \m
----------
---------- --------------- |
Requisitos de convergencia
(n.i)
EL TEST DE LA PARCELA
305
(11.2)
(11-3)
(11.4)
(11.5)
(11.6)
306
esto significa simplemente que la matriz K debe ser no-singular para todos
los posibles ensamblajes de elementos. Sin embargo, este requisito puede ser
a veces demasiado exigente si, por ejemplo, se adopta una solucin iterativa.
El test de la parcela se ha usado tradicionalmente com o un procedimento
para verificar el requisito de consistencia; la estabilidad se comprobaba
independientemente asegurando la no-singularidad de las matrices . 14 Ms
an, generalmente se probaba slo la consistencia en la satisfaccin de
la ecuacin diferencial ( 1 1 .1 ), pero no de sus condiciones de contorno
naturales. En lo que sigue se mostrar cm o todos los requisitos necesarios de
convergencia pueden ser verificados mediante un test de la parcela concebido
adecuadamente.
Una singularidad dbil en un elemento aislado puede a veces ser
permisible y alguns elementos que la muestran han sido, y todava son,
usados en la prctica con xito.
Uno de estos casos es el elemento
isoparamtrico de ocho nodos con una cuadratura de Gauss de 2 x 2, al
que nos referiremos ms tarde. Se observa que este elemento muestra a
veces un comportamiente peculiar (aunque su uso tiene muchas ventajas
que se describen en el Captulo 1 2 ). Un elemento que falla ocasionalmente
se denomina no robusto y el test de la parcela proporciona un medio para
valorar el grado de robustez.
u=*+ ( ) ii + ( ) ij,+o(/iP)
( *>
307
EL TEST DE LA PARCELA
TestA
a prescrito en todos los nodos
Kijdj = fi verificado en el nodo i
TestB
a prescrito en el contorno de la parcela
^
- KijCij)(j = i) se resuelve
11 .8 )
j i
(11.9)
308
EL TEST DE LA PARCELA
309
x
(a)
(b)
Figura 11.4 (a) Test de la parcela de forma C. (b) Test para un elemento aislado
1 1 .4 T est d e la p a r c e la g e n e ra liz a d o (te s t C ) y te s t p a ra u n
e le m e n to a isla d o
El test de la parcela descrito en la seccin precedente se m ostr com o
condicin necesaria de convergencia de la formulacin, pero no establece
condiciones suficientes.
En particular, se omiti la verificacin de la
aproximacin de la carga de contorno para el caso en que se especifiquen
condiciones naturales (ej., ecuaciones de elasticidad). Tam poco se verific
la estabilidad de la aproximacin. Fcilmente puede construirse un test que
s incluya una prueba de todas estas condiciones, y que puede verse en la
Figura 11.4 com o test C. En ste la parcela de elementos se ensambla com o
en los casos anteriores, pero se le somete a condiciones de contorno naturales
presentis (o fuerzas en su permetro). La matriz ensamblada para la parcela
completa se escribe de la forma
Ka = f
Fijando slo el nmero mnimo de paramtros a necesarios para obtener
una solucin fsicamente vlida (ej., eliminando los movimientos de slido
rgido en un ejemplo de elasticidad o un nico valor de la temperatura en
un problema de transmisin del calor) se busca la solucin para los restantes
valores de a y se comparan con la solucin exacta.
Ahora cualquier singularidad de la matriz K ser observada y, com o
el vector f incluye todos los trminos de fuente y de fuerzas de contorno
necesarios, la formulacin quedar completamente verificada (siempre que,
naturalmente, haya el suficiente nmero de casos de prueba).
Con las fuerzas en el contorno incluidas es por supuesto posible reducir
el tamao de la parcela a un nico elemento y esta form a alternativa del test
C se ilustra en la Figura 11.4(6), y se conoce com o test para un elemento
aislado11. Este test es evidentemente requisito para una buena formulacin
310
Puntos de
integracin de Gauss
Elementos de nueve
nodos solamente
Figura 11.5 (a) Modos de energa nula (singulares) para los elementos cuadrticos
de ocho y nueve nodos y ( 6 ) para una parcela de elementos bilineales
con un nico punto de integracin.
de elementos finitos ya que, a veces, una parcela mayor puede no revelar
las inestabilidades inherentes a un elemento aislado. Esto ocurre en el bien
documentado caso del elemento isoparamtrico de ocho nodos con integracin
(reducida) de cuatro puntos de Gauss en problemas de deformacin/tensin
plana, donde el m odo singular de deformacin de un elemento aislado (viz.
Figura 11.5) desaparece cuando se ensamblan varios elementos.f
Debe
f Esta figura muestra tambin una singularidad similar para una parcela de cuatro
elementos bilineales con una cuadratura de un nico punto, y se hace notar la forma
similar de los m odos de energa nula (viz. Captulo 8, Sec. 8.11.3).
EL TEST DE LA PARCELA
311
notarse, sin embargo, que la verificacin del test del elemento aislado no
es condicin suficiente de convergencia. Para esto se requiere al menos un
contorno elemental interno para verificar que la consistencia de la solucin
de una parcela se conserva entre los elementos.
1 1 .6
312
0 .0 0 2 2
. = -0 .0 0 0 6 ,
<1110)
( 1 1 -1 1 )
EL TEST DE LA PARCELA
313
TABLA 11.1
SOLClff DB LA PARCELA DELA FIG&RA U.S.
Coordenadas
Nodo i
1
2
3
4
5
6
7
3
0.0
2.0
2.0
0.0
0.4
1.4
1.5
0.3
Vi
0.0
0.0
3.0
2.0
0.4
0.6
2.0
1.6
Desplazamientos calculados
i
0.0
0.0040
0.0040
0.0
0.0008
0.0028
0.0030
0.0006
t
0.0
0.0
-0.00186
-0.00120
-0.00024
-0.00036
-0.00120
-0.00096
Fuerza
f*
-2
-3
314
dos m odos de energa nula globales (esto es, la matriz global de rigidez era
deficiente en rango en grado 2 ), por lo que produca desplazamientos nodales
incorrectos cuyos resultados dependan solamente de los errores de redondeo
en los clculos. Estos, a su vez, producan tensiones incorrectas salvo en el
punto de Gauss l x l usado en cada elemento para calcular la rigidez y las
fuerzas. Por tanto, y debido a consideraciones de estabilidad, el uso de la
cuadratura 1 x 1 en elementos de cuatro nodos produce la no verificacin del
test de la parcela. El elemento, sin embargo, s que satisface los requisitos de
consistencia, y si se usa un procedimento de estabilizacin adecuado (ej., en
la prctica se usan mtodos de rigidez o viscosos), este elemento puede ser
usado para clculos prcticos15,16.
Debe hacerse notar que puede llevarse a cabo un test del elemento aislado
usando la malla mostrada en la Figura 11.6(6). Los resultados se dan en la
Tabla 11.1 para los nodos 1 a 4. Para la parcela de un solo elemento, los
tests de la parcela A y B coinciden y ninguno de ellos evala la precisin o
la estabilidad de la matriz de rigidez. Por otro lado, el test de la parcela C
lleva a las conclusiones alcanzadas utilizando la parcela de cinco elementos:
esto es, la cuadratura gaussiana 2 x 2 pasa el test mientras que la cuadratura
l x l falla el test en la parte de estabilidad (com o de hecho era de esperar a
partir de los argumentos del Captulo 8 , Seccin 8.11).
La sencilla prueba de la cancelacin de un trmino diagonal durante la
descomposicin triangular es suficiente para avisar de deficiencias de rango en
la matriz de rigidez. En un m todo de perfil, descrito en el Captulo 15, esto
se controla fcilmente ya que la eliminacin compacta transforma el valor
inicial de un elemento de la diagonal a su valor final en un slo paso. Por lo
tanto, slo se precisa una variable escalar adicional para controlar los valores
iniciales y finales.
En la Figura 11.7 se considera una parcela de dos elementos cuadrilteros
isoparamtricos cuadrticos. Se consideran tanto el tipo serendpito de ocho
nodos com o el lagrangiano de nueve y se lleva a cabo un test de la parcela
bsico de tipo C para el caso de carga 1 . Para el elemento de ocho nodos
tanto las cuadraturas gaussianas de 2 x 2 ( reducida ) y 3 x 3 ( estndar )
satisfacen el test de la parcela, mientras que para el elemento de nueve nodos
slo la cuadratura 3 x 3 es satisfactoria, y la cuadratura 2 x 2 lleva a una
deficiencia de rango en la matriz. Sin embargo, si se realiza un test de
elemento aislado para el elemento de ocho nodos con cuadratura 2 x 2 ,
se descubre el m odo espreo de energa nula mostrado en la Figura 11.5
y, por tanto, el test de un elemento aislado falla. Consideramos a tales
elementos com o sospechosos y deben ser usados con cuidado. Para ilustrar
lo que puede ocurrir en la prctica consideremos el sencillo problema de la
Figura 11.8(a). En este ejemplo la estructura modelizada por un nico
elemento se considera rgida, y el inters se centra en la respuesta de la
cimentacin . En consecuencia slo se usa un elemento para modelar la
315
EL TEST DE LA PARCELA
15
15
15
10
Carga 1
Pr
P ,
B
U -l
Carga 2
F1
Carga 1
Carga 2
*<
*cT
Cfi
D
P
P-.
'^
Cu o
C3
tf
0
en po
p . nO
n
fl>
rs f
P-
l_K
l0">1 2S
3
3
p p
G. cr
'
E
p a
- rt>
s S3
^3 O
P 3
C7* H
<r g
w
_ S
en
^
ct> -P
3>
a 2P
S- L
0 " rt
*'
to
_L
(/>)
1 1 . 1
(f)
(a)
Figura 11.9 Respuesta peculiar de ensamblajes de elementos casi singulares17, (a) Una columna de elementos de nueve nodos con carga
puntual para integraciones 3 x 3 y 2 x 2. El ensamblaje com pleto es no singular, pero son evidentes m odos singulares elementales.
( b) Un ensamblaje totalm ente coartado de elementos de nueve nodos sin singularidades - los primeros seis m odos propios con
integracin com pleta ( 3 x 3 ) . (c) com o (6) pero con integracin 2 x 2 . Ntese la aparicin de m odos salvajes llamados m odos
de Esher en la referencia 17 en honor a dicho artista grfico.
p*
C
O
3 ?
2
P
318
(*)
(c)
Figura 11.10 (a) Cuadriltero lineal con funciones de forma auxiliares
incompatibles; ( 6 ) Flexin pura y desplazamientos lineales causando
cortante; (c) Funciones auxiliares de flexin con variables internas.
319
EL TEST DE LA PARCELA
1000
150
1000
Malla
1000
1000
Malla
Carga A
Desplazamiento en i
Carga A
Teora de vigas
f \ Malla 1
MaUa 2
MaUa 1
MaUa 2
j
2
150
----- 1 0 -
Carga B
150
1 0 .0 0
6.81
7.06
1 0 .0 0
1 0 .0 0
f 56.25
t 187.50
t 56.25
Carga B
Tensin en j
Carga B
103.0
70.1
72.3
Carga A
300.0
218.2
218.8
Carga B
4050
2945
2954
101.5
101.3
300.0
300.0
4050
4050
Kn
K 12
K 2l
K 22
(11.13)
(11.14a)
K 21a - f2 = 0
(11.14b)
320
I m ---4
* .....
<i
i i
11
EL TEST DE LA PARCELA
321
en el dominio
(11.15)
322
u u
en r
(11.16)
du
T = t
on
en Tt
un = N nan
(11.17a)
(11.17b)
i N?kd dr = / r/ K
+ n*S)
(11'18)
ir e
N ?n d T = Q
(11.19)
323
EL TEST DE LA PARCELA
N ? n x dT = O
(11.20a)
N ? n ydT = O
( 1 1 .2 0 b)
y
JTe
para cada elemento, imponiendo por tanto la condicin
^ < ^ =
( 11.21)
que implica (com o sugiri originalmente Wilson) que las cargas de contorno
de los desplazamientos incompatibles deben anularse o ser ignoradas. Por
otra parte, la contribucin de las fuerzas de volumen (osea, q) deben ser
calculadas usando tanto las partes conformes com o no-conformes de los
desplazamientos.
Para ilustrar el uso del procedimiento anterior para desarrollar funciones
de forma de modos incompatibles, considrese el caso de un elemento
cuadriltero no-conforme de cuatro nodos que en el caso particular de un
rectngulo reproduzca el elemento no-conforme de la referencia 18. La
convergencia de este elemento no-conforme para los casos rectangular o de
jacobiano constante ha sido tratada en la seccin anterior.
Se tom a la parte conforme de la funcin de forma de cada componente
del desplazamiento com o las funciones isoparamtricas de cuatro nodos
(11.22)
donde
N, = - ( 1 + 6 )(i + m-n)
(11-23)
-( 1
2)(1 + v)as +
2^
0 (1
(11.24)
7?2)a 4
(11.25)
324
> =
t=l
donde
(11.26)
Xj
bi = yj - y i
(11.27)
con
j = mod (i, 4) + 1
Se pueden usar estas dos condiciones para expresar dos de las
en
funcin de las otras dos. El resultado da dos m odos incompatibles de
desplazamiento que pueden ser aadidos al cam po conforme asegurando la
satisfaccin de un test de la parcela fuerte. Para elementos rectangulares los
dos modos resultantes son idnticos a los propuestos en la Ec. (11.12).
Existen otras posibilidades para construir funciones no-conformes o
incompatibles5.
11.9 E l te st d e la p a rce la d b il e je m p lo
Los problemas descritos anteriormente dan soluciones exactas para los
tests de la parcela realizados y, por tanto, satisfacen las condiciones en sentido
fuerte. Para ilustrar el comportamiento de un elemento que slo satisface una
forma dbil del test de la parcela consideremos un problema axial-simtrico
elstico lineal modelizado con elementos isoparamtricos de cuatro nodos. Se
supone material istropo y las matrices de rigidez y fuerzas de reaccin de los
elementos finitos se calculan usando integracin selectiva donde los trminos
asociados con el mdulo de deformacin volumtrica se evalan utilizando
una cuadratura con un nico punto de Gauss, mientras que los restantes
trminos se calculan utilizando una cuadratura gaussiana de 2 x 2 (normal).
Puede verificarse fcilmente que la matriz de rigidez es del rango adecuado, y
por tanto la estabilidad de las soluciones no est en cuestin. Por otro lado,
la consistencia debe ser comprobada.
Para verificar el comportamiento de una formulacin con una cuadratura
selectiva se considera la parcela de elementos mostrada en la Figura 11.13.
La parcela no es de forma tan general com o sera deseable y slo se usa para
ilustrar el comportamiento de un elemento que verifica un test de la parcela
dbil. La solucin polinmica considerada es
=2:
w 0
(ii.2 8 )
EL TEST DE LA PARCELA
325
(11.29)
TABLA 11.2
S O L U C I N E X A C T A P A R A L A P A R C E L A
Nodo
I
Radio
rj
M
2,5
1 -h
3,6
l + h
1 1 .1 0
Desplazamiento
Vi
2 (1
1
2 (1
- h)
Fuerza
W
0
FrI
-(1
-h )h
FtI
0
+ h)
(l + h)h
326
TABLA 11.3
D E S P L A Z A M I E N T O R A D I A L E N L O S N O D O S 2 Y 5.
0 .8
2.01114
0.4
2.00049
0 .2
2.00003
0 .1
2 .0 0 0 0 0
0.05
2 .0 0 0 0 0
327
EL TEST DE LA PARCELA
T A B L A 11.4
C A S O D E C A R G A D E F L E X I N {E =
Elemento
ocho-nodos
ocho-nodos
nueve-nodos
ocho-nodos
ocho-nodos
nueve-nodos
ocho-nodos
ocho-no dos
nueve-no dos
Exacta
Cuadratura
100, i/ = 0.3).
VA
uB
3x3]
2x2
3x 3
0.750
0.750
0.750
0.150
0.150
0.150
0.75225
0.75225
0.75225
3x3]
2x2
3x3
0.7448
0.750
0.750
0.1490
0.150
0.150
0.74572
0.75100
0.75225
3x3]
2x2
3x 3
0.6684
0.750
0.750
0.750
0.1333
0.150
0.150
0.150
0.66364
0.75225
0.75225
0.75225
J
J
vb
328
Incompatibleregular (2 x 2)(3 X 3)
Incompatible
distorsionada ( 2 x 2 )
Lmite 0.83
(n x n) orden de
cuadratura
0.1
0.2
0.3
0.4
0.5
-x(u)
Malla regular
Figura 11.14 Cuadrilteros de cuatro nodos en deformacin plana con y sin modos
incompatibles (test de la parcela de alto orden para evaluacin del
comportamiento).
especialmente si se usa la cuadratura 2 x 2 .
Si se considera una malla regular y elementos de cuatro nodos, y adems
se mantiene el dominio constante y se refina sucesivamente el problema
usando mallas de 8 , 32, 128 y 512 elementos, se observa que las soluciones
convergen com o garantiza el test de la parcela. Sin embargo, com o se muestra
329
EL TEST DE LA PARCELA
-2
-1
Figura 11.15 Test de la parcela de alto orden para evaluar la robustez del
elemento (ver Figura 11.14) (test de convergencia por subdivisin
de elementos).
en la Figura 11.15, la velocidad de convergencia en energa para valores del
coeficiente de Poisson de 0.25 y 0.4999 es bastante diferente. Para 0.25
la velocidad de convergencia es casi una lnea recta para todas las mallas,
mientras que para 0.4999 la velocidad empieza siendo bastante baja y se
acerca a un valor asinttico de 2 cuando h tiende a cero. Para v cercano a
0.25 el elemento es robusto, mientra que para v cercano a 0.5 no lo es. Si
se usa integracin selectiva (que para deformacin plana verifica los tests de
la parcela fuertes) y se repite el experimento, ambos valores de v producen
respuestas similares y, por tanto, el elemento se vuelve robusto para todos
los valores del coeficiente de Poisson menores que 0.5.
Por consiguiente, el uso de tests de la parcela de alto orden puede
ser muy importante para separar elementos robustos de los que no lo son.
Para mtodos que tratan de refinar automticamente una malla de forma
adaptable en regiones con mucho error, com o se discute en el Captulo 14, es
extremadamente importante usar elementos robustos.
330
11.11 Conclusin
En las secciones precedentes se ha descrito el test de la parcela y su uso
en la prctica mediante la consideracin de varios problemas de ejemplo. El
test de la parcela descrito tiene dos partes esenciales: a) una evaluacin de la
consistencia, y b) una prueba de la estabilidad. En el test de la consistencia
se usa un conjunto de polinomios esenciales linealmente independientes (esto
es, todos los trminos independientes hasta el orden necesario para describir
el modelo de elementos nitos) com o solucin a las ecuaciones diferenciales y
condiciones de contorno y, en el h'mite, a medida que el tamao de la parcela
tiende a cero, el modelo de elementos nitos debe satisfacer exactamente
cada solucin. Se han presentado tres formas de realizar esta parte del test
que se han llamado formas A,B y C.
El uso de la forma C, donde todas las condiciones de contorno son na
turales (ej., fuerzas de superficie en elasticidad) salvo el nmero mnimo
de condiciones esenciales necesario para asegurar unicidad de solucin del
problema (ej., modos de slido rgido en elasticidad), se recomienda para
verificar consistencia y estabilidad simultneamente. Tanto los tests para
un elemento aislado com o para ms de un elemento son necesarios para
asegurar que se satisface el test de la parcela. Con estas condiciones, y
suponiendo que el procedimiento de solucin utilizado puede detectar las
deficiencias de rango, se comprueba tambin la estabilidad de la solucin. Si
tal condicin no se incluye en el programa se debe llevar a cabo una prueba
de estabilidad independiente. Esto puede hacerse calculando el nmero de
valores propios nulos en la matriz de coeficientes para mtodos que utilicen
la solucin de ecuaciones lineales para calcular los parmetros incgnita a.
Alternativamente, se puede perturbar la carga usada para la solucin de la
parcela en un punto en un valor pequeo (por ejemplo, la raz cuadrada del
h'mite del error de redondeo (ej., con 1 0 ~ 6 para redondeos del orden de 1 0 -1 2 )
y comprobar la solucin para asegurar que no vara en una magnitud grande.
Una vez que se ha probado que el elemento pasa todos los tests de
la parcela esenciales, tanto para consistencia com o para estabilidad, la
convergencia est asegurada cuando el tamao de los elementos tiende a
cero. Sin embargo, en ciertas situacines (ej., el problema elstico cuasiincompresibles) la convergencia puede ser muy lenta hasta que se use un
nmero muy grande de elementos. En consecuencia, se recomienda el uso de
tests de la parcela de alto orden para establecer la robustez del elemento. Los
tests de la parcela de alto orden requieren el uso de soluciones polinmicas de
la ecuacin diferencial y de las condiciones de contorno con trminos de mayor
orden que los polinomios bsicos usados en el test de la parcela. Ciertamente,
el orden de los polinomios usados debera aumentar hasta que el test slo sea
verificado en sentido dbil (i.e., cuando h tiende a cero). La ventaja de utilizar
un test de la parcela de alto orden, en lugar de otros problemas de contorno,
es que la solucin exacta puede ser fcilmente calculada en cualquier punto
EL TEST DE LA PARCELA
331
del modelo.
Se ha probado en algunos de los ejemplos el uso de funciones
incompatibles y procedimientos de integracin inexactas (integracin
reducida y selectiva). Algunas de estas violaciones de las reglas previamente
estipuladas estn justificadas no slo por el comportamiento mejorado, sino
porque proporcionan mtodos en los que la convergencia est asegurada.
Algunas de las razones de tal comportamiento mejorado se discutirn en el
siguiente captulo (Captulo 12).
Referencias
1. B.M. IRONS, Numerical integration applied to finite element methods , Conf.
on Use of Digital Computers in Structural Engineering, Univ. of Newcastle,
1966.
2. G.P. BAZELEY, Y.K. CHEUNG, B.M. IRONS y O.C. ZIENKIEWICZ,
Triangular
elements
in
pate
bending.
Conforming
and
nonconforming solutions , Proc. Ist Conf. on Matrix Methods in Structural
Mechanics, pp. 547-76, AFFDLTR-CC-80, Wright-Patterson AF Base, Ohio,
1966.
3. B.M. IRONS y A. RAZZAQUE, Experiencae with the patch test for
convergence of finte element method , en Maihematical Foundations of the
Finite Element Method, (Ed. A.K. Aziz), pp. 557-87, Academic Press, 1972.
4. B. FRAEIJS DE VEUBEKE, Variational principies and the patch test , Int.
J. Num. Meth. Eng., 8 , 783-801, 1974.
5. G. SANDER y P. BECKERS, The influence of the choice of connectors in the
finite element method , Int. J. Num. Meth. Eng., 1 1 , 1491-505, 1977.
6 . E.R. DE ARANTES OLIVEIRA, The patch test and the general convergence
criteria of the finite element method , Int. J. Solids Struct., 13, 159-78, 1977.
7. G. STRANG, Variational crimes and the finite element method , en Proc.
Foundations of the Finite Element Method (ed. A.K. Aziz), pp. 689-710,
Academic Press, 1972.
8 . G. STRANG y G.J. FIX, An Analysis of Finite Element Method, Prentice-Hall,
1973.
9. F. STUMMEL, The limitations of the patch test , Int. J. Num. Meth. Eng.,
15, 177-88, 1980.
10. J. ROBINSON et al., Correspondence on patch test , Finite Elements News,
1, 30-4, 1982.
11. R.L. TAYLOR, O.C. ZIENKIEWICZ, J.C. SIMO y A.H. CHAN, The patch
test- a condition for assesing f.e.m. convergence , Int. J. Num. Meth. Eng., 2 2 ,
39-62, 1986.
12. R.E. GRIFFITHS y A.R. MITCHELL, Non-conforming elements en
Maihematical Basis of Finite Element Methods, Inst. Math. and Appl.
Conference series, pp. 41-69, Clarendon Press, Oxford, 1984.
13. A. RALSTON, A First Course in Numerical Analysis, McGraw-Hill, New York,
1965.
14. B.M. IRONS y S. AHMAD, Techniques of Finite Elements, Horwood,
Chichester, 1980.
332
15. D. KOSLOFF y G.A. FRASEER, Treatment of hour glass pattems in low order
finite element codea , Int. J. Num. Anal. Meth. Geomechanics, 2 , 57-72,1978.
16. T. BELYTCHKO y E. BACHRACH, *The efficient implementation of
quadrilat erais with high coarse meah accuracy , Comp. Meth. Appl. Mech. Eng.,
54, 276-301. 1986.
17. N. BICANIC y E. HINTON, Spurioua modes in two dimensional isoparametric
elementa , Int. J. Num. Meth. Eng.y 14, 1545-57,1979.
18. E.L. WILSON, R.L. TAYLOR, W.P. DOHERTY y J. GHABOUDDI,
incompatibledisplacement modela , en Num. and Comp. Meth. in Struct.
Mech., (eds. S.T. Fenvea et a/.), pp. 43-57, Academic Press, 1973.
19. R.L. TAYLOR, P.J. BERESFORD y E.L. WILSON, A non-conforming element
for stress analysis , Int. J. Num. Meth. Eng., 10, 1211-20, 1976.
20. A. SAMUELSSON, The global constant strain condition and the patch test ,
Captulo 3 de Energy Methods in Finite Element Methods, (eds. R. Glowinski,
E.Y. Rodin, and O.C. Zienkiewicz), pp. 47-58, wiley, 1979.
21. B. SPECHT, Modified shape function for the three -node pate bending element
pasaing the patch teat , Int. J. Num. Mech. Eng.y 26, 705-15,1988.
22. E.L. WACHSPRESS, High-order curved finite elements", Int. J. Num. Meth.
Eng., 17, 735-45, 1981.
Captulo 12
F O R M U L A C I N M IX T A Y
R E S T R IC C IO N E S . M T O D O S
DE C A M P O CO M PLE TO
1 2 .1
I n t r o d u c c i n
en el dominio
B (u ) =
en el contorno
( i 2 -i)
0
q=-kV
q = { ^ }
( 1 2 .2 )
vT^ t9 +dS = Q
'i2-3)
y
333
qn = qn en Fq
(12.4)
334
en
(12.5)
a oo
(12.6)
(12.7)
2 Jn
/ ( V Tq -
Jn
Q)
d(l + /
J rq
<t>(qn -
qn ) d r
335
para
<j> = 4>
en
( 1 2 .8 )
D is c r e tiz a c i n d e fo rm a s m ix ta s A lg u n a s o b s e r v a c io n e s
gen era les
<> S
(12.9)
tn
/
W j ( k -1 q + V ) d = 0
( 1 2 .1 0 )
(12.11)
F(j
( 1 2 .1 2 )
CT
(12.13)
336
// N
N j'k
k -1N
-'N ,q dQ
Jn
C = J ^ V N ^ d in
l
(12.14)
f, = 0
*i = - ^ N j Q d l + j f
N jd r
337
los m i s m o s
t o m a n d o el valor cero.
resultados,
con
los coeficientes
adicionales
Es t e d e s c u b r i m i e n t o fue h e c h o p o r Fraeijs d e
e c u a c i o n es
a menudo
observamos
en
el C a p t u l o
9 que
esto es caracterstico d e
De
hecho, ste es el
Sin e m b a r g o , e n
338
(12.15)
(12.16)
no es singular
La matriz H ser siempre singular si el nmero de incgnitas en el vector
q, al que llamaremos ng, es menor que el nmero de incgnitas
en el
vector
(12.17)
339
CT
I / a
,
I = matriz identidad
(12.18)
(12.19)
(12.20)
C Tq ^ 0
para todo
^ ^ 0
340
nq
<
No pasa el test
Restringido
6 -1
=5
,>
Pasa test
(pero con resultados
equivalentes a la forma
irreductible)
341
(a)
Slo para qn
continuo
q cambia abruptamente
J (discontinuidad)
F o rm u la ci n m ix ta en e la sticid a d
12.4.1 Generalidades.
En toda la formulacin previa de problemas de
elasticidad en este libro se ha usado la formulacin irreducible, tomando
los desplazamientos u com o variable primaria. Se ha usado el Principio de
los Trabajos Virtuales para establecer las condiciones de equilibrio, que se
pueden escribir com o (viz. Captulo 2)
(12.21)
342
( 1 2 .2 2 )
com o relacin constitutiva (se omiten aqu por claridad las deformaciones y
tensiones iniciales).
Recordemos que expresiones com o la Ec. (12.21) son equivalentes a usar
residuos ponderados (viz. Captulo 9) y en lo que sigue utilizaremos estos
ltimos a menudo. En lo anterior las deformaciones se relacionan con los
desplazamientos a travs del operador matricial S introducido en el Captulo
2 , de forma que
e = Su
(12.23)
Se = SSu
(12.24)
(12.25)
(12.26)
a = DSu
(12.27)
y la relacin constitutiva
(12.28)
Ln
donde la expresin entre parntesis es simplemente la Ec. (12.27)
premultiplicada por D - 1 para conseguir simetra, y Ser se introduce com o
funcin de peso. De hecho, las Ecs. (12.21) y (12.28) que ahora definen el
problema son equivalentes a la estacionariedad del funcional
2 Jn
Jn
ur (Sr<r + b)
[ ur ( G < r - t ) r
J rt
343
(12.29)
t = Ga
y
u=
se prescribe en r u, com o el lector puede verificar fcilmente. Este es el
conocido principio variacional de Hellinger-Reissner, 15,16 pero, com o ya se
ha mencionado, no es necesario para derivar las ecuaciones aproximadas.
Usando
Nu
en lugar de
>u
B = S N U en lugar de
6e
Ncr
6<r
en lugar de
(12.30)
Cr
A = - / N ^ D - 1 N (rd
Jn
C = + N ^ B d
Jn
fi =
(12.31)
^2 = + N j b d +
Jn
Jrt
N ltd T
344
8eT{D e - <r)dti = 0
f 6<rT(S u e )d fl = 0
(12.32)
Jn
S(Su)Ttrd SuTb d -
Jn
Jn
Jvt
8ur id T = 0
\ eTB e d -
Jn 2
Jn
u Tb d -
Jn
a T( e - S u ) d -
J rt
u Tt dT (12.33)
<r = ir = N a <r
e = = N ec
Cr
ET
(12.34)
donde
A = [
Jn
K
Jn
C =
- /
Jn
Bd
(12.35)
fi = f2 = 0
fs
/ N jb d + (
Jn
JTt
N j t dT
345
El lector habr observado que en esta seccin de nuevo se han citado los
principios variacionales com o un tema interesante simplemente, y que todas
las aproximaciones se han hecho directamente.
12.4.4 Estabilidad de la aproximacin de dos campos en elasticidad (u <r;
u e ). Antes de intentar la formulacin de aproximaciones mixtas de inters
prctico en detalle se deben considerar problemas de estabilidad idnticos a
los discutidos en la Seccin 12.3.
Para las formas u r, est claro que a es la variable primaria y u la
variable de restriccin (viz. Seccin 12.2), y se tiene, tanto para el problema
total com o para cada parcela de elementos, la condicin necesaria pero no
suficiente,
n a > nu
(12.36)
346
| T 1/3 |
| T 3/3 |
/\A
na= 3
n = 3x2-3= 3
(pasa)
0 1/4
nlt= 3
= 4x2 3 = 5
(no pasa)
= 3x3 =9
= 3x2 - 3 = 3
=3x3=9
= 6x2 -3 = 9
(pasa]1
(pasa)
0 3/8
0 4/9
0 4/8
=3x3=9
= 8x2-3=13
= 4 x3 = 12
=8x2-3=13
=4 x3 = 12
= 9x2-3= 15
(no pasa)
(no pasa)
(no pasa)
(pasa)
Figura 12.5 Formulacin mixta <r u para elasticidad. Aproximacin discontinua
de tensiones. Test de la parcela para un solo elemento.
Sin
prescripcin para las variables <r, pero tres grados de libertad de
prescritos por parcela. Condicin de test na > nu (X se refiere a las
variables de a (3 GDL) y O a las de (2 GDL)).
contornos del elemento (viz. Figura 12.6 ) . 19
En tales elementos la excesiva continuidad puede evitarse fcilmente
desconectando slo las componentes normales de tensin paralelas a la
interfase donde se da el cambio de material. Debe notarse que incluso en el
caso en que todas las componentes de tensin estn conectadas en los nodos
de mitad de lado, tales elementos no aseguran continuidad de tensiones a lo
largo de toda la interfase. De hecho, la magnitud de tal discontinuidad puede
ser til com o una medida de error. Sin embargo, debe notarse que para el
elemento lineal [Figura 12.6 (a)] las tensiones interelementales son continuas
en la media.
Naturalmente, es posible derivar elementos que presenten continuidad
completa de las componentes apropiadas de tensin a lo largo de las
347
u lineal
Tl{7
(12.37)
' A
CT
.
EET E
ET
1
\*
u
348
EET - C ^ A ^ C ,
ET,
De los requisitos para el problema de dos campos [Ec. (12.17)] se tiene que para
la no singularidad es necesario que
na > nu
Reescribiendo la Ec. (12.34) como
A
0
0
CT E
0
C
Er
0
7 c c T,
Et C t ,
c*.
7 CE
7 Et E
1 1
| ET
|
1
nu > n0
No discutiremos en detalle ninguna de las posibles aproximaciones a la
formulacin e a u o los correspondientes tests de la parcela, ya que
los argumentos son similares a aqullos aplicados para los problemas de dos
campos.
En algunas aplicaciones prcticas de la aproximacin de tres campos,
la aproximacin de la segunda y tercera ecuaciones en (12.32) se usa
directamente para eliminar todos los trminos menos el de desplazamientos.
Esto lleva a una forma especial del m todo de desplazamientos a la que se ha
llamado forma B (B -b a r r a )23,24. En la forma B las derivadas de las funciones
de forma se sustituyen por aproximaciones provenientes de la forma mixta.
En la Seccin 12.5.2 se ilustra este concepto con un ejemplo de un material
cuasi-incompresible.
12.5
E la sticid a d in c o m p r e s ib le (o c u a s i-in c o m p r e s ib le )
349
< ^ m
( 1 2
3 g )
m T = [1 , 1 , 1 , 0 , 0 , 0 1
La presin est relacionada con la deformacin volumtrica, V) a travs
del mdulo de deformacin volumtrica del material K para comportamiento
isotrpo. Por tanto,
v = x
(12.39)
e z = m Te
(12-40)
Para un material incompresible, K = oo y la deformacin volumtrica es
simplemente nula.
La deformacin desviadora
est definida com o
i =
= (J - | m m T )e
mp
en elasticidad istropa, a
= G (D 0 ^ m m r )c
donde la matriz
Dn =
.0
(12-41)
1.
(12.42)
350
G = 2 (r b j
* )
(12-43>
y las Ecs. (12.42) y (12.40) pueden usarse para definir la matriz D estndar
de una forma alternativa.
En la forma mixta considerada a continuacin usaremos com o variables
el desplazamiento u y la presin p.
Reescribimos ahora la ecuacin de equilibrio (12.21) usando (12.42) y
tratando a p cortio variable independiente, com o
^mmT)c mp]
f ^ [(^ (D o 3
Jn
dQ
- j f uTb d f l - j rt uTt dT = 0
(12.44)
con
e = Su
(12.45)
p = p = N pp
(12.46)
CT
-V
(12.47)
donde
A =
C =
v
Jn
B t G(D0 - mmr)B d
B r mNpdfi
(12.48)
^ ( n' n' t )
fi
f2 =
/ N jb d + f
Jn
Jvt
N jtd r
351
nu > np
(12.49)
Tringulos: T 6 /1 T 10/3 T 6 /C 3
Cuadrilteros: Q 9 /3 Q 8 /C 4
Q 9 /C 4
Ntese, sin embargo, que en las aplicaciones prcticas se han obtenido
resultados adecuados con los cuadrilteros Q 4 /1 , Q 8 /3 y Q 9 /4 , aunque
p pueda sufrir oscilaciones importantes. Si lo que se busca es elementos
robustos, las opciones son limitadas2.
Es desafortunado que en la lista de elementos aceptables falten el
tringulo y cuadriltero lineales. Esto restringe apreciablemente el uso de
estos elementos ms simples. Un procedimiento posible, y de hecho efectivo,
es aplicar la restriccin de presin no a nivel de un elemento singular, sino
a un ensamblaje de elementos. Esto lo hizo Herrmann en su presentacin
original, 25 donde se tomaban cuatro elementos para tal restriccin, com o
se muestra en la Figura 12.9(a). Este elemento 1 pasa los tests de a
parcela pava un solo elemento (y para varios), pero aparentemente tambin
352
o
A
1TVI1
0 4/1
1T</11
1TW3I
n =0
Hf, = 0
=0
=0
=0
=2
(pasa)
(pasa)
1[no pasa)
| Q 8/4
T 10/3
=2
=2
(pasa)
O 8/3
0 9/4
0 9/3
=2
-2
n,=()
=0
-0
-2
np=0
=3
=3
(pasa)
(no pasa)
(no pasa)
(no pasa)
(pasa)
( a)
353
T 6/3~|
T 6/1
| T 10/3
O 9/3
0 8/4
O 4/1
----O--A
A
nr= 3
(no pasa)
A
A
n,,= 5 x 2 = 1 0
(b)
O
A
A
A
A
O
A
=9x2=18
np= 11
=15
(no pasa)
(pasa)
Figura 12.7(6)
n = 9 x 2 = 18
n= 11
(pasa)
A
A
Q 9/4
Q 8/3
-5 x 2 = 1 0
= 15
(no pasa)
nu= 2
354
T 3/C3
GDL
T6/C3
T6/C6
(no pasa)
Q8/C8
0 4/C4
QH/C4
Q9/C4
*=<)
n,, = 3
(a)
(no pasa)
T3/C3
T6/C
(no pasa)
=7x2=14
= 18
(no pasa)
Q4/C4
(b)
(no pasa)
(no pasa)
T6/C3
(pasa)
Q8/C4
=K
(pasa)
Q9/C4
(pasa)
Figura 12.8 Formulacin u p para elasticidad incompresible. Aproximacin C0continua de la presin, (a) Tests de la parcela para un solo elemento.
( 6 ) Tests de la parcela para varios elementos.
355
356
357
Cuadrngulos (Q)
Tringulos (T)
=4
%-------O
m c'n
y=
358
Jn
i 6ev[K e v p] dft =
Jn
Jn
(12.51)
y (12.44).
Si se aproximan los campos u y p com o en (12.46), y
(12.52)
v ~ v
se obtiene una aproximacin mixta de la forma
A
CT
0
donde A , C ,
-E
H
E r
(12.53)
se dan en (12.48), y
E =
n n v d
f3 =
H = / N * K N v dQ
J fi
(12.54)
(12.55)
(12.56)
359
(12.57)
(12.58)
f B r G (D 0 - m m r )B dl + W r H W
Jn
(12.59)
B r D B d
Jn
(12.60)
(12.61)
(12.62)
360
A lis a d o d e te n sio n e s / m u e s tr e o p t im o
(12.63)
Jn
Jn
(12.64)
Esta aproximacin se
N H * ' -& )d = 0
(12.65)
o bien
( / N jN adj&= ( J N jD B ) d
(12.66)
M =
N j N a d
361
(12.67)
Jn
Ma
= P
(12.68)
(12.69)
= * "-> +
- P)
(12.70)
(12.71)
(< r * - a ) 2d
Jn
(12.72)
362
Su
363
2 Jn
Jn
(12.73)
2 Jn
(12.74)
364
0 ( h 2)
> 0 (h )
/ \
/ \
0 ( h )
0 ( h )
(AJ)
> 0 ( h 3)
A \ m
I
0 (h * )
/A
r
o )
, J
0 (k * )
0 '
365
2 Jn
o, si A es simtrica,
1 Jn
Jn
366
f (Su)TAS<0 + f uTpdn = 0
Ja
Ja
Restando la anterior de la Ec. (12.73) y notando la simetra de la matriz A, se puede
escribir
n = \ f [s ( u - ) ]t a s (u )dn i (s)t aSdn
2 Ja
2 Jn
donde el ltimo trmino no est sujeto a variacin. Por tanto,
II* = II + constante
y su estacionariedad es equivalente a la estacionariedad de II.
12.7
367
(12.75)
Tras sustituir
u = = N u
t k SN = B
(12.77)
se tiene
> (A + ) = fi
(12.78)
Jl
(12.79)
(12.80)
368
e j
Wi = o
(12.82)
(12.83)
369
Figura 12.7, por ejem plo) pueden ser implementados para situaciones cuasiincompresibles con una forma irreducible penalizada y usando la integracin
selectiva correspondiente, f
En la Figura 12.15 se muestra un ejemplo que indica claramente la
mejora en desplazamientos que se consigue con la integracin reducida a
medida que el mdulo de compresibilidad K crece (o el coeficiente de Poisson
tiende a 0.5). Ntese tambin en este ejemplo la validez con una mejora
espectacular de tales puntos para el muestreo de tensiones.
En problemas en los que la variable (de restriccin) p se interpole
continuamente (Co) los razonamientos anteriores fallan, ya que cantidades
com o
no son continuas entre elementos en la forma irreducible.
Un corolario muy interesante de la equivalencia demostrada
para comportam iento cuasi-incompresible se obtiene notando el rpido
crecimiento del orden de las frmulas de integracin con el nmero de puntos
en la cuadratura (viz. Capitulo 8 ). Para elementos de alto orden el nmero de
puntos de cuadratura equivalente a la variable de restriccin p admisible por
estabilidad alcanza rpidamente la requerida para integracin exacta, y por
tanto su actuacin en situaciones cuasi-incompresibles es excelente, incluso
si se usa integracin exacta. Esto ha sido observado en muchas ocasiones 52-54
y Sloan y Randolph 55 han demostrado el buen comportamiento del triangulo
quntico. Desafortunadamente los elementos de alto orden presentan otras
dificultades, y son poco usados en la prctica.
Un comentario final sobre el uso de la integracin reducida en
particular, y de los mtodos penalizados y mixtos en general. Com o ya
se ha sealado en la Seccin 12.3.1 es posible para tales formas obtener
resultados adecuados parq. la variable primaria (u en este ejemplo), incluso
si las condiciones generales de estabilidad no se cumplen, siempre que algunas
de las ecuaciones de restriccin sean linealmente dependientes.
Esta situacin se da en algunos elementos que se utilizan a veces para la
solucin de problemas incompresibles, pero que no pasan el test de la parcela,
tales com o el Q 8 /4 y Q 9 /4 de la Figura 12.7. Si tomamos el ltimo nmero
com o correspondiente a los puntos de integracin, estos darn campos u
aceptables, pero no p.
La Figura 12.16 ilustra el caso en un ejemplo que corresponde a flujo
viscoso lento a travs de un orificio, un problema que obedece ecuaciones
idnticas a las de la elasticidad incompresible. Se comparan los elementos Q
8 /4 , Q 8 /3 , Q 9 /4 y Q 9 /3 aunque slo el ltimo satisface completamente
los requisitos de estabilidad. Todos los elementos proporcionan un campo
de velocidades (u ) razonable, pero las presiones slo son aceptables para el
ltimo, mientras que el elemento Q 8 /4 no da siquiera resultados que se
puedan dibujar . 2
f El elemento Q 9/3 requerir una cuadratura de tres puntos, lo cual es poco natural
para cuadrilteros. Por lo tanto, es mejor utilizar simplemente la forma mixta.
1
|
eo
O
II
3945
[ sin resultado
\ 04041
| 0 4081
o
II
3779
3776
CT
os
C
T
OS
lO o " CO
lO
os o>
o co
eo o
II o o o
T* ot-H
o os
O OS
eo eo
II
o O o
os
o00
CO
o o o
J
CO C'* -t
b
V X X e5
eo CN X
'O
Figura 12.15 Esfera sometida a presin interna. Efecto de las reglas de integracin numrica con diferentes coeficientes de Poisson.
|
1
|
370
371
Orificio
(a)
( 6)
(c)
(d)
Malla de elementos
rectangulares
Variacin de presin,
elemento Q 8/3
( e)
Velocidades axiales,
elementos Q 8/3, Q 9/4, Q 9/3
(f)
Velocidades radiales,
elementos Q 8/3, Q 9/4, Q
(<7)
Velocidades axiales,
elemento Q 8/4
(/i)
Velocidades radiales,
elemento Q 8/4
9 /3
Variacin de presin,
elemento Q 9/4
Variacin de presin,
elemento Q 9/3
Figura 12.16 Estado estacionario del flujo a travs de un orificio a bajo nmero
de Reynolds. Ntese que la variacin de la presin para el elemento
Q 8/4 es tan grande que no puede ser dibujada. Solucin con los
elementos u/p Q 8/3, Q 8/4, Q 9/3 y Q 9/4.
372
12.8
[* '
? ] { ; } - { $ }
(12.85)
(12.86)
(12.87)
373
o]{;}={o}
'i2-88)
/ Br(AGmmr )B
Jn
(12.89)
(12.90)
(12.91)
(12.92a)
(12.92b)
y
n + 1 =
_1(fi -
C p n+1)
(12.92c)
374
1 )
fi
cT
-I/J {p }
={-/"/,>}
(12-94)
Con esto, se obtiene una secuencia similar a la Ec. (12.92) siempre que
se defina segn la Ec. (12.90).
Empezando la iteracin con
u =
p =
(12.95)
375
12.0
u = I * 10.0
5.0
10
20.0
l()-s
\
\
10-
\ =
\\
10
\=
\\
10
Fuera del
lmite
>
1 1
I J__ L -J_____I_____I_____L.
10
Nmero de iteraciones *
Figura 12.18 Convergencia iterativa en un problema de extrusin para diferentes
valores del coeficiente de penalizacin A = 7 //i.
0
CT
Er
C
A
O
A =
{sH
(12.96)
f N r D N d
Jn
C = =
E
0
0
N t N d = C T
Jn
Jn
(12.97)
B d
376
(<r)i = (De)
(12.98)
_1
= Q f B t D B d fj *
(12.99)
( 1 2 . 1 0 0 a)
con
r n = E T<rn f 3
n+1
= - C - 1E n + 1
( * n+1) = (D n+1)t-
( 1 2 . 1 0 0 b)
(12.100c)
(12.100d)
a/b =
!m
377
10
1.5
1.0
fe*
0.5
0
10
Iteracin
cq
0
1Ph
TJ
S
12.9
378
12
- Exacta
- 7C3/3
1-2
ce
TCRV3
1-2
- 73
I ^ !
i s
"
O-S 7
1
h
t <3
o
*5 w 0-6
TI
,
10
20
Iteraciones
Mx. defleccin de la viga (32 elementos)
()
73
10
20
Iteraciones
Tensin normal en el punto A
- Referencia
20
7C3/3
Figura
1 2 .2 0
A(\
60
SO
100
Coordenada x
Sigma xx a lo largo de B - C
379
qn = q en Tq
( 1 2 .1 0 1 )
Por tanto, slo queda por sastisfacer la relacin constitutiva (12.2), esto es,
k -1 q + V< = 0 e O
(12.102)
Jn
Jr4
(12.103)
Jn
Jn
Jr
Jrq
8qn<t>dT = Q (12.104)
Jn
8qn} d T = 0
(12.105)
380
=f
Jn
lq rk -1q d n +
f qnidC
(12.106)
t = t en T*
(12.107)
u = en Tu
(12.108)
Jn
J tu
StT(u - )dT = 0
(12.109)
Jn
Jn
J r
StT d T - f
J r,
t r u d T = 0 (12.110)
= 0 en T
(12.111)
StTdV = 0
(12.112)
Jn
J ru
/ v Tn - la d -
2 Jn
tT d r
J ru
( 1 2 .1 1 3 )
381
V q = qx + w~qy = 0
d x '* ' dy
Qx T p
dy
q* = - T *
(12.114)
tal que
(12.115)
q = LV> + qo
q = L6i)
(12.116)
V rqo = Q
(12.117)
y
r
____
T _
l-dy
dx .
(12.118)
la formulacin de las Ecs. (12.105) y (12.106) puede ser usada sin ninguna
restriccin y, por ejemplo, la estacionariedad de
(12.119)
STa + b =
d x a*
d
d y ay
d y TxV
d
d Ttv
( 12.120)
382
(1 2 .1 2 1 )
donde
d2
d2
d y2' d x 2'
d2
dxdy
(12.122)
(12.123)
C o m e n ta r io s finales - la fo r m u la ci n m ix ta o u n a p r u e b a d e
la r o b u s te z d e un e le m e n to
383
Referencias
1. S.N. ATLURI, R.H. GALLAGHER, y O.C. ZIENKIEWICZ (eds), Hybrid and
Mixed Element Methods, Wiley, 1983.
2. O.C. ZIENKIEWICZ, R.L. TAYLOR, and J.A. BAYNHAM, Mixed and
irreducible formulations in finite element analysis , Captulo 21 de Hybrid and
Mixed Element Methods (eds S. N. Atluri, R. H.Gallaguer, y O. C. Zienkiewicz),
pp. 405-31, Wiley, 1983.
3. I. BABUSKA y J.E.OSBORN, Generalized finite element methods and their
relations to mixed problems , SIAM J. Num. Anal., 2 0 , 510-36, 1983.
4. R.L. TAYLOR y O.C. ZIENKIEWICZ, Complementary energy with penalty
function in finite element analysis , Captulo 8 de Energy Methods in Finite
Element Analysis (eds R.Glowinski, E.Y. Rodin, y O.C. Zienckiewicz), Wiley,
1979.
5. K. WASHIZU, Variational Methods in Elasticity and Plasticity, 2nd ed.,
Pergamon Press, 1975.
6 . L.R. HERRMANN, Finite element bending analysis of plates , Proc. Ist Conf.
Matrix Methods in Structural Mechanics, AFFDL-TR-80, Wright-Patterson AF
Base, Ohio, 1965.
7. K. HELLAN, Analysis of plates in flexure by a simplified finite element
method , Acta Polytechnica Scandinavia, Civ. Eng. Series 46, Trondheim, 1967.
8 . R.S. DNHAM y K.S. PISTER, A finite element application of the Hellinger
Reissner varitional theorem , Proc. Ist Conf. Matrix Methods in Structural
Mechanics, Wright-Patterson AF Base, Ohio, 1965.
9. R.L. TAYLOR y O.C. ZIENKIEWICZ, Mixed finite element solution of fluid
flow problems , Captulo 1 de Finite Elements in Fluids, Vol. 4 (eds. R.H.
Galagher, D.N. Norrie, J.T. Oden y O.C. Zienkiewicz), pp. 1-20, Wiley, 1982.
10. B. FRAEIJS DE VEUBEKE, Displacement and equilibrium models in finite
element method , Captulo 9 de Stress Analysis (eds. O.C. Zienkiewicz y C.S.
Holister), pp. 145-97, Wiley. 1965.
1 1 . I. BABUSKA, The finite element method with Lagrange multipliers , Num.
Math., 2 0 , 179-92, 1973; tambin Error bounds for finite element methods ,
Num. Math., 16, 322-33, 1971.
384
385
386
68.
69.
70.
71.
72.
73.
74.
75.
387
Capitulo 13
FORMULACIN M IXTA Y
RESTRICCIONES. MTODOS DE
CAMPO INCOMPLETO (HBRIDOS)
13.1
Generalidades
( S u M ^ S u 1 dn -
J n1
J t
u i r A dT -
Ai1
Su1Tb d - f
J rtl
u i r t dT = 0
(13.1)
389
390
r/{t = t)
Figura 13.1 Conexin entre dos (o ms) dominios mediante variables de fuerzas
definidas slo en la interfase. (a) Las variables en cada dominio son
desplazamientos u (forma irreducible interna). ( 6 ) Las variables en
cada dominio son desplazamientos y tensiones <r u (forma mixta).
en donde, com o de costumbre, se supone que la aproximacin de u 1 satisface
los desplazamientos prescritos en Tui. De forma similar se puede escribir
para el dominio 72, escribiendo ahora las fuerzas de superficie en la interfase
com o t2 = A para asegurar el equilibrio entre los dos dominios,
Ai2
(Su2)TD 2Su2 d +
Jt ,
u2TA <r -
Jr1
u2Tb d -
J r(2
u2rt dr = o
(13.2)
lr /
Ar (u 2 -
u 1)
dr =
(13.3)
(13.4)
u 2 = N u2 2
(13.5)
A = N a
(13.6)
391
se obtiene
K1
Q1
Q ir
Q 2r
Q2
K2
. o
Q l)
(13.7a)
\ 'x
U 2.
donde
K' = Ja
f
D 'B
df
Q l = - / n ^,n a dr
Jr
T /t
K2 =
Jn
B: D B
d
(13.7b)
N X dT
N V
u1 dT
f2 = f
N^2b
J n2 u
dU+ (
Jr
392
K1
Q1
Qir
(13.8)
donde
h
- N j dT
(13.9)
Jti
2 Jn
Jn
Jvt
uTt d r +
ir/
At (u 1 u2) eT
(13.10)
A.
Se tiene ahora, utilizando la formulacin de la Sec. 12.4.2 para el dominio
1 [vanse las Ecs. (12.28) y (12.21)],
l n1
<rir[(D1)_1<r1 - S u 1|n = 0
(13.11a)
(13.12a)
Jn2
JT
Jn2
u 2Tt d r = 0
Jvt2
(13.12b)
393
8Xt { u 2 - u 1) ^
(13.13)
La discretizacin ahora es
u 1 = N ul 1
U2 = N 1(2 2
a 1 - N a l<r'
c1
C 1T
Q1
Q1T
Q 2T
A2
C2
Q2
C 2T
V '
1
f2
>
*?
,U
2J U2J
X
f =
<
(13.14)
M a r c o d e in terfase en d e sp la z a m ie n to s
en
Fj
(13.15)
394
/
N ?t = q1
"fl
donde t son las fuerzas que el interior ejerce sobre el imaginario marco. El
equilibrio de las fuerzas nodales aportadas por cada subdominio proporciona
la condicin dbil de continuidad de tensiones.
Como finalmente las fuerzas t se pueden expresar en funcin de solamente
los parmetros del marco v, se llega a
ql = K 'v +
(13.17)
= 0
(13.18)
r;
395
donde la suma incluye todos los subdominios (elementos!). Por tanto, slo
es necesario considerar un nico subdominio en lo que sigue.
13.4.2 Conexin entre dos o ms subdominios con formas mixtas.
Supondremos, com o en la Sec. 13.3., que en cada subdominio, ahora llamado
e por generalizar, las tensiones <re y los desplazamientos ue se aproximan
independientemente. Las ecuaciones (13.11) se reescriben sumndole a la
primera la form a dbil de la imposicin de continuidad de desplazamientos.
Ahora se tiene, en lugar de (13.11a) y (13.13) (y prescindiendo de los
superndices)
J 0*
J r*
tr (u - v ) dT = 0
(13.19)
Jn*
SuT(STa + b ) d +
J rte
u T(t t) r = 0
f 8 ( S u f < r d - f SuTb d -
Jn*
Jn*
J i>
SuTt d V -
J i>
8uTt dT = 0 (13.20)
(13.21)
En lo que sigue TJ, esto es, el contorno con tensin prescrita, se tomar com o
nulo.
Al aproximar las Ecs. (13.19), (13.20) y (13.26) con
u = N u
tr =
v = N vv
,cT
) -,e K = } f
qeT
(I iv ) J
l ^
(13.22a)
396
donde
Ae = f
Ce =
N jD _1N ff dfi
N^Bl -
Jie
Qe = f
/
(G N )r N dr
JTje
(13.22b)
(G N j)rN , dr
7 r /e
f* =
Jn*
N j b d
(13.23)
en aplicaciones bi-dimensionales.
Existen varias formas variacionales alternativas de la formulacin
anterior. Una particulamente til es la desarrollada por Pian et a / . 2 - 4 En sta
la representacin mixta completa se puede escribir enteramente en funcin de
un nico principio variacional (para fuerzas de volumen nulas y si no existe
contorno tipo r<):
nn = -
Jn 2
d - I (S r <r)r u j d +
Jq
Jq
(rTS v dQ
(13.24)
(13.25)
397
J n*
8<rT(T5~l a - S v ) d f
Jn*
6<rTS \ iid +
7rje
tTu j d r = 0
(13.26)
Jn*
<rT( D - V - S v ) dSl+ f
(S TS<r)Tu , dT = 0
Jne
(13.27)
Jne
uJ'(ST<r) d +
Jn
SvT(ST<r) d = 0
(13.28)
Jn*
Jne
S (S v)T<r dt = 0
(si v = 0 en IM
(13.29)
<70 -f-
( , tj )
398
El campo de v en
el contorno y el interior
est definido
El campo de u = v + u;
y <r estn definidos
en el interior
< V
rl = {
ait +
i = \ a + a* \ =
{ axy )
( Ixt + W
( 1 - 1)
( 1 - f , 1)
(1 - C )
v = JVitf, r/)vi
donde JV*(,i7) son las funciones de forma isoparamtricas de cuatro nodos
usuales, bilineales (vase Captulo 8 ). La ecuacin (13.28) lleva al requisito
de que en cada elemento
y
- a
+ 6j7x - b ^ 2 = 0
399
donde
4
ai =
X)
bi =
4
=
s = S
z,,?
6 =
y , ^ fT 7 *
y*7
Jn*
BZ*ldQ = 0
400
pueden ser cero; por tanto, los parmetros de tensin se redefinen para evitar
la divisin por estos parmetros geomtricos. El resultado es
a\r '
atf
01 =
b\
ai&i V.
fo )
a ( iv -
Vo)
'
m -Zo)
bl(r 77o)
.aMZ-to)
aM v - r]o),
-i
0
eD - 1
A1
A
3J0
J Jo + Jit + J2V
Los pasos anteriores se han implementado en una rutina elemental incluida
en el Captulo 15. El elemento resultante es muy eficiente numricamente,
comparado con el elemento isoparamtrico de cuatro nodos.
La eficacia
computacional proviene del hecho de que
401
402
-30
1.5
A 1.5
3.0
1
1
A
150
-H
------- 3 ------ ^
1000
1000
E = 1500
iv = 0.25
] 150
Resultados
Caso 3
Caso 1
Elementos
Isoparamtrico
bilineal Q 4
Incompatible
(Taylor,Wilson)
Q 6 (ver Captulo 11)
Pian-Sumihara
Exactos
Caso 4
*A
Caso 2
- va
VA
6.00
17.00
45.7
-1761
50.7
-2448
6.00
17.61
6.00
6.00
17.64
18.00
96.18
100
-3014
-3000
98.19
102.6
-4137
-4050
va
En esta tcnica
aT = a + a0
(13.30)
G<r = 0 ; Ga0 = t en
En ausencia de
la Ec. (13.20) se satisface idnticamente y se puede
escribir (13.19) como (vase Captulo 12, Sec. 12.9)
403
Jn*
= f
Jn*
JVje
StT(u - v ) d T =
(13.31)
(G<r)rv dT = 0
J yj*
v = Nv
q eT
o' ] { *
} { , % }
(i >
404
donde
Ae = f
Jn
fi =
N (r1
D ~ 1N a d
NcrD- 1<r0 d
Qe = (
(G N ff)rN r
N vG<r0 dT
J V re
K e = QeTA e_1Q*
En la Secccin 12.9 se han discutido los posibles campos de equilibrio
y se han indicado las dificultades para elegir tales campos para un dominio
subdividido en elementos finitos. En este caso, por otro lado, la situacin
es bastante simple ya que los parmetros que describen las tensiones de
equilibrio dentro del elemento se pueden elegir arbitrariamente usando una
expresin polinmica.
Por ejemplo, si se usa una expresin polinmica simple en dos
dimensiones:
&X =
ao +
a lx
<*2y
(13.34)
= 7o +
71* + 72
SJ<r -
dx
d_
0
7T-
dy
d_
dy
d_
dx
7i =
ai +
/?2
72
+7i
(13.35)
405
C o n e x i n d e so lu cio n e s d e c o n to r n o (o t ip o T r e fftz ) m e d ia n te
m a r c o s d e d e sp la z a m ie n to s p r e s c r ito s
/
t r (u - v ) dV +
SuT(t - i) dY + d = 0
J r je
JTte
(13.36)
t = G a - G D (S N )
(13.37)
406
&
?!{-{?}
<*>
donde
H' =
f
(G D (S N )fN d r +
N r G D (S N ) <r
J r ,.
J r,.
Q* = /
[G D (S N )]TN <T
J r,,
ff = /
J\\,
(13.39)
N Tt dT
(13.40)
en la cual
K e = Q eTH e _ 1 Q e
f* = Q eTH <_1ff
Esta form a es muy similar a la de la Ec. (13.33) excepto que ahora slo
es preciso evaluar integrales sobre los contornos del elemento subdominio.
No es evidente a primera vista que la matriz H c de la Ec. (13.39) deba
ser simtrica. La simetra se demuestra a partir de la unicidad de la energa
de deformacin y, por consiguiente,
t r u dT = uTt T
JT*
JTe
y en consecuencia
/ N r G D (S N ) d T = [G D (S N )]r N dT
JTe
JT*
(13.42)
t= 0
407
t=0
Figura 13.6 Elementos de contorno tipo Trefftz (T) con marcos de forma
compleja que permiten la combinacin con elementos estndar en
desplazamientos (D): (a) elemento interior, ( 6 ) elemento exterior.
[GD(SN)]r N + N r G D (SN )} T -
2 J T .
- \ (
2 J r,
(13.43)
{[GD(SN)]t N + N t [GD(SN)]} dr
408
t= O
El desplazamiento
en el contorno est
interpolado en forma
polinomial
t = 0
u=
Figura 13.7
409
Espesor t= lcm
0
20
40
(a)
kN/cm2
f- '*
1500 kN
tTvA 1 TxvA
kN/cm2 kN/cm2jkN/cm2
E = 21000 kN/cm"
v= 0
60
Txy |
77.9
77.2
<*>) (74.2)
1 .0
1
1
1
0 .0
( 2 .6 ) | ( 0 . 1 )
410
(13.45)
para z = x + iy
(13.46)
S u b d o m in io s c o n e le m e n to s e s t n d a r y fu n c io n e s g lo b a le s
411
412
Referencias
1.
2.
3.
4.
5.
6.
7.
8.
9.
N.E. WIBERG, Matrix structural analysis with mixed variables , Int. J. Num.
Meth. Eng., 8,1 67-94, 1974.
T.H.H. PIAN, y K. SUMIHARA, Rational approach for assumed stress finite
elements , Int. J. Num. Meth. Eng., 2 0 , 1685-95, 1984.
T.H.H. PIAN y D.P. CHEN, Alternative ways for formulatio o f hybrid
elements , Int. J. Num. Meth. Eng., 18, 1679-84, 1982.
T.H.H PIAN, D.P. CHEN, y D. KONG, A new formulatio of hybrid/mixed
finite elements , Comp. Struct., 16, 81-7, 1983.
P. TONG, A familly of hybrid elements , Int. J. Num. Meth. Eng., 18, 14556 8 , 1982.
T.H.H. PIAN y P. Tong, Relations between incompatible displacement model
and hybrid strain model , Int. J. Num. Meth. Eng., 22, 173-181, 1986.
T.H.H. Pian, Derivation of element stifFness matrices by asssumed stress
distribution , JAIAA, 2 , 1333-5, 1964.
S.N. ATLURI, R.H. GALLAGHER y O.C. ZIENCKIEWICZ, (Eds), Hybrid y
Mixed Finite Element Methods, Wiley, 1983.
T.H.H. PIAN, Element stifness matrices for boundary compatibility and
for prescribed boundary stresses , Proc. Conf. Matrix Methods in Structural
Mechanics, AFFDL-TR-66-80, pp. 457-78, 1966.
413
414
Stokes problems , Comp. Meth. Appl. Mech. Eng., 30, 225-44, 1982.
31. I. HERRERA, y F.J. SABINA, Connectivity as an altemative to boundary
integral equations: construction of bases , Proc. Nat. Acad. Set. USA, 85(5),
2059-63, May 1978.
32. O.C. ZIENKIEWICZ D.W. KELLY y P. BETTESS, The coupling of the finite
element method and boundary solution procedures , Int. J. Num. Meth. Eng.,
11, 355-75, 1977.
33. O.C. ZIENKIEWICZ, D.W. KELLY y P. BETTESS, Marriage a la mode-the
best of both worlds (finite elements and boundary integris) , Chapter 5 of
Energy Methods in Finite Element Analysis (eds R. Glowinski, E. Y. Rodin y
O. C. Zienkiewicz), pp. 81-107, Wiley, London and New York, 1979.
34. O.C. ZIENKIEWICZ y K. MORGAN, Finite Elements and Approximation,
Wiley, London and New York, 1983.
35. O.C. ZIENKIEWICZ, The generalized finite element method- state of the art
and future directions , J. Appl. Mesach., 50th anniversary issue, 1983.
36. A.P. ZIELINSKI y O.C. ZIENKIEWICZ, Generalized finite element analysis
with T complete boundary solution , Int. J. Num. Mech. Eng., 2 1 , 509-28,1985.
37. J. JIROUSEK, A powerful finite element for pate bending , Comp. Meth.
Appl. Mech. Eng., 1 2 , 77-96, 1977.
38. J. JIROUSEK, Basis for development of large finite elements locally satisfying
all field equations , Comp. Meth. Appl. Mech. Eng., 14, 65-92, 1978.
39. J. JIROUSEK y P. TEODORESCU, Large finite elements for the solution of
problems in the theory of elasticity , Comp. Struct., 15, 575-87, 1982.
40. J. JIROUSEK y LAN GUEX, The hybrid Trefftz finite element model and its
application to pate bending , Int. J. Num. Mech. Eng., 23, 651-93, 1986.
41. R. PILTNER, Special elements with holes and internal cracks , Int. J. Num.
Meth. Engng., 21, 1471-85, 1985.
Captulo 14
ESTIMACIN DE ERROR Y
REFINAMIENTO ADAPTABLE
EN ELEMENTOS FINITOS
14.1 Introduccin
A lo largo de este libro se ha enfatizado el hecho de que el m todo
de los elementos finitos ofrece solamente una aproximacin a la solucin
exacta de un problema planteado matemticamente. Se ha establecido que
las diferencias entre las soluciones exactas y aproximadas, ej., errores en
desplazamientos
eu = u -
(14.1a)
e<r = a - a
(14.1b)
o errores en tensiones
416
Malla original
ESTIMADORES DE ERROR
417
en
(14-2)
1/2
1/2
er Le d j
/ (u - )r L (u - ; d
(14.3)
Jn
[ (Se)rD(S e) dQ
Jn
(14.4)
= Su
= Su
(14.5)
Ds
a De
(14.6)
(e - ) D (e - c) d
1/2
(14.7)
(e - )(er - a) d
1/2
= | I (<7 <t)D
(c r -a )d
418
[ (u )r (u ) d
I M i2 =
Jn
M \ l2 =
( i r - ir) (cr a) d
(14.8)
J1/2
1
(14.9)
|A<r| =
(14.10)
(14.11)
t=i
" = m i x 100%
Figura 14.2 Anlisis de un dominio en forma L. Convergencia tipo h para varios valores de p. Tensin plana E = 1, u = 0.3. (a) Malla
inicial (0) y subdivisiones uniformes (z). ( 6 ) % error ( 77) versus NGL (nmero de grados de libertad).
ESTIMADORES DE ERROR
419
( % ) L JO JJ3
420
{%) U.JOJJ3
'.9, "ce
.2 'Z>
.=
j jd^
- -o
a
C ^ rt fe
'33 ^ S
ri2
rt o ^
CO o
s
.2 ^ 2
3 II
> [*3 *3
ce ,
) C
a -5
<C
'u C
a *o w
& s
2
bp
tl
ESTIMADORES DE ERROR
421
(14.13)
Figura 14.5
OC
O
11*11801
3
*
422
ESTIMADORES DE ERROR
Malla 1
423
Malla 2
Malla 3
Figura 14.6 Malla adaptable de elementos triangulares lineales para la viga corta
en voladizo.
En la Figura 14.4 se muestra otro problema con una influencia de
singularidad fuerte tom ado de la misma referencia .1 En este caso, la
convergencia que se muestra en la Figura 14.5 para una subdivisin uniforme
de tringulos cuadrticos y lineales es casi la misma en el lmite (dominado
por la singularidad), a menos que se utilice la secuencia de las mallas que
se muestra en la Figura 14.6. Se intenta conseguir para esta secuencia una
malla ptima en la que el error en cada elemento sea (en el lmite) constante.
424
(14.14)
y
= N a*
(14.15)
(14.16)
dando
a*= A ' 1 (J
=0
(14.17a)
con
<J = DB
(14.17b)
ESTIMADORES DE ERROR
A =
425
n t n d
(14.17c)
Jn
48.3
25.0
53.1
27.5
0.70
0.58
0.77
0.64
0 .8 8
0.97
0.93
10
Malla
1,
40 GDL
33.4
45.1
29.8
21.3
32.8
23.4
17.9
13.7
16.5
18.2
13-.3
0.85
V 1
VL VL vi
T) % de error real en norma
de energa
tj % de error predicho en norma
de energa
rj* % de error predicho usando
factor de correccin
0.92
1 .0 1
0 .8 8
0.97
e
0l
6 Indice
0*
n
de efectividad
426
(14.18)
(14.19)
IIe IIexacto
0.57 0.90 0.78 0.81 0.80 0.80 0.80 0.81 0.83 0.77
/
/
0.70 1.21 1.02 1.08 1.06 1.07 1.07 1.07 1.07 1.07 1.06 1.06 1.06 1.06 1.05 1.03 1.02 0.99 0.92 0.62
0.70 1.21 1.02 1.08 1.06 1.07 1.07 1.07 1.07 1.07 1.06 1.06 1.06 1.06 1.05 1.03 1.02 0.99 0.92 0.62
0.40 1.06 1.02 1.02 1.02 1.02 1.02 1.02 1.02 1.02
0.75
1.02
l.ll
1.11
l.ll
1.02
1.02
1.11
1.11 1.11
1.02
1.02
1.02
Figura 14.8 Indices de efectividad local para el problema de la Figura 14.7 (mallas
1 a 3)(0* norma de energa; en la norma L 2 los resultados son muy
similares).
ESTIMADORES DE ERROR
/VV
/////
////
427
>///y
0.81 0.89
50
50
-k
50
50
Malla
(120 GDL)
.84 0.92
=!!!=
*1 TI I] *
o*
14.10
n l:
!:
Figura
"I I
0.56
0.90
2.61
1.46
2.34
de refinamiento
de malla.
428
429
ESTIMADORES DE ERROR
43.3
Malla
30.4
33.4
0 .6 6
0.73
(80 GDL)
(<0
30.0
Malla
23.3
25.6
0.76
0.84
(292 GDL)
(*)
430
2 1 .6
17.1
18.8
0.78
0 .8 6
(c)
18.1
14.8
16.3
0.81
0.89
ESTIMADORES DE ERROR
21.8
Malla
14.9
431
23.8
0.67
1.07
(310 GDL)
()
14.5
9.0
14.4
0.62
0.99
432
1 0 .2
6.70
10.7
0.65
1.04
8.80
6.30
1 0 .0
0.71
1.14
ESTIMADORES DE ERROR
V
34.2
Ti
16.6
V*
2 1 .6
e
0.46
6'
0.60
V
8.47
433
*
6.15
8 .0 0
$
0.72
e*
0.94
p=l
Jj
!
SA'
>*>!
Malla
V
18.3
(108 GDL)
V
8.7
V*
1 2 .2
Malla original
9
0.47
Malla predicha
(*>
$*
n
4.06
0 .6 6
V
4.47
V'
3.46
9
0.61
9*
0.85
p= 1.0
Malla predicha
ib)
Figura 14.13 Generacin automtica de malla para alcanzar el 5 por ciento de
precisin: cilindro grueso bajo carga diametral, (a) Elementos
lineales. ( 6 ) Elementos cuadrticos.
434
elementos
elementos
elementos
elementos
cuadrilaterales bilineales
triangulares lineales
bicuadrticos de nueve nodos
triangulares cuadrticos
(14.20)
r d = J J d i
(14.21)
Figura 14.14
Generacin automtica de malla para conseguir el 5 por ciento de precisin. Regin en forma de L en tensin plana, (a)
Tringulo lineal. ( 6 ) Tringulo cuadrtico. Con la estrategia de refinamiento de la Ec. (14.32) se alcanza, en una operacin,
una precisin del 4.61 por ciento con 358 G D L 14.
ESTIMADORES DE ERROR
435
436
437
ESTIMADORES DE ERROR
16.5
Malla
12.4
17.4
0.75
1.05
(728 GDL)
(a)
6.73
5.10
7.13
0.76
1.06
438
ESTIMADORES DE ERROR
||e||2 = Ci
r 2 dn + C t J^ J*dl
439
(14.22)
INI"i = ^ 274T*^y
11
f r l d l + 724kp
^ T J . J *d I
Jn,
(14-23)
v
'
440
r < f j
(14.24)
(14.25)
(14.28)
(14.29)
ESTIMADORES DE ERROR
llalli c h*
441
(14.30)
(14.31)
(14.32)
442
(% ) OAI}Bpi lOJig
T3 g
.2 S
bo
g i
C f-1
n-n*oi
ESTIMADORES DE ERROR
443
(14.33a)
= NO" +
K
K nh
'1'*
(14.33b)
444
e = N ( n - ) +
(14.34)
(14.35)
(14.36)
(* )'* = ^
(14-37)
T /
( S N ^ D i S N ^ ) d ? = f K g ' l
(14.38)
(14.39)
||e||i ~ (^J
er r d 2 ^
(14.40)
(14.41)
ESTIMADORES DE ERROR
445
y
Le = L (u - ) = r
Ahora r puede ser evaluado para una
dada tanto dentro del elemento com o
en las interfases [ver Ecs. (14.20) y (14.21)], y si se observa que, de hecho, la
segunda de las ecuaciones (14.33b) es una forma de residuos ponderados
K ',hOh = -
[ N hrdn
(14.42)
Jn
1.0
31
d
<1
A
Paso
1.
A AA
lo -:
Cl
Cl
en]
S
C1
H
C!
ti
It
o v Oy
O,
Cl
$
Cuad. GDL (direccin x)
Cbico GDL (direccin x)
Ov Cuadrtico en el centro GDL (direccin y)
Cl Cuad. en el contorno GDL (direcciones z e y)
144 GDL
Figura 14.18 Una solucin con refinamiento tipo p para el problema del dominio
en forma de L.
446
se puede escribir para una nica variable introducida utilizando las Ecs.
(14.33) y (14.40) a (14.42),
(i4M|
Resulta que esta forma da un estimador que es eficiente, particularmente
si se introduce un factor de correccin de \/2. Ahora se evala
1/2
E (/n
<* Jn r 2 SI + Jj N f d l J j P d l )
K ]h
(14.45)
C mx
(14.46)
ESTIMADORES DE ERROR
447
d2u
dx'
(14.47)
(14.48)
448
ESTIMADORES DE ERROR
449
Figura 14.20 Problema de la Figura 14.19. Densidad despus de: (a) 100
pasos; (b) 200 pasos; (c) 250 pasos (utilizando las mallas refinadas
mostradas en la Figura 14.19).
ESTIMADORES DE ERROR
451
Figura 14.22 Flujo viscoso sobre una placa plana. Nmero de Mach 3. (a) Medias
inicial y regenerada. ( 6 ) Lneas de isodensidad calculadas.
Esta medida puede extenderse a un problema bidimensional, bien
realizando un refinamiento uniforme o aplicando la medida segn los ejes
principales de curvatura. Las Figuras 14.19 a 14.22 muestran la aplicacin
de tales refinamientos adaptables para localizar con xito las zonas de shock
en problemas de flujo supersnico. En el primer ejemplo la malla se refina
uniformemente y en el segundo direccionalmente , 12,16 mostrando la malla
ptima resultante. Tal refinamiento no uniforme tiene tambin inters en
problemas tales com o el de deformacin plstica donde tienen importancia
las lneas de deslizamiento direccional, y aqu hay por tanto otro cam po para
su aplicacin.
Referencias
1.
452
procedure for practical engineering analysis , Int. J. Num. Meth. Eng., 24, 33757, 1987.
4. I. Babuska, O.C. ZIENKIEWICZ, J. GAGO y E.R. DE OLIVEIRA, (eds),
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Wiley, 1986.
I. BABUSKA y W.C. RHEINBOLDT, A-posteriori error estimates for the
finite element method , Int. J. Num. Meth. Eng., 1 1 , 1597-615, 1978.
I. BABUSKA y W.C. RHEINBOLDT, Adaptive approaches and reliability
estimates in finite element analysis , Comp. Meth. Appl. Mech. Eng., 17/18,
519-40,1979.
D.W. KELLY, S.R. GAGO, O.C. ZIENKIEWICZ y I. BABUSKA, ttA-posteriori
error analysis and adaptive processes int the finite element method. Part I-Error
analysis, Adaptive mesh refinement , Int. J. Num. Meth. Eng., 19, 1593-619,
621-56, 1983.
O.C. ZIENKIEWICZ, J.P. DE S.R. GAGO y D.W. KELLY, The hierarchical
concept in finite element analysis , Comp. Struct., 16, 53-65, 1981.
O.C. ZIENKIEWICZ y A. CRAIG, Adaptive refinement, error estimates
multigrid solution and hierarchic finite element concepts , Chapter 2 of Accuracy
Estimates and Adaptive Refinements in Finite Element Computations, (eds I.
Babuska, O. C. Zienkiewicz, J. Gago y E. R. de Oliveira), pp. 25-55, Wiley,
1986.
B.A. SZABO, Some recent developments in finite element analysis , Comp.
Math. Appl, 5, 99-115,1979.
E. RANK y O.C. ZIENKIEWICZ, A simple error estimator for the finite
element method , Comm. Appl. Num. Meth., 3, 243-50,1987.
J. PERAIRE, M. VAHDATI, K. MORGAN y O.C. ZIENKIEWICZ, Adaptive
remeshing for compressible flow computations , J. Comp. Phys., 72, 449-66,
1987.
J.Z. ZHU, O.C. ZIENKIEWICZ y A.W. CRAIG, Adaptive techniques in finite
element analysis , Proc. NUMETA, Conference S3/1 to S3/10, Martinus Nijhoff
Publ., 1987.
J.Z. ZHU y O.C. ZIENKIEWICZ, Adaptive techniques in the finite element
method , Comm. App. Num. Math., 4, 197-204,1988.
I. BABUSKA y A. MILLER, The post processing approach in the finite element
method: Part 1 -Calculation of displacement, stress and other higher derivates
of displacements. Part 2-The calculation of stress intensity factors. Part 3-j4
posteriori error estimates and adaptive mesh selection , Int. J. Num. Meth.
Eng., 2 0 , 1085-109,1111-29, 2311-24,1984.
R. LOHNER, K. MORGAN y O.C. ZIENKIEWICZ, An adaptive finite element
procedure for compressible high speed flows , Comp. Meth. Appl. Mech. Eng.,
51,441-65,1985.
M. AINSWORTH, J.Z. ZHU, A.W. CRAIG y O.C. ZIENKIEWICZ, Analysis
of a simple a-posteriori error estimator in the finite element method , Int. J.
Num. Meth. Eng. To Appear.
Captulo 15
454
455
456
457
TABLA 15.1
NOMBRES DE LAS VARIABLES UTILIZADAS PARA
ALMACENAMIENTO DE DATOS
Nombre de la variable(dimensin)
D (18,N U M M A T )
F (N D F,N U M N P)
ID (N D F,N U M N P)
IE ( 8 ,N U M M A T)
IX(N EN 1,N U M EL)
T(N U M N P )
X (N D M ,N U M N P )
NDF
NDM
NEN
NEN1
NUMEL
NU M M AT
NUMNP
Descripcin
Datos relativos a las propiedades del material, li
m itado a 18 palabras por tipo de material.
Fuerzas y desplazamientos nodales.
Condiciones de contorno que despus de la entrada
de datos cambia los nmeros de las ecuaciones
en los vectores globales.
T ipo de elemento para cada tipo de material.
Conexiones nodales del elemento y nmero del tipo
de material.
Temperaturas nodales.
Coordenadas nodales.
Nmero mximo de grados de libertad en un nodo
( 6 com o m ximo).
Dimensin espacial del problema (3 com o m ximo).
Nmero m ximo de nodos conectados a un elemento.
N EN-f 3
Nmero de elementos.
Nmero de tipos de materiales.
Nmero de nodos.
458
Mdulo de solucin
y salida de resultados
PMACR
459
14
15
t------------------- 1
10
16
11
3x 3=9
= nmero del elemento
/
Figura 15.3 Malla sencilla.
460
Opcin
no.
a
b
c
d
461
de las descripciones anteriores debe producir los mismos coeficientes para las
matrices globales.
Para mallas muy grandes la preparacin de datos sera muy tediosa; en
consecuencia, el programa debe ser capaz de generar la mayor parte de los
datos. Un esquema sencillo para la generacin de nodos es introducir los
puntos extremos de una linea cualquiera y generar por algn procedimiento
462
los puntos interiores, por ejemplo, por interpolacin lineal en el caso del
programa que nos ocupa. As, para la malla de la Figura 15.3 se podran
proporcionar las coordenadas de los nodos 1 y 4 y generar las de los nodos 2
y 3. Hasta para este simple problema la preparacin de datos de coordenadas
se reduce a la mitad.
Para cada elemento existe generalmente una regla con la que se pueden
generar elementos. Consideremos de nuevo la malla de la Figura 15.3. Los
valores nodales del elemento 2 son los del elemento 1 incrementados en 1 ; y
los nodos del elemento 3 son los del 2 incrementados en 1. Por consiguiente,
se podran dar las conexiones de los elementos 1, 4 y 7 y generar el resto
usando un incremento especificado.
Se pueden desarrollar esquemas de generacin ms sofisticados. Por
ejemplo, para regiones compuestas por bloques regulares de elementos, una
alternativa consiste en describir un superelemento que luego se subdivide
en elementos y nodos . 7 El procedimiento adoptado para introducir los datos
de la malla debe ser coherente con la clase particular de problemas que el
usuario quisiera analizar, as com o con las facilidades disponibles. El esquema
de entrada de datos que se incluye en el programa aqu ofrecido es sencillo y
debe estar, para la mayora de anlisis, dentro de la capacidad del programa.
Si un usuario desea preparar su propio esquema de entrada de datos puede
combinarlo fcilmente con la subrutina PMESH, ya que cada segmento de
entrada no interfiere con ninguno de los otros. En la Figura 15.5 se representa
el diagrama de flujo para PMESH.
15.2.3 Definicin de las propiedades del material; diferentes rutinas de
elementos. La discusin anterior se ha centrado slo en las matrices de datos
para las coordenadas nodales y la conectividad del elemento. Es tambin
necesario especificar las propiedades del material asociado a cada elemento,
las cargas y las vinculaciones de cada nodo.
Cada elemento tiene propiedades del material asociadas al mismo; ej.,
para materiales elsticos lineales istropos la constitucin del material para
un estado isotrmico est definida por el mdulo de Young E y el coeficiente
de Poisson u. En la mayora de los casos, varios elementos tienen las
mismas propiedades materiales y no es necesario especificar las propiedades
individualmente para cada uno. En este caso, un elemento puede asociarse a
un grupo de propiedades del material mediante un solo nmero en la tarjeta
del elemento y las propiedades slo han de definirse una vez. Por ejemplo,
si la regin que se muestra en la Figura 15.3 es toda del mismo material,
slo se necesita un grupo de propiedades del material y cada elemento estar
referido a ese grupo.
Un ejemplo ms complicado es el que se vi en la Figura 1.4 del
Captulo 1 , donde los elementos 1 , 2, 4 y 5 podan ser elementos planos,
mientras que el elemento 3 es un elemento unidimensional. (En los problemas
de ingeniera reales pueden necesitarse varios elementos al mismo tiem po.)
463
En este caso hay que calcular al menos dos tipos de matrices de rigidez
diferentes. En nuestro programa existen dispositivos para utilizar hasta
cuatro tipos diferentes de rutinas en cualquier anlisis. El programa se ha
diseado de manera que todos los clculos asociados a cualquier elemento
estn contenidos en una subrutina de elementos llamada ELM Tnn, donde
nn vara entre 01 y 04 (ver Seccin 15.5.3 para discusin de la organizacin
de ELM Tnn). Cada tipo de elementos que haya de emplearse se define
com o parte de los datos de las propiedades del material. As, si el tipo
de elemento 1 , calculado utilizando por ejemplo la subrutina ELM T01, es un
elemento plano de elasticidad lineal con 3 o 4 nodos y el tipo de elemento 2 es
un elemento unidimensional, calculado utilizando por ejemplo la subrutina
ELMT04, los datos para el ejemplo de la Figura 1.4 podran ser:
a) Propiedades del material:
N. del
material
T ip o del
elemento
Datos de propiedades
del material
Ei, A i
E 2t v
Nmero del
material
3
4
5
Conectividad
1
1
2
3
4
3
4
5
4
2
4
5
464
Nodos
Perfil
(a)
Almacenamiento del perfil = 32 palabras
Nodos
2
465
3
4
5
-1
466
TABLA 15.3
NMEROS DE LAS ECUACIONES COMPACTADAS
PARA EL PROBLEMA DE LA
F IG U R A
1 .1
Grado de libertad
Nodo
1
3
4
5
3
5
7
4
8
467
468
469
470
TABLA 15.4
FORMATO PARA EL TTULO Y LA INFORMACIN DE CONTROL
T T U L O -F O R M A T (20A4)
El ttulo sirve tambin com o comienzo del problema.
Las cuatro (4) primeras columnas deben contener la palabra de comienzo FEAP.
Columnas
a 4
5 a 80
1
Descripcin
Variable
Debe contener FE A P
Informacin alfanumrica que
se escribir en la salida de los
resultados encabezando la pgina.
T I T L (l)
T IT L (I),I= 2,20
DATOS DE C O N T R O L -F O R M A T (715)
Columnas
1a 5
6 a 10
11 a 15
16 a 20
21 a 25
26 a 30
31 a 35
Descripcin
Variable
Nmero de nodos
Nmero de elementos
Nmero de tipos de materiales
Dimensin espacial (< 3)
Nmero de incgnitas
por nodo (< 6 )
Nmero de nodos/elem ento
Incremento del tamao de las
matrices del elemento s
ste excede NDFNEN
NUMNP
NUMEL
NUM M AT
NDM
NDF
NEN
NAD
471
472
TABLA 15.5
ENTRADA DE DATOS: INSTRUCCIONES DE MACROCONTROL
DATOS DE M A C R O C O N T R O L -F O R M A T (A 4)
La lectura de cada segmento de datos est controlada por el valor asignado a C C . A
continuacin se muestran los valores admisibles; cada lnea de C C debe ir inmediatamente
seguida de los datos correspondientes (descritos en las Tablas 15.6 a 15.14).
Valor de CC
COOR
ELEM
M A TE
BOUN
FO RC
TEMP
BLOC
POLA
A N GL
PRIN
N O PR
END
Datos a entrar
Datos de coordenadas.
Datos de elementos.
Datos del material.
Datos de condiciones de contorno.
Datos de las fuerzas nodales prescritas.
Datos de temperatura.
Dato|s de nodos y elementos.
Convertir coordenadas polares a cartesianas.
Angulo de inclinacin de contornos bidimencionales.
Escribir los datos de la malla siguientes (m odo por defecto).
No escribir los datos de la malla siguientes.
Debe ser la ltima tarjeta en los datos de la malla;
pone n a la lectura de datos de la malla.
Excepto para END y PO LA los segmentos de datos pueden estar en cualquier orden. Si los
valores de A N G L, BOUN, FOR C o T E M P son cero no hay que leer esos datos.
TABLA 15.6
DATOS DE COORDENADAS
DATOS DE C O O R D E N A D A S -F O R M A T (2110, 6F 10 .0)- van inmediatamente despus del
macro C O O R .
Los datos de coordenadas contienen el nmero del nodo, N, y el valor de sus coordenadas.
Solamente se utilizan los valores de (X L (I),I= 1, N DM ), donde NDM es el valor ledo en la
lnea de control.
Las coordenadas nodales pueden generarse a lo largo de una lnea recta descrita por los
valores ledos en dos lneas sucesivas. El valor del nmero del nodo se calcula usando el N y
NG de la primera b'nea para calcular la secuencia N, N + N G , N + 2N G , etc. NG puede leerse
com o un nmero negativo; en caso de tener el signo incorrecto, ste se cambiar. Los nodos
no necesitan ser entrados en orden.
Columnas
1a 5
6 a 10
11 a 2 0
21 a 31
31 a 40
Descripcin
Variable
N
NG
X L (1 )>X(1,N)
X L (2 )>X(2,N)
X L (3 )-+ X (3 ,N )
473
TABLA 15.7
DATOS DEL ELEMENTO
D A TO S DEL E L E M E N T O -F O R M A T (1615)- deben ir inmediatamente a continuacin de
un com ando ELEM.
Los datos de los elementos contienen el nmero del elemento, nmero del tipo de material
(que tambin selecciona el tipo de elemento, ver la Tabla 15.8), y la secuencia de nodos
conectados al elemento. Si el nmero de stos es menor que NEN nodos (ver Tabla 15.1
para la lectura de NEN) dejar los espacios en blanco o escribir ceros.
Los elementos deben estar ordenados. Si se omiten las tarjetas de los elementos los datos del
elemento se generan a partir de los del elemento anterior con el mismo nmero del material
y los nodos todos incrementados por el LX del elemento anterior. Cuando el programa
encuentra una lnea en blanco la generacin contina hasta el ltimo elemento.
Columnas
1a 5
6 a 10
11 a 15
16 a 2 0
etc.
etc.
etc.
Descripcin
Nmero
Nmero
Nmero
Nmero
del
del
del
del
Variable
elemento
tipo de material
nodo 1
nodo 2
L
IX (N E N 1,L)
IX (1,L )
IX (2,L )
IX{N E N ,L)
LX
TABLA 15.8
DATOS DE PROPIEDADES DE MATERIALES
G R U PO S DE DATOS DEL M A T E R IA L -deben ir inmediatamente a continuacin del macro
M ATE.
Cada grupo de propiedades de materiales selecciona tambin el tipo de elemento que se
usar para los datos de las propiedades de los materiales.
R E C O R D 1). F O R M A T (8110)
Columnas
a 10
11 a 2 0
21 a 30
31 a 40
1
Descripcin
Variable
MA
IEL
I D L (l)
ID L(2)
El ID L (I) puede usarse para reasignar nmeros de grados de libertad de variables locales
de elemento a nmeros de grados de libertad global. Los valores por defecto son ID L (I)= I.
Si los valores introducidos son ID L (1 )= 2 y ID L (2)= 1 entonces el G DL 1 del elemento ser
asignado al G DL global 2 y el G DL 2 del elemento al GDL 1 (intercam biados). Si cualquier
IDL es no nulo un valor cero de otro GDL no ser ensamblado. As, es fcilmente posible
restringir problemas bidimensionales para que respondan con una solucin unidimensional.
Cada Record 1) material debe ser seguido inmediatamente por los datos de propiedades de
materiales precisadas por el tipo de elemento IEL que se est usando, ej., ver Seccin 15.8.3.
474
TABLA 15.9
DATOS DE CONDICIONES DE CONTORNO
CONDICIONES DE C O N T O R N O -F O R M A T (1 6 1 5 )- deben ir inmediatamente a
continuacin de un m acro BOUN
Para cada nodo que tenga al menos un grado de libertad con un desplazamiento restringido
debe leerse un conjunto de condiciones de contorno. El cdigo para m ovimientos restringidos
en el contorno es
=
Columnas
Descripcin
Variable
1a 5
6 a 10
11 a 15
16 a 2 0
N
NX
ID L (l) ID L (2) -
etc.
etc.
ID L (N D F ) ID (N D F ,N )
ID (1,N )
ID (2,N )
Nota: Al generar los cdigos de condiciones de contorno para los nodos IDL se hace igual a
cero si se lee > 0, e igual a 1 si se lee negativo. T odos los grados de libertad con cdigos
no nulos se suponen fijos. A cabar con una(s) lneas(s) en blanco.
TABLA 15.10
DATOS DE VALORES DE LAS FUERZAS NODALES O
DESPLAZAMIENTOS PRESCRITOS
DATOS DE F U E R Z A S -F O R M A T (2110, 7F 10 .0)- debe ir inmediatamente a continuacin
de un m acro FO R C .
Para cada nodo que tenga una fuerza o desplazamiento nulo debe leerse o generarse una
tarjeta de fuerza. La generacin es idntica a la de los datos de coordenadas (ver Tabla
15.6). El valor que se especifica es una fuerza si el cdigo de restriccin correspondiente es
cero y un desplazamiento si el cdigo de restriccin correspondiente no es cero.
Columnas
a 10
11 a 2 0
21 a 30
31 a 40
1
etc.
etc.
Descripcin
Variable
N
NG
X L (1) - F(1,N )
X L (2 ) F (2,N )
X L (N D F ) F (N D F ,N )
475
TABLA 15.11
DATOS DE TEM PERATURAS NODALES
1 a 10
11 a 20
21 a 30
D e s c r ip c i n
V a ria b le
N
NG
XL(1) -
T(N)
TABLA 15.12
D ATOS DE M ALLA POR BLOQUES
1 a 10
11 a 20
21 a 30
31 a 40
41 a 50
51 a 60
61 a 70
71 a 80
Notas: (1)
(2)
(3)
(4)
D e s c r ip c i n
V a ria b le
Nmero de supernodos
NN
Nmero de espacios a lo largo del lado 1-2 del superelemento
NR
Nmero de espacios a lo largo del lado 1-4 del superelemento
NS
Nmero del primer elemento del bloque en el supernodo 1
NI
Nmero del primer elemento del bloque adyacente en el supernodo 1 NE
Nmero del conjunto de propiedades para el bloque
MA
Incremento de nodos entre lneas
NODINC
NTYP
Tipo de bloque
0 = cuadrilteros de 4 nodos
8 = cuadrilteros de 8 nodos
9 = cuadrilteros de 9 nodos
Los nodos se incrementan a lo largo del lado 1-2 del superelemeto, luego saltan
NODINC nodos antes de comenzar la siguiente lnea.
Si NE es cero no se genera ningn elemento.
NR y NS deben ser impares para NTYP 8 9.
Los elementos cuadrilteros de ocho nodos generan un nodo central, pero ste
no se conecta al elemento (debe anularse con restricciones a travs de BOUN)
D e s c r ip c i n
1 a 10
11 a 20
21 a 30
31 a 40
V a ria b le
L
R
S
T
476
TABLA 15.13
DATOS D E COORDENADAS POLARES
D e s c r ip c i n
1 a 10
11 a 20
21 a 30
31 a 40
41 a 50
V a ria b le
NI
NE
INC
XO
YO
X (1 ,J )
= XO + r
eos
X ( 2 yI ) = Y O + r s e n 8
X (3,I) = X (3 J )
donde:
r es
X( 1,1) y
9 es
TABLA 15.14
DATOS DE NGULOS
D es c r ip c i n
V a ria b le
I a 10
II a 20
21 a 30
Nmero de nodo
Incremento de generacin
ngulo en grados
N
NG
ANG
TABLA 15.15
EJEM PLO D E LAS TARJETAS D E D ATO S
P A R A E L P R O B L E M A D E L D IS C O
0.
5.
0.
4.5828
0.
3.0
4.0
0.
0.75
1.5
2.25
1
5
9
1
1
1
1
6
11
2
7
12
1
S
6
16
1
0
5
0
1
0
-1
1
-1
1
0
0
FORC
16
1
5
6
10
11
14
15
16
17
18
19
(EXAMPLE PROBLEM)
0.
0.
2.
2.
4.
4.
3.
5.
4.9434
4.7697
4.4651
ELEH
7
12
17
6
11
16
1
1
1
BOUN
-5.
0.
MATE
100.
0.3
0.0
END
1 ,1 ,0 .,0 .
5..5.
6 .1 ..2 .
10.,4.5828,2.
etc., hasta
end
interactiva
stop
477
478
1 5 .4
L a s o l u c i n d e p r o b l e m a s d e e l e m e n t o s f in i t o s y e l l e n g u a j e
d e m a c r o p r o g r a m a c i n
479
TABLA 15.16
L IS T A D O D E L O S C O M A N D O S D E L L E N G U A J E D E M A C R O P R O G R A M A C I N
La tabla siguiente contiene una lista de los comandos de macroinstrucciones que pueden
usarse para construir algoritmos de solucin, en modo de cola , el comando M ACR debe
colocarse despus de los datos de la malla. Las dems macroinstrucciones deben seguir a
continuacin, y terminar con un macro END. En modo interactivo, el comando INTE sigue
a los datos de malla, y a continuacin, los usuarios son interrogados para especificar el
algoritmo de solucin, terminando con un comando QUIT o EXIT (EXIT genera un archivo
de datos para recomenzar).
FORMAT - A4,11X,A4,11X,3F15.0
Columnas
1-4
16-19
BETA
CHEC
DATA
DISP
ALL
31-45 46-60
VI
V2
NI
N2
61-75 Descripcin
N3
VI
DT
FORM
LOOP
MASS
MESH
NEWF
NEXT
PLOT
MESH
VI
V2
PLOT OUTL
VI
V2
PROP
REAC
ALL
NI
NI
N2
N3
ALL
NI
N2
N3
REST
SOLV
STRE
fLas operaciones son comprobadas en cada elemento para epecificar el valor de ISW
480
Columnas
1-4
16-19
31-45
46-60
61-75
STRE
NODE
NI
N2
N3
STRE
ERRO
TANG
VI
V2
TIME
TOL
VI
Descripcin
Imprimir variables (tensin, etc.)
para los nodos NI a N2 con incrementos
de N3 (ISW =8)
Imprimir estimadores de error y de
refinamiento para los elementos (ISW =7)
Calcular y factorizar tambin el residuo y
resolver las ecuaciones; perturbar la matriz
tangente con V2 veces la matriz de masa
Avanzar en el tiempo en un valor DT
Fijar el valor de la tolerancia a VI
481
resolver dos estados de cargas requiere cambiar las fuerzas nodales y /o los
desplazamientos prescritos. La macroinstruccin MESH hace que vuelva a
utilizarse el mdulo de entrada de datos, y en ese momento pueden cambiarse
las fuerzas. Los datos se colocan despus de las macroinstrucciones del
programa que terminan con la sentencia END. As pues, el macro programa
y los datos para dos estados de carga podra ser:
TANG
MESH
FORM
SOLV
DISP, ALL
STRE, ALL
MESH
FORM
SOLV
DISP, ALL
STRE, ALL
END fin del macroprograma
FORC
cargas para el problema 1
END fin de entrada de datos de la malla
FORC
cargas para el problema 2
END n de entrada de datos de la malla
Advertir el lector que se repite dos veces el mismo bloque de
instrucciones y que si hubiera diez estados de carga se perdera un esfuerzo
considerable en preparar las tarjetas de datos del macrograma. Para corregir
esto se introducen bucles tal como el par de instrucciones
LOOPn
NEXT
que indica que el bucle sobre todas las instrucciones entre LOOP y NEXT
se repetir n veces; por consiguiente, el macroprograma para dos estados de
carga ser ahora
482
TANG
L 0 0 P 2
MESH
SOLV
DISP, ALL
STRE, ALL
NEXT
END
FORC
cargas para el problema 1
END
FORC
cargas par el problema 2
END
(15 .1 )
483
TABLA 15.17
C A R G A S P R O P O R C I O N A L E S F O R M A T ( 2 1 1 0 ,6 F 1 0 .0 )
C o lu m n a
1a
11 a
21 a
31 a
41 a
51 a
61 a
71 a
10
20
30
40
50
60
70
80
V a ria b le
D e s c r ip c i n
L
TMIN
TM AX
Al
A2
A3
A4
^min 5: ^ Ca*
(15.2)
DT0.1
PROPl
TANG
L 0 0 p 1 0
TIME
FORM
SOLV
DISP1,12
STRE,ALL
NEXT
END
A t = 0.1
F = P (t) F
calcula la matrix de coeficientes (constante)
bucle de incrementacin
i = t + Ai
calcular F() P(a)
calcular A a, hacer a = a + Aa
imprimir a para los nodos 1 a 12
imprimir las tensiones en todos los elementos
fin del bucle
484
END
En el anterior macro programa la notacin time en las instrucciones
LOOP/NEXT no es usada por el programa (ver Tabla 15.15), pero ayuda a
que el algoritmo de solucin sea ms comprensible.
15.4.4. Soluciones no lineales; mtodo de Newton. El lenguaje de macro
programacin tambin puede usarse para resolver problemas no lineales. Por
ejemplo, el sistema de ecuaciones
P(a) = F
485
calcular la matriz K t
hacer 10 iteraciones con K j fija
formar un nuevo residuo R
resolver las ecuaciones
fin del bucle de iteracin
El lector puede observar que se pueden combinar las estrategias; hacer unas
cuantas iteraciones con la matriz de coeficientes fija a un cierto valor, cambiar
la matriz de coeficientes y las iteraciones.
15.4.5. Programacin de las macro instrucciones.
El mdulo de macroinstrucciones del programa PCFEAP est contenido en las subrutinas
PMACR, PMACIO, PMACR1 y PMACR2. La rutina PMACR llama a
las otras rutinas; PMACIO lee las entradas y controla los bucles; PMACR1
lleva a cabo todas las operaciones concernientes a clculos elementales, y
PMACR2 realiza todas las restantes macro operaciones. Los macro comandos
disponibles se almacenan en el vector de caracteres W D. Por tanto, para
aadir una macro instruccin al programa se debe redimensionar el vector
W D, modificar la lista de palabras almacenadas como datos en W D, y hacer
los cambios apropiados en PMACR1 y PMACR2. Los parmetros NW1 y
NW2 en PMACR definen el nmero de comandos contenidos en PMACR1 y
PMARC2, respectivamente. El parmetro adecuado debe cambiarse cuando
se aade un comando. Si se necesitan nuevos vectores de solucin se
pueden definir nuevos apuntadores en los vectores contenidos en el common
usando el subprograma PSETM (ntese en el subprograma PSETM como se
486
1 5 .5
C l c u l o d e lo s m d u l o s d e s o l u c i n d e e l e m e n t o s f i n i t o s
487
LD(2)
LD(3)
S (l,l)
S(2,l)
S (l, 2 )
S(2 ,2 )
S(l,3)
>(1)
P ( 2)
488
15.5.2 Clculo de las matrices de los elem entos. El clculo eficiente de las
matrices de los elementos (en tiempo de programacin y de clculo) es un
aspecto crucial de cualquier anlisis por elementos finitos. El desarrollo de
rutinas para evaluar la rigidez del elemento (o la rigidez tangente) y las
matrices de carga puede llevarse a cabo mediante una combinacin de los
mtodos numricos apropiados. Con objeto de explicar el desarrollo, se ofrece
aqu, en primer lugar, el planteamiento de los pasos esenciales, mostrndose
despus algunos detalles para el caso de tensin y deformacin plana.
Los pasos esenciales para calcular la matriz de rigidez de un elemento,
S, se resumen en la Figura 15.8. Los ingredientes clave son la integracin
numrica, el uso de rutinas para las funciones de forma (que son idnticas
para todos los problemas que requieran el mismo orden de continuidad) y
una formulacin eficiente de los productos matricales.
Generalmente se utilizan las frmulas de la cuadratura de Gauss para
calcular las integrales, puesto que son las que ofrecen mayor precisin en
relacin al esfuerzo empleado (vase el Captulo 8 ). En algunos casos es
preferible usar otras frmulas. Por ejemplo, si se emplea una frmula de
cuadratura cuyos puntos de integracin son slo los nodos, el clculo de
los trminos de masa lleva entonces a una matriz de masa diagonal, que
en problemas de dinmica generalmente es ms ventajosa. Esta idea puede
usarse tambin para calcular tensiones nodales (vase el Captulo 12 y el
Apndice 7).
Los subprogramas de funciones de forma permiten al programador
desarrollar elementos para muchos problemas de manera rpida y segura.
El subprograma de funciones de forma no slo evala la funcin de forma,
sino tambin sus derivadas respecto del sistema de coordenadas global.
Consideremos, como ejemplo, el problema bidimensional de clase Co, donde
solamente se necesitan las primeras derivadas de cada funcin de forma N{.
Para el cuadriltero isoparamtrico de 4 nodos se tiene
Ni =(1+,)(1+mv)
(15.3)
1 1
y = N lVi
(15.4
}
489
Figura 15.8 Mtodo para calcular la matriz de rigidez del elemento, (a) Usando
la rutina de funciones de forma del elemento e integracin numrica.
( 6 ) Para elementos con propiedades del material constantes.
(15.6)
490
d{ )/0 , etc. Las relaciones anteriores definen los pasos que debe efectuar el
subprograma de funciones de forma que se muestra en la Figura 15.9, donde
se supone que las coordenadas locales se han almacenado en la matriz de
coordenadas locales XL.
Esta rutina de funciones de forma puede utilizarse para todos los
problemas bidimensionales de clase C q que emplean el elemento de 4 nodos
(ej., problemas de elasticidad bidimensional y de revolucin, conduccin del
calor, flujo en un medio poroso, dinmica de fluidos, etc.). El subprograma de
funciones de forma puede tambin utilizarse para la generacin de los datos
relativos a la malla7. La rutina de funciones de forma se extiende fcilmente
a elementos de mayor orden. Como ejemplo, las rutinas SHAPE y SHAP2
(vase la Seccin 15.8.3) dan funciones de forma que comprenden tringulos
de tres nodos hasta cuadrilteros serendpitos y lagrangianos de 8 y 9 nodos
respectivamente. Los elementos pueden tener algunos lados lineales y otros de
segundo grado, omitiendo simplemente el nmero del nodo lateral en el caso
de que se desee un lado lineal. Adems, se pueden construir interpolaciones
jerrquicas, evitando simplemente las correcciones al final del subprograma
SHAP2.
La generacin del triple producto matricial merece tambin especial
atencin puesto que en las matrices B y D hay a menudo muchos ceros.
Se pueden usar varios mtodos para reducir el nmero de operaciones. El
primero es formar la matriz triple producto directamente. A pesar de que
esto parece, a simple vista, necesitar demasiados clculos manuales, es de
hecho elemental si se lleva a cabo nodo por nodo. Por ejemplo, consideremos
el problema de elasticidad bidimensional lineal, donde
Ni}X
NiV
B =
Ni,y
(15.7)
D =
'D u
D\2
0
D\2
Du
0
0
0
(15.8)
>33
(15.9)
donde
Qj = DBj
(15.10)
SUBR0UTINE SHAPEF(SS,TT,XL,XSJ,SHP)
IMPLICIT REAL*8 (A-H.O-Z)
c....Shapa function routina for 4-noda isoparametric quadrilateral
c
c
SS.TT
Natural coordinatas for shapa functions
c
SHP(1,1) X-darivative of I-noda shapa function
c
SHP(2,1) Y-darivativa of I-noda shapa function
c
SHP(3,1) Shapa function for I-noda
c
XS
Jacobian array
c
XSJ
Jacobian datarainant
c
XL(1,I)
- X-coordinata of I-noda
c
XL(2,I)
Y-coordinata of I-noda
c
REAL
XL(2,4),SI(4),TI(4)
REAL*8 SHP(3,4),XS(2,2)
DATA SI/-.5,.5,.5,-.5/, TI/-.5,-.5,.5,.5/
c
c . . . .Compute shapa functions and their natural coord.derivativas
c
DO 100 1 - 1 , 4
SHP(l.I) - SI(I)*(0.5+TI(I)*TT)
SHP(2,1) TI(I)*(0.5+SI(I)*SS)
SHP(3,1) (0.5+SI(I)*SS)*(0.5+TII)*TT)
100
CONTINUE
c
c...
Computa jacobian transomation from X,Y to SS.TT
c
DO 120 I - 1,2
DO 120 J - 1,2
XS(I.J) = 0.0
DO 110 K = 1,4
XS(I,J) = XS(I,J) + XL(I,K)*SHP(J,K)
110
CONTINUE
120
CONTINUE
c
c ...
c
c .. .
c
130
1,4
* ( XS(2,2)*SHP(l,I) - XS(2,1)*SHP{2,I)/XSJ
= (-XS(1 ,2 ) *SHP(1,1) + XS(1 ,1)*SHP(2 ,I )/XSJ
= TEMP
491
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
SHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
IB
16
17
18
19
20
21
22
23
24
2S
2B
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
492
Por tanto,
D llN jy
D n N j
D*N.J,X
j,y
(15.11)
(Ni,xQu
( N i iVQ 2 i + N itXQ n )
( N i ty Q 22 + N ^ x Q 32)
As pues, para cada par de nodos hay que efectuar 14 multiplicaciones para
formar kj, mientras que si calculsemos directamente B ^ D B necesitaramos
30 multiplicaciones. Tambin, cuando la matriz del elemento es simtrica
slo hay que formar la mitad durante la integracin numrica (la otra mitad
se obtiene por simetra). En la Figura 15.10 se muestra una rutina tpica
para el clculo de la matriz de rigidez, donde se supone que los puntos de la
cuadratura de Gauss y sus coeficientes se almacenan en las matrices SG, TG
y W G.
El procedimiento puede tambin extenderse a problemas anistropos
sustituyendo la matriz istropa D por la anistropa correspondiente y luego
recalculando la matriz Q j.
El clculo de las matrices de rigidez de los elementos para problemas en
los que las propiedades del material son constantes dentro de cada elemento,
puede efectuarse de manera ms eficiente advirtiendo (Captulo 6) que la
energa interna puede ahora escribirse, usando subndices, como
U i D abcdf
Jye
N ^N]ddVui
'
(15.12)
K = W 'D abcd
(15.13)
< = L N' ^ dv
(15.14)
donde
(15.15)
11
= 1
DO 100 I = l.J
S(I1 ,J1 )=S(I1 ,J1 )+SHP(l,I)*DBll+SHP(2,I)*DB31
S(I1 ,J1+1)=S(I1 ,Jl+D+SHP (1,1) *DB12+SHP(2,I) *DB32
S(I1+1,J1 )=S(I1+1,J1 )+SHP(1,1)*DB31+SHP(2,I)*DB21
S(I1 +1,J1+1)=S(I1+1, Jl+D+SHP (1,I)*DB32+SHP(2.I)*DB22
11 = 11 + NDF
100
CONTINUE
J1 = J1 + NDF
CONTINUE
110
120
CONTINUE
c . ...Compute lower pscrt by symmetry
DO 130 I = 2,NST
DO 130 J = 1,1
S(I.J) = S(J.I)
130
CONTINUE
RETURN
END
493
STF 1
STF 2
STF 3
STF 4
STF 5
STF 6
STF 7
STF 8
STF 9
STF 10
STF 11
STF 12
STF 13
STF 14
STF 15
STF 16
STF 17
STF 18
STF 19
STF 20
STF 21
STF 22
STF 23
STF 24
STF 25
STF 26
STF 27
STF 28
STF 29
STF 30
STF 31
STF 32
STF 33
STF 34
STF 35
STF 36
STF 37
STF 38
STF 39
STF 40
STF 41
STF 42
STF 43
STF 44
STF 45
STF 46
STF 47
STF 48
STF 49
STF 50
STF 51
STF 52
STF 53
STF 54
STF 5
STF 56
STF 57
494
donde A y \l son los parmetros de Lame que estn relacionados con las
constantes elsticas usuales E y v por A = v
E
2i/),
= E /2 ( l+ i/).
Por consiguiente, la matriz de rigidez se calcula a partir de
K = XW& + rfW ' + SM W )
(15.16)
pNjdV
(15.17)
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
MAS
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
495
c = Ba i
(15.18)
<r = De = Qai
(15.19)
JV
dV
(15.20)
496
STR 1
STR 2
STR 3
STR 4
STR 5
STR 6
STR 7
STR 8
STR 9
STR 10
STR 11
STR 12
STR 13
STR 14
STR 15
STR 16
STR 17
STR 18
STR 19
STR 20
STR 21
STR 22
STR 23
STR 24
STR 25
STR 26
STR 27
STR 28
STR 29
STR 30
STR 31
STR 32
STR 33
STR 34
STR 35
STR 36
STR 37
STR 38
STR 39
STR 40
STR 41
STR 42
STR 43
STR 44
STR 45
STR 46
STR 47
c
c . ...For each J-node compute:
c
DB = D*B
DO 110 J = 1,NEL
DB11 = D1*SHP(1,J)
DB12 = D1*SHP(2,J)
c
c . ...For each I-node compute:
c
100
110
120
S = Bt*DB
DO 100 I = l.J
S(I,J) = S(I,J) + SHP(1,I)*DB11 + SHP(2,I)*DB12
CONTINUE
CONTINUE
CONTINUE
c
c . ...Compute symmetric part of S
c
DO 130 I = 2.NEL
DO 130 J = 1,1
s(i,J) = s(J.i)
130
CONTINUE
c
RETURN
END
497
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
HEA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
498
ELM
ELM
c
ELM
c....MOCK ELEMENT ROUTINE
ELM
c
ELM
INTEGER*2 IX(NEN,1)
ELM
REAL XL(NDM,1),TL(1),DM
ELM
REAL*8 D(18),UL(NDF,1),S(NST,NST),P(NST)
ELM
c
ELM
COMMON /ADATA/ AA(16000)
ELM
C0MM0N /CDATA/ NUMNP,NUMEL,NUMMAT,NEN,NEQ
ELM
COMMON /ELDATA/ DM,N,MA,MCT,IEL,NEL
ELM
COMMON /HDATA/ NH1.NH2
ELM
COMMON H(l)
ELM
c....READ AND OUTPUT MATERIAL PROPERTY DATA
ELM
IFCISV.EQ.1) THEN
ELM
c
The array D(18) is used to store up to 18 Bords of
ELM
c
information for each material set
ELM
NH1 = number of vords each element needs in data base.
ELM
c....CHECK ELEMENT FOR ERRORS
ELM
ELSEIF(ISW.EQ.2) THEN
ELM
c
Check element for any negativo jacobians, etc.
ELM
c....COMPUTE ELEMENT COEFFICIENT MATRIX - AND RESIDUAL
ELM
ELSEIF(IS.EQ.3) THEN
ELM
c
The S(NST,NST) array is used to store matriz, and
ELM
c
the P(NST) array is used to store the element residual ELM
H(NH1) = first word in history data base for this element.h ELM
c .. ..OUTPUT ELEMENT (JUANTITIES (E.G., STRESSES)
ELM
ELSEIF(ISV.Eq.4) THEN
ELM
c
N is the current element number, MCT is a line counter ELM
C. . ..COMPUTE DIAGONAL ELEMENT MASS MATRIX
ELM
ELSEIF(ISV.EQ.5) THEN
ELM
c
The P(NST) array is used to store the diagonal matrix ELM
C. . ..COMPUTE A RESIDUAL ONLY
ELM
ELSEIF(ISW.EQ.6) THEN
ELM
c
Compute an element residual in P(NST)
ELM
C. ...COMPUTE ERROR ESTIMATES
ELM
ELSEIF(ISW.EQ.7) THEN
ELM
c
Compute error quantities for each element accumulate
ELM
C. ...COMPUTE STRESS PROJECTIONS TO NODES
ELM
ELSE I F (ISW.Eq.8) THEN
ELM
c
Compute the stress projections in array AA
ELM
ENDIF
ELM
RETURN
ELM
END
ELM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
elementos al mismo tiempo, donde los nombres de las rutinas del elemento son
ELMT01, ELMT02, ELMT03 y ELMT04. Esto se puede ampliar fcilmente
aadiendo ms nombres de rutinas de elementos en ELMLIB. La subrutina
ELMLIB se llama a su vez desde la subrutina PFORM que, como se ha dicho
antes, es la subrutina que efecta el lazo sobre todos los elementos, establece
matrices locales para las coordenadas (XL), desplazamientos (UL) y destinos
en las matrices globales (LD). La subrutina PFORM tambin ensambla los
499
(15.21)
500
(15.22)
K = LU
donde
1
L 2i
0
1
.. . 0
.. . 0
(15.23)
Ln2
Un u12
0
U
22
U =
.. .
i.
....
Uln
U2n
..
Unn
....
(15.24)
(15.26)
Y, Layj
;=i
an Vn/Unn
Vi
(15.27)
Uijaj
Ui
TI 1 , TI
2,
501
TABLA 15.18
K
D E S C O M P O S IC I N T R IA N G U L A R D E
Zona activa
K XX k 13 K i%
k 31 k 33 K
K K n K iS
II
................. 1
i
f
I
1
1
P a s o 1.
^
[ = i
K13 I K lt
\ k 3
K,
P a s o 2.
ui3 = K
1___1
Xji
31/
U Vi L 33
U = K -
L , ,U ,
KSi
Zona activa: Segunda fila y columna hasta la diagonal principal. Se usa la primera
fila de K para elimnar L 3, Z7n . La zona activa usa slo valores de K de la zona activa,
y valores de L y U que ya se han se han calculado en los pasos 1 y 2.
---- Zona reducida
____Zona activa
1K
1K
lt
K*i K K Si
| '
|
L ai
0
1
La
L i3
L S3 = { K
P a s o 3.
t
1
0
0
L
|
|
1 |
u 13
u = K t
u 33
U = K L aiU l ,
U iS
K -
L t l U lt
L U
L u i3) p 33
Zona activa: Tercera fila y columna hasta la diagonal pricipal. Se usa la primera
fila para eliminar L t i U Xi; se usa la segunda fila de trminos reducidos para eliminar
L i3 U t3 ( coeficiente reducido JCS3). Se reduce la tercera columna para reflejar las
eliminaciones por debajo de la diagonal-
502
c o l u m n a j de la zona activa
K \j
\
\
*2,
Jl ,
Zona
reducida
/
Fila j de la
z o n a activa
Kj\' Kn
* *
Z o n a sin reducir
Figura 15.15
V\,
Ln
U 2,
U2 J
A-i .,
U-U J
L, 2 . . L i
K >J
L j\
L J2
L j.
i- 1
Figura 15.16
ji.
503
(15.28a)
n =1
Para cada zona activa j desde 2 a n
L ji = K n /Un
(15.28b)
U ij = K i j
Entonces
L ji = K j i
i m P m i ) /U
U ij = K i j
TTl 1
rj
i = 1,2,...
-i
-1
(15.28c)
^ ir n P m j
m \
y finalmente
L = i
i- 1
(15.28d)
mj
m1
La ordenacin del proceso de reduccin y los trminos utilizados se muestran
en la Figura 15.16. Los resultados de la Tabla 15.18 y de las ecuaciones
(15.28) pueden ser comprobados por el lector mediante la matriz del ejemplo
representado en la Tabla 15.19.
Una vez efectuada la descomposicin triangular de una matriz, pueden
calcularse las soluciones para los distintos r utilizando las expresiones (15.26)
y (15.27). Este proceso se suele llamar resolucin, ya que no es necesario
volver a calcular L y U . Para matrices de coeficientes muy grandes el proceso
de descomposicin es muy caro mientras que la resolucin es relativamente
504
TABLA 15.19
E J E M P L O : D E S C O M P O S IC I N T R IA N G U L A R D E UNA M A T R IZ
'4
| 2
l'
.1
4.
3x3
i J
Paso 1. L n = l,J7n = 4
___ 1
2 I 1
4 ( 2
2
4
2
1
0.5
4J
1
1
2
3
|
1
1 1
1 2
1
0.5
0.25
1
0.5
2
3
1.5
3
Paso 3. L Z1 = \ = 0.25,tf13 = 1, 3 2 =
= 05
0.5
0.25
1
0.5
4
1
2
3
1
1.5
3
2
1
1
2
Paso 4- Comprobacin
(15.29)
505
506
Semiancho de banda
banda de la matriz
Figura 15.17
/
1
2
AD,
K,i
K 22
")
K.vi
k 44
5
6
K ",
77
Kkk
Diagonales
Perfil
Kn\K^ Ky*Ki
K, H
ix
\K22\K2, K 24\
i/Cv1j X , 4 K,s_
jKm
AU,
AL,
JD,
K l2
21
Km
\kh
K 2*
K, 4
*4,
*24
^42
1(1
K,4
Kvs
*45
>2
K,4
K.h
10
Ks<S
K,S
11
Kh7
K 7h
12
K|k
Simtrica /Cs^Ksh
'Ksk
i---- 1
---- ----- 1
\k 77] k 7h
' K aX
\K<*\_Khl K m
18
7h
H]
h1
Almacenamiento
de la matriz
11
18
507
TABLA 15.20
V A R IA B L E S U S A D A S E N L O S S U B P R O G R A M A S D A T R I Y D A S O L D E
___________________
S O L U C I N D E E C U A C I O N E S ____________________________________
AD(I)
vecinos inmediatos estn completos (esto es, ningn otro elemento afectar a
los trminos en las ecuaciones asociadas a ). En consecuencia, las ecuaciones
asociadas a x se pueden eliminar mediante un proceso gaussiano estndar.2,3
La matriz de coeficientes frontal del momento se muestra tambin en las
Figura 15.19, junto con la ecuacin asociada a x. El paso de la solucin
gaussiana debe realizarse para la ecuacin x y afecta a todos los dems
trminos en el frente activo de la matriz de coeficientes. Si existe simetra,
sta se conserva en el paso de solucin. El paso de eliminacin gaussiana
para la ecuacin x se puede escribir de la forma
(15.30)
A j.
j_i D j L j A j
donde:
L\x
- l 2x
- L Zx
(15.31a)
fila x
1
L nx
\ __ columna x
es una matriz casi vaca del tamao de la matriz frontal de coeficientes activa,
donde
508
T _
filaz
(15.31b)
. columna x
es una matriz diagonal unidad excepto en la fila x en la que la diagonal es
cero. Al operar con
y Lx se obtiene una ma,triz A ^ j que tiene ceros en
509
510
(15.32)
i 2, 3, . . . , n;
j 1, 2, . . . , i
(15.33)
i = 1, 2, . . . , n - 1; j = i + 1, i + 2, . . . , n
(15.34)
,,
Lan+i = r - U an
(15.35)
L Aa = r -
511
Kan
(15.36)
an+i = an + u>Aa
(15.37)
(15.38)
E
m =
E E
.t 'm . t 'i f 'm , , =
<HTi
1 i1 j = 1
t= l
lo que se convierte en
(15.39)
512
m \
y lU l = E
a n
(15.40)
t= l
n(a -
ah) = n(a) -
II(a'1)
(15.41)
513
514
1 5 .8
L i s t a d o d e l p r o g r a m a d e e l e m e n t o s f i n it o s
(a )
(6)
515
516
0.050 0.100 0.150 0.200 0.250 0.300 0.350 0.400 0.450 0.500
E l em. 32
Tensin
Tiempo
Coords. 15-25
517
TABLA 15.21
A R C H IV O S P A R A EL P R O G R A M A F U E N T E D E
PCFEAP
N o m b r e d e l a r c h iv o
D e s c r ip c i n
PCFEAP.FOR
PCDEPT.FOR
PCMESH.FOR
PCMAC1.FOR
PCMAC2.FOR
PCMAC3.FOR
PASOLV.FOR
PASOLV.FOR
PCPLOT.FOR
PCELM1.FOR
PCELM2.FOR
PCELM3.FOR
PCELM4.tex
518
Tipo
PROGRAMA
SUBRUTINA
SUBRUTINA
PCONTR
PLTSTR
SUBRUTINA
SUBRUTINA
PRTHED
SUBRUTINA
Descripcin
Programa Principal
Borra los archivos de trabajo
Prepara los archivos de entrada, salida
y re-ejecucin
Controla la solucin global del problema
Calcula las proyecciones nodales de
tensiones
Imprime el ttulo de cabecera en el archivo
de salida
c--------------------------------------------------------------c
c .....
FEAP
- - A Finite Element Analysis Program for
c
Hini and Hainframe Computers
c
c.....p c F E A P
- - A Finite Element Analysis Program for
c
.
Personal Computers
c
c .... A (PC) Finite Element Analysis Program for solution of general
c....problem classes using the finite element method. Problem size
c ....is controlled by the dimensin of blank common and valu of max
c ....set beloH.
c
c....Programad by:
c
R. L. Taylor
c
Department o Civil Engineering
c
University o California
c
Berkeley, California 94720
c
c....Mini Versin 1.22 of FEAP - January 1987
c
Use Skyline Solution systea in file:
pasolT.for
c
c
519
I
Uses:
|
I
c
c
Uses:
I
|
c---------------------------------------------------------------- +
$ KOFLOATCALLS
program pcfeap
pe 1
character versn*12,tfile*12
pe 2
integer*2
pcf 3
conmon *(32000)
pe 4
conmon /cdata/ numnp,numel,nunmat,nen,neq
pcf 5
couon /iofild/ iodr,iodv,ipd,ipr.ipi
pcf 6
conmon /psize/ aaza,&
pcf 7
couon /teafll/ tfile(6)
pcf 8
couon /vdata/ versn(3)
pcf 9
c ....set versin data
pcf 10
versn(l) * 'IBM PC / AT '
pcf 11
versn(2) - 1.22
pcf 12
versn(3) = 05/11/87
pcf 13
c. ...reserve aemory size; set default input/output units
pcf 14
aaza *= 32000
pcf 15
ne
=1
pcf 16
iodr = 1
pcf 17
iod = 2
pcf 18
c ....set precisin vales: ipd = double; ipr = real; ipi = integer
pcf 19
ipd * 4
pcf 20
ipr - 2
pcf 21
ipi 1
pcf 22
c....clear the screen to steurt
pcf 23
cali pelear
pcf 24
c ....open files; erase scratch files i they exist; start execution
pcf 25
cali filnaa
pcf 26
cali pdefil(tfile,1,4)
pcf 27
pcf 28
cali peontr
c ....cise input and output files; destroy temporary disk files
pcf 29
close(iodr)
pcf 30
cise(iodw)
pcf 31
cali pdefil(tile,1,4)
pcf 32
stop
pcf 33
520
c
subroutine pdefil(tfile.nl,n2)
100
logical lfil
character*12 tfile(n2)
do 100 n = nl,n2
inquire(file=tfile(n),exist=lfil)
if(lfil) then
open (4,file=tfile(n))
close(4,status=,delete')
endif
continu
return
end
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
1
2
3
4
5
6
7
8
9
10
11
12
13
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
fil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
c
subroutine filnam
521
else
pout inp
pres inp
psav inp
cali pdisk(o',pout)
cali pdisk(r',pres)
cali pdisk(s',psav)
ndi
pinp inp
c. ...ama ila or output data
assign 2 to ix
2
rita(*,2002) pout
raad (*,1000,rr900) out
if(fout.eq. *) out * pout
pout - out
c .....naaa ila or rastart raad data
assign 3 to iz
3
write{*,2003) pras
raad (*,1000,err*900) iras
if(res.eq.* J) iras pras
pras iras
c. ...naaa ila or rastart save data
assign 4 to iz
4
rita(*,2004) psav
raad (*,1000,err*900) sav
if(fsav.eq. ) fsav psav
psav sav
c. ...check ila status and input i necsssary
200
inquire(ile=inp,azist=1inp)
i(.not.Iinp) go to 100
inquire(file-fout,exist-lout)
iop 1
if(lout) iop = 2
inquire(lile*lres,ezist*l?es)
irs - 1
i(lres) irs = 2
inquire( ile=sav,axistBlsav)
isv 1
i(lsav) isv - 2
rite(*,2005) inp,wd(2),out,d(iop),iras,d(irs),sav,*d(isv)
raad(*,1001) y
iKy.na.'Y .and. y.ne.y ) go to 100
c ... .sava a copy o tha currant ilanaaes
i(.not.lil) open(3,iile*FEAP.NAM'.status-'new')
ravind 3
rita(3,1000) inp,out,iras,sav,disknm
closa(3)
c . .. .rasa the output lile i it ezists
i(lout) then
open(3,ile=lout)
closa(3,status-'delate')
endi
write(*,2006)
c ..,.open the liles or input and output
open(unit*iodr,lile*!inp,status*od)
open(unitsiodv,file*out,status*new)
lil
il
lil
lil
lil
lil
il
lil
il
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
fil
fil
fil
fil
il
lil
lil
il
il
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
lil
fil
fil
fil
fil
fil
fil
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
522
523
524
peo 72
c. ...zero the initial forc and solution vectora
peo 73
cali peonar(r(nl3), ndfnumnp,0.0)
peo 74
cali pconsd(d(nl4),3*ndf*numnp,0.0d0)
peo 75
c ....aero module for establishing solution algorithm
cali pmacr(d(nn),r(n0),r(nl),m(n2),d(n3),d(n4),m(nS),d(n6),m(n7) peo 76
1
r(n8),m(n9),r(nl0),r(nll),m(nl2),r(nl3),d(nl4),d(l), peo 77
peo 78
2
ndf,ndm,nenl,nat,prt)
peo 79
go to 1
peo 80
600
cali perror(PCQNTR',yyy)
return
peo 81
peo 82
cali pend('pcontr')
700
peo 83
return
peo 84
c. ...input/output formats
peo 85
1000 format(20a4)
peo 86
1001 format(8il0)
peo 87
2000 format(lx,20a4//5x.VERSION :'.3al2//
peo 88
x 5x, 'Number of nodal points
- ,i6/
1 5x,'Number of elementa
',i6/
peo 89
peo 90
2 5x,'Number of material sets
- ,i6/
3 5x,'Dimensin of coordinate spacea ',i6/
peo 91
peo 92
4 5x,'Degree of freedoms/node
*',i6/
peo 93
5 Bx.Nodes per element (mximum) ',i6/
peo 94
6 5x,'Extra d.o.f. to element
,i6)
peo 95
end
subroutine pltstr(dt,st.numnp)
c. ...stress projections computad by dividing by lumped' eightings
real dt(numnp),st(numnp,1)
real*8 sig(6).eerror,elproj,ecproj,efem(enerr,ebar
common /errind/eerror.elproj.ecproj,efem,enerr,ebar
elproj 0.0
do 100 ii 1.numnp
if(dt(ii).ne.O.O) then
styld
st(ii,5)
do 200 j - 1.4
sig(j)
* st(ii.j)/dt(ii)
elproj
* elproj + sig(j)*st(ii,j)
st(ii,j) sig(j)
cont inue
200
.compute the principal stress vales
c ...,
cali pstres(sig,sig(4),sig(5),sig(6))
if(st(ii,5).ne.0.0) then
dt(ii) st(ii,5)/dt(ii)
else
dt(ii) * sig(6)
endif
st(ii,5) * sig(4)
Bt(ii,6) = sig(5)
Bt(ii,7) = (sig(4)-sig(5))/2.0
endif
continu
100
return
end
c
subroutine prthed(iov)
c ....output a header to printed outputs
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
plt
22
23
24
25
26
27
28
prt
prt
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2000
character*4 head
common/bdata/ head(20)
write(iov,2000) head
return
format(lx,20a4//lx)
end
525
prt
prt
prt
prt
prt
prt
3
4
5
6
7
8
Tipo
SUBRUTINA
FUNCION
SUBRUTINA
PCLEAR
SUBRUTINA
Descripcin
Calcula el tiempo invertido y lo imprime
Compara datos en caracteres ASCII
Lee los datos de entrada desde pantalla o
archivo
Rutina para borrar la pantalla en DOS
SN0FL0ATCALLS
tim
INTERFACE TO SUBROUTINE TIME
c....nterface to dos time function
tim
CHARACTER*10 STR [NEAR,REFERENCE]
tim
tim
INTEGER*2 N [VALUE]
END
tim
c
subroutine pctime(etime)
pct
character*10 tarry [near,reference]
pct
character*10 etime
pct
C....D0S time cali routine: replace by appropriate system cali
pct
cali time (10,tarry)
pct
etime = tarry
pct
return
pct
end
pct
c
logical function pcomp(a.b)
fun
c ....determine match betveen alphanumeric data: inc = ascii parameter fun
fun
character*l a(4),b(4)
data inc/32/
fun
fun
pcomp = .false.
do 100 i - 1,4
fun
ia = ichar(a(i))
fun
ib ichar(b(i))
fun
if(ia.ne.ib .and. ia+inc.ne.ib .and. ia.ne.ib+inc ) return
fun
100
continu
fun
pcomp * .true.
fun
fun
return
end
fun
c
subroutine pintio(y.nO)
pin
c....input control from current active unit - into a character array
pin
pin
c....for free format processing by acheck into field vidths of 'n0'
character*80 x,y
pin
common /iofile/ ior,io
pin
if(ior.gt.O) readior,(a)',err=100,end=100) x
pin
1
2
3
4
5
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
526
if(ior.lt.O) read(*,(a),<
cali acheck(x,y,n0,80)
rttum
cali perror(PINTIQ,x)
stop
nd
pin 7
pin 8
pin 9
pin 10
pin 11
pin 12
100,end-100) z
subroutine pelear
c....clear PC aereen and home cursor on aonitor
write(*,2000) char(27)
return
2000 foraat(lx,al,[2J*)
end
(c) El archivo
subprogramas:
PCMESH.FOR
Nombre
PMESH
Tipo
SUBRUTINA
PMATIN
SUBRUTINA
BLKGEN
GENVEC
PBCIN
SUBRUTINA
SUBRUTINA
SUBRUTINA
PELIN
SUBRUTINA
POLAR
SUBRUTINA
SBLK
SETHIS
SUBRUTINA
SUBRUTINA
contiene
pcl
pcl
pcl
pcl
pcl
pcl
el
siguiente
1
2
3
4
5
6
conjunto
de
Descripcin
Programa de control de la entrada de datos
de malla
Entrada de los conjuntos de propiedades
materiales
Entrada de bloques de nodos y elementos
Genera vectores/matrices reales nodales
Entrada de los cdigos de vinculacin
del contorno
Entrada de las listas de conectividades
elementales
Convierte las coordenadas polares en
cartesianas
Genera nodos y elementos para BLKGEN
Escribe los datos iniciales de historia en disco
$N0FL0ATCALLS
subroutine paeBh(idl,ie,dtid,x,ix,f,t,ndf,ndm,nenl,iii,prt)
c....data input routine or aesh description
logical prt,error,pcoap
integr*2 ie(9,1),id(ndf,1),ixnenl,1),idl(6),ia
real
x(nda,1),i(ndf,1),t(1)
real*8 d(18,l),dm
character*4 head,wd(12),cc,ac,y+l,yyy*80
character*12 cds,tap,fds,an
common /bdata/ head(20)
common /edata/ numnp,numel,nummat,nen,neq
common /eldata/ dq,n,ma,mct,iel.nel
common /iofile/ ior.iov
common /mdat2/ nlla.nlIb,nllc,ia{2,11)
common dm(l),rm(l)
data wd/*coor,'elem*,mate','boun,fore,'temp *,prin,nopr,
1
'bloc','pola','angl','end /
data an/ angles
V, cds/ coordinates*/, tmp/ temperatura/
data fds/' orce/displ/, list/12/
pme
pme
pme
pme
pme
pme
pae
pme
pme
pme
pme
pme
pme
pae
pme
pme
pme
pme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
527
c ....initialize arraya
pae 19
error = .false.
pae 20
il(iii.ge.O) then
pme 21
prt * .true.
pae 22
cali peonar(rm(nllb),numnp,0.0)
pae 23
cali pconsr f,numnp*ndf,0.0)
pae 24
cali pconsi(id,numnp*ndf ,0)
pae 25
if(iii.eq.O) cali pconsrC t,numnp,0.0)
pae 26
if(iii.eq.O) cali pconsrC x,numnp*nda,-999.0)
pae 27
endif
pae 28
102
if(ior.lt.O) writeO.2000)
pae 29
cali pintioyyy,10)
pae 30
read(yyy,1000,err=901,end=900) cc,sc
pae 31
if((ior.lt.0).and.pcomp(cc,'help')) then
pae 32
cali phelp(wd,list,'MESH ',0)
pae 33
go to 102
pae 34
endif
pae 35
20
do 30 i l.list
pae 36
30
if(pcomp(cc,vd(i))) go to 40
pae 37
go to 102
pae 38
c....nodal coordinate data input
pae 39
40
if(i.eq.l) cali genvec(ndm,x,eds,prt,e r r o r t r u e .)
pae 40
c....element data input
pae 41
if(i.eq.2) cali pelin(idl,ix,nenl,nen,numnp,nuael,error,prt)
pae 42
c....material data input
pae 43
if(i.eq.3) cali pmatin(d,x,ix,idl,ie,numnp,numel,numnat,nda,ndf, ?me 44
1
prt)
pae 45
c....read in the restraint conditions for each node
pae 46
i(i.eq.4) cali pbcin(iii,idl,id,numnp,ndf,prt)
pme 47
c....force/displ data input
pae 48
if(i.eq.5) cali genvec(ndf,f,ida,prt.errorfalse.)
pae 49
c ....temperature data input
pae 50
if(i.eq.6) cali genvec(l,t,tmp,prt,error,.false.)
pme 51
c....set print flag
pme 52
if(i.eq.7.or.i.eq.8) prt * i.eq.7
pme 53
c ....generate block of nodes and 4-node elements
pme 54
if(i.eq.9) then
pme 55
if(iii.lt.O) srite(iow,3000)
pme 56
cali blkgen(nda,ndf,nen,nenl,x,ix,prt)
pme 57
endif
pme 58
c....convert polar/cylindrical to cartesian coordinates
pme 59
if(i.eq.lO) cali polar(x,ndm,prt)
pme 60
c....set boundary angles
pme 61
if(i.eq.ll) cali genvec(1,rm(nllb),an,prt.error,.false.)
pme 62
c....mesh complete, ret\irn
pme 63
if(i.eq.12) then
pme 64
if(error) stop
pme 65
return
pae 66
endif
pae 67
go to 102
pae 68
c....end of file encountered
pae 69
900
cali pendCpaesh )
stop
901
cali perror(PMESH 1,yyy)
go to 102
1000 foraat(a4,6x,a4)
528
2000
3000
format(J
Mesh. 1 > ,$)
formatC **VARNING** element connections necessary to use *
1
,block in macro program')
4000 format1 ** Current Problem Vales **/i6, nodea..iS,' elmts,1
1 i3, matlB,,i2, dims,,,i2>> dof/node,,i3, nodes/elmt)
end
c
subrout ine pm at in (d,x,ix,idl,ie,numnp,numel,nummat,ndm,ndf,prt)
logical prt
character yyy*80
integer*2 ix(l),idl(l),ie(9,1)
real
x(ndm,l)
real*8 d(18,1)
common /adata/ ad(16000)
common /eldata/ dq.n.ma.mct.iel.nel
common /hdata/ nhl,nh2
common /iofile/ ior.iow
c ... material data input
if(prt) then
cali prthed(iov)
rite(iow,2004)
if(ior.lt.O) write(*,2004)
endif
do 306 n = 1,nummat
if(ior.lt.O) write(*,3000)
301
cali pintio(yyy,10)
readyyy,1002,err=311) na,iel,(idl(i),i=l,ndf)
if(ma.le.O) return
c ...,
.set all zero inputs
do 302 i = l.ndf
ie(i,ina) = idl(i)
302
do 303 i = 1,ndf
if(idl(i).ne.0) go to 305
continu
303
do 304 i = l.ndf
ie(i.ma) = i
304
ie(7,ma) = iel
305
met = 0
nhl = 0
if(prt) then
srite( o h ,2003) ma,iel,(i,ie(i.ma),i=l,ndf)
if(ior.lt.O) write(*,2003) ma,iel,(i,ie(i,ma),i=l,ndf)
endif
cali elmlib(d(l,ma),ad,x,ix,adtad,ad,ndf,ndm,ndf,iel,l)
ifCnhl.eq.0 .and. mct.ne.0) nhl * met
ie(8,ma) = nhl
go to 306
311
cali perror(PMESH .yyy)
go to 301
continu
306
return
c ...,
.formats
1002 format(8il0)
2003 forinat C/5x,'Material Set',i3, for Element Type ,i2,5x,//
1
lOx,'degree of freedom assignments
local
global' /
2
42x, number ,4x,number/Ofix^ilO))
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
529
2004
3000
foraat('
M a t e r i a l
P r o p a r t i s>)
foraatC Input: aatl. no., alat type/3i,> ',$)
nd
paa 50
paa 51
paa 52
C
aubroutine blkgen(nda,ndf,nal,nal1,i ,ix,prt)
c. *...generate a block of nodas/eleaents
logic&l prt
charactar yyy*80
intagar*2 ixCnall,1),ixl(9)
raal
x(nda,l),xl(3,9)
raal*8 shp(3,9),dr,ds
coamon /cdata/ numnp,nune1,nummat,nen, neq
conmon /iofile/ ior.iow
ifior.lt.0) write(*,5000)
100
cali pintio(yyy,5)
read(yyy,1000,arr=101) nn,nr,ns,ni,ne. ma,nodinc,ntyp
go to 102
101
cali perror(BLKGEN,yyy)
go to 100
nodinc * aax(nodinc,0)
102
nr = aax(nr.l)
ns = aax(ns,l)
ni * aax(ni,1)
aa = aax(aa,l)
if(prt) then
cali prthed(iow)
writa(ios,2000) nr,ns,ni,na,ma,nodinc,ntyp
if(na.eq.O) rite(iow,2005)
write(iow,2002) (i,i*l,ndm)
if(ior.lt.O) then
rita(*,2000) nr,ns,ni,ne,aa,nodinc,ntyp
if(ne.eq.0) write(*,2005)
write(*,2002) (i,i=l,ndm)
endif
andif
do 10 n = 1,9
do 10 j = l,ndm
xl(j,n) = 0.0
10
ixl(n) = 0
na = 0
do 20 n = 1 ,nn
if(ior.lt.O) write(*,5001)
200
cali pintio(yyy,10)
raadCyyy,1001,err=20l) l,r,s,t
go to 202
201
cali perror(BLKGEN,yyy)
go to 200
202
if(l.eq.O) 1 = n
na == aax(na,l)
ixl(l) = 1
xl(l,l) = r
xl(2,l) = s
xl(3,l) = t
20
if(prt) rite(iov,2001) 1,(xl(i,1),i=l ,ndm)
if(prt.and.ior.lt.0) *rite(*,2001) l,(xl(i,l). i=l,ndm)
dr = 2.dO/nr
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
blk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
530
ds 2.d0/ns
ii (ntyp.eq.O) then
ni ne + nr*ns - 1
elseif (ntyp.gt.7) then
ni * ne + (nr*ns)/4 - 1
else
ni - ne + 2*rur*ns - 1
endi
il(nf.gt.numel.and.ne.gt.0) go to 401
nr nr + 1
ns ns + 1
if(ndm.eq.1) ns * 1
ng nr*ns + ni -1
if(ng.gt.numnp) go to 400
.form block
cali sblk(nr,ns,xl,ixl,shp,x ,ix,dr,ds,ni,ne,ndm,
1
nell,nodinc,ntyp,nm,ma,prt)
.print lists if wanted
if(.not.prt) return
.print element lists
if(ne.le.O) return
do 502 n ' ne,nf,50
cali prthed(iow)
rite(iow,2003) (i,i=l,nel)
iKior.lt.0) write(*,2003) (i,i=l,nel)
j = min(nf,n+49)
do 501 i = n,j
rite(iow,2004) i,na,(ix(k,i),k=l,nel)
i(ior.lt.O) write(*,2004) i,ma,(ix(k,i),k=l,nel)
continu
501
502
continu
return
write(iow,2006) ng.numnp
400
i(ior.lt.O) write(*,2006) ng.numnp
return
write(ioB(2007) nf,numel
401
if(ior.lt.O) write*,2007) nf.numel
return
1000 iormat(8i5)
1001 format(il0,3f10.0)
2000 formatC
Node
Generations'//
19x,number o r-increments:,i5/9x,number of s-increments
29x,first node number
:*,i5/9x,first element number
39x,'element material type :,i5/9x,node line increment
4
9x,block type (0-9)
:,i5/lx)
2001 format(i9,Ip3el2.3)
2002 format(5x,'node*,3(i6, coord))
2003 format(*
E l e m e n t
C o n n e c t i o n s //
1
*
element,7x,'matl',9(i5,' node))
2004 format(llilO)
2005 format**WAR NIMG** No elements are generated )
2006 format( **ERR0R** insufficient storage for nodes/
1
10x,'final node = ,i5,5x,numnp =',i5)
2007 formatC **ERR0R** insufficient storage for elements/
1
10x,'final element ,i5,5x,numel =',i5)
5000 formatC* Input: nn.nr,ns,ni,ne,ma,nodinc,ntyp*/3x,>*,$)
blk 53
blk 54
blk 55
blk 56
blk 57
blk 58
blk 59
blk 60
blk 61
blk 62
blk 63
blk 64
blk 65
blk 66
blk 67
blk 68
blk 69
blk 70
blk 71
blk 72
blk 73
blk 74
blk 75
blk 76
blk 77
blk 78
blk 79
blk 80
blk 81
blk 82
blk 83
blk 84
blk 85
blk 86
blk 87
blk 88
blk 89
blk 90
blk 91
blk 92
blk 93
>i5/ blk 94
.15/ blk 95
.15/ blk 96
blk 97
blk 98
blk 99
blklOO
blklOl
blkl02
blkl03
blkl04
blkl05
blkl06
blkl07
blkl08
5001
531
blkl09
blkllO
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
gen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
532
113
1000
2000
2001
2002
3000
3001
5000
if(x(l,j).eq.-999.0) write(*,2001) j
if(x(l,j).ne.-999.0) write(*,2002) j,(x(l,j),1-1,ndm)
endif
continu
r et u m
format(2il0,6f10.0)
formatC
Nodal:
*.al2//6x, 'node',9(i7,a6))
format(il0,' has not been input or generated*)
format(il0,9f13.4)
formatC* ERROR** attempt to generate node',i5,' in ',al2)
foraatC ERROR** attempt to input node*,i5,, terminate'
1 ,' input of nodes in ,al2)
formatC' Input ',al2,' vales: node, inc, valu (i) ,i-l,nval'/
1
3x.'>',$)
end
gen 54
gen 55
gen 56
gen 57
gen 58
gen 59
gen 60
gen 61
gen 62
gen 63
gen 64
gen 65
gen 66
gen 67
gen 68
c
subroutine pbcin(iii,idl,id,immnp,ndf,prt)
logical prt
character yyy80
integer*2 idl(l),idfndf,1)
common /iofile/ ior,iow
c....read in the restraint conditions for each node
iii - 1
n 0
ng - 0
400
1 n
lg ng
401
if(ior.lt.O) write(*,5000)
cali pintioyyy,10)
read(yyy,1000,err-412) n.ng,(idl(i),i=l,ndf)
if(n.gt.0.and.n.le.numnp) then
do 402 i l.ndf
id(i,n) * idl(i)
if(1.ne.O.and.idl(i).eq.0.and.id(i,l).lt.0) id(i,n) * -1
402
continu
lg sign(lg.n-l)
403
1 - 1 + lg
if((n-l)*lg.le.0) go to 400
do 404 i l.ndf
if(id(i.l-lg).lt.0) id(i.l) = -1
404
continu
go to 403
endif
c....output nodes with nonzero codes
if(prt) then
cali prthed(iow)
write(iow,2000) (i,i=l,ndf)
do 407 n - l.numnp
do 406 1 - l.ndf
if(id(l,n).ne.0) then
write(iowt2001) n ,(id(i,n),i=l,ndf)
go to 407
endif
406
continu
407
continu
endif
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
533
return
cali perrorPBCIN \yyy>
go to 401
c .. ..,1oraat s
1000 foraat(8il0)
2000 1oraat(
N od al
B. C .'//6x,'noda*,8{i3,' b.c.)/lx)
2001 foraat(il0,8i8)
5000 foraat(* Input: noda, inc, b.c. codas(i),il,ndf/3x,>,$)
and
412
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
pbc
41
42
43
44
45
46
47
48
49
pe 1
pe 2
pe 3
pe 4
pe 5
pe 6
pe 7
pe 8
pe 9
pe 10
pe 11
pe 12
pe 13
pe 14
pe 15
pe 16
pe 17
pe 18
pe 19
pe 20
pe 21
pe 22
pe 23
pe 24
pe 25
pe 26
pe 27
pe 28
pe 29
pe 30
pe 31
pe 32
pe 33
pe 34
pe 35
pe 36
pe 37
pe 38
pe 39
pe 40
pal 41
pe 42
pe 43
pe 44
pal 45
pe 46
534
210
continua
return
c....foraats
1001 foraat(16i5)
2001 foraat('
E 1 e a e n t s //3x,'elat aatl,8(i3, node')/
1
(13x,8(i3,' node')))
2002 format(2i6,8i8/(13x,8i8))
3001 format(' **ERR0R** eleaent1,i5, appears after eleaent'.iS)
3002 foraatC **ERR0R** eleaent'.iS, has illegal nodes1)
5000 foraatC Input: eln, aat, ix(i),i-1,nen, inc/3x,*>,$)
end
c
subroutine polar(x,nda,prt)
c....convert polar to cartesian coordinates
logcal prt
real*8 th
real
x(nda,l)
character yyy*80
comnon /cdata/ numnp,nume1 .nummat,nen,neq
common /iofile/ ior.iov
if(nda.eq.l) return
mct 0
th * atan(1.OdO)/45.0
100
if(ior.lt.O) write(*,5000)
cali pintio(yyy,10)
readfyyy,1000,err=101) ni,ne,inc,x0,y0
go to 102
101
cali perror(POLAR ,yyy)
go to 100
102
if(ni.le.O) return
if(ni.gt.numnp.or.ne.gt.numnp) go to 300
inc = sign(max(abs(inc),1),ne-ni)
if(ne.eq.O) ne = ni
n ni
200
r = x(l,n)
x(l,n) * xO + r*cos(x(2,n)*th)
x(2,n) - yO + r*sin(x(2,n)*th)
if(mct.gt.O) go to 250
if(prt) cali prthed(iow)
if(prt) write(io,2000) xO,y0,(i,i=l,nda)
if(ior.lt.0.and.prt) write(*,2000) x0,y0,(i,i=l,nda)
act * 50
250
if(prt) write(ion,2001) n,(x(i,n),i=l,ndm)
if(ior.lt.0.and.prt) write(*,2001) n,(x(i,n),i=l,nda)
act act - 1
n * n + inc
if((ne-n)*inc.ge.0) go to 200
if(aod(ne-ni.inc).eq.0) go to 100
ni * ne
n = ne
go to 200
c ....error
300
write(iow,3000) ni,ne
if(ior.lt.O) rite(*,3000) ni.ne
stop
c....formats
pe 47
pe 48
pe 49
pe 50
pe 51
pe 52
pe 53
pe 54
pe 55
pe 56
pe 57
pol 1
pol 2
pol 3
pol 4
pol 5
pol 6
pol 7
pol 8
pol 9
pol 10
pol 11
pol 12
pol 13
pol 14
pol 15
pol 16
pol 17
pol 18
pol 19
pol 20
pol 21
pol 22
pol 23
pol 24
pol 25
pol 26
pol 27
pol 28
pol 29
pol 30
pol 31
pol 32
pol 33
pol 34
pol 35
pol 36
pol 37
pol 38
pol 39
pol 40
pol 41
pol 42
pol 43
pol 44
pol
foraat(3il0,2fl0.0)
C o o r d s./ pol
formatO
P o l a r
to
C a r t e s i a n
L 8x,'Canter:x0 - \el2.4,' yO - ,al2.4/6x,noda',6(i7,*-coord')) pol
pol
2001 format(il0,6fl3.4)
3000 foraat(' **ERR0R** attempt to convert nodas ni *,.i6,' " ne- ,i6)pol
5000 ormatC1 Input:=l-noda, 2-noda, inc, xl(cent), x2(cent)' /3x, > M ) p o l
pol
and
c
sbl
subrout ine sblk(nr,ns,xl,ixl,shp,x,ix,dr,ds,ni,na ,nda,nall.
sbl
L nodinc,ntyp,na,aa,prt)
sbl
logical prt.ityp
sbl
real
xl(3,1),x(ndm,l)
sbl
real*8 shp(3,1),r,s.dr,ds,xsj
sbl
integer*2 ixl(l),ix(nell,l)
sbl
cominon /cdata/ numnp,numel .nummat,nen,neq
sbl
common /iofile/ ior,ios
sbl
n = ni
sbl
mct = 0
sbl
sbl
do 200 j = l,ns
sbl
r - -1.0
sbl
do 100 i = 1,nr
sbl
cali shape(r,s,xl,shp,xsj,3,nm,ixl,.true.)
sbl
do 55 1 = l,ndm
sbl
x(l,n) = 0.0
sbl
do 50 k = 1,9
sbl
m = ixl(k)
sbl
if(m.gt.O) x(l,n) = x(l,n) + shp(3,m)*xl(1,m)
sbl
continu
50
sbl
55
continue
sbl
if(prt) then
sbl
act = mct + 1
sbl
if(mod(mct,50).eq.1) then
sbl
cali prthed(ios)
sbl
write(ios,2000) (k,k=l,ndm)
sbl
if(ior.lt.O) srite(*,2000) (k,k=l,ndm)
sbl
endif
sbl
srite(ios,2001) n,(x(k,n),k=l,ndm)
sbl
if(ior.lt.0) write(*,2001) n,(x(k,n),k=l,ndm)
sbl
endif
sbl
n = n + 1
sbl
r = r + dr
100
sbl
n = n + nodinc
sbl
200 s = s + ds
sbl
if(ne.le.O) return
sbl
me = ne - 1
sbl
n * ni
sbl
inc = 1
sbl
if(ntyp.ge.8) inc = 2
sbl
do 400 j = l,ns-l,nc
sbl
do 300 i = 1,nr-l,inc
sbl
n = n + 1
sbl
ae = me + 1
sbl
ix(nell,ae) = aa
sbl
if(ntyp.eq.0) then
sbl
ix(l,ne)
= n - 1
1000
2000
535
45
46
47
48
49
50
51
O
1-1
1
II
tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
536
ix(2,ae)
- n
if<nd>.na.1) then
ix(3,ae)
n + nr + nodinc
ix(4,ae)
* n + nr - 1 + nodinc
endif
elsei(ntyp.ge.8) than
ix(l.na) n-1
ix(5,me) * n
ix(2,ae) n+1
ix(8,me) nr+nodinc + n-1
i(ntyp.gt.8) ix(9,me) * nr+nodinc + n
ix(6,ae) * nr+nodinc + n+1
ix(4,ae) 2 * (nr+nodinc) + n-1
ix(7,ae) 2*(nr+nodinc) + n
ix(3,aa) * 2*(nr+nodinc) + n+1
n n+1
andif
300
continua
400
n n + (inc-1) * nr + nodinc + 1
raturn
2000 oraat(' N o d a l
C o o r d i n a t a s //6x,noda',
1
3(i7,' coord'))
2001 foraat(il0,3l3.4)
and
c
subrout ine sathis(ie,ix.idl,ipd.nen,nenl.nuael)
c....set up history addresses in ix array
logical hl.hout
character*12 tlile
integer*2 ie(9,l),ix(nenl,1),idl(l)
double precisin dm
common /hdatb/ nhi.nh.ihbuf,irec,jrec,nrec,hfl,hout
coaaon /psize/ maxa,ne
common /temtll/ tfile(6)
coaaon /teafl2/ itrec(4),nwl,nw2
common da(l)
nhO (ne+ipd-l)/ipd
nhi nhO
ihbuf 8001 - nhO
hfl
= .true.
hout
= .false.
irec
* 0
nrec
1
c....determine buffer size needed for history terms
ihmin = 0
ihdm
- 0
do 50 nu * 1,nuael
n
* idl(nu)
ihmin ihmin + ie(8,ix(nenl,n))
ihdm max(ihdm,ie(8,ix(nenl,n)))
50
continu
c....set the bufer length and record length to minimua possible
ihbuff min(ihbuff.ihmin)
nhf
= nhi + ihbuf - 1
ihbuf * ihbuf*8
c....set history area
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
do 100 nu = 1,numel
n
= idl (nu)
nhinc = ie(8,ix(nenl,n))
if(hfl .and. nhinc.ne.O) then
itrec(2) = ihbuff
open(3,file=tfile(2),access='direct', status='new',
1
forn^unformatted' ,recl=itrec (2))
cise(3)
hfl = .false.
cali peonsd(dm(nhi),ihbuff/8,0.OdO)
endif
if(nh0+nhinc .gt. 8000) then
cali phstio(3,nrec,dm(nhi),8000-nhi+l,2,tfile(2),itrec(2))
nrec = nrec + 1
nhO = nhi
endif
ix(nen+l,n) = nhO
ix(nen+2,n) = nrec
nhO = nhO + nhinc
check for errors and finish initialization
if(nrec.gt.numel) then
write(*,20Q0)
cali pdefil(tfile,2,2)
stop
elseif(nhO.gt.nhi) then
cali phstio(3,nrec,dm(nhi),nhf-nhi+l,2,tfile(2),itrec(2))
else
nrec = nrec - 1
endif
ne
= (nhf+l)*ipd + 1
close(3)
return
formatC ** ERROR ** insufficient storage for history tenas')
end
;
537
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
5S
56
57
58
59
60
61
62
63
64
65
538
1 5 .8 .3
El
archivo
P C M A C l .F O R
contiene
el
siguiente
co n ju n to
su b p ro g ra m a s:
Nombre
Tipo
Descripcin
PMACR
S U B R U T IN A
P IN IT C
S U B R U T IN A
P M A C IO
S U B R U T IN A
PMACR1
S U B R U T IN A
PMACR2
S U B R U T IN A
FORM FE
S U B R U T IN A
P H S T IO
S U B R U T IN A
de vectores de E F
E n tra d a y salida de d ato s a disco
INOFLOATCALLS
c
subroutine pmacr (ul.xl.tl.ld.p.s.ie.d.id.x, ix.f.t.jd.fO.b,
1 dr.ndf ,ndm,nenl,nst,prt)
.aero instruction subprograma
logical fl.prt.hfl.hout
integer*2 ld(l),ie(l),id(),ix(l),jd(l),jct.lvs.lve.im
real
ctO.lOO) ,xl(l) ,tl(l) ,x(l) ,f (1) ,fO(l) ,t(l)
real*8 d(l),ul(l),p(l),s(l),b(l),dr(l),dm,aengy,rnmax,prop
character*4 vd(20),lct,tary*10.tile*12
common dm(l),rm(l),im(l)
common /edata/ numnp.numel.nummat.nen.neq
common /fdata/ fl(ll)
common /hdatb/ nhi.nh.ihbuff,irec,jrec.nrec.hfl.hout
common /iofile/ ior.iow
common /ldata/ l.lv.lvsO) ,lve(9) ,jct(lOO)
common /ldatb/ lct(lOO)
common /ndata/ nv.ns
common /rdata/ aengy,rnmax,tol,shift
common /tdata/ ttim.dt,cl,c2,c3,c4,c5,c6
common /tem11/ tfile(6)
common /temll2/ itrec(4),nl,nw2
common /prlod/ prop,a(6,10),iexp(10),ik(10),npld
data wd/'atre',tang,'form,masa*,reac,1chec,
1
Jdisp,solr,mesh,rest',
2
'tol \'dt ,'loop*,next,'prop*, data','time1,
2
'beta*,newf,
plot'/
.nmi = no. macro commands in 'pmacri1; nlp loop number
data nmltnm2/10,9/
nlp nml + 3
.set initial vales of parametere
cal1 pinit c (aengy,m m a x ,shift,tol,dt,prop,11 im,npld)
nwl - nml
n*2 * nm2 + nwl
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
de
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
nnaq ndf*nuanp
c....input tha aero coaaands
100
cali paacio (jet,lct,ct,wd,nw2+l,nlp,ll)
if(11.la.0) go to 300
c. .. .aiecute aacrcLinstruction prograa
1t 0
1*1
200
j jct(l)
i * 1 - 1
cali petiae (tary)
if(1.na.1.and.l.ne.11) then
writa-Ciov2Q.Q1) i,sd(j) ,lct(l) ,(ct(k,l) ,k=l,3) .tary
if(ior.lt.0) write(*,2001) i,wd(j),lct(1),(ct(k,1),k-l,3),tary
endif
if(j.le.nwl) cali pmacrl(id,ie,ix,ld,d,s,p,x,f,f0,t,jd,b,dr,
1
lct.ct.ndf.nda.nenl.nst,nneq,prt,j)
if(j.ge.nsl+1.and.j.le.nw2)
1 cali pmacr2(id,ix.f,f0,b,dr.lct.ct.ndf,nneq,j-nwl)
c....plot macro cali
if(j.eq.nv2+l) then
cali pplotf(z.ix.b.lct(l),ct(l,l),ndf.nda.nenl,nneq)
endif
1 1 + 1
if(l.le.ll) go to 200
if (ior.lt.0) go to 100
300
cali petiae(tary)
vrite(io,2000) tary
if(ior.lt.O) write(*,2000) tary
if(.not.fl(4)) close(4,status=,delete>)
c....save restart inforaation
if(ll.lt.-l.or.fl(7)) close(3,status=>delete*)
if(ll.lt.-l.or.f1(7)) return
open (7,file=tfile(6),form=unformatted.status^*ne)
revind 7
write(7) numnp,numel.nummat,ndm,ndf.nhi.nhf,nrec
write(7) ttia,(b(i),i=l,3*nneq)
if(fl(9)) write(7) (da(i),i=nv,nv+2*neq)
if(nrec.gt.0) then
do 400 j = l.nrec
cali phstio(3,j,da(nhi),nhf-nhi+l,l,tfile(2),itrec(2))
cali phstio(7,j.dm(nhi),nhf-nhi+l,22,tfile(6),0)
400
continu
cali pdefil(tfile,2,2)
endif
elose(7)
return
c....fornats
2000 foraat(* *End of macro execution**/40x,,time=J,al0)
2001 foraat(* *Macro '.3, * ,2(a4,lx),
1
vl=,gl0.3, T2=,,gl0.3, v3=*,gl0.3/40x,'time*',alO)
end
c
subroutine pinitc(engy.rnmx.shift,tol,dt,prop,ttia,npld)
Ipgical fl
real*8 engy.rnmx.prop
common /fdata/ fl(ll)
539
paa 33
paa 34
paa 35
paa 36
paa 37
paa 38
paa 39
paa 40
paa 41
paa 42
paa 43
paa 44
paa 45
paa 46
paa 47
paa 48
paa 49
paa 50
paa 51
paa 52
paa 53
paa 54
paa 55
paa 56
paa 57
paa 58
paa 59
paa 60
paa 61
pma 62
paa 63
paa 64
pma 65
paa 66
paa 67
paa 68
paa 69
paa 70
paa 71
paa 72
paa 73
paa 74
paa 75
paa 76
paa 77
paa 78
paa 79
paa 80
paa 81
pma 82
pma 83
pin
pin
pin
pin
1
2
3
4
540
pin
pin
pin
pin
pin
pin
pin
pin
pin
pin
pin
pin
pin
pin
pin
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
pma
pma
pma
pma
3 = 0
do 200 1 - 2,11-1
pma
pma
if(jct(l).eq.nlp)
j - j + 1
pma
ifCj.gt.8) go to 400
pma
if(jct(l).eq.nlp+1) j = j - 1
pma
if(j.lt.O) go to 400
200
cont inue
pma
if(j.ne.O.and.ior.gt.0) go to 400
pma
if(j.ne.O.and.ior.lt.O) 11 = 11 - 1
pma
pma
if(j.ne.O) go to 100
do 230 1 = 1,11-1
pma
pma
if(jct(l).ne.nlp) go to 230
pma
j = i
do 210 i - 1+1,11
pma
if(jct(i).eq.nlp) j = j + 1
pma
if(jct(i).eq.nlp+1) j = j - 1
pma
if(j.eq.0) go to 220
pma
pma
210
continue
go to 400
pma
pma
220
ct(2,i) = 1
pma
ct(2,l) = i
pma
230
continue
pma
return
pma
.error messages
c ...,
pma
write(iow,4000)
400
if(ior.gt.0) stop
pma
pma
if(ior.lt.O) write(*,4000)
pma
go to 100
pma
401
cali perrorCPMACIO*,yyy)
pma
go to 100
pma
1000 foraat(2(a4,llx),3fl5.p)
pma
2000 format(7x,a4,lx,a4,lx,3gl2.5)
pma
2001 format(* M a c r o
I n s t r u c t i o n s // 2x,
1'macro statement,2x,'variable l,2x,variable 2 *,2x,'variable 3*)pma
pma
2002 foraatC Input a macro instruction, enter "exit" for restarts*.
pma
1
*, "quit" to quit./3x, Time = \al0,* Macro* .i3,*> *,$)
4000 formatC error in pmacio ** wrong loop/next order, or > 8 loops* ) pma
pma
end
C
pma
subroutine pmacr1(id,ie,ix,Id,d,s,p,x,f,f0,t,jd,b,dr.
1
let,ct,ndf,ndm,nenl,nst,nneq,prt,j)
pma
pma
c ....macro instruction subprograms
logical fa.tr.f1,pcomp,prt,sflg,tflg,hfl,hout
pma
pma
character let(l)*4,tfile*12,tt*10,yyy*80
pma
integer*2 id(l),ie(l),ix(nenl,1),jd(l),ld(l),lvs,lve,jet.
pma
1
ia,im
pma
real
ct(3,1),x(l),f(1),f0(1),t(l)
real*8 b(l),d(l),dr(l),s(l),p(l),dm,aei.aengy.rnorm.
pma
pma
1 rnmax,dot,prop,eerror,elproj,ecproj,efem.enerr ,ebar
pma
common /adata/ aa(l),ap(15998)
pma
common /edata/ numnp,numel,nummat,nen, neq
pma
common /errind/ eerror,elproj,ecproj,efem.enerr,abar
pma
common /fdata/ fl(ll)
11-11+1
ISO
jet (11)** nlp+1
c. ...set loop markers
541
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
1
2
3
4
5
6
7
8
9
10
11
12
13
14
542
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
paa
pma
paa
paa
paa
paa
paa
paa
paa
pma
paa
paa
paa
paa
paa
paa
paa
pma
pma
pma
paa
pma
paa
paa
paa
paa
paa
pma
paa
paa
paa
paa
pma
paa
paa
paa
paa
paa
paa
pma
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
543
n2 nuael
paa 71
else
paa 72
ni - aax(l,min(numel,nl))
paa 73
n2 * aax(nl ,ain(nuael,n2))
paa 74
endif
paa 76
cali forafe(b,dr,fa,fa,fa,fa,4,nl,n2,n3)
paa 76
ndif
paa 77
return
paa 78
c....form tangent stiffness
paa 79
2
shft * el
paa 80
aflg - f1(9)
paa 81
if(j.eq.2) then
paa 82
if(ct(l,l).ne.zero) then
paa 83
fl(8) = tr
paa 84
f1(7) * fa
paa 86
cali pload(id,f,fO,dr,nneq,prop,da(nl),dm(ns))
paa 86
endif
paa 87
shift= 0.
paa 88
tflg = tr
paa 89
if(.not.f1(9).and.ct(2,1).ne.zero) then
paa 90
if(fl(2)) then
paa 91
sflg = tr
paa 92
shift= ct(2,l)
paa 93
shft = -shift
paa 94
if(ior.lt.O) srite(*,2006) shift
paa 95
rite(ios,2006) shift
paa 96
else
paa 97
if(ior.lt.O) srite(*,2007)
paa 98
write(ios,2007)
paa 99
if(ior.gt.O) stop
paalOO
return
paalOl
endif
paa102
endif
paal03
lse
.
paal04
if(.not.fl(8)) return
paal05
f1(7) = .false.
paal06
tflg = .false.
paa107
endif
pmalOS
c....call the solve routine to assemble and solve the tangent aatrix
paal09
na = naxf + 1
pnallO
nal= (aaxf*(aaxf+l))/2 + na
paalll
cali psolve(b,aa(na),aa.dr,aa(nal),da(nl),s,ld,jd,ia(nllc),nst,1, pnall2
1
tflg,fl(8),sflg,shft,4,mora,aengy.l)
paall3
cali pctime(tt)
pmall4
if(fl(8)) then
pnall5
fl(8) = fa
paall6
srite(ios,2001) rnora.tt
paall7
if(ior.lt.O) srite(*,2001) rnorm.tt
paallS
if (rnaax.eq.0.OdO) rnmax = abs(aengy)
paall9
srite(ios,2004) rnaax,aengy.tol
paal20
if(ior.lt.O) srite(*,2004) rnaax,aengy.tol
paal21
if(abs(aengy).le.tol*rnmax) then
paal22
ct(l,lve(lv)) = ct(l,lvs(lv))
paal23
1 = lTe(lv) - 1
paal24
endif
pmal25
cali update(id,f0,f,b,dm(nv),dn(ns),dr,nneq,neq,f1(9),prop,2) pnal26
544
else
vrite(iov,2002) tt
if(ior.lt.O) write(*,2002) tt
endif
return
c....form out o balance forc or time step/iteration
3
if(fl(8)) return
cali pload(id,f,f0 ,dr,nneq,prop,dm(nl),dm(nw))
cali formfe(b,dr,fa,tr,fa,fa,6,1,numel,1)
rnorm = sqrt(dot(dr,dr,neq))
rite(ios,2003) rnorm
if(ior.lt.O) rite(*,2003) rnorm
f1(8) = tr
return
c....form a lumped mass approzimation
4
if(fl(5)) cali psetmnl,neq,ipd,f1(5))
cali pconsd(dm(nl) ,neq,0.OdO)
fl(2) = tr
cali formfe(b,dm(nl),fa,tr,fa,fa,5,1,numel,1)
return
c....compute reactions and print
5
if(pcomplet(1),all )) then
n2 = numnp
else
ni = ct(l,l)
n2 = ct(2,1)
n3 = ct(3,1)
ni = max(l,min(numnp,nl))
n2 = max(nl,min(numnp,n2))
n3 = maz(l,n3)
endif
if(j.eq.S) then
cali pconsd(dr,nnq,0.0d0)
cali formfe(b,dr,fa,tr,a,tr,6,1,numel,1)
cali prtrea(dr,ndf,numnp,ni,n2,n3)
else
cali prtdis(x,b,ttim,prop,ndm,ndf,nl,n2,n3)
endif
return
c....check mesh for input errors
6
cali formfe(b,dr,fa,fa,fa,fa,2,1,numel,1)
return
c....modify mesh data (cannot change proile of stiffness/mass)
9
i = -1
cali pmesh(ld,ie.d,id.x,ix,f,t,ndf,ndm,nenl,i,prt)
if (i.gt.O) go to 400
return
c....restart previously run problem
10
open (7,file=tfile(5),form=unformatted*,status*od)
read(7) nnpo,imlo,niuno,ndmo,ndfo,nhio,nhfo,nrco
if((nnpo.eq.numnp).and.(nnlo.eq.numel).and.(raimo.eq.nummat)
1 .md.(ndmo.eq.ndm).and.(ndfo.eq.ndf).and.(nrco.eq.nrec)
2 .and.(nhfo-nhio.eq.nhf-nhi) ) then
read(7) ttim,(b(i),i=l,3*nneq)
if(fl(9)) read(7) (dm(i),i=nv,nv+2*neq)
if(nrec.gt.0) then
pmal27
pina128
pmal29
pmal30
pmal31
pmal32
pmal33
pmal34
pmal35
pmal36
pmal37
pmal38
pmal39
pmal40
pmal41
pmal42
pina143
pmal44
pmal45
pmal46
pmal47
pmal48
pmal49
pmal50
pmal51
pmal52
pmal53
pmal54
pmal55
pmal56
pmal57
pmal58
pmal59
pmal60
pmal61
pmal62
pmal63
pmal64
pmal65
pmal66
pma67
pmal8
pmal69
pmal70
pmal71
pmal72
pmal73
pmal74
pmal75
pmal76
pmal77
pmal78
pmal79
pmal80
pmal81
pmal82
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
do 101 j = l.nrec
cali phstio(7,j,dm(nhi),nhf-nhi+l,11,tfile(5),0)
cali phstio(3,j,dm(nhi),nhf-nhi+l,2.tile(2),itrec(2))
101
continu
endif
cise(7)
else
if(ior.gt.0) write(iow,3001)
if(ior.lt.O) srite( *,3001)
endif
return
c .... error diagnostica
400
write(io*,4000)
if(ior.gt.0) stop
if(ior.lt.O) write( *,4000)
return
c....formats
2001 format( residual norm = ,el5.7,6r,Jtime=',alO)
2002 format(40x,time=,al0)
2003 formatC
residual norm = ,el5.7)
2004 formatC
energy convergence test'/
mximum
= ,e24.15/
1 '
current
= ,e24.15/
tolerance = ,e24.15)
2006 formatC
shift of,,el2.5t, applied ith mass')
2007 format( shift requested but no mass matrix exists.)
3001 format(' ** ERROR ** Data on restart file incompatible with',
1
current problem.')
4000 format(' ** ERROR ** attempt to change profile during mesh)
end
c
subroutine pmacr2(id,ix,f.fO.b.dr.lct,ct,ndf.nneq.j)
c....macro instruction subprograms
logical fl.peomp,hfl,hout
integer*2 id(l),ix(l).lvs.lve,jct.im
real
f0(1),f(1),c(3.1),xtl(2)
real*8
b(l),dr(l).dm.aengy,rnmax,prop
character*4 let(1),ctl(2),yyy*80
common /edata/ numnp.numel.nummat.nen.neq
common /fdata/ fl(ll)
common /hdatb/ nhi.nhf.ihbuff,irec,jrec,nrec,hf1,hout
common /iofile/ ior.iow
common /iofild/ iodr,iodH,ipd,ipr,ipi
common /ldata/ l,lv,lvs(9),lve(9),jct(100)
common /ndata/ nv,n
common /prlod/ prop,a(6,10),iexp(10),ik(10),npld
common /rdata/ aengy,rnmax,tol,shift
common /tdata/ ttim.dt,cl,c2,c3,c4,c5,c6
common dm(l),rm(l),im(l)
c....transfer to correct process
go to (1.2,3.4,5,6,7,9), j
c....set solution tolerance
1
tol = ct(1,1)
return
c....set time increment
2
dt = ct(l,l)
if(f1(9)) cali setci(ior)
return
545
pial83
pmal84
pmal85
pma186
pmal87
pmal88
pma189
pmal90
pmal91
pmal92
pmal93
pmal94
pmal95
pmal96
pmal97
pmal98
pmal99
pma200
pma201
pma202
pma203
pma204
pma205
pma206
pma207
pma208
pma209
pma210
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pos
pma
pma
pina
pma
pma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
546
paa 28
paa 29
paa 30
paa 31
paa 32
paa 33
paa 34
paa 35
paa 36
paa 37
paa 38
paa 39
paa 40
paa 41
paa 42
paa 43
paa 44
paa 45
paa 46
paa 47
paa 48
paa 49
paa 50
paa 51
paa 52
paa 53
paa 54
paa 55
paa 56
paa 57
paa 58
paa 59
paa 60
paa 61
paa 62
paa 63
paa 64
paa 65
paa 66
paa 67
paa 68
paa 69
paa 70
paa 71
paa 72
paa 73
paa 74
paa 75
paa 76
paa 77
paa 78
paa 79
paa 80
paa 81
paa 82
pma 83
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
547
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
pma
3000
4002
pma 96
pma 97
pma 98
84
85
86
87
88
89
90
91
92
93
94
95
c
for
subrout ine formf e Cu,b,af,bf,cf,df,is,ne1,ne2,ne3)
for
c ...,
.form finite element arrays as required
for
logical af,bf,cf,df.af1 ,bf1.cf1,df1,hf1.hout
for
integer*2 m,ia
real*8 u(l),b(l),dm
for
common /mdata/nn,n0,nl,n2,n3,n4,n5,n6,n7,n8,n9,nl0,nll,nl2,nl3
for
for
common /mdat2/ nila,nllb.nllc,ia(2,11)
for
common /sdata/ ndf,ndm,nenl,nst
for
common /xdata/ isw.nnl,nn2,nn3,al,bfl,cfl,dfl
for
common dm(l),rm(l),m(l)
for
C ...,.form appropriate f.e. array
for
af 1 = af
for
bf1 = bf
for
cf1 - cf
for
df 1 = df
for
isw = is
for
nnl = nel
for
nn2 = ne2
for
nn3 = ne3
cali pform(dm(nn),rm(n0),rm(nl),m(n2),dm(n3),dm(n4),m(n5),dm(n), for
for
1 m(n7),rm(n8),m(n9),rm(nl0),rm(nll),m(nllc),rm(nl3),u,b,ndf,
for
2 ndm.nenl,nst)
for
return
for
end
c
phs
subrout ine phst io(iu,irec,hh,nh,isw,tf ile,itrec)
phs
c. ...i/o control
phs
character*12 tfile
phs
real*8 hh(nh)
phs
c ...direct access read/write
phs
if(isw.lt.10) open(iu,file=tfile,access=direct,recl*itrec)
phs
if(isw.eq.l) read (iu,rec=irec) hh
phs
ifCisw.eq.2) write(iu,recirec) hh
phs
if(isw.lt.10) close(iu)
phs
C. ...sequential access read/write
phs
if(isw.eq.ll) read (iu) hh
phs
if(isw.eq.22) write(iu) hh
phs
return
phs
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
548
(b)
El
archivo
PCMAC2.FOR
contiene
el
siguiente
conjunto
de
subprogramas:
D escrip cin
N om bre
Tipo
A D D V E C
SUBRUTINA
S u m a r e n u n vector
JUST
SUBRUTINA
M O D I F Y
SUBRUTINA
PANGL
SUBRUTINA
P F O R M
SUBRUTINA
F o r m a r los vectores/matrices d e E F
P L O A D
SUBRUTINA
P R O P L D
FUNCION
PRTDIS
SUBRUTINA
I m p r i m i r d e s p l a z a m i e n t o s nodales
P R T E R R
SUBRUTINA
I m p r i m i r valores d e es t i m a c i n d e error
P R T R E A
SUBRUTINA
I m p r i m i r reacciones n o d a l e s y s u m a s
PRTSTR
SUBRUTINA
I m p r i m i r tensiones n o d ales
PTRANS
SUBRUTINA
T r a n s f o r m a r vectores p a r a c o n t o r n o s inclinados
SETCI
SUBRUTINA
U P D A T E
SUBRUTINA
proporcional
INOFLOATCALLS
100
100
115
110
120
subroutine addvec(a,b,nn)
real a(l),b(l)
do 100 n = 1 ,iin
a(n) = a(n) + b(n)
continue
return
end
subroutine just(y,k,n0)
.complete the parser alignment of data
character*l y(k),yi,ze,ni,mi.pl,dt.sp
data ze.ni,mi,pl,dt,sp/0 , ' 9 ' , 1
' /
ni = nO - 1
n2 = ni - 1
do 140 i = l,k.n0
do 100 j = i,i+nl
if(y(j).ne.sp) go to 115
continu
y(i+nl) = ze
if(y(i+nl).ne.sp) go to 140
yi = y(i)
if((yi.ge.ze.and.yi.le.ni).or.(yi.eq.mi).or.(yi.eq.pl)
1 .or.(yi.eq.dt)) then
do 110 j = i+n2,i,-1
if(y(j).ne.sp) go to 120
cont inue
kl = ni + i - j
do 130 1 = j.i.-l
add
add
add
add
add
add
add
1
2
3
4
5
6
7
jus
jus
jus
jus
JU S
jus
jus
jus
jus
jus
jus
jus
jus
jus
jus
jus
jus
jus
jus
jus
8
9
10
11
12
13
14
15
16
17
18
19
20
M T O D O S
D E
C L C U L O
P O R
549
O R D E N A D O R
y(l+kl) = y (1)
y Cl) = sp
continu
endif
continu
return
end
jus
jus
jus
jus
jus
jus
jus
21
22
23
24
25
26
27
subroutine modifyCb.s.dul.nst)
.modify for non-zero displacement boundary conditions
real*8 b (1) ,s(nst,1),dul(1)
do 100 i = l,nst
do 100 j = l,nst
100
b(i) = b(i) - s(i,j)*dul(j)
return
end
mod
mod
mod
mod
mod
mod
mod
mod
1
2
3
4
5
6
7
8
pan
pan
pan
pan
pan
pan
pan
pan
pan
pan
pan
pan
pan
pan
pan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
subroutine param(ct)
.set appropriate time integraton parameters
common /iofile/ ior,iow
common /tbeta/ beta.gamm
real ct(l)
beta = ct(l)
gamm = ct(2)
if(beta.eq.0.0) beta =0.25
if(gamm.eq.0.0) gamm = 0.50
write(iow,2000) beta.gamm
if(ior.lt.O) write(*,2000) beta.gamm
return
2000 format( Newmark Kethod Parameters'/
1
beta = ,f9.4, ; gamma = *,f9.4)
end
par
par
par
par
par
par
par
par
par
par
par
par
par
par
par
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
130
140
pf o 1
po 2
pf o 3
po 4
pf o 5
pf 0 6
pf o 7
550
logical afl,bfl,cfl,dfl,efl,hfl,hout
pfo 8
character*12 tfile
pfo 9
common /cdata/ numnp,numel,nummat,nen,neq
pfo 10
common /eldata/ dq,n,ma,mct,iel,nel
pfo 11
common /mdat2/ nlla,nllb,nllc,ia(2,11)
pfo 12
common /hdata/ nhl,nh2
pfo 13
common /hdatb/ nhi,nhf,ihbuff,irec,jrec.nrec,hfl,hout
pfo 14
common /prlod/ prop,ap(6,10),iezp(10),ik(10),npld
pfo 15
common /temfll/ tfile(6)
pfo 16
common /temfl2/ itrec(4),nwl,nw2
pfo 17
common /xdata/ isw.nnlJnn2,zm3,afl,bfl,cfl,dfl
pfo 18
common dm(l),rm(l),im(l)
pfo 19
c....set up local arrays before calling element library
pfo 20
iel 0
pfo 21
efl - .false.
pfo 22
if(.not.df1.and.isv.eq.6) efl 2 .true.
pfo 23
if (bfl.andi.isv.eq. 3)
efl - .true.
pfo 24
if(isw.ne.3.or.nnl.eq.1) irec = 0
pfo 25
ne2 nen + nen
pfo 26
ne3 * nen + ne2
pfo 27
numnp2 * numnp + numnp
pfo 28
do 110 nu - 1,numel
pfo 29
n * idl(nu)
pfo 30
if((n.ge.nnl .and. n.le.nn2) .and. (modCn-nnl,nn3).eq.0)) then
pfo 31
c....set up history terms
pfo 32
ma = ix(nenl.n)
pfo 33
nhl ix(nen+l,n)
pfo 34
nh2 = nhl
pfo 35
if(.not.hfl) then
pfo 36
jrec= ix(nen+2,n)
pfo 37
if(jrec.ne.irec) then
pfo 38
if(hout .and. irec.ne.0) then
pfo 39
cali phstio(3,irec.dm(nhi),nhf-nhi+l,2,tfile(2),itrec(2))pfo 40
endif
pfo 41
cali phstio(3,jrec,dm(nhi),nhf-nhi+l,1,tfile(2),itrec(2)) pfo 42
irec = jrec
pfo 43
endif
pfo 44
endif
pfo 45
cali pconsd(ul,4*nen*ndf,0.0d0)
pfo 46
cali peonsr(xl,nen*ndm,0.0)
pfo 47
cali peonsr(ti,nen,0.0)
pfo 48
cali pconsr(rm(nlla),nen,0.0)
pfo 49
cali pconsi(ld,nst,0)
pfo 50
un = 0.0
pfo 51
dun= 0.0
pfo 52
cali pangl(ix(l,n),nen,rm(nlla),rm(nllb),nrot)
pfo 53
do 108 i = l.nen
pfo 54
ixi= ix(i,n)
pfo 55
ii = abs(ixi)
pfo 56
if(ii.ne.O) go to 105
pfo 57
do 104 j = l.ndf
pfo 58
104
ld(j,i) = 0
pfo 59
go to 108
pfo 60
105
iid = ii*ndf - ndf
pfo 61
nel = i
pfo 62
tl(i) = t(ii)
pfo 63
M T O D O S
106
107
108
109
110
D E
C L C U L O
P O R
O R D E N A D O R
551
do 106 j * l.ndm
po 64
xl(j,i) - x(j,ii)
po 66
do 107 j l,nd
po 66
jj ie(j,ma)
po 67
i(jj.le.O) go to 107
po 68
k = id(jj.ii)
po 69
ul(j,i) * u(jj,ii)
po 70
ul(j,i+nen) - u(jj,ii+numnp)
po 71
ul(j,i+ne2) u(jj,ii+numnp2)
po 72
il(k.le.O) ul(j,i+ne3) * 0(jj,ii) + (jj,ii)*prop
po 73
1
- u(jj,ii)
po 74
dun max(dun,abs(ul(j,i+ne3)))
po 75
un = max( un,abs(ul(j,i)))
po 76
if(dll) then
po 77
ld(j,i) iid + jj
po 78
else
po 79
ld(j,i) = k
po 80
i(ixi.lt.O) ld(j,i) -k
po 81
endil
po 82
continu
po 83
continu
po 84
orm element array
po 85
i(ie(7,ma).ne.iel) mct = 0
po 86
iel * ie(7,ma)
po 87
isx - isw
po 88
iKel .and. dun.gt.0.0000001d0*un .and.
.not.all) isx 3
po 89
i(nrot.gt.0)
po 90
1
cali ptrans(ia(l,iel),rm(nlla),ul,p,s,nel,nen,ndf,nst,1)
po 91
cali elalib(d(l,ma},ul,xl,ix(l,n),tl,s,p,nd,nda,nst,iel,isx) po 92
i(nrot.gt.0)
po 93
1
cali ptrans(ia(l,iel),rn(nlla),ul,p,s,nel,nen,nd,nst,2)
po 94
.modily lor non-zero displacement boundeury conditions
po 95
i(el) cali B0diy(p,s>ul(l,ne3+1),nst)
po 96
.assemble a vector i needed
po 97
il(bll) then
po 98
do 109 i = l.nst
po 99
j = abs(ld(i,1))
po100
i(j.ne.0) b(j) = b(j) + p(i)
plolOl
continu
pol02
endil
pol03
endi
po104
continu
plol05
.put the last history state on the disk
pol06
if(hout) cali phstio(3,jrec,dm(nhi),nh-nhi+l,2,tile(2),itrec(2))pol07
return
pol08
end
plol09
subroutine pload(id,l,0,b,nn,p,xm,ac)
.orm load vector in compact orm
logical fl.pfr
integr*2 idC1)
real 1(1), 10(1)
real*8 b(l),p,xm(l),ac(l)
common /data/ l(ll),pr
l(ll) = .lalse.
cali pconsd(b,nnt0.0d0)
po
po
po
po
po
po
po
po
po
552
100
do 100 n = l.irn
j id(n)
if(j.gt.O) then
b(j) = f(n)*p + 0(n) + b(j)
if(f 1 (9)) b(j) = b(j) - xm(j)*ac(j)
endif
continu
return
end
po
po
po
po
po
po
po
po
po
10
11
12
13
14
15
16
17
18
c
funetion propld(t,j)
c ...proportional load table (j load cards, mximum 10)
real*8 prop
character+80 yyy
common /iofile/ ior,iov
common /prlod/ prop,a(6,10),iexp(10),ik(10),npld
if(j.le.O) go to 200
c....input table of proportional loads
vrite(iov,2000)
if(ior.lt.O) then
vriteC *,2000)
vrite( *,2003)
endif
do 100 i*l,j
101
cali pintio(yyy,10)
readyyy,1000,err=102) ik(i),iexp(i),(a(m,i),m=l,6)
go to 103
c .... error message
102
cali perror'PROPLD*,yyy)
go to 101
c....set a default ramp table if a type "0" input
103
if(ikCi).eq.0) then
a(2,i) = l.e+6
a(4,i) = 1.
endif
vrite(iow,2001) i,ik(i),(a(m,i),m=l,6),iexp(i)
if(ior.lt.O) vrite(*,2001) i,ik(i),(a(m,i),m=l,6),iexp(i)
100
continu
nprop = j
c....compute valu at time t
200
propld = 0.0
do 220 i = 1,nprop
tmin * a(l,i)
tmax = a(2,i)
if(t.lt.tmin.or.t.gt.tmax) go to 220
1 = maxiexp(i),1)
propld = a(3,i)+a(4,i)*t+ a(5,i)*(sin(a(6,i)*t+tmin))**l
1
+ propld
220
continu
return
c....formats
1000 format(2il0,6f10.0)
2000 format(30x,P r o p o r t i o n a l
Load
T a b l e )
2001 format/, number
type
tmin1,10x,tmax',/i3,il0,7x,gl0.4,
1 4x.gl0.4,/6x,a(l)\10x,a(2)\10x,'a(3)MOx,,a(4)MOx,
2 exp,/4x,4(gl0.4,4x),i5/)
pro 1
pro 2
pro 3
pro 4
pro 5
pro 6
pro 7
pro 8
pro 9
pro 10
pro 11
pro 12
pro 13
pro 14
pro 15
pro 16
pro 17
pro 18
pro 19
pro 20
pro 21
pro 22
pro 23
pro 24
pro 25
pro 26
pro 27
pro 28
pro 29
pro 30
pro 31
pro 32
pro 33
pro 34
pro 35
pro 36
pro 37
pro 38
pro 39
pro 40
pro 41
pro 42
pro 43
pro 44
pro 45
pro 46
M T O D O S
2003
foraat(' Input:
and
D E
C L C U L O
P O R
O R D E N A D O R
553
pro 47
pro 48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
subroutine prterr
iaplicit real*8 (a-h,o-z)
coaaon /iofile/ ior.ios
common /errind/ eerror,elproj,ecproj,efea,enerr,ebar
c....output the error indicator vales
elrind =0.0
ecrind =0.0
if(elproj.na.O.OdO) elrind = sqrt((efea-elproj)/elproj)
if(ecproj.ne.O.OdO) ecrind = sqrt((efem-ecproj)/ecproj)
if(ecproj.ne.O.OdO) eerror = sqrt(eerror/ecproj)
rite(ios,2000) efea,elproj,ecproj.elrind,ecrind,eerror
if(ior.lt.0)srite(*,2000) efea,elproj,ecproj,elrind,ecrind,eerror
2000 foraat(/'
Finite Element Stress Measure
=' el5.8/
1
' L u a p e d Projected Stress Measure
*' el5.8/
2
Consistent
Projected Stress Measure
*' el5.8/
3
' L u a p e d Error Indicator
=' el5.8/
4
' Consistent
Error Indicator
=' elS.8/
5
Direct Error Indicator
= el5.8/)
return
end
c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
554
subroutine prtrea(r,ndf,nunnp.nl,n2,n3)
prt 1
.print nodal reactions
prt 2
real*8
rr(6),r(ndf,1),rsun(6),&sun(6),psun(6)
prt 3
connon /iofile/ ior,iow
prt 4
cali pconsd(rsun,ndf,0.0d0)
prt 5
cali pconsd(psun,ndf,0.0d0)
prt 6
cali pconsd(asun,ndf,0.OdO)
prt 7
do 75 i - 1,numnp
prt 8
do 75 k l.ndf
prt 9
rsun(k) - rsun(k) - r(k,i)
prt 10
asun(k) * asum(k) + abs(r(k,i))
prt 11
75
kount * 0
prt 12
do 100 n * nl,n2,n3
prt 13
kount - kount - 1
prt 14
if(kount.le.0) then
prt 15
cali prthed(iow)
prt 16
vrite(iti>,2000) (k,k=l,ndf)
prt 17
if(ior.lt.O) write(*,2000) (k,k=l,ndf)
prt 18
kount * 50
prt 19
endif
prt 20
do 80 k = l,ndf
prt 21
rr(k) = -r(k,n)
prt 22
psum(k) * psum(k) + rr(k)
prt 23
80
srite(iow,2001) n,(rr(k),k=l,ndf)
prt 24
ifCior.lt.0) write(*,2001) n,Crr(k),k=l,ndf)
prt 25
continu
prt 26
100
.print atatics check
prt 27
rite(iow,2002) (rsun(k),kl,ndf)
prt 28
rite(iow,2003) (psum(k),k*l,ndf)
prt 29
rite(iow.2004) (asum(k),k=l,ndf)
prt 30
if(ior.lt.O) then
prt 31
write(*,2002) (rsum(k),k=l,ndf)
prt 32
write(*,2003) (psum(k),k=l.ndf)
prt 33
write(*,2004) (asum(k),k=l,ndf)
prt 34
endif
prt 35
return
prt 36
R e a c t i o n s //6x,*node,6(i9,* dof))prt 37
2000 format(* N o d a l
2001 format(il0,6el3.4)
prt 38
prt 39
2002 format(/7x,sum,6el3.4)
prt 40
2003 format( 3x,'prt sum',6el3.4)
prt 41
2004 format 3x,'abs sum,6el3.4)
end
prt 42
subroutine prtstr(dt,ds.numnp.nl,n2,n3)
c ... output projected nodal stress vales
real dt(numnp),ds(numnp,7)
common /iofile/ ior,iow
kount = 0
do 200 n = nl,n2,n3
kount = kount - 1
if(kount.le.0) then
cali prthed(iow)
write(iow,2000)
if(ior.lt.O) write(*,2000)
kount = 17
endif
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
prt
1
2
3
4
5
6
7
8
9
10
11
12
13
M T O D O S
D E
C L C U L O
P O R
555
O R D E N A D O R
vrite(iow,2001) n,(ds(n,i),i=l,7),dt(n)
prt
if(ior.lt.O) vrite(*,2001) n,(ds(n,i),i*l,7),dt(n)
prt
200
continue
prt
return
prt
2000 format(*
Nodal
S t r e s s e s // node,4x,11-stress1,4x,prt
1 12-stress*,4x,22-stress,4x,33-stress/10x,1-stress,5x,
prt
2 '2-stress,4x.max-shear,8x,1angle)
prt
2001 format(i5,4el3.5/Sx,4el3.5/lx)
prt
end
prt
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
ptr
556
215
continua
endif
il - il + ndf
return
end
ptr
ptr
ptr
ptr
ptr
47
48
49
50
51
subroutine setci(ior)
c .... compute integration constants cl' to 'c5 for current dt1
common /tbeta/ beta.gamm
common /tdata/ ttim.dt,cl,c2,c3,c4,c5,c6
ifdt.le.0.0 .or. beta.le.0.0) then
write(*,2000) dt.beta
if(ior.gt.O) stop
return
endif
c....compute integration constants 'cl' to c5 for current 'dt
cl - 1.dO/(beta*dt*dt)
c2 gamm/(dt*beta)
c3 - l.dO - 1.d0/(beta+beta)
c4 - l.dO - gama/beta
c5 * (l.dO - gamm/(beta+beta))*dt
c6 dt*cl
return
2000 format' ** ERROR
A dynaaic solution paraaeter is zero1/
dt - ',lp10.3,' , beta- \0plf9.4/
1
2
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
set
14
15
16
17
18
19
20
21
subroutine update(id,f0,f,u,v,a,du,nneq,neq,fdyn.prop,isw)
.update the displacements (and velocities and accelerations)
logical fdyn
integer*2 id(l)
real
f0(l),f(l)
real*8
uvnnaq,1),v(l),a(l),du(l),url,ur2,prop,dot
common /iofile/ ior,io
common /tdata/ ttia,dt,cl,c2,c3,c4,c5,c6
.update solution vectors to begin a step
if(isv.eq.l) then
url sqrt(dot(v,v,neq))
ur2 = sqrt(dot(a,a,neq))
vrite(io,2000) \irl,ur2
ifior.lt.0) write(*,2000) url,ur2
do 100 n - 1,neq
ur2 - - c6*v(n) + c3*a(n)
v(n) c4*v(n) + c5*a(n)
a(n) ur2
100
continu
elseif(isv.eq.2) then
.update displacement and its increments ithin the time step
do 200 n - l.nneq
j - id(n)
if (j.gt.0) then
.for the active degres-of-fredoa compute vales from solution
u(n,l) - du(j) + u(n,l)
u(n,2) - du(j) + u(n,2)
u(n,3) - du(j)
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
upd
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
220
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
557
alse
upd 29
c ....ior the lixed degrees-oi-freedoa computa valas iros orcad inputs upd 30
url
10(n) + l(n)*prop
upd 31
u(n,3) url - u(n,l)
upd 32
u(n,2) - url - u(n,l) + u(n,2)
upd 33
u(n,l) url
upd 34
andi
upd 3S
200
cont inue
upd 36
upd 37
c....ior tiae depandant solutions update tha rata taras
i(dyn) than
upd 38
do 210 n * l.neq
upd 39
v(n) v(n) + c2*du(n)
upd 40
a(n) a(n) + cl*du(n)
upd 41
210
continua
upd 42
andil
upd 43
andil
upd 44
return
upd 45
2000 loraat('
N o r a s
ior
D y n a a i c s /
upd 46
1
lOx,'Velocity:,el3.5,' Acceleration:,el3.5)
upd 47
upd 48
end
558
(c)
El
archivo
PCMAC3.F0R
contiene
el
siguiente
conjunto
de
subprogramas:
Tipo
D escrip cin
A C H E C K
SUBRUTINA
P r o c e s a d o r d e d a t o s a l f anumricos
CKISOP
SUBRUTINA
C o m p r o b a c i n d e e l e m e n t o s i s o p a r amtricos
D O T
FUNCION
P r o d u c t o escalar d e vectores
ELMLIB
SUBRUTINA
Librera d e e l e m e n t o s
P C O N S D
SUBRUTINA
PCONSI
SUBRUTINA
P C O N S R
SUBRUTINA
PDISK
SUBRUTINA
A a d i r el carcter d e u n disco a u n n o m b r e
P E N D
SUBRUTINA
P E R R O R
SUBRUTINA
I m p r i m i r p o r error d e lectura
PGAUSS
SUBRUTINA
N om b re
( DOBLE PRECISIN)
a u n a constante
P osiciones/pesos d e p u n t o s d e G a u s s p a r a
p r o b l e m a s bidimensionales
I m p r i m i r i n f o r m a c i n d e a y u d a al usuario
PHELP
SUBRUTINA
P S E T M
SUBRUTINA
G e s t i n d e dat o s c o n al i n e a m i e n t o d e bites
PSTRES
SUBRUTINA
D e t e r m i n a c i n d e tensiones principales
SAXPB
SUBRUTINA
SHAP2
SUBRUTINA
D e t e r m i n a c i n d e funciones d e f o r m a
SHAPE
SUBRUTINA
cuadrticas
D e t e r m i n a c i n d e funciones f o r m a lineales
e n dos dimensiones
$N0FL0ATCALLS
subroutine acheck(x,y,nO,nl)
c ....data parser
character*l x(nl),y(nl)
do 100 ii = al,1,-1
if(x(ii).ne. ') go to 110
100
continu
110
do 150 i = l,nl
y(i) = *
150
continu
k = 0
il= 0
do 200 i = l,ii
if(x(i).eq., then
k = k + nO
if(k.gt.nl-n0) go to 210
il = k - i
else
y(i+il) * x(i)
endif
200
continu
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
ach
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
M T O D O S
210
220
D E
C L C U L O
P O R
O R D E N A D O R
k - k + nO
cali just(y,k,n0)
do 220 i = n0,nl,n0
if(y(i).eq. ') y(i) - '0>
continu
return
end
559
ach
ach
ach
ach
ach
ach
ach
21
22
23
24
25
26
27
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
ki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
cki
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
c
subroutine ckisop(ix,xl,shp,nda)
c ...,
.check isoparametric elements
integer*2 xn(9),yn(9),ic(18),ix(l)
real
xl(ndm,l)
real*8 shp(3,1),ss,tt,xsj
coaaon /eldata/ da,n,aa,mct,iel,nel
common /iofile/ ior.iow
data xn/-l,l,1,-1,0.1,0,1.0/, yn/-l.-1,1,1,-1,0,1,0,0/
c ....check the element for input errors
ineg = 0
do 100 1 * l.nel
if(xl(1,1).eq. -999.0 .and. ix(l).ne.O) then
ic(ineg+l) = 1
ic(ineg+2) abs(ix(l))
ineg * ineg + 2
endif
100
continu
if(ineg.gt.0) then
write(iow,2000) n,(ic(i),i=l,ineg)
if(ior.lt.O) write(+,2000) n,(ic(i),i=l,ineg)
else
do 110 1 = l.nel
ss = xn(l)
tt = yn(l)
cali shape (ss.tt,xl,shp.xsj,ndm,nel,ix,.false.)
if(xsj.le.0.OdO) then
ic(ineg+l) = 1
ic(ineg+2) = abs(ix(l))
ineg = ineg + 2
endif
11C) cont inue
if(ineg.gt.0) then
write(iow,2001) n,(ic(i),i=l,ineg)
if(ior.lt.O) *rite(+,2001) n,(ic(i),i=l,ineg)
endif
endif
return
2000 foraat(' >Eleaent,i4, ' coordinates not input for nodes:/
1
{'
Local =,i3.' Global = ,i4))
2001 foraat >Element',i4, has negative jacobian at nodes:'/
1
('
Local =',i3,' Global = ,i4))
end
c
double precisin function dot (a,b,n)
real*8 a(l),b(l)
c .... dot product function
dot = 0.OdO
do 10 k=l,n
560
ela
elm
elm
Ib
elm
elm
ela
elm
elm
ela
ela
ela
ela
ela
ela
ela
elm
ela
ela
ela
ela
ela
ela
ela
ela
ela
ela
ela
ela
ela
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
subroutine pconsd(v,nn,cc)
c....zero real*8 array
real*8 v(nn),cc
do 100 n = 1,nn
100
v(n) * cc
return
end
peo
peo
peo
peo
peo
peo
peo
1
2
3
4
5
6
7
subroutine peonsi(,iv,nn,ic)
c....zero integer*2 array
integer*2 iv(nn),ic
do 100 n = 1,nn
100
iv(n) * ic
return
end
c
subroutine pconsr(v.nn.cr)
c....zero real array
real v(nn)
do 100 n = 1,nn
peo
peo
peo
peo
peo
peo
peo
1
2
3
4
5
6
7
peo
peo
peo
peo
1
2
3
4
M T O D O S
100
D E
C L C U L O
P O R
v(n) cr
return
nd
peo
peo
peo
5
6
7
pdi
pdi
pdi
pdi
pdi
pdi
1
2
3
4
6
6
subroutine pend(subnaa)
character*6 subnaa
couon /iofile/ ior,iov
rite(io,4000) subnaa
if(ior.lt.O) rite(*,4000) subnaa
stop
foraat(J ** ERROR in ,a6, ** end of file encountered')
end
pen
pen
pen
pen
pen
pen
pen
pen
1
2
3
4
S
6
7
8
subroutine perror(subnaa,yy)
character*80 yy,subnaa*6
coaaon /iofile/ ior,io
rite(iow,4000) subnaa,yy
if(ior.gt.0) stop
rite(*,4000) subnaa
return
foraat( ** ERROR in ,a6,' ** reinput last record:'/lx,a80)
end
per
per
per
per
per
per
per
per
per
1
2
3
4
B
6
7
8
9
subroutine pdisk(disk,files)
c. ...set disk naae ch&r&cter
character*l disk.files(l)
files(l) disk
return
end
4000
4000
561
O R D E N A D O R
subroutine pgauss(l,lint,r,z,)
c. ..,gauss points and veights for to diaensions
integer*2 lr(9) ,lz(9),lw(9)
real*8 r(l),z(l),w(l),g,h
coaaon /eldata/ da,n,aa,act,iel,nel
data lr/-l,i,1,-1,0,1,0,-1,0/,lz/-l,-1,1,1,-1,0,1,0,0/
data l/4*25,4*40,64/
lint * 1*1
go to (1,2,3),1
c. ..,
.lzl integration
1
r(l) - 0.
z (1) - 0.
(1) - 4.
return
c. .. ,
.2x2 integration
2
g * 1.0/sqrt(3.d0)
do 21 i * 1,4
r(i) - g*lr(i)
z(i) * g*lz(i)
21
(i) = 1.
return
c ... .3x3 integration
3
g sqrt(0.60d0)
h - 1.0/81.0d0
do 31 i * 1,9
r(i) - g*lr(i)
pga
Pg
Pg
Pg
Pg
pg
Pg
pga
Pg
pga
Pg
pga
pg
pga
pga
2
3
*
5
7
8
9
10
11
12
13
14
15
Pg
pga
pga
pga
pga
pga
pga
pga
pga
pga
pga
16
17
18
19
20
21
22
23
24
25
26
562
pga
pga
pga
pga
27
28
29
30
subroutine phelp(wd,nwd,wrd,isw)
character wd(nwd)*4,wrd*5
common /iofile/ ior,ion
c....help lile lor macro command list
il(ior.gt.0) return
if(isw.eq.l) write(*,2000)
if(isv.ne.l) write(*,2001) wrd
write(*,2002) wd
write(*,2003) wrd
return
2000 format(//' The following macro commands are available//
1
use ol loop must terminate with a matching nezt//
2
mltiple loop-next pairs may occur up to depth of 8 )
2001 format(//' The following
a5,commands are available:)
2002 format(/8(3x,a4))
2003 format(/' Terminate pa5,' execution vith an "end" command.)
end
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
phe
8
9
10
11
12
13
14
15
16
17
subroutine psetm(na,nl,np,af1)
logical afl
common /iofile/ ior.iotr
common /psize/ maxm.ne
set data management pointers for arrays
na ne
ne * na + nl*np + mod(4
mod(nl*np,4),4)
na
m (na + np - l)/np
max(0,6-(np-l)*4)
afl * .false.
amx maxm
amx ne/amx
if(amx.gt.0.90) write(*,1001) ne,maxm,amx
if(ne.le.maxm) return
write( o h ,1000) ne.maxm
if(ior.lt.O) write(*,1000) ne.maxm
stop
1000 format(2x,**ERR0R** insufficient storage in blank common/
1
lOx,required = ,i6/10x,available =',i6/)
1001 formatC **Hemory warning** used = ,i6, avail=',i6, % =',f6.3)
end
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
pse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
31
z(i) g*lz(i)
w(i) - h*lw(i)
return
end
Bubroutine p s t r e s (sig.pl,p2,p3)
.principal stresses (2 dimensions): sig * tau-xx,tau-xy,tau-yy
real*8 sig(3),pl,p2.p3,xil,xi2,rho
xil (sig(1) + sig(3))/2.
xi2 - (sig(l) - sig(3))/2.
rho * sqrt(xi2*xi2 + sig(2)*sig(2))
pl xil + rho
p2 = xil - rho
p3 = 45.0
if(xi2.ne.0.OdO) p3 = 22.5*atan2(sig(2),xi2)/atan(l.OdO)
return
end
pst
pst
pst
pst
pst
pst
pst
pst 8
pst 9
pst 10
pst 11
pst 12
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
563
c
subroutine saxpb (a,b,x,n,c)
real*8 a(l),b(l),c(l),x
c ...vector times scalar added to second vector
do 10 k=l,n
c(k) = a(k)*x +b(k)
10 continu
return
end
sax
sax
sax
sax
sax
sax
sax
sax
subroutine shap2(s,t,shp,ix.nel)
c. ...add quadratic functions as necessary
real*8
shp(3,l),s,t,s2,t2
integer*2 ix(l)
s2 = (l.-s*s)/2.
t2 = (l.-t*t)/2.
do 100 i=5,9
do 100 j = 1,3
100
shp(j,i) =0.0
c ....midside nodes (serendipity)
if(ix(5).eq.0) go to 101
shp(l,5) = -s*(l.-t)
shp(2,5) = -s2
shp(3,5) = s2*(1.-t)
101
if(nel.lt.6) go to 107
if(ix(6).eq.0) go to 102
shp(1,6) = t2
shp(2,6) = -t*(l.+s)
shp(3,6) t2*(l.+s)
102
if(nel.lt.7) go to 107
if(ix(7).eq.0) go to 103
shp(l,7) = -s*(l.+t)
shp(2,7) = s2
shp(3,7) = s2*(l.+t)
103
if(nel.lt.8) go to 107
if(ix(8).eq.0) go to 104
shp(i,8) = -t2
shp(2,8) = -t*(l.-s)
shp(3,8) = t2*(1.-s)
c ....interior node (lagrangian)
104
if(nel.lt.9) go to 107
if(ix(9).eq.0) go to 107
shp(l,9) = -4.*s*t2
shp(2,9) = -4.*t*s2
shp(3,9) = 4.*s2*t2
c ....correct edge nodes or interior node (lagrangian)
do 106 j= 1,3
do 105 i - 1,4
105
shp(j,i) = shp(j,i) - 0.25*shp(j,9)
do 106 i = 5,8
106
if(ix(i).ne.0) shp(j,i) = shp(j,i) - .5*shp(j,9)
c ....correct crner nodes or presense o midside nodes
107
do 108 i = 1,4
k = mod(i+2,4) + 5
1 = i + 4
do 108 j = 1,3
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
sha
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
564
108
sha 47
sha 48
sha 49
c
subroutine shape(ss,tt,xl,shp,xsj,ndm,nel,ix,flg)
c....shape funetion routine ior two dimensional elements
logical flg
real
rl(ndm,1),s(4),t(4)
real*8 shp(3,1),zs(2,2),sx(2,2),ss,tt,xsj,tp
integer*2 ix(l)
data s/-.5,.5,.5,-.5/, t/-.5,-.5,.5..5/
c....form 4-node quadrilateral shape functions
do 100 i - 1,4
shp(3,i) (0.5+s(i)*ss)*(0.S+t(i)*tt)
shp(l,i) - s (i) * (0.5+t (i) *tt)
shp(2,i) - t(i)*(0.5+s(i)*ss)
100
continu
if(nel.eq.3) then
c....form triangle by adding third and fourth together
do 110 i - 1,3
110
shp(i,3) * shp(i,3)+shp(i,4)
endif
c....add quadratic terms if necessary
if(nel.gt.4) cali shap2(ss,tt,shp,ix,nel)
c ....construct jacobian and its inverse
do 125 i - 1,2
do 125 j - 1,2
xs(i,j> - 0.0
do 120 k - l.nel
xs(i,j) * xs(i,j) + xl(i,k)*shp(j,k)
120
continu
125
continu
xsj - xs(l,1)*xs(2,2)-xs(l,2)*xs(2,1)
if(flg) return
if(xsj.le.O.OdO) xsj 1.0
sx(l,l) = xs(2,2)/xsj
sx(2,2) = xs(l,l)/xsj
sx(l,2) *-xs(l,2)/xsj
sx(2,1) *-xs(2,l)/xsj
c....form global derivativas
do 130 i l,nel
tp
shp(l,i)*sx(l,l)+shp(2,i)*sx(2,l)
shp(2,i) = shp(l,i)*sx(l,2)+shp(2,i)*sx(2,2)
shp(l,i) * tp
130
continu
return
end
sha 1
sha 2
sha 3
sha 4
sha 5
sha 6
sha 7
sha 8
sha 9
sha 10
sha 11
sha 12
sha 13
sha 14
sha 15
sha 16
sha 17
sha 18
sha 19
sha 20
sha 21
sha 22
sha 23
sha 24
sha 25
sha 26
sha 27
sha 28
sha 29
sha 30
sha 31
sha 32
sha 33
sha 34
sha 35
sha 36
sha 37
sha 38
sha 39
sha 40
sha 41
sha 42
sha 43
M T O D O S
1 5 .8 .4
D E
C L C U L O
P O R
O R D E N A D O R
E l tip o
565
de solucionador de
Nombre
Tipo
Descripcin
PSO LVE
S U B R U T IN A
D ASBLY
S U B R U T IN A
DASOL
S U B R U T IN A
DATRI
S U B R U T IN A
DREDU
S U B R U T IN A
P R O F IL
S U B R U T IN A
subroutine psolveCu.a.b.dr.m.xm.s.ld.ig.idl.nst,nrs,afac.solv,
1
dyn,el,ipd,rnorm,aengy.ifl)
.active column assembly and solution of equations
logical afac,solv,dyn,fl,fa
character*12 tfile
real*8 u(l),a(l),b(l),dr(l),xm(l),s(nst,1),aengy,rnorm,dot
integer*2 m(l),ld(l),ig(l),idl(l)
common /cdata/ numnp,numel,nummat,nen,neq
common /fdata/ fl(ll)
common /iofile/ ior,iov
common /temfll/ tfile(6)
common /temfl2/ itrec(4),nwl,nw2
data fa/.false./
..form and assemble the matriz
if(afac) then
if(f1(4)) then
ibuf * ig(neq)+neq
if(ibuf.gt.8000) stop profile too large
itrec(1) * ibuf*8
open (4,file=tfile(l),status*new',access='direct,
1
form='unformatted,recl=itrec(l))
cise(4)
f1(4) - fa
endif
cali pconsd(a,ibuf,0.0d0)
..modify tangent form lumped mass effects
if(dyn) then
do 310 n - l.neq
a(n) = cl*zm(n)
continu
310
endif
do 320 n - 1,numel
pao 1
pso 2
pso 3
pso 4
pso S
pso 6
pso 7
pso 8
pso 9
pso 10
pso 11
pso 12
pso 13
pso 14
pso 15
pso 16
pso 17
pso 18
pso 19
pso 20
pso 21
pso 22
pso 23
pso 24
pso 25
pso 26
pso 27
pso 28
pso 29
pso 30
pso 31
pso 32
566
pso 33
pso 34
pso 35
pso 36
pso 37
pso 38
pso 39
pso 40
pso 41
pso 42
pso 43
pso 44
pso 45
pso 46
pso 47
pso 48
pso 49
pso 50
pso 51
pso 52
pso 53
das 1
das 2
das 3
das 4
das 5
das 6
das 7
das 8
das 9
das 10
das 11
das 12
das 13
das 14
das 15
das 16
das 17
das 18
das 19
das 20
das 21
das 22
das 23
das 24
das 25
das 26
das 27
das 28
das
das
das
das
1
2
3
4
M T O D O S
D E
C L C U L O
P O R
567
O R D E N A D O R
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
das
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
dat 1
dat 2
dat 3
dat 4
dat 5
dat 6
dat 7
dat 8
dat 9
dat 10
dat
568
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
dat
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
569
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
570
pro 3
pro 4
pro 5
pro
pro 7
pro 8
pro 9
pro 10
pro 11
pro 12
pro 13
pro 14
pro 15
pro 16
pro 17
pro 18
pro 19
pro 20
pro 21
pro 22
pro 23
pro 24
pro 25
pro 26
pro 27
pro 28
pro 29
pro 30
pro 31
pro 32
pro 33
pro 34
pro 35
pro 36
pro 37
pro 38
pro 39
pro 40
pro 41
pro 42
pro 43
pro 44
pro 45
pro 46
pro 47
pro 48
pro 49
pro 50
pro 51
pro 52
pro 53
pro 54
pro 55
pro 56
pro 57
pro 58
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
571
pro
pro
pro
pro
pro
pro
pro
pro
pro
70
continu
c....equation summary
azi * 0
Mffl - 0
if(neq.gt.O) mm = (nad+neq)/neq
write(iow,2001) neq,numnp,mm,numelanad,nummat
i(ior.lt.O) write(*,2001) neq,numnp,ma,numel,nad,nummat
return
nd
(b )
S9
60
61
62
63
64
65
66
67
resolver las
ecuaciones
p or el m to d o fron tal.
E l archivo
contiene los
siguientes su b p ro gram a s:
Tipo
Descripcin
PSO LVE
S U B R U T IN A
PBUFF
S U B R U T IN A
Nombre
PFRTAS
S U B R U T IN A
PFRTBK
S U B R U T IN A
PFRTB
S U B R U T IN A
PFRTD
S U B R U T IN A
PFRTFW
S U B R U T IN A
PFRTF
S U B R U T IN A
PREFRT
S U B R U T IN A
P R O F IL
S U B R U T IN A
INOFLOATCALLS
subroutine psolve(u,a,b ,dr,m,xm,s,Id,ig,idl,nst,nrs,alac,solv,
1
dyn,cl,ipd,rnorm,aengy,ill)
c...rontal assembly and solution ol equations
logical afac,solv,dyn,l,a
character*12 tfile
real*8 u(l),a(l),b(l),dr(l),xm(i),s(l),dimx,dimn,r,raorm,aengy
integer*2 m(l),ld(l),ig(l),idl(1)
common /cdata/ numnp,numel.nummat,nen,neq
common /Idata/ 11(11)
common /Irdata/ maxf
common /iolile/ or.iow
common /nfrta/ dimx,dimn,nv,npl
common /temfll/ tlile(6)
common /temfl2/ itrec(4),nwl,nw2
data la/.false./
c. ..set control data and zero
if(.not.afac) go to 400
if(f1(4)) then
nal= 1 + (maxf*(maxf+3))/2
if(nal+maxf.gt.8000) stop front too large
ibuf = (min(8000 - nal,(maxf+2)*neq))*4
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
572
itrec(1) * ibuf*2 + 4
opn (4,file*tfile(l),status*'new1,access=direct,
1
fora*unormatted' ,reclitrec(l))
cise(4)
l(4) - la
endil
cali pconsd(a,aaxf*(maxf+l)/2,0.0d0)
cali peonad(b,aaxf,0.0d0)
ig(l)*l
ig(aaxf+l)-0
do 100 n2,aaxf
ig(n)ig(n-l)+n
ig(aaxf+n)*0
100
continu
c....begin loop through elements to perlorm Iront solution
np 0
nv 0
nfrt* 0
dimx 0.0
dimn * 0.0
mor =0.0
c...frontal eliaination program
do 320 n * 1,numel
c...pick next element
ne - idl(n)
c...compute element arrays
cali forafe(u,dr,.true..solv.fa.fa.S.ne.ne,!)
iffior.lt.O .and. mod(n,20).eq.0) write(*,2000) n.nfrt
c ....asaeable element and determine eliminations
cali pfrtas(a,s,ld,ig,ig(maxf+l),ie,maxf,nfrt,nst)
if(ie.ne.O) then
c ... elimnate equations
do 310 i=l,ie
kld(i)
jj-ig(maxf+k)
if(solv) then
m o r a = rnora + dr(jj)**2
r*b(k)+dr(jj)
dr(jj) * r
endif
if(dyn) then
ii ig(k)
a(ii) * a(ii) + cl*xa(jj)
endif
if(np+8+nfrt*ipd.gt.ibuf) then
cali pbuff(m.ibuf,np,nv,2,ifl)
endif
aCnp+1) = nfrt
a(np+2) = k
m(np+3) = jj
cali pfrtd(a,b,r,ig,ig(maxf+1),solv,m(np+5),nfrt,k)
c.:..... align last vord of buffer for backsubstitution reads
np = np + 8 + nfrt*ipd
m(np) = nfrt
nfrt = nfrt - 1
310
continu
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
pso
22
23
24
2S
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
573
endif
pso 78
c...and o forward elimination and triangularization
pso 79
320
continua
m o r = sqrt (morm)
rxa
*0.0
ii(dian.na.O.OdO) rxm = dimx/dimn
iKior.lt.0) rite(*,2001) dimx.dimn.rxm
rita(iow,2001) diax,dian,rxa
c.... clear buffer ona last tima
if(np.gt.O) cali pbuff(m.ibuf,np,nv,2,ifl)
go to 500
c.... forward and back substitutions for solution
400
if(solv) cali pfrtf(b,dr,m,ipd,ibuf,maxf,nv,neq,nrs,if1)
500
if(solv) cali pfrtbkCb.dr.a.ipd.ibuf,maxf.nv.neq.nrs.aengy.if1)
raturn
2000 format(5x,'**,i4, elements completad.
Current front vidth is',
1
i4)
2001 format(5x,Condition check: D-mai,lplell.4,1; D-min,lplell.4,
1
; Ratio*,lplell.4)
2002 format(i4, Elmts completed.
Current front vidth is,i4)
2003 formatCCond ck: Dmax',lple9.2,'; Dmin',lple9.2,; Ratio,lple9.2)
subroutine pbuff(m,ibuf,ilast,nv,is,if1)
c ....tape input/output routine for frontal program
integer*2 m(ibuf)
real*8
dimx.dimn
character*12 tfile
common /nfrta/ dimx.dimn.nvp.npl
common /tamfll/ tfile(6)
common /temfl2/ itrec(4),nl,n2
openC4,file=tfile Cif1),access=direct *,recl=itrec(if1))
c ....read record nv from the file
if(is.eq.l) then
read(4,rec=nv,end=901,err=902) ilast,m
c ....rite record 'nvfrom the file
elseif(is.eq.2) then
nv = nv + 1
if(nv.eq.l) npl = ilast
write(4,rec=nv,err=901) ilast,m
ilast = 0
endif
close(4)
return
c ....error messages
901
rite(*,4000)
stop
902
cali pend(PBUFF )
stop
4000 format(' ** ERROR IN PBUFF ** records do not match problem?)
end
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
pbu
1
2
3
4
5
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
subroutine pfrtas(a,s,Id,ig,lg,ie,maxf,nfrt,nst)
.assembly and elimination determination for frontal program
c ....
real*8 a(l),s(nst,1)
integer*2 ld(l),ig(l),lg(l)
pfr
pfr
pfr
pfr
1
2
3
4
574
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
M T O D O S
D E
C L C U L O
P O R
575
O R D E N A D O R
jj m(np+3)
do 502 i * l.nev
cali pfrtb(b(l,i),dr(l,i).nfrt,k.jj,m(np+5),aengy)
continu
if(np.gt.O) go to 501
cont inue
return
end
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
15
16
17
18
19
20
21
22
subroutine pfrtb(b,dr,nfrt,k,jj,eq,aengy)
c ....backsubstitution aacro for frontal program
real*8 b(1),dr(l),eq(l),dot.aengy
c. ..ezpand b array
kk nfrt
500- if(kk.le.k) go to 501
b(kk) - b(kk-l)
kk kk - 1
go to 500
501
b(k) - 0.0
c. ..eztract pivot and solve, also compute energy
aengy - aengy + dr(jj)**2/eq(k)
dr(jj)*(dr(jj)-dot(eq.b.nfrt))/eq(k)
b(k) = dr(jj)
return
end
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
subroutine pfrtd(a.b,r.ig.lg.solv.eq.nfrt,k)
c ....triangular decomposition for frontal program
logical solv
real*8 a(l),b(l),eq(l),dimx.dimn,pivot.term.r
integer*2 ig(l),lg(l)
common /nfrta/ dimx.dimn.nv.npl
c. ..extract equation
do 301 j=l,nfrt
1 max(j,k)
lig(l)-l+min(j,k)
eq(j)=a(l)
301
continu
pivot=eq(k)
if(pivot.eq.0.OdO) then
cali pconsd(eq,nfrt,0.0d0)
write(*,2000)
pivot 1.0
eq(k) - 1.0
else
dimx = max(dimx,abs(pivot))
if(dimn.eq.O.OdO) dimn = abs(pivot)
dimn min(dimn.abs(pivot))
endif
km = k - 1
kp * k + 1
kk = 1
if(km.gt.O) then
do 302 jj - 1,km
if(eq(jj).ne.O.OdO) then
term = -eq(jj)/pivot
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
502
503
576
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
31
32
33
34
35
36
37
38
39
Pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
pfr
pfr
pfr
pfr
pfr
pfr
1
2
3
4
5
6
M T O D O S
402
404
D E
C L C U L O
P O R
577
O R D E N A D O R
kp - k + 1
if(km.gt.O) then
do 402 ii = 1.km
b(ii) = b(ii) - eq(ii)*r
cont inue
endif
if(kp.le.nfrt) then
do 404 ii = kp.nfrt
b(ii-l) = b(ii) - eq(ii)*r
continu
endif
b(nfrt) - 0 . 0
return
end
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
pfr
7
8
9
10
11
12
13
14
15
16
17
18
19
20
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
pre
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
578
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro 19
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
pro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
M T O D O S
1 5 .8 .5
se
D E
C L C U L O
P O R
O R D E N A D O R
579
co n trola
travs
de
los
su b p ro gram a s
contenidos
en
el
archivo
P C P L O T .F O R
(a ) el archivo P C P L O T .F O R contiene el siguiente co n ju n to de su b p ro gram a s
Nombre
Tipo
Descripcin
PPLOTF
S U B R U T IN A
DPLOT
S U B R U T IN A
D ib u ja lneas en la p an talla
PDEVCL
S U B R U T IN A
PDEVOP
S U B R U T IN A
PLOTL
S U B R U T IN A
FRAM E
S U B R U T IN A
PDEFM
S U B R U T IN A
a la p an talla
C a lcu la las coorden ad as del d ib u jo de
la d eform ad a
P L IN E
S U B R U T IN A
IJIOFLOATCALLS
subroutine pplotf(x,ix,b,lci,ct,ndf,ndm,nenl,nneq)
c....plot control subroutine or feap
logic&l pcoap,oflg
character lci*4
integer*2 ixy,devnaa,status,vslcol.il,ix(l),coli
raal
x(nda,l),ct(2)
real*8 b(l),prop
conos dr(l)
conon /adata/ il (32000)
coaaon /cdata/ nuanp,nuael,nuaaat,nen,neq
coaaon /pdata2/ ixy(4) ,devnaa
c....open kemal systea and plot aesh or outline of parts
cali pdevop(devnaa)
cali fraaeCx.nda,nuanp)
c....plot aash or outline of parts
oflg - .not.pcoap(lci,outl)
c
* 0.0
ic
- 1
if(ctCl).na.O.O) ic - 2
do 100 i ic,l,-l
coli
- 8 - 2*i
status vslcol(devnaa,coli)
cali pdefa(x,b,c,nda,ndf,nuanp, dr)
cali plineCdr,ix,il,nuanp,nuael.nda.nenl,nen,ct{2),oflg)
c
- ct(l)
100
continu
c....cise plot
cali pdevcl(devnaa)
return
end
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
ppl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
580
subroutine dplot(r,y,ipen)
integer*2 ixy.devnam,status,vpline
common /pdata2/ ixy(4).devnam
.pen command motions (ipen = 2 , pendown)
ixy(3) - 22000*x
ixy(4) = 22000*y
if(ipen.eq.2) then
status * vpline(devnam,2,ixy)
endif
ixy(1) = ixy(3)
ixy(2) * ixy(4)
return
end
dpi
dpi
dpi
dpi
dpi
dpi
dpi
dpi
dpi
dpi
dpi
dpi
dpi
subroutine pdevcl(devnam)
integer*2 devnam,status,vclrwk.vencur,vclswk,vrqstr,ixy(2)
character*l xxx
cise the plotting device
status = vrqstr(devnam,1,0,ixy,xxx)
status = vclrwk(devnam)
status = vencur(devnam)
status = vclswk(devnam)
return
end
pde
pde
pde
pde
pde
pde 6
pde 7
pde 8
pde 9
pde 10
subroutine pdevop(devnam)
c....open graphics workstation
integer*2 devnam,wkin(19),wkout(66).status,vopnnk,vclrvk,vslcol
data wkin/1,1,1,4.1,1,1,1,1,1,1,68,73,83,80,76,65,89,32/
c....open kernel system
status = vopnwk(wkin,devnam,wkout)
if(status.lt.0) then
write(*,2000)
return
endif
status = vclrwk(devnam)
status = vslcol(devnam,2)
cali dplot(0.0000,0.0000,1)
cali dplot(l.4545,0.0000,2)
cali dplot(1.4545,1.0090,2)
cali dplot(0.0000,1.0090,2)
cali dplot(0.0000,0.0000,2)
return
2000 format(' Graphics Device Driver not installed correctly.)
end
subroutine plotl(xl,x2,x3,ipen)
.line drawing command
common /pdatal/ scale,dx(2),sx(2)
.compute the normal coordinates
si = max(0.0,min(l.45,scale*(xl + xl - sx(l)) + 0.5))
s2 max(0.0,min(l.00,scale*(x2 + x2 - sx(2)) + 0.5))
cali dplot(si,s2,ipen)
return
end
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
pde
po
po
po
po
po
po
po
po
po
6
7
8
9
10
11
12
13
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
2
M T O D O S
D E
C L C U L O
P O R
581
O R D E N A D O R
c
subrout ine r&ae(x,ndn,numnp)
c ....compute scaling for plot area
logical iflg
real
x(ndn,1),xmn(2),xmx(2),xain(3),xmax(3)
connon /pdatal/ scale,dx(2),sx(2)
c. ...determine window coordinates
if(ndm.eq.l) then
dx(2) - 0.
sx(2) - 0.0
endif
ii nin(nda,3)
ij nin(ndn,2)
c ....find the mininun and naxinum coordinate of input nodes
iflg = .true.
do 104 n - 1,numnp
if(x(l,n).ne. -999.) then
if(iflg) then
do 100 i l,ii
xmin(i) * x(i,n)
xmax(i) = x(i,n)
continu
100
iflg = .false.
else
do 102 i = 1,ii
xmin(i) = min(xmin(i),x(i,n))
xmax(i) = max(xmax(i),x(i,n))
102
continu
endif
endif
continu
104
scale * max(xmax(l)-xmin(l) ,xmax(2)-xmin(2))
c ....plot regin determination
do 110 i = l.ij
xmn(i) = min(xmin(i),xmax(i))
xmx(i) = maxCxnin(i),xmax(i))
dx(i) = xmx(i) - xmn(i)
sx(i) = xmx(i) + xmn(i)
cont inue
110
c ....rescale vindov
if(dx(l).gt.dx(2)) then
xmn(2) * (sx(2) - dx(l))/2.0
xmx(2) * (sx(2) + dx(l))/2.0
else
xmn(l) * (sx(l) - dx(2))/2.0
xmx(l) * (sx(l) + dx(2))/2.0
endif
do 112 i = l,ij
xmin(i) * max(xmin(i),xmn(i)) - scale/100.
xmax(i) = min(xmax(i),xmx(i)) + scale/100.
continu
112
c ....default vales
scale = max(xmax(1)-xmin(l),xmax(2)-xmin(2))
c ....reset vales for deforned plotting
do 114 i = l,ij
xcen = xmax(i)+xmin(i)
fra 1
fra 2
fra 3
fra 4
fra 5
fra 6
fra 7
fra 8
fra 9
fra 10
fra 11
fra 12
fra 13
fra 14
fra 15
fra 16
fra 17
fra 18
fra 19
fra 20
fra 21
fra 22
fra 23
fra 24
fra 25
fra 26
fra 27
fra 28
fra 29
fra 30
fra 31
fra 32
fra 33
fra 34
fra 35
fra 36
fra 37
fra 38
fra 39
fra 40
fra 41
fra 42
fra 43
fra 44
fra 45
fra 46
fra 47
fra 48
fra 49
fra 50
fra 51
fra 52
fra 53
fra 54
fra 55
582
fr
fr
fr
fr
fr
fr
56
57
58
59
60
61
pd
pd
pd
pd
pd
pd
pd
pd
pd
pd
pd
pd
pd
pd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
subroutine pline(x,ix,ic,numnp,numel,ndm,nen1,nen,ct,isw)
c. ...plot aesh or outline
logical ifl,iend,isw
integer*2 ixCnenl,1),ipltC8),ic(numnp,1)
real
xCndm.l)
data iplt/5,2,6,3,7,4,8,1/
c....initialize connection array
cali pconsiCic.numnp^.O)
c....loop through elements to set up list
do 206 n * 1,numel
jj * abs(ct)
if(jj.eq.O) go to 197
ii - abs(ix(nenl,n))
if(ii.ne.jj) go to 206
i - 1
197
ii = abs(ix(i,n))
do 205 ij * 1,8
j = iplt(ij)
ifCj.le.nen.and.ix(j,n).ne.O) then
jj * abs(ix(j,n))
if(jj.ne.ii) then
ni = min(ii,jj)
n2 = max(ii.jj)
do 203 k = 1,4
if(ic(nl,k).eq.0) then
ic(ni,k) = n2
go to 204
elseif(ic(nl,k),eq.n2) then
ic(nl,k) = -n2
go to 204
endif
continue
203
endif
204
ii = jj
Pl
Pl
Pl
pl
Pl
PI
PI
Pl
Pl
Pl
Pl
pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
Pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
114
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
H
W
II
o
ndif
205
continu
206
continu
c ... .change signs to perait aesh plot
if(isv) then
do 250 n = l.nunnp
do 250 i - 1,4
ic(n,i) = abs(icCn.i))
250
continu
endif
c ....plot outline of part with continuous lines
300
301
302
303
304
305
do 304 ni = 1,numnp
iend - .true.
do 303 n = 1 ,ntunnp
ifl .true.
ni = n
do 301 i = 1.4
if(ic(ni,i)) 301,303,302
continu
go to 303
iend = .false.
if(ndm.ge.3) x3 = z(3,nl)
if(ifl) cali plotl(x(l,nl),x(2,nl),x3,l)
ifl = .false.
n2 = ic(nl,i)
ic(nl.i) = -n2
if(ndm.ge.3) x3 = x(3,n2)
cali plotl(x(l,n2),x(2;n2),x3,2)
ni = n2
go to 300
continue
if(iend) go to 305
continu
return
end
583
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
pli
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
584
1 5 .8 .6
El
archivo
P C E L M 1 .F O R
contiene
un
m d u lo
de
e lem en to
p ara
ob ten d rn d esp lazam ien tos nulos en los grad os de lib ertad adicionales.
Los
fuerzas
de
vo lu m en .
El
(form u lacin
elem en to
se
irreducible)
b a sa
y
u sa
en
los
el
te m p e ratu ra s
m to d o
de
los
su bp ro gram a s
de
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
585
Las
1 a 10
D escrip cin
E , m d u l o de Y o u n g
11 a 2 0
v,
21 a 3 0
/>, d e n s i d a d
coeficiente d e Poisson
31 a 4 0
L } n m e r o de p u n t o s de c u a d r a t u r a p o r direccin p a r a
41 a 5 0
clculo d e vectores/matrices
51 a 6 0
/, T i p o d e P r o b l e m a :
I 1 tensin p l a n a
1 = 2 deformacin plana
I = 3 axial-simtrico
G r u p o d e P r o p i e d a d e s 2.) F O R M A T 5 F 1 0 . 0
C olu m n a
1 a 10
D escrip cin
11 a 2 0
F u e r z a d e v o l u m e n - 1 (por u n i d a d d e v o l u m e n )
21 a 3 0
F u e r z a d e v o l u m e n - 2 (por u n i d a d d e v o l u m e n )
31 a 4 0
a,
41 a 50
T 0 , t e m p e r a t u r a inicial
coeficiente d e dilatacin t r m i c a
Tipo
ELMT01
SUBRUTINA
D escripcin
E n t r a d a d e p a r m e t r o s , calcula los
vectores/ matrices d e E F
STRE01
SUBRUTINA
Clculo d e tensiones y d e f o r m a c i o n e s en
un punto
STCN01
SUBRUTINA
STER01
SUBRUTINA
586
$NOFLOATCALLS
subroutine elmt01(dtul,xltix,tl,a,p,ndf,ndm,nst,iss)
c
c....plae linear elastic element routine
c
implicit real*8 (a-h,o-z)
integer*2 ii(l)
real
il(ndm,1),tl(l),aa.dm
real*8 d(l),ul(ndf,i),s(nst,1),p(1),eps(4),sigr(6),shp(3,9),
1
sg(16),tg(16),wg(16),ang
character wd(3)+12,yyy*80
common /adata/ aa(16000)
common /cdata/ numnp.numel,nummat,nen,neq
common /eldata/ dm.n.ma.rnct,iel,nel
common /iofile/ ior.iow
data sd/'Plae Stress,'Plae Strain','Axisymmetric'/
c....go to correct array processor
1
- d(5)
k
= d(6)
ityp * dC15)
go to(l,2,3,3,3,3,7,8), isw
c....input material properties
I
if(ior.lt.O) write(*,5000)
cali pintio(yyy.lO)
read(yyy,1000,err=110) e,xnu,d(4),1,k,ityp
II
ifCior.lt.0) write(*,5001)
cali pintioyyy,10)
read(yyy.1001,err=lll) d(14),d(ll),d(12),alp,t0
c....set material parameter type and flags
ityp max(l,min(ityp,3))
j min(ityp,2)
d(l) = e*(l.+(l-j)*xnu)/(l.+xnu)/(l.-j*xnu)
d(2) = xnu*d(l)/(l.+(l-j)*xnu)
d(3) = e/2./(l.+xnu)
d(13)* d(2)*(j-1)
ifCd(14).le.O.OdO .or. ityp.ge.2) d(14) 1.0
d(15) = ityp
d(16) = e
d(17) = xnu
d(18) = -xnu/e
1 = min(4,max(l,1))
k = min(4,max(l,k))
d(5) = 1
d(6) * k
d(9) = tO
d(10)= e*alp/(1.-j*xnu)
lint = 0
write(iow,2000) wd(ityp),d(16),d(17),d(4),l,k.d(14),d(ll),d(12),
1
alp.tO
if(ior.lt.O) write(*,2000) d(ityp),d{16),d(17),d(4),1,k,
1
d(14),d(ll),d(12),alp.tO
d(4) = d(4)*d(l4)
retxirn
c....read error messages
110
cali perror(PCELMl,yyy)
go to 1
ela 1
ela 2
la 3
ela 4
ela 5
ela 6
ela 7
ela 8
ela 9
ela 10
ela 11
ela 12
ela 13
ela 14
elm 15
elm 16
ela 17
ela 18
ela 19
ela 20
elm 21
elm 22
la 23
la 24
ela 25
ela 26
ela 27
elm 28
elm 29
elm 30
ela 31
ela 32
ela 33
ela 34
ela 35
elm 36
ela 37
ela 38
elm 39
lm 40
elm 41
elm 42
elm 43
lm 44
elm 45
elm 46
ela 47
ela 48
ela 49
ela 50
la 51
la 52
ela 53
ela 54
ela 55
M T O D O S
111
D E
C L C U L O
P O R
O R D E N A D O R
cali perror(PCELMl,yyy)
go to 11
2
cali ckisop(ix.xl,shp,ndm)
return
c ....stiffness/residual computation
3
if(isw.eq.4) 1 = k
if(1*1.ne.lint) cali pgauss(l.lint,sg,tg.wg)
c....compute integris of shape functions
do 340 1 = 1,1int
cali shape(sg(l),tg(l),xl,shp.xsj,ndm,nel,ix,.false.)
cali streOKd.xl.ul.tl.shp.eps.sigr.xx.yy.ndm.ndf .nel.ityp)
xsj * xsj*wg(l)*d(14)
c....compute jacobian correction
if(ityp.le.2) then
dv = xsj
xsj = 0 . 0
zz = 0 . 0
sigr4 = -d(ll)*dv
else
dv = xsj*xx
zz = 1./xx
sigr4 = sigr(4)*xsj - d(ll)*dv
endif
jl = 1
c....compute the mass term
if(isw.eq.5) then
dv = dv*d(4)
do 315 j = 1,nel
p(jl ) = p(jl) + shp(3,j)*dv
p(jl+l) = p(jl)
jl = jl + ndf
315
contine
elseif(isw.eq.4) then
cali pstres(sigr,sigr(5),sigr(6),ang)
c....output stresses and strains
mct = mct - 2
if(mct.le.0) then
cali prthed(iow)
write(iow,2001)
if(ior.lt.0) write(*,2001)
mct = 50
endif
write(iow,2002) n.xx.sigr.ma.yy.eps.ang
if(ior.lt.O) write(*,2002) n.xx.sigr.ma.yy.eps.ang
else
c....loop over rows
do 330 j = l.nel
wll * shp(l,j)*dv
wl2 = shp(2,j)*dv
w22 = shp(3,j)*xsj
c .... compute the internal forces
p(jl ) = p(jl ) - (shp(1,j)*sigr(i)+shp(2,j)*sigr(2))*dv
1
- shp(3.j)*sigr4
p(jl+l) = p(jl+l) - (shp(l,j)*sigr(2)+shp(2.j)*sigr(3)) *dv
1
+ d(12)*shp(3,j)*dv
c....loop over columns (symmetry noted)
587
elm 56
elm 57
elm 58
elm 59
elm 60
elm 61
elm 62
elm 63
elm 64
elm 65
elm 66
elm 67
elm 68
elm 69
elm 70
elm 71
elm 72
elm 73
elm 74
elm 75
elm 76
elm 77
elm 78
elm 79
elm 80
elm 81
elm 82
elm 83
elm 84
elm 85
elm 86
elm 87
elm 88
elm 89
elm 90
elm 91
elm 92
elm 93
elm 94
elm 95
elm 96
elm 97
elm 98
elm 99
elmlOO
elmlOl
elml02
elml03
elml04
elml05
elml06
elml07
elml08
elml09
elmllO
elmlll
588
if(isv.eq.3) then
elmll2
kl = jl
el113
all = d(l)*vll + d(2)*w22
el114
a21 - d(2)*vll + d(l)*w22
elmll5
a31 - d(2)*(wll+v22)
elmll6
a41 = d(3)*wl2
elmll7
al2 = d(2)*12
elmll8
a32 - d(l)*vl2
elmll9
a42 = d(3)*vll
elml20
do 320 k = j.nel
elml21
vil * shp(l.k)
elml22
vl2 * shp(2,k)
elml23
v22 - shp(3,k)*zz
elal24
s(jl ,kl ) = s(jl ,kl ) + wll*all+w22*a21+wl2*a41
el*125
s(jl+l,kl ) = s(jl+l,kl ) + (vil + 22)*al2+wl2*a42
elml26
s(jl ,kl+l) = s(jl ,kl+l) + vl2*a31 + sll*a41
el*127
s(jl+l,kl+l) = s(jl+l,kl+l) + vl2*a32 + vll*a42
elml28
kl = kl + ndf
elml29
320
continu
elml30
endif
elnl31
jl = jl + ndf
elml32
330
continu
elml33
endif
elml34
340
continu
elml35
c....make stiffness symmetric and compute a residual
elml36
if(isv.eq.3) then
elml37
do 360 j = l,nst
elml38
do 360 k = j,nst
elml39
s(k,j) = s(j,k)
elml40
360
continu
elml41
endif
elml42
return
elml43
c .... compute the stress errors
elml44
7
if(1*1.ne.lint) cali pgauss(l,lint,sg,tg,wg)
elml45
cali sterOl(ix,d,xl,ul,tl,shp,aa,aa(numnp+l),ndf,ndm,
elml46
1
numnp,numel,sg,tg,vg.sigr.eps,lint,ityp)
elml47
return
elml48
c....compute the nodal stress vales
elml49
8
if (1*1 .ne.lint) cali pgauss(l,lint,sg,tg,vg)
elml50
cali stcn01(ix,d,xl,ul,tl,shp,aa,aa(numnp+l),ndf,ndm,nel,
elml51
1 numnp,sg,tg,sigr,eps,lint,ityp)
elml52
return
elml53
c....formats for input-output
elml54
1000 format(3fl0.0,3ilO)
elml55
1001 format(8f10.0)
elml56
2000 format(/5x,al2, Linear Elastic Element//
elml57
1 lOx,Modulus,el8.5/10x,Poisson ratio*,f8.5/10x,'Density',el8.5/elml58
2 lOx,'Gauss pts/dir*,i3/10x,'Stress pts',i6/10x,Thickness',el6.5/elml59
3 lOx,'1-gravity',el6.5/10x,'2-gravity',el6.5/10x,'Alpha,e20.5/
elml60
4 10x,'Base temp',el6.5/)
elml61
2001 format(5x,'Element Stresses'//' elmt 1-coord,2x,11-stress,2x, elml62
1 12-stress*,2x,22-stress',2x,33-stress,3x,'I-stress',3x,
elml63
2 2-stress'/ matl 2-coord',2x,'li-strain',2x,'12-strain',2x,
3lml64
3 22-strain',2x,,33-strain',6x,'angle'/39( -'))
elml65
2002 format(i5,Oplf9.3,lp6el1.3/i5,Oplf9.3.Ip4el1.3,0plf11.2/)
elml66
5000 format(' Input: E, nu, rho, pts/stiff, pts/stre',
elml67
M T O D O S
D E
C L C U L O
P O R
589
O R D E N A D O R
1
type(l*stress,2=strain,3*axism) * ,/3x,>*,$)
5001 foraat(' Input: Thickness, 1-body forc, 1-body forc, alpha,
1
Teap-base/3x,> ,$)
end
c
subroutine stre01(d,xl,ul,tl,shp,eps,sig,xx,yy,ndm,ndf,nel,ityp)
implicit real*8 (a-h,o-z)
real
xl(ndm,l),tl(l)
real*8 d(l),ul(ndf,1),shp(3,1),eps(4),sig(4)
c .... compute strains and coordinates
cali pconsd(eps,4,0.0d0)
xx * 0.0
yy - 0.0
ta * -d(9)
do 100 j * l,nel
xx xx + shp(3,j)*xl(l,j)
yy = yy + shp(3,j)*xl(2,j)
ta = ta + shp(3,j)*tl(j)
eps(l) = eps(l) + shp(1, j)*ul(1, j)
eps(2) = eps(2) + shp(l,j)*ul(2,j) + shp(2,j)*ul(l,j)
eps(3) = eps(3) + shp(2,j)*ul(2,j)
if(ityp.eq.3) eps(4) * eps(4) + shp(3,j)*ul(l,j)
100
continu
ta * ta*d(10)
c....conpute stresses
if(ityp.gt.2) then
if(xx.ne.O.OdO) then
eps(4) = eps(4)/xx
else
eps(4) = eps(l)
endif
sig(4) = d(l)*eps(4) + d(2)*(eps(l) + eps(3)) - ta
else
sig(4) = d(13)*(eps(l) + eps(3)) - ta
endif
sigCl) = d(l)*eps(l) + d(2)*(eps(3) + eps(4)) - ta
sig{2) = d(3)*eps(2)
sig(3) = d(l)*eps(3) + d(2)*(eps(l) + eps(4)) - ta
if(ityp.eq.l) eps(4) = d(18)*(sig(l) + sig(3))
return
end
c
subroutine stcnOl(ix,d,xl,ul,tl,shp,dt,st,ndf,ndm,nel.numnp,
1
sg,tg.sig.eps,lint,ityp)
c....project stresses onto nodes
implicit real*8 (a-h,o-z)
integer*2 ix(l)
real
dt(numnp),st(numnp,1),xl(ndm,1),ti(1)
real+8 eps(4),sig(4),ul(ndf,1),shp(3,4),d(l),sg(9),tg(9)
common /errind/ eerror,elproj.ecproj,efem,enerr,ebar
gr = (l.+d(17))/d(16)
do 130 1 = l.lint
cali shape(sg(l),tg(l),xl,shp,xsj,ndm,nel,ix,.false.)
cali stre01(d,xl,ul,tl,shp,eps,sig,xx,yy,ndm,ndf,nel,ityp)
enerr = enerr+((sig(l)+sig(3)+sig(4))**2)*d(18)*xsj
1
+ gr*xsj*sig(2)**2
elml68
elml69
el170
elal71
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
590
110
120
130
do lio i = 1.4
enerr = enerr + gr*sig(i)**2*xsj
continu
do 120 ii = l.nel
11 = abs(ix(ii))
if(ll.gt.O) then
xsji = xsj*shp(3,ii)
dt(ll) = dt(ll) + xsji
st(ll,l) = st(ll,l) + sig(l)*xsji
st(11,2) = st(11,2) + sig(2)*xsj i
st(ll,3) * st(ll,3) + sig(3)*xsji
st(11,4) = st(11,4) + sig(4)*xsj i
endif
continu
continu
return
end
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
subroutine sterOl(ix.d.xl,ul,tl,shp.dt,st,ndf,ndm,
ste
1
numnp,numel,sg,tg,wg,sig,eps,1int,ityp)
ste
implicit real*8 (a-h,o-z)
ste
integer*2 ix(l)
ste
real
dt(numnp),st(numnp,1),xl(ndm,l),tl(l),dm
ste
ste
real*8 shp(3,4),sig(6),sigp(4),dsig(4),d(l),eps(4),ul(ndf,1),
ste
1
sg(16),tg(16),wg(16),deps(4)
common /iofile/ ior.iow
ste
ste
common /eldata/ dm,n,ma,mct,iel,nel
common /errind/ eerror,elproj.ecproj,efem.enerr,ebar
ste
ste
.stress error computations
ste
psis =0.0
ste
psi =0.0
ste 14
gr
= (1,+d(17))/d(16)
ste 15
do 200 ii = l.lint
ste 16
cali shape(sg(ii),tg(ii),xl,shp.xsj,ndm,nel,ix,.false.)
ste 17
cali streOl(d,xl,ul,ti,shp,eps,sig,xx,yy,ndm,ndf,nel,ityp)
ste 18
xsj = xsj*wg(ii)
do 100 i = 1,4
ste 19
ste 20
sigp(i)= O.OdO
ste 21
continu
ste 22
do 110 i = l.nel
ste 23
11 = iabs(ix(i))
ste 24
if(11.ne.O) then
ste 25
do 105 j = 1,4
ste 26
sigp(j) = sigp(j) + shp(3,i)*st(11,j)
ste 27
continu
105
ste 28
endif
ste 29
continue
.compute the integral of the stress squares for error indicator use ste 30
ste 31
do 120 i = 1,4
ste 32
dsig(i) = sigp(i)-sig(i)
ste 33
efem
+ sig(i)*sig(i)*xsj
ef em
ecproj + sigp(i)*sigp(i)*xsj
ste 34
ecproj
ste 35
psis
+ (dsig(i)**2)*xsj
psis
ste 36
psi
+ gr*(dsig(i)**2)*xsj
psi
ste 37
continu
ste 38
gr*dsig(2)**2*xsj
psi = psi
M T O D O S
D E
C L C U L O
P O R
1
((dsig(l)+dsig(3)+dsig(4))**2)*d(18)*xsj
continu
error eerror + psi
i(elproj.ne.O.OdO) then
psi
- sqrt(abs(psi))/ebar
psis
* 20.0*sqrt(abs(psis)/elproj*nunel)
i(act.eq.O) then
rite(iow,2000)
i(ior.lt.O) write(*,2000)
ct = 50
endi
ct ct - 1
write(iow,2001) n,psis,psi
i(ior.lt.O) write(*,2001) n,psis,psi
endi
return
2000 oraatC
Hesh
R e f i n a m e n t e
or
5%',
1
' E r r o r'//
elat
h-sig
h-energy'/)
2001 oraat(i8,lp2el2.4)
end
200
591
O R D E N A D O R
ste
ste
ate
ate
ste
ste
ste
ste
ste
ste
ste
ste
ste
ste
ste
ste
ste
ste
ste
ste
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
592
(b)
El
archivo
P C E L M 2. F O R
contiene
un
mdulo
de
elemento
para
= 2
N D F > 2
N E N > 4
E l e l e m e n t o p e r m i t e analizar g e o m e t r a s d e d e f o r m a c i n p l a n a y axialsimtricas, c o n especificacin d e las fuerzas nodales. E l e l e m e n t o se b a s a e n la
f o r m u l a c i n m i x t a d e tres c a m p o s discutida e n el C a p t u l o 12, q u e c o n d u c e
a u n a m a t r i z d e d e s p l a z a m i e n t o s - d e f p r m a c i o n e s mod i f i c a d a , B - b a r r a .
En
p e r o su u s o est restringido a
Columna
1 a 10
11 a 2 0
Descripcin
E , m d u l o de Y o u n g
v,
coeficiente d e Po i s s o n
G r u p o d e P r o p i e d a d e s 2.) F O R M A T 2110
Columna
1 a 10
11 a 2 0
Descripcin
/ T , tipo d e P r o b l e m a
I B , matriz de deformacin
I T = 1 tensin p l a n a
IT = 2 deformacin plana
IB = 0 para B-barra
I B = 1 p a r a B , formulacin
en desplazamientos
21 a 3 0
p , densidad
Nombre
Tipo
ELMT02
SUBRUTINA
Descripcin
E n t r a d a d e p a r m e t r o s : clculo d e
vectores/matrices d e E F
G V C 2
SUBRUTINA
BMAT02
SUBRUTINA
C c u l o d e la m a t r i x d e s p l a z a m i e n t o s
-deformacin
M T O D O S
D E
C L C U L O
P O R
593
O R D E N A D O R
STRN02
SUBRUTINA
STCN02
SUBRUTINA
Clculo d e las d e f o r m a c i o n e s e n u n p u n t o
C l culo d e las tensiones no d ales
MATL02
SUBRUTINA
MODL02
SUBRUTINA
d e los materiales
clculo d e las tensiones y
m a t r i z constitutiva
$NOFLOATCALLS
subroutine elat02(d,ul,xl,ix,tl,s,p,ndf,nda,nst,isw)
ela
c ....plane/axisyametric linear element routine bbar foraulation ela
iaplicit real*8 (a-h,o-z)
ela
logical flg
ela
integer*2 ii(l)
ela
real
xl(ndm,1),aa,da
ela
real*8 d(1),ul(ndf,1),s(nst,1),p(i),eps(4),sig(6),bbar(4,2,4),
1
bbd(4,2),sg(4),tg(4),wg(4),shp3(4,4),shp(3,4,4),xsj(4),ang
common /adata/ aa(16000)
ela
common /cdata/ numnp,numel,nummat,nen,neq
ela
coaaon /eldata/ da,n,aa,act,iel,nel
ela
coaaon /elcom2/ gf2,4),ad(4,4)
ola
common /iofile/ ior,iow
ela
c ....go to correct array processor
ela
go to(l,2,3,3,5,3,7,3), isw
ela
return
ela
c....input material properties
ela
1 cali aatl02(d,ityp.ib)
ela
d(5) = ityp
ela
d(6) = ib
ela
1
=2
ela
cali pgauss(l,lint,sg,tg,wg)
ela
return
ela
c....check for element errors
elm
2 cali ckisop(ix,xl,shp,ndm)
ela
return
ela
c
ela
c....compute tangent stiffness and residual forc vector
ela
3 type = d(5)
ela
ib
= d(6)
elm
c..,.compute volumetric integris
ela
cali pconsd(g,8,0.0d0)
elm
do 300 1 = 1,lint
ela
cali shape(sg(l),tg(l),xl,shp(l,1,1),xsj(1),ndm,4,ix,.false.)
cali gvc2(shp(l,1,1),shp3(l,1),xsj(1),wg(l),xl,type,ndm)
ela
300
continu
ela
vol = xsj(l) + xsj(2) + xsj(3) + xsj(4)
ela
do 310 i - 1,4
ela
g(l.i) = g(l,i)/vol
ela
g(2,i) = g(2,i)/vol
ela
310
continu
ela
if(isw.eq.4) go to 4
ela
if(isw.eq.8) go to 8
elm
flg = isw .eq. 3
ela
do 400 1 = l.lint
ela
c....compute stress, strain, and material moduli
elm
cali strn02(shp(l,1,1),xl,ul,type,xr0,xz0,ndm,ndf,eps)
ela
1
2
3
4
5
6
ela 7
ela 8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ela 34
35
36
37
38
39
40
41
42
43
44
45
46
47
594
cali Bodl02(d,ul>epstsig,xsj(1),ndf,ib)
il * O
do 380 i - 1,4
c....compute the internal stress divergence term
p(il+l) - p(il+l) - shp(l,i,l)*sig(l) - shp(2,i,l)*sig(2)
1
- shp3(i,l)*sig(4)
p(il+2) = p(il+2) - shp(2,i,l)*sig(3) - shp(l,i,l)*sig(2)
c....compute stiffness
if(flg) then
c....compute b-bar matriz
cali bmat02(shp3(i,l),shp(l,i,l),g(l,i),bbar(l,1,i),ib)
do 320 ii = 1,2
do 320 jj = 1,4
bbd(jj.ii) = dot(bbar(l,ii,i),ad(l,jj),4)
320
continu
jl - 0
do 360 j = l,i
do 340 ii = 1,2
do 340 jj = 1,2
s(ii+il,jj+jl) * s(ii+il,jj+jl)
1
+ dot(bbd(l,ii),bbar(l,jj,j),4)
340
continu
360
jl jl + ndf
endif
380
il - il + ndf
400
continu
c....form lower part by symmetry
if(flg) then
do 410 i = l.nst
do 410 j = l,i
s(j,i) = s(i,j)
410
continu
endif
return
c
c....compute stresses at center of element
4 cali shape(0.OdO.O.OdO.xl.shp.xsj,ndm,4,ixt.false.)
cali strn02(shp,xl,ul,type,rr,zz,ndm,ndf,eps)
cali modl02(d,ul,eps,sig,1.0d0,ndf,ib)
cali pstres(sig,sig(5),sig(6),ang)
c....output stresses
mct = mct - 2
if(mct.le.O) then
cali prthed(ion)
writeCiow^OOl)
if(ior.lt.O) write(*,2001)
mct = 50
endif
write(iow,2002) n.ma.sig.rr.zz.ang
ifCior.lt.0) write(*,2002) n,ma,sig,rr,zz,ang
return
c
c....compute lumped mass matrix
5 do 530 1 = 1,lint
cali shapeCsg(l),tg(l),il,shp,xsj,ndm,4,ix,.false.)
c....compute radius and multiply into jacobian for axisymmetry
ela 48
la 49
ela 50
ela 51
elm 52
ela 53
ela 54
elm 55
elm 56
elm 57
ela 58
ela 59
elm 60
elm 61
elm 62
elm 63
elm 64
ela 65
elm 66
elm 67
elm 68
elm 69
elm 70
elm 71
elm 72
ela 73
elm 74
elm 75
elm 76
elm 77
elm 78
elm 79
elm 80
elm 81
elm 82
elm 83
elm 84
elm 85
elm 86
elm 87
elm 88
ela 89
elm 90
elm 91
elm 92
elm 93
elm 94
elm 95
elm 96
elm 97
elm 98
elm 99
elmlOO
elalOl
elml02
elml03
M T O D O S
D E
C L C U L O
P O R
O R D E N A D O R
595
596
xl(ndm,l)
real*8 ul(ndf,1),eps(4),shp(3,1)
C . . . .compute strain and incremental tensors for constitutivo equations
xrO
=0.0
xzO
=0.0
cali pconsd(eps,4,0.0d0)
do 310 k = 1,4
xrO
= xrO
+ shp(3,k)*xl(l,k)
xzO
= xzO
+ shp(3,k)*xl(2,k)
eps(l) = eps(1) + ul(1,k)*shp(l,k)
eps(2)
eps(2) + ul(2,k)*shp(2,k)
eps(3)
eps(3) + shp(3,k)*ul(l,k)
eps(4)
eps(4) + (ul(2,k)*shp(l,k)
ul(l,k)*shp(2,k))/2.
310
continu
eps(3) = type*eps(3)/xr0
return
end
c
subrout ine st cn02(ix,d ,xl,ul,shp,dt,st,ndf,ndm,
1
nnp,sg,tg,sig,eps,lint,type,ib)
implicit real*8 (a-h,o-z)
integer*2 ix(l)
real
dt(nnp),st(nnp,1),xl(ndm,1)
real*8 d(l),ul(ndf,1),sig(l),eps(l),shp(3,4),sg(l),tg(l)
do 200 jj = 1,4
compute stresses at nodes from history terms
cali shape(sg(jj),tg(jj),xl,shp,xsj,ndm,4,ix,.false.)
cali strn02(shp,xl,ul,type,rr.zz,ndm,ndf,eps)
cali modl02(d,ul,eps,sig,1.0d0,ndf,ib)
bu
bu
baa
baa
baa
baa
baa
bma
bma
bma
boa
bma
bma
bma
baa
bma
bma
bma
baa
baa
baa
bma
baa
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
str
8
9
10
11
12
13
14
15
16
17
18
19
stc
stc
stc
stc
stc
stc
stc
stc 8
stc 9
stc 10
stc 11
M T O D O S
50
100
200
D E
C L C U L O
P O R
597
O R D E N A D O R
do 100 ii = 1,4
11 = abs(ix(ii))
if(ll.gt.O) then
shpj = shp(3,i)*xsj
dt(ll) = dt(ll) + shpj
do 50 i = 1,4
stll.i) = st(ll.i) + sig(i)*shpj
endif
continu
continu
return
end
subroutine matl02(d,it,ib)
implicit real*8 (a-h,o-z)
real*8 d(l)
character*12 wa(2),wb(2),yyy*80
c. ...parameter speciication for FEAP materials
common /iofile/ ior.iow
c
data wa/ P l a e
A x i s y m'/
data wb/ S t r a i n . m e t r i c ' /
1
if(ior.It.0) write (*,3000)
cali pintioyyy,10)
readyyy,1000,err=101) ee.xnu
if(ior.lt.O) write(*,3001)
cali pintio(yyy,10)
read(yyy,1001,err=101) it,ib,d(4)
it - max(0,min(l,it))
ib 3 m&x(0,min(l,ib))
d(l) = ee/(l. - 2.*xnu)/3.0
d(2) = ee/(l.+xnu)/2.
write(iow,2000) wa(it+l).wfcCit+l),ee,xnu,d(4),ib
if(ior.lt.O) write(*,2000) wa(it+l),wb(it+l),ee.xnu,d(4),ib
return
101
cali perror('PCELM4*,yyy)
go to 1
c ....format5
1000 format(2f10.0)
1001 oraat(2il0,f10.0)
2000 format/ E l a s t i c
M a t e r i a l
/5x,2al2/
2 lOx,Young modulus (E)
*,15.5/
3 lOx,'Poisson Ratio (nu) *,el5.5/
4 lOx.'Density
(rho) *,15.5/
5 lOx,'Strain-B
(0=bbar) ,i5/)
3000 format (' Input: E, n u V 3 x , '>',$)
3001 format(' Input: it(0=plane,l=axisy), ib(0=bbar), rho'/' >',$)
end
c
subroutine modl02(d,ul,eps,sig,xsj,ndf,ib)
implicit real*8 (a-h,o-z)
real*8 d(15),ul(ndf,1),eps(4),sig(4)
common /elcom2/ g(2,4),ad(4,4)
c ...,constitutiva equation
twog = (d(2) + d(2))*xsj
elam = d(l)*xsj - twog/3.
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mat
mod
mod
mod
mod
mod
mod
mod
12
13
14
15
16
17
18
19
20
21
22
23
1
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
1
3
4
5
6
7
598
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
mod
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
599
Columna Descripcin
1
11
21
31
41
a 10 E , mdulo de Young
a 20 i/, coeficiente de Poisson
a 30 p , densidad
a 40 Espesor (slo tensin plana)
a 50
/ , Tipo de Problema:
7 = 1 tensin plana
1 2 deformacin plana
Nombre
Tipo
Descripcin
ELMT03
SUBRUTINA
PIAN03
STCN03
SUBRUTINA
SUBRUTINA
SNOFLOATCALLS
subroutine elmt03(d,ul,xl,ix.tl,s.p.nd,ndm,nst,isw)
c....Plae stress/strain Pian Sumihara Element
iaplicit real*8 (a-h,o-z)
integer*2 ix(l)
real
xl(ndm,l),dm,ap
real*8 d(l),ul(ndf,1),m(nst.1),p(l),sig(4),pi,p2,p3
character*4 wd(2),yyy*80
600
if(isw.eq.8) go to 8
c....computa syaetric part of s
do 334 i * l.nst
do 332 j * i,nst
s(j,i) = s(i,j)
332
continua
334
continua
return
c....compute tha stresses
4 is = d(12)
c....conpute the stresses at the center and tha specified points
ssg
= -ssa*beta(5)
ttg
* -tta*beta(4)
sig(l) - beta(l) + al(l)*ttg + a2(l)*ssg
sig(2) = beta(2) + al(2)*ttg + a2(2)*ssg
sig(3) * bata(3) + al(3)*ttg + a2(3)*ssg
sig(4) * d(13)*(sig(l)+sig(2))
330 continu
cali pstres(sig,pl,p2,p3)
xx * (xl(i,l)+xl(l,2)+xl(l,3)+xl(1.4/4.0
yy = (xl(2,l)+xl(2,2)+xl(2,3)+xl(2,4))/4.0
act = act - 1
if(mct.gt.O) go to 450
cali prthed(iow)
write(iow,2001) wd(is)
if(ior.lt.O) write(*,2001) vd(is)
act = 25
450
vrite(iow,2002) n,aa,xx,yy,pl,p2,p3,(sigCi),il,4)
if(ior.lt.O) write(*,2002) n.aa.xx.yy,pl,p2,p3,
1
(sig(i),i*l,4)
return
c....computa a lumped mass aatrix
5 p(
1) = <xj0-(xjl+xj2)/3.)*d(10)
p( ndf+1) = (xj0+(xjl-xj2)/3.)*d(10)
p(2*ndf+1) = (xj0+(xjl+xj2)/3.)*d(10)
p(3*ndf+l) = (xj0-(xjl-xj2)/3.)*d(10)
do 510 i = 2,nst,ndf
p(i) = p(i-l)
510
continu
return
c....error estimator goes here!
7 continu
return
c....compute the nodal stress vales
8 cali stcn03(ix,d,ssa,tta,ap,ap(nuinnp+l) .numnp)
return
c....foraat statements
1000 foraat(4f10.0,ilO)
2000 foraat(5x,Plane St*,a4,' Element//10x,'modulus
,el2.5/
1 lOx,'poisson ratio=, f8.5/10x,aass density *',el2.5/
2 lOx,'thickness
= , el2.5)
2001 format(5x,'Plae St1,a4,1 Stresses// element material,
1 5x,1-coord1,5x,'2-coord',8x,sigl',8x,sig2',3x,'angla'/
2 38x,s-ll',8x,s-12',8x,'s-221,8x,s-33/lx)
2002 format(2i9,2f12.4,2el2.4,f8.2/30x,4el2.4)
3000 format(' Input: e, nu, rho, th, is (l=pl.stress,2=pl.strain)/
601
la 64
ala 65
la 66
la 67
ela 68
ala 69
ala 70
ala 71
ela 72
ala 73
ala 74
ala 75
ala 76
ela 77
ala 78
ala 79
ala 80
ela 81
ela 82
ala 83
ela 84
ala 85
ela 86
ala 87
ala 88
ala 89
ala 90
ala 91
ela 92
ala 93
ela 94
ala 95
ala 96
ala 97
ela 98
ala 99
elalOO
alalOl
elal02
elal03
alal04
ala105
elal06
elal07
elal08
alal09
elallO
alalll
elall2
elall3
alai14
alall5
alall6
elall7
elall8
alai19
602
1
3x,mate>,$)
end
elml20
elml21
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
pia
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
h55 = h44/hx
h45 =-h45/hx
h44 = hy
c..5.)Compute the current stress parameters
cali pconsd(rr,5,0.0d0)
do 50 j = 1,4
hx = cr(j) - r2*ax(j)
hy = cy (j) - r2*ay(j)
xl(j) = al(1)*hx + al(3)*hy
x2(j) = al(2)*hy + al(3)*hx
hx = bx(j) - rl*ax(j)
hy = byCj) - rl*ay(j)
yl(j) = a2(l)*hx + a2(3)*hy
y2(j) = a2(2)*hy + a2(3)*hx
rr(l) = rr(l) + ax(j)*ul(1,j)
rr(2) = rr(2) + ay(j)*ul(2,j)
rr(3) = rr(3) + ay(j)*ul(1,j) + ax(j)*ul(2,j)
c .....(stabilization terms)
rr(4) = rr(4) + xl(j)*ul(l,j) + x2(j)*ul(2,j)
rr(5) = rr(5) + yl(j)*ul(1,j) + y2(j)*ul(2,j)
50
continu
beta(l) = dll*rr(1) + dl2*rr(2)
beta(2) = dl2*rr(l) + dll*rr(2)
beta(3) = d33*rr(3)
beta(4) = (h44*rr(4) + h45*rr(5))*3.
beta(5) = (h45*rr(4) + h55*rr(5))*3.
c..6.)Form stiffness matrix for 1-pt (constant) terms
if(isw.eq.3) then
di1 = dll*d(ll)
dl2 = dl2*d(ll)
d33 = d33*d(l1)
il = 1
do 110 i = 1,2
bdll = ax(i)*dll
bdl2 = ax(i)dl2
bdl3 = ay(i)*d33
bd21 = ay(i)*dl2
bd22 = ay(i)*dll
bd23 = ax(i)*d33
jl
= il
do 100 j = i,2
s(il ,jl ) = bdll*ax(j) + bdl3*ay(j)
s(il ,jl+l) = bdl2*ay(j) + bdl3*ax(j)
s(il+l,jl ) = bd21*ax(j) + bd23*ay(j)
s(il+l,jl+1) = bd22*ay(j) + bd23*ax(j)
jl = jl + ndf
100
continu
il = il + ndf
110
continu
c..7.)Copy other parts from computad terms
il = ndf + ndf
do 120 i = l.il
do 120 j = i,il
s(i
,j+il) =-s(i,j)
s(i+il,j+il) = s(i,j)
120
continu
603
pia 54
pia 55
pia 56
pia 57
pia 58
pia 59
pia 60
pia 61
pia 62
pia 63
pia 64
pia 65
pia 66
pia 67
pia 68
pia 69
pia 70
pia 71
pia 72
pia 73
pia 74
pia 75
pia 76
pia 77
pia 78
pia 79
pia 80
pia 81
pia 82
pia 83
pia 84
pia 85
pia 86
pia 87
pia 88
pia 89
pia 90
pia 91
pia 92
pia 93
pia 94
pia 95
pia 96
pia 97
pia 98
pia 99
pialOO
pialOl
pial02
pial03
pial04
pial05
pial06
pial07
pial08
pial09
604
jl - il + ndf
s(2
,il+1) s(2,l)
(ndf+2,j1+1) s(ndf+2,ndf+l)
s(ndf+l,il+l) *-s(l,ndf+l)
a(ndf+1,il+2) *-s(2,ndf+l)
s(ndf+2,il+l) -s(l,ndf+2)
s(ndf+2,il+2) s(2,ndf+2)
c..8.)Add stabilization aatrix
h44 - h44*d(ll)
h45 - h45*d(ll)
hSS - h55*d(31)
jl 1
do 210 j - 1.4
bdll h44*xl(j) + h45*yl(j)
bdl2 h44*x2(j) + h45*y2(j)
bd21 - h45*xl(j) + h55*yl(j)
bd22 - h45*x2(j) + h55*y2(j)
il * 1
do 200 i - l,j
s(il ,jl ) s(il ,jl ) + xl(i)*bdll + yl(i)*bd21
s (i1 .jl+1) - s(il .j1+1) + xl(i)*bdl2 + yl(i)*bd22
s(il+l,jl ) (il+l,jl ) + x2(i)*bdll + y2(i)*bd21
s(il+l,jl+l) * a(il+l,jl+1) + x2(i)*bdl2 + y2(i)*bd22
il - il + ndf
200
continu
jl * jl + ndf
210
continu
endif
c ..9.)compute the residual forc vector
if(mod(is,3).eq.0) then
c...a.)compute the constant part
do 300 i 1,5
beta(i) beta(i)*d(ll)
300
continu
do 310 i * 1,2
p(2*i-l) - -(ax(i)*beta(l) + ay(i)*beta(3))
p(2*i+3) -p(2*i-l)
p(2*i ) -(ay(i)*beta(2) + ax(i)*beta(3))
p(2*i+4) * -p(2*i )
310
continu
c...b.)compute the stabilization part
do 320 i - 1,4
p(2*i-l) * p(2*i-l) - (xl(i)*beta(4) + yl(i)*beta(5))/3.0
p(2*i ) p(2*i ) - (x2(i)*beta(4) + y2(i)*beta(5))/3.0
320
continu
endif
return
end
c
subroutine stcn03(ix,d,ssa,tta,dt,st,nnp)
implicit real*8 (a-h,o-z)
integer*2 ix(l)
real
dt(nnp),st(nnp,l),ss(4),tt(4)
real*8 d(l)
coamon /elcoa3/ xs,xt,xh,ys,yt,yh,xj0,xjl,xj2,al(3),a2(3),beta(5)
data ss/-1.0,1.0,1.0,-1.0/,tt/-l.0,-1.0,1.0,1.0/
pial10
pialll
piall2
piall3
pial14
piallB
piall6
pial17
pial18
pial19
pial20
pial21
pial22
pial23
pial24
pial25
pial26
pial27
pial28
pial29
pial30
pial31
pial32
pial33
pial34
pial35
pial36
pial37
pial38
pial39
pial40
pial41
pial42
pial43
pial44
pial45
pial46
pial47
pial48
pial49
pialSO
pial51
pial52
pial53
pial54
pial55
pial56
pial57
stc
stc
stc
stc
stc
stc
stc
1
2
3
4
5
6
7
605
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
stc
9
10
11
12
13
14
18
16
17
18
19
20
21
22
23
24
25
26
27
606
1,2 0 3
NDF = NDM
NEN > 2
El elemento permite analizar estructuras de barras articuladas con
especificacin de las fuerzas nodales. El elemento se basa en la formulacin en
desplazamientos y usa campos lineales de desplazamientos entre los extremos
de los elementos de barra. El elemento calcula slo valores de fuerzas
elementales; no se incluyen estimadores de error para este elemento.
Los parmetos del grupo de propiedades de los materiales que siguen a
los datos descritos en la Tabla 15.8 se introducen como sigue:
Grupo de Propiedades 1.) FORMAT 3F10.0
Columna
1 a 10
11 a 20
21 a 30
Descripcin
E , mdulo de Young
A , rea de la seccin recta
p , densidad (por unidad de volumen)
Nombre
ELMT04
Tipo
Descripcin
SUBRUTINA
$N0FL0ATCALLS
subroutine elat04(d,u,x,ix,t,b ,p ,nd,nda,nst,isw)
c ....elastic 1,2, or 3d trusa element routine
implicit real*8 (a-h,o-z)
real
x(ndm,1),xx(3),da
real*8 d(l),u(ndf,1),8(nst,1),p(l),db(3),dx(3)
character yyy*80
common /eldata/ dm,n,ma,mct,iel,nel
common /iofile/ ior.iow
go to (1,3,3,3,3,3,8,8),isw
c....input material properties
1
if(ior.lt.O) write(*,3000)
cali pintio(yyy,10)
read(yyy,1000,err=110) d(l),d(2),d(3)
d(4) = d(l)*d(2)
d(5) - d(3)*d(2)
cali pconsr(xx,3,0.0)
write(io*,2000) d(l),d(2),d(3)
if(ior.lt.O) write(*,2000) d(l),d(2),d(3)
return
cali perror('PCELM9',yyy)
110
elm
elm
elm
elm
elm
elm
elm
elm
elm
elm
elm
elm
elm
elm
elm
elm
ela
elm
ela
ela
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
607
go to 1
elm 21
c....compute element properties
elm 22
3
if(ndf.ne.ndm) then
elm 23
write(iow,4001)
elm 24
if(ior.lt.O) write(*,4001)
elm 25
stop
elm 26
endif
elm 27
xl = 0.0
elm 28
eps =0.0
elm 29
do 31 i = l,ndm
elm 30
dx(i) = x(i,2) - x(i,l)
elm 31
xl = xl + dx(i)**2
elm 32
eps * eps + dx(i)*(u(i,2)-u(i,l))
elm 33
xx(i) = (x(i,2) + x(i,1))/2.
elm 34
31
continu
elm 35
c ....error check on length
elm 36
if(isw.eq.2) then
elm 37
if(xl.le.0.OdO. or. x(l,1).eq.-999.0 .or. x(l,2).eq.-999.) then elm 38
write(iow,4000) n,x(1,1),x(1,2)
elm 39
if(ior.lt.O) write(*,4000) n,x(1,1),x(l,2)
elm 40
endif
elm 41
return
elm 42
endif
elm 43
eps = eps/xl
elm 44
sig = d(4)*eps
elm 45
c....compute the element stiffness matrix
elm 46
if(isw.eq.3) then
elm 47
xl = xl*sqrt(xl)
elm 48
do 32 i = l,ndm
elm 49
db(i) = d(4)*dx(i)
elm 50
dx(i) = dx(i)/xl
elm 51
32
continu
elm 52
do 33 i = l,ndm
elm 53
do 33 j = l.ndm
elm 54
s(i,j) = db(i)*dx(j)
elm 55
s(i+ndf,j+ndf) = s(i,j)
elm 56
s(i,j+ndf) = -s(i,j)
elm 57
s(i+ndf,j) = -s(j,i)
elm 58
33
continu
elm 59
c....output stress and strain in element
elm 60
elseif(isw.eq.4) then
elm 61
mct = mct - 1
elm 62
if(mct.le.O) then
elm 63
cali prthed(iow)
elm 64
write(iow,2001)
elm 65
if(ior.lt.0) write(*,2001)
elm 66
mct = 50
elm 67
endif
elm 68
write(iow,2002) n,ma,xx,sig,eps
elm 69
if(ior.lt.O) write(*,2002) n,ma,xx,sig,eps
elm 70
c....compute element lumped mass matrix
elm 71
elseif(isw.eq.5) then
elm 72
xl = d(5)*sqrt(xl)/2.0
elm 73
do 34 i = l,ndm
elm 74
p(i
) = xl
elm 75
p(i+ndf) = xl
elm 76
608
elm 77
continu
34
elm 78
endif
c... .form a residual if needed
if(mod(iw,3).eq.0) then
elm 79
elm 80
elm 81
sig - sig/sqrt(xl)
elm 82
do 35 i * l.ndf
p(i) dx(i)*sig
35
8
elm 83
elm 84
p(i+ndf) - -p(i)
continu
elm 88
endif
elm 86
return
elm 87
elm 88
elm 89
c. ..,.frmate
1000 format(3f10.0)
2000
format(5x,'T r u s a
1
2001
2002
3000
4000
4001
'Area
Modulus
E l e m e n t //10x,'
,el3.5/10x,elm 90
elm 91
elm 92
format(5x,'T r u s s
E l e m e n t*//' elem mate'.
1 4x,'1-coord,4x, ^-coord* ,4x. 3--coord',5x,1
force',7x. strain) elm 93
format(2iS,3f11.4,2el3.5)
formatC Input: E, A, rho'/3x. '> .t)
frmate ** ERROR ** Truss element ',i4,' has zero length or'/
1
'
undefined points: l ',el0.3, , 2-,elO.3)
formatO ** ERROR ** Trusa element nust have ndm * ndf!1)
end
elm 94
elm 95
elm 96
ela 97
elm 98
elm 99
R e fe r e n c ia s
609
610
34. G. STRANG y G.J. FIX, An Analysis of the Finite Element Method, PrenticeHall, 1973.
35. Fortran 77 Compiler for Personal Computers, MicroSoft Corporation, 1985.
36. T.H. PIAN y K. SUMIHARA, Rational approach for assumed stress finite
elements , Int. J. Num. Meth. Eng., 20, 1685-95, 1984.
Apndice 1
A L G E B R A M A T R IC IA L
La mstica que rodea al lgebra matricial se debe quizs a los textos
sobre el tema, que exigen al estudiante tragar demasiado de una sola vez.
Se encontrar que para seguir este libro y efectuar los clculos necesarios slo
se necesita un conocimiento limitado de unas pocas definiciones bsicas.
Definicin de matriz
La relacin lineal entre un sistema de variables x y b:
al\x\ + a\7x2 +
a 21;cl I a2 2 x
~t"
CL\aXa~b\
0 3 4 4 = 63
*} = m
o bien
Ax = b
donde
an , ai2 ,ai3 &14
A = [j4] =
( 1.2 )
x = {1 } =
b = {b } =
La notacin anterior contiene en si misma la definicin de matriz y
del proceso de multiplicacin. Las matrices se definen como conjuntos de
nmeros dispuestos como en (A l.2). La forma particular que agrupa a
los nmeros en una sola columna se llama vector o matriz columna. La
multiplicacin de una matriz por una matriz columna est definida por la
equivalencia de los primeros miembros de las ecuaciones (A l.l) y (A l.la ).
611
612
a2ix[ + a22x 2 +
0 2 3 X3
<12484
= >2
( A l . 3)
( A l .4 )
AX = B
en la cual
[X] =
Xl,
*1
*2,
*3,
X 4i
r*i, *'il
B =
[B} =
( A l .5 )
3, .
a\\x[ H----a2ix[ +
an x[ +
V K]
b*, %
6 3 , t*
(A1.4a)
^ XA
613
LGEBRA MATRICIAL
<
a*11(21
il( * l +
+
<*2l(2 i + * 1 )
^ 2 +' *
23(23
+ * 3 ) t~
+ a
<*2
24(24
+I- 2
' +' <*2 2~
^ 2)
;+
t" <
a*2
3 ^ 3 i"
4^4 +
i" * 4 ) =
2 "
2
(A1.6)
11> 12 13
an
21 > 22 23
a2 1
+
<*2 1 , <*2 2 <*23
A + B = C
implica que cada componente de C es igual a la suma de las componentes
correspondientes de A y B.
La sustraccin obedece obviamente las mismas reglas.
Traspuesta de una matriz
Se trata simplemente de una definicin para reordenar las componentes de
una matriz de la manera siguiente:
T
au
a 21
a i2
<*13
a 22
<*23
<*11
<*12
<*13
<*21
<*22
<*23
6 14
S e p o d r a o b t e n e r ( A l . 9) multiplicando a m b o s m i e m b r o s d e ( A l . l a ) p o r
A -1 y p o r ta n t o
A A " 1 = A -1 A
= I
( A l . 10)
d o n d e I es la m a t r i z u n i d a d c u y o s t r m i n o s diagonales valen u n o y t o d o s
los d e m s s o n cero.
Si
las
ecua ciones
son
singulares
no
tienen
solucin,
entonces
e v i d e n t e m e n t e n o existe m a t r i z inversa.
Suma de productos
En
p r o b l e m a s d e m e c n i c a se e n c u e n t r a n f r e c u e n t e m e n t e u n n m e r o d e
m a g n i t u d e s , c o m o fuerzas, q u e p u e d e n a g r u p a r s e e n vectores:
(j41.11)
f =
fn
( A l . 12)
S a b e m o s q u e el trabajo est r e p r e s e n t a d o c o m o u n a s u m a d e p r o d u c t o s d e
fuerzas y d e s p l a zamientos:
w
Y , fnVn
W' = [ /i ,
a.
\ = f Ta = aTf
( A l . 13)
an
Traspuesta de un producto
Una
LGEBRA MATRICIAL
un producto de matrices.
definiciones anteriores que
615
(A l.14)
(AB)t = B rA T
Matrices simtricas
En problemas de estructuras se encuentra con frecuencia matrices simtricas.
Si un trmino de la matriz A se define como a^, se tiene entonces que para
una matriz simtrica
a ij =
aji
an
CI12
ai3
<*14
15
a 21
0-22
23
a24
25
3 1
3 2
33
B =
34
*11
>21
12
622
*31
32
>41
642
>51
52
3 5
An
, a 21
A i2
A 22 j
B =
A n B i + A 12B 2
A 2i B 4- A 22B 2
B 2.
616
Problemas de autovalores
Un autovalor de una matriz simtrica A de tamao n x n es un escalar
que permite la solucin de
(A - AI)^ - 0
det |A AI| = 0
( A l.15)
*= j
A=
(A l.16)
Apndice 2
E C U A C IO N E S B A S IC A S DEL
A N L ISIS P O R EL M T O D O D E LOS
D E S P L A Z A M IE N T O S (C A P IT U L O 2)
Desplazamientos
(2.1)
u = ^
Na = N a
e Su ^
Ba = Ba
Deformacin
(2.2 2.3)
B = SN
(2.4)
B = SN
a - D(e - e0) + a 0
(2.24)
Ka + f = r
K ij =
= -
J
/
Jv
B ^D B j dV
N fb dV -
B fD e0 d V +
Jv
f N ft d A -
Ja
Bj<r0 dV
Jv
617
Apndice 3
ALGUNAS FORM ULAS
D E IN T E G R A C I N P A R A
T R I N G U L O S (FIGURA 3.1)
Sea un tringulo definido en el plano x y por tres puntos (x, y), (x j , t/j),
(xm, Vm) con el origen de coordenadas en el centro de gravedad, es decir,
+
Xj
+ xm
Vi +
Vj
Vm
dx dy = y
J x 2 dx dy =
x{
y{
1
1
xi
yj
x m
Vm
+ x j + x j j
J y 2 dx dy = ~ ( y ? + y 2 + y 2
m)
J x y dx dy = ^ ( x iVi + xjVj +
619
Apndice 4
ALGUNAS FORM ULAS
DE IN T E G R A C I N P A R A
T E T R A E D R O S (FIGURA 5.1)
+ x j + x m + xp
yi + y + y m +
Vp _
+ Zj + zm + zp
dx dy dz -
Vi
Xj
Vj
Zj
x m
ym
1 xp
yp
zm
zp
J x dx dy dz = J y dx dy dz J
j
z dx dy dz =
x 2 dx dy dz = ^ ( x \ + x j + x 2
m + x2
p)
J y 2 dx dy dz =
y?
+ y2
m + y*)
J z2 dx dy dz = ( z 2 + 2 2 + 2 ^
Z*)
/ xy dx dy dz = (x ^ - + x jy j + x mym + xpyp)
f
V
/ xz dx dy dz = ^ ( x izi + x j zj + x mZm + xpzp )
V '
/f yz dx dy dz =
(y iZi + yjZj + ymzm + ypzp)
621
Apndice 5
E L E M E N T O S DE L G E B R A V E C T O R IA L
jt/i + kzj
(A5.1)
(A5. 2)
(A5.3)
V 02 - Vqi = V 2l = { y2 - yi }
(5.4)
(A5.5)
624
h, =
(A5.6)
y/v^vT,
/\wa;
x2
Xi
, etc.
(A5.7)
12
d o n d e a x es el n g u l o f o r m a d o p o r el vector y el eje x .
P rod u cto
escalar.
B y
sus longitudes s o n
resp e c t i v amente,
A B lali eos 7 = B A
(A5.8)
Si
A
= iax + j d y + k a2
B ib x +
jby
+ k
(>15.9)
bz
( A 5 .1 0 )
A B
x bx
a yby
a zbz
625
(.A5.:ii;
(5.12)
x B = C
(>15.13)
Por consiguiente,
A
x B = -B
x A
(>15.14)
j x k = i,
k x i = j
(A5.15)
se tiene
i
A
x B =det dx
j
dy
az
bx
*>y
bz
i a
y^z
a z b y ) i -)-
i^Q-xbx
&i&z)j
(>15.16)
626
\
i.
x B
a>zby
azbx Q*xbz
0>xby
(A5.17)
a ybx
(A5.18)
drj =
a z,
- ~ a yi
ay
o,
a x
ax,
el lector podr comprobar que otra representacin del vector producto en forma matricial
es (T. Crouch, comunicacin privada)
C = AB
627
<(rea) = det
dx
!h)
dy
dy
d(
drj
d dr}
(A5.19)
dx
dx
dr]
d(
dy
dy
dr]
d(
dz
dz
dz
dt
dr]
dy
d( dt] d(
(A5.20)
Apndice 6
IN T E G R A C I N P O R PAR TES
EN DO S O T R E S D IM E N SIO N E S
(T E O R E M A DE G R E E N )
C o n s i d e r e m o s la integracin p o r partes d e la expresin bidim e n s i o n a l
siguiente
In
dx dy
(6.1)
/
JxL
tXR
v du + { u v ) x - x R ~ { u v ) x - x L
u dv -
( A 6 .2 )
JxL
d*>
^~dx
d x d y = ~
f d4>
/
dx d y +
f y= yT
/
{ ( H ) x = x R ~ [ H ) x = x l ] dy
y
Si a h o r a se considera u n a
VB
[ A 6 . 3)
al
c o n t o r n o de la derecha, v e m o s q u e
dy d T n x
(A6.4)
(^46.5)
4>i> n x dT
(,46.6)
r
Si h a y varios c o n t o r n o s cerrados esta integracin h a d e efectuarse sobre
c a d a contorno. P a r a todos los casos, la expresin general es
629
630
Figura A6.1
J Jn
^ ~~J fn
***dy+jp^ n*
(6.7)
I l
dx dy ^ ~ j
jn
dx dy + j ) 4>ij> ny
dr
(A 6.8)
donde riy es el coseno del ngulo que forma la normal exterior y el eje y.
Anlogamente, en tres dimensiones se puede escribir
j J J 4>~^~dx dy dz J j J
dx dy dz +
j)
nx dT (,46.9)
Apndice 7
SO LU C IO N ES N O D A L M E N T E E X A C T A S
Se puede conseguir que la solucin por elementos finitos de ecuaciones
diferenciales ordinarias sea exacta en los nodos interelementales mediante
una apropiada eleccin de las funciones de ponderacin usadas en la
forma dbil. Para ser ms especficos, consideremos el sistema de ecuaciones
diferenciales ordinarias dado por
A(u) + f = 0
(-47.1)
( u ) + f ) dx = 0
(7.2)
L
La forma dbil puede transformarse utilizando integracin por partes para
eliminar todas las derivadas de u y reemplazarlas por las de v. El resultado
es
(A7.3)
du
d +
dx + f =
(A 7 A )
(& U
r>dU
JLv{d+pTx+f) dx=
(7.5)
dv\
,1 ,
[ f du
_ \
dv
JL [{d^-pdi)u+vf\dx+r{di+pu)-diu.
La ecuacin diferencial adjunta est dada por
631
(7.6)
632
dx2
dx
B (u ) =
+ P 1
( 7.9)
Q f
v r f dx + B * ( v f B ( u ) | r ) + B * ( v ) T Q|r = 0
( 7.10)
que puede usarse para generar los vectores y matrices de los elementos
finitos. Despus de remarcar los requisitos de continuidad y equilibrio de las
f A menudo puede introducirse un factor de integracin para hacer que la forma dbil
genere un problema autoadjunto; sin embargo, el problema de aproximacin sigue siendo
igual. Viz. Seccin 9.11.2.
633
B(u) = { 2 }
(j47.11)
^2 ^jL vf dx~
+ =0
(A7.12)
(A7.13)
(A7.14)
Apndice 8
D IA G O N A L IZ A C I N DE M A T R IC E S
O A G L U T IN A M IE N T O
Algunos de los algoritmos propuestos en este volumen son ms eficientes
si una de las matrices globales puede ser diagonalizada (o aglutinada ,
segn muchos ingenieros). Por ejemplo, las soluciones de problemas mixtos,
alisado de tensiones o problemas transitorios (que se discutirn en el Vol.
2) son ms eficientes si la matriz global que debe invertirse es diagonal [viz.
Captulos 12 y 14, Ecs. (12.67) y (14.71)]. Los ingenieros suelen insistir en
bases puramente fsicas para el aglutinamiento de matrices; sin embargo,
claramente se precisa un procedimiento sistemtico y matemticamente
aceptable para realizar tal tarea.
Definamos la matriz a considerar como
A=
f N r cN dn
Jn
(A8.1)
Jn
635
i / j
(A8.2)
636
Figura A8.1 Funciones de forma (a) lineal y (b) constante a trozos para un
tringulo.
Tal aproximacin con diferentes funciones de forma es permisible, ya que
satisface los criterios usuales de integrabilidad y completitud. Las funciones
relacionadas slo deben satisfacer la condicin
i
= 1
= JV;I
(A8.3)
A-ij
f NfcNfcdfi
i = j
In
0
(A8.4)
A ij
= Jn N * CN d _ J
[
don d e
637
(A8.5)
>* =
Jn
edil
(48.6)
de la E c .
A ^ = N fc N j
d on d e
Si se u sa
( A 8 .1 ) se puede
):
W (N ' N j V *
( M )
N m e n o s u n o son cero en
cualquier n o d o ,
A j =
i j
( A 8 .8 )
La
Sin e m b a rg o , no existe un
( A 8 .5 )
y ( A 8 .7 ) .
algunas de
las can tid ad es ag lu tin adas son n egativas p ara el elem en to de och o n od o s.
E s to p ued e tener efectos adversos en ciertos alg oritm o s ( e j., en esquem as
638
4-nodos
T o d o s los m t o d o s
8-nodos
(A8.5)
9-nodos
T o d o s los m t o d o s
8-nodos
(A8.4) y (A8.7)
Figura A 8.2 Diagonalizacin de elementos rectangulares segn diversos m t o d o s
d e a v a n c e e n el t i e m p o p a r a integrar p r o b l e m a s transitorios), e i m p e d i r su
utilizacin.
E n la F i g u r a A 8 . 3 se m u e s t r a n a l g u n a s mat r i c e s aglutinadas
S e advierte
q u e e n el e l e m e n t o cbico se p r o d u c e n d e n u e v o t r m i n o s negativos, mi e n t r a s
q u e e n el c u a d rtico a p a r e c e n t r m i n o s nulos. L o s t r m i n o s nulos s o n m s
difciles d e tratar, y a q u e la m a t r i z A diagonal resultante es singular, y n o
p u e d e ser invertida. E n la F i g u r a A 8 . 2 se m u e s t r a el caso d e los e l e m e n t o s
rectangulares d e cuatro, o c h o y n u e v e n o d o s y el a g l u t i n a m i e n t o s e g n (A8.4),
(A8.5) y (A8.7). N t e s e q u e c u a n d o se u s a (A8.4) al g u n a s d e las cantidades
aglutinadas s o n negativas p a r a el e l e m e n t o d e o c h o nodo s . E s t o p u e d e tener
efectos a d v e r s o s e n ciertos algoritmos (ej., e n e s q u e m a s d e a v a n c e e n el t i e m p o
p a r a integrar p r o b l e m a s transitorios), e i m p e d i r su utilizacin. E n la F i g u r a
A 8 . 3 se m u e s t r a n a l g u n a s matrices aglutinadas p a r a e l e m e n t o s triangulares
calculadas m e d i a n t e cuadraturas.
S e advierte q u e e n el e l e m e n t o cbico
se p r o d u c e n d e n u e v o t r m i n o s negativos, m i e n t r a s q u e e n el cuadrtico
a p a r e c e n t r m i n o s nulos.
a s p e c t o del a g l u t i n a m i e n t o es el c o m p o r t a m i e n t o del e l e m e n t o
639
=3
0 (/i5)
(8.9)
J = ab(l - f )
y c es la matriz identidad. La forma (8.4) da
ib(l f j 3)
al
t l = [ a i>(l
l
-f / / 3 )
arriba
abajo
( 8 .10)
la forma (A8.5) da
ib( 1 f/ 2 )
j al
arriba
= \ al
1-6 (1 + f/ 2 )
abajo
(8.11)
y la cuadratura (A8.7) da
t6(l / )
arriba
ib( 1 + / )
\ al
abajo
(8.12)
640
(A8.13)
(A8.14)
u = Nu
(A8.15)
p = np
(8.16)
p = A
(8.17)
y
Hp = r
(8.18)
H = / nTcn d
(8.19)
donde
( 8 .2 0 )
NDICE DE AUTORES
Bergan, P .G ., 197, 2 1 2
Bettess, P ., 1 9 2 ,1 9 8 , 2 1 2 , 258, 2 6 9 , 407,
414
Biezeno, C .B ., 3, 2 0 , 224, 2 6 8
Bijlaard, P.P., 93, 1 0 6
Bicanic, N ., 315, 3 3 2
Blackburn, W .S ., 197, 2 1 3
Bogner, F .K ., 41, 4 6
Booker, J .F ., 292, 3 0 0
Brauchli, H .J., 362, 363, 3 8 5
Brebbia, A .C ., 407, 4 1 3
Brezzi, F ., 338, 347, 3 8 4
Brown, C .B ., 298, 3 0 1
Bruch, J .C ., 298, 3 0 1
Bubnov, 224, 2 6 8
Buck, K .E ., 124, 141, 1 5 4
Butterfield, R ., 407, 4 1 3
Byskov, E ., 197, 2 1 3
A am o d t, B ., 197, 2 1 2
A h m ad, S ., 200, 2 1 4 , 306, 3 3 1
Ainsworth, M ., 434, 4 5 2
A li, R ., 405, 4 1 3
Alien, D .N . de G ., 1, 1 9 , 278, 2 9 9
Allw ood, R .J ., 4 05 , 4 1 3
Anderson, R .G ., 184, 2 1 1
A ndo, Y ., 258, 2 6 9
Arantes Oliveira, E .R . de, 37, 4 5 , 304,
311, 3 3 1 , 4 34 , 447, 4 5 2
Argyris, J., 374, 3 8 6
Argyris, J.H ., 2, 2 0 , 93, 94, 1 0 6 , 124,
1 3 6 ,1 3 7 ,1 4 1 , 154, 1 5 5 , 292, 296, 3 0 0
Arlett, P .L ., 271, 287, 2 9 9
A roold, D ., 347, 3 8 4
A m o ld , D .N ., 369, 3 8 6
Arrow, K .J ., 373, 3 8 6
A rya, S .K ., 264, 2 7 0
A t-A bd u lla , J., 405, 4 1 3
Atluri, S .N ., 333, 3 8 3 , 405, 4 1 2 , 4 1 3
642
NDICE DE AUTORES
643
Liebman, H., 3, 20
Ligget, J.A., 407, 413
Liu, P.L.F., 407, 413
Liu, W.H., 469, 609
Livesley, R.K., 17, 20
Lohner, R., 451, 452
Lomacky, O., 197, 212
Loubignac, C., 376, 381, 387
Lowther, D.A., 192, 211
Luke, J.C., 298, 301
Lyness, J.F., 289, 292, 299
Lynn, P.P., 264, 270
Maione, V., 298, 301
Malkus, D.S., 356, 367, 384, 385
Mallett, R.H., 41, 46
Mareczec, G., 124, 141, 154, 296, 300
Marlowe, O.P., 184, 185, 211
Martin, H.C., 2, 17, 20, 47, 72, 296, 300
Margal, P.V., 197,212, 213
Mayer, P., 271, 281, 299
Meek, J.L., 192, 212
Mei, C.C., 258, 269
Melosh, R.J., 93, 106
Meyer, C., 505, 609
Mikhlin, S.C., 37, 45, 224, 248, 268, 269
Miller, A., 443, 452
Minich, M.D., 41, 46
Mitchell, A.R., 304, 331
Moan, T., 362, 363, 385
Mohraz, B., 494, 609
Mondkar, D.P., 505, 512, 609
Morgan, K., 44, 46, 106, 268, 270, 407,
414, 441,451, 452
Mote, C.D., 152, 155
Mowbray, D.F., 197, 213
Munro, E., 289, 299
Mumaghan, F.D., 170, 210
Murthy Krishna, A., 197, 213
McDonald, B.H., 289, 299
,*1,10 .
644
NDICE DE AUTORES
Stanton, E .L ., 4 1 , 4 6
Stodcmeyer, P .K ., 4 69 , 6 0 9
Strang, G ., 37, 38, 4 0 , 4 5 , 164, 185, 203,
210,
3 04 , 3 11 , 3 3 1 , 5 01 , 6 0 9
Straxmigaii, J ., 197, 2 1 3
Stroud, A .H ., 1 8 4 ,1 8 5 , 2 1 1
Strutt, J .W ., 3, 2 0 , 35, 4 5 , 2 41 , 2 6 9
Stum m el, F ., 304, 322, 3 3 1
Sumihara, K ., 396, 397, 398, 399, 4 01,
4 1 2 , 5 99, 6 1 0
Sussman, M .M ., 292, 292, 3 0 0
Swedlow, J .L , 197, 2 1 2
Synge, J .L ., 3, 2 0 , 2 3 , 4 5
Ssabo, B .A ., 255, 2 6 9 , 4 23 , 4 34 , 4 5 1 ,
452
Szmelter, J ., 22, 4 5
Tada, Y ., 197, 2 1 2
Taig, I .C ., 160, 2 1 0
Tanesa, D .V ., 292, 3 0 0
Taylor, C>, 356, 360, 3 8 5
Taylor, R .L ., 1 2 9 ,1 3 3 ,1 3 6 ,1 5 4 , 298,
3 0 1 , 304, 309, 315, 318, 319, 321, 323,
3 3 1 , 3 3 2 , 333, 334, 336, 340, 348, 351,
3 59, 360, 366, 369, 379, 3 8 3 , 3 8 4 , 3 8 5 ,
4 5 3 , 4 5 5 , 4 5 6 , 501, 6 0 8
Teodorescu, P ., 407, 4 08 , 4 1 4
Terzhagi, K ., 6 7 , 7 3
Thatcher, R .W ., 192, 2 1 1
Tilom as, J .M ., 347, 3 8 4
Thom asset, F ., 373, 3 8 6
Tieu, A .K ., 292, 3 0 0
Timoshenko, S ., 26, 4 5 , 4 7, 61, 7 3 , 77,
9 1 , 233, 2 6 9 , 381, 3 8 7
Tong, P ., 3 7 ,4 5 ,1 9 7 , 2 1 3 , 230, 248, 2 6 8 ,
2 6 9 , 397, 4 05 , 4 1 2 , 4 1 3 , 6 3 3
Too, J .M ., 366, 3 8 5
Topp, L .J ., 2, 2 0 , 4 7 , 7 2
Touzot, C ., 376, 381, 3 8 7
Toyoshima, S ., 372, 374, 374, 376, 3 8 6
Tracey, D .M , 9 9 ,1 9 7 , 2 1 2 , 2 1 3 , 1197
Trefft, E ., 4 05 , 4 1 3
Ttowbridge, C .W ., 289, 292, 2 9 9
T um er, M .J ., 2, 2 0 , 47, 72
Uzawa, H ., 373, 3 8 6
Vahdati, M ., 1 0 6 , 441, 4 51 , 4 5 2
Valliappan, S ., 374, 3 8 6
645
Vanburen, W ., 197, 2 1 3
Varga, R .S ., 3, 2 0 , 231, 2 6 9
Veinberg, M .M ., 2 48, 2 6 9
V ilotte, J.P ., 372, 374, 376, 3 8 6
Visaer, W ., 271, 2 9 8
Vogelius, M ., 369, 3 8 6
Vries, G . D e, 296, 3 0 0
Wachspress, E X ., 178, 2 1 0 , 326, 3 3 2
Walker, S ., 4 07, 4 1 3
W alsh, P .F ., 197, 2 1 3
Washizu, K ., 3 5, 4 5 , 256, 258, 2 6 9 , 298,
3 0 1 , 335, 344, 3 8 3
W atw ood, V .B ., 197, 2 1 3
W estergaard, H .M ., 286, 2 9 9
W exler, A ., 289, 2 9 9
W iberg, N .E ., 391, 4 1 2
W ilkinson , J .H ., 499, 6 0 9
W ilson , E .L ., 89, 9 1 ,1 3 3 , 1 5 4 , 315, 318,
319, 321, 323, 3 3 2 , 4 69, 495, 505, 509,
513, 6 0 9
W in get, J., 510, 6 0 9
W inslow, A .M ., 271, 289, 290, 2 9 9
W itherspoon, P .A ., 297, 3 0 0
W olf, J.P., 4 05 , 4 1 3
W y a tt, E .A ., 192, 2 1 1
X i Kui Li, 376, 3 8 6 , 3 8 7
Yokobori, T ., 197, 2 1 2
Yoshida, Y ., 4 05, 4 1 3
Zhu, J .Z ., 426, 4 34, 4 37, 4 41, 4 43, 4 5 2
Zielinski, A .P ., 4 07 , 4 11, 4 1 4
Zienkiewicz, O .C ., 37, 4 0 , 4 4 , 45, 4 6 , 61,
63, 6 7, 6 9, 7 3 , 89, 9 1 , 9 4, 1 0 6 , 121,
124, 129, 1 3 3 ,1 3 5 , 138, 148, 153, 1 5 4 ,
1 5 5 , 184, 1 8 9 ,1 9 2 ,1 9 8 , 200, 209, 2 1 1 ,
2 1 2 , 2 1 3 , 2 1 4 , 258, 261, 2 62, 263, 264,
266, 2 6 8 , 2 6 9 , 2 7 0 , 2 71, 281, 283, 287,
289, 292, 2 9 8 , 2 9 9 , 3 0 3 ,3 0 4 , 3 0 9 ,3 3 1 ,
333, 334, 336, 340, 346, 347, 351, 360,
366, 367, 369, 372, 374, 3 76 , 379, 382,
3 8 3 , 3 8 4 , 3 8 5 , 3 8 6 , 3 8 7 , 405, 407,
4 11 , 4 1 2 , 4 1 4 , 4 26 , 4 34 , 4 37, 4 39 , 441,
443, 446, 447, 4 5 1 , 4 5 2 , 4 53, 4 56 , 462,
4 84 , 487, 490, 6 0 8 , 6 0 9
Zlam al, M ., 186, 2 1 1
648
-curvilneos 166
-infinitos 190
-jerrquico 116, 148, 153
-ladrillo 119
-lagrangianos 124, 138
-lineales 137
-prismticos 99, 138, 140
-rectangular 124, 138
-singulares 197
-serendpito 127, 140
-slidos de revolucin 21, 75
-standard 116
-tetradricos 94, 141, 150
-triangulares 23, 76, 133, 150
-tridimensional 141, 143
Elementos no conformes 39
Energa
-clculo 511
-complementaria 380
-de deformaciil 40
-mnima 242, 364
-potencial 33
-total 33, 34
Eliminacin de variables interiores 131
Ensamblaje 9, 131
Error
-estimacin 415, 443
-de discretizacin 37
-normas 416
Esfera giratoria 203
Estructura de barras 9
Estabilidad de la aproximacin mixta 3.
Euler, ecuaciones de 243
Fam ilia, de Lagrange 129
Familia Serendpita 127
Fisuracin 69
Filtracin 281
Flexin
-vigas 59
-placas 21
Flujo
-fluido viscoso 271
-en medio poroso 271, 275, 281
-trmico 281
Forma dbil 219, 221
Formulacin mixta 333
-en elasticidad 341, 342, 343
Fractura, mecnica 197
NDICE TEMTICO
649
650
El M t o d o d e l o s
Elementos Finitos
V O L U M E N
4 -
E D I C I O N