2.1 Preparación del modelo con GEFDyn

El archivo de comandos para efectuar el cálculo con GEFDyn es el siguiente:

ENSAYO BIAXIAL DRENADO, MOHR-COULOMB ASOCIADO
    4 1001111 1    1         2
    0    0
  240      .005       0.0      1.20
    1    1    0
99991    0    1 -300   11    .0001    .0001
    1        0.        0.
    0
    0
         0         1
    1 1 1 1 1 1 1 1              0.        0.        0.    0
    2 1 0-1 1 1 1 1              0.        0.        1.    0
    3 1 0 1 1 1 1 1              0.        1.        0.    0
    4 1 0-1 1 1 1 1              0.        1.        1.    0
        0.        0.     -9.81     1000.  9.35E-08        0.
    0    1   20    0    2    0 
         1         2         2         0         0
        0.       1.2
       0.0      -1.0
         2        -2         1    10.E-2
         4        -2         1    10.E-2
    0    1
         0
   2   1   1   0   1   2   4   0   0   2   0   0   1   0   8   1   0   0   0   0
    1     2700.      0.35        0.        1.        1. 
    10.0E6     0.300       0.0      -30.      -30.    10.0E6     0.300     1.E01
     1.E50     -1.E6       100    1.E-05    1.E-05    1.E-05       1.0        0.
        0.        0.        0.        0.           0
         2         0
         1        4.     0000.
         2       12.     1911.
         0         0         0
    11 4 1                   0    1    1    2    1    3    4
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

La primera línea:

ENSAYO BIAXIAL DRENADO, MOHR-COULOMB ASOCIADO

corresponde simplemente al título que se le dará al cálculo (ver línea de título)

La segunda línea corresponde a la línea de control del problema:

    4 1001111 1    1         2

El primer campo corresponde a la cantidad de nodos (4 en este caso). El segundo campo 1001111 indica el tipo de problema, en este caso sólo los desplazamientos en $u_y$ y $u_z$ han sido activados. El tercer campo (1) corresponde a la cantidad de grupos de elementos del problema: un sólo grupo (con un único elemento) en este caso. El siguiente 1 indica el tipo de ejecución. Como se trata de un primer cálculo se emplea simplemente la opción ejecución estándar. Finalmente, el valor 2 representa el tipo de geometría considerada: 2D en deformaciones planas.

La tercera línea indica si se trata de un cálculo estático o dinámico:

    0    0

el primer 0 indica que se trata de un análisis estático. El segundo 0 indica que no hay operador de masas. En este ejemplo se le asignó un cero, pero puede ser simplemente omitida por tratarse de un caso estático.

La cuarta línea controla la cronología del problema:

  240      .005       0.0      1.20

En este caso se efectuarán 240 pasos de cálculo, considerando un $\Delta t$ de 0.005. El cálculo comienza en el tiempo 0.0 y se detiene para $240 \times 0.005=$1.20 (se podría haber elegido un valor menor). Como se trata de un caso estático en mecánica pura, el tiempo tiene sentido sólo como un orden cronológico y no requiere alguna unidad de tiempo particular.

La quinta línea define los intervalos de escritura y almacenamiento de los resultados:

    1    1    0

En este caso se imprimirán todos los pasos de cálculo en los archivos de texto *.ndrs y *.lst (primer 1) y se guardarán todos los pasos en el archivo binario *_SAVE (segundo 1). Para problemas de tama?o estándar es más simple para el post-análisis leer el archivo binario. Para problemas de tamaño importante, es más conveniente emplear los archivos de texto seleccionando en forma adecuada las salidas. Ambos números no tienen porqué ser iguales. El último valor 0 describe la cantidad de detalles que se escribirán en el archivo *.lst. Cuando un cálculo no corre, conviene emplear el valor máximo 4 para intentar identificar el problema. Una vez que el modelo se ejecuta sin problemas, conviene emplear el nivel mínimo 0 para evitar tener un archivo *.lst innecesariamente grande.

La sexta línea define los parámetros algorítmicos para la resolución del problema:

99991    0    1 -300   11    .0001    .0001

El empleo de un número muy grande en el primer campo 99991 garantiza que no se reformará la matriz tangente entre etapas. El segundo parámetro de valor 0 corresponde a una opción no disponible por ahora. El tercer campo igual 1 indica que se efectuarán iteraciones en todas las etapas para corregir los desequilibrios. El campo igual a -300 indica que se aceptará como máximo 300 iteraciones por etapa y en caso de no converger, se seguirá adelante con el cálculo (sentido del signo negativo). El valor 11 indica que se empleará la estrategia de Newton modificada para las iteraciones, es decir el operador tangente o auxiliar no se reforma iteración a iteración. Los dos últimos campos corresponden a las tolerancias, el primer .0001 es el correspondiente a los desplazamientos, mientras que el segundo .0001 controla los desequilibrios mecánicos.

