Estrategia Iterativa Global
En SeismoStruct, todos los análisis son tratados como potencialmente no lineales (a excepción del cálculo de eigenvalores), por lo cual se aplica, en todos los casos, un procedimiento de solución iterativo incremental, mediante el cual las cargas son aplicadas en incrementos predefinidos y equilibradas a través de un procedimiento iterativo. La modalidad de funcionamiento y la base teórica del algoritmo de resolución son descritas en la sección Procedimiento para la solución de problemas no lineales, a la cual pueden referirse los usuarios para profundizar en el significado de los parámetros descritos a continuación.
Número máximo de iteraciones
Este parámetro define el número máximo de iteraciones a realizar
dentro de cada incremento de carga (paso del análisis). El valor
por defecto es 40, y es habitualmente apropiado para la mayoría
de las aplicaciones prácticas. Sin embargo, cuando las estructuras
son sometidas a niveles extremadamente elevados de no linealidad
geométrica y/o inelasticidad de los materiales, puede que sea
necesario aumentar este valor. Lo mismo ocurre cuando se utilizan
elementos link con valores de rigidez demasiado altos o bajos,
dado que éstos pueden generar la necesidad de realizar un mayor
número de iteraciones para alcanzar el equilibrio estructural.
Número de actualizaciones de la rigidez
Este parámetro define el número de iteraciones, desde el inicio
del incremento, en que la matriz de rigidez tangencial de la estructura
es recalculada y actualizada. Resulta digno de mención que asignar
un valor nulo a este parámetro significa, en efecto, adoptar el
método modificado de Newton-Raphson (mNR), mientras que asignarle
un valor igual al número de
iteraciones transforma el procedimiento de solución en
el método Newton-Raphson (NR).
Habitualmente, el número ideal de actualizaciones de la rigidez
se encuentra comprendido entre el 50% y el 75% del número
máximo de iteraciones dentro de un incremento, lo cual
provee un equilibrio entre la reducción del tiempo de análisis
y la estabilidad resultante de no actualizar la matriz de rigidez,
y el aumento correspondiente en el esfuerzo computacional debido
a la necesidad de un mayor número de iteraciones para alcanzar
la convergencia. El valor por defecto de este parámetro (35) es,
sin embargo, ligeramente más conservativo, y conlleva a la adopción
de una solución híbrida entre los enfoques clásicos de NR
y mNR (ver también Algoritmo
Incremental Iterativo).
Iteración de Divergencia
Este parámetro define la iteración después de la cual se llevan
a cabo las verificaciones de divergencia y predicción de la iteración
(ver divergencia
y predicción de la iteración por mayores detalles). En todas
las iteraciones sucesivas del incremento actual, si la solución
resulta divergente o si el número predicho de iteraciones requeridas
para la convergencia excede el máximo número de iteraciones definido
por el usuario, las iteraciones del incremento actual son
interrumpidas, la magnitud del incremento de carga (o de tiempo)
es reducida y el análisis es recomenzado a partir del último punto
de equilibrio (final del incremento anterior).
Si bien estas dos verificaciones pueden ser muy útiles para evitar
el cálculo de iteraciones de equilibrio infructuosas en los casos
en los cuales la falta de convergencia resulta evidente en una
etapa muy temprana de un incremento de carga dado, es muy difícil,
si no imposible, recomendar un valor ideal que funcione para todos
los tipos de análisis. De hecho, si la iteración de divergencia
es muy baja, es posible que haga imposible que problemas altamente
no lineales converjan hacia una solución, mientras que si es demasiado
elevada, puede permitir la evolución de la solución hacia un modo
numéricamente espurio para el cual la convergencia nunca pueda
ser alcanzada (caso típico de modelos en los que se utilizan elementos
con valores de rigidez muy grandes para modelar vínculos rígidos).
Un valor cercano al 75% del máximo
número de iteraciones dentro de un incremento es, habitualmente,
un buen punto de partida. El valor por defecto en SeismoStruct
es 32.
Tolerancia Máxima
Como se explica en la sección Inestabilidad
Numérica, en cada iteración, desde el comienzo de cualquier
incremento de carga dado, se verifica la posibilidad de que la
solución devenga numéricamente inestable, al comparar la norma
euclidiana de las cargas no equilibradas (ver aquí
por mayores detalles) con una tolerancia máxima predefinida (por
defecto=1e20), varios órdenes de magnitud mayor que el vector
de carga aplicado. Si la norma no equilibrada supera esta tolerancia,
entonces se asume que la solución es numéricamente inestable, las
iteraciones del incremento actual son interrumpidas, la magnitud
del incremento de carga (o de tiempo) es reducida y el análisis
es recomenzado a partir del último punto de equilibrio (final
del incremento o paso anterior).
Máxima Reducción del Incremento
En caso de falta de convergencia, divergencia de la solución o
inestabilidad numérica, el algoritmo
de ajuste automático del incremento de SeismoStruct impone
una reducción al incremento de carga o de tiempo antes de que
el análisis sea recomenzado desde el último punto de equilibrio
(final del incremento o paso anterior). Sin embargo, con el fin
de evitar que análisis mal definidos (que nunca alcanzan
la convergencia) continúen ejecutándose indefinidamente, se impone
y verifica luego de cada reducción automática del incremento un
factor de máxima reducción del
incremento. En otras palabras, el nuevo incremento del
análisis resultante de la reducción automática es comparado con
el incremento de carga o de tiempo inicial definido por el usuario
al comienzo del análisis y, si la razón del primero respecto del
último es menor al valor de la máxima
reducción del incremento, el análisis es entonces interrumpido.
El valor por defecto para este parámetro es 0.001, lo cual significa
que si dificultades de convergencia llevan a que se adopte una
magnitud del incremento 1000 veces menor que el incremento inicial
especificado por el usuario, se considera que el problema está
mal definido y el análisis es interrumpido.
Mínimo Número de Iteraciones
Este parámetro define el mínimo número de iteraciones a realizar
dentro de cada incremento de carga. El valor por defecto es 1.
A través de este parámetro es posible alcanzar una mejor convergencia
cuando el criterio basado en desplazamientos es holgado y, el
basado en fuerzas, demasiado estricto (esto ocurre con pequeños
modelos, en el rango altamente inelástico).
Multiplicadores de Aumento y Reducción del Valor del Incremento
Como se describe aquí,
el algoritmo de ajuste automático del incremento presenta la posibilidad
de utilizar reducciones adaptativas de la magnitud del incremento,
las cuales dependen del nivel de no-convergencia
que se verifique. Cuando la solución no convergente obtenida se
encuentra muy lejos de la convergencia, se utiliza un multiplicador
grande de reducción del incremento (por defecto=0.125,
es decir, el incremento actual del análisis es subdividido en
8 incrementos iguales antes de retomar el análisis). Si, por el
otro lado, la solución no convergente obtenida se encuentra muy
cercana a la convergencia, se utiliza entonces un multiplicador
pequeño de reducción del incremento (por defecto=0.5, es
decir, el incremento actual del análisis es aplicado consecuentemente
en 2 incrementos). Para los casos intermedios, se utiliza un multiplicador intermedio de reducción
del incremento (por defecto=0.25, es decir, el incremento
actual del análisis es dividido en cuatro).
Como se describe también en ajuste
automático del incremento..., una vez alcanzada la convergencia,
el incremento de carga o de tiempo puede ser incrementado gradualmente
hasta un valor máximo posible igual al especificado inicialmente
por el usuario. Esto es llevado a cabo mediante el uso de los
factores de aumento del incremento. Cuando el análisis converge
de manera eficiente (ver detalles aquí),
se utiliza un multiplicador
pequeño de aumento del incremento (por defecto=1.0, es
decir que el incremento actual se mantendrá inalterado en los
pasos sucesivos). Si, por el otro lado, la solución convergente
es obtenida en forma altamente ineficiente (ver detalles aquí),
se emplea entonces un multiplicador
grande de aumento del incremento (por defecto=2.0, es decir,
la magnitud del incremento actual se duplica). Para los casos
intermedios, se utiliza un multiplicador
intermedio de aumento del incremento (por defecto=1.5,
es decir, se aplica un aumento del 50% sobre la magnitud actual
del incremento).
Nota: Se recuerda a los usuarios que no existe un conjunto de parámetros incrementales/iterativos que funcione para todo tipo de análisis. En SeismoStruct, los valores por defecto serán habitualmente apropiados para la gran mayoría de las aplicaciones, pero pueden necesitar retoques y modificaciones para proyectos particularmente demandantes, en los que ocurren importantes irregularidades en la respuesta (por ej., grandes diferencias de rigidez, pandeo de alguno/s de los miembros estructurales, cambios drásticos en los patrones de carga e intensidad, etc). Como ejemplo, debe notarse que un incremento de carga más pequeño puede conducir a una mayor estabilidad numérica, al evitar que la estructura siga una trayectoria de respuesta incorrecta y menos estable pero, si el incremento es demasiado pequeño, puede también llevar a que alcanzar la convergencia resulte prácticamente imposible. Se invita a los usuarios que experimenten dificultades a consultar el Foro de Soporte Técnico, en el cual se proveen ulteriores sugerencias.