La séptima línea define el método de integración en tiempo

    1        0.        0.

en dicha línea el primer campo define el tipo de integración. Como se trata de un valor estático, se emplea el valor 1. Los otros campos definen los valores de los parámetros para el esquema de integración. Como es un caso estático, se pueden dejar en blanco o bien completar con ceros.

La octava línea define los cambios en los pasos de integración. Como no se emplea esta opción, basta con poner un cero:

    0

La novena línea define la escritura de los resultados nodales en el archivo *.ndrs. Como no se emplea esta opción, se le asigna un 0 a la cantidad de bloues de impresión:

    0

La décima línea describe la lectura de los nodos:

         0         1

el primer campo define el archivo del cual será extraída la información. La opción 0 indica que serán leídos a continuación en el mismo archivo de comandos. Para problemas peque?os en general esta es una buena opción, sin embargo para problemas de mayor tama?o es preferible emplear la opción de lectura en un archivo de geometría. Como veremos en otros ejemplos la generación de este archivo auxiliar desde Matlab puede ser fácilmente automatizada. El segundo campo define el formato empleado: la opción 1 indica que se empleará un formato de 7 grados de libertad.

La información correspondiente a los 4 nodos definidos en la segunda línea del archivo se entrega a continuación:

    1 1 1 1 1 1 1 1              0.        0.        0.    0
    2 1 0-1 1 1 1 1              0.        0.        1.    0
    3 1 0 1 1 1 1 1              0.        1.        0.    0
    4 1 0-1 1 1 1 1              0.        1.        1.    0

los detalles del formato empleado se indican en §2.2.2 del manual. El nodo 1 tiene todos sus g.l. bloqueados. Los nodos 2 y 4 son libres de desplazarse horizontalmente ($u_y$), pero tendrán una deformación impuesta vertical ($u_z$). El nodo 3 está libre en $u_y$, pero restringido en $u_z$.

La línea siguiente describe las propiedades del fluido :

        0.        0.     -9.81     1000.  9.35E-08        0.

aunque el problema sea de mecánica pura, esta línea siempre debe ser definida ya que está información se emplea para definir los esfuerzos efectivos iniciales si existe una napa de agua. En efecto, aunque el problema no sea acoplado la integración de los modelos de comportamiento siempre se efectúa en esfuerzos efectivos.

La línea siguiente describe el tipo de cargas existentes en el problema:

    0    1   20    0    2    0

las cargas pueden ser tanto fuerzas, como flujos, desplazamientos impuestos, presiones impuestas, acelerogramas o variaciones de la fuerza de gravedad. En este caso se definen 0 cargas nodales. Se definirá 1 curva de máximo 20 puntos de definición. Se definen 0 niveles de agua, pero se impondrán 2 grados de libertad. No existen acelerograma (0).

A continuación se describen las curvas de solicitación. Se comienza por una línea que describe en forma general la función:

         1         2         2         0         0

en este caso se trata de la función número 1 (la única del problema), que será descrita como de tipo 2, mediante 2 pares de datos y se activará en el tiempo 0 del cálculo. El último 0 indica que sus datos serán leídos a continuación en el archivo de comandos.

Las líneas siguientes describen la curva de tipo 2:

        0.       1.2
       0.0      -1.0

la primera línea describe su tiempo inicial 0 y el paso de discretización 1.2. La línea siguiente describe los dos valores que describen la curva: su valor inicial 0.0 y el valor -1.0 para el tiempo final. La variación entre puntos de descripción se asume lineal.

Las dos líneas siguientes describen las 2 cargas o grados de libertad impuestos:

         2        -2         1    10.E-2
         4        -2         1    10.E-2

el primer campo describe el nodo afectado, el segundo campo el tipo de condición. En este caso el -2 significa que se está imponiendo el grado de libertad (signo negativo) en la dirección vertical $u_z$ (valor 2). El tercer campo indica la curva que describe la carga (de acuerdo a la numeración definida previamente) y el factor multiplicativo sobre la curva. En este caso, se impone un desplazamiento vertical de $-1 \times 0.1 = -0.1$ para el tiempo 1.2, comenzando en cero.

La línea siguiente indica el tipo de condiciones iniciales:

    0    1

el primer valor ICON=0 indica que se impondrán condiciones iniciales nodales nulas. El segundo valor IDESEQ=1 indica al programa que verifique si el estado inicial corresponde a una situación equilibrada y eventualmente itere para conseguir el equilibrio.

La línea siguiente indica la presencia de una excavación o construcción:

         0

como se ha indicado JCOUCH=0, no existe construcción o excavación por capas y los demás parámetros pueden ser ignorados.

A continuación se procede a la definición de los elementos. La línea siguiente debe ser repetida tantas veces como se requiera de acuerdo a la cantidad de grupos de elementos definidos previamente.

En este caso, la definición de un grupo de elementos sólidos 2D se ha efectuado mediante la línea:

   2   1   1   0   1   2   4   0   0   2   0   0   1   0   8   1   0   0   0   0

el primer campo indica el tipo de elemento, NPAR(1)=2 corresponde a elementos sólidos 2D. El segundo campo indica el número de elementos el grupo (1 en este ejemplo). El tercer valor define el tipo de análisis: NPAR(3)=1 corresponde a no-linealidad material únicamente. El cuarto campo no se emplea en estática. El quinto valor NPAR(5)=1 indica que se trata de un análisis 2D en deformaciones planas. El valor siguiente NPAR(6)=2 establece la cantidad de grados de libertad locales por nodo. El siguiente campo NPAR(7)=4 debe coincidir con el número máximo de nodos de los elemento. El valor NPAR(10)=2 define el orden de la integración en espacio. El campo El valor NPAR(13)=1 establece la topología de los elementos (cuadrángulos de 4 nodos). La opción NPAR(15)=8 define el modelo constitutivo a emplear (Mohr-Coulomb). Finalmente NPAR(16)=1 indica que se va a definir sólo un juego de propiedades para el modelo de comportamiento del grupo.

El programa permite sólo un modelo de comportamiento por grupo, pero se pueden definir hasta 10 juegos de parámetros para un mismo modelo en un mismo grupo.

La línea siguiente establece las propiedades generales del material:

    1     2700.      0.35        0.        1.        1.

en este caso el campo 1 indica que se está definiendo el primer material (y único en este caso). El segundo campo 2700. define la densidad de masa de las partículas sólidas y el tercer valor 0.35 establece la porosidad del material. Los dos últimos valores definen la constante $\alpha$ de la formulación de Biot y el grado de saturación $S_r$ del material.

Las líneas siguientes definen las propiedades del modelo de comportamiento de Mohr-Coulomb

    10.0E6     0.300       0.0      -30.      -30.    10.0E6     0.300     1.E01
     1.E50     -1.E6       100    1.E-05    1.E-05    1.E-05       1.0        0.
        0.        0.        0.        0.           0

el significado de cada parámetro puede ser revisado en §B.10.

Las siguientes líneas permiten inicializar los esfuerzos efectivos al interior del material. Este paso es fundamental cuando se emplean modelos constitutivos inelásticos:

         2         0
         1        4.     0000.
         2       12.     1911.

La opción seleccionada aquí consiste en definir una estratigrafía ficticia. Los primeros dos parámetros indican que se empleará 2 capas y no se efectuará una inicialización elemento a elemento (NINIT=0). A continuación se definen las dos capas, indicando el número, cota del techo y densidad de masa del material. En este caso se definió una primera capa con cota de techo 4 y densidad nula y una segunda capa con cota de techo de 12 y densidad 1911.0. Como el objetivo es establecer una presión uniforme de confinamiento para el ensayo, cualquier punto por debajo de $z=4$, tendrá como esfuerzo vertical efectivo:


\begin{displaymath}\sigma_{zz}' = (12-4) \times 1911.0 \times g + (4 - z) \times 0.0 \times g \approx -150000 \mbox{ [Pa]} \; \; z \leq 4\end{displaymath}

reemplazando el valor de $g$ definido más arriba. El valor de los esfuerzos horizontales dependerá del valor de $K_0$ definido en las propiedades del modelo de comportamiento (1.0 en este caso). El programa trabaja con la convención de la mecánica del continuo, por lo tanto un esfuerzo efectivo negativo corresponde a una compresión.

Finalmente las últimas líneas indican el archivo de lectura de los elementos y la información del elemento:

         0         0         0
    11 4 1                   0    1    1    2    1    3    4

el primer 0 de la primera línea indica que los elementos deben ser leídos a continuación en el archivo de texto. La línea siguiente describe los datos del elemento. En este caso, el elemento número 1, de tipo 1 y de 4 nodos. El 1 indica que se imprimirán en el archivo *.lst los datos del elemento. El siguiente 1 indica el número de juego de propiedades correspondiente al elemento y el 1 sólo es relevante si se emplea generación automática. Los restantes valores definen la conectividad del elemento de acuerdo a la convención indicada en §7.2.1.6.3

La última línea tiene sólo un sentido práctico:

123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890

en efecto el programa necesita leer un salto de línea al final de los datos. En este ejemplo se empleó este texto para ayudar al control de columnas, pero en la práctica puede ser cualquier otro o simplemente una línea en blanco.

Esteban Saez 2010-10-28