WebCAE
← Documentación

Manual de referencia de WebCAE

Qué calcula exactamente WebCAE, con qué formulación y bajo qué hipótesis. Para cada tipo de análisis se dan las ecuaciones, la discretización, los datos de entrada, las limitaciones y los enlaces a los casos de verificación. Cada subsección indica su grado de madurez.

Versión del producto: 0.2.1+Actualizado a: 28 de octubre de 2026
Estado

1Acerca del producto y de la referencia

↑ Volver al índice

1.1Qué es WebCAE

WebCAE es un paquete de análisis de ingeniería por el método de los elementos finitos que cubre el ciclo completo. Incluye la preparación de la geometría (importación de CAD y construcción paramétrica), la generación de mallas, la asignación de materiales, condiciones de contorno y cargas, el cálculo y el procesamiento de resultados. El ámbito principal es la resistencia y la dinámica de estructuras: sólidos, láminas, vigas y sus combinaciones. Adicionalmente se admiten la transferencia de calor, los problemas termomecánicos acoplados, la acústica y el flujo de fluidos.

El producto funciona en dos plataformas con el mismo núcleo de cálculo:

  • aplicación de escritorio (Windows, macOS): solver nativo, multihilo; el tamaño del problema está limitado únicamente por la memoria de la máquina;
  • navegador: el mismo núcleo compilado a WebAssembly; resulta cómodo para familiarizarse y para modelos pequeños, y está limitado por la memoria de la pestaña y por un único hilo.

La referencia es la ruta nativa de escritorio. Los números de verificación se obtienen en ella. Si los resultados de las plataformas difieren en algún modelo, se considera correcto el resultado nativo y la discrepancia se describe de forma explícita (véase Plataformas, rendimiento y control de calidad).

1.2Cómo leer la referencia

La referencia describe qué calcula exactamente el programa: con qué formulación, con qué elementos y métodos y bajo qué hipótesis. No sustituye a un libro de texto de MEF, pero las fórmulas están tomadas de la implementación y no del libro de texto. Cuando la implementación es más simple que la formulación clásica, se indica de forma explícita.

Las secciones siguen el orden del ciclo de cálculo:

  1. Geometría y CAD y Mallas: de dónde procede el modelo de cálculo.
  2. Modelos de material, Condiciones de contorno, cargas y restricciones, Contacto y uniones: lo que define el usuario.
  3. Biblioteca de elementos finitos: cómo se discretiza el modelo.
  4. Tipos de análisis lineal, Cálculos no lineales y dinámica, Transferencia de calor y multifísica: qué problemas se resuelven y con qué formulación.
  5. Solvers: cómo se resuelven los sistemas de ecuaciones resultantes.
  6. Resultados, posprocesado y evaluación de la resistencia: qué obtiene el ingeniero y cómo se calcula.
  7. Proyectos, scripts y automatización, Plataformas, rendimiento y control de calidad: cómo trabajar con todo ello y por qué se puede confiar en los resultados.

Estructura típica de una subsección: finalidad, formulación y ecuaciones, qué se define y qué se obtiene, método de implementación, limitaciones, verificación (enlaces a casos de verificación), ejemplo de comando de script.

1.3Estados de madurez

Cada subsección está marcada con uno de tres estados:

EstadoQué significa
estableIncluido en la versión publicada, disponible tanto desde la interfaz como desde un script, y confirmado por casos de verificación o por contraste con la solución analítica.
betaImplementado, disponible para el usuario y cubierto por pruebas automáticas, pero apareció después de la última versión publicada o se ha comprobado en un conjunto reducido de problemas.
experimentalPrototipo, estimación de ingeniería o módulo con cobertura parcial. Aún no hay contraste completo con una referencia independiente; los resultados requieren una comprobación propia.

El estado se asigna con prudencia: si había dudas entre dos, se ha elegido el más estricto. Los estados se revisan con cada versión.

1.4Unidades de medida

Dentro del solver todas las magnitudes están en un sistema SI coherente: longitud en metros, fuerza en newtons, tensión, presión y módulo de elasticidad en pascales, densidad en kg/m³, temperatura en kelvin. El solver es agnóstico respecto a las dimensiones: resuelve un sistema de ecuaciones y la respuesta es correcta solo si las unidades de entrada son coherentes. Por ello la conversión de unidades se realiza en un único lugar, en la frontera entre el modelo y el solver, y en ningún otro.

El usuario elige de forma independiente dos cosas:

  • el sistema de entrada de cargas y propiedades: SI, métrico de ingeniería (mm, N, MPa) o imperial;
  • la unidad de longitud de la escena, en la que se almacena la geometría; normalmente milímetros, como en el CAD de origen.

Los resultados se muestran con las unidades indicadas. Las fórmulas de la referencia están escritas para cualquier sistema coherente: salvo indicación en contrario, se supone el SI.

1.5Comprobación y verificación

Las afirmaciones sobre la precisión se apoyan en un programa de verificación abierto: más de doscientos problemas con soluciones analíticas, problemas NAFEMS y MacNeal–Harder, y bancos de pruebas no lineales y dinámicos. Para cada problema se publican la formulación, el valor de referencia, el valor obtenido, la desviación y la versión del solver con la que se realizó la ejecución. A lo largo del texto de la referencia, los enlaces llevan a casos concretos; la lista completa se encuentra en la página Verificación.

La tolerancia de contraste con la referencia en el programa de verificación es del 5 %. No se puede relajar para que un caso pase: una discrepancia superior a la tolerancia se considera un defecto y se corrige en el cálculo, no en el criterio.

2Geometría y CAD

↑ Volver al índice

El cálculo en WebCAE comienza con la geometría: sólidos, superficies y líneas en forma de representación de contorno (B-Rep). El cuerpo llega desde un archivo CAD, se construye a partir de primitivas y croquis, o se ensambla a partir de barras y parches de lámina. Todo lo posterior (malla, condiciones de contorno, resultados) está ligado a las caras, aristas y vértices de esta representación. Por ello la sección describe no solo las formas de obtener la geometría, sino también cómo se puede hacer referencia a sus elementos y qué ocurre con esa referencia cuando la geometría cambia.

Toda operación pasa por una única capa de comandos. El botón de la cinta, la entrada del menú contextual y la línea DSL ejecutan el mismo comando, de modo que todo lo construido con el ratón se reproduce mediante un script (la sintaxis está en la página /docs/dsl). Las excepciones se indican en las subsecciones: las superficies medias y la sincronización con Onshape solo están disponibles desde la interfaz, y la importación de un archivo por ruta desde DSL funciona en modo por lotes.

2.1Núcleo geométrico y unidadesestable

La geometría la construye y la comprueba el núcleo abierto Open CASCADE Technology (OCCT 7.9). Un cuerpo del documento puede ser sólido (solid), de hoja (shell), de alambre (wire) o un punto. Las operaciones booleanas, los redondeos, la costura y la comprobación de validez se realizan con las herramientas de OCCT. El núcleo se compila para la aplicación de escritorio y para el navegador (WebAssembly) a partir del mismo código fuente.

Las unidades están organizadas en tres capas.

  • La geometría vive en milímetros. Las coordenadas de primitivas, croquis y modelos importados son unidades de escena (mm).
  • El solver recibe los datos en SI (metros, newtons, pascales, kilogramos). La conversión se realiza en la frontera del solver, en un único lugar, y el usuario no la ve.
  • La unidad del script se define con el comando units m|mm|in. Actúa sobre las dimensiones que no son coordenadas de escena: el tamaño de elemento size=, los radios y dimensiones de las zonas de refinamiento, las vigas procedimentales, las láminas y las masas puntuales. Las coordenadas de los comandos de construcción de cuerpos (box, primitive, move) no se reescalan y permanecen en milímetros de escena.
Limitaciones. Un script sin el comando units se considera métrico: mesh tet size=6 significa en él seis metros. Comience el script con units mm. Los comandos de construcción de cuerpos no tienen en cuenta la unidad del script: es una decisión deliberada, pero conduce fácilmente a errores en scripts mixtos.
Verificación. La coherencia de las longitudes se ha comprobado con un caso de fuerza concentrada resuelto dos veces, en mm/MPa/N y en m/Pa/N: Ménsula sólida bajo fuerza puntual: contraste de convenciones de longitud (desviación del 2,02 %). La geometría y las unidades subyacen a todos los casos del catálogo.
units mm
box dx=20 dy=20 dz=100
list faces of body1

2.2Importación STEPestable

STEP (AP203, AP214, AP242) es el formato principal de intercambio. El archivo lo lee el lector STEP de OCCT; las unidades del archivo se convierten a milímetros. El contenido se descompone en cuerpos: sólidos y, si no los hay, láminas; en caso contrario, todo el resultado como un único cuerpo. Los nombres de los cuerpos se toman de los datos STEP cuando es posible. Los ensamblajes grandes se muestran de forma progresiva, a medida que avanza la teselación.

Tras la lectura, cada cuerpo se somete a una comprobación de validez (análoga a BRepCheck) y el modelo recibe uno de los estados de disponibilidad:

  • sólido válido: se puede generar la malla volumétrica;
  • hoja válida: solo está disponible la malla superficial;
  • requiere revisión: parte de los cuerpos del ensamblaje presenta observaciones y el resto es utilizable;
  • no admitido o error de lectura: el cálculo no se lanza y la causa se muestra mediante un código.

Si por algún motivo la comprobación no se ha realizado, el estado se marca como no comprobado y no se hace pasar por «apto». La malla volumétrica de un cuerpo de hoja se bloquea de forma explícita, con el código de la causa, y no se sustituye en silencio por otra.

En la interfaz, el archivo se carga con el botón de importación o arrastrándolo al lienzo. Desde DSL, el comando import con la ruta del archivo funciona en modo por lotes (node); dentro de la aplicación utilice la carga a través de la interfaz.

import "bracket.step"
list faces of body1
Limitaciones. De STEP se importan la geometría y la topología. Las anotaciones (PMI), las tolerancias y el historial paramétrico del sistema CAD de origen no se utilizan: el cuerpo llega como un B-Rep «muerto». La calidad del modelo de origen determina el resultado: las superficies autointersecantes y los huecos entre caras no se corrigen automáticamente de forma garantizada (véase reparación de la geometría).
Verificación. No hay un caso numérico específico para la importación en sí. La importación y la clasificación de disponibilidad están cubiertas por el corpus de regresión de reparación (7 de 7 superados: cuerpo apto, ensamblaje, hoja, archivo sin B-Rep, archivo vacío, fallo de lectura, reproducibilidad del resultado) y por el corpus de mallas sobre piezas STEP reales.

2.3Importación IGES y STLbeta

IGES lo lee el núcleo OCCT; tras la lectura, las superficies se cosen en láminas y, si están cerradas, en un sólido. En DSL el formato se indica con el parámetro format=iges o con la extensión del archivo. Como en STEP, la importación por ruta desde DSL se realiza en modo por lotes.

STL es una malla de triángulos, no un B-Rep. WebCAE lee STL binario y de texto, une los vértices coincidentes, comprueba la estanqueidad (cada arista pertenece exactamente a dos triángulos) y, según ello, clasifica el cuerpo como sólido o de hoja. Para poder hacer referencia a las caras por número, los triángulos se segmentan en «caras» según el ángulo diedro entre triángulos vecinos (umbral por defecto: unos 35°); los límites de los segmentos pasan a ser aristas. Para un cuerpo facetado de este tipo, la malla volumétrica se genera a partir de los propios triángulos.

Limitaciones. STL no tiene superficies exactas: un cilindro sigue siendo un poliedro y no se puede extraer el radio de redondeo. Las operaciones booleanas, los redondeos, la reparación y las operaciones paramétricas no están disponibles para cuerpos facetados. La calidad de la malla volumétrica a partir de STL la determina la calidad de los triángulos del archivo de origen. La importación de archivos BREP de OCCT no está prevista como formato de usuario independiente: BREP se utiliza dentro del proyecto como forma de almacenar los cuerpos.
Verificación. No hay casos de verificación específicos; la comprobación consiste en pruebas unitarias del análisis y la segmentación.

2.4Numeración de la topologíaestable

Cada cara, arista y vértice recibe un número. Es el mismo número que se ve en el árbol del modelo junto al nodo y la misma dirección que acepta DSL: surface number N, edge number N, vertex number N. Para los cuerpos, la numeración se lleva en el árbol por cuerpos.

Reglas de numeración:

  • el número se asigna una sola vez por entidad y está ligado a su identificador estable en el registro de topología, no a la posición en un array;
  • el número no se reutiliza tras una eliminación: el contador solo crece, para que una referencia en un informe o en un script no empiece a apuntar a otra entidad;
  • si una cara ha sobrevivido a una operación con el mismo identificador estable, su número se mantiene; las caras nuevas reciben números nuevos;
  • la palabra de tipo (surface, edge, vertex) es obligatoria y se comprueba: surface number 27 se rechaza si 27 es un vértice;
  • las direcciones por dimensión envolvente (face z-, vertex "x-,y-,z-") y los índices desnudos no se admiten y producen un error explícito. En un ensamblaje no existe una «cara z-», y esa dirección acabaría apuntando en silencio a otra entidad.

Los números se pueden consultar con los comandos list faces of <cuerpo> y list edges of <cuerpo>: imprimen el número, el área, el centroide y la normal de cada cara, o la longitud, el punto medio y la dirección de cada arista.

list faces of body1
fix surface number 3
load surface number 5 pressure=-1000000
Limitaciones. Tras las operaciones que reconstruyen una cara (operación booleana, corte, redondeo), el número se conserva solo en las caras que sobrevivieron a la operación con el mismo identificador. Un script en el que el número se haya elegido a partir del resultado de list faces antes de dicha operación debe volver a leerse después de ella. Cuando se pierde la referencia de una condición de contorno, el registro permanece y se marca (véase reparación de la geometría).
Verificación. La numeración y el acceso a ella desde scripts subyacen a todos los casos del catálogo en los que las condiciones se definen con la forma fix surface number N, por ejemplo Placa con orificio y Panel B-Rep rigidizado.

2.5Primitivas, operaciones booleanas y transformacionesestable

Conjunto básico de operaciones sobre cuerpos:

  • primitivas: box, cylinder, sphere, cone, torus, wedge, pipe, hollowBox, hemisferios (primitive <forma> parámetros);
  • operaciones booleanas boolean union|cut|intersect target= tool=, costura y unión (sew, union);
  • redondeos y chaflanes de aristas (fillet, chamfer), cuerpo hueco de espesor dado (hollow);
  • transformaciones: move, rotate, mirror, scale, matrices lineales y circulares (pattern);
  • construcción a partir de un perfil: sketch (contorno por puntos), extrude, revolve, sweep, loft;
  • edición directa de caras: desplazamiento (offset_face, pull), traslación (move_face) y ángulo de desmoldeo (draft_face).

Las operaciones booleanas se realizan con OCCT con historial: el núcleo informa de qué caras se han modificado, generado o eliminado, y a partir de ese historial se trasladan los números y las referencias.

units mm
box dx=60 dy=40 dz=10
primitive cylinder r=8 h=10
boolean cut target=body1 tool=body2
Limitaciones. La edición directa de caras funciona en casos sencillos (caras planas y cilíndricas); el producto no dispone de un «arrastre de cualquier cara con reconstrucción automática de las vecinas» de carácter general. El modelado directo no tiene un caso de verificación propio.
Verificación. Las primitivas y las operaciones booleanas intervienen en la geometría de casi todos los casos; un énfasis específico en ensamblajes se encuentra en Contacto: mallas no conformes.

2.6Modelo CAD paramétricobeta

El modelo paramétrico no almacena el cuerpo, sino una receta: un croquis y, a continuación, operaciones sobre él. La edición del croquis o de una cota recalcula la cadena y sustituye el cuerpo en su sitio, que conserva el nombre, el color y los números.

El croquis reside en un plano (xy, xz, yz, un plano de referencia o una cara) en coordenadas locales (u, v) en milímetros. Las entidades del croquis son: polilínea y rectángulo, circunferencia, arco. Las operaciones sobre el croquis son extrude (añadir, cortar o nuevo cuerpo), revolve, sweep a lo largo de un croquis-trayectoria, loft por secciones, thread (rosca, cosmética o geométrica). Está disponible la edición del croquis: traslación, giro, simetría, desplazamiento del contorno, recorte y alargamiento.

Las restricciones del croquis incluyen coincidencia de puntos, horizontalidad, verticalidad, paralelismo, perpendicularidad, colinealidad, igualdad, concentricidad, punto medio, simetría, tangencia, fijación y cotas (distancias, ángulo, radio, diámetro). Las cotas se pueden nombrar y modificar por número.

El solver de restricciones las reduce a residuos \mathbf{r}(\mathbf{x}) respecto de las coordenadas del croquis y minimiza \tfrac{1}{2}\lVert \mathbf{r}\rVert^{2} mediante el método de Levenberg–Marquardt con jacobiano numérico \mathbf{J}:

\left(\mathbf{J}^{\mathsf T}\mathbf{J} + \lambda\,\mathbf{D}\right)\boldsymbol{\delta} = -\mathbf{J}^{\mathsf T}\mathbf{r}

El número de grados de libertad del croquis es n_{\text{dof}} = n_{\text{var}} - \operatorname{rank}(\mathbf{J}). La determinación por el rango es correcta también con restricciones duplicadas, donde la diferencia «variables menos ecuaciones» daría un número negativo. El croquis recibe el estado de completamente definido, subdefinido (con el número de grados de libertad) o sobredefinido (con la lista de restricciones en conflicto). Si el sistema no se resuelve, la geometría del croquis no se modifica parcialmente.

Interfaz: panel de operaciones paramétricas (FeaturePanel), grupo «Operaciones» de la cinta, ramas en el árbol del modelo. DSL: comando cad con los subcomandos sketch, extrude, revolve, sweep, loft, thread, constraint, dimension, solve, recompute, move, rotate, mirror, offset, trim, extend.

cad sketch plane=xy points=0,0,40,0,40,20,0,20 id=sketch1
cad extrude sketch=sketch1 distance=10
cad recompute
Limitaciones. El croquis y las operaciones se almacenan en el proyecto, pero el sistema CAD de origen no ve ese historial: no hay intercambio del historial paramétrico con otros paquetes. El identificador de un croquis en DSL no debe contener guion, y los valores de texto con cirílico se escriben entre comillas; de lo contrario, el analizador léxico interpreta el guion como una resta. Los croquis complejos con cientos de restricciones no se han optimizado sobre el jacobiano numérico.
Verificación. No hay casos numéricos en el catálogo: las operaciones se han comprobado con pruebas de volúmenes, rango del jacobiano, repetibilidad del recálculo y guardado en el proyecto. Por ello el estado es prudente.

2.7Reparación de la geometría y auto-fixbeta

Un modelo importado suele ser inadecuado para el mallado: huecos entre caras, aristas degeneradas, chaflanes pequeños y orificios menores que el elemento. WebCAE distingue tres acciones.

  1. Reparación en la importación. Un conjunto de etapas limitado por presupuesto: costura de láminas, corrección de la forma con las herramientas de OCCT (ShapeFix), fusión de caras coplanares y coaxiales (UnifySameDomain), ensamblaje de una lámina cerrada en un sólido. El resultado se comprueba para verificar su validez, y una segunda ejecución con la misma entrada produce la misma forma.
  2. Auto-fix antes de la malla. Trabaja sobre una copia. El cuerpo original, el árbol del modelo y el STEP en bruto no se modifican en ningún caso. Las características pequeñas (aristas cortas, caras pequeñas, astillas estrechas, orificios y redondeos menores que el elemento) se cierran para que el mallador no fragmente la malla por su causa. Los umbrales están ligados al tamaño de elemento que define el usuario, no a milímetros absolutos. Cada etapa debe demostrar que no se ha empeorado: el resultado es válido, el número de cuerpos no ha cambiado y el volumen no se ha desviado más de lo admisible. En caso contrario, la etapa se revierte y la causa pasa al informe.
  3. Comandos explícitos. defeature <cuerpo> maxHoleRadius= maxFaceArea= elimina orificios y caras según sus umbrales; repair <cuerpo> [merge] [heal] tolerance= fusiona costuras y corrige huecos con la tolerancia indicada; simplify descarta los cuerpos pequeños del ensamblaje según umbrales de volumen y de diagonal; shrinkwrap construye la envolvente exterior del ensamblaje. El modo automático se activa y desactiva con el comando autofix on|off; autofix element=<mm> imprime el informe para un tamaño de elemento dado.

Las condiciones de contorno no se pierden en silencio. Si una etapa de auto-fix eliminara una cara a la que está asociada una condición de contorno, la etapa se revierte a una configuración menos agresiva. Si la referencia se pierde de todos modos (edición de la geometría, nueva importación), el registro de la condición de contorno permanece en el modelo y se marca como huérfano, y el informe enumera esos registros por su nombre. El cálculo con una condición huérfana no se lanza mientras no se restablezca la referencia: una malla sin la cara necesaria parecería un cálculo correcto de otro problema.

autofix on element=2
defeature body1 maxHoleRadius=1.5
repair body1 merge heal tolerance=0.01
Limitaciones. El auto-fix aumenta la probabilidad de generar la malla, pero no «arregla el CAD»: las autointersecciones de superficies y las láminas muy desgarradas siguen requiriendo una corrección en el sistema de origen. La eliminación de características modifica el modelo: antes de calcular la concentración de tensiones en un redondeo, este no se puede «reparar» por el mismo procedimiento.
Verificación. Corpus de reparación: 7 de 7 escenarios superados, repetibilidad del hash del resultado confirmada. No hay casos numéricos de verificación sobre la reparación en el catálogo.

2.8Impronta y corteestable

La impronta marca una línea o un plano sobre una cara y divide la cara a lo largo de él; en el B-Rep aparecen aristas interiores y caras nuevas con números propios. Es la forma principal de obtener sobre una hoja las líneas de larguerillos y cuadernas, las zonas de aplicación de carga o las zonas de empotramiento sin modificar el volumen del cuerpo. Las aristas de la impronta se convierten en líneas de la malla, por lo que las barras situadas sobre ellas comparten nodos con la lámina.

Variantes del comando:

  • imprint <cuerpo> points=x,y,z,…: polilínea proyectada sobre la hoja a lo largo de una dirección dada o según la normal (project=);
  • imprint <cuerpo> plane point=x,y,z normal=x,y,z: sección de la hoja o del cuerpo por un plano;
  • imprint <cuerpo A> <cuerpo B>: impronta de dos cuerpos uno sobre otro (trazas comunes en las caras en contacto);
  • split target=<cuerpo> plane=<nombre> o point= normal=: corte del cuerpo en partes independientes.

El parámetro fuzzy= define la tolerancia de la operación en unidades del script.

units mm
imprint body1 points=-10,100,0, 2010,100,0
list edges of body1
Limitaciones. La impronta de una polilínea sobre una cara curva depende de la dirección de proyección: para una nervadura de rigidización a lo largo de un revestimiento cilíndrico, la dirección debe indicarse explícitamente.
Verificación. Panel B-Rep rigidizado con impronta de 9 líneas: nueve improntas sucesivas, 30 caras y 49 barras en T sobre nodos comunes; la flecha de la placa empotrada difiere de la solución de Timoshenko en un 2,55 %.

2.9Ensamblajes de varios cuerposbeta

Un ensamblaje es un conjunto de cuerpos en un mismo documento. Un cuerpo se puede ocultar, suprimir (excluir del cálculo), desplazar y girar. La intersección de cuerpos se determina midiendo el volumen de su parte común. Los cuerpos en contacto se pueden pegar en un único modelo o dejar separados con contacto. Al pegar, WebCAE alinea la topología de las caras comunes mediante una operación booleana (fragment) y, para una intersección volumétrica real de un ajuste con interferencia, ofrece tres modos: cortar (el volumen se cede al cuerpo menor), dividir en partes o dejar tal cual (entonces el material en la interferencia se cuenta dos veces, de lo cual se emite una advertencia). La tolerancia de selección de pares y la tolerancia de la propia operación booleana se definen por separado.

Antes del cálculo se comprueba la conectividad de la malla del ensamblaje: los cuerpos que «pegar todo» no ha podido unir (sin contacto) forman piezas separadas sin apoyos, y el cálculo lineal sobre ellas diverge. Estos casos se detectan antes del solver. Los detalles del pegado de mallas se encuentran en la sección «Mallas».

Limitaciones. El pegado alinea la topología solo donde los cuerpos realmente se tocan o se solapan dentro de las tolerancias. Un hueco mayor que la tolerancia sigue siendo un hueco: para el puente entre cuerpos se necesita un contacto o una restricción.
Verificación. El corpus de ensamblajes está cubierto por casos de contacto y de mallas no conformes, por ejemplo Contacto: mallas no conformes. No hay un caso numérico específico para el pegado.

2.10Superficies mediasexperimental

Para piezas de pared delgada, el modelo volumétrico es excesivo: una chapa de 2 mm de espesor resulta más cómoda de calcular como lámina. La operación «superficie media» (solo interfaz, panel de operaciones sobre la geometría) busca pares de caras casi paralelas cuya distancia se encuentra en el intervalo de espesores indicado y construye entre ellas un cuerpo de hoja. Se encuentran pares de caras planas y cilíndricas; las zonas que convergen en las esquinas se cierran acercando los bordes libres a los planos de acuerdo. El espesor encontrado para cada par se muestra en el nombre de la hoja; el espesor de la sección de la lámina (section shell t=) debe definirse por separado.

Limitaciones. El método cubre paredes planas y cilíndricas de espesor constante. El espesor variable, las superficies cónicas, esféricas y libres no se procesan. Los nudos donde varias hojas medias convergen en ángulo requieren revisión: las uniones no cerradas se notifican mediante una advertencia. No hay contraste independiente del resultado con una referencia ni comando DSL.
Verificación. No hay casos de verificación; está confirmado mediante pruebas unitarias sobre cuerpos sintéticos.

2.11Estructura de barras, vigas y parches de láminaestable

Para cerchas, pórticos y láminas rigidizadas, WebCAE construye el modelo de cálculo directamente, sin pasar por el sólido. Hay dos formas.

Estructura paramétrica frame. Los nodos y las barras se numeran desde 1 en el orden de creación. La barra es una viga de Timoshenko con una sección de la biblioteca o definida por dimensiones (rectángulo, círculo, tubo, perfil en I, perfil en U, ángulo, perfil en T, cajón); a la barra se le puede asignar otra sección en el segundo extremo (cónica) y articulaciones en los extremos. La lámina se define mediante parches de celdas cuadrangulares: un cuadrilátero plano (geom=quad), un cilindro o un cono (geom=cyl), una superficie reglada entre dos polilíneas (geom=ruled) o una malla explícita de puntos (geom=points). Los nodos del parche coinciden, dentro de la tolerancia, con los existentes, de modo que la lámina y las barras comparten nodos comunes. Las nervaduras de rigidización se añaden con el comando frame stiffen a lo largo de las líneas de la malla del parche.

Vigas sobre aristas B-Rep. assign beam edges=… section=rect w= h= flush=outer|inner [ecc=] coloca barras de Timoshenko sobre las aristas elegidas de un cuerpo de hoja (incluidas las aristas de impronta). El parámetro flush pega la arista a la superficie exterior o interior del revestimiento, y ecc desplaza el eje de la barra según la normal. El desplazamiento se tiene en cuenta cinemáticamente, de modo que la rigidez efectiva incluye el término del teorema de Steiner I = I_{0} + A\,e^{2} (aquí e es la distancia desde el eje de la barra hasta la superficie media del revestimiento), y no solo el momento de inercia propio de la sección.

Lo que obtiene el usuario: un modelo en el que barras y láminas están unidas por nodos comunes, y no por restricciones rígidas aproximadas. Los cálculos disponibles son estática, análisis modal y estabilidad; para el análisis modal de un cuerpo libre (casco de un buque, avión) se prevé un modo sin comprobación de mecanismo, en el que las formas de la primera a la sexta son de sólido rígido.

units mm
frame node at=0,0,0
frame node at=1000,0,0
frame member 1 2 section=rect w=20 h=40
frame support node=1 dofs=all
frame load node=2 force=0,0,-500
frame solve static
Limitaciones. El número de formas en el análisis modal está limitado por la plataforma: hasta 15 en el navegador y hasta 100 en la aplicación de escritorio; una solicitud por encima del límite se rechaza, no se trunca en silencio. La tensión de la lámina se imprime en el centro del elemento cuadrangular, y el pico junto al concentrador resulta subestimado. La costura de los parches se comprueba sobre el documento con el comando frame probe shellcheck: el número de nodos duplicados sin sustituir y de uniones en T debe ser cero; de lo contrario, la estructura está desgarrada.

2.12Sincronización con Onshapebeta

La aplicación se conecta a un documento de Onshape (autorización OAuth 2.0), obtiene el modelo en formato STEP indicando la versión (microversion) y lo carga como una importación normal. La sincronización repetida sustituye los cuerpos importados por la nueva versión e intenta trasladar las condiciones de contorno, cargas, empotramientos y contactos a la geometría modificada.

El traslado se realiza por correspondencia geométrica: para cada cara, arista y vértice del modelo antiguo se busca la entidad del modelo nuevo más cercana por posición, orientación y dimensiones. Los registros para los que no se ha encontrado una correspondencia fiable no se eliminan: se devuelven en la lista «requieren revisión», y el mensaje final indica el número de condiciones trasladadas y no trasladadas. El acceso a la nueva geometría se hace solo mediante números del documento.

Limitaciones. La correspondencia es heurística: si una cara se ha dividido, unido o desplazado de forma notable durante la edición, la correspondencia puede no encontrarse o elegirse de forma incorrecta. Tras la sincronización, revise la lista de registros que requieren revisión y compruebe las cargas en las caras modificadas. La sincronización está disponible desde la interfaz; no hay comando DSL. No hay escritura de vuelta en Onshape.
Verificación. No hay casos de verificación; el traslado está cubierto por pruebas unitarias sobre cambios sintéticos de geometría.

2.13Conector de FreeCADexperimental

El complemento para FreeCAD añade el comando «Analyze in WebCAE». Exporta a STEP los cuerpos seleccionados o todos los cuerpos visibles del documento y los abre en WebCAE: en el navegador o en la aplicación de escritorio mediante un enlace propio. La transferencia es unidireccional y de una sola vez.

Limitaciones. Es una transferencia única de la geometría, no una sincronización: tras modificar el modelo en FreeCAD hay que repetir la exportación, y las condiciones de contorno no se trasladan. El complemento se instala copiándolo en el directorio de módulos de FreeCAD (Mod); la publicación en el catálogo del Addon Manager de FreeCAD no está confirmada. No hay una prueba automática de la conexión con un FreeCAD en ejecución.
Verificación. No hay casos de verificación; el código Python de exportación se ha comprobado con sustitutos (stubs) y la parte receptora de la aplicación con pruebas unitarias.

2.14Importación y exportación de mallasexperimental

Una malla ya hecha se puede tomar de un programa externo y entregar al exterior. Se admiten Abaqus (.inp), Gmsh (.msh; la exportación usa el formato 2.2) y Nastran (.bdf, .nas). Además de las mallas, se exportan la superficie deformada y la isosuperficie de la optimización topológica (STL, STEP).

  • El menú «Proyecto» exporta la malla con los cuerpos (SOLID_<k>) y las superficies (SURF_<N>, es decir, surface number N) y los importa de vuelta. Las coordenadas del archivo están en SI (metros).
  • DSL: import mesh file="model.inp" y export mesh file="out.msh" [deformed] [scale=k]. La importación de mallas en DSL lee nodos y tetraedros, sin cuerpos ni superficies; la exportación escribe las coordenadas en unidades de escena (mm) sin conversión.
import mesh file="part.inp"
export mesh file="part_out.bdf"
Limitaciones. La importación acepta solo tetraedros lineales: los tetraedros de diez nodos (C3D10, Tet10) se cargan como de cuatro nodos y se descartan los nodos intermedios; los hexaedros, prismas y láminas no se leen. Los archivos de las distintas vías (menú y DSL) usan unidades de longitud diferentes. La exportación STEP es una lámina facetada de triángulos, no un B-Rep con superficies analíticas, y sirve para visualizar, no para editar. No se ha realizado una comprobación de la interacción con Abaqus, Gmsh y Nastran en programas de terceros.
Verificación. La importación y exportación circulares se han comprobado con pruebas unitarias dentro de WebCAE; no hay contraste con paquetes independientes.

La malla convierte la geometría B-Rep en elementos finitos. WebCAE genera tetraedros (tet4, tet10) para cuerpos arbitrarios, hexaedros, prismas y pirámides donde la geometría lo permite, elementos de lámina cuadrangulares y triangulares sobre las hojas y elementos de viga a lo largo de las líneas. Los tipos de elemento y sus formulaciones se describen en la página /docs/elements; aquí se explica cómo se genera la malla, con qué se controla y cómo se evalúan su calidad y su suficiencia.

El mallado funciona en dos entornos: la aplicación de escritorio (proceso nativo del mallador) y el navegador (WebAssembly). Ambos se compilan a partir del mismo código fuente, pero sobre una misma geometría el resultado puede diferir en el número de elementos y en la calidad. La referencia es la ruta nativa; la web es de carácter orientativo. Algunas capacidades solo existen en el escritorio (capas límite, mallado de ensamblajes grandes sin restricciones); esto se indica en las subsecciones.

3.1Mallador tetraédricoestable

Los tetraedros los genera el mallador abierto Netgen 6.2 sobre la geometría OCCT. La malla superficial se construye sobre las caras B-Rep y la volumétrica mediante el método de Delaunay, completado con avance de frente y seguida de una optimización de la forma de los elementos (permutaciones, suavizado); el método se describe en detalle en Schöberl J., NETGEN: An advancing front 2D/3D-mesh generator based on abstract rules, Computing and Visualization in Science, 1997. La malla es conforme: en la frontera común de dos caras los nodos coinciden.

Resultado de la generación:

  • nodos y tetraedros de primer (tet4) o segundo (tet10) orden;
  • región (número de cuerpo) de cada elemento, para que los materiales se asignen por cuerpo;
  • triángulos de contorno, cada uno con el número de la cara B-Rep de la que procede. Por ello las condiciones definidas como surface number N sobreviven a la reconstrucción de la malla: están ligadas a la cara, no a los nodos.

El usuario define el tamaño, la suavidad de la transición (grading), la densidad según la curvatura (safety), el tamaño mínimo y el orden del elemento (control del tamaño). Hay tres perfiles de calidad: «Borrador» (malla gruesa rápida sin optimización, primer orden), «Estándar» y «Final» (optimización completa para el cálculo de trabajo).

Si la malla no se genera o resulta de calidad inadecuada, el mallador repite los intentos con parámetros modificados. Esto nunca ocurre en silencio: la aplicación muestra un aviso que indica qué cuerpos se han mallado con los ajustes modificados, cuáles resultan más gruesos que el tamaño solicitado y por qué (perfil, densidad o limitación del navegador). Los cuerpos que no se han podido mallar se enumeran por separado y se excluyen del cálculo solo con su consentimiento.

La generación se puede interrumpir con el botón «Cancelar» o con el comando mesh cancel. En un ensamblaje se conserva el resultado parcial (los cuerpos ya mallados).

units mm
box dx=60 dy=30 dz=10
mesh tet size=3 order=1
Limitaciones. Netgen no garantiza la calidad de la malla sobre cualquier geometría: las astillas finas, los huecos y las autointersecciones del modelo de origen dan elementos débiles o un fallo. El resultado en la plataforma nativa y en la web puede diferir; la referencia es la nativa. Los cuerpos de hoja y de alambre no se mallan con malla volumétrica: para ellos existe la malla superficial.
Verificación. La malla tetraédrica es la base de casi todos los casos del catálogo. Directamente sobre tetraedros P1: Problema de Lamé para un cilindro de pared gruesa (mesh tet size=5, 0,48 %), Respuesta longitudinal de una barra (0,03 %), Placa con orificio (cuarto de modelo frente al modelo completo, 1,38 %).

3.2Orden de los elementos P1 y P2estable

El tetraedro lineal tet4 da deformaciones constantes en el elemento y se «bloquea» en flexión y en materiales casi incompresibles. El tet10 cuadrático tiene diez nodos (cuatro vértices y seis puntos medios de aristas), las deformaciones son lineales y la arista y la cara pueden ser curvilíneas. Sobre la misma malla, el tet10 suele ser sensiblemente más preciso que el tet4; el coste es el número de nodos, que para una malla tetraédrica típica crece aproximadamente entre 7 y 8 veces.

La malla P2 se construye en dos pasos. El mallador genera la malla P1, después añade los nodos de los puntos medios de las aristas y desplaza a la superficie CAD los que se encuentran en el contorno: la arista y la cara del elemento adquieren la curvatura de la geometría original. A continuación, cada elemento se comprueba para verificar que su jacobiano es positivo. El determinante de la aplicación del tet10 es exactamente un polinomio cúbico, por lo que se desarrolla en la base de Bernstein de grado 3 sobre el tetraedro: si los 20 coeficientes tienen el mismo signo, el jacobiano es positivo en todo el dominio del elemento (Johnen A., Remacle J.-F., Geuzaine C., Geometrical validity of curvilinear finite elements, J. Comput. Phys., 2013). En los elementos en los que no se cumple la condición, los nodos intermedios se rectifican localmente y la malla sigue siendo utilizable para el cálculo. El criterio es suficiente, no necesario: la rectificación puede activarse incluso donde el elemento era admisible.

El orden se define globalmente con el parámetro order=1|2 del comando mesh o con el conmutador «Lineales/Cuadráticos» del panel de malla. Para los hexaedros, el orden se define con el mismo conmutador: tras construir el hex8, los nodos intermedios se colocan en el punto medio de la arista recta y, en una arista curva, sobre la superficie de la primitiva (hex20). Los prismas y las pirámides de las mallas híbridas permanecen en primer orden; los híbridos cuadráticos están desactivados (rechazo explícito, véanse las zonas híbridas).

units mm
mesh tet size=4 order=2
Limitaciones. La malla progresiva de un ensamblaje (los cuerpos se mallan por separado) se construye con elementos lineales: para P2, malle un solo cuerpo o todo el ensamblaje como una malla única pegada. La validez P2 se comprueba en los nodos de vértice y en los intermedios de la geometría, pero no garantiza un jacobiano positivo en cada punto de integración de otras formulaciones.

3.3Orden local del elementobeta

Una pieza se puede calcular con tet4 y dejar los elementos cuadráticos solo en la zona necesaria. El tamaño h y el orden p siguen siendo ajustes independientes: la zona refine zone … order=2 deja tet10 en los elementos que cortan la esfera, más una capa de elementos de transición, y fuera de la zona permanecen tet4.

Para que el campo de desplazamientos siga siendo continuo, en la arista común de un elemento P2 y un tet4 vecino el punto medio de la arista se vincula a sus extremos mediante una ecuación de restricción:

u_{\text{m}} = \tfrac{1}{2}\left(u_{a} + u_{b}\right)

donde u_{a}, u_{b} son los desplazamientos de los nodos de vértice de la arista y u_{\text{m}} es el desplazamiento de su nodo intermedio. La restricción elimina el término cuadrático justo en el límite entre las zonas y se entrega al solver como una ecuación de restricción ordinaria.

units mm
mesh tet size=6 order=1
refine zone at=30,15,5 radius=8 size=1.5 order=2
Limitaciones. El mallador construye los puntos medios de las aristas en toda la pieza, por lo que el tiempo de mallado y la memoria siguen siendo los de un P2 global. El ahorro se produce solo en el solver: los puntos medios descartados no entran en la matriz. El selector de zona es una esfera; la selección por cara o por curvatura no está implementada. Una zona vacía (esfera fuera de la pieza) no se considera un éxito, y así se notifica.
Verificación. Cubierto por pruebas unitarias de clasificación de elementos y de restricciones de interfaz; no hay un caso específico en el catálogo.

3.4Control del tamaño del elementoestable

El tamaño del elemento se define a partir de varias fuentes simultáneamente, y el resultado lo determina no la prioridad, sino el mínimo. En el punto \mathbf{p} el mallador obtiene

h(\mathbf{p}) = \min\left\{\, h_{\text{glob}},\; h_{\text{face}},\; \frac{R}{s},\; h_{\text{zone},k} \,\right\}, \qquad h_{\text{min}} \le h(\mathbf{p}) \le h_{\text{max}}

donde h_{\text{glob}} es el tamaño global, h_{\text{face}} es el tamaño definido sobre la cara, R es el radio de curvatura local, s es el parámetro de densidad según la curvatura (safety), h_{\text{zone},k} son los tamaños de las zonas de refinamiento que cubren el punto, y h_{\text{min}} y h_{\text{max}} son los límites inferior y superior del tamaño. Consecuencias que es fácil interpretar mal: el tamaño sobre una cara no es «más importante» que la zona (dentro de la zona prevalece el menor), y ninguna entrada puede agrandar el resultado respecto del tamaño global.

Parámetros:

  • tamaño global: se define en milímetros o mediante un preajuste según la dimensión característica L: «Borrador» L/10, «Estándar» L/20, «Fina» L/40;
  • safety s: densidad según la curvatura h \le R/s, rango 0,3–6, por defecto 1,5. Un s menor da una malla más gruesa en redondeos y orificios. Es la única palanca cuando el tamaño lo determina la curvatura y no el control deslizante: la interfaz muestra cuántas caras están limitadas por la curvatura y predice el número de elementos;
  • grading: suavidad de la transición de elementos pequeños a grandes; menor valor, transición más suave;
  • tamaño mínimo: límite inferior; 0 significa automático (una fracción del tamaño máximo);
  • tamaño sobre cuerpo, cara, arista, vértice: pestañas «Tamaño de elemento» y «Tamaño local»; en DSL, zonas ligadas a surface number N;
  • zonas de refinamiento: esfera (centro, radio, tamaño), refine zone at=x,y,z radius=r size=h. Para una capa hexaédrica local existen zonas de cilindro, anillo alrededor de un orificio, caja, redondeo y toroidales (véanse las zonas híbridas);
  • reinicio de zonas: refine clear.

El modo «Campo de tamaños» colorea los cuerpos según el tamaño de elemento vigente y muestra qué fuente lo ha determinado y si alcanza el límite inferior. A partir del histograma de calidad se pueden seleccionar los peores elementos y fijar un tamaño local en las caras CAD que tocan («Refinar zona»).

units mm
mesh tet size=5 safety=1.2
refine zone at=50,20,0 radius=15 size=1.5
refine clear
Limitaciones. El tamaño en DSL se define en la unidad del script: sin units son metros (véanse las unidades). El tamaño sobre una arista y un vértice se implementa como un refinamiento local a su alrededor, no como una definición rígida de la longitud del elemento sobre la arista. El límite inferior del tamaño puede impedir construir el tamaño solicitado; la interfaz lo notifica e indica el tamaño final.
Verificación. No hay en el catálogo un caso que compruebe específicamente la regla del mínimo; se ha comprobado con pruebas unitarias. Las zonas de refinamiento funcionan en los casos Malla híbrida: placa con orificio (mesh tet size=12 y capa local) y Submodelado en el problema de Kirsch.

3.5Capas límiteexperimental

Para las zonas próximas a la pared (hidrodinámica, capas finas de contacto) se necesitan capas prismáticas a lo largo de la pared. Las capas se definen mediante el número de capas n, el coeficiente de crecimiento q (rango 1–5) y el espesor de la primera capa h_{1}. El espesor total es la suma de una progresión geométrica:

t = h_{1}\,\frac{q^{n}-1}{q-1}, \qquad t = n\,h_{1} \;\;(q = 1)

La interfaz (panel «Capas límite») muestra este espesor total. Las capas las construye Netgen sobre las caras elegidas; en la malla de cálculo, los prismas se dividen en tetraedros. Las capas se definen en la interfaz de la aplicación de escritorio; los mismos parámetros están disponibles desde la consola JS integrada.

Limitaciones. Las capas límite solo existen en la aplicación de escritorio. En el navegador, el panel de capas, en lugar de prismas, aplica el espesor solicitado de la primera capa como tamaño local de elemento en las caras elegidas y lo indica con franqueza en las notas del mallador; el comando DSL mesh con parámetros de capas (inflate=, layers=, ratio=, first=) se rechaza: un refinamiento isótropo no puede hacerse pasar por una capa límite. La función es nueva y carece de verificación independiente; en la interfaz está marcada como tal.
Verificación. No hay casos de verificación para las propias capas.

3.6Métricas de calidad de la mallabeta

Para los tetraedros, la aplicación calcula tres grupos de magnitudes.

Forma del elemento (panel «Calidad de la malla»). Relación de aristas \mathrm{ER} = \ell_{\max}/\ell_{\min} sobre las seis aristas del tetraedro. El histograma se construye con q = 1/\mathrm{ER} en diez intervalos de 0 a 1; al situar el cursor sobre una barra se resaltan los elementos en el lienzo, y con un clic se dejan solo ellos.

Jacobiano normalizado (SICN). En la ficha de la malla el campo se denomina SICN (signed inverse condition number), y con él se comparan los umbrales de tolerancia. En realidad, el mallador calcula para el tetraedro el determinante normalizado de las aristas que parten de su primer vértice:

q_{J} = \frac{\lvert \det\left[\mathbf{e}_{1}\;\mathbf{e}_{2}\;\mathbf{e}_{3}\right]\rvert}{\lVert\mathbf{e}_{1}\rVert\,\lVert\mathbf{e}_{2}\rVert\,\lVert\mathbf{e}_{3}\rVert}

Un tetraedro regular da q_{J} = 1/\sqrt{2} \approx 0.71; un ángulo recto formado por aristas mutuamente ortogonales da 1. No es la definición completa de SICN de la bibliografía (según la cual un tetraedro regular da 1): la magnitud se calcula a partir de un solo ángulo y sirve para comparar mallas dentro de WebCAE, pero no para contrastar con los números de otros paquetes. Se considera invertido un elemento cuyo determinante tiene un signo distinto del predominante en la malla; un determinante nulo indica un elemento degenerado.

Tolerancia. El umbral de aceptación q_{J,\min} \ge 0.1 se aplica así:

  • aceptada: no hay elementos invertidos ni degenerados, \min q_{J} \ge 0.1;
  • advertencia: el jacobiano es positivo en todas partes, pero \min q_{J} < 0.1 (astillas): el cálculo está permitido y se muestra una indicación sobre su posible falta de fiabilidad;
  • rechazada: hay elementos invertidos o degenerados, o una malla vacía: el cálculo se bloquea;
  • las partes desconectadas de la malla (el ensamblaje se ha disgregado) bloquean el cálculo de forma incondicional: la matriz de rigidez es singular.

Para los hexaedros el umbral es el mismo, y la medida es el mínimo del jacobiano escalado en los ocho vértices del elemento (definición de Verdict); no debe haber valores no positivos. Para el tet10, la validez se determina mediante los coeficientes de Bernstein (véase el orden de los elementos).

El hex8 lineal se bloquea en flexión: con un número reducido de elementos en el espesor de la capa, la flecha resulta subestimada, y la interfaz muestra esta advertencia junto a la malla.

Limitaciones. El umbral de 0,1 es una compuerta sobre una medida burda de la forma, no una prueba de precisión: una malla puede superar la tolerancia y ser demasiado gruesa. Para juzgar la precisión utilice el estudio de convergencia. La métrica de calidad la calcula el mallador y puede diferir entre la plataforma nativa y la web.
Verificación. La métrica se ha comprobado con pruebas sobre mallas sintéticas (elementos invertidos, degenerados y regulares). No hay contraste con una implementación independiente de SICN, por lo que el estado es prudente.

3.7Malla hexaédrica volumétricabeta

Los hexaedros estructurados dan una malla regular con un número predecible de elementos en el espesor, pero no es posible construirlos automáticamente para cualquier cuerpo. La aplicación prueba las rutas en orden decreciente de simplicidad y, si fracasa, vuelve con franqueza a los tetraedros.

  1. Primitivas estructuradas. Paralelepípedo, cilindro (topología O-grid: un bloque cuadrado central y cuatro bloques polares), esfera, cono truncado, hemisferios: interpolación transfinita, mesh hex nx=… ny=… nz=….
  2. Extrusión. El cuerpo se identifica como prismático («2,5D»): una sección con orificios se extruye en una dirección; se admiten cuerpos de revolución.
  3. Descomposición. El cuerpo se divide en prismas, la sección de cada uno es un bloque cuadrangular; las interfaces se hacen coincidir y, a continuación, en cada bloque se construye una malla hexaédrica estructurada y los nodos se cosen.
  4. Fallo. Si ninguna ruta ha dado una malla aceptada, se construye una malla tetraédrica y la causa se muestra mediante un código: no hay sustitución silenciosa.

La malla hexaédrica construida pasa una recepción antes de su uso: el volumen de la malla se contrasta con el volumen exacto del cuerpo, las caras libres deben estar sobre el contorno B-Rep, la malla debe ser una única componente conexa sin nodos colgantes ni caras compartidas por más de dos elementos, y el mínimo del jacobiano escalado en los ocho vértices no debe ser inferior al umbral de calidad (0,1). Una malla que no supera la recepción no pasa al cálculo.

En la aplicación de escritorio están disponibles además generadores externos, si están instalados: HOHQMesh (piezas planas de espesor constante) y el método de bloques HexaBlock de SALOME. En el modo «Auto» se conectan según la cadena «extrusión estructurada → HexaBlock → tetraedros».

units mm
box dx=60 dy=30 dz=10
mesh hex size=5
Limitaciones. La malla hexaédrica automática es fiable para cuerpos prismáticos y ortogonales. En una medición con nueve piezas STEP industriales, la descomposición no superó la recepción en ninguno de los tamaños, por lo que para piezas generales fundidas y fresadas utilice mesh tet y las zonas hexaédricas locales. Desde DSL, tras mesh hex size=… se admite la estática de un solo cuerpo sobre la malla hexaédrica aceptada (el cálculo en la ruta de script se realiza con el solver WebAssembly); varios cuerpos, zonas hexaédricas locales en el mismo script, análisis modal, estabilidad y calor sobre dicha malla no se admiten. El comando mesh hex decompose solo construye la malla e imprime un informe. La malla hexaédrica se construye con el mismo código en el navegador y en el escritorio (no existe una versión nativa del mallador).
Verificación. La recepción y la calidad se comprueban con pruebas sobre cuerpos reales. El control numérico de los elementos hexaédricos se encuentra en los casos de mallas híbridas que figuran a continuación.

3.8Zonas hexaédricas locales y mallas híbridasbeta

Cuando se necesita una capa hexaédrica en un lugar concreto (borde de un orificio, cuello de un eje, placa de contacto), el resto del cuerpo permanece tetraédrico. La zona se define respecto de la cara o el volumen elegidos; los demás parámetros son las capas, la progresión y el modo de acoplamiento.

Tipos de zona:

  • refine tube surface number N thickness=t: capa a lo largo de una cara cilíndrica (borde de orificio, cuello de eje);
  • refine inflate surface number N thickness=t: capa a lo largo de una cara plana o esférica (placa de contacto);
  • refine box at=… dx= dy= dz=: caja dentro del cuerpo, rellenada con hexaedros estructurados (con recorte por el contorno si clip=on);
  • refine sweep surface number A to surface number B: prisma entre dos caras planas paralelas del mismo cuerpo.

Parámetros de la capa: layers (1–12), bias: coeficiente de progresión de los espesores a partir de la pared (1–3), elements=wedge|hex: tipo de elementos de la capa, conform=weld|mpc: modo de acoplamiento.

Consistencia de la unión. La traza bilineal de una cara cuadrangular del hexaedro no coincide con la traza lineal a trozos de dos tetraedros sobre la misma cara, por lo que el pegado simple de hex8 con tet4 no supera la prueba de parche. Por defecto, la capa se construye con prismas (wedge6): el prisma sobre cada triángulo de la interfaz es consistente con los tetraedros por construcción. Con elements=hex, la transición se realiza mediante pirámides (pyr5): la celda de interfaz hex8 se divide hacia su propio centro en pirámides, y en las caras del lado de los tetraedros las pirámides se sustituyen por dos tetraedros con la misma diagonal. El modo conform=mpc construye una capa independiente y la vincula con los tetraedros mediante ecuaciones de restricción nodales.

Concordancia medida de las mallas mixtas en la prueba de parche (error relativo máximo de los desplazamientos): prismas con pegado a tetraedros, alrededor de 10^{-14} (plataforma web); pegado directo de hex8 con dos tet4, 3.1 \times 10^{-3} (nativa); transición hex8 → pyr5 → tet4, 9 \times 10^{-15} (nativa). Los números de distintas plataformas no se mezclan.

Para el problema de Kirsch (placa con orificio), la malla híbrida con prismas junto al borde da un error del máximo de \sigma_{\theta} del 0,1–0,9 % y un error cuadrático medio a lo largo del arco del orificio del 0,7–1,2 % con 1635–4473 grados de libertad. Una malla puramente tetraédrica con 1374–12828 grados de libertad oscila en el rango −17…+4 % en el pico, y el error cuadrático medio a lo largo del arco no desciende por debajo del 5,3 %.

units mm
refine tube surface number 12 thickness=3 layers=3 bias=1.2
refine sweep surface number 1 to surface number 2 layers=4
Limitaciones. Las mallas híbridas se construyen con elementos de primer orden (hex8, wedge6, pyr5, tet4). La variante cuadrática (hex20 + tet10) no está abierta: el cálculo sobre ella se rechaza explícitamente. Se admite la estática (lineal y geométricamente no lineal) con fuerzas, desplazamientos impuestos y restricciones; otros tipos de análisis sobre una malla con zonas hexaédricas se rechazan con un mensaje. La unión elements=hex requiere pirámides de transición; un archivo antiguo con hex8 pegado directamente a tet4 no se admite para un nuevo cálculo: la malla debe reconstruirse.

3.9Mallas de ensamblajes y pares de contactobeta

Un ensamblaje plantea dos tareas, y son opuestas. Los cuerpos unidos de forma rígida (soldadura, adhesivo, ajuste con interferencia) deben compartir nodos en la unión; de lo contrario, la matriz de rigidez se descompone en bloques desconectados. Los cuerpos que pueden separarse o deslizar (contacto) se mallan de forma independiente, y la unión la proporciona el algoritmo de contacto del solver.

Pegado (bonding=1). Los cuerpos en contacto se mallan como un único modelo conforme: las caras comunes reciben nodos comunes por construcción. Modos: pegar todo, pegar los grupos elegidos, no pegar (bonding=0). Para contactos, huecos dentro de la tolerancia y solapamientos se ejecuta una operación booleana propia; la tolerancia de selección de pares (bondtol=) y la tolerancia de la propia operación (fuzzy=) se definen por separado. Modo de uniones glue=auto|contact|full: pegado rápido por contacto, búsqueda completa de intersecciones o selección automática. El solapamiento se trata con el parámetro interference=cut|split|ignore: ceder el volumen al cuerpo menor (por defecto), fragmentar la intersección (el volumen es exacto, pero el fragmento del ajuste puede ser una película delgada) o dejarlo tal cual (el material en la interferencia se cuenta dos veces).

Pares de contacto. Los cuerpos que no están pegados entre sí se mallan cada uno por separado; los nodos de las superficies de contacto no tienen por qué coincidir. Antes del cálculo se comprueba la disponibilidad de la interfaz: las zonas de contacto podrían haberse colapsado en una sola región, podrían no haberse encontrado pares, el hueco podría ser demasiado grande o un par pegado podría no ser conforme. Cada uno de estos resultados se notifica explícitamente.

Mallado en paralelo. Con el mallado por separado, los cuerpos se construyen de forma independiente y en paralelo, el progreso se muestra por cuerpos y el resultado se reúne en una sola malla. Si un cuerpo no se ha podido mallar en modo nativo, puede completarse con el mallador web integrado; la aplicación advierte de que tales mallas pueden diferir ligeramente. Con el pegado, el ensamblaje se malla como un único modelo.

Costura de una malla ya hecha. El comando weld [tol=] y el panel «Coser» unen los nodos coincidentes de una malla ya construida dentro de la tolerancia (0 significa automático, una pequeña fracción de la diagonal de las dimensiones totales). Es una costura de nodos, no de geometría: resulta útil para parches de lámina mallados intencionadamente por separado.

units mm
mesh tet size=8 bonding=1 glue=auto interference=cut
Limitaciones. El pegado no salva un hueco superior a la tolerancia ni adivina las intenciones: las partes desconectadas de la malla bloquean el cálculo. Las astillas pequeñas en la zona del ajuste con interferencia con interference=split pueden hacer fracasar el mallado. El tamaño safety sobre un cuerpo individual actúa solo cuando los cuerpos se mallan por separado. El mallado de ensamblajes grandes en el navegador está limitado por la memoria de la pestaña, por lo que los ajustes allí son fijos; para ensamblajes pesados utilice la aplicación de escritorio.
Verificación. Contacto: mallas no conformes, conservación (interfaces 1:1, 2:3, 3:5, cambio de las superficies maestra/esclava), Daño: DCB con malla no conforme (0,09 %). No hay un caso numérico específico para el pegado.

3.10Mallas de láminas y vigasbeta

Láminas. Una hoja (B-Rep shell) se malla con una malla superficial: mesh shell size=h element=tri|quad. Los triángulos se construyen en cada cara en el espacio paramétrico: una triangulación de Delaunay restringida por el contorno de la cara con proyección sobre la superficie. Los cuadriláteros se obtienen a partir de los triángulos mediante el esquema «1 → 3»: cada triángulo se divide en tres cuadriláteros a través del centroide y los puntos medios de las aristas. El punto medio de la arista es común a los vecinos, por lo que la malla es conforme en las costuras de las caras y los elementos son enteramente cuadrangulares para cualquier número de triángulos. El tamaño de la arista del cuadrilátero es de 0,29 a 0,5 de la longitud de la arista del triángulo original, por lo que la triangulación inicial se construye sensiblemente más gruesa.

Para las caras cuadrangulares de lados rectos (cajas, placas), el parámetro pattern=structured (junto con element=quad) construye una malla estructurada mediante mezcla transfinita de Coons con divisiones de aristas coherentes. Si la forma contiene una cara inadecuada (orificio, arco), el comando se rechaza indicando el número de la cara, en lugar de mezclar mallas incompatibles.

Vigas. La malla de vigas se construye a lo largo de las líneas elegidas (aristas B-Rep): se define el número de elementos o el tamaño; los nodos comunes con la lámina adyacente aparecen al situar la viga sobre la arista (Estructura de barras y vigas). Los elementos para el ensamblaje se compilan en el paso de cálculo.

units mm
mesh shell size=10 element=quad
assign beam edges=3,7 section=rect w=10 h=30 flush=outer
Limitaciones. Los nuevos nodos del esquema «1 → 3» se sitúan sobre las cuerdas de los triángulos, no sobre la superficie, por lo que en las caras curvas se añade un error del orden de h^{2}/(8R) (en las caras planas el resultado es exacto). El esquema de fusión por pares de triángulos en cuadriláteros que deja nodos colgantes no se utiliza para el cálculo de láminas: una malla con nodos colgantes corta la lámina por las aristas. Los cuerpos de hoja no se mallan con malla volumétrica.
Verificación. Panel B-Rep rigidizado (malla cuadrangular de la hoja con 49 vigas sobre nodos comunes, 2,55 %), Placa circular de Kirchhoff–Mindlin (malla cuadrangular estructurada mesh shell element=quad pattern=structured, 0,09 %). La prueba de una placa empotrada frente a la solución de Timoshenko sobre una malla cuadrangular da desviaciones de −2,2, −0,8, −0,35 y +0,35 % con tamaños de 25, 12, 10 y 6 mm.

3.11Indicador de error de Zienkiewicz–Zhu y refinamiento adaptativobeta

El máximo de tensión no distingue una concentración real (orificio, acuerdo) de un artefacto de una malla gruesa. Para ello se utiliza el indicador de error de Zienkiewicz–Zhu. El campo de tensiones de elementos finitos \boldsymbol{\sigma}_{h} es discontinuo entre elementos. Se recupera un campo continuo \boldsymbol{\sigma}^{*} mediante un suavizado local sobre el parche de elementos alrededor del nodo, y el error en el elemento se estima mediante la norma energética del residuo:

\eta_{e}^{2} = \int_{\Omega_{e}} \left(\boldsymbol{\sigma}^{*}-\boldsymbol{\sigma}_{h}\right)^{\mathsf T}\mathbf{C}^{-1}\left(\boldsymbol{\sigma}^{*}-\boldsymbol{\sigma}_{h}\right)\mathrm{d}\Omega, \qquad \eta^{2} = \sum_{e}\eta_{e}^{2}

donde \mathbf{C} es la matriz de elasticidad. El error relativo del modelo es \eta_{\text{rel}} = \eta \,/\, \sqrt{\lVert\boldsymbol{\sigma}^{*}\rVert_{E}^{2}+\eta^{2}}. Para el tet10, la recuperación se realiza en los puntos de Gauss superconvergentes mediante el método SPR (Zienkiewicz O.C., Zhu J.Z., The superconvergent patch recovery and a posteriori error estimates, Int. J. Numer. Meth. Eng., 1992); la integral sobre el elemento se calcula de forma exacta, sin error de cuadratura. Para el tet4 y las mallas mixtas se utiliza el promediado nodal, cuya precisión es menor.

El comando hotspots, a partir del indicador y del campo de tensiones, encuentra los focos y sus dimensiones, y el comando refine adaptive cierra el ciclo: cálculo → focos → zonas de refinamiento en los focos → reconstrucción de la malla → cálculo. El ciclo se detiene cuando se cumple una de las condiciones: el índice de convergencia de malla (GCI, véase el estudio de convergencia) no supera el objetivo, se ha diagnosticado una singularidad, el error relativo \eta_{\text{rel}} no supera el indicado o se ha agotado el número de pasadas.

Parámetros de refine adaptive: passes: número de pasadas de 1 a 8 (por defecto 3); gci: banda objetivo de GCI en porcentaje (por defecto 5); tol: error relativo ZZ objetivo en porcentaje; refine: cuántas veces reducir el tamaño del elemento en el foco en cada pasada (por defecto 1,8); minsize: límite inferior del tamaño; grading, max_hotspots, at=, radius=: suavidad de la transición, número de focos y zona explícita de medición. Tras la ejecución están disponibles las mediciones adaptive_passes, adaptive_verdict, adaptive_gci_percent, adaptive_richardson_peak, adaptive_zz_error_percent.

units mm
solve
refine adaptive passes=3 gci=5 tol=2 refine=1.6 minsize=0.5
probe adaptive_verdict

El submodelado (submodel at=… box=… size=… order=2) continúa la misma idea: alrededor del concentrador se recorta una subregión, que se malla fino (incluso con tet10 cuadráticos), y en los contornos de corte se transfieren los desplazamientos del modelo global grueso según el principio de Saint-Venant (método de interpolación de desplazamientos en el contorno). Los desplazamientos de los nodos de los contornos de corte, incluidos los intermedios, se imponen mediante una condición de Dirichlet no homogénea a través de ecuaciones de restricción.

Limitaciones. No es una adaptación h elemento a elemento: la malla se reconstruye de nuevo con zonas locales de tamaño en los focos. Se requiere un modelo tetraédrico estático resuelto con campo de tensiones de von Mises; las mallas hexaédricas, las láminas y las estructuras de barras no se procesan por esta vía y se rechazan. El indicador es exacto para el tet10 con SPR (en una ménsula con solución conocida, el índice de efectividad \theta = \eta/e_{\text{exact}} converge a 1,00: 1,23 → 1,07 → 1,002 en tres niveles de malla); con el tet4 el indicador es más burdo. La sección del contorno de corte del submodelo debe encontrarse lejos del concentrador (del orden de 2–3 radios del orificio); de lo contrario, el principio de Saint-Venant no está justificado.
Verificación. El indicador se ha comprobado en una ménsula con solución exacta. El caso Submodelado en el problema de Kirsch comprueba submodel y refine adaptive en una misma formulación: la malla P1 gruesa (h = 6 mm) subestima el pico en un 41,3 %, y el resultado tras el submodelado con tet10 local difiere de K_t = 3.08 en −3,57 %. Es un caso para dos funciones, por lo que el estado es prudente.

3.12Estudio de convergencia de mallabeta

La convergencia de malla no es la convergencia del solver. Aquí, una serie de cálculos independientes sobre una malla cada vez más fina responde a la pregunta: hacia qué tiende la magnitud elegida (con mayor frecuencia, el pico de tensión en el concentrador). Si no se estabiliza, cualquier número de la tabla de resultados es un artefacto de la malla.

La métrica de la serie es el máximo del campo dentro de una esfera alrededor del foco de la iteración anterior, no el máximo global: en mallas distintas el máximo global puede estar en lugares diferentes del modelo (junto al orificio en una, junto al empotramiento en otra), y entonces se comparan puntos distintos. El tamaño característico del elemento se toma de la propia malla dentro de la esfera como h = \overline{\Delta V_{e}}^{\,1/3} (Celik I.B. et al., Procedure for estimation and reporting of uncertainty due to discretization in CFD applications, J. Fluids Eng., 2008), y no del tamaño solicitado: el mallador no entrega el tamaño que se le pidió.

Para las tres últimas mallas con tamaños h_{1} > h_{2} > h_{3} y valores f_{1}, f_{2}, f_{3}:

r_{21} = \frac{h_{1}}{h_{2}},\quad r_{32} = \frac{h_{2}}{h_{3}},\quad \varepsilon_{21} = f_{2}-f_{1},\quad \varepsilon_{32} = f_{3}-f_{2}
p = \frac{\ln\left\lvert\varepsilon_{21}/\varepsilon_{32}\right\rvert}{\ln r_{\text{eff}}}, \qquad r_{\text{eff}} = \sqrt{r_{21}\,r_{32}}
f_{\text{ext}} = f_{3} + \frac{\varepsilon_{32}}{r_{32}^{\,p}-1}, \qquad \mathrm{GCI} = F_{s}\,\frac{\lvert\varepsilon_{32}/f_{3}\rvert}{r_{32}^{\,p}-1}, \quad F_{s}=1.25

Aquí p es el orden de convergencia observado, f_{\text{ext}} es la extrapolación de Richardson a una malla infinitamente fina y GCI es el índice de convergencia de malla de Roache (ASME V&V 20); la banda de incertidumbre es igual a \mathrm{GCI}\cdot\lvert f_{3}\rvert. El orden p se calcula con signo (en Celik figura el módulo de toda la expresión): el signo de p es precisamente el diagnóstico de divergencia. Para r_{21}, r_{32} desiguales se toma la media geométrica r_{\text{eff}} y no la fórmula iterativa de Celik.

Veredicto sobre la serie:

  • ha convergido: el GCI no supera el objetivo (por defecto 5 %), y el resultado se registra como f_{\text{ext}} \pm banda;
  • continúe refinando: la serie converge, pero la banda sigue siendo ancha; lo mismo ocurre con incrementos de signo alterno (la serie oscila en torno al límite y la extrapolación no es fiable);
  • probable singularidad: p \le 0, los incrementos no decrecen: el pico crece con el refinamiento. Es típico de una esquina entrante aguda (la tensión crece como h^{-\lambda}, para un ángulo de 270° \lambda \approx 0.456), de una fuerza puntual o de un empotramiento rígido a lo largo de una arista. La malla no ayudará: añada un redondeo o cambie la formulación;
  • datos insuficientes: menos de tres mallas; incorrecto: el tamaño no decrece, el pico es nulo o no numérico, o la malla no ha cambiado entre iteraciones.

No hay una parada silenciosa por límite de iteraciones: el veredicto es siempre uno de los enumerados.

Limitaciones. La estimación de Richardson supone una convergencia monótona en régimen asintótico; en mallas gruesas no es fiable. La relación h_{1}/h_{2} no se conoce con exactitud, por lo que la estimación del orden está sesgada; el veredicto utiliza para ello r_{\text{eff}}. La convergencia de una magnitud calculada a partir de tensiones nodales no sustituye la comprobación de magnitudes integrales (reacciones, energía). Para problemas singulares (esquina aguda), el resultado «no ha convergido» es la respuesta correcta, no un defecto del método.
Verificación. En la placa con orificio, los refinamientos sucesivos de la zona dieron la serie 2,27 → 2,63 → 2,89 MPa con incrementos decrecientes; la estimación del orden es p \approx 0.48, el veredicto es «converge, la banda sigue siendo ancha», y el límite analítico K_t \approx 3 no se supera. El algoritmo GCI forma parte del ciclo del caso Submodelado en el problema de Kirsch; no hay un caso específico para el propio algoritmo.

4Modelos de material

↑ Volver al índice

La sección describe las relaciones constitutivas que calcula WebCAE: qué incluye la ley, qué parámetros define el usuario, en qué tipos de análisis funciona la ley y con qué se ha comprobado. Parte de los modelos está implementada en el núcleo de cálculo, pero no se ha llevado hasta el cálculo del sólido; estos modelos están marcados como experimentales, y sus subsecciones lo indican de forma explícita.

Convenciones. La tracción es positiva. Las tensiones y deformaciones en las leyes se escriben en el orden de Voigt [xx,\,yy,\,zz,\,xy,\,yz,\,zx]; las deformaciones de cortante son de ingeniería (\gamma_{ij} = 2\varepsilon_{ij}), las tensiones tangenciales son tensoriales (\tau_{ij} = \sigma_{ij}). En la frontera del solver todo está en SI (Pa, K, kg/m³, s); en la interfaz, los campos de entrada aceptan MPa, GPa, psi, °C y los convierten a SI al introducirlos. En DSL las tensiones y los módulos se definen en pascales y las temperaturas de plasticidad en kelvin.

ModeloAnálisisEstado
Elasticidad isótropatodos los tipos lineales y no linealesestable
Ortotropía 3D con orientaciónestática lineal, tetraedrosbeta
Lámina laminadaestática, modal, estabilidad, carga térmicaestable
Plasticidad J2estática no lineal de sólidos (escritorio), dinámica explícitaestable
Johnson–Cookdinámica explícita; en estática sin velocidad ni temperaturaestable
Neo-Hookeestática no lineal de sólidosestable
Criterios de rotura del materialdinámica explícita (erosión)beta
Criterios de resistencia a partir de la solución elásticaposprocesadorbeta
Mooney–Rivlin, Yeoh, Arruda–Boyce, Ogdennúcleo; no conectados al cálculo del sólidoexperimental
F = Fe·Fp, Norton–Bailey, Perzyna, Prony, Drucker–Prager, GTNnúcleo; no conectados al cálculo del sólidoexperimental

4.1Material elástico lineal isótropoestable

Ley básica de todos los cálculos lineales y parte elástica de todos los no lineales. Es suficiente mientras las tensiones no alcancen la fluencia y las deformaciones sean pequeñas frente a la unidad.

Ley de Hooke en forma de Voigt:

\boldsymbol\sigma = \mathbf{C}\,\boldsymbol\varepsilon,\qquad \mathbf{C} = \begin{bmatrix} \lambda+2\mu & \lambda & \lambda & & & \\ \lambda & \lambda+2\mu & \lambda & & & \\ \lambda & \lambda & \lambda+2\mu & & & \\ & & & \mu & & \\ & & & & \mu & \\ & & & & & \mu \end{bmatrix}
\lambda = \frac{E\nu}{(1+\nu)(1-2\nu)},\qquad \mu = \frac{E}{2(1+\nu)},\qquad \kappa = \frac{E}{3(1-2\nu)}

El bloque \mu de la diagonal corresponde a los cortantes de ingeniería: \tau_{xy} = \mu\gamma_{xy}. Es admisible -1 < \nu < 0.5. Cuando \nu \to 0.5, la matriz \mathbf{C} degenera en su parte volumétrica y los tetraedros lineales se bloquean; para materiales casi incompresibles utilice elementos de segundo orden (véanse los elementos).

El usuario define el módulo de Young E, el coeficiente de Poisson \nu y la densidad \rho (véase la subsección siguiente). El resultado son los desplazamientos, las deformaciones, las tensiones y las magnitudes derivadas (equivalente de von Mises, principales) que se tratan en la sección de análisis lineales.

Se asigna un único material a todo el cuerpo. En un ensamblaje de varios cuerpos cada cuerpo tiene su propio material, incluidos E, \nu, \rho distintos en la unión de los cuerpos.

Limitaciones. La ley es isótropa, lineal e independiente de la temperatura, de la velocidad y de la historia: no hay tablas E(T) ni \nu(T). Si la temperatura de trabajo está lejos de la ambiente, defina E a esa temperatura.
Verificación. Tracción uniaxial de acero y de aluminio (acero, aluminio), cilindro de pared gruesa de Lamé (Lamé), conjunto NAFEMS de elasticidad lineal (LE1, LE10).
material E=200e9 nu=0.3 density=7850

4.2Densidad, dilatación térmica y dependencias de la temperaturaestable

La densidad \rho (kg/m³) es necesaria para el análisis modal, la dinámica, la gravedad y la aceleración; sin ella, una solicitud que involucre la masa se rechaza, en lugar de tomar un valor por defecto. Para láminas y laminados la masa se toma de la densidad del material o de las capas.

La dilatación térmica se define mediante el coeficiente de dilatación lineal \alpha (1/K). La deformación térmica es isótropa y la tensión la determina la parte mecánica:

\boldsymbol\varepsilon_{\mathrm{th}} = \alpha\,\Delta T\,[1,\,1,\,1,\,0,\,0,\,0]^{T},\qquad \boldsymbol\sigma = \mathbf{C}\,(\boldsymbol\varepsilon - \boldsymbol\varepsilon_{\mathrm{th}})

Las cargas térmicas y los problemas acoplados se describen en la sección de calor y multifísica. Aquí es importante que \alpha es constante: no existe una dependencia \alpha(T). Las dependencias de la temperatura en los modelos de material existen en tres lugares: la tabla de conductividad térmica \kappa(T) (kappa_table="T:k,…", temperatura en °C, lineal entre nodos, fuera de la tabla constante e igual al valor extremo), el factor de temperatura del límite elástico en el modelo de Johnson–Cook y la dilatación térmica de las capas del laminado. El módulo de Young no depende de la temperatura.

Limitaciones. Una capa de laminado sin \alpha_1, \alpha_2 con \Delta T \ne 0 se rechaza indicando el nombre del material: queda excluido el silencioso \alpha = 0. Los coeficientes \alpha_1, \alpha_2, \alpha_3 de un cuerpo ortótropo se almacenan en el material, pero en la estática de un cuerpo ortótropo 3D la deformación térmica no se aplica.
Verificación. Barra empotrada con calentamiento: tensión -E\alpha\Delta T (estática, dinámica).

4.3Biblioteca de materialesestable

La biblioteca integrada es una tabla única de preajustes; la utilizan la ficha del material en la interfaz, DSL y la interfaz programática. Un preajuste incluye E, \nu, \rho, conductividad térmica, capacidad calorífica, \alpha y el límite elástico para el coeficiente de seguridad.

  • Aceros: estructural general (200 GPa, 0,3, 7850 kg/m³), 20, 40Kh, 09G2S, inoxidable 304.
  • Aluminio: general (70 GPa, 0,33), D16T, 6061.
  • Titanio: general (116 GPa, 0,32) y VT6; cobre (120 GPa, 0,34); plásticos ABS y PA6.
  • Caucho como material neo-hookeano: \mu = 3.36 MPa, K = 166.7 MPa.
  • Preajustes plásticos: acero S355 (J2, \sigma_y = 355 MPa), aluminio 6061-T6 (J2), cobre OFHC y acero 4340 (Johnson–Cook).
  • Medios para CFD: aire, agua, aceite de motor, queroseno.

Los valores son de referencia y de grupo: tome la capacidad calorífica y los límites de una marca concreta de su certificado. El límite elástico de un preajuste ordinario solo es necesario para el coeficiente de seguridad y no incluye plasticidad; la plasticidad aparece en los preajustes con ley explícita y en los materiales en los que usted la haya definido.

El usuario añade sus propios materiales a la biblioteca del proyecto, los edita y los asigna a los cuerpos. Para las láminas laminadas existe una biblioteca aparte de materiales ortótropos de capa (plástico unidireccional integrado 140/10 GPa).

En DSL el preajuste aporta la base y los parámetros explícitos la redefinen:

material steel E=210e9
Limitaciones. La tabla es de grupo; no hay recálculo según la marca ni la temperatura. El preajuste del caucho se define mediante \mu y K y se convierte a E, \nu para el núcleo de cálculo.

4.4Material ortótropo 3D y orientaciónbeta

Para materiales cuyas propiedades difieren según los tres ejes: compuestos unidireccionales y tejidos, madera, laminados metálicos. La ley se define mediante nueve constantes independientes E_1, E_2, E_3, \nu_{12}, \nu_{23}, \nu_{13}, G_{12}, G_{23}, G_{13} en los ejes del material y la orientación de los ejes en cada elemento.

Matriz de flexibilidad en el orden de Voigt, cortantes de ingeniería:

\mathbf{S} = \begin{bmatrix} \frac{1}{E_1} & -\frac{\nu_{12}}{E_1} & -\frac{\nu_{13}}{E_1} & & & \\ -\frac{\nu_{12}}{E_1} & \frac{1}{E_2} & -\frac{\nu_{23}}{E_2} & & & \\ -\frac{\nu_{13}}{E_1} & -\frac{\nu_{23}}{E_2} & \frac{1}{E_3} & & & \\ & & & \frac{1}{G_{12}} & & \\ & & & & \frac{1}{G_{23}} & \\ & & & & & \frac{1}{G_{13}} \end{bmatrix},\qquad \mathbf{C} = \mathbf{S}^{-1}

Los coeficientes de Poisson se definen como \nu_{ij} = -\varepsilon_j/\varepsilon_i con \sigma_i uniaxial; la simetría da \nu_{ji} = \nu_{ij}E_j/E_i. El carácter definido positivo se comprueba antes del cálculo: E_i > 0, G_{ij} > 0, 1 - \nu_{ij}\nu_{ji} > 0 para los tres pares y

\Delta = 1 - \nu_{12}\nu_{21} - \nu_{23}\nu_{32} - \nu_{13}\nu_{31} - 2\,\nu_{12}\nu_{23}\nu_{31} > 0

Un conjunto que no cumple se rechaza indicando el nombre de la condición violada.

Orientación. En el centroide de cada elemento se construye una terna dextrógira (\mathbf{e}_1, \mathbf{e}_2, \mathbf{e}_3), y las filas de la matriz \mathbf{Q} son sus vectores en ejes globales. La matriz de rigidez del elemento se obtiene mediante la rotación de Bond, y las tensiones se devuelven en los ejes del material:

\mathbf{C}_{g} = \mathbf{T}_{\varepsilon}^{T}\,\mathbf{C}\,\mathbf{T}_{\varepsilon},\qquad \boldsymbol\varepsilon_{l} = \mathbf{T}_{\varepsilon}\,\boldsymbol\varepsilon_{g},\qquad \boldsymbol\sigma_{l} = \mathbf{T}_{\sigma}\,\boldsymbol\sigma_{g},\qquad \mathbf{T}_{\sigma}^{-1} = \mathbf{T}_{\varepsilon}^{T}

Modos de definir la terna:

  • surface: el eje \mathbf{e}_3 es igual a la normal exterior del triángulo de la cara de referencia más próximo al centroide; \mathbf{e}_1 es la proyección de la dirección axis indicada sobre el plano tangente, \mathbf{e}_2 = \mathbf{e}_3\times\mathbf{e}_1. Es adecuado para piezas laminadas sobre una superficie curva.
  • cartesian: una terna única: \mathbf{e}_3 a lo largo de normal, \mathbf{e}_1 es la proyección de axis.
  • cylindrical: \mathbf{e}_3 radial desde el eje del cilindro que pasa por origin.
  • spherical: \mathbf{e}_3 radial desde el punto origin.

El ángulo angle gira \mathbf{e}_1, \mathbf{e}_2 alrededor de \mathbf{e}_3: \mathbf{e}_1' = \cos\theta\,\mathbf{e}_1 + \sin\theta\,\mathbf{e}_2. Si la proyección del eje indicado es degenerada, se toma una dirección de reserva; el número de tales elementos queda registrado en el resultado. Las ternas se pueden mostrar sobre el modelo.

La solución es independiente del ensamblaje isótropo general: para los tetraedros TET4 y TET10, la rigidez se ensambla con las matrices rotadas, el sistema se resuelve por el método de gradientes conjugados con un precondicionador por bloques nodales, y las restricciones (CE, regiones rígidas) se introducen mediante penalización. Resultados: desplazamientos, tensiones en ejes globales y en ejes del material (localStressXX…XZ, sonda ortho_local_s11_max y análogas), campo de ternas.

Limitaciones. Solo estática lineal sobre tetraedros (TET4, TET10); los hexaedros no se admiten en el cálculo. Un material ortótropo por modelo. La deformación térmica de la anisotropía no se aplica (véase más arriba); el análisis modal y los cálculos no lineales del cuerpo ortótropo no están conectados. Un orden de elemento mixto por cuerpos se rechaza.
Verificación. Tracción fuera de ejes de una barra ortótropa, ángulo de refuerzo de 30°, solución de Lekhnitskii: desviación del 0,01 %. Es el único caso independiente; cálculo en una sola formulación y en una sola plataforma.
material E1=140e9 E2=10e9 E3=10e9 nu12=0.3 nu23=0.4 nu13=0.3 G12=5e9 G23=3.5e9 G13=5e9 density=1600
orientation surface number 3 axis=1,0,0 angle=30

En la interfaz, la ley ortótropa se elige en la ficha del material («Ortótropa 3D», nueve constantes, superficie de referencia, dirección, ángulo); los modos cilíndrico y esférico están disponibles desde DSL.

4.5Láminas laminadas: teoría de laminadosestable

Una lámina laminada sustituye un conjunto de capas por una única ley promediada en el espesor: el paquete de rigideces. Es adecuada para paneles compuestos y sándwiches en los que el espesor es pequeño frente a las dimensiones. Las capas se definen de abajo arriba (de -z_e a +z_e) con su propio material ortótropo, espesor y ángulo.

Capa en ejes del material, estado de tensión plana:

Q_{11} = \frac{E_1}{1-\nu_{12}\nu_{21}},\quad Q_{22} = \frac{E_2}{1-\nu_{12}\nu_{21}},\quad Q_{12} = \frac{\nu_{12}E_2}{1-\nu_{12}\nu_{21}},\quad Q_{66} = G_{12},\quad \nu_{21} = \nu_{12}\frac{E_2}{E_1}

Giro de un ángulo \theta respecto del eje x_e del elemento en sentido antihorario alrededor de +z_e (c = \cos\theta, s = \sin\theta):

\begin{aligned} \bar Q_{11} &= Q_{11}c^4 + 2(Q_{12}+2Q_{66})c^2s^2 + Q_{22}s^4, \\ \bar Q_{22} &= Q_{11}s^4 + 2(Q_{12}+2Q_{66})c^2s^2 + Q_{22}c^4, \\ \bar Q_{12} &= (Q_{11}+Q_{22}-4Q_{66})c^2s^2 + Q_{12}(c^4+s^4), \\ \bar Q_{66} &= (Q_{11}+Q_{22}-2Q_{12}-2Q_{66})c^2s^2 + Q_{66}(c^4+s^4), \\ \bar Q_{16} &= (Q_{11}-Q_{12}-2Q_{66})c^3s - (Q_{22}-Q_{12}-2Q_{66})cs^3, \\ \bar Q_{26} &= (Q_{11}-Q_{12}-2Q_{66})cs^3 - (Q_{22}-Q_{12}-2Q_{66})c^3s \end{aligned}

Los términos \bar Q_{16}, \bar Q_{26} son proporcionales a \sin 2\theta y cambian de signo con el ángulo; en 0^\circ y 90^\circ son nulos, por lo que las comprobaciones solo con esos ángulos no detectan el signo ni los términos de cortante. El corpus de comprobaciones del producto recorre \pm15^\circ, \pm30^\circ, \pm45^\circ, \pm60^\circ, \pm75^\circ y paquetes asimétricos.

Para la capa k comprendida entre z_{k-1} y z_k (desde la superficie de referencia), el paquete de rigideces por unidad de anchura es:

A_{ij} = \sum_k \bar Q_{ij}^{(k)}(z_k - z_{k-1}),\quad B_{ij} = \frac12\sum_k \bar Q_{ij}^{(k)}(z_k^2 - z_{k-1}^2),\quad D_{ij} = \frac13\sum_k \bar Q_{ij}^{(k)}(z_k^3 - z_{k-1}^3)
\mathbf{N} = \mathbf{A}\boldsymbol\varepsilon_0 + \mathbf{B}\boldsymbol\kappa,\qquad \mathbf{M} = \mathbf{B}\boldsymbol\varepsilon_0 + \mathbf{D}\boldsymbol\kappa,\qquad \mathbf{Q} = \mathbf{A}_s\boldsymbol\gamma,\qquad \mathbf{A}_s = \sum_k k_s^{(k)}\,\bar{\mathbf{Q}}_s^{(k)}\,t_k

Aquí \boldsymbol\varepsilon_0 = [\varepsilon_{xx}, \varepsilon_{yy}, \gamma_{xy}], \boldsymbol\kappa = [\kappa_{xx}, \kappa_{yy}, \kappa_{xy}] con curvatura de torsión de ingeniería, \varepsilon(z) = \varepsilon_0 + z\kappa. La matriz de acoplamiento \mathbf{B} es no nula en los paquetes asimétricos; entonces la tracción provoca flexión. El cortante transversal de la capa \bar{\mathbf{Q}}_s se construye a partir de G_{13}, G_{23} con el mismo giro:

\bar Q_{s,xz} = G_{13}c^2 + G_{23}s^2,\quad \bar Q_{s,yz} = G_{13}s^2 + G_{23}c^2,\quad \bar Q_{s,xz\,yz} = (G_{13}-G_{23})\,cs

Corrección por la no uniformidad del cortante: por defecto k_s = 5/6 para todas las capas. La variante shear=energetic toma k_s^{(k)} = \min\bigl(1,\ \tfrac56\,G_{\max}/G_k\bigr) por capas (un núcleo blando del sándwich acerca k_s a 1); es una heurística de ingeniería, no una deducción a partir de las condiciones de equilibrio.

El desplazamiento de la superficie de referencia en z_0 respecto del plano medio (offset=bottom|middle|top|número) recalcula el paquete sin volver a ensamblar: \mathbf{B}' = \mathbf{B} + z_0\mathbf{A}, \mathbf{D}' = \mathbf{D} + 2z_0\mathbf{B} + z_0^2\mathbf{A}.

El elemento es el MITC4 de cuatro nodos (Dvorkin, Bathe 1984; Bathe, Dvorkin 1985): el cortante según las deformaciones covariantes en los puntos de enlace, la membrana y la flexión en 2\times 2 puntos de Gauss, el giro alrededor de la normal estabilizado por la penalización de Hughes–Brezzi con la rigidez de cortante de membrana A_{66}. El paquete (\mathbf{A},\mathbf{B},\mathbf{D},\mathbf{A}_s) entra directamente en el elemento, de modo que la lámina isótropa es un caso particular del paquete (\mathbf{A} = Et/(1-\nu^2)\,\mathbf{C}, \mathbf{D} = Et^3/(12(1-\nu^2))\,\mathbf{C}, \mathbf{B}=0).

El eje x_e respecto del cual se miden los ángulos de las capas se define mediante la proyección del eje de referencia sobre la lámina (axis=X|Y|Z), el sistema de coordenadas (cs=) y el giro phi=. Si el eje de referencia es casi normal al elemento, se toma un eje de reserva y se notifica el número de tales elementos.

La carga térmica de la lámina entra a través de los esfuerzos \mathbf{N}_T = \int \bar{\mathbf{Q}}\,\bar{\boldsymbol\alpha}\,\Delta T\,dz y los momentos \mathbf{M}_T; las tensiones de la capa se calculan a partir de la deformación mecánica \varepsilon - \bar\alpha\Delta T(z). Para la capa se necesitan \alpha_1, \alpha_2 (a lo largo y a través de la fibra).

Lo que define el usuario: el material ortótropo de la capa (E1 E2 nu12 G12 G13 G23, densidad, resistencias, \alpha_1, \alpha_2) y la secuencia de apilado (plies="nombre:espesor:ángulo,…", symmetric, repeat, offset, shear). Los espesores de las capas se definen en unidades de longitud del script y los módulos en pascales. En la interfaz hay un editor de la secuencia de capas en las secciones de láminas. La formulación es la misma en ambas plataformas: en el escritorio (referencia) las láminas se calculan por la vía nativa, en el navegador mediante la compilación web.

ortho name=ud E1=140e9 E2=10e9 nu12=0.3 G12=5e9 G13=5e9 G23=3.5e9
section shell laminate plies="ud:0.25:45,ud:0.25:-45,ud:0.25:0" symmetric=true
Limitaciones. Solo láminas cuadrangulares (mesh shell element=quad): el elemento triangular no tiene acoplamiento de membrana con flexión. No se admiten: la no linealidad geométrica del paquete multicapa, la dinámica implícita (la masa del laminado no está conectada a ella, y el cálculo no se sustituye por una lámina isótropa). Teoría de primer orden: perfil de desplazamiento lineal en el espesor, cortante constante en el espesor. Respecto de la elasticidad tridimensional subestima la flecha de las placas gruesas: -10 \ldots -12\,\% con una relación lado/espesor de 4–10, -4\ldots-5\,\% con 20, -0.2\,\% con 100 (paquete cruzado; referencia: solución tridimensional de Pagano, reproducida con un código independiente).
Verificación. El catálogo de verificación no contiene casos de laminados; las comprobaciones están en el conjunto de desarrollo. El ensamblaje de \mathbf{A},\mathbf{B},\mathbf{D} y de las tensiones de capa se ha contrastado con un script de referencia independiente en 9 paquetes (tolerancia relativa 10^{-9}), y los ángulos \pm15^\circ\ldots\pm75^\circ en 27 paquetes. Elemento frente a la solución de Ritz para la misma teoría de primer orden: hasta el 0,7 % en 16 casos; frecuencias y carga crítica de placas simplemente apoyadas: hasta el 3 % con malla de 18×12 (con malla de 12×8, la mayor de las tres frecuencias de un mismo paquete daba el 6,8 %, con 18×12 el 2,6 %). Ménsula de plástico unidireccional frente a la fórmula de viga con d_{11}: dentro del 3 %. La flecha de la ménsula a 0^\circ y 90^\circ sigue a E_1 y E_2. Los números de estas comprobaciones se obtuvieron principalmente en la compilación web; en la ruta nativa se repitió el bloque de comprobaciones modales y de estabilidad (hasta el 4,6 % con malla de 12×8); el resto no se recalculó en nativo.

4.6Criterios de fallo de capa y tensiones interlaminaresbeta

Posprocesador por capas: a partir de las deformaciones generalizadas de la lámina en el elemento (o de su recuperación nodal SPR) se calculan las tensiones de la capa en ejes del material (\sigma_1, \sigma_2, \tau_{12}) en los puntos inferior, medio y superior de la capa, y después los índices de fallo. Para los criterios se necesitan las resistencias de la capa X_t, X_c, Y_t, Y_c, S en ortho; sin cualquiera de ellas, el criterio se rechaza indicando el nombre del campo.

  • Tensiones máximas: FI = \max\bigl(\lvert\sigma_1\rvert/X,\ \lvert\sigma_2\rvert/Y,\ \lvert\tau_{12}\rvert/S\bigr), X e Y se eligen según el signo de la tensión.
  • Tsai–Hill: FI = (\sigma_1/X)^2 - \sigma_1\sigma_2/X^2 + (\sigma_2/Y)^2 + (\tau_{12}/S)^2.
  • Tsai–Wu: FI = F_1\sigma_1 + F_2\sigma_2 + F_{11}\sigma_1^2 + F_{22}\sigma_2^2 + F_{66}\tau_{12}^2 + 2F_{12}\sigma_1\sigma_2, F_1 = 1/X_t - 1/X_c, F_{11} = 1/(X_tX_c), F_{12} = -\tfrac12\sqrt{F_{11}F_{22}}.
  • Hashin (plano, cuatro modos): rotura de la fibra a tracción (\sigma_1/X_t)^2 + (\tau_{12}/S)^2, pérdida de estabilidad de la fibra (\sigma_1/X_c)^2, agrietamiento de la matriz a tracción (\sigma_2/Y_t)^2 + (\tau_{12}/S)^2, a compresión (\sigma_2/2S_{23})^2 + \bigl[(Y_c/2S_{23})^2 - 1\bigr]\sigma_2/Y_c + (\tau_{12}/S)^2; el índice de la capa es el máximo entre los modos.
  • Delaminación: FI = (\tau_{13}/S_{13})^2 + (\tau_{23}/S_{23})^2 según el cortante interlaminar.

El factor de reserva RF es el multiplicador de carga con el que FI = 1: para un criterio lineal 1/FI, para los cuadráticos 1/\sqrt{FI}, para Tsai–Wu y para «matriz–compresión» de Hashin, la raíz positiva de la ecuación a\lambda^2 + b\lambda = 1. Sondas de DSL: laminate_fi_<criterio>, laminate_rf_<criterio>, laminate_s1, laminate_s2, laminate_t12, laminate_t13, laminate_t23 con el sufijo _plyN para la capa N (1 es la inferior).

Tensiones interlaminares según la teoría de primer orden: \tau_{13}, \tau_{23} son constantes en el espesor de la capa. La opción interlaminar=equilibrium recupera \tau_{xz}, \tau_{yz} integrando las ecuaciones de equilibrio en el espesor a partir de la cara inferior libre (los gradientes se toman de los elementos vecinos de la malla); \sigma_{zz} es una estimación según el mismo principio.

Limitaciones. Primer fallo de capa, sin degradación de la rigidez ni desarrollo del daño. Las \tau y \sigma_{zz} recuperadas por equilibrio son estimaciones: \sigma_{zz} no se ha contrastado con la solución tridimensional, no la utilice como criterio cuantitativo; para una malla de un solo elemento no están disponibles. Las resistencias las introduce el usuario y no se comprueba su coherencia. Un prototipo aparte de criterios de Puck no está conectado al producto.
Verificación. Los índices de fallo y las reservas se han contrastado con un script de referencia independiente, incluida la reserva de Tsai–Wu como raíz de una ecuación cuadrática. No hay casos de verificación en el catálogo.

4.7Plasticidad J2estable

Modelo de Huber–von Mises para metales: trabajo elástico hasta el límite elástico y, después, flujo plástico con endurecimiento. Se aplica en cálculos no lineales de sólidos (pequeñas deformaciones o no linealidad geométrica) y en dinámica explícita. El esquema general de las iteraciones no lineales se describe en la sección sobre la no linealidad del material.

Superficie de fluencia con tensor de tensiones de retroceso \boldsymbol\alpha:

f = q - R,\qquad q = \sqrt{\tfrac32}\,\lVert\boldsymbol\xi\rVert,\qquad \boldsymbol\xi = \mathbf{s} - \boldsymbol\alpha

donde \mathbf{s} es el desviador de tensión. La integración es un retorno radial (Simo, Hughes, Computational Inelasticity, 1998, cap. 3; Wilkins, 1964). Paso elástico de prueba \mathbf{s}^{\mathrm{tr}} = 2\mu\,\mathrm{dev}(\boldsymbol\varepsilon - \boldsymbol\varepsilon_p); si f^{\mathrm{tr}} \le 0, el paso es elástico. En caso contrario, con la normal \mathbf{n} = \boldsymbol\xi^{\mathrm{tr}}/\lVert\boldsymbol\xi^{\mathrm{tr}}\rVert:

\mathbf{s}_{n+1} = \mathbf{s}^{\mathrm{tr}} - 2\mu\,\Delta\gamma\,\mathbf{n},\qquad \Delta\gamma = \sqrt{\tfrac32}\,\Delta p,\qquad g(\Delta p) = f^{\mathrm{tr}} - 3\mu\,\Delta p - \bigl[\sigma_c(p_n+\Delta p) - \sigma_c(p_n)\bigr] = 0

La ecuación escalar para el incremento de la deformación plástica equivalente \Delta p es estrictamente monótona y la raíz es única: para endurecimiento lineal \Delta p = f^{\mathrm{tr}}/(3\mu + H), para una curva, un Newton seguro con bisección en el intervalo [0,\ f^{\mathrm{tr}}/3\mu]. La tangente es algorítmica (consistente con el integrador), simétrica:

\mathbb{D}_{ep} = \kappa\,\mathbf{1}\otimes\mathbf{1} + 2\mu\theta\bigl(\mathbb{I} - \tfrac13\mathbf{1}\otimes\mathbf{1}\bigr) - 2\mu\Bigl[\frac{3\mu}{3\mu + \hat H} - (1-\theta)\Bigr]\mathbf{n}\otimes\mathbf{n},\qquad \theta = 1 - \frac{3\mu\,\Delta p}{q^{\mathrm{tr}}}

Endurecimiento. La curva \sigma_c(p) es el diagrama de carga monótona uniaxial:

  • plasticidad perfecta: \sigma_c = \sigma_{y0};
  • lineal según el módulo tangente E_t: \sigma_c = \sigma_{y0} + Hp, H = E E_t/(E - E_t);
  • multilineal: tabla (p_i, \sigma_i), el primer punto p_0 = 0 define \sigma_{y0}, p crece estrictamente, \sigma no decrece; más allá del último punto la tensión es constante (plasticidad perfecta) y no se prolonga según la pendiente.

La fracción de endurecimiento cinemático \beta \in [0, 1] (0 es isótropo, 1 es cinemático lineal de Prager) mezcla los mecanismos: radio R = \sigma_{y0} + (1-\beta)\bigl(\sigma_c(p) - \sigma_{y0}\bigr), desplazamiento del centro \Delta\boldsymbol\alpha = \sqrt{2/3}\,\beta\,\bigl[\sigma_c(p_{n+1}) - \sigma_c(p_n)\bigr]\,\mathbf{n}. El diagrama uniaxial no depende de \beta, mientras que la fluencia inversa (efecto Bauschinger) sí depende. El reblandecimiento está prohibido (H \ge 0).

Cinemática de la estática no lineal: en el modo de no linealidad geométrica la ley acepta la deformación de Green–Lagrange y devuelve el segundo tensor de Piola–Kirchhoff (la plasticidad es aditiva en este par: pequeñas deformaciones, grandes giros); la salida es la tensión de Cauchy \sigma = \mathbf{F}\mathbf{S}\mathbf{F}^T/J. En el modo «solo material» \varepsilon = \mathrm{sym}\nabla\mathbf{u}. La historia de carga (loadpath="1,0") da deformaciones residuales tras la descarga y ciclos.

Lo que define el usuario: E, \nu (parte elástica), \sigma_{y0} (yield=, Pa), el endurecimiento (hardening=linear|multilinear, et=, curve="p:σ,p:σ,…"), kinematic=. Resultado: deformación plástica equivalente (campo nodal, sonda plastic_strain), fracción de puntos de Gauss plastificados y, para plasticidad perfecta, la fracción límite de la carga.

Limitaciones. Solo sólidos; las vigas y las láminas con plasticidad se rechazan. La estática no lineal implícita con plasticidad se ejecuta en el escritorio; en el navegador se rechaza indicando la causa, y un cálculo lineal de un material plástico se resuelve como elástico con una advertencia. La ley aditiva no describe el flujo con deformaciones de decenas de por ciento (véase F = Fe·Fp). La plasticidad perfecta por encima de la carga límite pierde el equilibrio: esto se devuelve como resultado con la fracción límite de la carga, y con endurecimiento, como un rechazo. El módulo E_t es estrictamente menor que E, y \sigma_{y0} es menor que E.
Verificación. Soluciones cerradas de carga uniaxial, descarga y fluencia inversa, cortante puro: uniaxial, descarga, fluencia inversa, cortante puro: desviación del orden de 10^{-6} %. Invariancia esférica, parche en malla no estructurada, objetividad con giros de 17°, 53°, 121° (hasta el 0,57 %, las mallas del cuerpo girado y del base son distintas): hidrostática, parche, objetividad. Rótula plástica de sección rectangular, momento límite \sigma_y b h^2/4: 0,05 %. Cálculo por etapas con plasticidad: etapas. La misma ley en dinámica: barra elastoplástica, en dinámica explícita: endurecimiento lineal, curva multilineal, efecto Bauschinger. Los números de los casos implícitos se obtuvieron en la ruta nativa.
material E=210e9 nu=0.3 plasticity=j2 yield=250e6 hardening=linear et=1e9
nlgeom material loadpath="1,0"
solve

4.8Johnson–Cookestable

Ley para metales con altas velocidades de deformación y calentamiento: el límite elástico crece con la velocidad y disminuye con la temperatura. El ámbito principal es la dinámica explícita: impacto, perforación, aceleración.

\sigma_y = \bigl[A + B\,\bar\varepsilon_p^{\,n}\bigr]\bigl[1 + C\ln\dot\varepsilon^{*}\bigr]\bigl[1 - T^{*m}\bigr],\qquad \dot\varepsilon^{*} = \frac{\dot{\bar\varepsilon}_p}{\dot\varepsilon_0},\quad T^{*} = \mathrm{clamp}\Bigl(\frac{T - T_{\mathrm{room}}}{T_{\mathrm{melt}} - T_{\mathrm{room}}},\,0,\,1\Bigr)

El factor de velocidad se activa solo cuando \dot\varepsilon^* > 1 (por debajo es la unidad: la cuasiestática actúa como cota inferior). El retorno es el mismo que en J2, pero en la ecuación para \Delta p entran la velocidad del paso \dot{\bar\varepsilon}_p = \Delta p/\Delta t y el factor de temperatura vigente. El calentamiento adiabático se activa definiendo la capacidad calorífica c_p del material de la ley: \Delta T = \eta\,q\,\Delta p/(\rho c_p), \eta es la fracción de Taylor–Quinney (0,9 por defecto); la temperatura cambia de forma escalonada y la fluencia del paso se calcula a la temperatura del inicio del paso.

Parámetros: A, B (Pa), n, C, m, \dot\varepsilon_0 (epsdot0, 1/s), T_{\mathrm{room}} (troom, K), T_{\mathrm{melt}} (tmelt, K), taylor, cp. El endurecimiento cinemático no se combina con Johnson–Cook (rechazo).

Limitaciones. La velocidad y la temperatura actúan en la dinámica explícita. En la estática no lineal implícita la ley se calcula sin los términos de velocidad ni de temperatura, es decir, como endurecimiento potencial A + B\bar\varepsilon_p^n a temperatura ambiente; el calentamiento adiabático en la ruta implícita se rechaza. Los módulos E, \nu no cambian con la temperatura. Para el cobre (preajuste «Cu-1») en el cálculo explícito la capacidad calorífica se toma dependiente de la temperatura (Banerjee, 2005); los campos de la ley de fusión y del módulo de cortante de Steinberg–Cochran–Guinan del preajuste describen un modelo de referencia y no participan en el cálculo del sólido.
Verificación. Dinámica explícita, nativo: sensibilidad a la velocidad del cobre (relación de tensiones 1,1147 frente a 1,1151), calentamiento adiabático, impacto de Taylor, convergencia con el paso. El calentamiento adiabático del punto material se ha contrastado con la fórmula de forma exacta (calentamiento). No hay en el catálogo un caso implícito con Johnson–Cook.
material E=120e9 nu=0.34 density=8900 plasticity=jc A=90e6 B=292e6 n=0.31 C=0.025 m=1.09 tmelt=1356 cp=385

4.9Criterios de rotura del materialbeta

Los criterios funcionan dentro de la ley plástica J2 o de Johnson–Cook y son necesarios para la erosión de elementos en dinámica explícita; la estática y el análisis modal los ignoran. La activación de cualquier criterio es el fallo del punto de Gauss. Lo que hace el producto con el elemento se describe en la sección sobre la erosión.

  • \varepsilon_p \ge \varepsilon_{\mathrm{fail}}: deformación plástica equivalente límite (ep:).
  • Daño acumulado de Johnson–Cook D = \sum \Delta\varepsilon_p/\varepsilon_f \ge 1 (jc:d1/d2/d3/d4/d5):
\varepsilon_f = \bigl[d_1 + d_2\,e^{d_3\eta}\bigr]\bigl[1 + d_4\ln\dot\varepsilon^{*}\bigr]\bigl[1 + d_5 T^{*}\bigr],\qquad \eta = \sigma_m/\sigma_{\mathrm{eq}}

El signo de d_3 es el de Johnson, Cook (Eng. Fract. Mech. 21(1), 1985, 31–48): en los metales d_3 < 0; \eta está limitado al intervalo [-3, 3].

  • \sigma_1 \ge \sigma_{\max}: mayor tensión principal (smax:, Pa).
  • \sigma_m \ge p_{\mathrm{spall}}: tracción hidrostática, desprendimiento (spall:, Pa).

El daño D no reduce la rigidez: solo desencadena el fallo.

Limitaciones. Solo dinámica explícita; erosión en HEX8 y TET4. Los criterios no se definen sin una ley plástica. Los parámetros d_1\ldots d_5 los introduce el usuario; se comprueba la positividad de \varepsilon_f en tracción y compresión uniaxiales.
Verificación. Erosión de una barra homogénea según la deformación plástica límite: caso, desviación del 1,46 %. Los demás criterios no tienen casos propios.
material steel plasticity=j2 yield=355e6 fail="ep:0.25,smax:1.2e9"

4.10Material neo-hookeanoestable

Material hiperelástico para caucho y elastómeros con deformaciones finitas. Funciona en la estática no lineal de sólidos en la formulación Total Lagrangian (no linealidad geométrica).

W = \frac{\mu}{2}\bigl(\bar I_1 - 3\bigr) + \frac{\kappa}{2}(J-1)^2,\qquad \bar I_1 = J^{-2/3}\,\mathrm{tr}\,\mathbf{C},\quad \mathbf{C} = \mathbf{F}^T\mathbf{F},\quad J = \det\mathbf{F}

El segundo tensor de Piola–Kirchhoff \mathbf{S} = 2\,\partial W/\partial\mathbf{C} y la tangente \mathbb{D} = 4\,\partial^2 W/\partial\mathbf{C}\partial\mathbf{C} están escritos analíticamente (contraste con diferencias finitas: hasta 10^{-8}). La tensión de salida es la de Cauchy, \boldsymbol\sigma = \mathbf{F}\mathbf{S}\mathbf{F}^T/J. Las constantes \mu, \kappa se toman de E, \nu del material mediante las fórmulas de la subsección sobre elasticidad isótropa (en la ficha del caucho se definen \mu y K). Elementos: HEX8, TET4, WEDGE6, PYR5, HEX20, TET10, HEX27.

Limitaciones. Formulación puramente de desplazamientos, sin formulación mixta en presión: con \kappa/\mu del orden de 10^3 y superior los elementos lineales se bloquean, utilice cuadráticos. No se combina con la plasticidad. Se activa junto con el cálculo no lineal del sólido (en DSL nlgeom on); en estática lineal y en la ruta de caja con tetraedros, un material no lineal se rechaza, en lugar de calcularse como lineal bajo un nombre no lineal.
Verificación. Tracción uniaxial, biaxial, plana y cortante simple (efecto Poynting) sobre un elemento: uniaxial, biaxial, plana, cortante, orden de convergencia con la malla 2,0, objetividad: todos dentro del 0,6 %.
material E=1e7 nu=0.45 model="neo-hookean" density=1100
nlgeom on

4.11Mooney–Rivlin, Yeoh, Arruda–Boyce, Ogdenexperimental

Potenciales para curvas de tracción del caucho que la ley neo-hookeana no describe. El núcleo contiene los cuatro con tangente analítica; en la versión actual no existe un enlace completo «ficha del material — cálculo del sólido», por lo que la sección es experimental.

\begin{aligned} W_{\mathrm{MR}} &= C_{10}(\bar I_1-3) + C_{01}(\bar I_2-3), \\ W_{\mathrm{Y}} &= \sum_{i=1}^{3} C_{i0}(\bar I_1-3)^i, \\ W_{\mathrm{AB}} &= \mu\sum_{i=1}^{5}\frac{c_i}{\lambda_m^{2i-2}}\bigl(\bar I_1^{\,i} - 3^i\bigr),\quad c = \bigl\{\tfrac12,\tfrac1{20},\tfrac{11}{1050},\tfrac{19}{7000},\tfrac{519}{673750}\bigr\}, \\ W_{\mathrm{O}} &= \sum_{p=1}^{N}\frac{2\mu_p}{\alpha_p^2}\bigl(\bar\lambda_1^{\alpha_p}+\bar\lambda_2^{\alpha_p}+\bar\lambda_3^{\alpha_p}-3\bigr),\quad N\le 3 \end{aligned}

A cada potencial se le añade la parte volumétrica \tfrac\kappa2(J-1)^2 (en Arruda–Boyce \tfrac\kappa2\bigl[\tfrac12(J^2-1)-\ln J\bigr]); \kappa = 2/D_1 si se define el parámetro de compresibilidad D_1. Módulos de pequeñas deformaciones: Mooney–Rivlin \mu_0 = 2(C_{10}+C_{01}), Yeoh \mu_0 = 2C_{10}, Arruda–Boyce \mu_0 = \mu, Ogden \mu_0 = \sum\mu_p (convención de Abaqus; el c_p = \mu_p/\alpha_p clásico se elige con la bandera ogden_abaqus=false). Para Ogden, los alargamientos principales se obtienen por la descomposición espectral de \mathbf{C}.

Limitaciones. La ficha acepta las constantes del potencial, pero estas no llegan al cálculo del sólido según el código: DSL sobre geometría rechaza los modelos distintos del neo-Hooke, y la ruta no lineal de la interfaz recibe solo el nombre del modelo; sin constantes, el núcleo sustituye valores por defecto (por ejemplo, Mooney–Rivlin se reduce al neo-hookeano con C_{10} = \mu/2). No utilice estos modelos para calcular un sólido mientras no esté cerrado el enlace.
Verificación. Tracción uniaxial \lambda = 2 sobre un elemento, constantes definidas directamente en el núcleo: Yeoh 0,02 %, Ogden 0,02 %, Arruda–Boyce 0,01 %; calibración conjunta con los datos de Treloar: caso. Es una comprobación de potenciales y tangentes, no del cálculo de una pieza. Para Mooney–Rivlin no hay caso.

4.12Deformaciones elastoplásticas finitas F = Fe·Fpexperimental

La plasticidad multiplicativa es necesaria donde el esquema aditivo J2 es incorrecto: deformaciones de decenas de por ciento. Se ha implementado un prototipo de la ley, no conectado a la interfaz ni a DSL.

El gradiente se descompone como \mathbf{F} = \mathbf{F}_e\mathbf{F}_p, \det\mathbf{F}_p = 1. La elasticidad es la de Hencky en la configuración elástica: de la descomposición espectral de \mathbf{C}_e = \mathbf{F}_e^T\mathbf{F}_e se obtienen las deformaciones logarítmicas h_a = \tfrac12\ln\lambda_a y la tensión de Kirchhoff \boldsymbol\tau = K\,\mathrm{tr}(\mathbf{h})\,\mathbf{1} + 2\mu\,\mathrm{dev}(\mathbf{h}). El flujo es asociado de von Mises con endurecimiento lineal \sigma_y = \sigma_{y0} + Hp; el incremento \Delta p = f^{\mathrm{tr}}/(3\mu + H) se halla de forma cerrada en el espacio de deformaciones logarítmicas, y la parte plástica se actualiza mediante la exponencial \mathbf{F}_p^{n+1} = \exp(\Delta p\,\mathbf{N})\,\mathbf{F}_p^{n}, \mathbf{N} = \tfrac32\,\mathrm{dev}(\boldsymbol\tau)/q. El esquema es del mismo tipo que el de Eterovic, Bathe (1990) y Simo (1992). Para su paso a las iteraciones de Newton, la tensión de Cauchy \boldsymbol\sigma = \boldsymbol\tau/J se convierte en el segundo tensor de Piola–Kirchhoff, la tangente \partial\mathbf{S}/\partial\mathbf{E} se toma con diferencias centrales de cuarto orden; en los elementos HEX8, HEX20, HEX27 y TET10 se aplica la corrección \bar F contra el bloqueo volumétrico.

Limitaciones. La ley existe en el núcleo y está comprobada sobre un punto material (objetividad, elasticidad de Hencky, flujo nulo con carga esférica); desde la ficha del material y desde DSL sus parámetros no pasan al cálculo, y la conexión de la ley a los elementos del sólido no ha entrado en ninguna versión. La tangente es numérica. No hay en el catálogo casos de verificación de deformaciones finitas con cálculo por elementos finitos.

4.13Fluencia lenta de Norton–Baileyexperimental

Fluencia lenta potencial de metales a altas temperaturas y cargas prolongadas: la deformación crece con tensión constante, y la tensión se relaja con deformación constante.

\dot{\bar\varepsilon}_{cr} = A\,q^{\,n}\,t^{\,m},\qquad \dot{\boldsymbol\varepsilon}_{cr} = \tfrac32\,\dot{\bar\varepsilon}_{cr}\,\mathbf{s}/q

q es la tensión equivalente de von Mises; en el núcleo hay endurecimiento por tiempo y por deformación y la forma integral \bar\varepsilon_{cr} = A q^n t^m (NAFEMS Test 10B). El paso es un Euler implícito con retorno radial y una ecuación escalar para q_{n+1}, tangente analítica. Parámetros en DSL: creep_a, creep_n, creep_m.

Limitaciones. Existen el núcleo y la ficha del material; DSL sobre geometría rechaza este modelo, la ruta de caja lo rechaza, y el producto no realiza el cálculo de un sólido con fluencia lenta. No hay dependencia de la temperatura A(T). Los casos se han realizado sobre un punto material y cadenas unidimensionales.
Verificación. Punto material: tensión constante (exacto), relajación (0,2 %), NAFEMS Test 10B (hasta el 3,4 %, estado de tensión plana). No hay casos de elementos finitos.

4.14Viscoplasticidad de Perzynaexperimental

Flujo plástico dependiente de la velocidad: la tensión puede superar el límite estático y el exceso provoca un flujo viscoplástico.

\dot{\bar\varepsilon}_{vp} = \Bigl\langle \frac{q - \sigma_y(\bar\varepsilon_{vp})}{\eta}\Bigr\rangle^{m},\qquad \sigma_y = \sigma_{y0} + H\bar\varepsilon_{vp}

Euler implícito, ecuación escalar \Delta p - \Delta t\bigl\langle (f^{\mathrm{tr}} - (3\mu + H)\Delta p)/\eta\bigr\rangle^m = 0 en un intervalo, tangente analítica. Cuando \Delta t\to\infty la ley tiende a J2 estático, con \eta pequeño a la plasticidad rígida.

Limitaciones. Las mismas que en la fluencia lenta: el cálculo del sólido no está conectado, y el modelo no se utiliza en la dinámica explícita ni implícita. Los parámetros \eta y m son dimensionales (\eta en Pa·s^{1/m}).
Verificación. Punto material: sobretensión: velocidad de flujo y deformación acumulada frente a la fórmula.

4.15Viscoelasticidad: series de Prony y cadenas reológicasexperimental

Viscoelasticidad lineal de polímeros: relajación del módulo con el tiempo. El módulo de cortante en forma de serie de Prony, el volumétrico de forma análoga:

G(t) = G_0\Bigl[g_\infty + \sum_{i=1}^{M} g_i\,e^{-t/\tau_i}\Bigr],\quad g_\infty = 1 - \sum g_i,\qquad K(t) = K_0\Bigl[k_\infty + \sum k_i\,e^{-t/\tau_i}\Bigr]

Las variables internas de las ramas se actualizan mediante una recurrencia exponencial exacta (Simo, Hughes, 1998, §10.2): \mathbf{h}_i^{n+1} = e^{-\Delta t/\tau_i}\mathbf{h}_i^n + 2G_0 g_i\,\beta_i\,\Delta\mathbf{e}, \beta_i = (1 - e^{-\Delta t/\tau_i})\,\tau_i/\Delta t; hasta seis ramas, y si faltan los k_i se toma k_i = g_i. Por separado existen cadenas unidimensionales de Maxwell, Kelvin–Voigt, Zener y Burgers con paso exponencial exacto, y un amortiguador termomecánico con balance de energía.

Limitaciones. La ley de Prony para un punto material tridimensional aún no ha entrado en ninguna versión; las cadenas unidimensionales entraron en la rama principal después de la versión 0.2.1. Los parámetros de la ficha no pasan al cálculo del sólido. No hay superposición tiempo-temperatura (WLF).
Verificación. Cadenas unidimensionales frente a soluciones cerradas: relajación de Maxwell, Kelvin–Voigt, sólido lineal estándar, Burgers, amortiguador viscoelástico. Es una comprobación de integradores, no del cálculo de un sólido.

4.16Drucker–Prager para suelos y rocasexperimental

Plasticidad dependiente de la presión para suelo, hormigón y rocas: el límite de cortante crece con el confinamiento, y el flujo va acompañado de dilatancia.

f = q + \alpha p - k(\bar\varepsilon_p),\qquad \alpha = \frac{6\sin\varphi}{3-\sin\varphi},\quad k = \frac{6\,c\cos\varphi}{3-\sin\varphi},\quad c = c_0 + H_c\bar\varepsilon_p,\quad p = \tfrac13\mathrm{tr}\,\boldsymbol\sigma

El cono se ajusta al meridiano de compresión triaxial de la superficie de Mohr–Coulomb, por lo que la tensión axial límite con presión lateral P_c es igual a

\sigma_{1c} = P_c\,\frac{1+\sin\varphi}{1-\sin\varphi} + \frac{2c\cos\varphi}{1-\sin\varphi}

El potencial es no asociado: g = q + \beta p, \beta = 6\sin\psi/(3-\sin\psi), ángulo de dilatancia 0 \le \psi \le \varphi. Retorno a la pared lisa del cono y, si la proyección queda más allá del vértice, retorno al vértice (de Souza Neto, Perić, Owen, 2008, §8.3). Con \psi \ne \varphi la tangente es asimétrica. Parámetros en DSL: cohesion (Pa), friction_angle, dilatancy_angle (grados).

Limitaciones. No existe una superficie hexagonal de Mohr–Coulomb independiente: es el cono de Drucker–Prager que coincide con ella en el meridiano de compresión. El cálculo del sólido con esta ley no está conectado (véase más arriba); los problemas de consolidación, capacidad portante y estabilidad de taludes no están implementados en el producto como cálculos de sólido. Con \varphi=0 el retorno al vértice es imposible.
Verificación. Punto material, compresión triaxial, dilatancia y vértice del cono: caso. No hay casos de elementos finitos.

4.17Plasticidad porosa GTNexperimental

En el núcleo solo existen la función de fluencia de Gurson–Tvergaard–Needleman \Phi = (q/\sigma_y)^2 + 2q_1 f\cosh\bigl(3q_2 p/2\sigma_y\bigr) - (1 + q_3 f^2) = 0 y la curva de la tensión equivalente límite en función de la presión. No hay evolución de la porosidad, integrador de tensiones ni conexión con el cálculo.

Verificación. El único caso es el caso límite de porosidad nula, en el que la función se reduce a von Mises: GTN con f = 0.

4.18Criterios de resistencia a partir de la solución elásticabeta

Posprocesador del coeficiente de seguridad sobre los campos nodales de tensiones: el cambio de criterio o de límite no requiere un nuevo cálculo. No forma parte de la ley del material ni es plasticidad. Para cada nodo se calcula la utilización u y el coeficiente de seguridad n = 1/u (acotado superiormente para tensión nula).

CriterioUtilización u
von Mises\sigma_{vm}/\sigma_y
Tresca(\sigma_1 - \sigma_3)/\sigma_y
Saint-Venant(\sigma_1 - \nu\sigma_3)/\sigma_y
Rankine\max(\sigma_1/S_t,\ -\sigma_3/S_c)
Coulomb–Mohr\sigma_1/S_t - \sigma_3/S_c si \sigma_1 \ge 0 \ge \sigma_3; en caso contrario según el signo de las tensiones principales
Drucker–Prager\bigl[\sigma_{vm} + \beta(\sigma_1+\sigma_3)\bigr]/\sigma_{eq}, \beta = \frac{S_c-S_t}{S_c+S_t}, \sigma_{eq} = \frac{2S_tS_c}{S_c+S_t}
Goodman, Soderberg, Gerber\sigma_{vm}/2S_f + \sigma_{vm}/2S_u; \sigma_{vm}/2S_f + \sigma_{vm}/2S_y; \sigma_{vm}/2S_f + (\sigma_{vm}/2S_u)^2
Limitaciones. Simplificaciones: Saint-Venant utiliza solo \sigma_3 en lugar de \nu(\sigma_2+\sigma_3); en Drucker–Prager el primer invariante se sustituye por la suma \sigma_1+\sigma_3 (exacto para estados uniaxiales, sin tener en cuenta \sigma_2 en el caso general); los criterios de fatiga suponen un ciclo pulsante 0\to\sigma con amplitud y valor medio \sigma_{vm}/2, y no una historia de carga. Los límites \sigma_y, S_t, S_c, S_f, S_u los define el usuario en la ficha del material. Solo interfaz (paso de resultados); no hay sonda DSL del coeficiente de seguridad.
Verificación. Cubierto por pruebas unitarias de las fórmulas; no hay casos de verificación en el catálogo.

5Condiciones de contorno, cargas y restricciones

↑ Volver al índice

Una condición de contorno o una carga en WebCAE es un registro. El registro consta de cuatro partes: el tipo (apoyo, carga, restricción rígida, ecuación de restricción), la magnitud (desplazamiento, fuerza, presión, aceleración, etc.), la componente con su valor y la lista de objetos de la geometría a los que se aplica el registro: vértices, aristas, caras o el sólido. Los objetos se direccionan por los números del árbol del modelo (surface number 3, edge number 7, vertex number 2), y no por una dirección respecto a la caja envolvente. El formulario del árbol y el comando del script crean el mismo registro y comparten la misma lógica; la gramática de los comandos se describe en la página /docs/dsl.

El compilador de registros reúne todos los registros en un único planteamiento y lo entrega al solver. Los registros se suman: la presión y la fuerza sobre una misma cara dan una única tracción resultante, y los apoyos de distintas componentes de una misma cara se acumulan. Los valores se introducen en el sistema de unidades del proyecto (la unidad figura junto al campo), la geometría se almacena en mm y en la frontera del solver todo se convierte al SI: metros, newtons, pascales, kilogramos. La conversión se realiza en un solo lugar; aguas abajo no hay una segunda conversión.

Las acciones térmicas (temperatura impuesta, flujo de calor, convección, radiación, generación volumétrica de calor) y el salto de temperatura para termoelasticidad se describen en la sección de análisis térmico: Transferencia de calor y multifísica. El contacto y la unión de sólidos se tratan en la sección Contacto y uniones. Aquí se recogen las acciones mecánicas y las restricciones.

Qué se defineA qué se aplicaCómo entra en el cálculo
Apoyo, desplazamiento impuestovértice, arista, cara, sólidoeliminación de grados de libertad
Restricción normal (rodillo, simetría)caraecuaciones de restricción en los nodos de la cara
Fuerzavértice, arista, cara, sólidofuerzas nodales
Presión, fuerza distribuidacarafuerzas nodales consistentes sobre la cara
Aceleración, gravedadtodo el modelofuerza volumétrica \rho\,\mathbf{a}
Fuerza remota, momento, desplazamientovértice, arista, cara, sólidonodo maestro virtual y RBE2
Restricción rígida RBE2, ecuación MPCvértices, aristas, caras, sólidoseliminación de grados de libertad dependientes

5.1Apoyos y desplazamientos impuestosestable

Un apoyo anula el desplazamiento de los nodos de la geometría seleccionada según uno, dos o tres ejes. Un desplazamiento impuesto da a esos nodos un valor no nulo d. Ambos casos son condiciones de Dirichlet u_i = d para un conjunto de grados de libertad S.

Las condiciones se cumplen de forma exacta, sin penalización. Los grados de libertad de S se eliminan del sistema: la solución se escribe como \mathbf{u} = \mathbf{T}\,\mathbf{u}_{\mathrm{f}} + \mathbf{u}_0, donde \mathbf{u}_{\mathrm{f}} son los grados de libertad libres, \mathbf{u}_0 aporta los valores no nulos d, y se resuelve el sistema reducido

\mathbf{T}^{\mathsf T}\mathbf{K}\,\mathbf{T}\;\mathbf{u}_{\mathrm{f}} = \mathbf{T}^{\mathsf T}\bigl(\mathbf{f} - \mathbf{K}\,\mathbf{u}_0\bigr).

No se introducen multiplicadores de Lagrange. El mismo mecanismo de eliminación sirve para las restricciones rígidas y las ecuaciones MPC; los detalles figuran en la sección Solvers.

Lo que define el usuario: el objetivo (vértice, arista, cara o sólido), la componente all, x, y o z y el valor. Un valor nulo es un apoyo; uno no nulo, un desplazamiento impuesto en las unidades de longitud del proyecto. La componente all con valor no nulo impone el mismo valor en los tres ejes. Resultado: el campo de desplazamientos y las reacciones en los apoyos (comando reactions, sección Resultados).

Reglas que conviene conocer:

  • los apoyos x, y y z sobre una misma cara se acumulan; tres ejes equivalen a un empotramiento completo;
  • para cada grado de libertad se admite una sola restricción dependiente. Por ello, un apoyo (d=0) prevalece sobre un desplazamiento impuesto en la misma cara y el mismo eje; de dos desplazamientos impuestos sobre una misma cara y eje actúa el primero por orden, y la diferencia de valores genera una advertencia;
  • el desplazamiento impuesto se admite únicamente sobre una cara. Un registro sobre un vértice, una arista o un sólido con valor no nulo no desaparece en silencio: el cálculo informa de que necesita una cara;
  • un modelo con desplazamiento impuesto se considera sujeto: no se emite la advertencia «sin apoyo»;
  • un apoyo en un único vértice de un sólido genera una advertencia: la reacción se recoge en un solo nodo, la tensión allí crece al refinar la malla y la tensión máxima pasa a ser una propiedad de la malla y no del modelo. El planteamiento admite tres vértices que suprimen los seis modos de sólido rígido;
  • para los sólidos solo se restringen los grados de libertad de traslación. El solver no acepta un registro de «giro» sobre una cara de un sólido; los apoyos de vigas y láminas se definen con los comandos de estructura reticular (frame support).
Limitaciones. El apoyo es perfectamente rígido: en las esquinas entrantes y en los apoyos puntuales la tensión es singular. Este mecanismo no incluye apoyos elásticos; para ellos sirve el resorte. El sistema de coordenadas local no actúa sobre los apoyos ni sobre los desplazamientos impuestos (solo sobre las cargas vectoriales). En estática lineal el desplazamiento impuesto no nulo se aplica por completo; el comportamiento en cálculos no lineales se describe en la sección Cálculos no lineales y dinámica.
Verificación. Empotramiento del extremo y tracción axial: Tracción uniaxial (acero), desviación 3\cdot10^{-5}\,\%. Apoyos y simetría en una placa gruesa: NAFEMS LE10, 0.67\,\%. Desplazamiento impuesto en el contorno: Submodelado: concentración en una entalla, -3.57\,\% (los desplazamientos del modelo global se transfieren al contorno del submodelo). Desplazamiento impuesto según la normal: Inflado de un cilindro, 0.24\,\%.
fix surface number 1
fix surface number 2 component=z value=0.5
fix edge number 4

5.2Restricción normal: rodillo y plano de simetríaestable

La restricción normal impide que los nodos de una cara se muevan a lo largo de la normal a la superficie y les deja libertad en el plano tangente. Con valor nulo es un rodillo o un plano de simetría. Con valor no nulo es un desplazamiento impuesto a lo largo de la normal exterior (inflado, compresión).

Para el nodo a de la cara se escribe la ecuación

\mathbf{n}_a\cdot\mathbf{u}_a = d ,

donde \mathbf{n}_a es la normal nodal. Se obtiene promediando las normales de los triángulos de contorno adyacentes con un peso igual a su ángulo interior en el nodo (Thürmer G., Wüthrich C., Computing vertex normals from polygonal facets, Journal of Graphics Tools, 1998). El peso por área se comprobó y se descartó: en un cuadrilátero plano dividido por una diagonal desplaza la normal, mientras que el peso por ángulo no depende de la división.

Si un nodo se encuentra en la unión de dos caras con restricciones normales, aparecen en él varias ecuaciones para tres grados de libertad. Se reducen mediante el método completo de Gauss–Jordan con elección del pivote, y las normales no se promedian. Dos planos de simetría ortogonales dan dos filas independientes, y el nodo queda libre para deslizar a lo largo de la línea de su intersección. Las normales casi paralelas (una superficie lisa dividida en dos caras) dan una fila redundante, que se descarta. Las restricciones contradictorias generan una advertencia y la fila no se aplica. En una esquina de tres planos independientes el nodo queda fijo.

No existe un tipo especial «simetría». Un plano de simetría es una restricción normal con d=0, y en una cara plana perpendicular a un eje equivale a restringir una componente. Las cargas sobre la parte simétrica del modelo se definen como una fracción de la carga total: si se ha recortado un cuarto, se aplica un cuarto de la fuerza. La antisimetría (condiciones u_t = 0 y u_n libre) no existe en el producto.

Limitaciones. La normal del nodo está promediada sobre la malla. En una cara curva con malla no uniforme, la dirección de la restricción difiere de la normal verdadera en un ángulo pequeño que disminuye al refinar. Una cara admite una restricción normal; un segundo registro sobre la misma cara se descarta con una advertencia. La restricción normal solo funciona sobre caras. En un ensamblaje con contacto sin fricción se admite únicamente sobre caras perpendiculares a los ejes: sobre una cara inclinada el cálculo se rechaza.
fix surface number 2 component=normal value=0
fix surface number 3 component=normal value=0.05

5.3Fuerzas concentradas, fuerzas lineales y fuerzas sobre el sólidoestable

La fuerza se define mediante un vector (N) y se aplica a un vértice, una arista, una cara o un sólido. Lo que hace el solver con la resultante depende del tipo de objetivo.

  • Vértice. La fuerza concentrada va a un único nodo de la malla. El vértice debe resolverse en exactamente un nodo; de lo contrario el cálculo se rechaza. Bajo una fuerza puntual la tensión es singular y los valores cercanos al punto dependen de la malla; el resultado debe juzgarse por secciones alejadas del punto (principio de Saint-Venant).
  • Arista. La resultante se reparte a partes iguales entre los nodos situados sobre la arista. Las partes son iguales para todos los nodos de la arista; la longitud de los tramos que corresponden a cada nodo no se tiene en cuenta. Por eso, en una arista con malla no uniforme la carga no resulta uniforme lineal, sino «a partes iguales por nodo».
  • Cara. La resultante \mathbf{F} se divide por el área de la cara en m²: se obtiene una tracción uniforme \mathbf{t}=\mathbf{F}/A, que se integra de forma consistente (siguiente subsección). Por ello la suma de las fuerzas nodales es igual a \mathbf{F}.
  • Sólido. La resultante se distribuye por el volumen: \mathbf{f}_a = (\mathbf{F}/V)\int_{\Omega} N_a\,dV, donde V es el volumen del sólido. En un ensamblaje se direcciona el sólido; sin indicar sólido, la fuerza actúa sobre todo el modelo.

No se define un momento concentrado sobre un sólido: un nodo de elemento volumétrico no tiene rigidez de giro. El momento aplicado a una zona se define mediante una carga remota. Para vigas y láminas, las fuerzas y momentos nodales están disponibles con el comando frame load node=… force=… moment=… (véase Estructura reticular, vigas y parches de lámina).

Limitaciones. La fuerza sobre una arista no tiene en cuenta las longitudes que corresponden a cada nodo. La fuerza sobre un sólido no se admite en un ensamblaje con contacto: la vía de contacto no tiene entrada para carga volumétrica y el cálculo se rechaza de forma explícita. La aceleración sí funciona en tal ensamblaje.
Verificación. Unidades y convenciones de la fuerza puntual en una ménsula: Ménsula sólida bajo fuerza puntual, desviación 2.02\,\% (un mismo problema en mm/MPa/N y en m/Pa/N). Fuerzas concentradas sobre una lámina: NAFEMS LE3, 0.13\,\%. Tracción en el extremo: Tracción uniaxial (acero).
load vertex number 3 force=0,0,-100
load edge number 5 force=0,-2000,0
load surface number 2 force=5000 component=z

5.4Presión y fuerzas distribuidas sobre una caraestable

La presión p actúa según la normal a la cara y se considera positiva cuando presiona contra el sólido. La fuerza distribuida es una tracción \mathbf{t}_d en Pa, definida mediante un vector. Sobre la cara actúa la tracción

\mathbf{t} = -\,p\,\mathbf{n}_{\mathrm{out}} + \mathbf{t}_d ,

donde \mathbf{n}_{\mathrm{out}} es la normal exterior. Las fuerzas nodales son consistentes:

\mathbf{f}_a = \int_{\Gamma} N_a\,\mathbf{t}\;d\Gamma .

La normal exterior de cada cara se determina a partir del elemento adyacente: la normal se dirige desde el centroide del elemento propietario. Así el signo de la presión es correcto también en superficies interiores (canal de una tubería, taladro), donde el centroide de todo el modelo queda fuera del material. Para las caras planas de elementos lineales (tri3, quad4) la integral se calcula de forma exacta. Para las caras de elementos cuadráticos se aplican tri6 (cuadratura de tres puntos) y quad8 (cuadratura de Gauss 3\times3). En una cara tri6 plana los nodos de esquina reciben 0 y los nodos intermedios un tercio de la resultante cada uno; en un rectángulo plano quad8 los nodos de esquina reciben -1/12 de la resultante y los intermedios +1/3. Son los repartos nodales clásicos de los elementos cuadráticos.

La fuerza sobre una cara (en N) se convierte en tracción dividiéndola por el área de la cara en m²; el registro distributed_force se define directamente en Pa. La presión y las fuerzas sobre una misma cara se suman en una sola carga.

Limitaciones. La presión es constante sobre la cara: el registro no admite dependencia de las coordenadas (hidrostática, gradiente lineal). En problemas fuertemente no lineales, una presión que permanece normal a la cara inicial («muerta») puede ser un modelo incorrecto; la presión seguidora se describe más abajo. Para láminas la presión se define sobre un parche (frame load patch=… p=…), para vigas mediante una carga lineal (frame load member=… q=…).
Verificación. NAFEMS LE10 (placa gruesa bajo presión), 0.67\,\%; NAFEMS LE1 (presión en el borde), 3.62\,\%; NAFEMS LE6 (placa romboidal), 1.65\,\%; Cilindro de pared gruesa en un manguito, 0.48\,\%; Ménsula bajo carga distribuida, 1.03\,\%.
units mm
load surface number 1 pressure=10
load surface number 4 distributed_force=2 component=y

5.5Presión seguidorabeta

La presión seguidora gira junto con la cara y actúa siempre según la normal de la configuración actual, deformada. Para grandes desplazamientos y giros es el único modelo correcto de presión de gas o de líquido. La cara se parametriza con las coordenadas (\xi,\eta) y las coordenadas actuales son \mathbf{x}=\sum N_a(\xi,\eta)\,\mathbf{x}_a, donde \mathbf{x}_a=\mathbf{X}_a+\mathbf{u}_a. La fuerza nodal para una fracción de carga \lambda:

\mathbf{f}_a = -\,\lambda\,p\int N_a\;\mathbf{x}_{,\xi}\times\mathbf{x}_{,\eta}\;d\xi\,d\eta .

Esquema de Hibbitt (1979); véase también Wriggers, Nonlinear Finite Element Methods, 2008, §4.2.5. Caras tri3, quad4, tri6 y quad8; la cuadratura se ha elegido de modo que la integral sea exacta y la suma de fuerzas y de momentos sobre una superficie cerrada sea nula con precisión de máquina. La rigidez tangente de la carga es analítica y en el caso general no es simétrica (la carga de una sola cara no es conservativa); para una superficie cerrada bajo presión constante la suma sobre las caras es simétrica. Los detalles del planteamiento y su aportación a las iteraciones de Newton figuran en la sección Cálculos no lineales y dinámica.

El modo de presión se elige en los ajustes del cálculo no lineal de sólidos: «seguidora» o «muerta». Con la no linealidad geométrica activada actúa por defecto la seguidora. En el modo «solo no linealidad del material» (deformaciones pequeñas) la presión es muerta. Para una cara arbitraria existe el comando explícito nlgeom follower nodes="…" p=… con los nodos de la cara (3, 4, 6 u 8, p>0 comprime).

Limitaciones. La presión seguidora funciona solo en estática no lineal de sólidos y solo en la aplicación de escritorio. En dinámica implícita y en cálculos por etapas de construcción el cálculo se rechaza de forma explícita; las vigas y láminas de la estructura reticular no leen el modo de presión. El indicador «seguidora» de un registro de presión individual se guarda en el proyecto, pero el solver toma el modo de los ajustes del cálculo no lineal y no del indicador del registro. En el método de longitud de arco, la solución tangente no contiene la derivada de la carga respecto al parámetro: el corrector sigue siendo convergente, pero no cuadrático.
Verificación. El catálogo de verificación no tiene un caso específico de presión seguidora. El núcleo se ha comprobado con cálculos de control: la suma de fuerzas y la suma de momentos sobre una superficie cerrada es del orden de 10^{-13} de la carga con todos los nodos distorsionados; la tangente coincide con las diferencias centrales hasta 10^{-10}; una placa sobre un resorte torsional con presión seguidora da el ángulo analítico \theta=\lambda(M_0+pAL/2)/k con precisión de cero de máquina, mientras que la presión muerta da otra respuesta. Estado beta: verificación a nivel de núcleo, sin referencia independiente en el catálogo.

5.6Aceleración, gravedad y rotaciónestable

La aceleración es una carga volumétrica sobre todo el modelo. Se define el vector \mathbf{a} en m/s²; sobre el material actúa la fuerza másica

\mathbf{f}_b = \rho\,\mathbf{a}, \qquad f_a = \int_{\Omega} N_a\,\rho\,\mathbf{a}\;dV .

La gravedad es un caso particular. Para la gravedad a lo largo de -z se define a_z=-9.81\,\mathrm{m/s^2}: el signo delante de \rho\mathbf{a} es positivo y el vector \mathbf{a} es la dirección de actuación de la fuerza másica. Las componentes según x, y y z se suman en un único vector. Las fuerzas nodales se calculan por integración consistente sobre el volumen, de modo que la resultante es igual a \rho V\mathbf{a} salvo el error de integración.

Se necesita la densidad del material. Para una lámina sin densidad la aceleración desaparecería en silencio, por lo que el cálculo se rechaza y pide definir la densidad. En los ensamblajes la densidad se toma por sólidos.

La carga centrífuga como acción estática independiente \omega^2\rho\,r no figura en la lista de cargas. Las estructuras en rotación se tienen en cuenta de otro modo: los términos giroscópicos y el ablandamiento por rotación entran en el análisis de rotores (Dinámica de rotores), la velocidad angular inicial se define en dinámica implícita, y la excitación sísmica de la base se define mediante la aceleración de la base en dinámica y en análisis espectral (planteamiento relativo \mathbf{F}=-\mathbf{M}\boldsymbol{\iota}\,\mathbf{a}_0\,k(t)).

Limitaciones. Hay una aceleración por modelo: no se puede definir un campo variable por sólidos. La aceleración no tiene fase. No todas las vías de cálculo tienen entrada para la aceleración: el pandeo lineal y la termoelasticidad en vías simplificadas se rechazan en lugar de perder la carga.
Verificación. Peso propio en etapas de construcción y excavación: Construcción por etapas de una columna, 0.12\,\%; Excavación por etapas, 0.17\,\%. Aceleración de la base: Dinámica: aceleración sísmica de la base y RBE2, 0.051\,\%.
load accel=-9.81 component=z

5.7Fuerza, momento y desplazamiento remotosbeta

La carga remota aplica una fuerza \mathbf{F} y un momento \mathbf{M} en un punto arbitrario \mathbf{x}_m (que puede estar fuera del sólido) y los transmite a la cara, arista, vértice o sólido seleccionado. En el punto se crea un nodo maestro virtual. Los nodos del objetivo pasan a ser dependientes según la regla del sólido rígido:

\mathbf{u}_i = \mathbf{u}_m + \boldsymbol{\theta}_m\times(\mathbf{x}_i-\mathbf{x}_m),

y la fuerza y el momento se aplican al nodo maestro. Tras eliminar los nodos dependientes, se distribuyen sobre el objetivo como carga equivalente. El desplazamiento remoto define los grados de libertad del nodo maestro: tres desplazamientos y tres giros, y cada eje puede activarse o desactivarse. El punto, las fuerzas y los momentos se definen en el sistema de coordenadas local elegido.

Limitaciones. La zona cargada se comporta como rígida: no se deforma, por lo que la rigidez de las zonas vecinas y las tensiones cerca de la zona están sobrestimadas (como en cualquier RBE2). La distribución de la carga sobre el objetivo la determina la geometría y no la flexibilidad del material; el producto no incluye una restricción de interpolación que transmita la carga con pesos sin añadir rigidez (RBE3). No se admite el sistema local cilíndrico.
Verificación. El catálogo no tiene un caso específico de carga remota. La unión mediante RBE2 se ha comprobado con el caso Dinámica: base y restricciones RBE2 y con pruebas de equivalencia de fuerzas (suma de fuerzas y momento respecto al punto). Estado beta.
remote load surface number 2 point=150,5,5 force=1000,0,0 moment=0,0,5
remote motion surface number 2 point=1,2,3 translate=0.01,0,0 uaxes=1,0,0

5.8Restricciones rígidas RBE2 y ecuaciones de restricciónestable

Una zona rígida (RBE2) obliga a los nodos dependientes a moverse junto con el maestro como un único sólido rígido; las fórmulas figuran en la sección Biblioteca de elementos finitos. En el registro se indican el objetivo maestro y los objetivos esclavos: cualquiera entre vértice, arista, cara o sólido.

Cómo se introduce en el cálculo. Los nodos de los objetivos maestro y esclavos forman un único sólido rígido; como maestro se elige el nodo más próximo al centroide del objetivo maestro. En mallas cuadráticas, los nodos intermedios también pasan a ser dependientes. Los grados de libertad dependientes se eliminan mediante la transformación \mathbf{u}=\mathbf{T}\mathbf{u}_{\mathrm{f}}+\mathbf{u}_0: no se emplean multiplicadores de Lagrange ni penalización, las cadenas de dependencias se colapsan y el sistema reducido se resuelve con el mismo solver (véase Solvers). El conflicto de dos restricciones sobre un mismo grado de libertad, o un ciclo, detienen el cálculo con un código de causa.

Para que la restricción no contradiga otras condiciones, antes del cálculo se excluyen de ella:

  • los nodos fijados por condiciones de contorno (el número de nodos excluidos se comunica mediante una advertencia);
  • los nodos que ya son dependientes en otra restricción rígida (se elimina la intersección);
  • los nodos del objetivo maestro que ya son dependientes en otra restricción: no se eligen como maestros y, si no quedan nodos libres, la restricción se omite.

Si no queda ningún nodo esclavo, la restricción se omite con una advertencia.

En el proyecto se puede definir una ecuación de restricción de forma general \sum_i c_i\,u_i = r (MPC) para los grados de libertad de los vértices. El primer término de la ecuación es el grado de libertad dependiente y los demás son maestros. Las ecuaciones libres solo se crean en el formulario de la interfaz; no existe comando de script para ellas (para estructuras reticulares existe frame constraint). Las articulaciones cinemáticas (de revolución, cilíndrica, esférica) se construyen a partir de zonas rígidas y ecuaciones lineales alrededor de nodos maestros virtuales; no existe comando de script para ellas ni caso de verificación.

Limitaciones. La RBE2 es rígida: no admite deformación de la zona y sobrestima la rigidez. La condición está escrita para giros pequeños (\boldsymbol{\theta}\times\mathbf{r} es una aproximación lineal). Las restricciones de interpolación RBE3 no están implementadas en el producto; la posibilidad más cercana es la carga remota, que también se construye sobre RBE2. Los modos pinned y coupling-x/y/z se ofrecen en el formulario como «articulados» y «según un eje», pero en el solver todos estos registros pasan por el mismo canal RBE2 con restricción completa. Para una restricción en una sola dirección, defina una ecuación MPC. En sólidos (tres grados de libertad por nodo) la diferencia respecto a una restricción «articulada» no se aprecia; en vigas y láminas es significativa.
Verificación. Dinámica: base y restricciones RBE2, 0.051\,\% (factor de amplificación dinámica 1,946, vía nativa); Termomecánica: barras paralelas (ecuación de restricción de la placa junto a la estructura reticular), 0\,\%. No hay casos para MPC libres ni para articulaciones.
rigid link master vertex number 6 slaves surface number 2

5.9Sistemas de coordenadas localesbeta

El sistema de coordenadas (SC) local es necesario para cargas dirigidas según ejes inclinados. Un SC cartesiano se define mediante el origen, el eje z y, si es necesario, la dirección del eje x. La terna se construye así: \mathbf{e}_z es el vector normalizado del eje z, \mathbf{e}_x es el eje x ortogonalizado por Gram–Schmidt, \mathbf{e}_y=\mathbf{e}_z\times\mathbf{e}_x. Si el eje x no se define o es paralelo a z, se completa con una perpendicular arbitraria, y en ese caso solo se puede girar el SC alrededor de z indicando x.

La componente x de un registro vinculado a un SC, con valor q, significa el vector q\,\mathbf{e}_x (análogamente y, z). El giro se hace una sola vez, en el compilador de cargas; todos los valores aguas abajo ya son globales. El origen del SC solo se usa para puntos remotos; la fuerza concentrada, como vector libre, no lo lee. La vinculación a un SC actúa sobre la fuerza, la fuerza distribuida, la aceleración, la fuerza remota y el desplazamiento remoto.

Limitaciones. Solo se admite el SC cartesiano. En un SC cilíndrico el versor \mathbf{e}_r depende de la posición del nodo y el giro de un único vector de carga no está definido: el registro se calcula en ejes globales y se acompaña de una advertencia. Los apoyos, los desplazamientos impuestos y las restricciones normales no usan SC. Un SC inexistente genera una advertencia y el registro se calcula en ejes globales.
Verificación. Cubierto por pruebas unitarias (construcción de la terna, la suma de las fuerzas por componentes es igual a la resultante definida); no hay caso independiente en el catálogo, por lo que es beta.
cs turned origin=0,0,0 axisZ=0,0,1 axisX=1,1,0
load surface number 2 fx=1000 cs=turned

5.10Pretensado de pernosexperimental

El perno virtual modela el apriete de una unión sin construir la rosca: dos bridas se comprimen con una fuerza axial F_0 y el perno la soporta como una barra elástica. Es adecuado para estimar la apertura de la junta y la carga sobre el perno en ensamblajes.

Cómo se construye el modelo. En los centroides de las caras de apoyo de la cabeza y de la tuerca se crean dos nodos maestros; cada uno se vincula con los nodos de su cara mediante una zona rígida. Entre los nodos maestros se introduce una viga de Timoshenko con área de sección A y rigidez axial k_b=EA/L, donde L es la distancia entre centroides. Sobre los nodos maestros se aplica un par de fuerzas autoequilibrado \pm F_0 a lo largo del eje del perno. La fuerza se puede definir mediante la fuerza F_0 o mediante el par de apriete: F_0 = T/(K\,d), donde K es el coeficiente de par (por defecto 0,2) y d el diámetro. Área de la sección: nominal \pi d^2/4, área resistente a tracción A_s=\tfrac{\pi}{4}(d-0.9382\,P)^2 con el paso de rosca gruesa (ISO 898-1) o definida manualmente. La clase de resistencia (8.8, 10.9, 12.9) determina el límite elástico por defecto: 640, 900 y 1080 MPa; el valor puede definirse manualmente.

Posprocesamiento para cada perno: fuerza de trabajo F_{\mathrm{work}}=F_0+k_b\,\Delta u, donde \Delta u es el desplazamiento axial relativo de los nodos maestros en la solución; tensión \sigma=F_{\mathrm{work}}/A; coeficiente de seguridad \mathrm{SF}=\sigma_y/\sigma. Se señalan la plastificación del perno, un coeficiente de seguridad bajo (menor que 1,25) y la apertura de la junta, cuando la fuerza de trabajo cae casi a cero.

Limitaciones. Es una estimación basada en un modelo de elementos finitos, no un cálculo completo según VDI 2230. No incluye el factor de introducción de la carga \Phi, las pérdidas por asentamiento, la dispersión del apriete, las correcciones por temperatura, el cálculo de la rosca a cortante, la flexión del perno ni la fatiga. La rigidez de las piezas unidas se define en un campo, pero no entra en la fórmula de la fuerza: se obtiene del propio modelo de elementos finitos. Las zonas rígidas en las caras de apoyo hacen rígida la huella bajo la cabeza. No se ha comprobado la concordancia de la estimación de F_{\mathrm{work}} con el cálculo manual según VDI 2230.
Verificación. No hay verificaciones con referencia independiente: las pruebas unitarias comprueban el ensamblado del modelo (nodos, arañas, rigidez, fuerzas) y las fórmulas de posprocesamiento, pero no el contraste con un cálculo de referencia de la unión. El caso Contacto: junta con brida y pretensado define las fuerzas de apriete directamente y no usa el perno virtual. El comando de script bolt apareció después de la versión publicada.
bolt surface number 10 surface number 20 preload=20000 diameter=12 class=10.9

5.11Resortes y masas puntualesbeta

El resorte es una unión elástica entre dos zonas del modelo o entre una zona y una base fija; la masa puntual es un elemento de un solo nodo sin rigidez. Ambos elementos se describen en la sección Biblioteca de elementos finitos; aquí se explica cómo entran en la lista de condiciones.

El resorte se crea con un registro con su propio objetivo (cara, arista o vértice) y una rigidez k en N/m; para la base se indica la palabra ground en lugar del segundo objetivo. Adicionalmente se pueden definir una rigidez transversal, una rigidez torsional y una fuerza de pretensado F_0. El posprocesamiento entrega el alargamiento \Delta L y la fuerza de trabajo F=F_0+k\,\Delta L. La masa puntual es el comando mass; en el producto afecta al análisis modal y dinámico de estructuras reticulares de vigas y láminas.

Limitaciones. El resorte es lineal y bilateral; el trabajo unilateral y la holgura son un problema de contacto. Las zonas rígidas en los extremos hacen rígidas las áreas conectadas. En modelos de elementos volumétricos la masa puntual se registra pero no entra en el cálculo: para una masa suspendida sobre un sólido use una zona rígida o la densidad.
Verificación. No hay en el catálogo un caso de resorte: las pruebas comprueban el ensamblado y la rigidez del elemento equivalente. Para la masa puntual, el caso más cercano es NAFEMS FV4, 1.06\,\%.
spring surface number 3 ground k=2e6 preload=100
mass node=1000,0,0 m=100

5.12Simetría cíclicaexperimental

La simetría cíclica permite calcular un solo sector de un disco, una rueda o una corona de álabes en lugar de toda la estructura. Planteamiento: el sector se repite N veces alrededor de un eje, y el ángulo del sector es \Delta\theta=2\pi/N. Los nodos del contorno inferior del sector se giran un ángulo +\Delta\theta alrededor del eje (fórmula de Rodrigues) y se emparejan con los nodos del contorno superior dentro de una tolerancia. Para cada par se imponen tres ecuaciones de restricción

\mathbf{u}_{\mathrm{high}} - \mathbf{R}(\Delta\theta)\,\mathbf{u}_{\mathrm{low}} = \mathbf{0}.

Es un armónico de índice k=0: el estado deformado es el mismo en todos los sectores. Tras el cálculo, el resultado puede desarrollarse a los 360^\circ completos: los desplazamientos se giran, el tensor de tensiones se gira como tensor (la tensión equivalente de von Mises no cambia).

Para los armónicos k\ge1 (ondas de Floquet–Bloch) el código forma una restricción con el factor de fase complejo \mathrm{e}^{\mathrm{i}k\Delta\theta} mediante las partes real e imaginaria. El solver estático es real y no admite tal campo, por lo que los armónicos k\ge1 no se utilizan en el cálculo.

El usuario define los contornos inferior y superior del sector (caras), el número de sectores, el eje y la tolerancia: en la interfaz, en la sección «Simetría cíclica» del paso de condiciones de contorno; en el script, con el comando cyclic. El cálculo del sector es estática lineal con ecuaciones de restricción.

Limitaciones. Solo k=0, es decir, un estado de carga axisimétrico. Las mallas de los dos contornos deben coincidir dentro de la tolerancia; si no coinciden, se produce un rechazo o una advertencia sobre el número de nodos sin pareja. Los grados de libertad de giro (vigas, láminas) no se incluyen en la restricción. La carga debe ser la misma en todos los sectores.
Verificación. No hay caso independiente en el catálogo. Las pruebas unitarias comprueban: la conservación de la longitud y la ortogonalidad del giro, la invariancia de las ecuaciones bajo torsión pura y bajo expansión radial, la invariancia de la tensión equivalente al girar. El módulo y el comando cyclic aparecieron después de la versión publicada.
cyclic surface number 1 surface number 2 sectors=12 axis=0,0,1 tol=0.05

5.13Pasos, fases y leyes temporales de cargabeta

Los registros de carga no tienen un concepto propio de «etapa», pero varios cálculos los utilizan de forma distinta.

  • Estática lineal. El deslizador de pasos de carga muestra el escalado de la solución única: los campos se multiplican por la fracción s/N. Aquí no hay una carga real por pasos.
  • Estática no lineal. La carga y los desplazamientos impuestos crecen proporcionalmente a la fracción \lambda; la trayectoria de carga loadpath="1,0" incluye descarga, "1,-1,1", un ciclo. Los detalles figuran en la sección Cálculos no lineales y dinámica.
  • Respuesta armónica. La fuerza, la presión y la fuerza distribuida pueden llevar un ángulo de fase \Delta\varphi: F(t)=F\cos(\omega t+\Delta\varphi) (parámetro phase, grados). La aceleración no lleva fase. El cálculo estático ignora la fase e informa de ello.
  • Dinámica. La carga se multiplica por una ley de amplitud k(t) definida por la tabla amplitude="t:k,…".
  • Nacimiento y muerte de sólidos. Las etapas de construcción y excavación activan y desactivan sólidos completos: Cálculos no lineales y dinámica.
Verificación. Trayectoria con descarga: Solver no lineal: inversión de la carga, 0.021\,\%; independencia del número de pasos: Independencia del tamaño de paso. Fase de la carga armónica: Respuesta armónica: ángulos de fase de las cargas, 0.316\,\%.

5.14Qué ocurre con los registros al reconstruir la geometríabeta

La reparación automática de la geometría, la costura, la supresión de un sólido y las operaciones booleanas pueden eliminar una cara o un vértice al que estaba vinculado un registro. La regla es esta: un registro nunca se elimina en silencio.

  • El registro permanece en el estado del proyecto y se marca como huérfano («objetivo perdido»); el informe de reparación indica cuántos registros perdieron su vinculación y cuáles.
  • Un registro huérfano no se traslada a otros objetos. Si varias caras se han fusionado en una, ninguno de los registros originales pasa a la cara unificada: el traslado cambiaría el sentido físico hasta que el usuario elija la cara por sí mismo.
  • El cálculo no finge que el registro no existe. En los scripts el cálculo se rechaza con la lista de los registros perdidos y sus objetivos. En la interfaz el registro se excluye del cálculo con una advertencia por nombre; si tras ello no queda ningún apoyo, el cálculo se bloquea.
  • Un registro que no tiene receptor en el solver (por ejemplo, la autounión de la junta de superficies medias mientras no se hayan construido los nodos de la junta) no se convierte en ecuaciones de relleno: se marca como no implementado y el cálculo se rechaza con su nombre.
  • La reparación automática de la geometría recibe la lista de caras sobre las que hay registros y no las elimina.
Limitaciones. La protección se refiere a la reparación automática. La edición manual de la geometría y las operaciones booleanas pueden eliminar una cara, y entonces se pierde la vinculación; lo indica el icono «objetivo perdido» en el árbol. Tal registro debe reasignarse manualmente: el producto no adivina a qué cara trasladarlo.
Verificación. Cubierto por pruebas unitarias del compilador de registros y por el escenario de autorreparación, que comprueba que ningún registro quede huérfano con las caras protegidas. No hay caso independiente en el catálogo: la regla afecta al estado del proyecto y no a un resultado numérico.

6Contacto y uniones

↑ Volver al índice

Un ensamblaje de varios sólidos exige decidir cómo se conectan los sólidos en la interfaz. Para cada par de sólidos, WebCAE selecciona un único modo: unión, enlace por resorte, contacto sin fricción, contacto con fricción o ausencia de conexión. El modo se define en el panel «Uniones» (matriz de pares) o con el comando contact; para todo el ensamblaje se puede definir un modo por defecto y redefinirlo para un par concreto.

Los modos difieren sustancialmente en su planteamiento. La unión (bonded, tied) es lineal: la interfaz transmite cualquier fuerza y no se abre. El contacto sin fricción es unilateral: los sólidos transmiten solo compresión y pueden separarse, por lo que el problema es no lineal y se resuelve por pasos de carga. La fricción añade dependencia de la historia. No todos los modos están disponibles en todos los tipos de cálculo. Si a un par se le asigna un modo que el cálculo elegido no admite, el cálculo se rechaza de forma explícita; no sustituye el modo por otro ni calcula sin el par.

ModoEstática linealEstática no linealDinámica implícitaPlataforma
Bonded (nodos comunes)sísí, como un único sólidosegún las reglas del cálculo (dinámica)escritorio y navegador
Tied (restricción exacta MPC)sírechazorechazoescritorio y navegador
Penalty (enlace por resorte)sírechazorechazoescritorio y navegador
Frictionless (sin fricción)sí, por pasos de cargasísísolo escritorio
Frictional (fricción de Coulomb)rechazorechazosísolo escritorio

El análisis modal, el pandeo lineal y la respuesta armónica con contacto sin fricción se linealizan: la rigidez normal se toma según la holgura en el momento del cálculo y el conjunto de pares activos no se actualiza en el problema de autovalores. Se considera de referencia la aplicación de escritorio (nativa); el navegador admite la unión y el enlace por resorte.

6.1Búsqueda de pares de contactobeta

El comando contact pairs all|visible <modo> y el botón del panel crean pares para todos los sólidos del ensamblaje que se tocan. El criterio es la distancia entre las superficies de los sólidos, y no la intersección de las cajas envolventes: la caja no sabe nada de la forma, y una pieza alojada en un vaciado de otra le resulta indistinguible de una pieza que solo es vecina del vaciado. La distancia se calcula sobre la teselación del contorno que construye el núcleo OpenCascade al importar. Para cada par se determina el tipo de interfaz: contacto tangente, holgura medible (unión de diseño) o solape con volumen de intersección (ajuste a presión o error de ensamblaje). La tolerancia es relativa: está ligada a las dimensiones del ensamblaje. Los pares próximos al umbral pueden precisarse con la distancia exacta entre sólidos en B-Rep.

El botón «Comprobar conectividad» encuentra los grupos de sólidos y los componentes «flotantes» que no están conectados ni por un apoyo ni por un modo de unión. En el análisis modal, el pandeo y el armónico, el cálculo se rechaza con la lista de sólidos no conectados mientras los grupos no estén conectados.

Limitaciones. La teselación aproxima la superficie curva por el interior, y la distancia en una interfaz curva puede estar sobrestimada en el valor del error de cuerda; en interfaces planas es exacta. La búsqueda encuentra interfaces, pero no elige el modo: lo asigna el usuario.
Verificación. No hay un caso de verificación específico: la búsqueda se ha comprobado con pruebas unitarias y mediciones en ensamblajes reales (en un ensamblaje de 22 sólidos el criterio geométrico descartó 7 de los 25 pares encontrados por cajas envolventes, y cada uno de los siete está confirmado por la distancia exacta). Estado beta.
contact pairs all tied
contact body1 body2 frictionless

6.2Unión por nodos comunes (bonded)estable

Es la conexión más fiable: en la etapa de generación de la malla, las caras en contacto de los sólidos reciben nodos comunes, y el campo de desplazamientos es continuo a través de la interfaz por construcción. El solver no tiene condiciones adicionales, los sólidos simplemente comparten grados de libertad. Esta unión no introduce error alguno salvo el geométrico y funciona en todos los tipos de cálculo.

Se controla mediante parámetros de la malla: bonding=0|1 activa la unión, glue=auto|contact|full elige la búsqueda rápida de contactos o la búsqueda completa de intersecciones, interference=cut|split|ignore determina qué hacer con un solape real. En el modo cut el volumen en disputa se asigna al sólido menor (el pasador desplaza el material de la placa), la interfaz pasa a ser un contacto tangente exacto y el volumen es igual a la unión. En el modo split el solape se fragmenta: el volumen es exacto, pero el fragmento del ajuste puede resultar una película delgada que rompe la malla. En el modo ignore el solape se conserva y el material se cuenta dos veces.

Limitaciones. La unión por nodos exige contacto o solape dentro de las tolerancias: si los sólidos están separados por una holgura, no habrá nodos comunes. Las mallas a ambos lados de la interfaz son conformes, por lo que el tamaño de elemento en la interfaz es único. Para mallas no conformes se necesita la unión tied.
Verificación. Los ensamblajes unidos aparecen en los casos de cálculo por etapas: Construcción por etapas de una columna, 0.12\,\%; Excavación por etapas, 0.17\,\%; Sólido nacido sin pretensado. No hay un caso específico de unión.
mesh tet size=125 bonding=1 glue=full

6.3Unión en mallas no conformes (tied)beta

La unión tied se necesita cuando las mallas de dos sólidos en la interfaz son distintas: densidad diferente, nodos separados. Para cada nodo del lado esclavo (slave) se encuentra el punto de proyección sobre la cara del lado maestro (master), y el desplazamiento del nodo esclavo se expresa mediante los nodos de la cara con pesos baricéntricos w_k:

\mathbf{u}_s - \sum_{k} w_k\,\mathbf{u}_{m_k} = \mathbf{0}.

Son tres ecuaciones de restricción por nodo; en mallas cuadráticas los nodos intermedios entran en los pares. La restricción se cumple de forma exacta: los grados de libertad esclavos se eliminan del sistema, como en la restricción rígida (Solvers), y no se introducen multiplicadores de Lagrange. El método es nodo a superficie (NTS); se basa en el planteamiento general del contacto de Wriggers P., Computational Contact Mechanics, 2006.

Ajustes del panel «Uniones»:

  • Formulación. «Auto» elige la restricción cinemática para el solver directo y la de resorte para el solver iterativo con precondicionador multimalla algebraico en ensamblajes grandes. «Cinemática (Exact MPC)» y «Penalización» fijan la elección de forma explícita.
  • Límite de holgura MPC. Relación entre la distancia esclavo–maestro y el tamaño de la cara maestra; un par que supera el límite se rechaza (por defecto 0,8).

Antes del cálculo se realiza una comprobación de la interfaz: se omiten las caras conformes con nodos comunes; una interfaz sin ningún par encontrado, una holgura mayor que el límite y un cálculo con una sola región se rechazan indicando la causa.

Limitaciones. El método es unilateral: el resultado depende ligeramente de la elección del lado esclavo; como esclavo debe asignarse la malla más fina. El método NTS no supera el patch test en mallas arbitrarias no conformes con tanto rigor como el método mortar; la conservación de la resultante se controla con un caso aparte. Se admiten ensamblajes de tetraedros (de primer y segundo orden). En estática no lineal y en dinámica implícita, tied y bonded se rechazan: allí no hay ecuaciones de restricción.
Verificación. En el catálogo no hay un caso independiente en el que la unión tied sea el único modo del par: la conservación de la resultante en mallas no conformes se ha comprobado para el contacto sin fricción (Contacto: mallas no conformes). La unión se ha comprobado con pruebas unitarias del compilador de pares y con el ensamblado de la interfaz de usuario. Estado beta.
contact body1 body2 tied

6.4Enlace por penalización (penalty)beta

El par penalty usa la misma geometría de pares que tied, pero la restricción es flexible: entre el nodo esclavo y el punto de la cara maestra se coloca un resorte de rigidez k. Para k\to\infty la solución tiende a tied. El modo se necesita cuando la restricción exacta empeora el condicionamiento en ensamblajes grandes o cuando la interfaz debe ceder ligeramente.

El usuario define un multiplicador de la rigidez calculada (por defecto 1,0; para la unión, 10,0) o su propio valor k en N/m.

Limitaciones. La solución depende de k: una rigidez demasiado pequeña da un deslizamiento relativo apreciable en una interfaz unida, y una demasiado grande empeora el condicionamiento. La conexión es bilateral: la interfaz transmite tracción. El contacto unilateral es el modo frictionless. En estática no lineal y en dinámica, penalty se rechaza.
Verificación. No hay casos en el catálogo; está cubierto por pruebas unitarias y pruebas del compilador. Estado beta.

6.5Contacto sin fricción (frictionless)estable

Los sólidos transmiten solo compresión según la normal a la superficie. Condiciones de Signorini para la holgura g y la presión normal p:

g \ge 0,\qquad p \ge 0,\qquad p\,g = 0 ,

con la holgura g = g_0 + \mathbf{n}\cdot\bigl(\mathbf{u}_s - \sum_k w_k\,\mathbf{u}_{m_k}\bigr) para el nodo s del lado esclavo y el punto de la cara maestra. Las condiciones se regularizan mediante una penalización con potencial \Pi_c=\tfrac12\,k\sum\langle -g\rangle^2 (donde \langle x\rangle=\max(x,0)): presión p=k\langle -g\rangle, y la rigidez tangente del par activo k\,\mathbf{n}\mathbf{n}^{\mathsf T} es simétrica y definida positiva. El par está activo cuando hay penetración g<0; para que el conjunto de pares activos no oscile, la conmutación se complementa con histéresis.

El cálculo avanza por pasos de carga. En cada paso se resuelve el sistema no lineal mediante el método de Newton con amortiguamiento y búsqueda lineal no monótona (condición de Armijo); la penalización crece por pasos hasta el valor definido. El número de pasos se define en la pestaña de cálculo. Los pares se buscan de nuevo tras cada paso sobre la configuración deformada, y el valor de la holgura se transfiere de modo que la reapertura de un par no añada un desplazamiento espurio.

El nombre mortar en el producto se refiere a un planteamiento con holgura ponderada. La restricción se construye sobre los nodos de la cara esclava: a cada nodo esclavo se le asignan hasta tres nodos de la cara maestra con pesos baricéntricos, y la holgura y la normal se toman en el punto de proyección. El producto no incluye la integración completa segmento a segmento con recorte de polígonos (Popp A., Gee M., Wall W., A finite deformation mortar contact formulation using a primal–dual active set strategy, 2009). El lagrangiano aumentado (método de Uzawa) está implementado en el núcleo como opción de investigación; no se incluye en la vía del producto, y la solución se sostiene sobre la penalización. Por ello queda una penetración residual del orden de p/k.

El usuario define la rigidez de contacto k (N/m) o un multiplicador de la calculada, el número de pasos de carga y los sólidos del par. Resultados: presión de contacto por caras, estado (abierto, contacto), fuerza de contacto, historia por pasos de carga.

Limitaciones. El modo está disponible solo en la aplicación de escritorio; en el navegador el cálculo se rechaza con un mensaje. Planteamiento: ensamblajes de tetraedros (lineales y cuadráticos). El modo no se combina con un desplazamiento impuesto no nulo sobre una cara, con una restricción normal en caras no alineadas con los ejes ni con una fuerza sobre el sólido: estos cálculos se rechazan con una explicación. Un conjunto mixto de modos en un mismo ensamblaje (parte de los pares unidos, parte sin fricción) no se admite: un ensamblaje, un sistema de ecuaciones. El método es de una sola pasada: el resultado depende ligeramente de la elección del lado esclavo. La penetración residual crece con un k débil y empeora el condicionamiento con uno muy grande. El autocontacto no se admite en esta vía (existe en estática no lineal).
Verificación. La plataforma de todos los números es la nativa. Contacto de Hertz: esfera sobre semiespacio, presión p_0: desviación 0.67\,\%; Contacto de Hertz: lineal; Parche uniforme, 0.01\,\%; Mallas no conformes, conservación de la resultante; Ajuste con interferencia; Pasador en un ojal; Junta con brida y pretensado; Leva y seguidor; Engrane de dientes. Apertura y cierre, holgura–resorte: Holgura–resorte, Apertura y cierre (verificados a nivel del núcleo no lineal). La presión de Hertz está verificada con un caso; la aproximación de los sólidos \delta da una desviación mayor (alrededor de 4.7\,\% en la aceptación del núcleo): el punzón no es absolutamente rígido y la penalización es finita.
contact frictionless
mesh tet size=0.25 order=1 bonding=0
load surface number 8 force=-25 component=z
solve
extract contact_pressure target="surface number 7"

6.6Contacto con fricción de Coulombbeta

La fricción limita la fuerza tangencial en el contacto según la ley de Coulomb: \lVert\mathbf{t}_t\rVert\le\mu\,p_n, adherencia por debajo del límite y deslizamiento en el límite. La ley es irreversible, por lo que la respuesta depende de la historia de carga: para cada punto de contacto activo se memoriza el estado aceptado.

En la dinámica transitoria implícita, para cada nodo esclavo se almacena la posición sobre la cara maestra y el deslizamiento elástico acumulado \mathbf{e}. La fuerza tangencial está regularizada con la longitud s_{\mathrm{tol}}, el deslizamiento elástico en el límite de Coulomb:

\mathbf{f}_t = \frac{\mu\,p_n}{s_{\mathrm{tol}}}\;\mathbf{e},\qquad \lVert\mathbf{e}\rVert < s_{\mathrm{tol}},\qquad p_n = \varepsilon\,(-g),

donde el deslizamiento elástico de prueba \mathbf{e}_{\mathrm{tr}}=\mathbf{e}_{\mathrm{old}}+\Delta\mathbf{s}_t se compone del valor anterior y del desplazamiento tangencial del nodo respecto al punto material de la cara maestra, y después se limita suavemente a la longitud s_{\mathrm{tol}}. La limitación es continuamente diferenciable, por lo que la rigidez tangente está definida también en la zona de transición. La ley da una verdadera fricción estática: un bloque sometido a una fuerza horizontal por debajo del límite permanece en su sitio. La tangente se obtiene por diferencias centrales de la fuerza del par y es consistente con ella, incluido el movimiento de la proyección al cambiar de faceta.

El usuario define el coeficiente \mu en el intervalo 0<\mu\le10 (por defecto en el formulario 0,3) y, opcionalmente, la longitud s_{\mathrm{tol}} (parámetro slip, m; por defecto, una fracción de la arista de la cara de contacto). Resultados: presión de contacto, estado (abierto, adherencia, deslizamiento), contadores de adherencia y deslizamiento, trabajo de las fuerzas de fricción, número de cambios de faceta.

El núcleo de contacto no lineal incluye también una variante cuasiestática con retorno al cono de Coulomb (prueba de adherencia y retorno radial cuando \Phi=\lVert\mathbf{t}_{\mathrm{tr}}\rVert-\mu p_n>0, tangente consistente para el deslizamiento); se ha comprobado con problemas analíticos y no está conectada al producto.

Limitaciones. La fricción está disponible solo en la dinámica transitoria implícita, solo en la aplicación de escritorio, para tetraedros de primer y segundo orden. Estática, análisis modal, pandeo, térmico, armónico y estática no lineal con un par al que se ha asignado fricción se rechazan: el cálculo no retrocede a un par sin fricción. En el producto, un problema estático con fricción debe resolverse como dinámico hasta alcanzar el régimen estacionario. El esquema de Newmark sin amortiguamiento con fricción puede hacer que el cuerpo rebote sobre los resortes de penalización y pierda la deceleración; se recomienda HHT-\alpha o amortiguamiento de Rayleigh. El estado inicial u0=static con un par con fricción se rechaza. Los sólidos no deben compartir nodos.
Verificación. La referencia es la ley de Coulomb para un sólido rígido (banco nativo, bloque sobre una placa, \mu=0.3): errores de velocidad y posición no mayores que 0.06\,\%, distancia de frenado no mayor que 0.13\,\%, trabajo de fricción frente a \tfrac12 mv_0^2: 0.3\,\% con una tolerancia de 5\,\% para Tet4 y Tet10; una fuerza por debajo del límite no desplaza el bloque. El catálogo de verificación no tiene un caso específico de dinámica con fricción. La variante cuasiestática del núcleo se ha comprobado con los casos Coulomb: adherencia y deslizamiento (\mu N=300 N, transición en Q=\mu N), Bloque inclinado (\mu=0.5 frente a \tan 20^\circ), Cattaneo–Mindlin, 0.2\,\%; es una comprobación del núcleo en modelos pequeños y no de la cadena del producto.
contact body1 body2 frictional mu=0.3
solve transient dt=0.001 tend=0.3

6.7Contacto con grandes desplazamientos y autocontactobeta

En la estática geométricamente no lineal de sólidos, el contacto se construye sobre la configuración deformada: los pares se buscan de nuevo en cada ensamblado, es decir, en cada iteración de Newton y no solo entre pasos de carga. La superficie son los triángulos de las caras de los sólidos (las caras de los hexaedros se dividen en dos triángulos). Para el nodo esclavo se encuentra el punto más próximo en los triángulos maestros (proyección según Ericson), y la holgura es

g=(\mathbf{x}_s-\mathbf{p})\cdot\mathbf{n},

donde \mathbf{n} es la normal de contacto, una interpolación de las normales nodales de la cara maestra: es continua a través de aristas y vértices; de otro modo la dirección de la fuerza salta sobre una arista entre facetas no coplanares. El contacto está activo cuando g<0; sobre el nodo esclavo actúa la penalización \varepsilon\,g\,\mathbf{n} en la convención de fuerza interna del núcleo, y sobre los nodos del triángulo maestro, una fuerza igual y opuesta con pesos baricéntricos, de modo que la tercera ley de Newton se cumple exactamente. La tangente es consistente con la fuerza y se obtiene por diferencias centrales respecto a las doce coordenadas del par (es no simétrica). Las normales opuestas descartan pares falsos: el nodo de la cara inferior de un sólido no «penetra» en la cara superior del mismo sólido a través del espesor.

La penalización se elige automáticamente: \varepsilon=\kappa\,E\,h, donde E es el menor de los módulos de los dos sólidos, h es la longitud media de arista de las caras y \kappa es un multiplicador que define el usuario (por defecto 10). El autocontacto se activa con una casilla en la pestaña de cálculo (allí se define también \kappa): la superficie del sólido hace contacto consigo misma, y los triángulos de la vecindad topológica del nodo se excluyen de la búsqueda. Para listas de nodos de vigas y láminas existen los comandos nlgeom contact y nlgeom beamcontact.

Limitaciones. Solo la vía nativa (escritorio), solo tetraedros y hexaedros (lineales y cuadráticos). Solo contacto sin fricción: los pares con fricción, la unión y penalty se rechazan (no hay ecuaciones de restricción ni fricción), y el cálculo no se sustituye por uno lineal. Los sólidos con nodos comunes como par de contacto se rechazan: entre nodos unidos no hay nada que separar. La penalización produce una penetración que disminuye al crecer \kappa, pero empeora el condicionamiento. La búsqueda de penetración está limitada por un radio, por lo que un paso de carga demasiado grande puede omitir un contacto: el paso debe mantenerse pequeño.
Verificación. Solver no lineal: conjunto activo de contacto, 1.42\,\% (tope de láminas, vía nativa); núcleo NTS: los casos Sin fricción: deslizamiento (0.06\,\%), Holgura–resorte, Apertura y cierre. No hay en el catálogo un caso específico de autocontacto de un sólido; estado beta.
nlgeom on method=load steps=10
contact body1 body2 frictionless
solve

6.8Contacto de vigas y láminasexperimental

Para vigas se usa el contacto línea–línea (Wriggers P., Zavarise G., On contact between three-dimensional beams undergoing large deflections, 1997): para un par de segmentos se toman los puntos más próximos de los ejes \mathbf{x}_1(\xi), \mathbf{x}_2(\zeta), y la holgura es

g=\lVert\mathbf{x}_1(\xi)-\mathbf{x}_2(\zeta)\rVert-(r_1+r_2),

donde r son los radios de las secciones; la fuerza es una penalización a lo largo de la normal, transferida a los cuatro nodos con pesos lineales (la suma de fuerzas y la suma de momentos son nulas). Para segmentos paralelos se toma el punto medio del solape y la fuerza se multiplica por la fracción de solape, para que el resultado no dependa del desplazamiento relativo de las mallas. Es posible el autocontacto de la viga.

Para láminas el contacto se construye sobre la superficie media con un desplazamiento de la mitad del espesor: g = s\,(\mathbf{x}_s-\mathbf{p})\cdot\mathbf{n}-(o_s+o_m), donde o son los desplazamientos y s=\pm1 es el lado. El lado de la lámina maestra de dos caras se memoriza para cada par nodo–triángulo; de lo contrario, un nodo que ha atravesado la superficie media en una iteración sería expulsado por el lado opuesto.

Los pares se definen con los comandos nlgeom contact y nlgeom beamcontact con listas de nodos en la numeración del modelo, radios de sección y penalización.

Limitaciones. Sin fricción. El paso de los ejes de las vigas uno a través del otro en un solo paso no se detecta: el incremento de carga debe ser menor que la suma de los radios. La sección se considera circular (para una no circular se toma el radio circunscrito). Los grados de libertad de giro no participan en el contacto.
Verificación. No hay casos independientes en el catálogo. El núcleo se ha comprobado con cálculos de aceptación y mutaciones (conjuntos para láminas y para vigas, todas las mutaciones en rojo) y con pruebas nativas del puente. Estado experimental: verificación limitada, sin referencia externa.

6.9Contacto en dinámica explícitabeta

En el esquema explícito actúa un contacto erosivo: un nodo–segmento unilateral por penalización sobre toda la superficie exterior de los elementos vivos. La superficie se actualiza a medida que avanza la erosión, y el proyectil encuentra la cavidad recién abierta. La rigidez de la penalización se define como una fracción \alpha de la rigidez de la cara maestra (parámetro contactStiffness, por defecto 0,25): una demasiado pequeña da una penetración profunda, una demasiado grande, un aumento de energía que se ve en el balance energético. En la historia se muestran la energía de contacto y el balance global.

La descripción del esquema, de la erosión y de los criterios figura en la sección Cálculos no lineales y dinámica.

Limitaciones. Solo HEX8; sin fricción; el contacto arista con arista no se detecta.
Verificación. Pruebas nativas: intercambio de velocidades en el impacto de barras dentro del 2\,\%, balance de energía dentro del 1\,\%, sin contacto las barras se atraviesan. No hay en el catálogo un caso específico de contacto; erosión: Explicit: erosión por deformación plástica, 1.457\,\%.
explicit erodingContact=on contactStiffness=0.25

6.10Contacto térmicobeta

El contacto térmico acopla las temperaturas de dos sólidos separados mediante la conductancia de la interfaz h_c: q_c=h_c\,(T_A-T_B). No depende del contacto mecánico y no influye en la mecánica. El planteamiento, la tolerancia de holgura y los resultados se describen en la sección Transferencia de calor y multifísica; allí figura también la comparación con la referencia.

El núcleo incluye además un modelo de conductancia dependiente de la presión y de la holgura, h_c(p_n,g_n), del tipo Cooper–Mikić–Yovanovich (Cooper M., Mikic B., Yovanovich M., Thermal contact conductance, 1969): con la interfaz cerrada h_c=h_0+h_p\,(p_n/p_{\mathrm{ref}})^{\alpha}, con holgura h_c=k_{\mathrm{gas}}/(g_n+g_0) con corte por holgura límite. Este modelo se ha comprobado solo con una prueba interna del núcleo; no está conectado a la interfaz ni al script: el usuario define una h_c constante, y la presión del contacto mecánico no influye en la conductancia.

Limitaciones. En el producto h_c es constante. El calor generado por fricción no se calcula.
Verificación. Resistencia térmica de contacto, desviación 0.0003\,\% (vía nativa).
contact body1 body2 thermal hc=1000

6.11Zonas cohesivas (CZM)experimental

La zona cohesiva describe la delaminación de uniones adhesivas y de materiales compuestos mediante una ley «tracción–apertura». En el producto la ley es bilineal: una rama elástica de rigidez K hasta la tracción máxima T_{\max}, y después un ablandamiento lineal hasta la rotura completa con la apertura \delta_f:

\delta_0=\frac{T_{\max}}{K},\qquad \delta_f=\frac{2\,G_c}{T_{\max}},\qquad D=\frac{\delta_f\,(\delta_m-\delta_0)}{\delta_m\,(\delta_f-\delta_0)},\qquad T=(1-D)\,K\,\delta ,

donde D\in[0,1] es la variable escalar de daño, que no decrece en la descarga; G_c es la energía de fractura (el área bajo el diagrama). Para el modo mixto, la apertura efectiva es \delta_m=\sqrt{\delta_n^2+\delta_s^2} y el criterio de fractura es la ley de potencia de Benzeggagh–Kenane (Benzeggagh M., Kenane M., 1996):

G_c = G_{Ic} + (G_{IIc}-G_{Ic})\left(\frac{G_{II}}{G_I+G_{II}}\right)^{\eta},

donde G_I=\tfrac12 K_n\delta_n^2, G_{II}=\tfrac12 K_t\delta_s^2, y el exponente \eta es por defecto 1,45. En modo mixto, \delta_0 y \delta_f se calculan para la relación de modos actual; el inicio del daño equivale al criterio cuadrático de tensiones nominales en carga proporcional (Camanho P., Dávila C., 2002).

El usuario define el par de superficies (maestra y esclava) y los parámetros; en el panel «Uniones» el par tiene una casilla de contacto cohesivo con los campos de resistencia T_n y de energía G_{Ic}, y los demás parámetros están disponibles con el comando de script: rigideces K_n, K_t (N/m³), resistencias T_n, T_s (Pa), energías de fractura G_{Ic}, G_{IIc} (J/m²), exponente \eta. Resultado: daño máximo y medio D en la interfaz, tracciones normal y tangencial máximas, apertura máxima, número de pares de nodos procesados.

Es importante cómo entra la ley en el cálculo. En el producto la interfaz se evalúa como posprocesador: a partir de los desplazamientos de una solución ya terminada, el salto en cada nodo esclavo se compara con el nodo maestro más próximo, y se calculan el daño y las tracciones. El equilibrio con ablandamiento no se recalcula dentro de la iteración global, por lo que el resultado no muestra cómo cae la capacidad portante de la unión al crecer la fisura. La integración de la ley en la solución no lineal (pares de contacto con daño) existe en el núcleo a nivel del par nodo–superficie, pero no está expuesta en la interfaz ni en el script.

Limitaciones. Evaluación de posprocesador: nodo maestro más próximo en lugar de proyección sobre la cara; el resultado depende de la malla en la unión. La compresión se tiene en cuenta en la evaluación en valor absoluto como apertura. No se modelan el avance de la fisura ni la pérdida de equilibrio. Para el desarrollo de la delaminación con pérdida de rigidez se necesita por ahora un cálculo del núcleo fuera de la interfaz.
Verificación. La ley se ha comprobado a nivel del núcleo: Zona cohesiva bilineal (G_c=0.05 N/mm, T(0.005)=5.5556 MPa, coincidencia exacta), Modo mixto (inicio del daño en t_s=8 MPa según el criterio cuadrático), Viga de doble voladizo: teoría, Viga de doble voladizo en malla no conforme, 0.09\,\%, Viga con entalla en el extremo (modo II). Es una comprobación de la ley con soluciones analíticas y no un cálculo de un ensamblaje tridimensional: la cadena desde la interfaz del producto hasta el resultado no tiene referencia propia, por lo que el estado es experimental.
contact cohesive master="surface number 3" slave="surface number 4" kn=1e12 kt=1e12 tn_max=30e6 gc_n=450

6.12Indicador de «convergido» para el contactobeta

En un problema de contacto, la convergencia de Newton no garantiza el equilibrio físico: el conjunto de pares activos puede oscilar, y un problema de penalización puede «converger» a una solución con un sólido libre sin apoyo. Por ello el indicador de «convergido» se compone de varias condiciones y no solo de las iteraciones de Newton.

  • Para el contacto sin fricción en modo por pasos, hay que alcanzar la carga completa: si los pasos se interrumpen o se cancelan, el indicador es falso.
  • El residuo físico de equilibrio, calculado sobre los grados de libertad libres (sin rigidez estabilizadora), no debe superar la tolerancia en porcentaje de la carga. Solo esta condición no depende de lo que haya hecho Newton.
  • Si Newton no ha convergido, se admite un criterio de reserva de penetración pequeña, pero solo si en la solución final hay pares con penetración. Un cálculo sin contacto bajo carga no obtiene «convergido» por un conjunto vacío.
  • El mensaje indica el número de pares activos, el residuo de equilibrio en porcentaje de la carga y el desplazamiento máximo; para un sólido sin apoyo («mecanismo») o un contacto que no se ha cerrado, se dice de forma explícita.

Para la estática no lineal, el indicador se construye con el criterio de Newton–Raphson (véase Cálculos no lineales y dinámica), y el resultado no se acepta si el problema no ha convergido. Un modo que el cálculo no admite se rechaza: los sólidos con nodos comunes no se toman en contacto, y la fricción en estática no retrocede a un par sin fricción.

Limitaciones. La tolerancia del residuo es única y no se configura desde la interfaz. En un problema con mecanismo (sólido sin apoyo) el residuo es grande, pero la solución depende del redondeo: tal modelo debe corregirse con un apoyo.
Verificación. Comprobado con llamadas reales al solver nativo en un ensamblaje con contacto y la carga invertida (tracción en lugar de compresión): el sólido se aleja kilómetros, el indicador es falso y el mensaje indica el residuo y la causa. Una alteración de la comprobación pone en rojo las pruebas correspondientes. No hay caso en el catálogo: los casos fijan un resultado esperado, y aquí lo que se comprueba es un rechazo. Estado beta.

7Biblioteca de elementos finitos

↑ Volver al índice

Los elementos estructurales se ensamblan en un único sistema global: cada nodo tiene seis grados de libertad [u_x, u_y, u_z, \theta_x, \theta_y, \theta_z]. Los elementos volumétricos solo tienen tres desplazamientos; los grados de libertad de giro de los nodos a los que no llegan ni vigas, ni láminas, ni restricciones rígidas carecen de rigidez y se fijan automáticamente. Así coexisten en un mismo modelo sólidos, láminas, vigas, resortes y masas puntuales.

La sección describe qué elementos existen, con qué formulación están construidos y cuáles son sus límites. Un catálogo breve con los códigos de tipo y el número de nodos figura en la página /docs/elements; la tabla resumen al final de la sección está contrastada con el código del núcleo.

7.1Convenciones generalesestable

Todos los elementos volumétricos son isoparamétricos (salvo Tet10, véase más abajo). Los gradientes de las funciones de forma respecto a las coordenadas físicas se obtienen mediante el jacobiano de la transformación:

\nabla N_i = \mathbf{J}^{-1}\,\frac{\partial N_i}{\partial \boldsymbol{\xi}},\qquad \mathbf{J}_{ab} = \sum_i \frac{\partial N_i}{\partial \xi_a}\,x_{i,b}.

Las deformaciones y tensiones se escriben en el orden de Voigt [\varepsilon_{xx},\varepsilon_{yy},\varepsilon_{zz},\gamma_{xy},\gamma_{yz},\gamma_{zx}] con deformaciones de corte de ingeniería \gamma = 2\varepsilon. La matriz \mathbf{B} se ensambla a partir de los gradientes de las funciones de forma: el bloque del nodo i es \partial N_i/\partial x en la fila \varepsilon_{xx} y la columna u_x, \partial N_i/\partial y en la fila \varepsilon_{yy} y la columna u_y, \partial N_i/\partial z en la fila \varepsilon_{zz} y la columna u_z, y las filas de corte llevan dos gradientes cada una (por ejemplo, \gamma_{xy}: \partial N_i/\partial y en la columna u_x y \partial N_i/\partial x en la columna u_y). Elasticidad isótropa:

\mathbf{C} = \begin{bmatrix} \lambda + 2\mu & \lambda & \lambda & 0 & 0 & 0\\ \lambda & \lambda + 2\mu & \lambda & 0 & 0 & 0\\ \lambda & \lambda & \lambda + 2\mu & 0 & 0 & 0\\ 0 & 0 & 0 & \mu & 0 & 0\\ 0 & 0 & 0 & 0 & \mu & 0\\ 0 & 0 & 0 & 0 & 0 & \mu \end{bmatrix},\quad \lambda = \frac{E\nu}{(1+\nu)(1-2\nu)},\quad \mu = \frac{E}{2(1+\nu)}.

La matriz de rigidez del elemento es una cuadratura por puntos de Gauss:

\mathbf{K}_e = \int_{V_e} \mathbf{B}^{\mathsf T}\mathbf{C}\,\mathbf{B}\,dV \approx \sum_g w_g \,\lvert\det\mathbf{J}_g\rvert\; \mathbf{B}_g^{\mathsf T}\mathbf{C}\,\mathbf{B}_g .

Las mismas funciones de forma y las mismas cuadraturas las utiliza la vía geométricamente no lineal (Total Lagrangian): allí la tangente consta de una parte material y otra geométrica, \mathbf{K}_T = \mathbf{K}_{\text{mat}} + \mathbf{K}_{\text{geo}}, y el material por defecto es Saint Venant–Kirchhoff (más detalles en la sección Cálculos no lineales y dinámica). Los materiales con anisotropía, plasticidad e hiperelasticidad se describen en la sección Modelos de material; aquí se considera solo el elemento en sí.

Las condiciones de contorno y las restricciones (zonas rígidas, ecuaciones de restricción) se eliminan del sistema de forma exacta, mediante el esquema «maestro — esclavo»: se resuelve el sistema \mathbf{T}^{\mathsf T}\mathbf{K}\,\mathbf{T}\,\mathbf{u}_r = \mathbf{T}^{\mathsf T}\mathbf{f} y no uno de penalización. Esto no empeora el condicionamiento y no da un cumplimiento aproximado de las restricciones.

Unidades. La geometría se define en milímetros (o en las unidades declaradas con el comando units), y en la frontera del solver todo se convierte al SI: metros, newtons, pascales, kilogramos. Las dimensiones de las secciones, los espesores de las láminas y las masas de los elementos puntuales las introduce el usuario en las mismas unidades que la geometría (las masas, en kilogramos).

Limitaciones. En la vía lineal el material de un elemento volumétrico es elástico isótropo (E, \nu por elemento). No existe una formulación mixta (desplazamientos–presión) para materiales casi incompresibles; para \nu \to 0.5 los elementos lineales se bloquean (véase Bloqueo).

7.2Tetraedro lineal Tet4estable

Símplex de cuatro nodos con deformación constante. Es el elemento principal de la generación automática de mallas sobre geometría CAD arbitraria: es robusto frente a la forma del sólido, pero transmite mal la flexión.

Las funciones de forma coinciden con las coordenadas baricéntricas, N_i = L_i, i = 1,\dots,4. Los gradientes \nabla L_i son constantes, por lo que \mathbf{B} también lo es, y la integración exacta da

\mathbf{K}_e = V_e\,\mathbf{B}^{\mathsf T}\mathbf{C}\,\mathbf{B},

es decir, un único punto de Gauss en el baricentro. La tensión es constante en el elemento, \boldsymbol{\sigma} = \mathbf{C}\mathbf{B}\mathbf{u}_e; el campo nodal se construye promediando sobre los elementos adyacentes.

El elemento supera el patch test en una malla arbitrariamente distorsionada: el campo afín de desplazamientos se reproduce hasta la precisión de máquina. Pero la deformación constante implica una rigidez parásita en flexión. En una barra en voladizo de \approx 1400 tetraedros, la primera frecuencia propia está sobrestimada en un 22\,\% (con el mismo tamaño de elemento, Tet10 da -0.16\,\%). Para sólidos sometidos a flexión use Tet10.

Limitaciones. La flexión y el corte en una sola capa de elementos a través del espesor se transmiten de forma tosca; los materiales incompresibles se bloquean; la tensión es discontinua entre elementos.
mesh tet size=10 order=1

7.3Tetraedro cuadrático Tet10estable

Elemento de diez nodos: cuatro vértices y seis puntos medios de arista. El campo cuadrático de desplazamientos da una deformación que varía linealmente dentro del elemento y elimina la mayor parte del bloqueo por flexión de Tet4 en la misma malla.

Funciones de forma mediante coordenadas baricéntricas (N_i es el vértice, N_{ij} es el punto medio de la arista entre los vértices i y j):

N_i = L_i\,(2L_i - 1),\quad i = 1,\dots,4;\qquad N_{ij} = 4\,L_i L_j .

Gradientes: \nabla N_i = (4L_i - 1)\nabla L_i, \nabla N_{ij} = 4(L_j\nabla L_i + L_i\nabla L_j). Integración: regla de cuatro puntos de grado 2 con puntos (a,b,b,b) y permutaciones, a = 0.5854101966, b = 0.1381966011, pesos V_e/4. Para un elemento de aristas rectas, el integrando \mathbf{B}^{\mathsf T}\mathbf{C}\mathbf{B} es un polinomio de segundo grado y la regla es exacta.

Una particularidad importante de la implementación: en el ensamblador principal, Tet10 es subparamétrico. La geometría se define con los cuatro vértices (transformación lineal, jacobiano constante) y el campo de desplazamientos con los diez nodos. Las posiciones de los nodos intermedios, desplazados sobre la superficie curva del CAD, no se usan en la matriz de rigidez: el elemento se integra como un elemento de aristas rectas. Esto conserva la no degeneración en contornos curvos, pero el volumen y la rigidez de los elementos junto al contorno curvilíneo se calculan por la cuerda y no por el arco. Para un contorno liso el error disminuye con el tamaño del elemento, pero no hay una mejora adicional de precisión por las aristas curvas. Así está construido el ensamblador principal; en la rama de cálculo de varios sólidos con unión y contacto se usan otras implementaciones de elementos, y su transformación puede diferir.

Las cargas superficiales sobre las caras de Tet10 se integran de forma consistente sobre triángulos de seis nodos (Tri6), y no se reparten por igual entre los vértices.

La tensión en el núcleo se calcula en el centroide del elemento, donde la aportación de los nodos de esquina se anula (4L_i - 1 = 0). Para el mapa nodal, el posprocesador calcula la tensión en cada nodo del elemento y la promedia según el número de elementos adyacentes, por lo que en el límite entre materiales y en los concentradores el campo queda suavizado.

Limitaciones. La curvatura de las aristas no se tiene en cuenta en \mathbf{K} (véase arriba). El campo de tensiones es discontinuo entre elementos; el promediado nodal suaviza los picos. El bloqueo volumétrico para \nu \to 0.5 está atenuado, pero no eliminado.
Verificación. Respuesta armónica de una viga en voladizo (P2 Tet10), submodelado: concentración junto a un orificio, Kirsch (P1 → P2). En una ménsula de 20\times20\times200 mm con tamaño de elemento de 10 mm, la primera frecuencia con Tet10 difiere de la solución analítica de Euler–Bernoulli en -0.16\,\%, frente a +22.35\,\% con Tet4.
mesh tet size=10 order=2

7.4Hexaedro Hex8estable

Elemento trilineal de ocho nodos para volúmenes regulares: sólidos alargados, barras, placas y capas junto a la pared de un orificio. En una malla estructurada da un campo de tensiones suave y un menor número de elementos que los tetraedros.

Funciones de forma en coordenadas naturales (\xi,\eta,\zeta) \in [-1,1]^3:

N_i = \frac{1}{8}\,(1 + \xi_i\xi)(1 + \eta_i\eta)(1 + \zeta_i\zeta).

Integración completa: 2\times2\times2 puntos de Gauss en \pm 1/\sqrt{3}, con pesos iguales a la unidad. La matriz \mathbf{K}_e se ensambla según la fórmula de la sección «Convenciones generales», sin modificación alguna.

Conviene decirlo con claridad: en la vía lineal Hex8 no tiene B-bar (proyección volumétrica selectiva), ni modos incompatibles, ni integración reducida. El elemento sufre bloqueo por cortante en flexión cuando hay pocos elementos en la altura de la viga, y bloqueo volumétrico para \nu \to 0.5. El remedio es refinar la malla en altura o pasar a Hex20. Ejemplos: una viga en voladizo en una malla estructurada 128\times8\times8 da una desviación de 1.03\,\% respecto a Euler–Bernoulli; una ménsula en una malla 96\times6\times6 (seis elementos en la altura) da alrededor de un 2\,\% por el bloqueo por cortante. En dinámica explícita, Hex8 es un elemento distinto, de un solo punto, con control de «reloj de arena» (hourglass) de Flanagan–Belytschko; no está relacionado con la matriz de este apartado.

La tensión se calcula en el centro del elemento, \xi = \eta = \zeta = 0.

Limitaciones. Bloqueo en flexión y con material casi incompresible. Para valores precisos de tensión en flexión use Hex20 o al menos 4–6 capas a través del espesor. En elementos distorsionados (\det\mathbf{J} cercano a cero) la precisión cae bruscamente.
mesh hex size=5 order=1

7.5Hexaedro Hex20 (serendípito)estable

Elemento de veinte nodos: ocho vértices y doce puntos medios de arista, sin nodos en los centros de las caras ni en el centro del sólido. La interpolación cuadrática lo hace sensiblemente más flexible que Hex8 en flexión: una sola capa de elementos a través del espesor basta para una estimación razonable. Se utiliza para anillos alrededor de orificios, concentradores de fatiga y problemas de contacto donde se necesita una geometría de contorno suave.

Funciones de forma de la familia serendípita. Vértice con coordenadas (\xi_i,\eta_i,\zeta_i) = (\pm1,\pm1,\pm1):

N_i = \frac{1}{8}(1 + \xi_i\xi)(1 + \eta_i\eta)(1 + \zeta_i\zeta)\,(\xi_i\xi + \eta_i\eta + \zeta_i\zeta - 2).

Punto medio de una arista paralela al eje \xi (\xi_i = 0):

N_i = \frac{1}{4}(1 - \xi^2)(1 + \eta_i\eta)(1 + \zeta_i\zeta),

para las aristas a lo largo de \eta y \zeta, por analogía. Integración 3\times3\times3 (27 puntos de Gauss, \pm\sqrt{0.6} y 0 con pesos 5/9, 8/9, 5/9). A diferencia de Tet10, Hex20 es completamente isoparamétrico: se usan las coordenadas de los veinte nodos, por lo que la curvatura de las aristas en el contorno CAD se tiene en cuenta en \mathbf{J}.

La tensión se calcula en el centro del elemento. El elemento supera el patch test en una malla distorsionada hasta la precisión de máquina; en una ménsula individual, la eliminación del bloqueo respecto a Hex8 es notable.

Limitaciones. Lo genera un mallador hexaédrico estructurado para dominios ortogonales (mesh hex … order=2); los sólidos CAD arbitrarios se dividen en tetraedros. En una misma malla con Tet10, Hex20 es posible solo de forma experimental, véase Transición cuadrática Hex20–Tet10. El promediado nodal de las tensiones usa los valores en los centros de los elementos.
Verificación. El elemento interviene en el conjunto de casos hiperelásticos, por ejemplo elasticidad neo-Hookeana, tracción uniaxial, prueba de objetividad y MMS en deformaciones finitas. La vía lineal se ha comprobado con el patch test y con la comparación con Euler–Bernoulli en las pruebas del núcleo.
mesh hex size=5 order=2

7.6Hexaedro Hex27 (triquadrático)experimental

Elemento de veintisiete nodos con base de Lagrange cuadrática completa: a los nodos de Hex20 se añaden los centros de las seis caras y el centro del sólido. Las funciones de forma son productos de polinomios de Lagrange cuadráticos unidimensionales:

N_n(\xi,\eta,\zeta) = l_a(\xi)\,l_b(\eta)\,l_c(\zeta),\quad l_{-1}(u) = \tfrac12 u(u-1),\;\; l_0(u) = 1 - u^2,\;\; l_{+1}(u) = \tfrac12 u(u+1),

donde (a,b,c) \in \{-1,0,1\}^3 es la posición del nodo n. Integración 3\times3\times3. El elemento es más completo que el serendípito: más preciso con distorsión fuerte y en flexión, pero más costoso.

Hex27 no forma parte de la cadena de mallado del producto: el mallador no lo construye, por lo que el elemento solo está disponible mediante la entrada directa de la conectividad. La matriz de masas de Hex27 en dinámica implícita no está implementada, y tal cálculo se rechaza indicando la causa; el análisis modal y el térmico funcionan.

Limitaciones. No hay generación de mallas ni caso de verificación. La comprobación es el patch test y la comparación con Hex20 en las pruebas del núcleo.

7.7Prisma Wedge6estable

Prisma lineal de seis nodos: un triángulo en la base e interpolación lineal en la altura. Aparece en las capas prismáticas junto a la pared (inflation) y en las transiciones entre hexaedros y tetraedros.

Las funciones de forma son el producto de las coordenadas baricéntricas de la base por un factor lineal en la altura:

N_i = L_{k}\,\frac{1 \mp \zeta}{2},

donde k es el número del vértice de la base, el signo menos corresponde al triángulo inferior (\zeta=-1) y el signo más al superior. Integración: producto de la regla de tres puntos en el triángulo (puntos (1/6,1/6), (2/3,1/6), (1/6,2/3), pesos 1/6) por la regla de Gauss de dos puntos en la altura: seis puntos en total. La suma de los pesos es igual al volumen del prisma de referencia, 1.

El elemento es linealmente completo, por lo que supera el patch test en una interfaz cosida con Tet4. Un jacobiano degenerado (no positivo) detiene el cálculo con un mensaje.

Limitaciones. Elemento lineal, bloqueo en flexión como en Hex8. Para el prisma no existe una versión cuadrática (Wedge15 no está disponible).

7.8Pirámide Pyr5beta

Pirámide lineal de cinco nodos: base cuadrangular y vértice. Se necesita como elemento de transición en mallas híbridas, donde una cara cuadrangular de un hexaedro se encuentra con dos caras triangulares de tetraedros.

La «degeneración» directa de un hexaedro en una pirámide (fusión de los cuatro nodos superiores) no es linealmente completa y no supera el patch test, por lo que se usa la base racional del elemento piramidal (Zgainski et al.). En la implementación está escrita en coordenadas «colapsadas», \hat a, \hat b \in [-1,1], w \in [0,1), donde las coordenadas físicas de la sección se estrechan como (1-w):

N_i = \frac{1}{4}(1-w)(1 + \xi_i\hat a)(1 + \eta_i\hat b),\quad i=1,\dots,4;\qquad N_5 = w .

En coordenadas físicas \xi = \hat a(1-w), \eta = \hat b(1-w) la base contiene el término racional \xi_i\eta_i\,\xi\eta/(1-w), de ahí el nombre. Integración: 2\times2 puntos de Gauss en (\hat a, \hat b) y dos nodos de Gauss en w sobre [0,1], ocho puntos en total. Los puntos no caen en el vértice w=1, donde la transformación es degenerada. El volumen es un tercio del producto del área de la base por la altura, como en una pirámide real. La tensión se calcula en el eje de la pirámide para w = 1/2.

Limitaciones. No hay análogo cuadrático (Pyr13 no existe en el núcleo). El elemento aparece solo en la capa de transición de mallas híbridas. El vértice de la pirámide es un punto singular de la transformación; una pirámide muy alargada da un mal condicionamiento.
Verificación. No hay un caso de verificación específico. En las pruebas del núcleo: patch test «hexaedro → seis pirámides con un nodo interior común» (el nodo interior reproduce el campo lineal hasta 10^{-19}) y comprobación de la conservación del volumen y de la masa. Estado beta, por la verificación limitada.

7.9Mallas híbridas: Hex8, Wedge6, Pyr5, Tet4beta

Una malla híbrida une una capa de hexaedros o prismas (junto a la pared de un orificio, en una zona de concentración, en un bloque alargado) con un resto tetraédrico. La interfaz se resuelve de dos maneras: por costura mediante nodos comunes (conforme; transición a través de Pyr5 y Wedge6) o mediante ecuaciones de restricción nodo–superficie. Para una interfaz conforme, la cara de Hex8 se divide hacia el centro en pirámides, y la pirámide del lado de dos Tet4 se divide en dos Tet4 según la misma diagonal, de modo que las caras triangulares coinciden.

La corrección de la interfaz se comprueba con el patch test: en una malla cosida «prismas + tetraedros» se reproduce un campo de tensiones uniforme hasta 5\cdot10^{-13}. La tensión en una malla híbrida se calcula en el punto nodal de cada elemento y se promedia sobre los elementos adyacentes: el centro de la primera capa de hexaedros junto a la pared del orificio queda a media capa de distancia, y el valor en el centro subestima el pico de tensión entre un 12 y un 15 %.

Limitaciones. Las mallas híbridas son lineales (P1). El uso conjunto de zonas de hexaedros con mesh … order=2 no se admite y se rechaza con un mensaje. La tensión es discontinua en la interfaz; el promediado es una elección de visualización y no una magnitud de equilibrio.
Verificación. Patch test a través de una interfaz cosida, placa con orificio, concentración de tensiones (2.3\,\%), ajuste con interferencia (Lamé) (-2.5\,\%). Los casos cubren la transición «prisma–tetraedro»; la transición a través de pirámides no tiene un caso propio.

7.10Transición cuadrática Hex20–Pyr13–Tet10experimental

La interfaz de elementos cuadráticos exige la coincidencia de las trazas en la cara común: una cara de ocho nodos de Hex20 debe encontrarse con dos caras de seis nodos de Tet10. Para ello hay dos prototipos; no son accesibles desde la cadena de usuario (script, mallador).

El primero es la «traza común» (common trace) para interfaces planas Hex20–Tet10. La cara lleva nueve nodos: cuatro esquinas, cuatro puntos medios de arista y el punto medio de la diagonal de la triangulación. La condición de coincidencia de trazas son tres relaciones lineales sobre los valores nodales (los nueve valores deben ser valores de un mismo polinomio cuadrático completo sobre el paralelogramo). Se aplican como ecuaciones de restricción, y los grados de libertad maestros se eligen mediante una reducción global de Gauss–Jordan en aritmética racional exacta, de modo que se conservan los modos de sólido rígido y todos los campos cuadráticos. La malla se ensambla con un adaptador aparte (recorte de una cavidad rectangular en un sólido con Tet10 e inserción de Hex20). En una malla de 96 Tet10 y un Hex20, con un campo cuadrático exacto impuesto en el contorno, la desviación en desplazamientos fue del orden de 10^{-8}.

El segundo es un conversor de una malla híbrida lineal a una malla cuadrática conforme Hex20–Pyr13–Tet10 con caras comunes Quad8 y Tri6. La pirámide de trece nodos Pyr13 es un elemento piramidal de segundo orden (5 vértices y 8 puntos medios de arista). Como elemento de rigidez, Pyr13 no existe en el solver. Solo hay funciones de forma y una comprobación del jacobiano en los puntos de Gauss del lado de preparación de la malla; este conversor no se incluyó en la versión publicada, y el cálculo en tal malla no está disponible.

Limitaciones. El script mesh order=2 junto con zonas de hexaedros se rechaza. El prototipo de traza común está pensado para interfaces planas (de paralelogramo); para interfaces curvas no está demostrado. Los elementos de transición Wedge6 y Pyr5 no tienen formas cuadráticas. El cálculo de mallas híbridas cuadráticas debe considerarse de investigación.
Verificación. El cálculo nativo de la malla ensamblada y la comprobación mediante alteración de las ecuaciones de restricción se realizaron durante el desarrollo; en el conjunto de casos de verificación no hay casos de esta interfaz.

7.11Bloqueo: qué hay y qué noestable

El bloqueo es una rigidez parásita del elemento cuando su interpolación no puede reproducir la deformación necesaria. A continuación se da una lista honesta de lo que está implementado.

  • Bloqueo por cortante de elementos de flexión. La lámina MITC4 lo elimina mediante cortantes transversales supuestos (apartado Lámina MITC4). La lámina triangular DKT introduce restricciones de Kirchhoff en los puntos medios de los lados y no contiene cortantes transversales. La viga de Timoshenko se construye con la modificación estándar \Phi de la matriz hermítica; con \Phi pequeña pasa a ser el elemento de Euler–Bernoulli sin bloqueo.
  • Bloqueo por cortante de elementos volumétricos. Se trata mediante el orden: Tet10, Hex20, Hex27 en lugar de Tet4, Hex8, Wedge6, Pyr5. Para Hex8 no hay ni B-bar, ni modos incompatibles, ni integración reducida (en la vía lineal).
  • Bloqueo volumétrico para \nu \to 0.5. No hay formulación mixta: a medida que \nu se aproxima a 0.5, los elementos lineales son más rígidos de lo debido. Los elementos cuadráticos atenúan el bloqueo, pero no lo eliminan; para materiales casi incompresibles use modelos hiperelásticos (véase Modelos de material).
  • F-bar. Para la plasticidad multiplicativa de deformaciones finitas \mathbf{F} = \mathbf{F}_e\mathbf{F}_p en los elementos Hex8, Hex20, Hex27 y Tet10 se introduce un promediado volumétrico del gradiente de deformación (F-bar): \bar{\mathbf{F}} = (\bar J / J)^{1/3}\mathbf{F}, donde \bar J es la media por elemento. Este código está presente solo en la versión de trabajo y no se incluyó en la versión publicada; considérelo experimental.
  • Dinámica explícita. Hex8 se integra en un punto con gradiente exacto promediado volumétricamente y control de «reloj de arena» (hourglass) de Flanagan–Belytschko (formas viscosa y de rigidez).
  • Bloqueo de membrana de láminas. La membrana de la lámina cuadrangular es un Q4 bilineal ordinario con integración completa, sin modos incompatibles; en mallas gruesas, en flexión en el plano, resulta más rígida que la solución exacta. Para la lámina triangular la membrana es un CST de deformación constante.
Limitaciones. Si el problema es sensible al bloqueo (flexión de un sólido delgado, material casi incompresible), refine la malla a través del espesor y compare dos órdenes de elemento sobre la misma geometría.

7.12Viga de Timoshenkoestable

Elemento espacial de barra de dos nodos para estructuras reticulares, cerchas y nervios de rigidización. Seis grados de libertad por nodo, doce por elemento. El material y la sección se definen con seis números: E, G, A, I_y, I_z, J. El módulo de cortante se toma como G = E/(2(1+\nu)).

La rigidez en ejes locales (x a lo largo del eje, del nodo 1 al nodo 2) tiene forma cerrada, sin integración por puntos. Partes axial y de torsión:

k_{u} = \frac{EA}{L},\qquad k_{\theta_x} = \frac{GJ}{L}.

Flexión en el plano xy (grados de libertad v_1,\theta_{z1},v_2,\theta_{z2}):

\mathbf{k}_{xy} = \frac{E I_z}{(1+\Phi_y)L^3} \begin{bmatrix} 12 & 6L & -12 & 6L\\ 6L & (4+\Phi_y)L^2 & -6L & (2-\Phi_y)L^2\\ -12 & -6L & 12 & -6L\\ 6L & (2-\Phi_y)L^2 & -6L & (4+\Phi_y)L^2 \end{bmatrix},\qquad \Phi_y = \frac{12\,E I_z}{\kappa_y\,G A L^2}.

En el plano xz la matriz es la misma con la sustitución I_z \to I_y, \kappa_y \to \kappa_z y signos opuestos en los acoplamientos «desplazamiento–giro», ya que \theta_y = -dw/dx. Para \Phi \to 0 se obtiene el elemento de Euler–Bernoulli (viga larga y delgada); para \Phi grandes crece la flexibilidad por cortante; no hay bloqueo. El coeficiente de cortante en el producto es fijo: \kappa_y = \kappa_z = 5/6 (rectángulo, el clásico de Timoshenko); el valor no depende de la forma de la sección.

Orientación. El eje local x va del nodo 1 al nodo 2. El vector de referencia es el eje global Z (para una viga casi vertical, \lvert x_z\rvert > 0.9999, el eje global Y). Después y = v_{\text{ref}} \times x, normalizado, z = x \times y. La matriz se pasa a ejes globales mediante la transformación \mathbf{K}_g = \mathbf{T}^{\mathsf T}\mathbf{K}_l\,\mathbf{T}, \mathbf{T} = \operatorname{blockdiag}(\mathbf{R},\mathbf{R},\mathbf{R},\mathbf{R}).

Los esfuerzos internos en los extremos se recuperan como \mathbf{f}_l = \mathbf{k}_l\,\mathbf{u}_l con el convenio: N > 0 es tracción, T > 0 es un momento según la regla de la mano derecha a lo largo del eje del nodo 1 al nodo 2; los esfuerzos cortantes y los momentos flectores se entregan como esfuerzos internos de la sección.

Limitaciones. La torsión es solo de Saint-Venant; no hay grado de libertad de alabeo (el séptimo), la torsión impedida de perfiles abiertos de pared delgada (doble T, canal) no se reproduce, como tampoco el pandeo lateral. Para tales problemas use un modelo de lámina para almas y alas. El material de la viga es linealmente elástico. La rigidez geométrica \mathbf{K}_\sigma se ensambla a partir del esfuerzo axial (fórmula de Przemieniecki), sin aportaciones de los momentos ni del momento torsor.
Verificación. Viga en voladizo bajo carga distribuida (Timoshenko), torsión de un eje de Saint-Venant, pandeo de una columna de Euler con cuatro condiciones de contorno, ménsula curva MacNeal–Harder (96 elementos rectos de viga a lo largo del arco, 1.44\,\%), casos modales NAFEMS FV2, FV4 y FV5 (viga profunda; desviación 3.49\,\%). Las ménsulas recta y alabeada de MacNeal–Harder todavía no figuran entre los casos superados publicados.
frame node at=0,0,0
frame node at=1000,0,0
frame member 1 2 section=rect w=40 h=80
frame support node=1 dofs="all"
frame load node=2 force=0,0,-5000

7.13Viga extendida: cortante, excentricidades y masa no estructuralestable

El tipo de viga extendida amplía el elemento de Timoshenko a veintidós números y elimina tres supuestos del básico: eje por el centro de gravedad, sección en ejes principales, balanceo nulo.

  • Balanceo y vector de referencia. Giro de la sección alrededor del eje de la viga en un ángulo dado y un vector de referencia arbitrario que define el plano xy (en lugar del automático).
  • Producto de inercia I_{yz}. Si los ejes de la sección no son principales, el elemento se gira el ángulo de los ejes principales \alpha, \tan 2\alpha = -2I_{yz}/(I_y - I_z), donde la flexión en los dos planos queda desacoplada.
  • Excentricidad de la línea axial. El centro de la sección está desplazado del nodo en cada extremo de forma independiente (brazo rígido): \mathbf{u}_c = \mathbf{u}_n + \boldsymbol{\theta}\times\mathbf{r}, \boldsymbol{\theta}_c = \boldsymbol{\theta}_n. La longitud flexible es la distancia entre los centros de sección en los extremos. Así se modela un nervio de rigidización situado sobre la superficie de una chapa, teniendo en cuenta el teorema de Steiner: en lugar de aumentar artificialmente los momentos de inercia, la excentricidad se transmite geométricamente.
  • Centro de cortante. El elemento se construye en el centro de cortante, donde la flexión y la torsión están desacopladas; se lleva al centro de la sección con el mismo brazo rígido \mathbf{s}: \mathbf{K}_c = \mathbf{T}_s^{\mathsf T}\mathbf{K}_{sc}\mathbf{T}_s. Aparece un acoplamiento flexión–torsión cuando la línea de acción de la fuerza no pasa por el centro de cortante.
  • Coeficientes de cortante \kappa_y, \kappa_z se definen por separado en los datos del elemento (por defecto 5/6).
  • Masa no estructural por unidad de longitud (kg/m): se añade como masa traslacional consistente.

La rigidez del nodo se obtiene como \mathbf{K}_n = \mathbf{A}^{\mathsf T}\mathbf{K}_c\mathbf{A}, donde \mathbf{A} transforma los grados de libertad de los nodos en los de los centros de sección. Las mismas \mathbf{A} se aplican a la masa, a la rigidez geométrica y a la fuerza térmica. Con datos adicionales nulos, las matrices coinciden con las de la viga básica. La elección del tipo es automática: el tipo extendido se activa con balanceo, excentricidades, centro de cortante o masa no estructural no nulos.

Limitaciones. El centro de cortante y las excentricidades están definidos como constantes del elemento; el comportamiento torsional no tiene en cuenta el alabeo. La inercia rotacional de la masa no estructural no se introduce. La versión corrotacional (no lineal) admite solo la viga extendida sin excentricidades y sin centro de cortante; en caso contrario, se rechaza.
assign beam edges=12,14 section=rect w=10 h=30 flush=outer

7.14Articulaciones de vigasestable

Una articulación en el extremo de una viga desactiva la transmisión de uno de los tres momentos, M_y, M_z o el torsor T, en los ejes locales de la viga. Se admiten una articulación en cualquiera de los extremos y una articulación en el vano.

La implementación no usa resortes de penalización. El extremo de la viga con articulación recibe un nodo gemelo propio en las mismas coordenadas: los tres desplazamientos del gemelo son iguales a los del nodo principal, y los giros se acoplan solo según los ejes no liberados mediante la ecuación \mathbf{a}\cdot(\boldsymbol{\theta}_d - \boldsymbol{\theta}_n) = 0. El giro liberado queda como grado de libertad libre del gemelo, y su rigidez la aporta íntegramente el elemento: es una condensación estática que realiza el solver. Un nodo en el que todas las vigas están liberadas según un mismo eje queda fijado en ese giro; un momento aplicado a tal giro no tiene con qué equilibrarse, y el cálculo se rechaza indicando el nombre del nodo.

Limitaciones. Los mecanismos de traslación (tres articulaciones seguidas, una cercha sin diagonales) no se comprueban con las articulaciones: es una propiedad del esquema de apoyos; tales modelos son degenerados.
Verificación. Viga de dos vanos con excentricidad y articulación embebida (desviación 0.002\,\%).

7.15Biblioteca de secciones de vigasestable

La sección se elige por tipo y dimensiones; a partir de ellas se calculan A, I_y, I_z, J y las fibras extremas c_y, c_z (módulos resistentes W_y = I_y/c_z, W_z = I_z/c_y). Tipos: rectángulo, sección en cajón, círculo macizo, tubo, doble T, T, canal, ángulo. El núcleo prevé también la entrada directa de A, I_y, I_z, J, c_y, c_z como un conjunto de números.

Los perfiles compuestos se calculan sumando rectángulos con traslación de Steiner, y los huecos son rectángulos con signo negativo:

I_y = \sum_k \left( \frac{b_k h_k^3}{12} + A_k (z_k - z_c)^2 \right).

Constante de torsión de Saint-Venant:

  • círculo y tubo: momento polar, J = \pi (D^4 - d^4)/32;
  • rectángulo macizo de lados a \ge b: fórmula de Roark, J = a\,b^3\left[\tfrac13 - 0.21\tfrac{b}{a}\left(1 - \tfrac{b^4}{12a^4}\right)\right];
  • cajón: contorno cerrado de pared delgada según Bredt, J = 4A_m^2\,t / s, donde A_m es el área por la línea media, s su perímetro y t el menor espesor de pared;
  • doble T, T, canal, ángulo: perfil abierto de pared delgada, J = \tfrac13\sum b_i t_i^3.

Para los perfiles abiertos es una estimación de primer orden: los acuerdos y las uniones de las alas con el alma no se tienen en cuenta en A, I ni J.

A partir de los esfuerzos internos se construye la distribución de tensiones en la sección: \sigma = N/A \pm M_y z/I_y \pm M_z y/I_z; las tensiones tangenciales debidas a los cortantes, según la fórmula de Zhuravski (los momentos estáticos se calculan numéricamente sobre una malla de puntos de la sección), y las debidas a la torsión, con las fórmulas para círculo y tubo, según Bredt para el cajón y según la teoría de perfiles abiertos de pared delgada para el resto. La tensión equivalente es la de von Mises.

Limitaciones. Solo los tipos de sección enumerados, sin acuerdos y sin torsión impedida. El coeficiente de cortante es fijo (5/6) y no depende de la forma de la sección.
Verificación. Ménsula de Timoshenko, torsión de Saint-Venant, tira de lámina con larguero en T, panel rigidizado B-Rep con nervios en T. No hay casos publicados de torsión de secciones no circulares ni de cajón.

7.16Secciones por malla y catálogo de perfilesexperimental

Se ha añadido al núcleo un módulo aparte de características de una sección arbitraria: un polígono con huecos. El área, el centro de gravedad, I_y, I_z, I_{yz} y los ejes principales se calculan de forma exacta a partir del contorno (teorema de Green). La torsión y el cortante se obtienen mediante un cálculo por elementos finitos en una malla Tri6 a partir de dos problemas de Poisson, para la función de alabeo \omega y la función de cortante transversal \Psi:

J = I_p - \boldsymbol{\omega}^{\mathsf T}\mathbf{K}_\omega\boldsymbol{\omega},\qquad k_s = \frac{4(1+\nu)^2 I^2}{A\int \lvert\mathbf{g}\rvert^2\,dA}.

Aquí I_p es el momento polar, k_s es el coeficiente de cortante energético (la energía de cortante de la viga de Timoshenko se iguala a la energía de la solución elástica) y \mathbf{g} es el campo de cortante. También se determina el centro de cortante. El módulo devuelve el área de cortante k_s A: 5/6 para un rectángulo estrecho y exactamente 1/2 para un tubo circular delgado. Al módulo se ha añadido un catálogo de perfiles estándar (doble T IPE, HEA, HEB, HEM según EN, y doble T y canales según GOST 8239 y GOST 8240).

Limitaciones. El módulo no está conectado ni a la interfaz ni al script: la viga de cálculo del producto utiliza la biblioteca del apartado anterior con \kappa = 5/6 fijo. El catálogo modela el perfil con alas paralelas y sin acuerdos; los I_y, I_z tabulados se guardan al lado para su contraste. La verificación son pruebas frente a soluciones exactas; no hay casos en el conjunto de verificación.

7.17Viga corrotacionalestable

Para problemas con grandes desplazamientos y giros, la viga se recalcula en la formulación corrotacional de Battini–Pacoste (Battini J.-M., Pacoste C., CMAME 191, 2002). La configuración se define por las posiciones de los nodos y por los giros completos de los nodos \mathbf{R}_g; el incremento de giro es el spin espacial \delta\mathbf{w} y la actualización es multiplicativa, \mathbf{R}_g \leftarrow \exp(\delta\mathbf{w})\,\mathbf{R}_g (la suma de ángulos en giros finitos es incorrecta).

El marco rígido del elemento se construye a partir de la cuerda y del eje y promediado de los nodos. Las magnitudes de deformación en este marco son pequeñas cuando la deformación es pequeña: el alargamiento \bar u = l - l_0 y los giros \bar{\boldsymbol\theta}_i = \log\left(\mathbf{R}_r^{\mathsf T}\mathbf{R}_{g,i}\mathbf{R}_0\right). A ellas se aplica sin cambios el elemento lineal de Timoshenko de los apartados anteriores, \mathbf{f}_l = \mathbf{K}_l\,[\bar u, \bar{\boldsymbol\theta}_1, \bar{\boldsymbol\theta}_2]. Las fuerzas internas en ejes globales se obtienen por trabajo virtual exacto; la matriz tangente, por derivación numérica de los esfuerzos internos analíticos con la misma actualización de spin que usa Newton, por lo que es consistente con la iteración.

Se admiten la viga básica y la extendida sin excentricidades ni centro de cortante; en caso contrario el cálculo se rechaza de forma explícita, en lugar de sustituir la física en silencio.

Limitaciones. El material es elástico (ley lineal en el marco del elemento) y las deformaciones en el marco son pequeñas: el elemento es adecuado para grandes desplazamientos y giros con deformaciones pequeñas. Los momentos nodales son «axiales», conjugados del spin.

7.18Lámina MITC4estable

Elemento plano de lámina de Reissner–Mindlin de cuatro nodos para chapas, placas y estructuras de pared delgada. Seis grados de libertad por nodo; el elemento se construye en un marco local y se compone de tres partes: membrana, flexión con cortante transversal y penalización del giro alrededor de la normal.

El marco local se construye a partir de los nodos: la normal es el producto vectorial de las diagonales, y el eje e_1 se dirige a lo largo de la arista 1\to2 tras ortogonalizarlo respecto a la normal. Los cuatro nodos se proyectan al plano del marco, el alabeo no se modela. La matriz del elemento en ejes globales es \mathbf{K}_g = \mathbf{T}^{\mathsf T}\mathbf{K}_l\,\mathbf{T}. Para la parte de flexión no se usan los vectores de giro \theta_x, \theta_y sino los ángulos de inclinación de la normal \beta_x = -\theta_y, \beta_y = \theta_x, por lo que el bloque rotacional de \mathbf{T} contiene una permutación adicional.

Membrana: Q4 isoparamétrico bilineal en tensión plana, integración completa 2\times2:

\boldsymbol{\varepsilon}_m = [\partial_x u,\ \partial_y v,\ \partial_y u + \partial_x v]^{\mathsf T},\qquad \mathbf{A} = \frac{E t}{1-\nu^2}\begin{bmatrix}1 & \nu & 0\\ \nu & 1 & 0\\ 0 & 0 & \tfrac{1-\nu}{2}\end{bmatrix}.

Flexión. Curvaturas y cortantes transversales:

\boldsymbol{\kappa} = [\partial_x\beta_x,\ \partial_y\beta_y,\ \partial_y\beta_x + \partial_x\beta_y]^{\mathsf T},\qquad \boldsymbol{\gamma} = [\partial_x w - \beta_x,\ \partial_y w - \beta_y]^{\mathsf T},
\mathbf{D}_b = \frac{E t^3}{12(1-\nu^2)}\begin{bmatrix}1 & \nu & 0\\ \nu & 1 & 0\\ 0 & 0 & \tfrac{1-\nu}{2}\end{bmatrix},\qquad D_s = \kappa_s\,G\,t,\quad \kappa_s = \tfrac56 .

La parte de flexión se integra con Gauss 2\times2. Para el cortante se aplica MITC4 (Dvorkin E. N., Bathe K.-J., 1984; Bathe K.-J., Dvorkin E. N., 1985): las componentes covariantes del cortante se calculan solo en cuatro puntos de enlace, en los puntos medios de los lados, y se interpolan linealmente:

\gamma_\xi(\xi,\eta) = \tfrac12(1-\eta)\,\gamma_\xi^{A} + \tfrac12(1+\eta)\,\gamma_\xi^{C},\qquad \gamma_\eta(\xi,\eta) = \tfrac12(1-\xi)\,\gamma_\eta^{D} + \tfrac12(1+\xi)\,\gamma_\eta^{B},

donde los puntos de enlace A,C están en \xi=0, \eta=\mp1, y D,B en \xi=\mp1, \eta=0. La componente covariante en el punto de enlace \gamma_\xi = \partial_\xi w - (\partial_\xi x\,\beta_x + \partial_\xi y\,\beta_y) se calcula con el jacobiano precisamente en ese punto. Se pasan a las componentes cartesianas [\gamma_{xz},\gamma_{yz}] en cada punto de integración mediante \mathbf{J}^{-1}. Los cortantes supuestos eliminan el bloqueo por cortante para t/L \to 0. En un elemento rectangular las fórmulas coinciden con la versión rectangular hasta la precisión de máquina.

Las tensiones se calculan en el centro del elemento, \xi=\eta=0: la de membrana \boldsymbol{\sigma}_m = \mathbf{C}_{ps}\boldsymbol{\varepsilon}_m más la de flexión en las fibras superior e inferior, \sigma_b = \pm 6m/t^2, m = \mathbf{D}_b\boldsymbol{\kappa}. Se entregan \sigma_{xx}, \sigma_{yy}, \tau_{xy} y la equivalente de von Mises en tensión plana \sqrt{\sigma_{xx}^2 - \sigma_{xx}\sigma_{yy} + \sigma_{yy}^2 + 3\tau_{xy}^2} en cada fibra; las tensiones tangenciales transversales no se recuperan por esta vía. La carga nodal por presión es consistente (\int N_i\,p\,dA con el jacobiano completo); la presión se dirige contra la normal exterior del elemento.

El desplazamiento de la superficie de referencia z_0 (parámetro offset=bottom|middle|top o un número en el comando section shell) se tiene en cuenta en el paquete de rigideces: \mathbf{B}' = \mathbf{B} + z_0\mathbf{A}, \mathbf{D}' = \mathbf{D} + 2z_0\mathbf{B} + z_0^2\mathbf{A}; entonces el elemento es equivalente a un isótropo desplazado de forma rígida (comprobado con una prueba).

Limitaciones. La membrana Q4 sin modos incompatibles: en mallas gruesas la flexión en el plano de la chapa resulta más rígida que la exacta. El cuadrilátero es plano, y un alabeo fuerte (mallas torsionadas) distorsiona el resultado: en las mediciones de desarrollo con la viga torsionada de MacNeal–Harder la desviación superó la tolerancia de 5\,\%, y no hay un caso superado para ella. La rigidez al cortante transversal se define con el coeficiente 5/6, y los efectos de lámina gruesa se tienen en cuenta en el marco de la teoría de primer orden.
Verificación. Placa rectangular MacNeal–Harder (0.83\,\%), NAFEMS LE3 (lámina semiesférica, 0.13\,\%), LE6 (placa oblicua), placa circular de Kirchhoff–Mindlin, modales FV12 y FV22 (placa romboidal gruesa).
units mm
section shell t=4
mesh shell size=40 element=quad pattern=structured

7.19Giro alrededor de la normal (drilling)estable

La membrana Q4 y CST no contienen el grado de libertad de giro \theta_z alrededor de la normal, mientras que el nodo de lámina sí lo tiene y entra en el sistema global. Sin un añadido, la matriz es degenerada en ese grado de libertad. Vincular \theta_z a cero (resorte de anclaje) sobrestimaría la rigidez a flexión de las láminas curvas, por lo que se aplica la penalización de Hughes–Brezzi (Hughes T. J. R., Brezzi F., 1989): vincula \theta_z no a cero sino al giro del propio campo de desplazamientos del elemento:

\Pi_d = \frac{1}{2}\,\gamma\,G\,t\int_{A_e}\left(\theta_z - \omega\right)^2 dA,\qquad \omega = \tfrac12\left(\frac{\partial v}{\partial x} - \frac{\partial u}{\partial y}\right).

Aquí \gamma es un parámetro de penalización adimensional, ajustado mediante pruebas y pequeño frente a la rigidez de membrana; en la interfaz y en el script no está disponible. La penalización no introduce energía apreciable en un estado de membrana pura o de flexión pura, y acopla los giros de láminas adyacentes no coplanares en una arista quebrada. Para un elemento con laminado se usa la rigidez de cortante de membrana del paquete.

Limitaciones. La penalización es una estabilización numérica y no una rigidez física; el valor del parámetro está fijado en el núcleo y el usuario no lo cambia. Además de la penalización, en los grados de libertad de membrana se introduce una estabilización despreciable que elimina los modos rígidos planos de una lámina plana no conectada.
Verificación. NAFEMS LE3: lámina curvilínea sensible al modo de estabilización del giro alrededor de la normal (0.13\,\%); placa rectangular MacNeal–Harder y pruebas de invariancia respecto a la orientación del elemento en el espacio.

7.20Lámina triangular CST y DKTestable

Elemento plano de tres nodos para mallas superficiales no estructuradas: los triángulos los construye cualquier mallador superficial sin recombinación. Consta de la membrana CST, la flexión DKT y la misma penalización del giro alrededor de la normal.

La membrana es un símplex de deformación constante: \mathbf{B} es constante, \mathbf{K}_m = t\,A\,\mathbf{B}^{\mathsf T}\mathbf{C}_{ps}\mathbf{B}, un punto. La flexión es el Discrete Kirchhoff Triangle (Batoz J.-L., Bathe K.-J., Ho L.-W., 1980): las curvaturas se expresan mediante los nueve grados de libertad [w,\theta_x,\theta_y] de los tres nodos con cumplimiento discreto de la hipótesis de Kirchhoff en los puntos medios de los lados, \boldsymbol{\kappa} = \mathbf{B}_{DKT}(\xi,\eta)\,\mathbf{u}. Integración: tres puntos en los puntos medios de los lados con pesos A/3. DKT no tiene cortante transversal, por lo que no hay bloqueo por cortante por construcción.

Tensión: la de membrana es constante en el elemento, la de flexión se toma en el centroide, \xi=\eta=1/3, \sigma_b = \pm 6m/t^2 en las fibras superior e inferior.

Limitaciones. DKT es aplicable a láminas delgadas. En mallas detalladas la lámina triangular converge peor que la cuadrangular: en las mediciones de desarrollo con la semiesfera NAFEMS LE3 con malla densa se observó una desviación de alrededor de -6\,\%. La membrana CST requiere una malla densa en flexión en el plano. Para cálculos de responsabilidad se prefieren mallas cuadrangulares (surface=quad).
Verificación. NAFEMS LE1 (membrana elíptica con orificio, malla de MITC4 y de CST+DKT, 3.62\,\% en malla gruesa). Los demás casos de láminas del conjunto se realizaron en mallas cuadrangulares MITC4.
units mm
mesh shell size=20 surface=tri

7.21Lámina laminada (paquete ABD)beta

Lámina MITC4 de cuatro nodos a la que, en lugar de E, \nu, t isótropos, se suministra un paquete constitutivo por unidad de ancho:

\mathbf{N} = \mathbf{A}\boldsymbol{\varepsilon}_0 + \mathbf{B}\boldsymbol{\kappa},\qquad \mathbf{M} = \mathbf{B}\boldsymbol{\varepsilon}_0 + \mathbf{D}\boldsymbol{\kappa},\qquad \mathbf{Q} = \mathbf{A}_s\boldsymbol{\gamma}.

El paquete se ensambla por capas según la teoría clásica de laminados con cortante transversal de primer orden (FSDT). Para la capa k con límites z_{k-1}, z_k (desde la superficie de referencia):

\mathbf{A} = \sum_k \bar{\mathbf{Q}}_k\,(z_k - z_{k-1}),\quad \mathbf{B} = \tfrac12\sum_k \bar{\mathbf{Q}}_k\,(z_k^2 - z_{k-1}^2),\quad \mathbf{D} = \tfrac13\sum_k \bar{\mathbf{Q}}_k\,(z_k^3 - z_{k-1}^3),\quad \mathbf{A}_s = \sum_k \kappa_k\,\bar{\mathbf{Q}}^{s}_k\,t_k,

donde \bar{\mathbf{Q}}_k es la rigidez reducida de la capa, girada el ángulo de apilado (el ángulo se mide desde el eje x_e del elemento alrededor de la normal), y \bar{\mathbf{Q}}^s_k es la rigidez al cortante transversal de la capa. Coeficiente de cortante: uniforme 5/6 o «energético» por capa, \kappa_k = \min\{1, \tfrac56\,G_{\max}/G_k\} (para sándwiches con núcleo blando \kappa \to 1). En lo demás el elemento coincide con MITC4: el cortante con deformaciones supuestas usa la matriz completa \mathbf{A}_s (2\times2), se añade el acoplamiento membrana–flexión \mathbf{B} y la penalización del giro. El caso isótropo se reproduce de forma idéntica (regresión al nivel de 10^{-12}).

Adicionalmente: tensiones por capa en los ejes del material y criterios de fallo: tensiones máximas, Tsai–Hill, Tsai–Wu, Hashin (bidimensional) e índice de delaminación según las tensiones tangenciales interlaminares; las tensiones interlaminares se recuperan a partir de FSDT o de las ecuaciones de equilibrio. Los esfuerzos térmicos \mathbf{N}_T, \mathbf{M}_T se calculan con los CTE de las capas.

Limitaciones. Teoría de primer orden: el perfil de cortante a través del espesor se considera dado, y las tensiones interlaminares por capa son una estimación. La masa del laminado no está conectada a la dinámica implícita de vigas y láminas (tal tipo se rechaza en ella); en el análisis modal y de pandeo, la masa y \mathbf{K}_\sigma del laminado están implementadas. Las mismas limitaciones de membrana y de alabeo que en MITC4.
Verificación. No hay un caso independiente en el conjunto de verificación. La referencia es una implementación aparte de la teoría clásica de laminados (fixture con valores de \mathbf{A}, \mathbf{B}, \mathbf{D}, desplazamientos y tensiones de las capas) y la comparación con el elemento isótropo; por ello el estado es beta.
units mm
ortho name=ud E1=140e9 E2=10e9 nu12=0.3 G12=5e9 G13=5e9 G23=3.5e9
section shell laminate plies="ud:0.25:0,ud:0.25:45" repeat=2 symmetric=true shear=energetic
mesh shell size=40 element=quad pattern=structured

7.22Láminas corrotacionalesestable

Para grandes desplazamientos y giros de láminas se aplica la formulación corrotacional EICR (element-independent corotational; Rankin–Nour-Omid; Felippa C. A., Haugen B., CMAME 194, 2005) sobre los elementos lineales MITC4 y CST+DKT. Como en la viga corrotacional, la configuración son las posiciones de los nodos y los giros completos, y la actualización es multiplicativa.

El marco del elemento se determina solo por las posiciones de los nodos: para un cuadrilátero, la normal por las diagonales y el eje e_1 como proyección del vector entre los puntos medios de los lados opuestos; para un triángulo, por la arista 1\to2. Los grados de libertad de deformación son los desplazamientos de los nodos en el marco \bar{\mathbf{u}}_i = \mathbf{R}_r^{\mathsf T}(\mathbf{x}_i - \mathbf{x}_c) - \mathbf{R}_0^{\mathsf T}(\mathbf{X}_i - \mathbf{X}_c) y los giros \bar{\boldsymbol\theta}_i = \log(\mathbf{R}_r^{\mathsf T}\mathbf{R}_{g,i}\mathbf{R}_0). A ellos se aplica sin cambios la rigidez lineal del elemento: \bar{\mathbf{f}} = \mathbf{K}_l\,\bar{\mathbf{d}}. Las fuerzas internas son el gradiente exacto de la energía \tfrac12\bar{\mathbf{d}}^{\mathsf T}\mathbf{K}_l\bar{\mathbf{d}} respecto a los grados de libertad globales (el término del proyector elimina el trabajo de los modos rígidos del marco y de la traslación del centroide); la tangente se obtiene por diferencias a partir de la fuerza analítica, consistente con la actualización de spin.

El código admite también el tipo laminado, pero no hay un caso de verificación aparte para él.

Limitaciones. El elemento es plano: el alabeo no se modela. El material es elástico y las deformaciones son pequeñas en el marco del elemento; las deformaciones finitas de la lámina con plasticidad no se admiten.

7.23Masa puntualbeta

Elemento de un nodo con seis grados de libertad y sin rigidez (\mathbf{K} = 0). Parámetros: masa m (kg) y tres momentos de inercia I_{xx}, I_{yy}, I_{zz} en ejes globales (en unidades del SI). La matriz de masas es diagonal:

\mathbf{M}_e = \operatorname{diag}(m, m, m, I_{xx}, I_{yy}, I_{zz}).

Se usa para equipos suspendidos, motores y lastre en el análisis modal y dinámico de estructuras reticulares y de modelos de láminas. El punto puede definirse mediante un nodo o mediante coordenadas.

Limitaciones. La masa puntual está disponible desde el script y funciona en modelos de vigas y láminas; en mallas de elementos volumétricos este comando no se usa. Para suspender una masa de un sólido o de un nodo fuera de la malla, conéctela a la superficie con una zona rígida (véase más abajo).
Verificación. En el caso NAFEMS FV4 (ménsula con dos masas puntuales no coaxiales sobre restricciones rígidas) la desviación es de 1.06\,\%. No hay un caso aparte para el propio elemento; estado beta, porque el elemento solo se crea desde el script.
units mm
mass node=1000,0,0 m=100 Ixx=0.5 Iyy=0.5 Izz=0.8

7.24Resortebeta

Unión elástica entre dos zonas del modelo o entre una zona y una base fija. La zona se elige mediante una cara, una arista o un vértice.

Implementación: en el centroide de cada una de las zonas seleccionadas se crea un nodo maestro; se vincula con los nodos de la zona mediante una zona rígida (RBE2); entre los nodos maestros se coloca un elemento de Timoshenko de dos nodos con propiedades equivalentes. Se define la rigidez longitudinal k (N/m); se ajusta E_{\text{eq}} = kL/A_{\text{eq}} con un área fija, de modo que EA/L = k. La rigidez transversal k_t y la torsional k_\theta son opcionales: I_{\text{eq}} = k_t L^3 / (12 E_{\text{eq}}), J_{\text{eq}} = k_\theta L / G_{\text{eq}}; sin ellas, la rigidez a flexión y a torsión es despreciable. El modo «tres ejes» coloca tres resortes ortogonales independientes k_x, k_y, k_z hacia la base. Es posible un pretensado F_0: un par de fuerzas autoequilibrado a lo largo del eje del resorte. El posprocesador entrega el alargamiento \Delta L = (\mathbf{u}_B - \mathbf{u}_A)\cdot\mathbf{e} y la fuerza de trabajo F = F_0 + k\,\Delta L.

Limitaciones. El resorte es lineal y no funciona «solo a compresión»: no hay características unilaterales ni holguras (para ellas se usa el contacto). Si los centroides de las zonas coinciden, se adopta una longitud efectiva de 1 mm a lo largo del eje z; en un resorte hacia la base sin punto de base definido, la base se toma 10 mm por debajo del centroide a lo largo de -z (es mejor definir el punto de la base de forma explícita). Las zonas rígidas alrededor del maestro hacen rígida localmente la zona sujeta, lo que distorsiona las tensiones junto al lugar de unión.
Verificación. No hay un caso de verificación específico; el elemento se comprueba con pruebas automáticas de ensamblado. Estado beta: en la versión publicada entró la interfaz, y el comando de script apareció después.
spring surface number 3 ground k=2e6 preload=100

7.25Elementos rígidos y ecuaciones de restricciónestable

Una zona rígida (RBE2) obliga a los nodos dependientes a moverse junto con el maestro como un único sólido rígido:

\mathbf{u}_d = \mathbf{u}_m + \boldsymbol{\theta}_m\times(\mathbf{x}_d - \mathbf{x}_m),\qquad \boldsymbol{\theta}_d = \boldsymbol{\theta}_m .

Así se transmiten tanto las fuerzas como el momento, y el acoplamiento de nodos con tres y con seis grados de libertad (sólido con viga) se resuelve sin artificios.

La ecuación de restricción general \sum_i c_i u_i = r (en terminología de otros sistemas, CE/MPC) también se elimina de forma exacta: el primer término es el grado de libertad esclavo y los demás son maestros. El conflicto de grados de libertad esclavos y los ciclos de restricciones se detectan y detienen el cálculo.

Limitaciones. La zona rígida no tiene deformación: las tensiones cerca de la zona dependen de la elección de los nodos esclavos (efecto de «mancha rígida»).
rigid link master vertex number 6 slaves surface number 2

7.26Matrices de masas, rigidez geométrica, tensionesestable

Matriz de masas. Para los elementos volumétricos en el análisis modal, la masa del elemento \rho V_e se reparte por igual entre sus nodos (concentrada, diagonal), solo traslaciones. Para Hex8 y Tet4 regulares esto coincide con el lumping HRZ; para Tet10 y Hex20 el reparto igual da la masa total correcta, pero las frecuencias resultan imprecisas (en modos de flexión de la ménsula, P2 da no obstante un buen resultado). En el análisis modal no hay masa consistente de sólidos. Para vigas y láminas el núcleo implementa ambas matrices, la concentrada y la consistente.

  • Viga de Timoshenko: masa consistente de Przemieniecki con inercia rotacional de flexión \rho I e inercia de torsión \rho J; para \Phi \to 0, la masa hermítica. Esta inercia es crítica para vigas profundas y modos altos (NAFEMS FV5).
  • Lámina (MITC4, CST+DKT): masa traslacional consistente M_{ab} = \rho t\int N_aN_b\,dA, para el triángulo en forma cerrada \rho t A/12\cdot[2\ 1\ 1; 1\ 2\ 1; 1\ 1\ 2]; la inercia rotacional de flexión no se tiene en cuenta en la masa modal.
  • Dinámica implícita de sólidos: a elegir, la consistente \rho\int N^{\mathsf T}N\,dV, la concentrada HRZ (diagonal de la consistente, escalada a la masa total; siempre positiva, a diferencia de la suma por filas de los elementos serendípitos) y «por igual entre los nodos». Para Hex27 la matriz de masas en dinámica no está implementada.
  • Las vigas y láminas en dinámica implícita llevan masa traslacional e inercia rotacional del nodo: para una viga, \tfrac12\rho L\,\operatorname{diag}(I_y+I_z, I_y, I_z) por extremo; para una lámina, \rho t^3/12\cdot A_i, donde A_i es la fracción de área que corresponde al nodo. Este planteamiento apareció después de la última versión publicada.
  • Dinámica explícita: masa diagonal (lumping HRZ); para un Hex8 de forma regular es \rho V/8 en el nodo.

Rigidez geométrica \mathbf{K}_\sigma (para pandeo y frecuencias con precarga). Para sólidos, a partir del tensor de tensiones real, bloque sobre los tres desplazamientos:

(\mathbf{K}_\sigma)_{ab} = \mathbf{I}_3\int_{V_e}\nabla N_a^{\mathsf T}\,\boldsymbol{\sigma}\,\nabla N_b\,dV .

Para una viga, a partir del esfuerzo axial N (matriz de Przemieniecki, aportación N/L en los bloques de flexión). Para láminas, solo a partir de los esfuerzos de membrana \mathbf{N} en las tres traslaciones, \int \nabla u_k^{\mathsf T}\mathbf{N}\nabla u_k\,dA; la aportación de los giros no se tiene en cuenta. El signo es común a todos los tipos: la tracción estabiliza.

Tensiones a nivel de elemento. La recuperación básica se hace con la fórmula \boldsymbol{\sigma} = \mathbf{C}\mathbf{B}\mathbf{u}_e en un punto característico del elemento (centro para hexaedros y prismas, centroide para tetraedros, eje a media altura para la pirámide). El campo nodal es un promediado sobre los elementos adyacentes; para Tet10 y mallas híbridas, la tensión se calcula primero en los nodos de cada elemento y después se promedia. Para una viga, a partir de los esfuerzos de extremo \mathbf{f} = \mathbf{k}\mathbf{u} y una estimación en las fibras extremas; para una lámina, en las fibras superior e inferior en el centro del elemento. Métodos más precisos (suavizado, indicador de error) se describen en la sección Resultados, posprocesamiento y evaluación de resistencia.

Limitaciones. La masa de los modos superiores de Tet10 y Hex20 en el análisis modal es aproximada. La \mathbf{K}_\sigma de la viga no contiene la aportación de los momentos ni del momento torsor.
Verificación. NAFEMS FV5 (viga profunda, inercia rotacional), FV12 (placa libre, láminas), FV52 (barra de Hex8), estabilidad de una columna de Euler.

7.27Elementos térmicosbeta

El problema térmico es un campo escalar T (un grado de libertad por nodo) sobre las mismas geometrías: Tet4, Hex8, Wedge6, Pyr5 y los cuadráticos Tet10, Hex20, Hex27 con las mismas cuadraturas y funciones de forma. Elemento: K^e_{ij} = \int\kappa\,\nabla N_i\cdot\nabla N_j\,dV, carga por generación volumétrica de calor F^e_i = \int Q\,N_i\,dV. Las caras de los elementos cuadráticos, Tri6 y Quad8, no son elementos independientes sino caras para la integración de las condiciones de contorno: un triángulo de seis nodos con la regla de Dunavant de seis puntos de grado 4 y un cuadrilátero de ocho nodos con la regla de Gauss 3\times3; sobre ellas se integran el flujo, la convección, la radiación y el contacto térmico. Los planteamientos (estacionario, transitorio, no lineal con radiación, contacto térmico, termoelasticidad) se describen en la sección Transferencia de calor y multifísica.

Limitaciones. Los elementos térmicos cuadráticos y el calor no lineal entraron en la versión después de la última publicada.

7.28Tabla resumenestable

En la tabla, n es el número de nodos, DOF son los grados de libertad del elemento y «Masa» es la matriz implementada en el análisis modal. Los detalles figuran en los apartados anteriores.

ElementonDOFCuadraturaParticularidadMasa (análisis modal)\mathbf{K}_\sigmaEstado
Tet44121 puntodeformación constante\rho V/4 en el nodosíestable
Tet1010304 puntos (grado 2)subparamétrico\rho V/10 en el nodosíestable
Hex88242\times2\times2integración completa, sin B-bar\rho V/8 en el nodosíestable
Hex2020603\times3\times3serendípito, isoparamétrico\rho V/20 en el nodosíestable
Hex2727813\times3\times3Lagrange triquadrático, no lo construye el mallador\rho V/27 en el nodosíexperimental
Wedge66183 × 2de transición, capa prismática\rho V/6 en el nodosíestable
Pyr55152\times2\times2 en coordenadas colapsadasbase racional, de transición\rho V/5 en el nodosíbeta
Viga de Timoshenko212forma cerrada\kappa = 5/6, torsión de Saint-Venantconsistente + inercia rotacionalesfuerzo axialestable
Viga extendida212forma cerradabalanceo, brazos, centro de cortante, NSMconsistente en los centros de secciónesfuerzo axialestable
Lámina MITC44242\times2cortante MITC4, penalización de Hughes–Brezziconsistente, traslacionesesfuerzos de membranaestable
Lámina CST+DKT3181 / 3 puntosflexión DKT, membrana CSTconsistente, traslacionesesfuerzos de membranaestable
Lámina laminada4242\times2paquete ABD, FSDT, hasta 36 númerosmasa del paquete por áreaesfuerzos de membrana del paquetebeta
Viga y lámina corrotacionales2 / 3 / 412 / 18 / 24como las linealesEICR, grandes girosen dinámica implícita—estable
Masa puntual16—\mathbf{K}=0diagonal m, I—beta
Resorte212forma cerradaviga equivalente y arañas rígidas——beta
Zona rígida (RBE2)1 + k6 por nodo—eliminación de restricciones——estable

Lo que no hay en la biblioteca: Pyr13 y Wedge15 como elementos de rigidez; láminas cuadráticas; elementos planos (deformación, tensión) y axisimétricos en el ensamblador estructural: tales problemas se modelan con láminas y con una cuña estrecha de elementos volumétricos con condiciones de simetría, y los elementos planos existen solo en dinámica explícita; vigas con grado de libertad de alabeo; resortes no lineales y unilaterales.

Un catálogo breve de elementos con los códigos de tipo figura en la página /docs/elements.

8Tipos de análisis lineal

↑ Volver al índice

Esta sección reúne los cálculos en los que la estructura permanece linealmente elástica, los desplazamientos y los giros son pequeños y la carga no depende de ellos. Entre ellos están la estática, las frecuencias y formas propias, la estabilidad por autovalores, la respuesta estacionaria a una excitación armónica, la respuesta a un espectro y a una vibración aleatoria, así como las técnicas auxiliares: submodelado, reducción por superelemento y dinámica de rotores. El contacto, la plasticidad, los grandes desplazamientos y la dinámica transitoria en el tiempo se describen en la sección Cálculos no lineales y dinámica. Los elementos y sus formulaciones se tratan en la sección Biblioteca de elementos finitos; los métodos de resolución de los sistemas y de los problemas de autovalores, en la sección Solvers.

Disposiciones generales para todos los tipos de análisis:

  • las vigas y las láminas tienen seis grados de libertad por nodo (tres desplazamientos y tres giros), los elementos sólidos tienen tres desplazamientos;
  • los apoyos, las ecuaciones de restricción y las regiones rígidas se eliminan del sistema mediante el método «maestro–esclavo», por lo que en los problemas de autovalores y en el análisis armónico actúan las mismas restricciones que en la estática;
  • en la frontera del solver se usa el SI (m, N, Pa, kg), la geometría se almacena en milímetros y la conversión se realiza en un único lugar (véase Unidades de medida);
  • la matriz de masas de los elementos sólidos es concentrada: la masa del elemento se reparte por igual entre sus nodos, y en los elementos cuadráticos también entre los nodos intermedios. Para vigas y láminas, en el análisis modal de estructuras reticulares está disponible la matriz de masas consistente;
  • los resultados de las rutas nativa (de escritorio) y de navegador se construyen a partir de una misma formulación; se toma como referencia la nativa.
Tipo de análisisQué se obtieneEstadoComando del script
Estáticadesplazamientos, deformaciones, tensiones, reaccionesestablesolve static
Modalfrecuencias y formas de vibraciónestablesolve modal
Modal con tensión previafrecuencias y formas bajo cargabetasolve modal prestress=on
Estabilidadfactores críticos de carga y formasestablesolve buckling
Respuesta armónicaFRF de amplitud y de fase, campos a una frecuenciaestablesolve harmonic
Espectro de respuestafuerza basal, desplazamientos, tensionesestablesolve spectrum
Vibración aleatoria (PSD)valor eficaz 1σ y 3σexperimentalsolve psd
Submodeladosolución local junto a un concentradorbetasubmodel
Superelemento de Craig–Bamptonmatrices reducidasexperimentalcms
Dinámica de rotoresdiagrama de Campbellexperimentalsolve rotor
Qué no existe. No hay alivio por inercia (inertia relief) para cuerpos libres: un cuerpo sin apoyos no se resuelve en estática y en el análisis espectral se rechaza por contener movimiento de sólido rígido. Tampoco hay amortiguamiento estructural (histerético) con factor de pérdidas; en el análisis armónico están disponibles el amortiguamiento modal y el de Rayleigh.

8.1Estática linealestable

La estática determina los desplazamientos de la estructura bajo una carga constante. Se aplica cuando las tensiones se encuentran en el rango elástico, los desplazamientos son pequeños en comparación con las dimensiones y la inercia puede despreciarse.

Formulación

Principio de los desplazamientos virtuales para un cuerpo linealmente elástico: para cualquier \delta\mathbf{u} admisible

\int_{\Omega} \boldsymbol{\varepsilon}(\delta\mathbf{u}) : \mathbf{C} : \boldsymbol{\varepsilon}(\mathbf{u})\, d\Omega = \int_{\Omega} \delta\mathbf{u} \cdot \mathbf{b}\, d\Omega + \int_{\Gamma_t} \delta\mathbf{u} \cdot \mathbf{t}\, d\Gamma + \sum_i \delta\mathbf{u}_i \cdot \mathbf{F}_i

donde \mathbf{C} es el tensor de elasticidad, \mathbf{b} la fuerza de volumen (incluida la debida a la aceleración), \mathbf{t} la carga superficial (presión, fuerza distribuida) y \mathbf{F}_i las fuerzas concentradas. Tras la discretización con las funciones de forma de los elementos se obtiene el sistema

\mathbf{K}\,\mathbf{u} = \mathbf{f}, \qquad \mathbf{K} = \sum_{e} \int_{\Omega_e} \mathbf{B}^{\mathsf{T}} \mathbf{C}\, \mathbf{B}\, d\Omega

donde \mathbf{B} es la matriz de deformaciones (gradientes de las funciones de forma). Para vigas y láminas, las matrices de rigidez locales se giran a los ejes globales y todos los tipos de elementos se ensamblan en un único sistema con seis grados de libertad por nodo.

Apoyos y restricciones

Los apoyos (incluidos los de desplazamiento impuesto no nulo), las ecuaciones de restricción \sum_i c_i u_i = r y las regiones rígidas se eliminan del sistema mediante una transformación lineal:

\mathbf{u} = \mathbf{T}\,\mathbf{q} + \mathbf{u}_0, \qquad \mathbf{T}^{\mathsf{T}} \mathbf{K}\, \mathbf{T}\,\mathbf{q} = \mathbf{T}^{\mathsf{T}} (\mathbf{f} - \mathbf{K}\,\mathbf{u}_0)

Un apoyo es una restricción sin grados de libertad maestros (u = \text{const}). Una región rígida conduce el nodo dependiente según la cinemática del sólido rígido: \mathbf{u}_d = \mathbf{u}_m + \boldsymbol{\theta}_m \times (\mathbf{x}_d - \mathbf{x}_m). Transmite tanto fuerzas como momento, por lo que sirve para acoplar elementos sólidos con elementos de viga y de lámina. Las restricciones contradictorias o cíclicas provocan un rechazo con un código de error, y no la elección silenciosa de una de ellas. Los grados de libertad de rigidez nula (por ejemplo, los giros en nodos donde solo hay elementos sólidos) se fijan automáticamente para que la matriz no sea singular.

El sistema reducido es simétrico y definido positivo si la estructura está sujeta frente al movimiento como sólido rígido. El método de resolución (factorización directa o método de gradientes conjugados con precondicionador) se elige según el tamaño del problema; los detalles se encuentran en la sección Solvers.

Qué define el usuario y qué obtiene

Se definen los materiales, los apoyos, las cargas (fuerzas, presión, aceleración, momentos, cargas remotas), las restricciones y los contactos en formulación lineal. Resultado: desplazamientos nodales, deformaciones y tensiones (componentes, tensión equivalente de von Mises, principales), reacciones en los apoyos, esfuerzos en las vigas y esfuerzos de membrana y de flexión en las láminas. La tensión equivalente se calcula como

\sigma_{\text{vM}} = \sqrt{\tfrac{1}{2}\left[(\sigma_x-\sigma_y)^2 + (\sigma_y-\sigma_z)^2 + (\sigma_z-\sigma_x)^2 + 6\,(\tau_{xy}^2 + \tau_{yz}^2 + \tau_{zx}^2)\right]}

Para más detalles sobre la recuperación de tensiones y la evaluación de la resistencia, véase la sección Resultados, posprocesamiento y evaluación de la resistencia.

Limitaciones. En la estática lineal no se han implementado como soluciones independientes varios casos de carga con combinaciones: el modelo contiene registros de casos de cálculo (en las uniones atornilladas y en los muelles seleccionan sus propios registros), pero los resultados por caso se construyen escalando la solución única, y no mediante un nuevo cálculo. Si se necesitan cargas diferentes, ejecute cálculos independientes y combine los resultados por su cuenta: el problema es lineal. El apoyo es obligatorio: un cuerpo sin sujeción es degenerado.
Verificación. Contraste con soluciones analíticas: Viga en voladizo (Euler–Bernoulli), viga en voladizo (Timoshenko), problema de Lamé, placa con agujero, placa circular de Kirchhoff–Mindlin, torsión de Saint-Venant, tracción uniaxial. Problemas NAFEMS de estática lineal: LE1, LE2, LE3, LE5, LE6, LE7, LE8, LE10. Todas las desviaciones no superan la tolerancia del 5 %.

En el script, la estática es el tipo de cálculo por defecto:

material E=200000000000 nu=0.3 density=7850
fix surface number 1
load surface number 2 force=5000 component=z
solve static

En la interfaz, el cálculo se lanza en el paso «Cálculo» y los resultados se consultan en el paso de resultados.

8.2Análisis modalestable

El análisis modal determina las frecuencias propias y las formas de las vibraciones libres de una estructura con apoyos. Se utiliza para evitar la resonancia, para estimar la rigidez y la masa de la estructura y como base de los análisis armónico, espectral y aleatorio.

Formulación

Problema generalizado de autovalores para las matrices reducidas:

\mathbf{K}\,\boldsymbol{\varphi}_r = \omega_r^{2}\,\mathbf{M}\,\boldsymbol{\varphi}_r, \qquad f_r = \frac{\omega_r}{2\pi}

Las formas \boldsymbol{\varphi}_r son ortogonales respecto a la matriz de masas: \boldsymbol{\varphi}_i^{\mathsf{T}} \mathbf{M} \boldsymbol{\varphi}_j = m_i\,\delta_{ij}. En la salida, las formas se escalan por el máximo del módulo del desplazamiento: \max \lvert \mathbf{u} \rvert = 1. Se trata solo de una normalización cómoda para la visualización; con ella la masa generalizada m_r no es igual a la unidad y se tiene en cuenta al calcular la participación (véase el espectro de respuesta).

La matriz de masas se ensambla a partir de la densidad del material (elementos sólidos, láminas, vigas), de la masa no estructural de vigas y láminas laminadas y de las masas concentradas definidas por el usuario. Una masa concentrada no aporta inercia rotacional, salvo la que se haya indicado explícitamente para ella.

Factores de participación y masas efectivas

Para la dirección d (vector unitario \mathbf{t}_d en los grados de libertad) se calculan

L_{r,d} = \boldsymbol{\varphi}_r^{\mathsf{T}} \mathbf{M}\, \mathbf{t}_d, \quad \Gamma_{r,d} = \frac{L_{r,d}}{m_r}, \quad M_{\text{eff},r,d} = \frac{L_{r,d}^{2}}{m_r}

La suma de las masas efectivas de todos los modos tiende a la masa de los grados de libertad de traslación libres (la masa de los nodos con apoyo se va a la base). Estas magnitudes se obtienen en el análisis espectral, donde determinan la cobertura de masa; el panel del cálculo modal ordinario muestra las frecuencias y las formas.

Cómo está implementado

Las matrices reducidas \mathbf{K}_r = \mathbf{T}^{\mathsf{T}}\mathbf{K}\mathbf{T} y \mathbf{M}_r = \mathbf{T}^{\mathsf{T}}\mathbf{M}\mathbf{T} se llevan a un buen condicionamiento mediante escalado diagonal; los modos inferiores se buscan por iteraciones de subespacio con una única factorización de la rigidez (para las estructuras reticulares, con el método de bloques LOBPCG). Estructuras libres (vigas, láminas): los modos inferiores de valor nulo se devuelven con frecuencias nulas y para la factorización se aplica un desplazamiento del espectro. Los detalles y la elección del método según el tamaño del problema se encuentran en la sección Solvers.

Qué define el usuario y qué obtiene

Número de modos, apoyos, materiales con densidad, masas concentradas, restricciones. Resultado: frecuencias en hercios, formas de vibración (para su visualización y animación). La densidad es obligatoria: sin masa no hay frecuencias propias y el cálculo se rechaza.

Limitaciones. La masa concentrada de los elementos sólidos reduce la precisión de los modos superiores en mallas gruesas en comparación con la consistente; los elementos cuadráticos (los predeterminados en el producto) disminuyen este error. Sin apoyos, en la estructura permanecen movimientos de sólido rígido (frecuencias nulas); el análisis espectral rechazará un modelo así. El amortiguamiento no participa en el problema de autovalores: las frecuencias y las formas corresponden al sistema no amortiguado.
Verificación. Problemas NAFEMS de vibraciones libres: FV2, FV4, FV5 (viga profunda, modos de torsión y axial), FV12 (placa libre), FV13, FV15, FV16, FV22 (placa romboidal gruesa, modelo de Mindlin), FV52 (modelo sólido). Desviaciones de 0,7 % a 4,2 %, tolerancia del 5 %. Modelo de vigas y láminas: sección de fuselaje rigidizada. La frecuencia de la viga en una malla P2 también se ha contrastado en el caso armónico.
fix surface number 1
solve modal nmodes=6
probe frequency mode=1

8.3Análisis modal con tensión previabeta

La carga modifica las frecuencias propias: la tracción rigidiza (las frecuencias aumentan), la compresión ablanda (las frecuencias disminuyen y, cerca del límite de estabilidad, tienden a cero). Este cálculo es necesario para cuerdas, álabes, pilares comprimidos y, en general, para estructuras que trabajan bajo una gran carga permanente.

Formulación

Primero se resuelve la estática lineal bajo la carga aplicada y se obtienen las tensiones \boldsymbol{\sigma}_0. A continuación, a partir de ellas se ensambla la matriz de rigidez geométrica (rigidez del estado tensional) \mathbf{K}_\sigma y se resuelve el problema

\left(\mathbf{K} + \mathbf{K}_\sigma(\mathbf{u}_0)\right) \boldsymbol{\varphi}_r = \omega_r^{2}\,\mathbf{M}\,\boldsymbol{\varphi}_r

Para un elemento sólido, el bloque de la matriz \mathbf{K}_\sigma correspondiente al par de nodos a, b es una integral escalar repetida para los tres desplazamientos:

\mathbf{K}_\sigma^{ab} = \left( \int_{\Omega_e} \nabla N_a^{\mathsf{T}}\, \boldsymbol{\sigma}_0\, \nabla N_b \; d\Omega \right) \mathbf{I}_3

El signo es tal que la tracción aporta una contribución positiva y la compresión, negativa.

Por qué se resuelve precisamente este problema y no la fórmula f = f_0\sqrt{1 - P/P_{\text{cr}}}. La fórmula es una reducción de Rayleigh–Ritz de un solo modo, exacta únicamente cuando la forma de vibración coincide con la forma de pandeo. Para una viga articulada esto se cumple (desviación del 0 %), para un voladizo el error llega al 4 %, pero para una placa articulada 2:1 con la mitad de la carga crítica la fórmula subestima la frecuencia en un 14 % y, con la carga crítica, la anula en lugar del 60 % real de f_0. Por eso el producto resuelve el problema completo.

Qué define el usuario y qué obtiene

Apoyos, cargas (superficiales, concentradas, de volumen), número de modos; en la interfaz, la casilla «tener en cuenta el estado cargado» y en el script, prestress=on. Resultado: frecuencias y formas bajo carga.

El cálculo se rechaza de forma explícita, y no devuelve un número verosímil, en los casos siguientes: no hay densidad; no hay nada fijado; la carga es nula (no hay tensión previa, es un cálculo modal ordinario); la matriz \mathbf{K} + \mathbf{K}_\sigma ha perdido su carácter definido positivo (la estructura ya ha pandeado y no hay frecuencias propias); el problema de autovalores no ha convergido.

Limitaciones. Solo modelos sólidos tetraédricos (lineales y cuadráticos) con material isótropo (módulo y coeficiente de Poisson por cuerpo); las vigas y las láminas no están admitidas en esta formulación. El estado pretensado se obtiene mediante estática lineal, la carga no es seguidora y no se tiene en cuenta el cambio de geometría debido a la carga. Las restricciones y la penalización de contacto se tratan igual que en el cálculo modal ordinario.
Verificación. No existe un caso público para este tipo de análisis; la comprobación se ha realizado mediante pruebas automáticas frente a soluciones analíticas: viga articulada con fuerza axial (frecuencia según f_0\sqrt{1 - P/P_{\text{cr}}}, desviación de 0,05–0,5 % desde cero hasta 0,9 de la carga crítica, 0,03 % en tracción), placa articulada 2:1 con N = 0.5 N_{\text{cr}} (solución de Navier, desviación de 0,25 %, mientras que la aproximación mediante la fórmula se equivoca en un 17 %). Más allá de la carga crítica el cálculo se rechaza. La verificación limitada y la ausencia de un caso público son la causa del estado «beta».
fix surface number 1
load surface number 2 force=-1000 component=z
solve modal nmodes=3 prestress=on

8.4Estabilidad linealestable

El cálculo por autovalores determina el factor de carga \lambda_{\text{cr}} con el que una estructura ideal pierde la estabilidad (bifurcación) y la forma de pandeo. Se aplica a pilares, pórticos, paneles de lámina y placas.

Formulación

Bajo la carga de referencia \mathbf{f}_{\text{ref}} se resuelve la estática lineal, a partir de los desplazamientos se obtienen los esfuerzos internos y se ensambla la matriz de rigidez geométrica \mathbf{K}_G = \mathbf{K}_\sigma(\mathbf{u}_{\text{ref}}). El factor crítico es el menor \lambda positivo del problema

\left(\mathbf{K} + \lambda\,\mathbf{K}_G\right) \boldsymbol{\phi} = \mathbf{0} \quad\Longleftrightarrow\quad \mathbf{K}\,\boldsymbol{\phi} = \lambda\,(-\mathbf{K}_G)\,\boldsymbol{\phi}

La carga crítica es igual a \lambda_{\text{cr}}\,\mathbf{f}_{\text{ref}}. Como carga de referencia se toma toda la carga del modelo: superficial, concentrada, de volumen y debida a la aceleración. El factor se refiere a toda la carga a la vez.

\mathbf{K}_G se ensambla según el tipo de elemento:

  • viga: mediante el esfuerzo axial N (valor medio en los extremos del elemento), con la rigidez geométrica consistente de Przemieniecki (bloque a continuación);
  • lámina: mediante los esfuerzos de membrana N = \sigma_m t (láminas cuadriláteras, triangulares y laminadas);
  • elemento sólido: mediante el tensor de tensiones \boldsymbol{\sigma}, como en el apartado anterior.

Para una viga, el bloque «flecha–giro» en el plano v–\theta_z (en el plano w–\theta_y el bloque es el simétrico, con signos opuestos en el acoplamiento):

\mathbf{K}_G^{v\theta_z} = \frac{N}{L} \begin{bmatrix} \tfrac{6}{5} & \tfrac{L}{10} & -\tfrac{6}{5} & \tfrac{L}{10} \\ \tfrac{L}{10} & \tfrac{2L^2}{15} & -\tfrac{L}{10} & -\tfrac{L^2}{30} \\ -\tfrac{6}{5} & -\tfrac{L}{10} & \tfrac{6}{5} & -\tfrac{L}{10} \\ \tfrac{L}{10} & -\tfrac{L^2}{30} & -\tfrac{L}{10} & \tfrac{2L^2}{15} \end{bmatrix}

El convenio de signos es único para todos los tipos (la tracción estabiliza, la compresión desestabiliza), por lo que los modelos mixtos se ensamblan en una sola matriz.

Orden de las formas

Se devuelve el número indicado de factores positivos más pequeños, en orden creciente. Los \lambda negativos (pérdida de estabilidad con el sentido opuesto de la carga) no se muestran: para ellos, cambie el signo de la carga. Los valores múltiples (por ejemplo, las formas simétricas de una placa cuadrada) se muestran como formas independientes. La forma se escala por el máximo del desplazamiento.

Cómo está implementado

La matriz -\mathbf{K}_G es indefinida en signo y de rango bajo, por lo que la iteración inversa directa sobre ella diverge. Se utilizan el desplazamiento del espectro y la K-ortonormalización del subespacio (para problemas de gran escala) o un solver denso del par simétrico (para los pequeños). La comprobación con un solver denso independiente coincidió hasta la sexta cifra. Los detalles se encuentran en la sección Solvers.

Limitaciones. El estado precrítico es lineal; se calcula la bifurcación de la estructura ideal, sin imperfecciones y sin camino poscrítico (para ellos existe un cálculo no lineal aparte con imperfección según la forma de pandeo). La carga no es seguidora. En tetraedros lineales la carga crítica se sobreestima fuertemente a causa del bloqueo por cortante; para la estabilidad use elementos cuadráticos (en las mediciones la desviación respecto a Euler es de alrededor del 1 %). Para los elementos sólidos, las tensiones en \mathbf{K}_G se recuperan según la ley de Hooke isótropa (módulo y coeficiente de Poisson). Si la carga no genera esfuerzos que influyan en la rigidez a flexión (por ejemplo, una fuerza puramente transversal sobre un pilar sin componente axial), \mathbf{K}_G es nula y el cálculo termina con un rechazo.
fix surface number 1
load surface number 6 force=-100 component=z
solve buckling nmodes=2
probe load_factor mode=1

8.5Respuesta armónicaestable

El análisis armónico determina la respuesta estacionaria de la estructura a una carga que varía según una ley armónica en un rango de frecuencias dado. El resultado son las respuestas en frecuencia de amplitud y de fase y los campos a la frecuencia elegida. Se aplica para evaluar resonancias y amplitudes de vibración bajo cargas vibratorias.

Formulación

La carga F\cos(\omega t + \varphi) se representa mediante la amplitud compleja \hat{\mathbf{F}} = \mathbf{F}\,e^{i\varphi}, y la respuesta \mathbf{u}(t) = \operatorname{Re}\left(\hat{\mathbf{u}}\,e^{i\omega t}\right) satisface

\left(\mathbf{K} - \omega^{2}\mathbf{M} + i\omega\,\mathbf{C}\right)\hat{\mathbf{u}} = \hat{\mathbf{F}}

El ángulo de fase \varphi se define por separado para cada carga (el positivo adelanta), por lo que pueden definirse fuerzas en oposición de fase. Las cargas se agrupan por fases y las fuerzas modales resultan complejas. Se obtienen la amplitud \lvert \hat{\mathbf{u}} \rvert, la fase, las amplitudes de velocidad \omega\lvert \hat{\mathbf{u}} \rvert y de aceleración \omega^{2}\lvert \hat{\mathbf{u}} \rvert, la envolvente del máximo sobre el modelo y las frecuencias de pico; a la frecuencia y fase elegidas está disponible el campo de desplazamientos.

Modelos de amortiguamiento

Se elige uno de los tres modelos; son mutuamente excluyentes.

Modal. Una única fracción del amortiguamiento crítico \zeta para todos los modos retenidos: \mathbf{C}_m = \operatorname{diag}(2\zeta\, m_j\,\omega_j).

Rayleigh. \mathbf{C} = \alpha\mathbf{M} + \beta\mathbf{K}. En la base modal la matriz es diagonal de forma exacta, y la fracción del amortiguamiento crítico del modo es

\zeta_j = \frac{\alpha}{2\omega_j} + \frac{\beta\,\omega_j}{2}

Los coeficientes se definen directamente (\alpha en 1/s, \beta en s) o mediante dos pares «frecuencia — fracción del crítico» (f_1, \zeta_1), (f_2, \zeta_2):

\beta = \frac{2\,(\zeta_2\omega_2 - \zeta_1\omega_1)}{\omega_2^{2} - \omega_1^{2}}, \qquad \alpha = \frac{2\,\omega_1\omega_2\,(\zeta_1\omega_2 - \zeta_2\omega_1)}{\omega_2^{2} - \omega_1^{2}}

Se rechaza el par que da un \alpha o un \beta negativo (es decir, un amortiguamiento negativo en una parte del espectro). En el modo Rayleigh, \zeta no se añade por separado.

Rayleigh por cuerpos. Cada cuerpo del ensamblaje tiene su propio par (\alpha_r, \beta_r), \mathbf{C} = \sum_r (\alpha_r\mathbf{M}_r + \beta_r\mathbf{K}_r). El amortiguamiento es no proporcional y la matriz modal es llena:

\left(\mathbf{C}_m\right)_{ij} = \sum_r\left(\alpha_r\,\boldsymbol{\varphi}_i^{\mathsf{T}}\mathbf{M}_r\boldsymbol{\varphi}_j + \beta_r\,\boldsymbol{\varphi}_i^{\mathsf{T}}\mathbf{K}_r\boldsymbol{\varphi}_j\right)

En cada frecuencia se resuelve un sistema complejo cuyo tamaño es el número de modos. No se utiliza la aproximación diagonal: pierde el acoplamiento de los modos a través de la frontera entre cuerpos. El panel de resultados advierte de un amortiguamiento nulo, de una fracción del crítico superior a la unidad y de una fuerte no proporcionalidad.

No existe amortiguamiento estructural (histerético).

Dos métodos de resolución

Superposición modal. La respuesta se descompone en las formas retenidas \hat{\mathbf{u}} = \sum_j \boldsymbol{\varphi}_j q_j y en cada frecuencia se resuelve el sistema

\left(\operatorname{diag}(k_j - \omega^{2}m_j) + i\omega\,\mathbf{C}_m\right)\mathbf{q} = \hat{\mathbf{f}}, \qquad \hat{f}_j = \boldsymbol{\varphi}_j^{\mathsf{T}}\hat{\mathbf{F}}, \quad k_j = m_j\omega_j^{2}

Para una \zeta constante se trata de q_j = \hat{f}_j / \left[m_j(\omega_j^{2} - \omega^{2} + 2i\zeta\omega_j\omega)\right]. El método es rápido, pero depende del número de modos retenidos: la contribución de los modos superiores descartados (corrección estática) no se añade. La fuerza modal tiene en cuenta únicamente las componentes de traslación de la carga y de las formas. La malla de frecuencias es lineal o logarítmica, con refinamiento opcional alrededor de las resonancias.

Método directo (Direct FRF). Sin truncar la base, en cada frecuencia se resuelve el sistema complejo disperso completo \left(\mathbf{K} - \omega^{2}\mathbf{M} + i\omega\mathbf{C}\right)\hat{\mathbf{u}} = \hat{\mathbf{F}} (factorización LU dispersa con ordenación COLAMD; la estructura se factoriza una sola vez para todo el rango). El amortiguamiento de Rayleigh se define por elementos: \mathbf{C} = \sum_e(\alpha_e\mathbf{M}_e + \beta_e\mathbf{K}_e), y un par común es un caso particular. Se admiten todos los tipos de elementos, incluidas las vigas y las láminas, así como las ecuaciones de restricción homogéneas y las regiones rígidas. En cada frecuencia se comprueba el residuo del sistema complejo; si se supera o si hay singularidad (resonancia no amortiguada), el cálculo se detiene con un error y no se sustituye por el modal. Adicionalmente se obtienen campos complejos: reacciones en los apoyos, tensiones (las componentes lineales como amplitudes complejas), esfuerzos en las vigas, tensiones en las láminas. Los invariantes no lineales, como la tensión equivalente de von Mises, no se calculan para amplitudes complejas. El método directo se activa de forma explícita (method=direct) o se elige automáticamente con el amortiguamiento de Rayleigh por cuerpos, si el solver nativo está disponible. Requiere amortiguamiento de Rayleigh (una \zeta constante solo está definida en la base modal) y está disponible únicamente en la aplicación de escritorio.

Qué define el usuario y qué obtiene

Rango de frecuencias (f_{\min}, f_{\max}), número de puntos, número de modos para el método modal, modelo de amortiguamiento, cargas con fases. Resultado: respuestas en frecuencia de amplitud y de fase en los nodos elegidos, envolvente sobre el modelo, frecuencias de pico, campos a una frecuencia y, en el método directo, además reacciones y tensiones.

Limitaciones. Solo sistema lineal sin contacto; la penalización de contacto se rechaza en el método directo. No se admite un desplazamiento impuesto no nulo de un apoyo (excitación armónica cinemática). El método modal se trunca por el número de modos y no añade corrección estática por los modos descartados: compruebe la convergencia respecto al número de modos. El método modal no tiene en cuenta los momentos de la carga (proyección solo sobre las componentes de traslación); el método directo admite el vector de carga completo. En la interfaz y en el script de análisis armónico no existe la aceleración de la base como parámetro de excitación; para la excitación sísmica y vibratoria de la base use el espectro de respuesta y la vibración aleatoria.
Verificación. Voladizo en P2 (0,23 %), vibraciones longitudinales de una barra en P1 (0,03 %), oscilador con amortiguamiento de Rayleigh (0,06 %), voladizo de dos cuerpos con distintos pares de Rayleigh (base modal frente a solución directa), fases de las cargas en una viga articulada (0,32 %). El amortiguamiento de Rayleigh también se ha verificado en el dominio del tiempo: vibraciones libres amortiguadas de un voladizo (0,07 %).
fix surface number 1
load surface number 2 force=-1000 component=z phase=0
solve harmonic fmin=380 fmax=440 npoints=61 nmodes=6 zeta=0.05
probe harmonic_amplitude x=200 freq=406

Método directo con amortiguamiento de Rayleigh definido mediante dos pares:

solve harmonic method=direct rayleigh f1=50 z1=0.02 f2=500 z2=0.05 fmin=10 fmax=1000 npoints=40

8.6Espectro de respuesta (RSA)estable

El análisis espectral estima la respuesta máxima de la estructura al movimiento de la base definido mediante un espectro de aceleraciones de diseño (sismo, espectros de choque y de vibración). El cálculo se realiza sobre un análisis modal ya resuelto y no requiere integración en el tiempo.

Formulación

La base se mueve con aceleración a_g(t) en la dirección d (vector \mathbf{t}_d):

\mathbf{M}\ddot{\mathbf{u}} + \mathbf{C}\dot{\mathbf{u}} + \mathbf{K}\mathbf{u} = -\mathbf{M}\,\mathbf{t}_d\,a_g(t)

Para el modo m con periodo T_m y pseudoaceleración del espectro S_a(T_m), los valores de pico (la participación \Gamma y la masa efectiva M_{\text{eff}} son las del análisis modal, fórmulas anteriores) son:

\mathbf{u}_m = \Gamma_{m,d}\,\frac{S_a(T_m)}{\omega_m^{2}}\,\boldsymbol{\varphi}_m, \qquad V_m = M_{\text{eff},m,d}\,S_a(T_m)

donde V_m es la fuerza basal modal. La masa se calcula con la matriz de masas concentrada del problema de autovalores; la forma se multiplica por \Gamma, por lo que el resultado no depende de la normalización ni del signo de la forma.

Combinación de modos

Las contribuciones de pico r_m de una misma magnitud (¡con sus signos!) se combinan según una de las reglas:

  • SRSS: R = \sqrt{\sum_m r_m^{2}}, para frecuencias separadas;
  • CQC: R = \sqrt{\sum_m\sum_n \rho_{mn}\, r_m r_n}, para frecuencias próximas, con el coeficiente de correlación de Der Kiureghian (Der Kiureghian, 1981):
\rho_{mn} = \frac{8\sqrt{\zeta_m\zeta_n}\,(\zeta_m + \beta\zeta_n)\,\beta^{3/2}} {(1-\beta^{2})^{2} + 4\zeta_m\zeta_n\beta(1+\beta^{2}) + 4(\zeta_m^{2}+\zeta_n^{2})\beta^{2}}, \qquad \beta = \frac{\omega_n}{\omega_m}
  • ABS: R = \sum_m \lvert r_m \rvert, estimación conservadora por exceso.

La fracción del amortiguamiento crítico \zeta en CQC determina la correlación; las ordenadas de los espectros normativos están definidas para el 5 % y no se reescalan con \zeta. Las direcciones de excitación se combinan después de los modos: SRSS por direcciones, R = \sqrt{\sum_d R_d^{2}}, o la regla 100–30–30 (ASCE 7-16, ap. 12.5.3): R = \max_d\left(R_d + 0.3\sum_{e\neq d}R_e\right).

Masa residual

Los modos descartados dan una respuesta rígida a la aceleración de periodo cero (ZPA). La masa residual es M_{\text{res},d} = M_{\text{ref},d} - \sum_m M_{\text{eff},m,d}, donde M_{\text{ref},d} es la masa de los grados de libertad de traslación no fijados. La corrección de la fuerza basal V_{\text{res}} = M_{\text{res},d}\cdot \text{ZPA}_d se suma a la respuesta modal mediante SRSS (NRC Regulatory Guide 1.92, ANSYS: missing mass). Para los campos de desplazamientos y de tensiones, la parte residual se obtiene con una solución estática aparte, \mathbf{K}\mathbf{u}_{\text{res}} = \text{ZPA}\,\mathbf{M}\,(\mathbf{t}_d - \sum_m\Gamma_{m,d}\boldsymbol{\varphi}_m), con las mismas restricciones. Las normas exigen una cobertura de al menos el 90 % de la masa en cada dirección (SP 14.13330, ASCE 7-16, ap. 12.9.1.1): con una cobertura menor, el resultado se marca con una advertencia de que no es apto para el diseño y es necesario aumentar el número de modos.

Espectros de diseño

  • SP 14.13330.2018: sismicidad de cálculo del emplazamiento de 7, 8, 9 grados, categoría de suelo I–IV, coeficientes de uso K_0, de daños admisibles K_1 y de disipación de energía K_\psi; para la componente vertical, un espectro aparte con las mismas fórmulas, con K_\psi = 1 y un factor de 0,75 (ap. 5.12).
  • ASCE 7-16 y 7-22: parámetros S_s, S_1 (7-16, coeficientes F_a, F_v según tablas) o S_{DS}, S_{D1} (7-22), clase de suelo, periodo T_L, R, I_e.
  • Tabla de usuario de pares (periodo o frecuencia, S_a) con interpolación lineal o logarítmica, en fracciones de g o en m/s².

Los parámetros de la norma no se sustituyen en silencio: lo que falta se indica en el error antes de lanzar el cálculo modal.

Qué se obtiene

Tabla de modos (frecuencia, periodo, masa generalizada, \Gamma, masas efectivas y sus fracciones, fracciones acumuladas, S_a, fuerza basal modal), cobertura de masa por direcciones, fuerza basal por direcciones y resultante, campos. Los desplazamientos se combinan componente a componente y son no negativos (envolvente); el signo del desplazamiento se pierde al combinar, como es habitual en RSA. Las componentes de tensión y de deformación se combinan según el signo de las contribuciones modales antes de aplicar SRSS o CQC. La tensión equivalente de von Mises, la tensión principal y la deformación equivalente no se calculan a partir de las componentes de la envolvente: se construyen como máximos del invariante cuadrático sobre el elipsoide de las combinaciones SRSS/CQC («pico sobre el elipsoide del espectro de respuesta», response-spectrum ellipsoid peak). Es el pico de la envolvente, y no el máximo en el tiempo de un acelerograma dado; estos campos están disponibles para el resultado combinado con SRSS por direcciones y con las reglas SRSS o CQC por modos.

Limitaciones. Se admiten los grados de libertad de traslación de la excitación. Para la masa de los elementos sólidos se admiten tetraedros y hexaedros de ocho nodos, tetraedros cuadráticos, vigas, láminas y masas concentradas; los prismas, las pirámides y los hexaedros cuadráticos se rechazan para no perder masa en silencio. El cálculo modal de estructuras reticulares en el análisis espectral usa la masa concentrada, de modo que \Gamma y M_\text{eff} se calculan con la misma matriz que el problema de autovalores; si las matrices difieren, se emite una advertencia de ortogonalidad \mathbf{M} violada. Los modos sin masa de traslación (torsión, giros) no responden a la excitación de traslación y se excluyen indicando sus números. La corrección de masa residual se incluye en la fuerza basal y en los campos si se ha resuelto la estática residual; de lo contrario, en los campos solo están presentes los modos retenidos, lo cual se comunica explícitamente. El método da un pico por envolvente, y no una secuencia en el tiempo.
fix surface number 1
solve spectrum code=sp14 intensity=8 soil=II dir=x,y combine=cqc dircombine=srss zeta=0.05 nmodes=20
probe spectrum_base_shear dir=x
probe spectrum_cumulative_mass dir=x

8.7Vibración aleatoria (PSD)experimental

El análisis de vibraciones aleatorias estima la respuesta eficaz (RMS) a una excitación estacionaria gaussiana de la base, definida mediante la densidad espectral de potencia de la aceleración (PSD, ASD); es habitual en transporte, aviación y tecnología espacial.

Formulación

La excitación es una densidad unilateral S_a(f) en unidades de g^2/Hz (o en unidades del SI, m²/s⁴ por Hz) dada por una tabla de puntos «frecuencia — densidad» con interpolación por tramos logarítmica (log–log) o lineal. Entre los puntos (f_1, S_1), (f_2, S_2), en log–log S(f) = S_1(f/f_1)^{k}, k = \ln(S_2/S_1)/\ln(f_2/f_1). El valor eficaz de entrada a_{\text{rms}} = \sqrt{\int S_a\,df} se integra analíticamente por segmentos.

La respuesta se construye por superposición modal. Función de transferencia del modo j para el desplazamiento relativo y para la aceleración absoluta:

H_j^{u}(\omega) = \frac{-\Gamma_j}{\omega_j^{2} - \omega^{2} + 2i\zeta_j\omega_j\omega}, \qquad H_j^{a}(\omega) = \Gamma_j\,\frac{\omega_j^{2} + 2i\zeta_j\omega_j\omega}{\omega_j^{2} - \omega^{2} + 2i\zeta_j\omega_j\omega}

La covarianza de las coordenadas generalizadas se calcula por integración directa en frecuencia (regla del trapecio sobre una malla refinada alrededor de las resonancias), sin suponer que las frecuencias están separadas:

V_{jk} = \int \operatorname{Re}\left[H_j(2\pi f)\,H_k^{*}(2\pi f)\right] S_a(f)\,df

Varianza de la respuesta en un nodo: \sigma^{2} = \sum_j\sum_k \phi_j\,\phi_k\,V_{jk}, donde \phi_j es el valor de la forma j en el nodo. La matriz de correlación CQC \rho_{jk} (la misma fórmula que en el espectro de respuesta) se calcula y se muestra como diagnóstico, pero la varianza utiliza V_{jk}. Se obtienen el valor eficaz 1σ y el valor 3σ (valor eficaz triplicado, probabilidad de no superación del 99,73 % para un proceso gaussiano) para los desplazamientos relativos, las aceleraciones absolutas y las tensiones equivalentes de von Mises.

Para un sistema de una masa con ruido blanco se obtiene la fórmula de Miles (Miles, 1954):

z_{\text{rms}} = \sqrt{\frac{\pi\,S_a}{4\,\zeta\,f_n^{3}\,(2\pi)^{4}}}, \qquad a_{\text{rms}} \approx \sqrt{\frac{\pi}{2}\,f_n\,Q\,S_a}, \quad Q = \frac{1}{2\zeta}

(la segunda fórmula es para amortiguamiento pequeño).

Cómo está implementado y qué se ha simplificado

Del análisis modal se toman las frecuencias, las formas y los factores de participación por dirección \Gamma (por masa, como en el espectro de respuesta); las tensiones modales se recuperan a partir de las formas. La tensión de von Mises se estima como \sigma_{\text{vM}}^{2} \approx \sum_j\sum_k s_j s_k V_{jk}, donde s_j es la tensión equivalente de von Mises de la forma j. Es una simplificación: el escalar de von Mises carece de signo y de correlaciones cruzadas entre las componentes del tensor, por lo que la estimación es exacta para un único modo dominante y orientativa cuando contribuyen de forma apreciable varios. Para los desplazamientos se utiliza el módulo del vector de la forma en el nodo, y el resultado se escribe en la componente de la dirección de excitación. La fatiga y la distribución de máximos no se calculan: 3σ es un escalado lineal del valor eficaz, y no un pico en el tiempo.

Limitaciones. Es una estimación de ingeniería sobre resultados modales, y no un modelo independiente de vibración aleatoria. La excitación tiene una sola dirección, uniforme en toda la base; no hay excitación correlacionada espacialmente ni de múltiples apoyos. En la interfaz (pestaña «Vibraciones aleatorias» de la tarjeta del espectro) se emplea una estimación simplificada de la participación sin tener en cuenta las masas, \Gamma \approx \sum_i\varphi_{i,d}/\sum_i\lvert\boldsymbol{\varphi}_i\rvert^{2}, y las tensiones modales no se recuperan: el campo de tensión en este modo es una estimación gruesa E\,u_{\text{rms}}/L (L es la diagonal de las dimensiones del modelo), y no la tensión de von Mises. El cálculo desde el script (solve psd) usa la participación por masa y las tensiones modales; para las conclusiones de ingeniería, apóyese en él. Compruebe por su cuenta la convergencia respecto al número de modos y a la densidad de la malla de frecuencias.
Verificación. Fórmula de Miles para un sistema de una masa (0,08 %): se comprueba la integración de las funciones de transferencia en un oscilador de una masa, y no un modelo de elementos finitos. No existe un caso de estructura multimodal con una estimación independiente del valor eficaz de las tensiones; por eso el estado es «experimental».
fix surface number 1
solve psd psd=[(20,0.01),(80,0.04),(350,0.04),(2000,0.005)] dir=z zeta=0.02 modes=10
probe psd_disp_3sigma
probe psd_stress_1sigma

8.8Submodeladobeta

El método de interpolación de desplazamientos en la frontera de corte (Cut Boundary Displacement Method) permite obtener tensiones precisas junto a un concentrador (agujero, acuerdo) sin refinar la malla de toda la pieza. Se apoya en el principio de Saint-Venant: lejos del concentrador, el campo de desplazamientos de la malla gruesa es próximo al exacto, incluso si el pico de tensión en el borde está subestimado entre 1,5 y 2 veces.

Formulación

  1. Se resuelve el modelo global con una malla moderada: campo \mathbf{u}_g(\mathbf{x}).
  2. Alrededor de la zona de interés se recorta un submodelo local: la intersección del cuerpo con una caja de corte mediante una operación booleana, y después una malla fina (lineal o cuadrática).
  3. Las caras del submodelo se dividen en caras de corte (que pasan por el interior del cuerpo original) y caras libres originales (agujero, acuerdo, caras exteriores).
  4. En cada nodo de las caras de corte (incluidos los nodos intermedios de los elementos cuadráticos) se impone una condición de Dirichlet con el desplazamiento global interpolado:
\mathbf{u}_{\text{sub}}(\mathbf{x}_i) = \mathbf{u}_g(\mathbf{x}_i) = \sum_a N_a(\mathbf{x}_i)\,\mathbf{u}_{g,a}

La interpolación es baricéntrica sobre los tetraedros de la malla global (lineal o cuadrática según el orden de los elementos globales); los puntos situados fuera de la malla global, en una frontera curva, se proyectan sobre el elemento más próximo.

  1. El sistema local se resuelve con el mismo solver estructural; las caras libres permanecen sin carga.

Qué define el usuario y qué obtiene

En la interfaz, el submodelo se lanza en la sección «Submodelado» del paso de resultados (invoca el mismo comando que el script). Tras el solve global se definen: el centro at=x,y,z (por defecto, el foco del máximo de tensión o el foco de concentración encontrado), el tamaño de la zona radius= o box=dx,dy,dz, el tamaño de elemento del submodelo size= y el orden order=1|2. Resultado: el pico de tensión de von Mises en el submodelo fuera de la capa cercana a la frontera de corte, el número de nodos en la frontera de corte y el número de elementos (submodel_peak_vm, submodel_cut_node_count, submodel_element_count).

Limitaciones. Se toma el primer cuerpo activo y un material por defecto; la caja de corte está alineada con los ejes. El submodelo es linealmente elástico; las cargas sobre sus caras libres no se transfieren desde el modelo global (solo se transmiten los desplazamientos de las fronteras de corte), por lo que el método es aplicable cuando la carga está aplicada fuera del submodelo. Las fronteras de corte deben situarse en una zona donde la malla gruesa todavía sea adecuada (del orden de 2–3 radios desde el concentrador). La precisión del método depende de la calidad de la malla global en las fronteras de corte; la verificación se limita a un solo caso.
Verificación. Problema de Kirsch con submodelado: pico en el borde del agujero de una placa: la malla global gruesa lo subestima en un 41 %, el submodelo en una malla P2 da una desviación de −3,57 % respecto a la solución cerrada con una tolerancia del 5 %. Un único caso, una plataforma y una publicación tardía (después de la etiqueta 0.2.1) son el fundamento del estado «beta».
mesh tet size=12 order=1
fix surface number 1
load surface number 3 pressure=-100000000
solve static
submodel at=60,30,4 box=36,36,8 size=2.4 order=2
probe submodel_peak_vm

8.9Reducción de Craig–Bampton (CMS)experimental

El método de síntesis de modos de componentes (Craig, Bampton, 1968) sustituye un subensamblaje grande por un superelemento: los grados de libertad de frontera y un pequeño número de modos normales con la frontera fija. Se aplica a ensamblajes en los que un subsistema se utiliza repetidamente en dinámica.

Formulación

Los grados de libertad se dividen en de frontera b e internos i. Modos estáticos (de restricción) y modos normales con la interfaz fija:

\boldsymbol{\Phi}_C = -\mathbf{K}_{ii}^{-1}\mathbf{K}_{ib}, \qquad \left(\mathbf{K}_{ii} - \omega_k^{2}\mathbf{M}_{ii}\right)\boldsymbol{\phi}_k = \mathbf{0}, \quad \boldsymbol{\Phi}_N^{\mathsf{T}}\mathbf{M}_{ii}\boldsymbol{\Phi}_N = \mathbf{I}

Transformación y matrices reducidas:

\begin{bmatrix}\mathbf{u}_b \\ \mathbf{u}_i\end{bmatrix} = \underbrace{\begin{bmatrix}\mathbf{I} & \mathbf{0} \\ \boldsymbol{\Phi}_C & \boldsymbol{\Phi}_N\end{bmatrix}}_{\mathbf{T}_{CB}} \begin{bmatrix}\mathbf{u}_b \\ \mathbf{q}_N\end{bmatrix}, \qquad \hat{\mathbf{K}} = \mathbf{T}_{CB}^{\mathsf{T}}\mathbf{K}\,\mathbf{T}_{CB} = \begin{bmatrix}\hat{\mathbf{K}}_{bb} & \mathbf{0} \\ \mathbf{0} & \boldsymbol{\Lambda}_N\end{bmatrix}

La matriz de masas \hat{\mathbf{M}} tiene un bloque unitario para las coordenadas modales. El campo completo se recupera mediante la transformación inversa.

Qué hay en realidad

Se han implementado operaciones matriciales densas: modos estáticos y normales, matrices reducidas, recuperación de desplazamientos y tensiones para tetraedros lineales y vector de carga reducido. El módulo se ha comprobado mediante pruebas automáticas con matrices pequeñas (límite de Guyan, estructura diagonal por bloques de \hat{\mathbf{K}}, coincidencia de los autovalores inferiores). El comando cms y la sección «Superelemento de Craig–Bampton» de los resultados aceptan una superficie de frontera y un número de modos, pero en la compilación actual la malla de elementos finitos del usuario no se les transmite: el cálculo se realiza sobre una cadena de prueba incorporada de masas y muelles. Por eso estos comandos no pueden utilizarse para reducir un subensamblaje real.

Limitaciones. Matrices densas: la escala está limitada a cientos de grados de libertad. No hay ensamblaje de superelementos en el modelo general ni vínculo con los cálculos dinámicos del producto. La interfaz y el script no están conectados a la malla del modelo (véase arriba).
Verificación. No hay casos de verificación; solo pruebas unitarias sobre matrices.
cms boundary="surface number 1" modes=6

8.10Dinámica de rotoresexperimental

La dinámica de rotores estudia cómo la rotación modifica las frecuencias propias: el efecto giroscópico desdobla las frecuencias de flexión en precesión directa (FW) e inversa (BW). El resultado se presenta como un diagrama de Campbell (frecuencias en función de la velocidad de giro) con las líneas de excitación síncrona 1× y 2× y las velocidades críticas en sus intersecciones.

Formulación

En un sistema de referencia que gira con velocidad angular \Omega alrededor del eje:

\left(\lambda^{2}\mathbf{M} + \lambda\,(\mathbf{C} + \Omega\,\mathbf{G}) + \mathbf{K} - \Omega^{2}\mathbf{M}_{\text{spin}}\right)\boldsymbol{\psi} = \mathbf{0}

Aquí \mathbf{G} es la matriz antisimétrica de los términos de Coriolis (\mathbf{G}^{\mathsf{T}} = -\mathbf{G}) y \mathbf{M}_{\text{spin}} es el ablandamiento debido a las fuerzas centrífugas en el plano perpendicular al eje. El problema se linealiza en el espacio de estados con la matriz

\mathbf{H} = \begin{bmatrix} -\mathbf{M}^{-1}(\mathbf{C} + \Omega\mathbf{G}) & -\mathbf{M}^{-1}\mathbf{K}_{\text{tot}} \\ \mathbf{I} & \mathbf{0} \end{bmatrix}

y se resuelve como un problema completo de autovalores no simétrico (reducción de Householder a la forma de Hessenberg y algoritmo QR con doble desplazamiento). De los pares de autovalores complejos conjugados se toman la frecuencia \operatorname{Im}\lambda y la fracción del amortiguamiento crítico -\operatorname{Re}\lambda/\lvert\lambda\rvert. Las velocidades críticas son las intersecciones \omega_i(\Omega) = k\,\Omega para k = 1, 2, halladas por interpolación lineal sobre la malla de velocidades.

Qué hay en realidad

No es un cálculo completo del rotor del usuario, sino un prototipo:

  • la matriz \mathbf{G} se construye a partir de los términos de Coriolis de las masas concentradas; el momento giroscópico de los discos a través del momento de inercia polar, los apoyos con rigidez y amortiguamiento y los coeficientes cruzados de la película de aceite no participan en la ruta de cálculo;
  • el sentido de la precesión se determina por el signo del desplazamiento de la frecuencia respecto al rotor inmóvil, y los modos se emparejan por el orden del número en la lista de frecuencias, sin seguimiento por forma, por lo que en los cruces de modos la clasificación puede ser incorrecta;
  • el comando solve rotor y la sección «Dinámica de rotores» de los resultados calculan el diagrama para un modelo incorporado de dos grados de libertad (masa de 2 kg, rigidez de 2·10⁴ N/m, coeficiente giroscópico de 0,4), y no para la malla del usuario; los parámetros del eje, del rango de velocidades, del número de pasos y de modos controlan solo el barrido.
Limitaciones. El cálculo no utiliza el modelo del usuario. Para rotores reales, el resultado del diagrama no puede utilizarse; se requiere una comprobación externa.
Verificación. No hay casos de verificación; las pruebas unitarias comprueban la antisimetría de \mathbf{G}, el desdoblamiento de las frecuencias del modelo de Jeffcott (Laval) en FW y BW y la detección de la intersección con las líneas 1× y 2× en matrices pequeñas.
solve rotor axis=z speed_min=0 speed_max=1000 steps=20 modes=4
probe rotor_crit_speed_1

9Cálculos no lineales y dinámica

↑ Volver al índice

Esta sección describe los cálculos en los que la rigidez depende de la solución o en los que no puede despreciarse la inercia: grandes desplazamientos y giros, pérdida de estabilidad con paso por puntos límite, etapas de construcción y de excavación, dinámica implícita y explícita. La estática lineal, el análisis modal y la estabilidad lineal se describen en la sección Tipos de análisis lineal. Los modelos de material (plasticidad, hiperelasticidad, fluencia lenta) se tratan en la sección Modelos de material, el contacto en la sección Contacto y uniones y los solvers lineales en la sección Solvers.

Las unidades son las mismas que en el resto del documento: geometría en milímetros y, en la frontera del solver, el SI (metros, newtons, pascales, kilogramos, segundos). Los resultados se devuelven en las unidades de la interfaz. El tiempo en dinámica se define en segundos.

Dónde se calcula cada cosa:

CapacidadEscritorio (referencia)Navegador
No linealidad geométrica, longitud de arco, etapassíno, rechazo explícito
Dinámica implícita de sólidossísí, solo modelos elásticos y Total Lagrangian sin contacto, restricciones ni plasticidad
Dinámica implícita de vigas y láminassíde forma limitada
Dinámica explícitasísí

Un cálculo que la plataforma no soporta se rechaza indicando la causa. No hay sustitución silenciosa por una solución lineal: en la ruta no lineal, cualquier tipo de elemento, restricción o material no soportado provoca un error con su texto, y no una respuesta simplificada.

9.1No linealidad geométrica de sólidosestable

Se activa cuando la rigidez lineal deja de describir la estructura: los desplazamientos son comparables a las dimensiones de la sección, el elemento gira de forma apreciable, la presión permanece normal a la superficie deformable. Para los cuerpos sólidos se utiliza la formulación Lagrangiana total (Total Lagrangian): todas las integrales se toman sobre la configuración inicial V_0.

Formulación

Gradiente de desplazamientos y gradiente de deformación en el punto de Gauss:

\mathbf{H} = \nabla_0 \mathbf{u} = \sum_i \mathbf{u}_i \otimes \nabla_0 N_i, \qquad \mathbf{F} = \mathbf{I} + \mathbf{H}

El gradiente se construye a partir de los desplazamientos, y no a partir de \nabla(\mathbf{X}+\mathbf{u}): cuando \lvert\mathbf{u}\rvert \ll \lvert\mathbf{X}\rvert, la resta de números próximos pierde cifras significativas. Por la misma razón, el tensor de Green–Lagrange se calcula a través de \mathbf{H}:

\mathbf{E} = \tfrac{1}{2}\left(\mathbf{F}^{T}\mathbf{F} - \mathbf{I}\right) = \tfrac{1}{2}\left(\mathbf{H} + \mathbf{H}^{T} + \mathbf{H}^{T}\mathbf{H}\right)

El segundo tensor de Piola–Kirchhoff \mathbf{S} se calcula según la ley del material. Por defecto es el modelo de Saint-Venant–Kirchhoff:

\mathbf{S} = \lambda\,\mathrm{tr}(\mathbf{E})\,\mathbf{I} + 2\mu\,\mathbf{E}

Para las grandes deformaciones de caucho y elastómeros se eligen modelos hiperelásticos: el neo-Hooke compresible con energía W = \tfrac{\mu}{2}(\bar I_1 - 3) + \tfrac{\kappa}{2}(J-1)^2, \bar I_1 = J^{-2/3} I_1, así como Mooney–Rivlin, Yeoh, Arruda–Boyce y Ogden (los parámetros, en la sección Modelos de material). La formulación es puramente de desplazamientos, sin un campo de presión aparte.

El trabajo virtual de las fuerzas internas \int_{V_0} \mathbf{S}:\delta\mathbf{E}\,dV_0 da el vector de fuerzas internas y la matriz tangente. En notación de Voigt con cortante de ingeniería (orden 11, 22, 33, 12, 23, 13):

\mathbf{f}_{\mathrm{int}} = \int_{V_0} \mathbf{B}_{NL}^{T}\,\hat{\mathbf{S}}\,dV_0, \qquad \delta\hat{\mathbf{E}} = \mathbf{B}_{NL}\,\delta\mathbf{u}

La matriz \mathbf{B}_{NL} depende de \mathbf{F}: para el nodo i y la componente m, la fila E_{11} es igual a F_{m1}\,\partial N_i/\partial X, la fila \gamma_{12} es igual a F_{m1}\,\partial N_i/\partial Y + F_{m2}\,\partial N_i/\partial X, y así sucesivamente. La tangente es la suma de las partes material y geométrica:

\mathbf{K}_T = \underbrace{\int_{V_0} \mathbf{B}_{NL}^{T}\,\mathbb{D}\,\mathbf{B}_{NL}\,dV_0}_{\mathbf{K}_{\mathrm{mat}}} + \underbrace{\int_{V_0} \left(\nabla_0 N_i \cdot \mathbf{S}\,\nabla_0 N_j\right)\mathbf{I}_3\,dV_0}_{\mathbf{K}_{\mathrm{geo}}}, \qquad \mathbb{D} = \frac{\partial \mathbf{S}}{\partial \mathbf{E}}

La tangente es analítica y simétrica (salvo las contribuciones de las cargas seguidoras y del contacto). Para el Saint-Venant–Kirchhoff isótropo, \mathbb{D} es constante. Para las leyes hiperelásticas y elastoplásticas, \mathbb{D} es la tangente consistente de la ley, por lo que la convergencia de Newton es cuadrática.

Las cuadraturas son las mismas que en el ensamblaje lineal (sección Biblioteca de elementos finitos): TET4, un punto; TET10, cuatro; HEX8, 2\times2\times2 (integración completa); HEX20, 3\times3\times3. El núcleo admite también prismas, pirámides y HEX27. Las rutas del botón Solve y del DSL conectan tetraedros y hexaedros de primer y segundo orden y la malla híbrida Hex8–Pyr5–Tet4; las demás combinaciones de tipos se rechazan de forma explícita.

Qué obtiene el usuario

Desplazamientos, reacciones en los apoyos (\mathbf{f}_{\mathrm{int}} - \lambda\,\mathbf{f}_{\mathrm{ext}} en la configuración final), deformaciones de Green–Lagrange, tensiones verdaderas de Cauchy y, a partir de ellas, tensiones equivalentes de von Mises y tensiones principales. Las tensiones de Cauchy se obtienen mediante push-forward:

\boldsymbol{\sigma} = J^{-1}\,\mathbf{F}\,\mathbf{S}\,\mathbf{F}^{T}, \qquad J = \det\mathbf{F}

El valor del elemento es la media sobre el volumen V_0 por los puntos de Gauss; el valor del nodo es la media sobre los elementos adyacentes ponderada con su volumen V_0. No es una recuperación superconvergente: en las zonas con gradiente, los picos nodales se suavizan. Para los pasos de carga aceptados se guardan los campos completos y en el posprocesador se puede alternar entre los pasos. La memoria de las instantáneas está limitada por un presupuesto; al desbordarse, los pasos se aclaran de manera uniforme y se conservan el primero y el último.

Los ajustes son comunes al panel Solution y al DSL: número de pasos de carga, tope de iteraciones por paso, tolerancia del residuo, modo de presión (seguidora o muerta), multiplicador de la penalización de contacto. La presión seguidora actúa según la normal de la configuración actual: \mathbf{f}_a = -\lambda p \int N_a\,\tilde{\mathbf{n}}\,d\xi\,d\eta, donde \tilde{\mathbf{n}} = \mathbf{x}_{,\xi}\times\mathbf{x}_{,\eta}. La tangente de esta carga está tenida en cuenta y en el caso general es no simétrica (la carga de una cara es no conservativa).

nlgeom on pressure=dead steps=10 maxiter=25 tol=1e-6
solve static

El bloqueo de bajo orden en grandes desplazamientos se ha medido en la flexión de un voladizo L/h = 20 con PL^2/EI = 10 (40 elementos en la longitud, uno en el espesor). La referencia es la elástica de Euler, integrada de forma independiente. Error máximo del desplazamiento del extremo:

ElementoError
TET456,5 %
HEX88,9 %
TET100,16 %
HEX200,19 %

Se trata del bloqueo en una malla concreta, y no de una garantía para una geometría arbitraria. Para la flexión con grandes desplazamientos, use elementos de segundo orden.

Limitaciones. HEX8 se integra de forma completa, sin B-bar ni formulaciones mixtas. En la flexión de cuerpos delgados con grandes deformaciones, el bajo orden se bloquea: véase la tabla anterior. Los materiales casi incompresibles con elementos de primer orden también tienden al bloqueo. La plasticidad aditiva en el par (\mathbf{E}, \mathbf{S}) es físicamente correcta para pequeñas deformaciones y grandes giros e incorrecta para decenas de por ciento de deformación plástica (más detalles, en el apartado sobre el material). El cálculo es nativo: en el navegador, la no linealidad activada produce un rechazo con la petición de abrir el proyecto en el escritorio. Los canales de condiciones de contorno que no existen en el ensamblaje no lineal (zonas de orden local en un modelo mixto con restricciones, la «piel» de lámina sobre un sólido) se rechazan indicando su nombre.
Verificación. La tracción homogénea \lambda_x = 1.5 (E_{xx} = 0.625) se reproduce en TET4, TET10, HEX8 y HEX20 hasta 10^{-14} en desplazamientos, reacciones y tensiones (solución independiente para el estado plano de tensiones). La tracción uniaxial de Saint-Venant–Kirchhoff hasta E_{GL}\approx 0.092 coincide con la fórmula cerrada hasta 10^{-8}; la fuerza es igual al gradiente de la energía, la tangente coincide con las diferencias finitas de la fuerza y el movimiento rígido da fuerzas nulas. La flexión del voladizo con la elástica se muestra en la tabla anterior. Casos de verificación: neo-Hooke, tracción uniaxial, neo-Hooke, cortante simple, objetividad de la ley hiperelástica, método de las soluciones manufacturadas con deformación finita, NAFEMS 3DNLG5, rotación rígida.

9.2Vigas y láminas corrotacionalesestable

Para vigas y láminas, la formulación Lagrangiana total es excesiva: las deformaciones siguen siendo pequeñas y lo que puede ser grande son los giros. Aquí se emplea el enfoque corrotacional (corotational): el sistema de referencia del elemento sigue a los nodos, en él se aplica un elemento lineal y la no linealidad geométrica procede por completo del giro del sistema de referencia.

La configuración del nodo es la posición \mathbf{x} = \mathbf{X} + \mathbf{u} y el giro completo \mathbf{R}_g\in SO(3). El incremento de giro es el spin espacial \delta\mathbf{w}, y la actualización es multiplicativa:

\mathbf{R}_g \leftarrow \exp(\delta\mathbf{w})\,\mathbf{R}_g

No se pueden sumar los ángulos: para giros grandes esto es incorrecto. Como resultado, el giro del nodo se obtiene como el vector \log\mathbf{R}_g con un ángulo en el intervalo [0, \pi].

Viga

Formulación de Battini y Pacoste (2002). El sistema de referencia del elemento \mathbf{R}_r se construye a partir de la cuerda y de la posición media del eje y de los giros nodales. Magnitudes de deformación en el sistema de referencia:

\bar u = l - l_0, \qquad \bar{\boldsymbol\theta}_i = \log\left(\mathbf{R}_r^{T}\,\mathbf{R}_{g,i}\,\mathbf{R}_0\right)

Son pequeñas cuando la deformación es pequeña, por lo que se les aplica sin cambios el elemento lineal de Timoshenko: \bar{\mathbf{f}}_l = \mathbf{K}_l\,[\bar u,\bar{\boldsymbol\theta}_1,\bar{\boldsymbol\theta}_2]^{T}. Las fuerzas internas se obtienen mediante el trabajo virtual exacto, teniendo en cuenta la derivada de la rotación; la tangente es analítica (coincidencia con las diferencias finitas hasta 10^{-9}).

Lámina

Formulación corrotacional independiente del elemento EICR (Rankin y Nour-Omid; Felippa y Haugen, CMAME 194, 2005) sobre láminas lineales: el cuadrilátero con membrana Q4, flexión MITC4 y rigidez ficticia de giro alrededor de la normal; el triángulo, CST con flexión DKT. El sistema de referencia del elemento depende solo de las posiciones de los nodos. Las fuerzas son el gradiente exacto de la energía \tfrac12\bar{\mathbf{d}}^{T}\mathbf{K}_l\bar{\mathbf{d}} respecto a los grados de libertad globales; el sumando proyector elimina el trabajo en los modos rígidos del sistema de referencia. La tangente es analítica.

Qué obtiene el usuario

Desplazamientos y giros de los nodos (los giros, como vector de giro completo), reacciones, esfuerzos de vigas N, V_y, V_z, T, M_y, M_z en los extremos en el sistema de referencia actual del elemento. Para las láminas se calcula la tensión equivalente de von Mises en la fibra superior e inferior en el centro del elemento, mediante relaciones lineales a partir de las magnitudes de deformación del sistema de referencia; se emite la mayor de las dos. En el cálculo no lineal no hay campos de tensión a través del espesor.

Los momentos nodales se definen mediante vectores axiales fijos en el espacio y conjugados del spin espacial. En problemas planos, esta carga es conservativa; en los espaciales no hay momentos seguidores.

frame solve static nlgeom=on steps=10 maxiter=30 tol=1e-6
Limitaciones. La lámina cuadrilátera se considera plana: el alabeo del cuadrilátero se ignora (estándar EICR para elementos planos). Las láminas laminadas se rechazan en la ruta no lineal. Para las vigas no se admiten los desplazamientos de la sección ni el centro de cortante en el núcleo no lineal nativo. Las restricciones RBE2 se tienen en cuenta de forma geométricamente exacta (\mathbf{x}_d = \mathbf{x}_m + \mathbf{R}_m \mathbf{d}_0); las restricciones CE, solo las lineales sobre las traslaciones; las CE sobre giros y las cadenas de restricciones se rechazan. La plasticidad en vigas y láminas no está admitida (rechazo, y no una respuesta elástica).
Verificación. Un voladizo bajo un momento M = \pi EI/L se enrolla en un semianillo: desplazamiento del extremo (-L, 2L/\pi) con un error de 6.6\cdot10^{-4} (banda de lámina). Un voladizo bajo una fuerza PL^2/EI = 10 da (-0.5550, -0.8106) frente a la elástica de Mattiasson, con un error de 2.5\cdot10^{-4}. Objetividad: un giro rígido y un desplazamiento del modelo dan fuerzas internas nulas. El límite lineal coincide con el solver lineal: las láminas hasta 3\cdot10^{-9}, las vigas dentro de la tolerancia 10^{-6}. Casos de verificación: elástica, extremo bajo fuerza, momento puro, cuarto de circunferencia, momento puro, vuelta completa, pórtico de Lee, pilar de Euler, bifurcación.

9.3Iteraciones de Newton–Raphson y pasos de cargaestable

El problema consiste en encontrar el \mathbf{u} con el que las fuerzas internas equilibran las aplicadas para la fracción de carga \lambda. Residuo en los grados de libertad libres:

\mathbf{r}(\mathbf{u},\lambda) = \lambda\,\mathbf{f}_{\mathrm{ref}} - \mathbf{f}_{\mathrm{int}}(\mathbf{u}) = \mathbf{0}

La carga aumenta de \lambda = 0 a \lambda = 1 por pasos. En cada paso se ejecuta el método de Newton–Raphson con recálculo completo de la tangente en cada iteración:

\mathbf{K}_T(\mathbf{u}_k)\,\delta\mathbf{u} = \mathbf{r}(\mathbf{u}_k,\lambda), \qquad \mathbf{u}_{k+1} = \mathbf{u}_k + \delta\mathbf{u}

Los giros se actualizan de forma multiplicativa (véase el apartado anterior). La tangente se factoriza mediante LU dispersa (biblioteca Eigen); el análisis simbólico del patrón de dispersión se reutiliza entre iteraciones. Se usa LU y no Cholesky porque la tangente de los elementos corrotacionales fuera del equilibrio es no simétrica; para más detalles sobre los solvers lineales, véase la sección Solvers.

Criterio de convergencia

El paso se acepta cuando el residuo relativo no supera la tolerancia:

\lVert \mathbf{r}_{\mathrm{free}}\rVert \le \varepsilon\,\max\left(\lVert\lambda\,\mathbf{f}_{\mathrm{free}}\rVert,\ \lVert\mathbf{f}_{\mathrm{int,free}}\rVert,\ f_{\mathrm{ref}}\right)

Aquí f_{\mathrm{ref}} es la norma de referencia de la carga (más abajo). El criterio es solo por el residuo; no hay criterio por el incremento de desplazamientos ni por la energía. La norma de referencia tiene en cuenta las cargas seguidoras (de lo contrario, un problema puramente seguidor con fuerza externa nula en el equilibrio daría un residuo relativo igual a 1) y, en la carga por desplazamientos impuestos o en la descarga hasta \lambda = 0, un límite inferior según la carga total del modelo. Una iteración cuyo residuo ya es pequeño antes de la primera resolución no se da por válida: se ejecuta al menos un incremento.

Subdivisión automática del paso

El paso inicial \Delta\lambda es la fracción 1/N del número de pasos indicado. Si Newton no ha convergido en el número de iteraciones asignado (o el residuo no es numérico), el paso se descarta, el estado se revierte al último aceptado y \Delta\lambda se divide por la mitad. Si Newton ha convergido rápidamente, el paso crece. El crecimiento y la subdivisión están acotados por abajo y por arriba. La subdivisión por debajo del mínimo es un rechazo «paso automático agotado». Todos los pasos aceptados y las reversiones se cuentan y se muestran en el resultado.

Trayectoria de carga

Para problemas elastoplásticos y ciclos, la carga puede seguir una sucesión arbitraria de fracciones objetivo \lambda: \{1, 0\}, carga y descarga completa (deformación residual), \{1, -1, 1\}, un ciclo. El paso automático actúa en cada tramo. La trayectoria de carga solo se admite con control por carga.

Qué define el usuario

ParámetroDSLSignificado
Número de pasossteps=número objetivo de pasos hasta \lambda = 1 (por defecto 10)
Iteraciones por pasomaxiter=tope de iteraciones de Newton (por defecto 25)
Tolerancia del residuotol=tolerancia relativa \varepsilon (por defecto 10^{-6})
Tope de pasosmaxsteps=número total de pasos aceptados, incluida la subdivisión
Grado de libertad de controlcontroldof=para la curva «carga — desplazamiento»; por defecto, el mayor \lvert u\rvert
Trayectoria de cargaloadpath="1,0"fracciones objetivo \lambda consecutivas

Las causas de rechazo que ve el usuario son fijas: paso automático agotado (no se ha encontrado el equilibrio); alcanzado el tope del número de pasos; tangente degenerada (mecanismo o punto límite con control por carga); el aterrizaje en \lambda=1 no ha convergido; entrada incorrecta; la trayectoria se ha ido a una rama no física (longitud de arco). Junto con la causa se comunican el \lambda alcanzado y el número de pasos.

Limitaciones. Factorización directa de la tangente en cada iteración: la memoria y el tiempo crecen más rápido que el número de grados de libertad, por lo que los modelos muy grandes con no linealidad son costosos. El control por carga no atraviesa los puntos límite (allí la tangente degenera): para ellos hace falta el método de longitud de arco. Las condiciones de contorno de Dirichlet son desplazamientos nulos por máscara; los desplazamientos impuestos no nulos se introducen mediante ecuaciones de restricción (apartado sobre desplazamientos impuestos).
Verificación. El residuo converge de forma cuadrática (en una lámina: 1, 9\cdot10^{-4}, 9\cdot10^{-14} por iteraciones). El resultado no depende del tamaño del paso: 5, 10 y 20 pasos dan la misma solución que 40 (independencia del tamaño del paso). La carga y la descarga devuelven el estado elástico (inversión de la carga). Un modelo sin equilibrio, honestamente, no converge: diagnóstico en un modelo infrarrestringido, tangente singular.

9.4Método de longitud de arco de Crisfieldestable

Cuando en la trayectoria de carga hay puntos límite de carga (snap-through) o retroceso (snap-back), el control por carga se detiene en ellos: la tangente es degenerada. El método de longitud de arco avanza a lo largo de la propia curva de equilibrio, y no a lo largo de \lambda.

Las incógnitas son los incrementos \Delta\mathbf{u} y \Delta\lambda con una ecuación de restricción adicional. Se ha implementado la variante cilíndrica de Crisfield: la restricción sobre la longitud de arco se impone solo a los desplazamientos de los grados de libertad libres,

\Delta\mathbf{u}^{T}\Delta\mathbf{u} = \Delta l^{2}

El corrector en la iteración se descompone como \delta\mathbf{u} = \delta\mathbf{u}_r + \delta\lambda\,\delta\mathbf{u}_t, donde \delta\mathbf{u}_r = \mathbf{K}_T^{-1}\mathbf{r}, \delta\mathbf{u}_t = \mathbf{K}_T^{-1}\mathbf{f}_{\mathrm{ref}} y \delta\lambda es una raíz de la ecuación cuadrática

\left\lVert \Delta\mathbf{u} + \delta\mathbf{u}_r + \delta\lambda\,\delta\mathbf{u}_t \right\rVert^{2} = \Delta l^{2}

De las dos raíces se toma aquella con la que el incremento actualizado forma el menor ángulo con el incremento anterior a la corrección. Las raíces complejas provocan la subdivisión del paso.

El predictor es tangente; el signo del incremento de carga se determina según Feng: por el signo del producto escalar del incremento anterior y el vector tangente. Esto no basta en el snap-back de muchos grados de libertad, por lo que se ha añadido la comprobación de inversión de Crisfield: el incremento aceptado del paso debe formar un ángulo agudo con el anterior; de lo contrario, el paso se rechaza y el arco se reduce a la mitad. La longitud de arco se ajusta según el número de iteraciones del corrector. Si el paso de arco ha cruzado \lambda = 1, se revierte y «aterriza» en \lambda = 1 mediante control por carga con subpasos pequeños. Si el aterrizaje es imposible (rama de rigidez negativa), se acepta el último paso de arco convergido.

Como resultado, el usuario obtiene el historial completo de \lambda(u) a lo largo de la trayectoria: con tramos en los que \lambda decrece al crecer u y con \lambda<0 tras un snap-back. El método se elige en el paso Solve (lista «Método») y en el DSL (method=arc).

frame solve static nlgeom=on method=arc steps=40 maxiter=40 tol=1e-6
Limitaciones. La plasticidad con longitud de arco no está admitida: el historial de los puntos de Gauss y la inversión de la trayectoria no son compatibles, y el cálculo se rechaza. La trayectoria de carga (loadpath) con longitud de arco también se rechaza. La aceptación de la longitud de arco se realizó con vigas y láminas elásticas; no hay paso por puntos límite para sólidos con historial plástico. El método construye la trayectoria, pero no elige la rama por el usuario: en una bifurcación con varias ramas, la trayectoria depende de la imperfección (apartado siguiente). Un fusible detiene el cálculo con el rechazo «la trayectoria se ha escapado» si la carga, en valor absoluto, se aleja demasiado de la indicada.
Verificación. Pórtico de Lee (punto límite y retroceso con muchos grados de libertad): carga límite 1,8665, 1,8590 y 1,8569 con 10, 20 y 40 elementos por brazo frente a la referencia 1,85; la trayectoria pasa a la rama lejana; pórtico de Lee. Panel cilíndrico articulado (Sze, Sabir–Lock): carga límite de 2221 N con una flecha de 10,3 mm, después descarga hasta \lambda = 0.22 y salida a \lambda = 1 sin reversiones del paso (sección cilíndrica articulada, desviación de 3,6 % por la flecha en el punto límite). La cercha de Mises atraviesa dos puntos límite; la forma cerrada P(s) = EA\,s\,(h^2 - s^2)/l_0^3 se ha contrastado en la aceptación del núcleo. En las páginas snap de la cercha y longitud de arco, cercha la referencia es la misma fórmula cerrada, y el solver confirma el paso por el punto límite; el contraste punto a punto de la curva se realizó en las pruebas del núcleo.

9.5Imperfecciones iniciales y comportamiento poscríticobeta

Una estructura perfecta bajo compresión pierde la estabilidad por bifurcación; una real, por la carga límite, que depende de la forma y la amplitud de las desviaciones iniciales (sensibilidad a las imperfecciones, Koiter). Cadena típica: cálculo lineal de estabilidad \to introducción de la imperfección según la forma hallada \to cálculo no lineal con longitud de arco.

El comando imperfection toma la k-ésima forma propia de la estabilidad lineal \boldsymbol\phi_k, la normaliza por el mayor desplazamiento de traslación y desplaza las coordenadas de los nodos de la malla:

\mathbf{X}_i \leftarrow \mathbf{X}_i + w_0\,\frac{\boldsymbol\phi_{k,i}}{\max_j \lVert\boldsymbol\phi_{k,j}\rVert}

Aquí w_0 es el mayor desplazamiento en unidades de longitud del modelo (parámetro scale). Varios comandos seguidos suman las formas (imperfección multimodal). Es aplicable a mallas de láminas, mallas sólidas y estructuras reticulares. El comando requiere un solve buckling previo sobre el mismo modelo y modifica la geometría del modelo de trabajo: los cálculos posteriores se realizan sobre la malla perturbada.

solve buckling nmodes=3
imperfection mode=1 scale=0.5
solve static nlgeom=on method=arc steps=20 maxiter=30 tol=1e-5
Limitaciones. Todavía no hay un elemento de interfaz aparte para introducir la imperfección; el comando está disponible en el DSL. Una imperfección según la forma propia es uno de los modelos de desviación; las imperfecciones reales (ovalidad, soldaduras, tensiones residuales) deben definirse por separado. La rama poscrítica de las láminas delgadas es sensible a la malla, a la amplitud y al número de formas consideradas; el resultado debe entenderse como una estimación de la sensibilidad, y no como una carga límite normativa.
Verificación. En las pruebas se comprobaron la normalización de la forma, la perturbación de las coordenadas y la carga crítica de un voladizo de Euler. Carga crítica de una placa cuadrada ideal: carga crítica de la placa (0,79 % frente a 4\pi^2 D/b^2). El comportamiento tras el punto de bifurcación en láminas se ha comprobado con el panel de Sze (apartado anterior). Todavía no hay un contraste cuantitativo de las cargas límite poscríticas con una referencia independiente para el comando imperfection.

9.6No linealidad del material en las iteracionesestable

La no linealidad del material entra en el mismo ciclo de Newton. En cada punto de Gauss se almacena el historial de la ley (el estado aceptado); en la iteración, la ley se evalúa a partir del estado aceptado y no se acumula a lo largo de las iteraciones. El estado aceptado se actualiza tras un paso convergido; al revertir un paso, el estado permanece el mismo. Por eso el reensamblaje con los mismos desplazamientos es idempotente y la subdivisión del paso no estropea el historial.

La ley devuelve la tensión y la tangente consistente \partial\mathbf{S}/\partial\mathbf{E}. Para la plasticidad de von Mises (endurecimiento isótropo, cinemático, multilineal) y de Johnson–Cook, la entrada de la ley es el tensor de Green–Lagrange y la salida, el segundo tensor de Piola–Kirchhoff: la plasticidad es aditiva en este par. La descripción de las leyes y de sus parámetros se encuentra en la sección Modelos de material.

El modo «solo no linealidad del material» (nlgeom=material) desactiva la no linealidad geométrica de los sólidos: \boldsymbol\varepsilon = \mathrm{sym}\,\nabla\mathbf{u}, \mathbf{K}_{\mathrm{geo}} no se ensambla, la presión es muerta.

Para la plasticidad perfecta, el agotamiento del paso automático en el último objetivo de carga significa el agotamiento de la capacidad portante. En este caso el producto devuelve como resultado el último equilibrio convergido e informa de la fracción límite de carga (\lambda_{\mathrm{lim}}); con endurecimiento, tal rechazo sigue siendo un error de cálculo.

material steel plasticity=j2 yield=250e6
nlgeom material steps=20 loadpath="1,0"
solve static
Limitaciones. La plasticidad y la hiperelasticidad no se mezclan en un mismo modelo. La plasticidad aditiva (\mathbf{E}, \mathbf{S}) no describe el flujo con decenas de por ciento de deformación. Esto se ve en un cilindro de pared gruesa bajo presión con una expansión triple impuesta de la cavidad: el cálculo con carga muerta llega solo hasta a/a_0 = 1.44 (con seguidora, hasta 1,005), y estos resultados no se aceptan como solución. Existe un prototipo de plasticidad multiplicativa (\mathbf{F}=\mathbf{F}_e\mathbf{F}_p) a nivel del punto material, que no forma parte de la versión publicada y aquí no se declara. El calentamiento adiabático en estática implícita se rechaza (depende de la velocidad): use la dinámica explícita.
Verificación. Rótula plástica de sección rectangular: el momento límite difiere de \sigma_y b h^2/4 en 0.05\% (rótula plástica). Desviaciones del orden de 10^{-6} % en un elemento con carga uniaxial, cortante puro y descarga: carga uniaxial, cortante puro, estado residual tras la descarga, inversión de la fluencia. La acción conjunta de la geometría y la plasticidad se ha comprobado con deformaciones inferiores al 1 %.

9.7Desplazamientos impuestos en la formulación no linealbeta

Se puede cargar no solo con una fuerza, sino también con un desplazamiento impuesto (accionamiento, ajuste, tracción de una probeta). En la estática no lineal, un desplazamiento impuesto no nulo se introduce mediante una ecuación de restricción lineal sobre los grados de libertad de traslación con un lado derecho proporcional a \lambda:

\sum_i c_i\,u_i = \lambda\,\bar r

Aquí c_i son los coeficientes de la restricción (para un desplazamiento impuesto, un grado de libertad con coeficiente 1), \bar r es el valor impuesto (en metros en la frontera del solver); el primer término de la ecuación es el grado de libertad dependiente. El desplazamiento crece junto con la fracción de carga y en las trayectorias de carga \{1, 0\} vuelve a cero. La restricción sobre las traslaciones sigue siendo exacta con grandes desplazamientos. Los desplazamientos impuestos son compatibles con las fuerzas, con la presión seguidora y con la trayectoria de carga.

Cuando solo se carga con desplazamientos, no hay fuerza externa y la norma de referencia ordinaria del residuo es igual a cero: el residuo de redondeo se dividiría entre cero y el cálculo no convergería falsamente. Por eso la norma de referencia se toma según la escala energética de los desplazamientos impuestos. Este cambio no afecta a los cálculos cargados con fuerzas.

Limitaciones. Solo traslaciones: el giro impuesto y las restricciones sobre giros se rechazan. El grado de libertad dependiente no puede estar fijado al mismo tiempo. El desplazamiento impuesto de un punto remoto (cadena de restricciones sobre el maestro de RBE2) se rechaza.
Verificación. Dos elementos HEX8 de longitud desigual con un alargamiento impuesto del 2 %: la fuerza del apoyo y del accionamiento \mp 4120.8 N coincide con la fuerza exacta de Saint-Venant–Kirchhoff; tras la descarga hasta \lambda = 0 el desplazamiento máximo es del orden de 10^{-12} m. Una barra híbrida (Tet4, Hex8, Pyr5) en tracción al 15 % reproduce la referencia hasta 10^{-7} en términos relativos. No hay un caso aparte en la página de verificación.

9.8Dinámica implícita de sólidosestable

Dinámica transitoria con inercia y amortiguamiento, cuando la carga varía en el tiempo con rapidez en comparación con el periodo del tono fundamental, pero no se necesitan impactos ni ondas de tensión (para ellos, el esquema explícito). Se resuelve la ecuación de movimiento semidiscreta

\mathbf{M}\ddot{\mathbf{u}} + \mathbf{C}\dot{\mathbf{u}} + \mathbf{f}_{\mathrm{int}}(\mathbf{u}) = \mathbf{F}(t)

con la carga \mathbf{F}(t) = k(t)\,\mathbf{F}_0, donde k(t) es una amplitud lineal por tramos dada por una tabla de pares «tiempo — factor».

Esquemas

Se han implementado Newmark-\beta y HHT-\alpha (Hilber–Hughes–Taylor). No existe el esquema \alpha generalizado (Chung–Hulbert). Ambos esquemas se escriben en una misma forma:

\mathbf{M}\mathbf{a}_{n+1} + (1+\alpha)\left[\mathbf{C}\mathbf{v}_{n+1} + \mathbf{f}_{\mathrm{int}}(\mathbf{u}_{n+1})\right] - \alpha\left[\mathbf{C}\mathbf{v}_n + \mathbf{f}_{\mathrm{int}}(\mathbf{u}_n)\right] = (1+\alpha)\mathbf{F}_{n+1} - \alpha\mathbf{F}_n
\mathbf{u}_{n+1} = \mathbf{u}_n + h\mathbf{v}_n + h^2\left[(\tfrac12 - \beta)\mathbf{a}_n + \beta\mathbf{a}_{n+1}\right], \qquad \mathbf{v}_{n+1} = \mathbf{v}_n + h\left[(1-\gamma)\mathbf{a}_n + \gamma\mathbf{a}_{n+1}\right]

Newmark corresponde a \alpha = 0; por defecto \beta = 1/4, \gamma = 1/2 (regla del trapecio: incondicionalmente estable, sin amortiguamiento numérico). Para HHT-\alpha, el parámetro \alpha\in[-1/3, 0] y \beta = (1-\alpha)^2/4, \gamma = (1-2\alpha)/2; el amortiguamiento numérico de las altas frecuencias es tanto más fuerte cuanto menor es \alpha: el límite del radio espectral para \Omega\to\infty es igual a (1+\alpha)/(1-\alpha). Los \beta, \gamma generalizados se aceptan para \gamma \ge 1/2 y \beta \ge (\gamma + 1/2)^2/4, es decir, solo los incondicionalmente estables; los demás (incluida la «aceleración lineal») se rechazan para no permitir una inestabilidad silenciosa.

La incógnita del esquema es el incremento \Delta\mathbf{u} del paso. Newton avanza con la tangente efectiva

\mathbf{J} = \frac{\mathbf{M}}{\beta h^2} + (1+\alpha)\left[\frac{\gamma}{\beta h}\mathbf{C} + \mathbf{K}_T(\mathbf{u}_{n+1})\right]

Amortiguamiento de Rayleigh \mathbf{C} = a_R\mathbf{M} + b_R\mathbf{K}_0; \mathbf{K}_0 es la tangente de la configuración inicial, que no se actualiza durante el cálculo (como el amortiguamiento del material en los códigos industriales). Los coeficientes se definen mediante el par (a_R, b_R) o mediante dos pares «frecuencia — fracción del crítico». Si el paso no ha convergido, se divide por la mitad de forma recursiva hasta una profundidad dada (subpasos dentro de un mismo paso de salida). Con pequeñas deformaciones y sin plasticidad (\mathbf{K} constante) se utiliza una ruta lineal rápida con una sola factorización para todo el cálculo.

Qué define el usuario

El paso h y el tiempo final son obligatorios. Masa: consistente (por defecto), concentrada según HRZ o «a partes iguales por los nodos». Cinemática: pequeñas deformaciones o grandes desplazamientos (Total Lagrangian). Condiciones iniciales: estática bajo la carga completa («liberación») o ceros; velocidad inicial para todos los nodos o para un cuerpo elegido. La aceleración de la base se define en formulación relativa \mathbf{F} = -\mathbf{M}\boldsymbol\iota\,\mathbf{a}_0\,k(t). Resultado: desplazamientos, velocidades y aceleraciones en los puntos de sondeo en función del tiempo, series de energías (cinética, trabajo interno, disipación por amortiguamiento, trabajo de las fuerzas externas, balance), máximo de von Mises y de la deformación plástica, fotogramas del campo y envolvente de von Mises por nodos.

solve transient dt=1e-4 tend=0.05 scheme=hht alpha=-0.05 amplitude="0:0,0.001:1"
solve transient dt=1e-4 tend=0.05 rayleigh f1=50 z1=0.02 f2=500 z2=0.05

Las claves alpha= y beta= aquí son parámetros del esquema, y no coeficientes de Rayleigh. Una alternativa a la integración directa es la superposición modal (method=modal) con la integral de Duhamel exacta y la corrección estática de los modos residuales; es lineal y no sustituye a la dinámica no lineal.

Limitaciones. La estabilidad incondicional está demostrada para un sistema lineal. En un problema no lineal, el balance de energía no está garantizado: un voladizo en Total Lagrangian da una deriva de T+U en cinco periodos de 3\cdot10^{-7} con una amplitud de 10^{-4} m y de 2.9\cdot10^{-4} con una amplitud de 0.078 m. HHT y los \beta,\gamma fuera de la regla del trapecio disipan energía numéricamente, y el balance muestra esta pérdida. La plasticidad y el Total Lagrangian pagan una factorización en cada iteración: el techo práctico es de decenas de miles de pasos con miles de grados de libertad. La presión seguidora en dinámica se rechaza. La hiperelasticidad no se mezcla con la plasticidad. En el navegador están disponibles los modelos elásticos y el Total Lagrangian sin plasticidad, contacto ni restricciones; el resultado de la ruta web coincide con el nativo en la misma malla.
Verificación. El periodo de las oscilaciones coincide con el periodo del esquema discreto hasta 10^{-6}; la trayectoria de un sistema de un grado de libertad coincide con una matriz de transición independiente hasta 4\cdot10^{-12} (Newmark y HHT con frecuencia adimensional \omega h de 0,3 a 60); el factor de amplificación dinámica de un escalón en un voladizo es 1,958 frente a la suma modal 1,957 y 2,000 para una carga puramente modal. Casos de verificación: vibraciones libres amortiguadas de un voladizo, amortiguamiento de Rayleigh (0,065 %), carga escalonada, factor de amplificación dinámica (0,84 %), energía de Newmark en 100 periodos, amortiguamiento numérico de HHT, barra elastoplástica bajo un impulso (alargamiento residual frente a la descarga cuasiestática, 0,42 %).

9.9Dinámica implícita de vigas y láminas, restricciones y basebeta

Para vigas y láminas, la dinámica se plantea sobre el grupo de giros SO(3). El nodo tiene inercia rotacional; la ecuación de Euler para la rotación en forma espacial

\mathbf{g} = \mathbf{J}_s\,\boldsymbol\alpha + \boldsymbol\omega\times\left(\mathbf{J}_s\boldsymbol\omega\right), \qquad \mathbf{J}_s = \mathbf{R}\,\mathbf{J}_{\mathrm{ref}}\,\mathbf{R}^{T}

El incremento de giro del paso \Delta\boldsymbol\theta = \log(\mathbf{R}\,\mathbf{R}_n^{T}) entra en Newmark/HHT, y la tangente del bloque rotacional incluye la derivada de \mathbf{T}^{-1}. Masa: consistente o concentrada; se admite una velocidad angular inicial \mathbf{w}_0 (rotación rígida alrededor del centro de masas).

Para los sólidos están disponibles además: restricciones CE/MPC y RBE2, restricciones normales, fuerzas y momentos remotos, movimiento impuesto de los apoyos (u = k(t)\bar u en formulación absoluta), aceleración de la base (excitación sísmica). La dinámica se plantea en grados de libertad independientes con una masa reducida \mathbf{M}_r = \mathbf{T}^{T}\mathbf{M}\mathbf{T}. El contacto y el rozamiento (penalización nodo–superficie, rozamiento de Coulomb regularizado) se describen en la sección Contacto y uniones.

Limitaciones. Un modelo de sólidos junto con vigas o láminas se rechaza en dinámica. Para vigas y láminas, el núcleo nativo no admite restricciones, excitación de la base ni secciones desplazadas. La presión seguidora se rechaza. Los prismas y las pirámides tienen matriz de masas; HEX27, no. Parte de las capacidades apareció después de la versión publicada y está confirmada con un menor número de contrastes independientes.
Verificación. Con las matrices de rigidez y de masas de una viga en voladizo (8 elementos), el error de desplazamientos y velocidades frente a la solución amortiguada exacta disminuye cuatro veces cada vez que el paso se reduce a la mitad (segundo orden) en Newmark y HHT. Casos: aceleración sísmica de la base y RBE2 en cuerpos tridimensionales, viga de dos vanos con excentricidad y articulación.

9.10Dinámica explícitaestable

El esquema explícito es necesario para procesos rápidos: impacto, perforación, carga explosiva, propagación de ondas. El paso de tiempo está limitado por la condición de Courant–Friedrichs–Lewy, pero no hay resolución de un sistema de ecuaciones ni iteraciones: una evaluación de las fuerzas internas por paso. Las ecuaciones de movimiento se integran con el esquema de diferencias centrales (forma en velocidades de Verlet) con matriz de masas diagonal:

\mathbf{v}^{n+1/2} = \mathbf{v}^{n-1/2} + \Delta t\,\mathbf{M}^{-1}\left[\mathbf{f}_{\mathrm{ext}} - \mathbf{f}_{\mathrm{int}}(\mathbf{u}^{n})\right], \qquad \mathbf{u}^{n+1} = \mathbf{u}^{n} + \Delta t\,\mathbf{v}^{n+1/2}

Masa concentrada según HRZ (Hinton–Rock–Zienkiewicz): la diagonal de la masa consistente, escalada a la masa total del elemento. Es positiva también para elementos de segundo orden, donde la suma por filas da masas negativas en los nodos de esquina.

Paso crítico

El paso no supera la estimación del tiempo de recorrido de la onda a través del elemento más pequeño:

\Delta t = \alpha_{\Delta t}\,\min_e \frac{L_e}{c_e}, \qquad c = \sqrt{\frac{K + \tfrac{4}{3}G}{\rho}}

Aquí L_e es la dimensión característica del elemento (para un hexaedro, V/A_{\max}; para un tetraedro, 3V/A_{\max}, donde A_{\max} es la cara mayor), \alpha_{\Delta t} es el coeficiente de seguridad que fija el usuario (dtScale). Para HEX8 se usa el límite estricto del elemento 2/\omega_{\max} según el máximo autovalor de \mathbf{M}^{-1}\mathbf{K}_e. Para un cubo con \nu=0.3 es igual a 0.735\,L_e/c (la «respiración» volumétrica), por lo que la estimación L_e/c por sí sola no es segura. El paso se recalcula durante el cálculo: sobre los elementos vivos y según el tamaño actual en deformaciones finitas. Si en la malla hay elementos degenerados con una dimensión característica anormalmente pequeña, su masa se escala para que no anulen el paso de todo el cálculo. El escalado distorsiona la inercia de esos elementos.

Elementos, materiales, cargas

TET4, TET10, HEX8 tridimensionales; QUAD4 y QUAD8 bidimensionales (deformación plana o tensión plana). HEX8 es un elemento de un punto con gradiente exacto promediado en volumen y control de «reloj de arena» (hourglass) según Flanagan–Belytschko (formas viscosa y de rigidez; el coeficiente lo fija el usuario, el cálculo informa de la razón entre la energía de reloj de arena y la interna y advierte si es excesiva). Materiales: linealmente elástico, J2 con endurecimiento perfecto, lineal o multilineal (fracciones isótropa y cinemática), Johnson–Cook (velocidad, temperatura, calentamiento adiabático), ecuación de estado de Mie–Grüneisen para ondas de choque (véase la sección Modelos de material). La viscosidad volumétrica q_1 (lineal) y q_2 (cuadrática) suprime las oscilaciones en los frentes.

Cargas y condiciones: velocidad inicial de un cuerpo o de una superficie, apoyo, simetría, movimiento impuesto de una superficie (por velocidad o por desplazamiento según tabla), pared rígida, fuerza de volumen y gravedad, frontera absorbente. En el cálculo se lleva un balance energético: energía cinética e interna, energía de reloj de arena, energía de erosión, trabajo de las acciones externas.

Deformaciones finitas

Para TET4 y HEX8 se activa el modo de deformaciones finitas (largeStrain=on): formulación Lagrangiana actualizada, gradientes sobre la malla actual, hipoelasticidad de Jaumann con giro de las deformaciones acumuladas según Hughes–Winget, volumen y tamaño del elemento actuales en la estimación del paso. Sin él, la formulación es geométricamente lineal (pequeñas deformaciones y giros). Para impactos con deformaciones del orden de la unidad, este modo es imprescindible: el impacto de Taylor en formulación geométricamente lineal se desvía de la teoría en un 1,6 % y un 5,1 % (con carga adimensional \rho U^2/\sigma_y igual a 0,25 y 0,5).

material E=124e9 nu=0.34 density=8960 plasticity=j2 yield=300e6
explicit endTime=0.00017 dtScale=0.8 largeStrain=on
bc explicit_velocity body vx=-91.5
bc rigid_wall plane x 0 friction=0
solve explicit
Limitaciones. El paso es pequeño (microsegundos y menos): segundos completos de tiempo físico en una malla detallada son millones de pasos. El contacto en el esquema explícito es erosivo (se describe más abajo) y no tiene rozamiento. TET10 y los elementos bidimensionales no admiten deformaciones finitas ni erosión. Para problemas de equilibrio, use la estática implícita. El cálculo se puede cancelar: el indicador de cancelación se consulta en cada paso.
Verificación. Tracción de una barra con endurecimiento lineal (J2, endurecimiento lineal), curva multilineal (endurecimiento multilineal), efecto Bauschinger (endurecimiento mixto y cinemático), sensibilidad a la velocidad y calentamiento del cobre (sensibilidad a la velocidad de Johnson–Cook, calentamiento adiabático), onda de choque en cobre (Mie–Grüneisen, U_s = c_0 + s\,U_p). Impacto de Taylor de un cilindro de cobre: razón entre la longitud final y la inicial L_1/L_0 = 0.9002 frente a 0,8957 según la teoría de Hawkyard (energía) y 0,8968 según la teoría de Taylor (impulso), desviación de 0,5 % (impacto de Taylor); convergencia con el paso, impacto de la barra de Taylor: deformación plástica media 0,14021, 0,13983, 0,13962, 0,13956 con cuatro coeficientes de seguridad. Velocidad de la onda en una barra de HEX8 (velocidad de la onda longitudinal), voladizo bajo peso propio (voladizo de Euler–Bernoulli, 1,7 %). El impacto contra una placa en el esquema explícito con perforación se ha contrastado de forma aproximada, con un 16–20 %, y en el manual no se declara como verificado.

9.11Erosión de elementos y roturabeta

En los cálculos de perforación y de descascarillado (spall), el elemento que alcanza el criterio de rotura se elimina de las fuerzas internas. Los criterios pueden combinarse; la rotura se produce al alcanzar cualquiera de ellos:

  • deformación plástica equivalente límite \varepsilon_p \ge \varepsilon_{\mathrm{fail}};
  • daño acumulado de Johnson–Cook D = \sum \Delta\varepsilon_p/\varepsilon_f, donde \varepsilon_f = [d_1 + d_2 e^{d_3\eta}]\,[1 + d_4\ln\dot\varepsilon^*]\,[1 + d_5 T^*];
  • tensión principal máxima \sigma_1 \ge \sigma_{\max};
  • presión de desprendimiento \sigma_m \ge p_{\mathrm{spall}}.

El elemento eliminado deja de transmitir fuerzas, pero la masa de sus nodos permanece (se conserva el impulso), el paso se calcula sobre los elementos vivos, la energía interna del elemento se fija como energía de erosión y el balance de energía permanece cerrado. El contacto erosivo es una penalización unilateral nodo–segmento sobre toda la superficie exterior de los elementos vivos; a medida que avanza la erosión se abren nuevas caras y el impactor encuentra la cavidad formada.

material steel plasticity=j2 yield=355e6 fail="ep:0.25,smax:1.2e9"
explicit endTime=0.03 dtScale=0.8 largeStrain=on erodingContact=on
Limitaciones. La erosión se admite en HEX8 y TET4 (TET10 y los elementos bidimensionales se rechazan). El contacto erosivo es solo para HEX8, sin rozamiento; el contacto arista con arista no se detecta; para TET4 se rechaza. La erosión elimina masa del modelo únicamente según el criterio, la malla no se reconstruye; el resultado depende del tamaño del elemento. Los parámetros de los criterios se toman de experimentos o de la literatura, el producto no los ajusta. El método da una imagen cualitativamente correcta del descascarillado y de la perforación, pero la precisión cuantitativa de la perforación es peor que la de los problemas homogéneos.
Verificación. Una barra homogénea con deformación finita se rompe con el desplazamiento predicho por la fórmula u_f = L\,[\exp(\varepsilon_{\mathrm{fail}} + \sigma_f/E) - 1], con la primera erosión dentro del 0,5 %; el balance de energía se cierra hasta el 0,11 % (erosión, barra homogénea, 1,46 %). Una barra con entalla se separa en dos partes, una barra libre en tres, con conservación exacta del impulso. La perforación de una placa se ha contrastado de forma aproximada, con un 16–20 %.

9.12Problemas de ondas en dinámica explícitabeta

Propagación de ondas elásticas en el suelo y en un sólido. Fuentes: presión o carga tangencial sobre una cara, fuerza en un nodo, cavidad explosiva con presión según una ley en el tiempo, centro de expansión suave (fuerza de volumen irrotacional, onda P pura). Leyes en el tiempo: pulso de Ricker, exponencial, barrido de frecuencia, armónica, escalón, tabla. Las capas elásticas definen el semiespacio estratificado. Los geófonos virtuales registran el desplazamiento, la velocidad y la aceleración en un nodo o en el nodo más próximo a un punto dado; con ellos se calculan el PPV, el tiempo de llegada y la velocidad de la onda. Los campos \nabla\cdot\mathbf{u} y \lvert\nabla\times\mathbf{u}\rvert se obtienen sobre la malla y en los nodos.

La frontera no reflectante de Lysmer–Kuhlemeyer impone tensiones proporcionales a la velocidad:

\sigma_n = -\rho\,c_p\,v_n, \qquad \tau = -\rho\,c_s\,v_t

La densidad y las velocidades de las ondas se toman del material del elemento contiguo, la normal, de la propia cara, y el amortiguador entra en el paso de forma implícita.

explicit geophone at=0,0,-100 name=g1
explicit layer axis=z at=-300 E=2e9 nu=0.3 density=1800
bc explicit_absorbing surface number 4
Limitaciones. La frontera de Lysmer–Kuhlemeyer es exacta con incidencia normal y empeora con el ángulo: reflexión de las ondas P y S del orden de fracciones de por ciento con incidencia normal, 2,5 % a 30°, 9 % a 45°, 24 % a 60°. Para ondas rasantes hay que alejar la frontera de la fuente. La capa CPML para HEX8 existe como opción, pero en el manual no se declara como verificada. El tamaño del elemento debe resolver la longitud de onda; de lo contrario aparece dispersión numérica.
Verificación. Reflexión en la frontera absorbente con incidencia normal: onda P 0,39 %, onda S 0,4–1,4 % (frontera absorbente de Lysmer–Kuhlemeyer). Velocidades de las ondas P y S en una columna de suelo según los geófonos: velocidades de las ondas en una columna de suelo. Reflexión y transmisión en la frontera entre capas: reflexión en la frontera entre capas. Onda de Rayleigh: velocidad de la onda de Rayleigh (1,3 %). Decaimiento 1/r de una onda esférica: fuente puntual (4,6 %, cercano a la tolerancia).

9.13Nacimiento y muerte de elementos, etapas de construcción y de excavaciónestable

Para la construcción de una estructura por niveles, la excavación de suelo, la apertura de un túnel y la deposición capa a capa, el conjunto de elementos activos cambia de una etapa a otra, las cargas y los apoyos son acumulativos, los desplazamientos y las tensiones se acumulan. Se define una lista de etapas: cada etapa activa cuerpos (nacimiento) y desactiva cuerpos (muerte) en su comienzo.

Método de «elementos blandos»: la malla se conserva completa y el tamaño del sistema no cambia entre etapas. Un elemento inactivo no se elimina; su fuerza interna y su tangente se multiplican por un pequeño factor de blandura s (parámetro stagesoft), la ley es elástica y sin historial, y no se le asignan densidad ni peso. El error del algoritmo es proporcional al factor: error relativo del orden de 0.04\,s. Los nodos que pertenecen solo a elementos inactivos siguen a la parte activa: al comienzo de la etapa su posición se fija según el nodo más próximo de la frontera con el cuerpo activo.

Nacimiento. Al comienzo de la etapa, la configuración de referencia del nuevo elemento se toma igual a la actual: \mathbf{H} = \nabla(\mathbf{u} - \mathbf{u}_{\mathrm{ref}}) = \mathbf{0}, \mathbf{S} = \mathbf{0}, el historial de plasticidad está limpio. El elemento nace sin tensión sobre la configuración deformada, y no sobre la malla original. Muerte. El elemento se vuelve blando, su fuerza residual se anula; la carga que soportaba la estructura la asume de forma gradual junto con el incremento de carga de la etapa.

La carga de la etapa avanza según el parámetro \lambda\in[0,1]:

\mathbf{P}(\lambda) = (1-\lambda)\,\mathbf{b} + \lambda\,\mathbf{f}_{\mathrm{stage}}, \qquad \mathbf{b} = \mathbf{f}_{\mathrm{int}}(\mathbf{u}_0)

donde \mathbf{b} es la fuerza interna del nuevo conjunto de elementos activos en la configuración \mathbf{u}_0 al comienzo de la etapa (en equilibrio por construcción) y \mathbf{f}_{\mathrm{stage}} es la carga total de la etapa. La diferencia \mathbf{f}_{\mathrm{stage}} - \mathbf{b} contiene tanto el incremento de la carga externa como la «fuerza de excavación» de los elementos muertos. Newton y el paso automático son comunes con la estática no lineal. La tolerancia de la etapa se mide respecto a la carga total del modelo. El peso y las fuerzas de volumen se asignan por cuerpos: un cuerpo inactivo no tiene peso.

Los resultados se almacenan por etapas; el comando stage view conmuta la visualización y las mediciones.

nlgeom on pressure=dead
stage add name=L1
stage add name=L2 activate=body2
solve static
stage view 2
Limitaciones. El cálculo es nativo; en el navegador las etapas se rechazan. Solo se admiten sólidos con tetraedros (de primer y segundo orden); las vigas, las láminas, el contacto, las restricciones, la longitud de arco y la trayectoria de carga con etapas se rechazan. La presión es muerta. La carga sobre un nodo que no tiene elementos activos se suspende en la etapa (se informa del número de tales nodos). El coste crece con el número de etapas: ocho etapas en un modelo de 55 mil grados de libertad dieron un aumento del tiempo de 6 a 9 veces respecto a una sola pasada. El factor de blandura lo fija el usuario (intervalo de 10^{-12} a 10^{-2}): uno demasiado pequeño empeora el condicionamiento, uno demasiado grande introduce error.
Verificación. Una etapa con el conjunto completo de cuerpos coincide con la estática ordinaria bit a bit (una etapa). Construcción de una columna por capas bajo peso propio: desviación de la forma cerrada no superior al 0,12 % en cada una de las cuatro etapas (construcción de la columna). Excavación con rebote elástico: hasta el 0,17 % (excavación, rebote). Un cuerpo nacido sobre una estructura cargada no soporta nada (nacimiento sin tensión); un cálculo ordinario da un asentamiento un 18 % mayor. Plasticidad: solo fluye el cuerpo nacido más tarde (plasticidad y nacimiento).

La temperatura transitoria puede cargar la estructura en dinámica. El acoplamiento es unidireccional: el paso de conducción de calor da T_{n+1} y la carga térmica \mathbf{f}_{\mathrm{th}}(T_{n+1}) entra en la mecánica; no hay influencia inversa de la deformación sobre la temperatura (término de Gough–Joule). Dos modos: cuasiestática (en cada paso térmico \mathbf{K}\mathbf{u} = \mathbf{f}_{\mathrm{ext}} + \mathbf{f}_{\mathrm{th}}(T), sin inercia) y dinámica, el mismo integrador Newmark/HHT que en la dinámica implícita, con la carga térmica en el lado derecho; HHT toma (1+\alpha)\mathbf{f}_{\mathrm{th}}(T_{n+1}) - \alpha\mathbf{f}_{\mathrm{th}}(T_n). Un paso térmico corresponde a un número dado de pasos mecánicos. La formulación de la conducción de calor transitoria se encuentra en la sección Transferencia de calor y multifísica.

Limitaciones. Acoplamiento unidireccional: el calor generado por el trabajo plástico en la dinámica implícita no se devuelve a la temperatura. El contacto y la radiación se rechazan en la formulación acoplada. La plasticidad con calentamiento se calcula solo de forma nativa.
Verificación. Onda de Danilovskaya: la velocidad del frente se desvía en un 0,3 % (núcleo) y un 2 % (producto con TET10); el perfil de tensiones converge al refinar la malla (onda de Danilovskaya, 1,7 %). El modo cuasiestático sin inercia coincide con la termoelasticidad estática hasta 10^{-13} en desplazamientos.

9.15Cancelación del cálculobeta

El botón «Cancelar» en el paso Solve activa el indicador de cancelación del solver nativo e interrumpe la espera del resultado. Qué se detiene exactamente depende del cálculo.

El indicador se consulta: en el ciclo de la dinámica explícita en cada paso (el cálculo devuelve un resultado parcial con el estado «cancelado»), en la conducción de calor transitoria tras cada paso (fotogramas parciales), en los pasos de carga del contacto mortar. En el ciclo de Newton de la estática no lineal, en la dinámica implícita y en el cálculo por etapas no hay punto de consulta: la interfaz muestra la cancelación de inmediato, pero el núcleo puede llegar hasta el final de la llamada en curso.

Limitaciones. Para cálculos estáticos no lineales y dinámicos implícitos largos, la parada anticipada del núcleo no está garantizada. Si el cálculo puede tardar mucho, acótelo de antemano: número de pasos, tope del número total de pasos, tiempo final.

9.16Honestidad del indicador «convergió»estable

Un cálculo no lineal que muestra un resultado haciéndolo pasar por solución es peor que uno que se rechaza. En el producto se ha adoptado lo siguiente.

Para el control por carga, el cálculo se considera convergido solo si se ha alcanzado \lambda = 1 (o el último objetivo de la trayectoria de carga) y el último paso ha convergido según el residuo. Un paso automático agotado, el tope del número de pasos, una tangente degenerada, valores no numéricos: rechazo con el código de la causa, el \lambda alcanzado y el número de pasos, y no el último paso haciéndose pasar por resultado. En la interfaz, el estado se muestra como «Convergió: alcanzado \lambda = 1» o «No convergió: causa». Comprobación: un problema sin equilibrio devuelve converged = false y \lambda < 1.

El progreso parcial no se enmascara: el usuario ve el número de pasos aceptados, de reversiones y de iteraciones. Para la plasticidad perfecta, la carga límite es un resultado explícito aparte, marcado como fracción límite de carga. Un elemento invertido (con jacobiano no positivo) se considera no numérico y reduce el paso: un cálculo con una presión superior a la límite no devuelve una solución «convergida» con volumen negativo. Los resultados nativos se comprueban en cuanto a su completitud: un binario antiguo que no conoce la plasticidad o la trayectoria de carga se rechaza con la petición de actualizar la aplicación, y no devuelve una respuesta elástica.

Limitaciones. El método de longitud de arco puede terminar el cálculo en el punto alcanzado de la trayectoria si la subdivisión del paso se ha agotado tras varios pasos recorridos; el indicador de convergencia permanece verdadero, aunque \lambda puede ser menor que 1. Compare el \lambda alcanzado con la unidad: para el método de longitud de arco es el único indicador fiable de que se ha alcanzado la carga indicada. En la interfaz se muestra junto con el estado.

10Transferencia de calor y multifísica

↑ Volver al índice

Esta sección describe los problemas térmicos (conducción de calor, radiación, contacto térmico), la termoelasticidad, el flujo de un fluido o gas alrededor de un cuerpo (CFD) y la acústica de cavidades. Los módulos difieren en madurez: la conducción de calor y la termoelasticidad se calculan tanto en el escritorio como en el navegador, el CFD solo en el escritorio; la acústica y el efecto Gough–Joule son por ahora experimentales. El estado de cada apartado figura en su encabezado y las limitaciones se han separado en recuadros aparte.

Unidades de entrada y de salida: geometría en mm, tiempo en segundos, temperatura en °C (en las fórmulas de radiación el núcleo la convierte por sí mismo a kelvin), conductividad térmica \kappa en W/(m·K), capacidad calorífica c_p en J/(kg·K), densidad en kg/m³, densidad de flujo de calor en W/m², coeficiente de transferencia de calor por convección h en W/(m²·K), generación volumétrica de calor Q en W/m³, coeficiente de dilatación térmica \alpha en 1/K. En la frontera del solver, el SI.

La compilación de escritorio calcula con el núcleo nativo; la de navegador, con el mismo código en WebAssembly. Se toma como referencia el escritorio. En los problemas verificados (calor no lineal, dinámica termoelástica acoplada), los números de las dos plataformas coinciden hasta las cifras impresas. El CFD solo está disponible en el escritorio.

10.1Conducción de calor estacionariabeta

El problema estacionario da el campo de temperatura establecido con temperaturas, flujos, convección y generación volumétrica de calor dados. Se aplica para estimar los gradientes de temperatura en las piezas, la potencia de disipación de calor y como primer paso de la termoelasticidad acoplada.

Formulación

Ecuación de Fourier para un material isótropo en el dominio \Omega:

-\nabla\cdot(\kappa\,\nabla T)=Q \quad\text{in }\Omega

Condiciones de contorno en partes de la frontera que no se intersecan (normal \mathbf n exterior):

  • temperatura: T=T_D;
  • flujo, positivo hacia el interior del cuerpo: \kappa\,\partial_n T=q;
  • convección: -\kappa\,\partial_n T=h\,(T-T_\infty);
  • radiación al medio: -\kappa\,\partial_n T=\varepsilon\sigma\,(T_K^4-T_{\infty K}^4); véase la conducción de calor no lineal.

Forma débil para el caso lineal (sin radiación): hallar T, igual a T_D en la frontera con temperatura impuesta, tal que para cualquier función de prueba w

\int_\Omega \kappa\,\nabla T\cdot\nabla w\,dV+\int_{\Gamma_h} h\,T\,w\,dA=\int_\Omega Q\,w\,dV+\int_{\Gamma_q} q\,w\,dA+\int_{\Gamma_h} h\,T_\infty\,w\,dA

La discretización da un sistema simétrico definido positivo \mathbf K\,\mathbf T=\mathbf F con la matriz K_{ij}=\int_\Omega\kappa\,\nabla N_i\cdot\nabla N_j\,dV+\int_{\Gamma_h}h\,N_iN_j\,dA y el vector F_i=\int_\Omega Q\,N_i\,dV+\int_{\Gamma_q}q\,N_i\,dA+\int_{\Gamma_h}h\,T_\infty N_i\,dA.

Qué define el usuario y qué obtiene

El usuario define la \kappa del material (por separado para cada cuerpo), las temperaturas, los flujos y los coeficientes de convección en las caras por números de superficie, y la generación volumétrica de calor Q para todo el cuerpo o para un cuerpo elegido. Resultado: el campo de temperatura en los nodos, el mínimo y el máximo y el balance de potencia en vatios:

P_Q+P_q=P_D+P_h+P_r

A la izquierda, la generación de calor y el flujo entrante; a la derecha, la disipación de calor a través de las caras con temperatura impuesta (según las reacciones), la convección y la radiación. La discrepancia del balance muestra si las condiciones de contorno son coherentes con la matriz.

Cómo está implementado

Los elementos son tetraedros lineales y cuadráticos (tipos de 4 y 10 nodos). El núcleo admite también hexaedros de 8/20/27 nodos, cuña y pirámide. Las caras de contorno son triángulos y cuadriláteros de primer y segundo orden. La matriz es dispersa: los sistemas pequeños se resuelven por factorización directa LDL^T y los grandes, por el método de gradientes conjugados con un precondicionador de Cholesky incompleto. Sin una temperatura fijada o una convección en al menos una cara, el problema es degenerado (la temperatura queda definida salvo una constante) y el cálculo se rechaza con una explicación.

Limitaciones. La conducción de calor es isótropa y escalar. La radiación es solo hacia un medio con temperatura dada, sin radiación entre las superficies de una cavidad (los factores de visión no están conectados al cálculo). La convección es con h constante, sin dependencia de la temperatura. Una malla con capas límite prismáticas se rechaza para el problema térmico. La interfaz no prevé elegir una malla hexaédrica para el cálculo térmico: las entradas del producto generan tetraedros.
Verificación. En la lista de verificación no hay un caso aparte para el problema lineal estacionario. El núcleo lineal se ha comprobado en pruebas con la solución cerrada de una barra con generación de calor, T_{\max}-T_0=QL^2/(2\kappa): el error en los elementos cuadráticos no supera 4\cdot10^{-14} en términos relativos, y en el tetraedro lineal es del 0,33 %. El mismo ensamblador funciona en los casos no lineales: NAFEMS T2, conducción de calor con κ(T), contacto térmico. El estado es beta porque el núcleo se reescribió después de la versión 0.2.1 (solvers dispersos, elementos cuadráticos, generación de calor).

Interfaz: el análisis térmico en la cinta, las condiciones de contorno térmicas («Flujo de calor», «Generación volumétrica de calor») en el paso de condiciones de contorno; el resultado es el campo «Temperatura» y el balance de potencia.

material preset=steel kappa=40
thermal surface number 1 temperature=100
thermal surface number 2 convection=25 ambient=20
load heat_generation=2e6
solve thermal

10.2Conducción de calor transitoriabeta

El cálculo transitorio da la evolución de la temperatura bajo cargas que varían en el tiempo: calentamiento y enfriamiento, choque térmico, regímenes cíclicos. Es necesario cuando importa la inercia térmica de la pieza y no solo el régimen establecido.

Formulación

\rho c_p\,\dot T-\nabla\cdot(\kappa\,\nabla T)=Q \quad\Rightarrow\quad \mathbf C\,\dot{\mathbf T}+\mathbf K\,\mathbf T=\mathbf F(t)

La matriz de capacidad calorífica C_{ij}=\int_\Omega\rho c_p\,N_iN_j\,dV es consistente o diagonal HRZ (Hinton, Rock, Zienkiewicz, 1976): la diagonal de la matriz consistente, escalada en el elemento de modo que la suma sea igual a \int\rho c_p\,dV. La matriz diagonal elimina las oscilaciones en un frente brusco, pero solo se admite para elementos lineales.

Integración en el tiempo: método \theta:

\left(\tfrac{1}{\Delta t}\mathbf C+\theta\mathbf K\right)\mathbf T_{n+1}=\left(\tfrac{1}{\Delta t}\mathbf C-(1-\theta)\mathbf K\right)\mathbf T_n+\theta\,\mathbf F_{n+1}+(1-\theta)\,\mathbf F_n,\qquad \tfrac12\le\theta\le1

Para \theta=1 el esquema es Euler implícito: primer orden, L-estable, monótono. Para \theta=\tfrac12 es Crank–Nicolson: segundo orden, A-estable, pero con un salto de carga da oscilaciones amortiguadas; es una propiedad del esquema. La matriz del paso es constante, por lo que se factoriza una sola vez. El paso se ajusta al tiempo final: \Delta t_{\text{used}}=t_{\text{end}}/\lceil t_{\text{end}}/\Delta t\rceil. También es posible un programa de pasos no uniforme definido por el usuario.

Qué define el usuario

Son obligatorios el paso \Delta t, el tiempo final y la temperatura inicial: el producto no adivina el estado inicial. Adicionalmente, la densidad y la c_p del material, el esquema \theta y el tipo de capacidad calorífica, las sondas (puntos en mm, que se asocian al nodo más próximo) y el número de fotogramas del campo que se guardan. Cada canal de carga se multiplica por una tabla lineal por tramos del tiempo k(t): temperatura T_D(t)=T_D\,k_T(t), flujo, coeficiente de convección, temperatura del medio, generación de calor. Fuera de la tabla el factor es constante. La temperatura en los nodos con valor impuesto en el instante t=0 es igual a T_D(0), por lo que un salto de la pared en t=0 no crea un impulso en el primer paso.

Balance de energía

La suma de las filas de la ecuación del paso da una identidad exacta

\mathbf 1^T\mathbf C\,(\mathbf T_{n+1}-\mathbf T_n)=\Delta t\,\left[\theta\,P_{n+1}+(1-\theta)\,P_n\right]

donde P es la potencia total de generación de calor, de flujo y de reacciones con temperatura impuesta, menos la convección y la radiación. El producto muestra el residuo de esta identidad y la integral independiente de la energía acumulada \int\rho c_p\,\Delta T\,dV. Un residuo del orden de la precisión de máquina significa que las reacciones, la convección y las fuentes se han ensamblado de forma coherente con la matriz.

Limitaciones. La conducción de calor es isótropa; \rho y c_p no dependen de la temperatura. No hay un coeficiente h dependiente de la temperatura ni transiciones de fase. La capacidad calorífica diagonal en elementos cuadráticos (tetraedro de 10 nodos, hexaedro de 20/27) se rechaza. En el navegador, los problemas muy grandes se rechazan con la recomendación de pasar al escritorio.
Verificación. NAFEMS T3: 36,584 °C frente a 36,6 °C (0,045 %), residuo del balance 1.4\cdot10^{-14}. Cuerpo semiinfinito, erfc: 0,316 %. Balance de energía con cargas variables: residuo 2\cdot10^{-14}, contraste de la sonda con la media sobre la sección, 1,13 %. Los tres casos son con tetraedros cuadráticos, nativo.

Interfaz: en el paso de cálculo, el conmutador «Estacionario / transitorio», los campos del paso, del tiempo, del esquema y de las tablas k(t).

material preset=steel kappa=40 specific_heat=460
thermal surface number 1 temperature=120
solve thermal transient dt=0.1 tend=16 t0=20 theta=0.5 probes="10,0,0;20,0,0"

10.3Conducción de calor no lineal: κ(T) y radiaciónbeta

El modo no lineal se activa automáticamente si en el modelo hay una frontera con radiación o una tabla \kappa(T). Se aplica a regímenes de alta temperatura: enfriamiento de una pieza caliente, disipación de calor por radiación, materiales con fuerte dependencia de la conductividad respecto a la temperatura.

Formulación

Radiación de una superficie al medio según la ley de Stefan–Boltzmann:

q_r=\varepsilon\,\sigma\,\left(T_K^4-T_{\infty K}^4\right),\qquad T_K=T+273.15,\qquad \sigma=5.670374419\cdot10^{-8}

aquí \sigma está en W/(m²·K⁴) y \varepsilon es la emisividad.

La dependencia \kappa(T) es una tabla lineal por tramos de pares «temperatura : conductividad»; fuera de la tabla se toma el valor del punto extremo. Residuo y matriz tangente del problema estacionario:

\mathbf R(\mathbf T)=\mathbf K(\mathbf T)\,\mathbf T-\mathbf F+\mathbf F_r(\mathbf T),\qquad J_{ij}=\int_\Omega\left(\kappa\,\nabla N_j\cdot\nabla N_i+\kappa'\,N_j\,\nabla T\cdot\nabla N_i\right)dV+\int_{\Gamma_r}4\varepsilon\sigma\,T_K^3\,N_iN_j\,dA

La tangente es completa y no simétrica (a causa de \kappa'), por lo que el orden de convergencia del método de Newton–Raphson es cuadrático. En el cálculo transitorio, en cada paso del método \theta se resuelve la ecuación no lineal

\tfrac{1}{\Delta t}\mathbf C\,(\mathbf T-\mathbf T_n)+\theta\,\mathbf F_{\text{int}}(\mathbf T)+(1-\theta)\,\mathbf F_{\text{int}}(\mathbf T_n)-\theta\,\mathbf F_{n+1}-(1-\theta)\,\mathbf F_n=0

con el jacobiano \tfrac{1}{\Delta t}\mathbf C+\theta\,\mathbf J_{\text{int}}. El paso de Newton se amortigua según la norma del residuo; el criterio de convergencia es el residuo relativo teniendo en cuenta el nivel de redondeo.

Qué define el usuario y qué obtiene

Radiación: emisividad \varepsilon\in(0,1] y temperatura del medio en °C. La tabla \kappa(T) son pares «°C : W/(m·K)», con temperaturas estrictamente crecientes y \kappa>0. El resultado se complementa con el número de iteraciones de Newton, el historial del residuo y la potencia de radiación en el balance. Si el método no ha convergido, la temperatura no se entrega: el cálculo se rechaza, y no ofrece una aproximación.

Limitaciones. Una sola tabla \kappa(T) por modelo. La emisividad y h son constantes. La radiación es solo hacia el medio, sin intercambio entre superficies. \rho y c_p no dependen de la temperatura. La vía principal para definir la radiación y \kappa(T) es el DSL; en la interfaz no hay un formulario de entrada de la tabla \kappa(T).
Verificación. NAFEMS T2: temperatura de la cara que radia 927,004 K frente a 927 K, tres iteraciones de Newton. κ(T) frente a la transformación de Kirchhoff: 58,1139 °C, coincidencia hasta 4 decimales. Enfriamiento radiativo transitorio: 695,581 °C frente a 695,576 °C de la integral de la EDO (0,0008 %). Todos los casos con tetraedros lineales, nativo; la web da las mismas cifras.
material preset=steel kappa_table="0:20,400:60" specific_heat=460
thermal surface number 2 radiation=0.85 ambient=20
solve thermal transient dt=5 tend=600 t0=900 theta=0.5

10.4Contacto térmico en una juntabeta

El contacto térmico modela la resistencia térmica entre dos cuerpos separados de un ensamblaje: el flujo a través de la junta es proporcional al salto de temperatura. Es necesario para uniones atornilladas y prensadas, juntas y superficies de contacto. El contacto mecánico se describe en la sección Contacto; el térmico no depende de él y no influye en la mecánica.

Formulación

q_c=h_c\,(T_A-T_B),\qquad \Pi_c=\tfrac12\,h_c\int_{\Gamma_s}(T_s-T_m)^2\,dA

Un cuerpo del par es el esclavo (slave, el primero en el comando) y el otro, el maestro (master). En los puntos de Gauss de las caras esclavas se halla la proyección sobre la superficie maestra; un punto se cuenta como junta si la distancia a la cara maestra no es mayor que la tolerancia, las normales son casi antiparalelas y el huelgo está dirigido a lo largo de la normal. Las demás caras de los cuerpos permanecen adiabáticas. La contribución a la matriz \mathbf K_c=\sum h_c\,w\,\boldsymbol\varphi\boldsymbol\varphi^T, donde \boldsymbol\varphi=[N_s;\,-N_m], es simétrica y semidefinida: la junta por sí misma no crea ni se lleva calor. El método es de colocación en los puntos esclavos, sin multiplicadores mortar. Como la contribución es lineal, el contacto por sí solo no activa Newton.

Qué define el usuario y qué obtiene

Conductancia de la junta h_c en W/(m²·K) y tolerancia del huelgo en mm (por defecto, un cuarto del tamaño medio de la cara). Resultado: potencia a través de la junta, área de las superficies acopladas, número de puntos acoplados, salto medio de temperatura. Si h_c\le0, no se encuentra la junta dentro de la tolerancia o los cuerpos están pegados por nodos comunes, el cálculo se rechaza: la junta ni se aísla en silencio ni se hace ideal en silencio.

Limitaciones. h_c es constante, sin dependencia de la presión, del huelgo ni de la temperatura. El calor generado por rozamiento en el contacto no se calcula. En mallas no conformes, la colocación no pasa el patch test: desviación de hasta el 0,4 % del gradiente de temperatura; como esclavo debe asignarse el lado más fino. Los cuerpos deben estar separados: un ensamblaje pegado no tiene junta.
Verificación. Resistencia térmica de contacto: salto en la junta 60,000 K, potencia 6,0000 W, puntos medios de los cuerpos 90,000 y 10,000 °C (desviación 0,0003 %). En mallas no conformes, el salto difiere en no más del 0,07 %. Un caso, nativo.
contact body1 body2 thermal hc=1000
thermal surface number 5 temperature=100
thermal surface number 32 temperature=0
solve thermal

10.5Termoelasticidad (unidireccional, estática)beta

Termoelasticidad unidireccional: la temperatura influye en el estado tensodeformacional, no hay influencia inversa de la deformación sobre la temperatura. Se aplica a las tensiones térmicas en piezas con un campo de temperatura conocido o calculado.

Formulación

La deformación térmica es isótropa: \boldsymbol\varepsilon_{th}=\alpha\,\Delta T\,\mathbf I, \Delta T=T-T_{\text{ref}}, donde T_{\text{ref}} es la temperatura libre de tensiones. La tensión se determina por la parte mecánica de la deformación:

\boldsymbol\sigma=\mathbb C\,(\boldsymbol\varepsilon-\boldsymbol\varepsilon_{th}),\qquad \mathbf f_{th}=\int_\Omega\mathbf B^T\,\mathbb C\,\boldsymbol\varepsilon_{th}\,dV

Cuerpos sólidos

Para un material isótropo \mathbb C\,\boldsymbol\varepsilon_{th}=c_0\,(1,1,1,0,0,0)^T, donde

c_0=\frac{E\,\alpha\,\Delta T}{1-2\nu},\qquad F_i=\int_\Omega c_0\,\nabla N_i\,dV

Las fuerzas nodales se ensamblan para los siete tipos de elementos sólidos. Para el tetraedro cuadrático, la carga se integra con una cuadratura más precisa que la rigidez (27 puntos): el integrando contiene el producto del gradiente de la forma y el campo cuadrático \Delta T. Las tensiones se recuperan a partir de la deformación total, por lo que en el posprocesador se les resta la parte esférica c_0\,\mathbf I. Fuente de \Delta T: un valor uniforme definido por el usuario o el campo nodal de un cálculo térmico estacionario (termoelasticidad acoplada).

Vigas y pórticos

Se define un \Delta T uniforme y los gradientes de temperatura entre las caras de la sección \Delta T_y, \Delta T_z. Temperatura de la sección T(y,z)=T_{\text{ref}}+\Delta T+g_y\,y+g_z\,z, g_y=\Delta T_y/h_y. Fuerzas nodales equivalentes: la axial N_T=E\,A\,\alpha\,\Delta T y las de flexión M_{T,z}=E\,I_z\,\alpha\,g_y y M_{T,y}=E\,I_y\,\alpha\,g_z. Las mismas magnitudes se restan de los esfuerzos internos. No hay esfuerzos cortantes ni torsión por calentamiento.

Láminas

Para una lámina isótropa en estado plano de tensiones, c_0=E\,\alpha\,\Delta T/(1-\nu) (no 1-2\nu: la tercera dirección no está coartada). Para una lámina laminada (MITC4), los esfuerzos y momentos térmicos se calculan por capas:

\mathbf N_T=\sum_k \bar{\mathbb Q}_k\,\bar{\boldsymbol\alpha}_k\int_{z_k}\Delta T\,dz,\qquad \mathbf M_T=\sum_k \bar{\mathbb Q}_k\,\bar{\boldsymbol\alpha}_k\int_{z_k}\Delta T\,z\,dz,\qquad \mathbf f=\int_A\left(\mathbf B_m^T\mathbf N_T+\mathbf B_b^T\mathbf M_T\right)dA

Aquí \bar{\mathbb Q}_k es la rigidez reducida de la capa en los ejes del elemento, \bar{\boldsymbol\alpha}_k=(\alpha_1c^2+\alpha_2s^2,\ \alpha_1s^2+\alpha_2c^2,\ 2(\alpha_1-\alpha_2)\,sc)^T son los coeficientes de dilatación de la capa girados el ángulo de apilado (cortante de ingeniería), z se mide desde la superficie de referencia y el signo de la parte de flexión lo determina el sentido de curvatura adoptado. La temperatura a través del espesor es lineal: se definen \Delta T en el plano medio y la diferencia «superior menos inferior». Las tensiones de las capas se calculan a partir de la deformación mecánica \boldsymbol\varepsilon-\bar{\boldsymbol\alpha}_k\,\Delta T(z).

Qué define el usuario

El coeficiente \alpha del material y el calentamiento: un \Delta T uniforme (en DSL, deltaT=) o el campo de temperatura de un cálculo térmico (solo para sólidos). Para una viga, dt, dty, dtz; para una lámina, shell_temperature dt=… gradient=… o temperature=… reference=… (temperatura libre de tensiones). El modo nulo no se considera una carga y en él no se requiere \alpha; con un \Delta T no nulo sin \alpha, el cálculo se rechaza de forma explícita.

Limitaciones. Pequeñas deformaciones; E, \nu, \alpha son constantes (la dependencia de la temperatura no se tiene en cuenta en esta formulación). Para sólidos, \alpha es isótropo. La carga térmica de láminas y vigas se define mediante un valor de \Delta T y no se toma de un cálculo térmico. La lámina triangular DKT admite solo un \Delta T uniforme: para un gradiente a través del espesor se necesita un elemento cuadrilátero. El análisis modal de láminas con calentamiento no tiene en cuenta la tensión previa térmica (el cálculo emite una advertencia); la estabilidad de láminas con calentamiento se rechaza. El calentamiento junto con la no linealidad geométrica (nlgeom) no está admitido.
Verificación. Casos afines de la sección de termomecánica: barra restringida (−240 MPa, coincidencia exacta) y barras paralelas (57,037 MPa); ambos se obtuvieron en la plataforma web. La estática de sólidos con deformación térmica la comprueba también la barra empotrada axialmente (-192.000 MPa =-E\alpha\,\Delta T con \Delta T=80 K), que se calcula con el solver dinámico acoplado. En las pruebas del núcleo: una viga empotrada da N=-EA\alpha\,\Delta T con una precisión de 10^{-13}, un voladizo con gradiente a través de la sección, una flecha -\alpha\,g\,L^2/2 con ambos signos y ejes, una placa plana empotrada, -E\alpha\,\Delta T/(1-\nu), igual para las divisiones cuadrilátera y triangular. Estado beta: la corrección de tensiones para elementos cuadráticos y los canales de vigas y de lámina laminada se añadieron después de la versión 0.2.1.

Interfaz: el tipo de análisis «Termoelasticidad» (campos \Delta T y \alpha), «Termoelasticidad acoplada» en el paso de cálculo (calor → tensiones); para vigas y láminas, campos de temperatura en sus paneles.

material preset=steel
fix surface number 1
solve thermoelastic deltaT=80

10.6Dinámica termoelástica acopladabeta

Cálculo transitorio «temperatura → desplazamientos»: el campo térmico cambia con el tiempo y la mecánica responde teniendo en cuenta la inercia. Se aplica al choque térmico, a calentamientos rápidos y a ondas termoelásticas, donde la aproximación cuasiestática es inadmisible.

Qué significa aquí «acoplada»

El acoplamiento es unidireccional: la temperatura T(t) influye en los desplazamientos \mathbf u(t), y en el cálculo del producto no hay influencia inversa (calentamiento por deformación). El nombre se hereda de la formulación «calor y mecánica en la misma malla en un mismo paso». Para el acero, la intensidad adimensional de la retroalimentación

\delta=\frac{\beta^2\,T_{\text{ref}}}{\rho c_p\,(\lambda+2\mu)},\qquad \beta=\frac{E\,\alpha}{1-2\nu}

es de alrededor del 1 %. Para procesos rápidos (impacto, ultrasonido) esta corrección puede ser significativa; véase Gough–Joule.

Formulación

\mathbf C\,\dot{\mathbf T}+\mathbf K\,\mathbf T=\mathbf F(t),\qquad \mathbf M\ddot{\mathbf u}+\mathbf C_d\,\dot{\mathbf u}+\mathbf f_{\text{int}}(\mathbf u)=\mathbf f_{\text{ext}}(t)+\mathbf G\,(\mathbf T-T_{\text{ref}})

El operador de carga térmica \mathbf G se ensambla una sola vez con la misma integral que en la estática, F_i=\int c_0\,\nabla N_i\,dV, y en el paso se reduce a multiplicar una matriz por un vector. El orden en el paso es «calor, después mecánica» (desacoplamiento isotérmico de Armero–Simo, 1992): primero el paso \theta de calor da T_{n+1} y después la carga térmica \mathbf f_{th}(T_{n+1}) entra en el lado derecho del paso de mecánica. Para HHT-α el integrador toma (1+\alpha)\,\mathbf f_{th}(T_{n+1})-\alpha\,\mathbf f_{th}(T_n). Con acoplamiento unidireccional el esquema es incondicionalmente estable y el orden es igual al menor de los órdenes de los esquemas de calor y de mecánica.

Dos modos:

  • Cuasiestática sin inercia: en cada paso térmico se resuelve \mathbf K_s\,\mathbf u=\mathbf f_{\text{ext}}+\mathbf f_{th}; el problema lineal se factoriza una sola vez. Se admite un material elastoplástico J2 (solo en el escritorio).
  • Dinámica: integración de Newmark o HHT-α, y el paso térmico equivale a varios pasos mecánicos.

En la parte térmica se pueden usar la radiación y la \kappa(T) de la conducción de calor no lineal.

Qué define el usuario y qué obtiene

El paso, el tiempo final y la temperatura inicial son obligatorios; temperatura libre de tensiones, esquema de calor \theta, esquema de mecánica, amortiguamiento de Rayleigh, tablas k(t) de las cargas térmicas y mecánicas, sondas. Resultado: campos de temperatura y de desplazamientos por fotogramas, series de T, \mathbf u, \dot{\mathbf u} en las sondas, tensor de tensiones con la deformación térmica restada, tensiones equivalentes, envolvente, energías, balance de calor.

Limitaciones. Pequeñas deformaciones; la no linealidad geométrica, el contacto, las restricciones rígidas y la aceleración de apoyo no están admitidos. Vigas y láminas: rechazo (no existe su dinámica termoelástica). Elementos: tetraedros de 4/10 nodos y hexaedros de 8/20 nodos. El paso térmico es constante. La elastoplasticidad con calentamiento es solo cuasiestática, nativa; un \Delta T\ne0 inicial junto con plasticidad se rechaza. No hay formulario en la interfaz: el cálculo se lanza desde el DSL. Las soluciones de referencia de Danilovskaya y de Boley–Barber las han deducido los desarrolladores para la misma formulación continua; no se ha realizado el contraste con los textos de las publicaciones.
Verificación. Barra empotrada axialmente: -192.000 MPa =-E\alpha\,\Delta T, energía cinética al nivel del cero de máquina. Onda de Danilovskaya: velocidad del frente y perfil de tensión, 1,72 %. Boley–Barber: pico de flecha del voladizo 4,6504 µm frente a 4,6297 µm de la solución modal, 0,447 %. Cuasiestática frente a dinámica: 0,567 % con calentamiento lento, 45,9 % de diferencia con calentamiento rápido (control de sensibilidad). Radiación y κ(T) en la dinámica acoplada: coincidencia con el cálculo térmico por separado (discrepancia máxima de T nula), 0,0008 %. Nativo; la web coincide hasta las cifras impresas.
solve thermoelastic transient mode=dynamic dt=1e-6 tend=2e-4 t0=20 tref=20 scheme=hht alpha=-0.2

10.7Efecto Gough–Jouleexperimental

Canal inverso del acoplamiento termoelástico «deformación → temperatura»: en una compresión rápida el cuerpo se calienta, en tracción se enfría. El efecto se incluye como una fuente volumétrica en la ecuación del calor.

Qué está implementado

\rho c_p\,\dot T=\nabla\cdot(\kappa\,\nabla T)+Q-T_{\text{ref}}\,\beta\,\operatorname{tr}\dot{\boldsymbol\varepsilon},\qquad \beta=\frac{E\,\alpha}{1-2\nu}

Para una carga adiabática se deduce de aquí \Delta T=-\dfrac{T_{\text{ref}}\,\beta}{\rho c_p}\,\operatorname{tr}\boldsymbol\varepsilon (Kelvin, 1853; Biot, 1956). El esquema es con retardo de un paso: tras el paso mecánico se ensambla la potencia nodal y se incorpora al lado derecho del siguiente paso térmico. Funciona solo en el modo cuasiestático; la dinámica con el efecto se rechaza.

Aclaración terminológica. En la literatura, el «efecto Gough–Joule» es la elasticidad entrópica de los elastómeros: el caucho estirado se calienta y, al calentarse, se contrae. Aquí se ha implementado el efecto termoelástico lineal (piezocalórico) de Kelvin para un cuerpo linealmente elástico compresible. El modelo de elasticidad entrópica del caucho, acoplado con las leyes hiperelásticas, no está implementado.

Limitaciones. El módulo no está conectado al cálculo del producto: el efecto no puede activarse ni desde la interfaz ni desde el DSL. Existe como un núcleo aparte con aceptación autónoma. No se han tenido en cuenta la disipación del flujo plástico como canal aparte, la dinámica ni la no linealidad geométrica. En una tracción uniaxial libre \operatorname{tr}\dot{\boldsymbol\varepsilon}\approx0 y no hay calentamiento; es lo esperado.
Verificación. El caso «calentamiento adiabático por compresión» en un banco autónomo confirma el signo (la compresión calienta) y la linealidad respecto a la carga: duplicar la fuerza duplica \Delta T, mientras que el trabajo elástico se cuadruplica. El valor absoluto de \Delta T en el caso no se contrastó con la fórmula del calentamiento adiabático: en el problema de aceptación una cara se mantiene a T_{\text{ref}} y hay disipación de calor. Por eso el estado es experimental.

10.8CFD: flujo incompresible (SU2)estable

El CFD calcula el flujo estacionario de un fluido o gas alrededor de un cuerpo o dentro de un canal: campos de velocidad y de presión, fuerzas en las paredes, pérdidas de presión, caudal. El cálculo se realiza en el solver externo SU2 (Stanford University Unstructured, código abierto, licencia LGPL-2.1) en la aplicación de escritorio; en el navegador el CFD no está disponible.

Qué ecuaciones se resuelven

Ecuaciones de Navier–Stokes incompresibles (densidad y viscosidad constantes):

\nabla\cdot\mathbf u=0,\qquad \rho\left(\partial_t\mathbf u+\mathbf u\cdot\nabla\mathbf u\right)=-\nabla p+\nabla\cdot\left[(\mu+\mu_t)\left(\nabla\mathbf u+\nabla\mathbf u^T\right)\right]

En régimen laminar \mu_t=0. En los regímenes turbulentos, ecuaciones promediadas de Reynolds (RANS) con viscosidad turbulenta \mu_t del modelo Menter k–\omega SST (1994) o de Spalart–Allmaras (1992). No se usan las ecuaciones de Euler (no viscosas) ni las compresibles. La energía no se resuelve: el flujo es isotermo y no hay empuje de Arquímedes.

El método son volúmenes finitos centrados en vértices sobre la malla dual de los tetraedros originales (Economon et al., AIAA J., 2016). Los flujos convectivos usan separación de diferencias de flujo (FDS) con segundo orden según el esquema MUSCL y el limitador de Venkatakrishnan; las magnitudes turbulentas, un esquema contracorriente. El establecimiento es Euler implícito en pseudotiempo con un número de Courant adaptativo y, si es necesario, con multimalla geométrica.

Qué define el usuario y qué obtiene

Medio: aire, agua, aceite o queroseno (la densidad y la viscosidad se ajustan en los materiales). Condiciones de contorno por números de superficie: entrada con velocidad (magnitud, dirección, intensidad de turbulencia), salida con presión manométrica, pared con adherencia (con monitorización opcional de fuerzas), pared con deslizamiento, plano de simetría. Las caras sin marcar se convierten en pared con adherencia, sin monitorización de fuerzas; la lista de tales caras se emite en las advertencias. Para los cálculos turbulentos se necesitan capas prismáticas de malla junto a las paredes (y⁺ del orden de la unidad): los modelos se integran hasta la pared.

El criterio de parada lo define el usuario: máximo de iteraciones y tolerancia. Si hay una pared con monitorización de fuerzas, la convergencia se determina por la estabilización del coeficiente de fuerza (criterio de Cauchy); para flujos internos, por la caída relativa del residuo de presión.

Resultados en el SI: campos de velocidad y de presión, vorticidad, criterio Q, C_p, tensión tangencial en la pared, y^+, coeficientes C_d, C_l y fuerzas (con área y longitud de referencia dadas), diferencia de presión entre entradas y salidas, caudales másicos, historial de residuos. Posprocesador: cortes, líneas de corriente, isosuperficies, partículas.

Relación con el resto del producto

El CFD usa la misma geometría, el mismo registro de numeración de superficies y el mismo visor. El cálculo es unidireccional y aislado: no hay transferencia de presión al cálculo de resistencia ni acoplamiento térmico (CHT); las fuerzas y las presiones las transfiere usted manualmente.

Limitaciones. Solo formulación incompresible. Para números de Mach superiores a aproximadamente 0,3 no se tiene en cuenta la influencia de la compresibilidad, por lo que los resultados de toberas y de flujos de alta velocidad (véanse los casos del motor cohete de combustible líquido, Aerospike y aleta reticular) deben considerarse una estimación del modelo incompresible, y no un cálculo de gasdinámica. No hay energía, transferencia de calor, flotabilidad, superficie libre, multifase ni cavitación. Solo RANS, sin LES. El RANS estacionario en flujos desprendidos no siempre converge: con desprendimiento tras un cilindro o un escalón, el coeficiente de fuerza puede no estabilizarse y, para tales problemas, es más fiable el régimen transitorio. La precisión depende de la malla: los casos de verificación se calcularon en mallas tetraédricas de primer orden con 9–44 mil elementos.
Verificación. 14 casos, todos con desviación de hasta el 2,51 %. Referencias cuantitativas: flujo de Hagen–Poiseuille (u_{\max}/U_{\text{mean}}, 2,51 %), canal plano de Poiseuille (diferencia de presión, 0,32 %), cilindro con Re = 40 (C_d frente a Tritton y Coutanceau–Bouard, 1,89 %), escalón descendente con Re = 400 (Armaly et al., 2,37 %), haz de tubos (correlación de Žukauskas, 1,57 %), ala de UAV (línea sustentadora de Prandtl, 1,55 %). Los casos de conservación de la masa en un colector (0,06 %) y de cámara de motor cohete de combustible líquido (0,62 %) comprueban el balance de caudales. Los casos de válvula de compuerta API 6A, tobera de Kort, difusor, inductor, Aerospike y aleta reticular se han contrastado con estimaciones de ingeniería y correlaciones de referencia, y no con soluciones exactas.

Interfaz: ajustes de CFD en el paso de cálculo, condiciones de contorno y posprocesador «Flujo».

cfd fluid air
cfd set speed=15 turbulence=sst iterations=500
cfd inlet surface number 1
cfd outlet surface number 2
cfd wall surface number 3 monitor=on
solve cfd

10.9CFD: problemas transitorios y movimiento de cuerposbeta

El régimen transitorio es necesario cuando el flujo no alcanza un estado estacionario (desprendimiento de vórtices tras un cilindro, pulsaciones) o cuando las fronteras se mueven: rotación de una pared, rotor, desplazamiento tipo pistón de un cuerpo.

Qué está implementado

El tiempo físico se integra con paso de tiempo dual (dual time stepping) de segundo orden: en cada paso físico se ejecutan iteraciones internas hasta la convergencia. El usuario define el paso, la duración, el número de iteraciones internas y la frecuencia de guardado de fotogramas. La sesión se guarda en disco, el cálculo se puede cancelar y continuar desde un punto de control; los fotogramas se reproducen en el posprocesador.

Movimiento:

  • pared giratoria (la velocidad de la superficie se define por el eje y la frecuencia de giro);
  • sistema de coordenadas giratorio para el dominio del fluido (enfoque MRF): solución estacionaria promediada para un rotor;
  • traslación impuesta de un cuerpo en una sola dirección (lineal, armónica, expresión, tabla) con deformación de la malla según un esquema ALE elástico de primer orden en el tiempo; la velocidad de la pared se controla respecto al paso de la malla;
  • giro impuesto y libre de un rotor con un grado de libertad (momento, amortiguamiento).

Los resultados del movimiento son desplazamiento, velocidad, fuerza, potencia y trabajo, normalizados respecto al fotograma elegido.

Limitaciones. La traslación es solo en una dirección; la orientación arbitraria, la traslación libre, los seis grados de libertad, el acoplamiento «fluido — estructura», las carreras grandes y el contacto entre cuerpos no están implementados. La interfaz deslizante de dos zonas existe como prototipo y no está conectada al producto. Se mantienen todas las limitaciones de la formulación incompresible del CFD básico. La estacionariedad de los coeficientes de fuerza en flujos desprendidos debe comprobarse promediando por periodos.
Verificación. En la lista de verificación no hay casos. La aceptación son pruebas nativas: la continuación del cálculo desde un punto de control coincide con el continuo (coordenadas exactas, presión y velocidad dentro del 1 %), y la traslación y el giro se han comprobado en casos de prueba. Estado beta: la verificación es limitada y no hay referencias independientes para fronteras móviles.
cfd set mode=transient dt=0.001 time=0.005 inner=40 output=1
solve cfd

10.10Acústica de cavidades (ecuación de Helmholtz)experimental

Análisis modal de una cavidad de aire (o llena de líquido): frecuencias propias y formas de oscilación de la presión. Se aplica para estimar resonancias de volúmenes: cámaras, conductos de aire, cabinas.

Formulación

Ecuación de Helmholtz para la amplitud de presión p en un proceso armónico e^{i\omega t}:

\nabla^2 p+k^2\,p=0,\qquad k=\frac{\omega}{c_0}

En las paredes, la condición de rigidez acústica \partial_n p=0 (condición de contorno natural). La discretización por elementos finitos conduce a un problema generalizado de autovalores

\mathbf K_a\,\mathbf p=\omega^2\,\mathbf M_a\,\mathbf p,\qquad \mathbf K_a=\int_\Omega\nabla N^T\nabla N\,dV,\qquad \mathbf M_a=\frac{1}{c_0^2}\int_\Omega N^TN\,dV

Para un tubo rígido cerrado de longitud L, las frecuencias de los modos longitudinales son f_n=n\,c_0/(2L), incluido el nulo (presión constante). El modo nulo también está presente en el cálculo.

Cómo está implementado

El elemento es un tetraedro lineal con masa acústica consistente. Las matrices son densas y el problema se resuelve reduciéndolo a la forma estándar mediante la factorización de Cholesky de la matriz \mathbf M_a y la diagonalización de la matriz simétrica por el método de Jacobi. Este enfoque es aplicable a cavidades pequeñas (hasta algunos cientos de nodos); para mallas grandes es demasiado lento y exigente en memoria.

El usuario define la velocidad del sonido c_0 (aire 343 m/s, agua 1481 m/s), la densidad \rho_0 y el número de modos. Se considera cavidad el cuerpo sobre el que se ha construido la malla tetraédrica. Resultado: frecuencias en Hz, formas de presión por nodos, animación de la onda estacionaria p(\mathbf x)\cos\omega t en la ventana de visualización.

Limitaciones. Es un prototipo. Solo paredes rígidas: los parámetros impedance= y fsi= del comando se analizan y se comprueban en cuanto a su direccionamiento numérico, pero no influyen en las frecuencias propias. Las formas están normalizadas de manera convencional, por lo que el «nivel de presión sonora» que se imprime tras el cálculo carece de sentido físico; use solo las frecuencias y las formas. La respuesta a una fuente no se construye en este cálculo. Si no hay malla, el cálculo sustituye un canal de prueba incorporado de 1 m × 0,1 m × 0,1 m: antes de lanzarlo, asegúrese de que la malla está construida. Compilación solo con tetraedros; no se han investigado la dependencia del tamaño de la malla ni la convergencia de las frecuencias.
Verificación. En la lista no hay casos de verificación. En las pruebas, la primera frecuencia no nula de un canal de 1 m de longitud en una malla de 11 secciones se comprueba que caiga en la banda de 150–210 Hz, con un valor analítico de 171,5 Hz, es decir, con una tolerancia de alrededor del 20 % y no del 5 %. El ejemplo de escaparate del silenciador muestra frecuencias y formas, pero el nivel de presión declarado en su descripción no se reproduce con este cálculo.

Interfaz: sección «Vibroacústica (Helmholtz)» en el paso de resultados.

solve acoustics c0=343 rho0=1.204 modes=5
probe acoustic_f1

10.11Vibroacústicaexperimental

La vibroacústica describe la interacción entre una estructura que vibra y el aire de una cavidad: la estructura radia sonido y la presión de la cavidad carga la estructura. En el producto este cálculo como problema acoplado único no existe; hay componentes sueltos.

Qué hay en el código

  • Impedancia de la frontera (condición de Robin). Matriz de amortiguamiento \mathbf C_a=\dfrac{\rho_0}{Z_a}\int_{\Gamma_z}N^TN\,dA con impedancia acústica Z_a en rayl (Pa·s/m); para el aire, la impedancia característica es \rho_0c_0\approx413 rayl.
  • Matriz de acoplamiento de la estructura con la cavidad \mathbf C_{fsi}=\int_{\Gamma}\mathbf N_u^T\,\mathbf n\,N_p\,dA en la frontera común.
  • Respuesta en frecuencia de la cavidad a una fuente: \left(\mathbf K_a-\omega^2\mathbf M_a+i\omega\,\mathbf C_a\right)\mathbf p=\mathbf q con solución en una malla de frecuencias y conversión a nivel de presión sonora \text{SPL}=20\log_{10}(p_{\text{rms}}/p_{\text{ref}}), p_{\text{ref}}=20 µPa para el aire y 1 µPa para el agua.

Son funciones independientes con pruebas unitarias. Con ellas no se ensambla el sistema acoplado «estructura — cavidad», y la respuesta en frecuencia y las matrices de impedancia no están conectadas al cálculo desde la interfaz ni desde el DSL. Solo está disponible el cálculo modal de la acústica de cavidades con paredes rígidas.

Limitaciones. El cálculo vibroacústico como modelo no está implementado y no se ofrece como estimación. La vía práctica hoy: comparar manualmente las frecuencias propias y las formas de la estructura, obtenidas de los análisis modal y armónico, con los modos acústicos de la cavidad. La coincidencia de frecuencias señala una posible resonancia, pero esta vía no da las amplitudes ni la radiación.
Verificación. No hay casos de verificación. Las pruebas unitarias comprueban el ensamblaje de las matrices y la conversión a decibelios (incluidos los valores de referencia de 0 dB a 20 µPa y de 94 dB a 1 Pa), pero no la comparación con una solución analítica o publicada del problema acoplado.

11Solucionadores: directos, iterativos y de valores propios

↑ Volver al índice

Tras la discretización, cualquier problema lineal se reduce a un sistema de ecuaciones algebraicas con matriz dispersa. Esta sección describe cómo se resuelven esos sistemas: qué métodos se emplean, por qué son correctos para las matrices del MEF, cómo comprueba el producto el resultado y en qué casos se niega a continuar de forma explícita. Se describen los métodos y los límites de su aplicabilidad; el ajuste de los parámetros internos queda fuera de esta sección.

La implementación utiliza bibliotecas abiertas: MFEM (matrices dispersas y método de gradientes conjugados), Eigen (factorizaciones dispersas y problemas densos pequeños) y AMGCL (precondicionador multimalla algebraico, solo en la aplicación de escritorio). En macOS, la factorización directa la realiza también Apple Accelerate. Toda la aritmética del núcleo se efectúa en doble precisión (IEEE 754 binary64). En la frontera del solucionador rige el sistema SI: metros, newtons, pascales, kilogramos. El usuario ve los resultados en sus propias unidades; la conversión se realiza en un único lugar.

Se toma como referencia la ruta nativa de la aplicación de escritorio. La compilación para navegador usa las mismas fórmulas, pero es monohilo, está limitada por la memoria de la pestaña y no incluye el precondicionador multimalla. Las diferencias se indican en el texto.

11.1Sistemas de ecuaciones del MEF: dispersidad, definición, restriccionesestable

Tras el ensamblado, el problema estático tiene la forma

\mathbf{K}\,\mathbf{u} = \mathbf{f}

La matriz de rigidez \mathbf{K} posee tres propiedades en las que se apoya la elección de los métodos. Es dispersa: un nodo solo está acoplado con los nodos de los elementos comunes, una fila contiene decenas de elementos no nulos y la proporción de ceros crece con el tamaño del modelo. Es simétrica, porque la forma bilineal es simétrica. Es semidefinida positiva y, una vez fijado el sólido rígido, definida positiva: \mathbf{v}^{\mathsf T}\mathbf{K}\mathbf{v} > 0 para todo \mathbf{v} \neq \mathbf{0} del subespacio admisible. En cuerpos volumétricos, el número de condición crece como O(h^{-2}) al refinar la malla. En láminas delgadas y vigas crece con mayor rapidez: aproximadamente con el cuadrado de la relación entre la rigidez de membrana y la de flexión, es decir, (L/t)^2.

El ensamblador unificado reúne vigas, láminas y elementos volumétricos en un único sistema con seis grados de libertad por nodo (tres desplazamientos y tres giros). Los grados de libertad sin rigidez, por ejemplo los giros de nodos rodeados solo de elementos volumétricos, se eliminan automáticamente.

Condiciones de contorno y restricciones

Las fijaciones, las ecuaciones lineales de restricción, las regiones rígidas (RBE2) y las interfaces pegadas con eliminación exacta se tratan mediante la eliminación de los grados de libertad dependientes, y no mediante multiplicadores de Lagrange:

\mathbf{u} = \mathbf{T}\,\mathbf{u}_r + \mathbf{u}_0, \qquad \mathbf{K}_r = \mathbf{T}^{\mathsf T}\mathbf{K}\,\mathbf{T}, \qquad \mathbf{f}_r = \mathbf{T}^{\mathsf T}\left(\mathbf{f} - \mathbf{K}\,\mathbf{u}_0\right)

La matriz \mathbf{T} vincula los grados de libertad independientes \mathbf{u}_r con el vector completo, y \mathbf{u}_0 aporta las partes no homogéneas de las restricciones. La matriz reducida \mathbf{K}_r = \mathbf{T}^{\mathsf T}\mathbf{K}\mathbf{T} sigue siendo simétrica y definida positiva si \mathbf{K} lo era en el subespacio admisible. No aparece ningún sistema de punto de silla con un bloque de ceros. Por ello, para la estática lineal bastan los métodos para matrices simétricas definidas positivas (Cholesky, gradientes conjugados), y no se necesitan métodos indefinidos (MINRES, factorizaciones con pivotado). El contacto con penalización añade rigidez a \mathbf{K} y también conserva la definición positiva, pero empeora el condicionamiento.

Escalado

Antes de resolver, el sistema reducido se escala simétricamente por la diagonal:

\tilde{\mathbf{K}} = \mathbf{S}\,\mathbf{K}_r\,\mathbf{S}, \quad \mathbf{S} = \operatorname{diag}\!\left(K_{r,ii}^{-1/2}\right), \quad \tilde{\mathbf{f}} = \mathbf{S}\,\mathbf{f}_r, \quad \mathbf{u}_r = \mathbf{S}\,\tilde{\mathbf{u}}

Se trata de una transformación equivalente: la respuesta no cambia, pero desaparece la dispersión de escalas entre desplazamientos y giros y entre las filas de las fijaciones y las filas elásticas. Las filas con diagonal no positiva no se escalan.

Limitaciones. Un modelo insuficientemente fijado (cuerpo sin apoyos, mecanismo) da una matriz singular. El producto no la regulariza en silencio: el método directo no factoriza la matriz o devuelve un resultado no finito, y el cálculo se marca como no convergido. Una matriz casi singular puede dar una solución finita pero carente de sentido. Contra esto sirve la comprobación del equilibrio: la suma de las reacciones de los apoyos debe equilibrar la carga. En láminas delgadas, el mal condicionamiento hace poco fiables los métodos iterativos con precondicionadores universales, véase el solucionador iterativo.
Verificación. La corrección del ensamblado de la matriz y de la eliminación de restricciones se comprueba con ensayos de parche: Ensayo de parche con elementos volumétricos MacNeal-Harder y Malla híbrida: ensayo de parche mediante la unión cosida de prismas y tetraedros. Comprobación analítica de la estática: Viga en voladizo (Euler-Bernoulli).

11.2Almacenamiento de matrices y reordenaciónestable

Las matrices se almacenan en el formato disperso por filas CSR (arreglos de desplazamientos de fila, índices de columna y valores). Las contribuciones repetidas de elementos vecinos se suman durante el ensamblado. La matriz reducida se obtiene mediante el triple producto \mathbf{T}^{\mathsf T}\mathbf{K}\mathbf{T} en el mismo formato. Para las factorizaciones directas, la matriz se convierte al formato de Eigen y, si es necesario, solo se conserva el triángulo inferior.

Las matrices locales de los elementos se calculan en paralelo, pero se suman a la matriz global de forma secuencial, en el orden de los números de elemento. Por eso la matriz ensamblada no depende del número de hilos.

El número de no nulos del factor \mathbf{L} depende del orden de numeración de las incógnitas. Para las factorizaciones simétricas se aplica el orden de grado mínimo aproximado (AMD): Amestoy P., Davis T., Duff I., An approximate minimum degree ordering algorithm, SIAM J. Matrix Anal. Appl., 1996. Lo ejecutan tanto Apple Accelerate como Eigen SimplicialLDLT. Para sistemas no simétricos y complejos, la LU dispersa utiliza la ordenación por columnas COLAMD. La ordenación por disección anidada (METIS) y el Cuthill–McKee inverso (RCM) no se usan en los solucionadores.

En mallas tridimensionales con una buena ordenación, la memoria del factor crece aproximadamente como O(n^{4/3}) y el número de operaciones de factorización aproximadamente como O(n^{2}) (George A., disección anidada). Los exponentes medidos para Eigen SimplicialLDLT en modelos volumétricos son algo mayores, en torno a n^{2.3}. La pantalla de cálculo muestra una estimación de la memoria del solucionador directo según una dependencia potencial empírica del número de grados de libertad.

Limitaciones. La estimación de memoria se calibró con tetraedros de segundo orden y puede subestimar el pico de factorización en hexaedros. Es una estimación para elegir la ruta, no una garantía. El orden AMD no es óptimo para los modelos 3D más grandes: allí el relleno del factor crece más rápido de lo que daría la disección anidada.

11.3Solucionador directo dispersoestable

Para una matriz simétrica definida positiva se utiliza la factorización de Cholesky o \mathbf{L}\mathbf{D}\mathbf{L}^{\mathsf T} con una permutación previa \mathbf{P}:

\mathbf{P}\,\tilde{\mathbf{K}}\,\mathbf{P}^{\mathsf T} = \mathbf{L}\,\mathbf{D}\,\mathbf{L}^{\mathsf T}, \qquad \mathbf{L}\mathbf{y} = \mathbf{P}\tilde{\mathbf{f}}, \quad \mathbf{D}\mathbf{z} = \mathbf{y}, \quad \mathbf{L}^{\mathsf T}\mathbf{w} = \mathbf{z}, \quad \tilde{\mathbf{u}} = \mathbf{P}^{\mathsf T}\mathbf{w}

En una matriz definida positiva, esta factorización es estable sin pivotado (Golub G., Van Loan C., Matrix Computations). Por ello la permutación se elige solo por el relleno, no por la magnitud de los elementos. El método es exacto salvo errores de redondeo. El condicionamiento afecta a la precisión de la respuesta, pero no al hecho de obtenerla, como sucede en los métodos iterativos. El fallo de la factorización significa pérdida de la definición positiva o falta de memoria.

En macOS, la factorización la realiza el solucionador disperso de Apple Accelerate (Cholesky o \mathbf{L}\mathbf{D}\mathbf{L}^{\mathsf T}), multihilo y vectorizado. En Windows, Linux y en el navegador se usa Eigen SimplicialLDLT, que es monohilo y notablemente más lento. Las rutas directa e iterativa dan, en los modelos del producto, desplazamientos coincidentes: la discrepancia es del orden de 10^{-9} en términos relativos (tabla más abajo). Si la factorización falla, se activan rutas de reserva, y solo cuando todas se agotan el cálculo devuelve el indicador de no convergencia.

La factorización se realiza una sola vez y se reutiliza para varios segundos miembros: en problemas de valores propios, en el análisis armónico sobre una malla de frecuencias y en cálculos transitorios implícitos con paso constante.

Para matrices que pueden ser indefinidas, por ejemplo \mathbf{K} + \mathbf{K}_{\sigma} en el análisis modal con tensión previa, la factorización \mathbf{L}\mathbf{D}\mathbf{L}^{\mathsf T} sin permutaciones por magnitud no garantiza estabilidad y por sí misma no distingue la definición positiva de la indefinición. Por ello, tras la factorización se examinan los signos de la diagonal de \mathbf{D}. Si la matriz ha dejado de ser definida positiva (carga superior a la crítica), el cálculo devuelve el indicador de no convergencia en lugar de una frecuencia verosímil.

Para sistemas no simétricos (matrices tangentes de algunos problemas no lineales) y complejos se aplica la LU dispersa con ordenación COLAMD, véanse el análisis armónico y los cálculos no lineales.

Mediciones

Lámina con empotramiento y presión, ruta nativa, Apple M5, Apple Accelerate (medición del 13.10.2026):

Grados de libertadTiempo, sMemoria (RSS), GB
13 8240,07—
144 1500,80,9
584 0646,03,2
1 000 0007,44,3
2 100 00012,88,2

Para cuerpos volumétricos el método directo es más costoso por el mayor relleno. En Hex20 con 89 mil grados de libertad activos, Accelerate en la plataforma de referencia resuelve el sistema en 35 s, mientras que Eigen monohilo en el banco Linux x86-64 (tercera plataforma, no de referencia, solo orientativo) lo hace en 734 s. Por ello, en Windows y Linux, para modelos volumétricos de tamaño superior al moderado, el producto elige el solucionador iterativo, véase la elección del solucionador.

Limitaciones. El método directo está limitado por la memoria: el relleno del factor crece más rápido que el tamaño de la matriz. Tras la resolución directa, el residuo \lVert \mathbf{K}\mathbf{u} - \mathbf{f} \rVert / \lVert \mathbf{f} \rVert no se calcula por separado: el producto se apoya en el éxito de la factorización y en que el resultado sea finito. La excepción es el análisis armónico, donde el residuo se comprueba en cada frecuencia. En Windows y Linux el método directo es monohilo.
Verificación. El método directo subyace en la mayoría de los casos de verificación de estática, por ejemplo NAFEMS LE10 y Viga en voladizo (Timoshenko). En el conjunto público no hay una serie específica «directo frente a iterativo»: esa comparación la realizan las pruebas automáticas de desarrollo.

11.4Solucionador denso para sistemas pequeñosestable

Para modelos pequeños de pórticos y láminas, así como para comprobaciones de referencia, se utiliza la resolución densa. El algoritmo es el siguiente: se comprueba la simetría de la matriz y a continuación se factoriza por Cholesky in situ. Para una matriz definida positiva, Cholesky es estable sin pivotado, por lo que no se necesitan ni escalado ni permutaciones. Si la matriz no es simétrica o no es definida positiva (mecanismo, pérdida de estabilidad), la factorización retrocede a LU con pivotado parcial por columna. La simetría se comprueba de forma explícita porque Cholesky lee un solo triángulo y daría en silencio una respuesta errónea con una matriz no simétrica. Con una matriz singular el resultado es no finito, y el código que llama reconoce el mecanismo.

La resolución densa requiere memoria O(n^2) y tiempo O(n^3), por lo que solo es adecuada para modelos pequeños. En la ruta nativa, los modelos de láminas y pórticos que superan un tamaño modesto pasan automáticamente a la factorización dispersa; en el navegador rige un techo de tamaño impuesto por la memoria de la pestaña. Las rutas densa y dispersa dan los mismos desplazamientos: la discrepancia en un modelo de láminas es del orden de 10^{-11} en términos relativos.

Limitaciones. La limitación de tamaño es la principal. En el navegador, la resolución densa sigue siendo la vía principal para pórticos y láminas pequeños. En matrices mal condicionadas, una respuesta finita aún no significa una respuesta correcta: para comprobarlo sirve el equilibrio de las reacciones, véase más arriba.

11.5Solucionador iterativo: CG con precondicionador multimalla algebraicobeta

El método de gradientes conjugados con precondicionador \mathbf{M} resuelve \tilde{\mathbf{K}}\tilde{\mathbf{u}} = \tilde{\mathbf{f}} mediante una sucesión de pasos a lo largo de direcciones conjugadas. El método es correcto si tanto la propia matriz como el precondicionador son simétricos y definidos positivos. La velocidad de convergencia la determina el número de condición de la matriz precondicionada: el número de iteraciones crece como \sqrt{\kappa(\mathbf{M}^{-1}\tilde{\mathbf{K}})} (Saad Y., Iterative Methods for Sparse Linear Systems, 2003, cap. 6).

En la aplicación de escritorio, el precondicionador es un multimalla algebraico (AMG) de agregación suavizada de la biblioteca AMGCL (Vaněk P., Mandel J., Brezina M., Computing 56, 1996; Demidov D., AMGCL, Lobachevskii J. Math., 2019). Los grupos de nodos acoplados se unen en agregados, se construyen niveles gruesos, en cada nivel se aplica un suavizador y en el más grueso se resuelve de forma directa. Un ciclo V sirve de precondicionador. Cuando el sistema es por bloques, la agregación tiene en cuenta los tres grados de libertad del nodo. El suavizador es simétrico, por lo que el ciclo V es simétrico por construcción, como exige el método de gradientes conjugados. Una propiedad del AMG es que el número de iteraciones casi no crece al refinar la malla. En el banco Linux x86-64 (solo orientativo), para Hex8 con 14, 105, 202 y 346 mil grados de libertad activos, el AMG-CG converge en 32, 43, 48 y 52 iteraciones. Los métodos de Jacobi o Gauss–Seidel aislados no poseen esta propiedad.

El criterio de parada es el residuo relativo. En la ruta AMG es la norma euclídea del residuo referida a la norma del segundo miembro: \lVert \mathbf{r}_k \rVert_2 / \lVert \tilde{\mathbf{f}} \rVert_2 \le \varepsilon. En las demás etapas (método de gradientes conjugados de MFEM) es la norma del residuo precondicionado referida a la inicial. La tolerancia \varepsilon y el máximo de iteraciones los fija el usuario en el paso «Cálculo»; por defecto, \varepsilon = 10^{-6} y 5000 iteraciones. La evolución del residuo se muestra en la ventana de cálculo y el cálculo puede cancelarse.

Salvaguardas frente al funcionamiento incorrecto. El producto comprueba el precondicionador en cada iteración: el producto escalar (\mathbf{M}^{-1}\mathbf{r}, \mathbf{r}) debe seguir siendo positivo. Si no lo es, el método de gradientes conjugados se detiene e indica la causa, en lugar de seguir iterando en direcciones espurias. Un residuo divergente también interrumpe la etapa AMG. La norma euclídea del residuo de los gradientes conjugados no es monótona y en cuerpos volumétricos puede crecer temporalmente antes de converger, por lo que la interrupción solo se activa ante una divergencia manifiesta. Si una etapa falla, el cálculo pasa a la ruta de reserva. Si no hay convergencia en ninguna etapa, el resultado se marca como no convergido.

Comparación con el método directo en la plataforma de referencia (Apple M5, 2 hilos, medición del 21.10.2026 en una máquina cargada, tiempos orientativos; el mismo modelo se calculó por ambas rutas):

ModeloGrados de libertad activosAMG-CG: iteraciones, sDirecto (Accelerate), sDiscrepancia de desplazamientos
Hex2036 432179, 13,36,210^{-9}
Hex2089 280218, 40,335,44 \cdot 10^{-10}
Tet1045 00078, 6,23,92 \cdot 10^{-9}
Tet10104 544100, 10,218,13 \cdot 10^{-9}
Hex8147 85246, 8,791,35 \cdot 10^{-10}

La ventaja temporal de la ruta iterativa crece con el tamaño del modelo y se vuelve decisiva cuando al método directo no le alcanza la memoria.

En la compilación para navegador, AMGCL no está disponible. Allí la ruta iterativa utiliza el método de gradientes conjugados con precondicionadores más simples (Cholesky incompleto en sistemas pequeños, Gauss–Seidel en los grandes). Convergen más lentamente en mallas finas, por lo que los números de iteraciones del navegador no deben trasladarse al escritorio.

Limitaciones. (1) Las láminas delgadas y los sistemas reducidos por restricciones rígidas se adaptan mal al AMG universal: los agregados no tienen en cuenta el núcleo cercano de giros y las iteraciones convergen lentamente o no convergen. Para láminas y pórticos puros el producto usa el método directo. (2) El precondicionador AMG no se aplica a todas las formulaciones; en las demás trabajan otros precondicionadores con peor velocidad. (3) La elección del método (CG, MINRES, GMRES) y del precondicionador en el panel del solucionador se guarda en el proyecto, pero el núcleo siempre usa CG con un precondicionador elegido automáticamente: por eso el estado de este subapartado es beta. (4) En la ejecución multihilo, el orden de sumación en los productos escalares puede cambiar; las diferencias permanecen al nivel del redondeo.
Verificación. No se ha destacado un caso público de verificación específico de la ruta iterativa. Una prueba automática del escritorio exige que el modo iterativo converja en un modelo real Hex20 y dé desplazamientos coincidentes con el cálculo directo del mismo modelo.

11.6Control del resultado: residuo, indicador de convergencia, rechazo en lugar de sustituciónbeta

Todo cálculo devuelve un indicador de convergencia. Se activa solo cuando el residuo alcanzado no supera la tolerancia y el resultado es finito. Si falta, la interfaz muestra la advertencia «No ha convergido: los valores siguientes pueden no ser fiables», el guion termina con el error «solver did not converge». El resultado no se presenta como exitoso.

Principios que sigue el núcleo:

  • Rechazo en lugar de sustitución silenciosa. Si el método elegido no es aplicable o no cabe en memoria, el cálculo devuelve un error con la causa y el número de grados de libertad, en lugar de calcular en silencio por otra vía con otra precisión. Los valores no admisibles de los ajustes del solucionador se rechazan al introducirlos. Para láminas delgadas, el techo de tamaño depende de la memoria de la máquina (se tiene en cuenta el límite de «Ajustes → Cálculo»); por encima de él el cálculo se rechaza.
  • Comprobación en cada paso. El método de gradientes conjugados comprueba la positividad del precondicionador, el AMG, el crecimiento del residuo. El cálculo armónico comprueba el residuo en cada frecuencia. El solucionador no lineal reconoce una tangente singular y comunica el diagnóstico.
  • Problemas de valores propios. Para pórticos y láminas en la ruta nativa se comprueba el residuo relativo de cada par propio solicitado. Para cuerpos volumétricos el criterio de parada es la estabilización de los valores de Ritz; el residuo de los pares propios en esta ruta no se expone en el producto.
  • Comprobación del equilibrio. Las reacciones de los apoyos y las magnitudes integrales pueden solicitarse con comandos de posprocesamiento; para modelos de pórticos está disponible frame probe equilibrium, el residuo relativo \lVert \sum \mathbf{R} + \sum \mathbf{F} \rVert en fuerzas y en momentos.

Precisión y reproducibilidad. La aritmética es de doble precisión en todas las rutas del núcleo. La matriz de rigidez no depende del número de hilos. No se declara reproducibilidad bit a bit: las sumaciones multihilo y las factorizaciones de biblioteca pueden dar diferencias al nivel del redondeo. Entre plataformas no hay coincidencia bit a bit ni se espera: se usan bibliotecas distintas, un orden de operaciones distinto y, en el nativo, son posibles operaciones fusionadas de multiplicación y suma. La comparación temprana de las soluciones del navegador y la nativa en una viga en voladizo dio una discrepancia del orden de 10^{-9} en términos relativos.

Limitaciones. El control es desigual según la ruta: en la ruta iterativa se controla el residuo; en la directa se comprueban la factorización y que el resultado sea finito. Para una misma geometría, los generadores de malla de las compilaciones de navegador y de escritorio pueden construir mallas distintas, y entonces los números calculados difieren; sirve de referencia el resultado nativo.
Verificación. Diagnóstico del fallo de un problema no lineal: Solucionador no lineal: diagnóstico de tangente singular. Los demás casos de la sección comprueban el resultado del cálculo en su conjunto, y no el mecanismo de control de la convergencia.

11.7Ruta sin matriz (por operador)beta

En el enfoque sin matriz, la matriz global no se ensambla: el solucionador conoce únicamente la acción \mathbf{K}\mathbf{v} sobre un vector. Para la estática lineal simple de cuerpos volumétricos (fijaciones y cargas superficiales, sin regiones rígidas ni restricciones), el producto utiliza el ensamblado por operador de MFEM (ensamblado parcial, partial assembly) con elementos de primer y segundo orden y el método de gradientes conjugados con precondicionador diagonal (Jacobi). El operador es físicamente el mismo que el de la matriz ensamblada: la comparación temprana entre ensamblado parcial y completo en una viga en voladizo dio una discrepancia del orden de 10^{-11}.

El método multimalla geométrico (h-multigrid de MFEM con suavizado de Chebyshev) se probó como banco de investigación: al aumentar el tamaño del problema 225 veces (de 189 a 42 483 grados de libertad), el número de iteraciones creció solo 1,9 veces (de 28 a 52), es decir, la convergencia no depende de la malla. En la ruta de cálculo del producto este método no está incluido: requiere una jerarquía de mallas anidadas, y el producto construye mallas no estructuradas.

Limitaciones. La ruta por operador abarca únicamente la estática lineal simple de sólidos. El modo «directo» no actúa en ella: la ruta es siempre iterativa. Para todo lo demás (ensamblajes con restricciones, modelos mixtos de vigas y láminas), el producto ensambla la matriz de forma explícita.
Verificación. No hay un caso público específico; la comparación con la solución analítica la realizan pruebas de desarrollo en una viga en voladizo.

11.8Problemas de valores propios: análisis modal y estabilidadestable

El análisis modal resuelve el problema generalizado

\mathbf{K}_r\,\boldsymbol{\varphi} = \lambda\,\mathbf{M}_r\,\boldsymbol{\varphi}, \qquad f = \frac{\sqrt{\lambda}}{2\pi}

Pérdida de estabilidad: (\mathbf{K}_r + \lambda\,\mathbf{K}_{\sigma})\boldsymbol{\varphi} = \mathbf{0}, donde \mathbf{K}_{\sigma} es la rigidez geométrica debida al estado tensional previo y \lambda_{\text{cr}} es el menor valor propio positivo (factor de carga crítica). Las formulaciones y las hipótesis se describen en la sección Tipos de análisis lineal. Aquí se describe el método de resolución.

Iteración inversa por bloques (subespacio)

Para modelos volumétricos y mixtos se aplica la iteración en subespacio con el procedimiento de Rayleigh–Ritz (Bathe K.-J., Finite Element Procedures, 2014, cap. 11). Paso de iteración:

\mathbf{Y} = \mathbf{K}_r^{-1}\,\mathbf{M}_r\,\mathbf{X}, \quad \mathbf{K}_p = \mathbf{Y}^{\mathsf T}\mathbf{K}_r\mathbf{Y}, \quad \mathbf{M}_p = \mathbf{Y}^{\mathsf T}\mathbf{M}_r\mathbf{Y}, \quad \mathbf{K}_p\,\mathbf{Q} = \mathbf{M}_p\,\mathbf{Q}\,\boldsymbol{\Theta}, \quad \mathbf{X} \leftarrow \mathbf{Y}\,\mathbf{Q}

El bloque contiene más vectores que modos solicitados; el pequeño problema denso p \times p se resuelve con un método estándar (Eigen). Las iteraciones se detienen cuando la variación relativa de los valores de Ritz solicitados entre pasos se vuelve despreciable. La matriz \mathbf{K}_r se factoriza una sola vez y, a partir de ahí, cada \mathbf{K}_r^{-1}\mathbf{b} es un par de resoluciones triangulares. En macOS, para modelos de tamaño moderado se aplica la factorización de Accelerate; en las demás plataformas, Eigen SimplicialLDLT. Para modelos muy grandes, \mathbf{K}_r^{-1} se aplica de forma aproximada mediante AMG-CG con una tolerancia interna; la inversa aproximada exige cautela (véanse las limitaciones). A la matriz de masas se le añade una pequeña adición diagonal («suelo») para que los grados de libertad sin masa no estropeen la factorización de Cholesky de la matriz pequeña \mathbf{M}_p; los falsos modos altos que genera se filtran.

El problema de estabilidad utiliza el mismo subespacio con otra forma. La matriz -\mathbf{K}_{\sigma} es de signo variable y de rango bajo, por lo que el espectro se desplaza una constante c y los vectores se ortonormalizan en el producto escalar de \mathbf{K}_r. Las magnitudes inversas \theta = 1/\lambda se recalculan a partir de los valores desplazados.

Pórticos y láminas: LOBPCG

Para pórticos y láminas en la ruta nativa se utiliza el método por bloques LOBPCG (Knyazev A., SIAM J. Sci. Comput., 2001) con un precondicionador exacto \mathbf{K}_r^{-1} procedente de una única factorización de Cholesky. En esencia es un Lanczos por bloques con dirección localmente óptima. Trabaja con la matriz de masas consistente y no requiere desplazar el espectro en el problema de estabilidad. La estática bajo la carga de referencia se resuelve con la misma factorización, por lo que su error no entra en el factor crítico. El criterio de parada es el residuo relativo de cada par solicitado. La comparación con la ruta densa en los mismos modelos da una discrepancia no superior a 10^{-7}. En sistemas pequeños se conserva la ruta densa: el problema generalizado se reduce a uno estándar mediante la factorización de Cholesky de \mathbf{K}_r y se resuelve por el método de Jacobi. Es la ruta de referencia, pero su tiempo crece como n^3.

Cuerpos libres y mecanismos

En un modelo sin fijar, la matriz \mathbf{K}_r es singular (seis modos rígidos). Entonces se desplaza el espectro: se resuelve (\mathbf{K}_r + \tau\,\mathbf{M}_r)\boldsymbol{\varphi} = (\lambda + \tau)\,\mathbf{M}_r\boldsymbol{\varphi} con un \tau > 0 pequeño y después se resta el desplazamiento. Los modos rígidos permanecen como frecuencias nulas y se separan de los elásticos. Para pórticos, el comando frame solve modal free=on descarta de forma explícita los seis modos de movimiento de sólido rígido. Si los modos elásticos se han perdido tras el modo rígido (menos modos de los solicitados y primera frecuencia próxima a cero), el producto rechaza el resultado e indica la causa: el modelo está insuficientemente fijado.

Limitaciones. (1) La convergencia de la iteración por bloques depende de la precisión de \mathbf{K}_r^{-1}. Una inversa aproximada puede dar frecuencias verosímiles pero erróneas; en las comparaciones de banco la variante AMG coincidió con la factorización exacta hasta 3 \cdot 10^{-9} en frecuencias, pero en el propio producto el residuo de los pares propios en la ruta volumétrica no se comprueba. (2) La masa en la ruta dispersa para cuerpos volumétricos está concentrada en los nodos (\mathbf{M} diagonal). (3) El tiempo del problema de valores propios es decenas de veces superior al de la estática: cada iteración del subespacio resuelve p sistemas. (4) En el navegador, el problema de valores propios de pórticos y láminas sigue la ruta densa y está limitado en tamaño (del orden de miles de grados de libertad); en la ruta nativa el método disperso alcanza cientos de miles. (5) El número de modos solicitados no debe superar el número de grados de libertad que portan masa.
Verificación. Frecuencias propias: NAFEMS FV4, NAFEMS FV12 (placa libre, descarte de modos rígidos), NAFEMS FV52 (placa volumétrica, los tres primeros modos son rígidos), Análisis espectral de una viga en voladizo: masas modales. Estabilidad: Pandeo del pilar de Euler.
solve modal nmodes=6
solve buckling nmodes=4

11.9Sistemas complejos del análisis armónicobeta

La respuesta armónica estacionaria \mathbf{u}(t) = \operatorname{Re}\left(\hat{\mathbf{u}}\,e^{i\omega t}\right) con amortiguamiento de Rayleigh da en cada frecuencia un sistema complejo

\left(\mathbf{K} - \omega^2\mathbf{M} + i\omega\,\mathbf{C}\right)\hat{\mathbf{u}} = \hat{\mathbf{f}}, \qquad \mathbf{C} = \sum_e \left(\alpha_e\,\mathbf{M}_e + \beta_e\,\mathbf{K}_e\right)

La matriz es complejo-simétrica, pero con amortiguamiento no es hermítica, por lo que el método de Cholesky no es aplicable. Se aplica la LU compleja dispersa (Eigen SparseLU, ordenación COLAMD). El análisis simbólico de la estructura se realiza una sola vez para toda la malla de frecuencias; la factorización numérica, en cada frecuencia. Las restricciones y la reducción son las mismas que en la estática, y el sistema se escala por la diagonal. Tras la resolución se calcula en cada frecuencia el residuo relativo; si supera la tolerancia, el cálculo se detiene indicando la frecuencia. La singularidad (resonancia sin amortiguamiento) también da un error con la frecuencia, y no una respuesta falsa. En el guion se elige entre el método de descomposición modal (modal) o el directo (direct).

Limitaciones. El análisis armónico directo solo está disponible en la aplicación de escritorio. Requiere restricciones homogéneas y amortiguamiento de Rayleigh; el volumen de datos de salida es limitado. Rechaza las ecuaciones de restricción no homogéneas.
solve harmonic fmin=20 fmax=400 npoints=60 method=direct rayleigh a=1.5 b=0.000002

11.10Álgebra lineal en los cálculos no linealesestable

Los problemas no lineales (no linealidad geométrica y del material, contacto, método de longitud de arco) se resuelven mediante iteraciones de Newton. En cada iteración se resuelve un sistema lineal con la matriz tangente \mathbf{K}_T(\mathbf{u})\,\Delta\mathbf{u} = -\mathbf{r}(\mathbf{u}). La tangente se factoriza con una factorización directa dispersa. El análisis simbólico y la ordenación se reutilizan entre iteraciones mientras la estructura de dispersidad no cambie; un cambio de estructura (por ejemplo, un cambio del contacto activo) provoca un nuevo análisis. Los criterios de convergencia de Newton, los pasos de carga y el método de longitud de arco se describen en la sección Cálculos no lineales y dinámica.

Limitaciones. Los sistemas de contacto con penalización están peor condicionados que la estática lineal. Con contacto activo, en el panel del solucionador el tipo queda fijado en CG iterativo con tolerancia estricta.
Verificación. La ruta no lineal se confirma con casos de cálculos geométrica y físicamente no lineales: véanse Newton–Raphson y carga por pasos y el método de longitud de arco.

11.11Paralelismo y plataformasbeta

La aplicación de escritorio utiliza OpenMP: ensamblado paralelo de las matrices de los elementos y precondicionador AMG multihilo. El solucionador directo de Apple Accelerate es multihilo por sí mismo. El número de hilos por defecto se ha ajustado mediante mediciones; el usuario lo cambia en «Ajustes → Cálculo» («Núcleos para el solucionador»). El escalado está limitado por el ancho de banda de la memoria, y no por el número de núcleos: en un modelo de 215 mil grados de libertad (Apple M5), dos núcleos dieron una aceleración de 1,2–1,5 veces, seis núcleos, alrededor de 1,8, y diez ya no son más rápidos que seis. El ajuste actúa en las rutas que pasan por AMG; parte de los cálculos nativos es monohilo.

La compilación para navegador es monohilo, usa solo la memoria de la pestaña (un módulo WebAssembly de 32 bits no sobrepasa los 4 GB) y no incluye AMG. En modelos grandes, el navegador se topa con los límites de memoria y de tiempo mucho antes que la ruta nativa. El modo del solucionador y el umbral de tamaño no son configurables en el navegador. La factorización directa de Eigen funciona allí hasta el umbral de memoria; por encima se pasa al CG iterativo.

Los números de referencia de la verificación son los nativos. En una misma geometría las plataformas pueden discrepar: por ejemplo, los generadores de malla del navegador y del escritorio construyen mallas distintas. Al comparar números, atienda a la indicación de plataforma.

Limitaciones. El solucionador directo en Windows y Linux es monohilo y sensiblemente más lento que Accelerate en macOS. La aceleración con el número de núcleos está limitada por el ancho de banda de la memoria.
Verificación. Las mediciones por plataforma se recogen en la sección Plataformas, rendimiento y control de calidad.

11.12Elección del solucionador: automática y manualbeta

El usuario gestiona la elección en dos pantallas.

Paso «Cálculo», panel del solucionador. Tipo (directo o iterativo), casilla «Prioridad del solucionador directo», límite de memoria para el directo (MB). Para el modo iterativo están disponibles la tolerancia y el máximo de iteraciones. El panel muestra la estimación de memoria del método directo y la ruta elegida. Si la estimación no cabe en el límite, el solucionador cambia al iterativo y muestra un aviso. Con contacto activo, el tipo queda fijado en CG iterativo.

«Ajustes → Cálculo» (solo escritorio): modo del solucionador «auto» / «directo» / «iterativo», umbral de tamaño del método directo en grados de libertad, número de hilos, límite de memoria. El modo «auto» elige el método directo dentro del umbral y el iterativo por encima. Un umbral vacío significa selección automática: para cuerpos volumétricos se calcula a partir del límite de memoria de la pantalla de cálculo. En Windows y Linux el umbral automático para modelos volumétricos es menor, porque allí el método directo es más lento (véase el solucionador directo). Para láminas y pórticos, el método directo se activa automáticamente durante la llamada, porque en ellos los métodos iterativos no son fiables.

En los guiones no existe un comando aparte para elegir el solucionador lineal: solve usa los ajustes del documento. Los ajustes son accesibles desde la interfaz de programación de guiones (cae.solver, cae.compute).

Limitaciones. Las listas desplegables «método» (CG, MINRES, GMRES) y «precondicionador» (ninguno, Jacobi, ILU, AMG) del panel del modo iterativo se guardan en el proyecto, pero no cambian el algoritmo: el núcleo usa CG y elige por sí mismo el precondicionador. El ajuste «Aceleración WebGPU» tampoco está conectado al cálculo. Por ello el estado de este subapartado es beta.
Verificación. El comportamiento de los modos lo comprueban pruebas automáticas de la interfaz y de la capa de escritorio (el cambio de modo y de umbral llega al núcleo y, tras la llamada, los ajustes se devuelven). No hay un caso público de verificación.

11.13Prototipos y funciones no implementadas: GPU, nube, P2 sin matrizexperimental

Estos módulos existen en el código, pero no están conectados al cálculo del producto. Se enumeran para que el límite de las capacidades sea claro.

  • PCG sin matriz para Tet10 y Hex20 en WebGPU. El módulo calcula elemento por elemento \mathbf{y}_e = \mathbf{K}_e\mathbf{u}_e con coloreado del grafo, precondiciona con la diagonal y con una p-multimalla de dos niveles. Está cubierto por pruebas, pero ningún cálculo lo invoca. La casilla «Matrix-Free P2 GPU» del panel del solucionador se guarda en el proyecto y no cambia nada.
  • Solucionador CG en WebGPU. El módulo resuelve un sistema disperso en precisión simple en la GPU con una variante de reserva en CPU; una prueba de desarrollo confirma que los cálculos no lo invocan. El núcleo del producto calcula en doble precisión.
  • Cálculo híbrido en la nube. El módulo de enrutamiento y el cliente de transferencia de malla deciden si el cálculo se envía a un servidor remoto (según el tamaño del modelo, el tipo de análisis y el ajuste «Auto / Force Local / Force Cloud»). La parte de servidor no está conectada al cálculo, y la elección del modo no cambia el cálculo. En la compilación actual el cálculo siempre se ejecuta en local.
  • LOBPCG con IC(0) para tetraedros P2. Módulo de investigación del análisis modal disperso; no está incluido en la ruta principal.
  • Método multimalla geométrico (GMG). Existe en bancos de pruebas (véase más arriba) y no se usa en el cálculo.
Limitaciones. No se debe contar con estas capacidades en los cálculos. El estado se revisa con la versión en la que el módulo se conecte al cálculo y se verifique con un caso independiente.
Verificación. Ninguna: estos módulos no participan en el cálculo y no figuran en la verificación pública.

12Resultados, posprocesamiento y evaluación de la resistencia

↑ Volver al índice

Tras el cálculo, el solucionador entrega los desplazamientos (y los giros en vigas y láminas). Todo lo demás (tensiones, deformaciones, reacciones, coeficientes de seguridad, estimaciones del error de malla) lo construye el posprocesador a partir de ellos. Esta sección describe qué se calcula exactamente, en qué ejes y unidades, dónde el posprocesador hace simplificaciones y qué magnitudes siguen siendo estimaciones y no el resultado de un cálculo riguroso.

Convenios para toda la sección:

  • los tensores se escriben en el orden de Voigt [xx,\ yy,\ zz,\ xy,\ yz,\ zx]; la tracción es positiva;
  • para las tensiones, las componentes de cortante son tensoriales; para las deformaciones, \gamma_{ij} = 2\,\varepsilon_{ij} (cortante de ingeniería);
  • el posprocesador del cálculo lineal elástico trabaja con los desplazamientos y el material del elemento: \boldsymbol{\varepsilon} = \mathbf{B}\,\mathbf{u}_e, \boldsymbol{\sigma} = \mathbf{C}\,\boldsymbol{\varepsilon}, donde \mathbf{B} y \mathbf{C} son las mismas que en la matriz de rigidez del elemento;
  • en los cálculos no lineales, los campos (tensión de Cauchy, deformación plástica, reacciones) provienen del núcleo no lineal y no se recalculan mediante una reconstrucción lineal a partir de los desplazamientos.

12.1Campos de resultados y unidadesestable

El resultado de un cálculo es un conjunto de campos nodales. Pueden colorearse sobre el modelo, leerse con una sonda y volcarse a un informe y a un archivo. Los grupos principales:

GrupoCamposDimensión
Desplazamientosu_x, u_y, u_z, módulo \lvert\mathbf{u}\rvertlongitud
Giros (vigas, láminas)\theta_x, \theta_y, \theta_zrad
Tensiones\sigma_{xx}, \sigma_{yy}, \sigma_{zz}, \sigma_{xy}, \sigma_{yz}, \sigma_{zx}, equivalente de von Mises, \sigma_1, \sigma_3presión
Deformaciones\varepsilon_{xx}, \varepsilon_{yy}, \varepsilon_{zz}, \gamma_{xy}, \gamma_{yz}, \gamma_{zx}, equivalente, plásticaadimensionales
Margen de resistenciacoeficiente de seguridad o utilización (según el criterio elegido)adimensionales
Reaccionesmódulo de la reacción en los nodos de apoyofuerza
Contactopresión, estado, fuerza tangencialpresión, código, fuerza

Las componentes de tensión y de deformación pueden mostrarse no solo en ejes globales, sino también en un sistema de coordenadas de usuario (cartesiano o cilíndrico): el tensor se recalcula en cada nodo mediante la fórmula T'_{ij} = \mathbf{v}_i^{\mathsf T}\,\mathbf{T}\,\mathbf{v}_j, donde \mathbf{v}_i son los vectores unitarios del sistema en ese punto. Los invariantes (von Mises, \sigma_1, \sigma_3) no dependen de la elección del sistema.

Unidades

En la frontera del solucionador rige el SI (m, N, Pa, kg); la geometría del modelo se almacena en milímetros. Los campos de resultados se almacenan en las unidades en que los obtiene de forma natural el flujo de cálculo:

  • las tensiones, en pascales;
  • los desplazamientos, en unidades del modelo (mm), para que la vista deformada se sume a la geometría original sin conversión;
  • las reacciones se calculan en coordenadas del modelo, por lo que antes de mostrarse se llevan a newtons;
  • las deformaciones y los coeficientes de seguridad son adimensionales.

La visualización se hace en el sistema de unidades elegido en la barra de estado: SI, «métrico de ingeniería» (mm, N, MPa) o anglosajón (pulgada, libra-fuerza, psi). Una sola tabla convierte los valores para la leyenda, las sondas, el filtro por valor, el rango manual de la escala y el informe, por lo que la rotulación de la escala y el número siempre concuerdan. En DSL las magnitudes se devuelven en SI, salvo que la descripción de la magnitud diga otra cosa. En el archivo VTK la unidad forma parte del nombre del campo (displacement_mm, vonMises_Pa, reactionMag_N), porque ParaView no conoce las unidades.

Limitaciones. Los campos nodales se almacenan en precisión simple (unas siete cifras significativas); las diferencias de magnitudes próximas pierden cifras en ellos.
Verificación. La coherencia de las unidades de fuerza y longitud está confirmada por el caso Ménsula sólida bajo fuerza puntual: el mismo problema en mm/MPa/N y en m/Pa/N da la misma flecha. Las tensiones en tracción simple se contrastaron en los casos Tracción uniaxial (acero) y Tracción uniaxial, sensibilidad al material.

12.2Recuperación de tensiones en los nodosestable

El elemento finito da la tensión dentro del elemento, mientras que el coloreado y las sondas trabajan con valores nodales. El paso «elemento → nodo» es una etapa aparte, con sus propios errores.

Qué se calcula

Para un cálculo lineal elástico, la tensión en un punto del elemento es \boldsymbol{\sigma} = \mathbf{C}\,\mathbf{B}(\mathbf{x})\,\mathbf{u}_e, donde para un material isótropo

\mathbf{C}:\ \sigma_{ii} = \lambda\,\operatorname{tr}\boldsymbol{\varepsilon} + 2\mu\,\varepsilon_{ii},\quad \sigma_{ij} = \mu\,\gamma_{ij},\quad \lambda = \frac{E\nu}{(1+\nu)(1-2\nu)},\ \mu = \frac{E}{2(1+\nu)}.

El punto de evaluación depende del tipo de elemento:

  • TET4: las deformaciones son constantes, una tensión por elemento;
  • TET10: dentro de un elemento de aristas rectas la tensión varía linealmente; se evalúa en los diez nodos del elemento mediante los gradientes de las funciones de forma del propio elemento;
  • HEX8, HEX20, HEX27, prisma, pirámide: un valor en el centro (centroide) del elemento.

El nodo recibe la media aritmética de los elementos que lo contienen. Se promedian las componentes del tensor y no las magnitudes equivalentes: von Mises, \sigma_1 y \sigma_3 se calculan ya a partir del tensor promediado, porque las tensiones principales dependen de forma no lineal de las componentes. Los pesos son por número de elementos, no por volumen. En una malla mixta TET4/TET10 (zona de elementos cuadráticos), cada elemento se evalúa en su propia base, el nodo se promedia con sus vecinos y el campo sigue siendo unívoco en el nodo.

En los cálculos no lineales de sólidos, la tensión de Cauchy se toma en los puntos de Gauss del elemento, se promedia sobre el volumen del elemento en la configuración inicial y después el nodo se promedia con sus vecinos con un peso igual a ese volumen.

En el modo termoelástico se resta de las componentes normales la parte térmica \sigma^{\text{th}} = E\,\alpha\,\Delta T/(1-2\nu), por lo que las tensiones mostradas son mecánicas.

En el panel de resultados puede alternarse entre el campo «nodal» (promediado) y el «por elemento». El campo por elemento es escalonado, pero muestra con fidelidad los saltos entre elementos; la diferencia entre ambos modos es una estimación aproximada de hasta qué punto la malla resuelve el gradiente (la estima con más precisión el indicador de error).

Qué conviene saber

Frontera entre materiales y cuerpos. El campo nodal es unívoco, por lo que en la frontera de dos materiales (o de dos cuerpos unidos) el promediado difumina el salto físico de tensiones entre materiales con distinto E. El valor nodal en la propia frontera es la media de dos magnitudes distintas, y no el valor «de la izquierda» o «de la derecha». Para los lugares donde el salto es esencial, consulte el modo por elemento o las regiones por separado. Por eso no se construye el mapa de margen de resistencia para modelos con varios materiales: la tensión admisible en un nodo de la frontera no se asocia a ningún material. El indicador de error, por el contrario, recupera el campo separadamente por materiales.

Picos junto a la frontera. Los valores en el centro del elemento subestiman el pico en una malla gruesa: el centroide está en el interior del elemento y no en la fibra. En flexión pura de una ménsula con una malla de TET10 (cuatro capas de elementos en altura), la evaluación nodal dio en la fibra extrema un error del 0,34 %, mientras que los valores centroidales del mismo cálculo dieron un 14–18 % (medición durante el desarrollo).

Las vigas no se promedian en el nodo. En un nodo de un pórtico confluyen barras con esfuerzos distintos, y la media sería incorrecta por planteamiento.

Limitaciones. No hay extrapolación desde los puntos de Gauss con ponderación por volumen ni recuperación superconvergente para el campo de salida (existe solo dentro del indicador de error). Para HEX y otros elementos con valor central no se resuelve la variación interna del campo: el pico en una arista o una cara puede quedar subestimado. Los valores en nodos que cruzan materiales son una media, y no el límite por uno de los lados.
Verificación. La recuperación en nodos se contrastó con la solución analítica en los casos Cilindro de pared gruesa en camisa rígida (problema de Lamé), Placa con un orificio (planos de simetría según la normal), NAFEMS LE1 (membrana elíptica) y NAFEMS LE10 (placa gruesa). El ensayo de parche de tensión constante a través de una unión cosida de distintos tipos de elemento es Malla híbrida: ensayo de parche.

12.3Tensiones y deformaciones equivalentesestable

A partir del tensor de tensiones se calculan escalares que resulta cómodo comparar con los límites del material.

Tensión equivalente de von Mises (energía de distorsión):

\sigma_{\text{vm}} = \sqrt{\tfrac12\left[(\sigma_{xx}-\sigma_{yy})^2 + (\sigma_{yy}-\sigma_{zz})^2 + (\sigma_{zz}-\sigma_{xx})^2\right] + 3\left(\sigma_{xy}^2 + \sigma_{yz}^2 + \sigma_{zx}^2\right)}.

Tensiones principales \sigma_1 \ge \sigma_2 \ge \sigma_3: valores propios de una matriz simétrica de 3\times3. Se obtienen en forma cerrada con la fórmula trigonométrica de Smith: sean q = \operatorname{tr}\boldsymbol{\sigma}/3, p = \sqrt{\lVert \boldsymbol{\sigma} - q\mathbf{I}\rVert_F^2/6}, \mathbf{B} = (\boldsymbol{\sigma} - q\mathbf{I})/p, \varphi = \tfrac13\arccos\!\left(\det\mathbf{B}/2\right); entonces

\sigma_1 = q + 2p\cos\varphi,\qquad \sigma_3 = q + 2p\cos\!\left(\varphi + \tfrac{2\pi}{3}\right),\qquad \sigma_2 = 3q - \sigma_1 - \sigma_3.

Para un tensor esférico (p = 0) las tres son iguales a q. Como campos sobre el modelo se muestran \sigma_1 (principal máxima) y \sigma_3 (mínima); \sigma_2 está disponible en la calculadora de campos.

Intensidad de tensiones de Tresca: diferencia de las principales extremas:

\sigma_{\text{int}} = \sigma_1 - \sigma_3 = 2\,\tau_{\max}.

Se utiliza en los mapas de resistencia (criterio de Tresca) y en la linealización de tensiones según ASME.

Deformación equivalente. Para un tensor de deformaciones \boldsymbol{\varepsilon} con desviador \mathbf{e} = \boldsymbol{\varepsilon} - \tfrac13\operatorname{tr}\boldsymbol{\varepsilon}\,\mathbf{I}, el campo «deformación equivalente» es la norma del desviador:

\varepsilon_{\text{eq}} = \sqrt{\mathbf{e}:\mathbf{e}} = \sqrt{\tfrac23\left[\varepsilon_{xx}^2 + \varepsilon_{yy}^2 + \varepsilon_{zz}^2 - \varepsilon_{xx}\varepsilon_{yy} - \varepsilon_{yy}\varepsilon_{zz} - \varepsilon_{zz}\varepsilon_{xx} + 3\left(\varepsilon_{xy}^2 + \varepsilon_{yz}^2 + \varepsilon_{zx}^2\right)\right]},

donde \varepsilon_{xy} = \gamma_{xy}/2 y así sucesivamente. No es la deformación equivalente «plástica», normalizada por la incompresibilidad (\sqrt{2/3}\,\lVert\mathbf{e}\rVert): en tracción uniaxial de un material incompresible, el valor mostrado es \sqrt{3/2}\approx 1.22 veces mayor que la deformación axial. La deformación plástica acumulada \bar\varepsilon^{p} se muestra como un campo aparte, procedente del modelo de material del cálculo no lineal.

Limitaciones. Von Mises y Tresca son aplicables a materiales dúctiles; para los frágiles use criterios sobre las tensiones principales (véanse los criterios de resistencia). Para láminas, la tensión equivalente se calcula para el estado de tensión plana (véanse los resultados de láminas).
Verificación. Von Mises y las tensiones principales bajo carga uniaxial se comprueban en los casos Tracción uniaxial (acero) y Tracción uniaxial (aluminio); la tensión en flexión pura de una lámina cilíndrica, en NAFEMS LE2.

12.4Criterios de resistencia y coeficiente de seguridadbeta

El mapa de resistencia es un posproceso sobre las tensiones nodales ya calculadas; cambiar el criterio o el límite no requiere un nuevo cálculo. Para cada nodo se calcula la «utilización» D y el coeficiente de seguridad n = 1/D. Si D = 0, el margen queda limitado por el techo superior de visualización.

CriterioUtilización DPropiedades del material necesarias
von Mises\sigma_{\text{vm}}/\sigma_ylímite elástico \sigma_y
Tresca(\sigma_1-\sigma_3)/\sigma_y\sigma_y
Rankine\max\!\left(\sigma_1/\sigma_t,\ -\sigma_3/\sigma_c\right)límites en tracción \sigma_t y en compresión \sigma_c
Coulomb–Mohr\sigma_1/\sigma_t - \sigma_3/\sigma_c (con \sigma_1\ge0\ge\sigma_3)\sigma_t, \sigma_c
Saint-Venant(\sigma_1 - \nu\,\sigma_3)/\sigma_y\sigma_y (o \sigma_t), \nu
Drucker–Prager\left[\sigma_{\text{vm}} + \beta(\sigma_1+\sigma_3)\right]/\sigma_{\text{lim}}\sigma_t, \sigma_c
Fatiga: Goodman, Soderberg, Gerbervéase más abajolímite de fatiga, \sigma_u o \sigma_y

Para Drucker–Prager, \beta = (\sigma_c - \sigma_t)/(\sigma_c + \sigma_t) y \sigma_{\text{lim}} = 2\sigma_t\sigma_c/(\sigma_c + \sigma_t); las constantes están elegidas para que el criterio dé exactamente D=1 en tracción y compresión uniaxiales hasta los límites.

Las tres variantes de fatiga del mapa son una estimación simplificada para un ciclo pulsante desde cero (la amplitud es igual a la media, \sigma_{\text{vm}}/2), con límite de fatiga \sigma_e:

D_{\text{Gdm}} = \frac{\sigma_{\text{vm}}}{2\sigma_e} + \frac{\sigma_{\text{vm}}}{2\sigma_u},\qquad D_{\text{Sdb}} = \frac{\sigma_{\text{vm}}}{2\sigma_e} + \frac{\sigma_{\text{vm}}}{2\sigma_y},\qquad D_{\text{Gbr}} = \frac{\sigma_{\text{vm}}}{2\sigma_e} + \left(\frac{\sigma_{\text{vm}}}{2\sigma_u}\right)^2.

Para un ciclo de carga arbitrario, use el cálculo de fatiga por curvas S-N.

Si para el criterio elegido falta una propiedad, el panel nombra la propiedad ausente en lugar de construir un mapa por defecto.

Una condición de resistencia propia puede definirse en la calculadora de campos como el campo «margen» K = [\sigma]/f(\sigma).

Limitaciones. Los criterios trabajan con los campos nodales almacenados, en los que solo hay \sigma_{\text{vm}}, \sigma_1 y \sigma_3. Por ello, en el criterio de Drucker–Prager el primer invariante I_1 se sustituye por \sigma_1+\sigma_3 (exacto cuando \sigma_2 es igual a la media), y Saint-Venant usa \sigma_1 - \nu\sigma_3 sin el término de la principal intermedia. Para modelos de varios materiales el mapa no se construye (la tensión nodal en la frontera no puede asociarse a una única tensión admisible). Los criterios no tienen en cuenta la concentración, el tamaño, el estado de la superficie ni la temperatura: esas correcciones las introduce el usuario a través de los valores admisibles.
Verificación. Las fórmulas de los criterios se comprobaron con pruebas unitarias frente a valores analíticos. No hay un caso de verificación aparte para el mapa de margen en la lista; por ello el subapartado se marca como beta.

12.5Resultados de láminasestable

Para láminas (cuadrilátero MITC4 con parte de membrana y triángulo CST+DKT) las tensiones se obtienen en las fibras a lo largo del espesor. En el centro del elemento se calculan la parte de membrana y la parte de flexión:

\sigma^{\text{top/bot}}_{\alpha\beta} = \sigma^{m}_{\alpha\beta} \pm \frac{6}{t^2}\,m_{\alpha\beta},\qquad \mathbf{m} = \mathbf{D}_b\,\boldsymbol{\kappa},\quad D = \frac{E\,t^3}{12(1-\nu^2)},

donde \boldsymbol{\kappa} son las curvaturas, m_{\alpha\beta} son los momentos flectores por unidad de longitud y \sigma^m son las tensiones de membrana del estado de tensión plana (\sigma_{zz} \approx 0). El signo «+» corresponde a la fibra superior (según la normal del elemento), el «−» a la inferior. La tensión equivalente en la fibra es plana:

\sigma_{\text{vm}} = \sqrt{\sigma_{xx}^2 - \sigma_{xx}\sigma_{yy} + \sigma_{yy}^2 + 3\sigma_{xy}^2}.

En el panel de resultados se elige la fibra: superior, inferior o la mayor en módulo. Las componentes se calculan en el sistema local del elemento. Antes del promediado nodal, el tensor plano se gira a los ejes globales (\boldsymbol{\sigma}_{\text{glob}} = \mathbf{R}^{\mathsf T}\boldsymbol{\sigma}_{\text{loc}}\mathbf{R}); de lo contrario, el promediado en una lámina curva mezclaría componentes de bases distintas; las fibras superior e inferior se promedian por separado.

Para láminas laminadas, las tensiones se recuperan capa por capa: en tres puntos de cada capa (inferior, media, superior) a partir de las deformaciones generalizadas (\boldsymbol{\varepsilon}^0, \boldsymbol{\kappa}) y las rigideces de la capa; las tensiones tangenciales transversales \tau_{13}, \tau_{23} son campos aparte. Las deformaciones generalizadas se trasladan a los nodos mediante un ajuste por parche (SPR), sin suavizado a través de la unión de secciones distintas ni de un quiebre.

Limitaciones. La tensión se calcula en un solo punto, el centro del elemento, por lo que junto al borde y en los lugares de salto de curvatura el pico puede quedar subestimado. Los esfuerzos de membrana N y los momentos flectores M por unidad de longitud no se muestran como campos aparte; el usuario obtiene las tensiones en las fibras (si es necesario, N = \sigma^{m}\,t y M = \sigma^{b}\,t^2/6 se recuperan a mano). La corrección térmica en el campo nodal de láminas aún no se tiene en cuenta, por lo que para láminas con carga térmica conviene apoyarse en los valores por elemento.
Verificación. NAFEMS LE2 (tensión circunferencial en la superficie exterior, referencia 6M/t^2 exacta), tensiones de membrana de un compartimento rigidizado: Presurización de un compartimento cilíndrico de fuselaje (tensión axial y circunferencial frente a Lamé–Barlow, desviación de hasta el 0,01 %), flechas: Placa rectangular MacNeal-Harder y Placa circular de Kirchhoff–Mindlin.

12.6Resultados de vigasbeta

Para cada elemento de viga, el posprocesador recupera los esfuerzos internos en los extremos a partir de los desplazamientos nodales: \mathbf{f} = \mathbf{k}_{\text{loc}}\,\mathbf{T}\,\mathbf{u}_e, donde \mathbf{T} es el giro a ejes locales. Se obtienen el esfuerzo axial N, los cortantes Q_y, Q_z, el momento torsor T y los momentos flectores M_y, M_z. Signos: N>0 es tracción, T>0 sigue la regla de la mano derecha a lo largo del eje del primer nodo al segundo. Si sobre el elemento actúa una carga distribuida, los esfuerzos extremos se corrigen con la contribución de las cargas equivalentes (\mathbf{f}_{\text{int}} = \mathbf{f}_{\text{solver}} - \mathbf{F}).

Los diagramas muestran los valores en los extremos de los elementos unidos por segmentos; en un nodo donde confluyen dos elementos se toma la media de los dos valores extremos. Por ello el salto del esfuerzo cortante bajo una carga concentrada aparece suavizado en el diagrama: en los puntos de salto consulte los valores en los extremos de los elementos.

Las tensiones en la sección se calculan de dos maneras.

Estimación con las características de biblioteca (para el resumen y la búsqueda de la sección más desfavorable): \sigma = N/A \pm \lvert M_y\rvert/W_z \pm \lvert M_z\rvert/W_y, suma de módulos, es decir, la tensión en un punto de esquina de la sección. Para secciones circulares y tubulares es una estimación conservadora: los puntos de máxima flexión en los dos planos no coinciden.

Distribución en la sección (panel «Sección»), en los nodos de la malla de puntos de la sección:

\sigma_{xx} = \frac{N}{A} + \frac{M_z\,y}{I_z} - \frac{M_y\,z}{I_y},\qquad \tau_{\text{shear}} = \frac{V\,Q(\zeta)}{I\,b(\zeta)},

donde el momento estático Q y el ancho b de la parte seccionada se calculan numéricamente sobre la malla de la sección (fórmula de Zhuravski). Tensiones tangenciales de torsión: círculo y tubo, \tau = T r/J; rectángulo, aproximación de la función de tensiones de Prandtl; cajón cerrado, fórmula de Bredt \tau = T/(2A_m t); perfiles abiertos de pared delgada (doble T, T, canal, ángulo), ley lineal a lo largo del espesor de la placa. Tensión equivalente: \sigma_{\text{vm}} = \sqrt{\sigma_{xx}^2 + 3\tau^2} con \tau = \sqrt{\tau_{xy}^2 + \tau_{xz}^2}.

Limitaciones. No se tienen en cuenta la torsión con alabeo (impedida) ni la concentración en los nudos de unión; para perfiles abiertos de pared delgada la torsión es una aproximación con ley lineal. La teoría de Zhuravski da la tensión tangencial media en el ancho y es poco precisa para vigas cortas y gruesas. La estimación con las características de biblioteca no sustituye a la distribución en la sección.
Verificación. Las flechas de vigas en voladizo se contrastaron en los casos Viga en voladizo (Euler–Bernoulli) y (Timoshenko); las secciones compuestas, en Banda de lámina con larguero en T. Los esfuerzos en los extremos y la distribución en la sección se comprobaron con pruebas unitarias frente a fórmulas de resistencia de materiales (desviación de hasta el 3,4 %); no hay un caso aparte para los esfuerzos en la lista de verificación, por lo que el subapartado se marca como beta.

12.7Tensiones en los ejes locales del materialbeta

Para sólidos ortótropos (compuestos fibrosos, madera, laminados), la ley de Hooke se escribe en los ejes del material 1,2,3, y las tensiones en esos mismos ejes importan más que las globales: con ellas se comprueba la resistencia a lo largo y a través de las fibras. La orientación de los ejes se define para el cuerpo según la superficie, según un sistema de coordenadas cartesiano, cilíndrico o esférico, más un ángulo de giro en el plano.

La matriz de rigidez del material ortótropo (nueve constantes independientes E_i, \nu_{ij}, G_{ij}) se lleva a los ejes globales mediante la transformación de Bond, las deformaciones se calculan mediante \mathbf{B}\mathbf{u} en ejes globales y la tensión se pasa a los ejes del material: \boldsymbol{\sigma}_{\text{loc}} = \mathbf{T}_\sigma\,\boldsymbol{\sigma}_{\text{glob}}, donde \mathbf{T}_\sigma es la matriz de Bond para tensiones. Los campos \sigma_{11}, \sigma_{22}, \sigma_{12} están disponibles para el coloreado y las sondas (stress_local11, stress_local22, stress_local12); los valores en el nodo son la media de los elementos vecinos.

Limitaciones. El solucionador de sólidos ortótropos trabaja con tetraedros (TET4 y TET10); la tensión se toma en el centroide del elemento y se promedia en los nodos (es decir, el mismo error que en la recuperación de tensiones). Los mapas de resistencia de sólidos se construyen con los criterios isótropos de la tabla anterior y trabajan con tensiones equivalentes, no con \sigma_{11}, \sigma_{22}, \sigma_{12}; los criterios de compuestos (Tsai–Wu, Hashin) están implementados para capas de láminas.
Verificación. La transformación de ejes y la orientación según la superficie se contrastaron con la fórmula de Lekhnitskii para la tracción fuera de eje de un compuesto unidireccional: Lekhnitskii (1977) §6. El subapartado se marca como beta: la función se incorporó después de la versión 0.2.1 y hay un solo caso.

12.8Reacciones de apoyo y balance de fuerzasestable

La reacción en los grados de libertad fijados es la fuerza con que el apoyo actúa sobre el cuerpo. Para sólidos se calcula mediante el residuo de la ecuación de equilibrio en los GDL ligados:

\mathbf{R} = \left(\mathbf{K}\,\mathbf{u}\right)_{\text{c}} - \mathbf{F}_{\text{c}},

donde \mathbf{K}\mathbf{u} se ensambla elemento a elemento (\sum_e \int_{\Omega_e} \mathbf{B}^{\mathsf T}\boldsymbol{\sigma}\,d\Omega) para los nodos ligados, y \mathbf{F} es el segundo miembro, que incluye las cargas superficiales, concentradas, volumétricas y nodales. La reacción se refiere tanto a las fijaciones (desplazamiento nulo) como a los desplazamientos impuestos no nulos; en este último caso muestra la fuerza necesaria para imponer el desplazamiento.

Se obtienen: la reacción de cada registro de condiciones de contorno (componentes y módulo), la distribución por los nodos del apoyo y la reacción total \sum R_x, \sum R_y, \sum R_z. La comprobación del balance consiste en comparar la reacción total con la suma de las cargas aplicadas: en estática, \sum \mathbf{R} + \sum \mathbf{F} = \mathbf{0}. Para modelos de pórticos (vigas, láminas), las reacciones se obtienen del equilibrio del nodo a partir de los esfuerzos extremos y las cargas nodales.

La reacción es la diferencia de dos números grandes, por lo que cualquier carga omitida en \mathbf{F} en un nodo fijado pasa íntegra a la respuesta. El posprocesador lleva el control de la completitud del segundo miembro: si algún tipo de carga no pudo contabilizarse (por ejemplo, una fuerza en un vértice no encontrado en la malla), el valor de la reacción se muestra con una advertencia explícita y no en silencio.

Limitaciones. La reacción no se muestra donde la fórmula \mathbf{K}\mathbf{u} - \mathbf{F} es incorrecta: en contacto (parte del equilibrio la soporta la fuerza de contacto) y en un cálculo no lineal cuyas reacciones no se han guardado (la reconstrucción lineal sería falsa). Para un cálculo con elementos cuadráticos, la reacción requiere la misma malla cuadrática: la matriz de rigidez P1 aplicada a desplazamientos P2 da un resultado distorsionado en flexión, y la petición se rechaza. Los resultados de un cálculo no lineal guardado se muestran tal cual.
Verificación. La fórmula \mathbf{K}\mathbf{u} - \mathbf{F} se comprobó con una prueba de guion frente a la solución analítica: la tracción de un prisma de 20×20×100 mm con una fuerza de 5000 N da una reacción de −5000 N (con cuatro cifras significativas) tanto en la ruta geométrica como en la simplificada. Las reacciones de un cálculo no lineal con contacto (las guarda el propio núcleo no lineal, no se recalculan) y su equilibrio con la carga aplicada se comprueban en los casos Contacto: pasador en una orejeta, Contacto: parche uniforme, Contacto: resorte con holgura y Contacto: mallas no coincidentes.

Ejemplo

reactions
probe reaction_z

12.9Linealización de tensiones según ASME VIII-2 (SCL)beta

En recipientes y tuberías, el criterio de resistencia no es el pico, sino las componentes integrales de la tensión a lo largo del espesor de la pared. La línea de clasificación de tensiones (SCL) cruza la pared desde la superficie interior (x=0) hasta la exterior (x=t); los campos a lo largo de ella se descomponen en parte de membrana, de flexión y de pico (ASME BPVC Section VIII Division 2, Annex 5-A; EN 13445-3; GOST 34233).

Se linealizan las componentes del tensor en el sistema local de la línea (el eje x va a lo largo de la SCL; los otros ejes son el meridiano y la dirección circunferencial), y las magnitudes equivalentes se calculan ya a partir del tensor linealizado:

\boldsymbol{\sigma}_m = \frac1t\int_0^t \boldsymbol{\sigma}(x)\,dx,\qquad \boldsymbol{\sigma}_b^{\text{in}} = \frac{6}{t^2}\int_0^t \boldsymbol{\sigma}(x)\left(\tfrac t2 - x\right)dx,\qquad \boldsymbol{\sigma}_b(x) = \boldsymbol{\sigma}_b^{\text{in}}\left(1 - \tfrac{2x}{t}\right),

en la superficie exterior la parte de flexión es igual a -\boldsymbol{\sigma}_b^{\text{in}}. La parte de pico es el resto en las superficies: \boldsymbol{\sigma}_F = \boldsymbol{\sigma}(x_s) - \boldsymbol{\sigma}_m - \boldsymbol{\sigma}_b(x_s). Las integrales se toman con la regla compuesta de Simpson sobre puntos equidistantes a lo largo de la línea. Para cada una de las componentes (P_m, P_b, P_m + P_b en cada superficie, F) se dan las tensiones equivalentes de von Mises y de Tresca (intensidad \sigma_1 - \sigma_3).

Tensiones admisibles (si se han definido las propiedades del material):

S_m = \min\!\left(\tfrac23\,\sigma_y,\ \frac{\sigma_u}{2.4}\right),\qquad P_m \le S_m,\qquad P_m + P_b \le 1.5\,S_m.

El margen es la relación entre el valor admisible y el real. La tensión admisible S_m también puede fijarse directamente.

La línea se define mediante dos puntos (interior, exterior) y un tercer punto para orientar el meridiano o bien mediante el eje del recipiente; el número de puntos a lo largo de la línea es 47 por defecto.

Limitaciones. Se linealizan las tensiones nodales suavizadas: los valores a lo largo de la línea se interpolan linealmente a partir de los cuatro nodos de esquina del tetraedro (los nodos de punto medio de arista de TET10 no se usan). Cerca de un concentrador, este suavizado afecta a P_b y F. La clasificación en membrana general y local P_L, y en tensiones primarias y secundarias Q queda a cargo del ingeniero: el módulo calcula las componentes a lo largo de la línea elegida y compara P_m con S_m y P_m + P_b con 1.5\,S_m. No se realizan la comprobación P_L + P_b + Q \le 3 S_m ni la estimación de fatiga por el pico F. La línea debe ser normal a la pared; la desviación de la normal se señala con una advertencia.
Verificación. En los casos de verificación no hay una entrada aparte para SCL. El algoritmo se comprobó con pruebas unitarias sobre perfiles analíticos: tracción pura (solo P_m), flexión pura (solo P_b), combinación con un pico no lineal e invariancia frente al giro de la línea en el espacio. El subapartado se marca como beta: no hay una referencia independiente tomada de un ejemplo de referencia de ASME. La interfaz de linealización forma parte de la 0.2.1; el comando DSL scl, más tarde.

Dónde está en la interfaz y en DSL

Panel de resultados «Linealización»: tres clics sobre el modelo (puntos interior, exterior y sobre el meridiano), gráfico del diagrama a lo largo del espesor y tabla de componentes.

scl p1=(50,0,0) p2=(62,0,0) samples=47 criterion=tresca
probe scl_pm
probe scl_pm_pb

12.10Focos de concentración e indicador de error de Zienkiewicz–Zhubeta

El máximo de tensión no responde a la pregunta de si se trata de una concentración física (orificio, acuerdo) o de un artefacto de una malla gruesa (esquina de la fijación). A ello responde la estimación del error del campo de tensiones de elementos finitos.

Método

Indicador de Zienkiewicz–Zhu (1987) para mallas de tetraedros (TET4, TET10 y mixtas).

  1. El campo de elementos finitos \boldsymbol{\sigma}_h es discontinuo entre elementos. Se toma en los cuatro puntos de Gauss del elemento (puntos de superconvergencia de las tensiones).
  2. Se recupera el campo continuo \boldsymbol{\sigma}^*: sobre el parche de elementos alrededor del nodo se ajusta un polinomio (SPR, recuperación superconvergente por parches, Zienkiewicz–Zhu 1992); en el nodo se toma el valor de ese polinomio. La recuperación se hace por separado para cada material, de modo que el salto en la frontera entre materiales no se difumina.
  3. El error del elemento es la norma energética de la diferencia:
\eta_e = \lVert \boldsymbol{\sigma}^* - \boldsymbol{\sigma}_h\rVert_{E,e} = \sqrt{\int_{\Omega_e} (\boldsymbol{\sigma}^* - \boldsymbol{\sigma}_h)^{\mathsf T}\,\mathbf{C}^{-1}\,(\boldsymbol{\sigma}^* - \boldsymbol{\sigma}_h)\,d\Omega}.

El error relativo global es \eta = \lVert e\rVert / \sqrt{\lVert\boldsymbol{\sigma}^*\rVert^2 + \lVert e\rVert^2}. Para TET10, la diferencia \boldsymbol{\sigma}^* - \boldsymbol{\sigma}_h en el elemento es un polinomio de segundo grado y la integral se toma de forma exacta (matriz de masas analítica), sin error de cuadratura. Junto al \eta_e absoluto se muestra la densidad de error \eta_e/\sqrt{V_e}, que no depende del tamaño del elemento.

Del error a los focos

  1. Marcado de Dörfler (Dörfler 1996): el conjunto mínimo de elementos que aporta la fracción \theta del error cuadrático total, \sum_{e\in M}\eta_e^2 \ge \theta \sum_e \eta_e^2; la elección clásica es \theta = 0.5. El criterio se define a través del error y no del número de elementos, por lo que no depende del tamaño de la malla.
  2. Unión de los elementos marcados en grupos conexos (por cara común).
  3. Descarte del ruido: los elementos aislados y los grupos muy pequeños suelen estar asociados a un elemento degenerado más que a la física; no desaparecen en silencio, sino que se muestran en el informe como descartados. Si el error del modelo es pequeño y uniforme, no hay focos, y el panel lo indica así.
  4. Ordenación por densidad de error \sqrt{\sum\eta_e^2/\sum V_e}, y no por la suma: la suma pone en primer lugar la región de celdas más grandes.

Para cada foco se da el centro, el radio de la esfera circunscrita, el volumen, la fracción del error total y el tamaño actual del elemento. A partir del foco se construye una zona de refinamiento (esfera) con tamaño h_{\text{new}} = h_{\text{old}}/k (por defecto, la mitad) y un margen para la banda de transición de la malla; puede crearse con un botón o en todos los focos a la vez.

Limitaciones. El indicador estima el error de discretización, y no su causa: en una singularidad auténtica (esquina entrante, fuerza puntual, arista de empotramiento) el error también es alto, habrá un foco y el refinamiento no lo eliminará. La ordenación por densidad solo elimina la influencia del tamaño de los elementos; en problemas donde el artefacto de fijación sigue siendo más fuerte que el concentrador, puede quedar el primero de la lista. La singularidad puede distinguirse mediante la convergencia de malla. El método está definido para tetraedros; para mallas de hexaedros y de láminas no se construyen focos. La estimación no sustituye la comprobación de la convergencia del pico de tensión en una serie de mallas.
Verificación. Índice de efectividad \theta_{\text{eff}} = \eta/\lVert e_{\text{exact}}\rVert en una ménsula con solución exacta de Timoshenko (deformación plana) en tres niveles de malla: SPR, 1,226 → 1,066 → 1,002 (converge a 1); el promediado simple por parche subestimaba el error en aproximadamente un 30 %, por lo que por defecto se usa SPR. La medición se hizo durante el desarrollo en un banco de pruebas con la compilación WASM del núcleo; no se ha repetido en la ruta nativa. El ciclo «error → esfera de refinamiento → recálculo» en una placa con un orificio forma parte del caso Submodelado: concentración en un orificio de Kirsch (desviación de −3,57 % respecto de la solución cerrada con una tolerancia del 5 %). La verificación es estrecha: una geometría y un caso público, por lo que el subapartado se marca como beta.

Dónde está en la interfaz y en DSL

Panel de resultados «Focos»: lista, botones «Esfera aquí» y «Esferas en todos los focos». En DSL, hotspots y el ciclo automático refine adaptive, en el que el usuario fija los errores objetivo: gci (umbral de convergencia de malla, %) y tol (umbral de error ZZ, %).

hotspots refine=2 minsize=0.5
probe hotspot_count
refine adaptive passes=3 gci=5 tol=2

12.11Convergencia de malla: extrapolación de Richardson y GCIbeta

La convergencia del solucionador (caída del residuo dentro de un cálculo) es una cosa; la convergencia de malla (hacia qué valor tiende el pico de tensión al refinar la malla) es otra. El módulo responde a la segunda pregunta con una serie de cálculos independientes sobre una malla cada vez más fina.

Métrica: el máximo del campo dentro de la esfera del foco fijada en la iteración anterior (el máximo global en mallas distintas puede estar en lugares diferentes y no es comparable). El tamaño característico del elemento h se toma de la propia malla en esa esfera como h = (\overline{\Delta V_e})^{1/3} (Celik et al., ASME J. Fluids Eng., 2008), y no del tamaño solicitado: el generador de malla no entrega lo que se le pidió, mientras que el método trabaja con las relaciones de h.

Con las tres últimas mallas (h_1 > h_2 > h_3, valores del pico f_1, f_2, f_3) se calcula:

\varepsilon_{21} = f_2 - f_1,\quad \varepsilon_{32} = f_3 - f_2,\quad r_{\text{eff}} = \sqrt{\frac{h_1}{h_2}\cdot\frac{h_2}{h_3}},\quad p = \frac{\ln\lvert\varepsilon_{21}/\varepsilon_{32}\rvert}{\ln r_{\text{eff}}},
f_{\text{ext}} = f_3 + \frac{\varepsilon_{32}}{r_{32}^{\,p} - 1},\qquad \text{GCI} = \frac{F_s\,\lvert\varepsilon_{32}/f_3\rvert}{r_{32}^{\,p} - 1},\quad F_s = 1.25 \ \text{(Roache)}.

El orden p se calcula con signo, sin el módulo de la notación de Celik: un p negativo es un diagnóstico de divergencia, y no ruido. El veredicto es uno de los siguientes:

  • «convergido»: límite f_{\text{ext}} \pm \text{GCI}\cdot\lvert f_3\rvert, con GCI no superior al objetivo (por defecto, 5 %);
  • «converge, pero la banda aún es ancha»: seguir refinando;
  • «no converge: probablemente singularidad» (p \le 0): añada un acuerdo, un refinamiento adicional no dará respuesta;
  • «historial insuficiente» (menos de tres iteraciones) o «entrada no válida».

Si el signo de los incrementos ha cambiado (la serie oscila alrededor del límite), el veredicto es «seguir refinando»: la extrapolación en una serie así no es fiable.

Limitaciones. Cada iteración es una nueva malla no estructurada con su propio ruido en el pico; la estimación de p con h imprecisos está sesgada (dos mallas no dan nada). Richardson supone un régimen asintótico: para mallas gruesas, el resultado «convergido» no es fiable. La métrica está ligada a un solo foco; otro foco del mismo modelo requiere su propia serie. El módulo no distingue la divergencia física de un defecto del planteamiento (fuerza puntual, empotramiento rígido de aristas).
Verificación. Medición durante el desarrollo (tetraedros TET4, compilación WASM del núcleo; no repetida en la ruta nativa): placa con un orificio (Kirsch, K_t = 3), cuatro iteraciones: pico 2,139 → 2,511 → 2,747 → 2,853 MPa, veredicto «convergido a 2.939 \pm 0.108 MPa» frente al valor exacto de 3,0 MPa (la extrapolación falla en un 2 %); esquina entrante recta: pico 18,0 → 21,9 → 27,6 → 38,9 MPa, p = -1.26, veredicto «probablemente singularidad». No hay en la lista un caso de verificación aparte para la convergencia de malla; uno afín es Submodelado: concentración en un orificio de Kirsch.

12.12Fatiga por curvas S-Nbeta

Estimación de la vida en el régimen de fatiga de alto número de ciclos a partir de tensiones: el cálculo lineal estático da la distribución de tensiones, esta se escala con el historial de carga y la vida se calcula con la curva de Wöhler en cada nodo.

Curva S-N, una de tres:

  • Basquin: \sigma_a = \sigma'_f\,(2N_f)^b, de donde N_f = \tfrac12(\sigma_a/\sigma'_f)^{1/b}; límite de fatiga opcional \sigma_e: por debajo de él, N_f = \infty.
  • De dos pendientes, con un codo en la base N_e: N_f = N_e(\sigma_a/\sigma_e)^{1/b_1} para \sigma_a \ge \sigma_e y N_f = N_e(\sigma_a/\sigma_e)^{1/b_2} por debajo del límite (con b_2 = 0, vida infinita).
  • Tabular: interpolación por tramos en los ejes \log\sigma–\log N.

La corrección por tensión media \sigma_m lleva el ciclo (\sigma_a, \sigma_m) a una amplitud simétrica equivalente \sigma_{a,\text{eq}}:

Método\sigma_{a,\text{eq}}Se necesita
Goodman\sigma_a/(1-\sigma_m/\sigma_u)\sigma_u
Gerber\sigma_a/(1-(\sigma_m/\sigma_u)^2)\sigma_u
Morrow\sigma_a/(1-\sigma_m/\sigma'_f)\sigma'_f
Soderberg\sigma_a/(1-\sigma_m/\sigma_y)\sigma_y

Cuando \sigma_m \ge el límite del denominador, la corrección da infinito (rotura estática). Por defecto, con tensión media de compresión \sigma_m \le 0 no se aplica la corrección (de forma conservadora, \sigma_{a,\text{eq}} = \sigma_a); la consideración del efecto favorable de la compresión se activa de forma explícita.

La carga se define de uno de estos modos: coeficiente de asimetría R = \sigma_{\min}/\sigma_{\max} (por defecto R=-1); rango de escalas; historial de factores de escala de la solución estática; secuencia de resultados de varios pasos (carga no proporcional). El historial se descompone mediante el método de la «lluvia» (rainflow, ASTM E1049-85, §5.4.4) en ciclos cerrados y semiciclos \{\Delta\sigma,\ \sigma_m,\ w\} (peso 1 o 0,5); los semiciclos residuales entran con peso 0,5. Los daños se suman según la regla de Palmgren–Miner:

D = \sum_i \frac{n_i}{N_{f,i}},\qquad N_{\text{blocks}} = \frac1D.

Aquí N_{\text{blocks}} es la vida en repeticiones del bloque de carga dado.

La tensión escalar con la que se cuentan los ciclos es von Mises, von Mises con signo (el signo de la principal mayor en módulo) o \sigma_1. El resultado son los campos de daño D, \log_{10}N_f, amplitud equivalente y coeficiente de seguridad a fatiga n = \sigma_a^{\text{allow}}(N_{\text{target}})/\sigma_{a,\text{eq}}, la relación entre la amplitud admisible a la vida objetivo y la equivalente (acotado superiormente), así como el nodo más crítico.

Limitaciones. El módulo trabaja con las tensiones de la solución lineal elástica (fatiga de alto número de ciclos); no se admiten la redistribución plástica junto a los concentradores, la fatiga de bajo número de ciclos por deformaciones ni los planos críticos para carga multiaxial. El estado multiaxial se reduce a un escalar (\sigma_{\text{vm}} o \sigma_1). No hay correcciones por escala, estado superficial ni factor de concentración K_f: deben incorporarse a la curva. La curva S-N es una propiedad del material que define el usuario; en DSL, cuando no se fijan los parámetros, se sustituye una curva generalizada de acero, apta solo para comprobar el guion. Las tensiones nodales se promedian (véase la recuperación de tensiones), lo que influye en la estimación junto a los concentradores.
Verificación. Las fórmulas de las curvas S-N, las correcciones y el rainflow (incluido el ciclo interior cerrado y el exterior) se comprobaron con pruebas unitarias frente a valores analíticos; no hay un caso de verificación de fatiga aparte en la lista. La función se incorporó después de la versión 0.2.1.
fatigue sigma_f=900e6 b=-0.09 sigma_e=200e6 sigma_u=600e6 correction=goodman r_ratio=0
probe fatigue_min_log_life

12.13Mecánica de la fractura: estimación de KI, J y crecimiento de grieta según Parisexperimental

El módulo da estimaciones de ingeniería mediante fórmulas cerradas de la mecánica de la fractura elástica lineal y la tensión en el lugar de la supuesta grieta. No es un cálculo de la integral J por contorno o dominio alrededor del extremo de la grieta ni un cálculo sobre una malla con grieta.

Fórmulas.

  • K_I = Y\,\sigma\sqrt{\pi a}; para una grieta central 2a en una placa infinita, Y=1 y K_I = \sigma\sqrt{\pi a}.
  • Tasa de liberación de energía (Griffith–Irwin): G = K_I^2/E', donde E' = E (tensión plana) o E/(1-\nu^2) (deformación plana).
  • Crecimiento de grieta por fatiga según Paris: da/dN = C\,(\Delta K)^m, \Delta K = Y\,\Delta\sigma\sqrt{\pi a}. Con Y constante, la integral se toma analíticamente: N = \dfrac{a_f^{\,1-m/2} - a_0^{\,1-m/2}}{(1-m/2)\,C\,(Y\Delta\sigma\sqrt\pi)^m} (para m=2, N = \ln(a_f/a_0)/[C(Y\Delta\sigma\sqrt\pi)^2]).
  • Criterio de inicio de propagación: la grieta es inestable cuando K_I \ge K_{Ic}; longitud crítica a_c = \dfrac1\pi\left(\dfrac{K_{Ic}}{Y\sigma}\right)^2, margen n = K_{Ic}/K_I.
  • Para probetas DCB (modo I) y ENF (modo II), el módulo contiene fórmulas de viga para la flexibilidad, G y la carga crítica; se usan en los casos de verificación de zonas cohesivas.

Estimación por arista (fracture edge number N): el usuario indica la arista (lugar de la supuesta grieta), las longitudes inicial y final a_0 y a_f, los parámetros de Paris C, m, la tenacidad K_{Ic} y el factor de forma Y. En los nodos de la arista se toma la tensión de apertura \sigma_{\text{open}}: la mayor tensión principal del cálculo del modelo sin grieta. A continuación K_I = Y\,\sigma_{\text{open}}\sqrt{\pi a_0}, J = K_I^2/E', y el número de ciclos se obtiene integrando la ley de Paris con \Delta\sigma = \sigma_{\text{open}} (ciclo «de cero al máximo»). Unidades: K_{Ic} en MPa·√m, C para \Delta K en MPa·√m y longitud de grieta en metros; en el panel de resultados, a_0 y a_f se introducen en milímetros, y en DSL, en metros.

Limitaciones. Es una estimación del tipo «tensión × fórmula para una grieta idealizada», y no el campo alrededor del extremo. «J» aquí es K_I^2/E', un equivalente energético y no una integral de contorno independiente, y no comprueba K_I. La solución es sensible a la elección de a_0 e Y (los fija el usuario) y a cuánto suaviza la malla la tensión en el lugar de la grieta (el promediado nodal subestima el pico; para una grieta pequeña en un gradiente de tensión, la estimación no es aplicable). Solo el modo I; no se tienen en cuenta los modos mixtos, la plasticidad en el extremo ni la interacción de grietas. El crecimiento según Paris es una estimación del número de ciclos con \Delta\sigma constante sin considerar el umbral \Delta K_{th}, el efecto de la asimetría del ciclo ni las sobrecargas. Las zonas cohesivas (delaminación, modo I/II) y la plasticidad porosa de Gurson son modelos de material aparte y no participan en esta estimación.
Verificación. Los casos Grieta central KI, Ley de Paris con ΔK constante y Energía de Griffith contrastan, según la descripción de los casos, la implementación de las fórmulas cerradas con valores de referencia (desviación del 0 %): se comprueban la aritmética y las unidades, y la extracción por elementos finitos de K_I o J no participa en ellos. No hay contraste con una solución numérica independiente (grieta en la malla, integral de contorno), por lo que el subapartado se marca como experimental.
fracture edge number 7 a0=0.002 af=0.008 c=1e-11 m=3 ki_c=50
probe sif_k1
probe paris_cycles

12.14Calculadora de campos: expresiones de usuarioestable

El ingeniero define su propio campo (una expresión sobre los campos nodales del resultado) y este se colorea sobre el modelo como uno incorporado: con leyenda, sonda y filtro por valor.

La expresión se construye con variables: componentes de tensión sxx … szx, vm, s1 s2 s3, componentes de deformación exx … gxz, eeq, epeq, desplazamientos ux uy uz umag, así como números, constantes y funciones (abs sqrt cbrt sign exp log log10 sin cos tan atan atan2 min max hypot clamp pow, aritmética y potencia). El análisis sintáctico es seguro (sin ejecución de código arbitrario).

Las dimensiones se comprueban en la etapa de análisis. Dentro de la expresión todo está en SI (Pa, m). Las unidades son magnitudes con nombre: la tensión admisible se escribe 250*MPa, y no 250e6. La expresión 250e6/vm se rechaza (dimensión 1/Pa), igual que vm + 5 (no se puede sumar una presión con un número). La dimensión del resultado se deduce de la expresión: Pa → «presión» (visualización en MPa, psi o Pa según el sistema de unidades), metro → «longitud», 1 → adimensional; otras potencias no se pueden mostrar, y la expresión se rechaza nombrando la dimensión. El unit= opcional es una afirmación sobre la dimensión: si no coincide, se rechaza.

Margen de resistencia según un criterio propio (tipo de campo aparte): K = [\sigma]/f(\boldsymbol\sigma), donde f es un criterio en unidades de presión (por ejemplo vm o max(s1, -s3*ft/fc)) y [\sigma] es una tensión admisible constante. Con f=0 el margen queda limitado por el techo; con f<0 o con un valor no numérico, el nodo queda indefinido.

Un nodo donde el valor no está definido recibe «no es un número» y se contabiliza: su cantidad y la primera causa se entregan en el informe; no se sustituye por un cero silencioso.

Limitaciones. La expresión actúa sobre campos nodales (promediados), y no sobre los puntos de Gauss. Las variables que no están en el resultado (por ejemplo, epeq en un cálculo lineal) se rechazan con su nombre. Para las envolventes del análisis espectral, las tensiones principales y los invariantes no están definidos (las amplitudes de las componentes no forman un tensor con signo), y tales variables se rechazan.
Verificación. Las pruebas unitarias contrastan el von Mises construido a partir de las componentes con una fórmula de usuario frente al campo incorporado en 1000 nodos, las ternas principales, el criterio de Tresca mediante \sigma_1 - \sigma_3, la conversión de unidades y los rechazos por dimensiones. En la lista no hay casos de verificación independientes: el campo es una composición de magnitudes incorporadas.
field define name=sigma_ratio expr="vm / (250*MPa)" unit=none
field safety name=n_shell criterion="vm" allowable="250*MPa"
probe n_shell

12.15Sondas, filtros y medicionesestable

En la interfaz la sonda se coloca con un clic sobre el modelo; el panel muestra el valor del campo en el nodo. Las autosondas marcan el mínimo y el máximo del campo elegido sobre el modelo. El filtro por valor deja sobre el modelo solo los nodos fuera o dentro de un rango dado. El rango de la escala de colores puede fijarse a mano (en las unidades de visualización del sistema elegido).

En DSL:

probe displacement_magnitude at=0,0,100
minmax vonMises
legend range min=0 max=250
result field vonMises

probe <magnitud> at=… promedia el campo sobre los nodos que caen en la ventana de tolerancia tol= alrededor de las coordenadas dadas (sin interpolación; si se da una sola coordenada, se obtiene la media sobre el corte); si en la ventana no hay nodos, el comando se rechaza y pide ampliar la tolerancia. minmax devuelve el mínimo y el máximo sobre todo el arreglo nodal (el valor de la expresión es el máximo). Están disponibles las magnitudes: desplazamientos, vonMises, principalMax, principalMin, componentes del tensor, tensiones locales del material, reacciones (reaction_x, reaction_y, reaction_z, reaction_magnitude), resultados de linealización, fatiga, mecánica de la fractura, optimización, así como magnitudes dinámicas y de frecuencia. La lista completa está en la página /docs/dsl.

Limitaciones. La sonda no interpola el campo dentro del elemento: su valor es la media de los nodos de la ventana, y los propios valores nodales están promediados (véase la recuperación de tensiones). El ancho de ventana por defecto está ligado al tamaño de la malla; para picos agudos fije tol= de forma explícita.
Verificación. Las sondas y minmax se usan como instrumento de medida en todos los casos de verificación; su propio comportamiento (unidades, agregados, rechazos ante argumentos erróneos) se comprobó con pruebas de guion.

12.16DOE paramétrico y optimización con modelo sustitutoexperimental

La sección «DOE paramétrico y optimización» se compone de tres bloques; ninguno de ellos está aún vinculado con el cálculo del modelo de elementos finitos.

  • Diseño de experimentos. Hipercubo latino (LHS) con selección entre varios candidatos por la máxima distancia mínima entre puntos (maximin); generador determinista con semilla fijable. El modo denominado «Sobol» está implementado como una secuencia de Halton (inversión radical sobre bases primas): de baja discrepancia, pero no es Sobol.
  • Modelo sustituto. Kriging ordinario (proceso gaussiano con tendencia constante): correlación gaussiana o exponencial, Cholesky de la matriz de correlación, predicción de la media y de la varianza, mejora esperada (Expected Improvement) para la optimización bayesiana. Las longitudes de correlación se ajustan con una heurística basada en las distancias medias entre puntos, y no maximizando la verosimilitud.
  • Optimizador con restricciones. Conjunto inicial de puntos DOE y después una búsqueda local por patrón (coordenada a coordenada, con reducción del paso a la mitad cuando no hay mejora) sobre la función de penalización f(\mathbf p) + c\,v(\mathbf p)^2, donde v es la mayor violación de una restricción. Se entregan el óptimo, el frente de Pareto sobre los puntos admisibles, el historial y las sensibilidades por diferencias finitas \partial f/\partial p_k en el óptimo. No es un método SQP: no tiene gradientes ni subproblemas cuadráticos.

Las restricciones se fijan sobre la tensión, la frecuencia, el coeficiente de pérdida de estabilidad y el desplazamiento; los objetivos y las direcciones de las entidades se rigen por las mismas reglas de numeración que el resto del producto (numeración del documento, sin direcciones bbox).

Limitaciones. En la compilación actual, tanto la sección de la interfaz como el comando DSL doe run calculan el objetivo y las restricciones con funciones modelo incorporadas (la masa, como producto de las dimensiones de un prisma; la tensión y la frecuencia, dependencias simplificadas de la altura y la longitud), y no con el cálculo de su modelo; los parámetros por defecto son longitud, anchura y altura. El modelo sustituto y la mejora esperada están implementados y comprobados en pruebas, pero no se invocan en el escenario completo del producto. Por ello el resultado muestra el funcionamiento de los algoritmos, y no el diseño óptimo de su pieza. El resultado doe_best_mass no puede usarse como conclusión de ingeniería.
Verificación. Pruebas unitarias: reproducibilidad de LHS y Halton, pasos de los parámetros, interpolación del kriging con varianza nula en los puntos de entrenamiento, fórmula de EI, optimización con restricciones de una ménsula modelo. No hay contraste en un modelo real; no hay casos de verificación en la lista.
doe param name=thickness min=1 max=10
doe run method=lhs samples=20 objective=mass
probe doe_feasible_count

12.17Exportación de resultadosestable

  • VTK (legacy ASCII, UNSTRUCTURED_GRID) para ParaView: nodos de la malla sin deformar, celdas de todos los tipos admitidos (TET4, TET10 cuadrático, HEX8, prismas, pirámides), desplazamientos como campo vectorial VECTORS (para Warp By Vector), escalares nodales (módulo del desplazamiento, von Mises, \sigma_1, \sigma_3, margen de resistencia, deformaciones, contacto, reacciones en N) y temperatura. Las unidades figuran en los nombres de los campos. En la interfaz, desde el menú del proyecto; en DSL, export vtk path=... (la escritura en un archivo según la ruta funciona en el entorno de escritorio y de guiones).
  • Malla en el formato de los paquetes de cálculo: export mesh file="model.inp", si es necesario con la geometría deformada y la escala de los desplazamientos.
  • Informe HTML: parámetros del cálculo, sondas e instantánea de la vista; los números se muestran en el sistema de unidades elegido.
Limitaciones. En VTK se exportan los campos nodales tras el promediado (no hay valores por elemento). Para las envolventes espectrales, las componentes se escriben como escalares independientes (FIELD), y no como un vector con signo: no se les puede aplicar Warp By Vector. El archivo es ASCII y para modelos grandes resulta pesado.
Verificación. No hay casos aparte; la corrección de las unidades en los nombres de los campos y la composición de los campos se comprueban con pruebas durante la exportación.

12.18Leyenda y vista deformadaestable

La escala de colores sobre el modelo toma el rango del campo (mínimo y máximo sobre los nodos), y su rotulación procede de la tabla de unidades del sistema elegido; el rango puede fijarse a mano (doble clic en los extremos de la escala o legend range min= max=). Para el contacto la escala es categórica (estado); para el margen de resistencia, los valores por encima del techo se rotulan como «infinito». La vista deformada dibuja \mathbf{x} + s\,\mathbf{u} con una escala s que elige el usuario; con s = 1 se muestra la deformación real y con mayor s una deformación convencional, por lo que los números deben tomarse de las sondas y de la leyenda, y no de la imagen.

Limitaciones. A gran escala, la forma deformada es una ilustración y no la geometría del cuerpo cargado. Los números de la escala se refieren al campo nodal promediado y no a los valores en los puntos de Gauss.

13Proyectos, guiones y automatización

↑ Volver al índice

En WebCAE un mismo cálculo puede realizarse de tres maneras: con el ratón en la interfaz, con un guion en el lenguaje DSL integrado o encargándolo a un asistente de IA externo a través de MCP. Las tres vías trabajan con un mismo modelo y con los mismos comandos, por lo que el resultado no depende de cómo se haya obtenido. Esta sección describe el flujo de trabajo, el archivo de proyecto, el lenguaje de guiones, la conexión de asistentes, los ejemplos listos para usar, el intercambio de datos y la localización.

Para qué le sirve esto al ingeniero. El guion convierte el cálculo en un documento reproducible: puede ponerse junto al informe, reejecutarse en una versión nueva y comparar los números. El archivo de proyecto almacena el modelo junto con los resultados, y no solo los datos de partida. La referencia detallada de los comandos DSL se mantiene aparte: Lenguaje de guiones DSL.

13.1Flujo de trabajo: seis pasosestable

La interfaz está organizada como una cadena de seis pasos. A cada paso le corresponde una pestaña de la barra superior y su propio panel de parámetros.

PasoQué hace el ingenieroQué se obtiene
1. GeometríaConstruye primitivas y croquis, importa STEP e IGES, corta, pega y repara la geometría (véase Geometría y CAD)Cuerpos, láminas y líneas con numeración de caras, aristas y vértices
2. ModeloDefine materiales y los asigna a los cuerpos, secciones de vigas, espesores de láminas, gruposModelo de cálculo sin cargas
3. Cargas y CCColoca fijaciones, fuerzas, presiones, temperaturas, contactos y restriccionesRegistros de condiciones de contorno vinculados a los números de las entidades
4. MallaElige el tipo de malla, el tamaño de elemento, el orden de los elementos, las zonas de refinamientoMalla de tetraedros, hexaedros, láminas o vigas
5. CálculoElige el tipo de análisis y los parámetros del solucionador, lanza el cálculoCampos de desplazamientos, tensiones, temperaturas, frecuencias, modos, coeficientes de estabilidad
6. ResultadosExamina campos, sondas, reacciones, secciones, exportaTablas, imágenes, archivos

El tipo de análisis del paso 5 se elige entre los grupos: estructural (estática, análisis modal, estabilidad, respuesta armónica, dinámica transitoria), térmico, dinámica explícita y CFD. Los modelos de vigas y láminas definidos con los comandos frame recorren los mismos pasos, pero en los pasos 3 y 4, en lugar de los paneles habituales, muestran el panel de pórtico.

Los pasos no forman un flujo rígido. Se puede volver a cualquier paso disponible. Los pasos «Geometría», «Modelo» y «Cargas y CC» están siempre abiertos; «Malla» y «Cálculo» esperan a una geometría o una malla, y «Resultados» se abre cuando hay un resultado de cálculo. Los cambios del modelo pueden deshacerse y rehacerse (Undo y Redo).

El autoguardado escribe una instantánea del modelo (sin resultados) en el almacenamiento local del navegador o de la aplicación, para sobrevivir a una recarga de la pestaña o a un fallo. Es una red de seguridad, y no un sustituto de guardar el proyecto en un archivo.

Limitaciones. El autoguardado no se transfiere entre dispositivos y no almacena resultados: tras la restauración hay que repetir el cálculo. El tamaño de la instantánea de autoguardado es limitado; un modelo muy grande debe guardarse en un archivo de forma explícita.
Verificación. No hay un caso de verificación aparte para el propio orden de los pasos. Los modelos de todos los casos del catálogo de verificación recorren la misma cadena mediante la capa de comandos, y la construcción del modelo por pasos y las transiciones entre pestañas están cubiertas por pruebas de la interfaz.

13.2Archivo de proyecto .wceestable

El proyecto se guarda en un único archivo con la extensión .wce. La extensión anterior .caeweb sigue abriéndose; al guardar de nuevo se propone .wce. La extensión no dice nada sobre el contenido: el lector determina el formato por la firma y la compresión, por lo que un archivo renombrado se abre igual.

Dentro se encuentra el modelo completo, y no solo los datos de partida.

  • Geometría: bytes del STEP original, B-Rep comprobado de cada cuerpo, cuerpos creados e importados, instantánea de la topología con identificadores estables, registro de numeración de entidades.
  • Modelo: materiales y su asignación, secciones, grupos, condiciones de contorno, cargas, contactos y restricciones, ajustes de malla y de cálculo.
  • Malla: tetraedros, hexaedros, elementos híbridos y mallas superficiales con la calidad de los elementos.
  • Resultados: estática, campo térmico, explícito, respuesta armónica, resultados de pórtico (estática, modos, estabilidad, dinámica), historial de los pasos de carga, archivo de las reconstrucciones adaptativas.

Los arreglos de números (nodos, elementos, campos) se almacenan en un bloque binario sin recodificación a texto, y todo el contenedor se comprime con gzip. El archivo registra la versión del esquema de datos. Los archivos antiguos se abren con la versión nueva de la aplicación: los campos ausentes toman valores por defecto y las direcciones obsoletas de entidades se convierten a la numeración al leer. Una compilación antigua se niega a abrir un archivo de un esquema más nuevo, en lugar de leerlo con pérdida de datos.

No se guardan el estado temporal de la interfaz (pestaña actual, estados, selección), la serie parcial de un cálculo interrumpido, los guiones ni el registro del terminal. El proyecto se abre desde el menú «Proyecto», arrastrando el archivo a la ventana, con doble clic en el escritorio (la aplicación se registra para .wce) y con el comando cae_open_project para los asistentes. El menú «Proyecto» también guarda los resultados por separado del modelo y los vuelve a leer.

Limitaciones. Los guiones y el registro de acciones no se incluyen en el archivo; guárdelos al lado. Los fotogramas de cálculos CFD grandes no entran en el archivo: este almacena los metadatos y una referencia a la sesión de cálculo, y los campos se leen del directorio de la sesión en la misma máquina. La escritura y la apertura del proyecto no existen como comandos DSL; se hacen desde el menú o mediante MCP. El archivo de un modelo grande con resultados puede ocupar cientos de megabytes.
Verificación. El guardado y la lectura en ciclo completo (modelo, mallas, resultados, migración de esquemas antiguos, rechazo ante un esquema más nuevo) están cubiertos por pruebas unitarias. El formato no tiene un caso de verificación independiente, y para un archivo no tendría sentido: se comprueba la integridad de los datos, no la física.

13.3Capa de comandos única y registro de accionesbeta

Cada función del producto se incorpora como un comando de la capa de comandos única. El botón de la cinta, la opción del menú contextual, la línea de DSL y la llamada de un asistente acceden a una misma función. El formulario de la interfaz y el guion no duplican la lógica, por lo que una misma operación da el mismo resultado por cualquier vía. Es una regla de desarrollo: una nueva capacidad se considera terminada cuando es accesible tanto desde la interfaz como desde un guion.

Hay tres superficies disponibles. La primera es la interfaz. La segunda es el lenguaje DSL, línea a línea. La tercera es la interfaz de programación cae.* en JavaScript, a través de la cual funcionan el terminal y el puente MCP. En el terminal de la parte inferior de la ventana, una línea que empieza por cae. se ejecuta como JavaScript; las demás líneas se prueban primero como JavaScript y después como DSL. Se pueden pegar varias líneas a la vez.

El registro de acciones se construye automáticamente. El terminal muestra dos canales: los comandos del núcleo de cálculo (geometría, malla, materiales, CC, lanzamiento del cálculo; se muestran siempre) y los eventos de la interfaz (cambio de pestaña, selección, visibilidad, cámara; se activan con la casilla «Eventos de IU»). Los comandos se registran en forma de llamadas cae.*, por ejemplo cae.fix(...) o cae.setMeshOrder(...). Esa línea puede copiarse y ejecutarse de nuevo, es decir, es posible componer una macro a partir del registro.

Limitaciones. El registro anota llamadas cae.*, y no líneas de DSL, y no se guarda en el proyecto. No todas las operaciones tienen una línea reproducible: parte de los eventos se anota como un comentario legible. La selección con el ratón en la vista 3D y los ajustes de visualización existen solo en la interfaz. La cobertura de DSL es incompleta y varios modos se rechazan en el guion con una explicación en lugar de sustituirse en silencio; la lista de limitaciones se mantiene en la página de DSL. Algunos comandos funcionan solo dentro de la aplicación, por ejemplo la búsqueda automática de pares de contacto contact pairs. Por eso el estado es beta: el principio se cumple para la cadena principal, pero no está garantizado para cada operación.
Verificación. La conversión de acciones en líneas del registro está cubierta por pruebas unitarias; no hay casos de verificación para la capa de comandos.

13.4Reproducibilidad de los resultadosbeta

Para poder repetir un cálculo se necesitan el guion, la versión del programa y la plataforma. En una misma plataforma, la repetición del mismo guion da la misma malla y los mismos números: el generador de malla es determinista. Entre el escritorio y el navegador, las mallas de una misma geometría pueden diferir, por lo que los números de plataformas distintas se comparan indicando la plataforma (véanse las discrepancias entre plataformas).

El resultado lleva una marca de «época del solucionador». Cuando se corrige en el solucionador un error por el cual los números de un resultado guardado podían salirse de la tolerancia del 5 %, el número de época aumenta. Al abrir un proyecto guardado antes de esa corrección, el programa muestra un aviso persistente: «los resultados pueden estar obsoletos». El propio resultado no se elimina: puede compararse con un recálculo. El mismo veredicto lo entregan el informe, DSL (el campo staleResults en la respuesta del intérprete) y MCP.

La versión del producto es visible en los paneles, en la ventana «Acerca de» y en «Ajustes → Actualizaciones», en la respuesta de cae_get_state y en la propiedad cae.version. Un clic en el número de versión abre el historial de cambios.

Limitaciones. En el archivo de resultados se almacena el número de época del solucionador, y no el número de versión del producto. La época cambia solo con una corrección que cambia los números; la refactorización pura y la aceleración no la incrementan. El determinismo se refiere a una plataforma y una versión. No puede garantizarse la reproducción estricta del resultado con otra versión del programa: anote la versión en el informe.
Verificación. Las épocas y el veredicto de obsolescencia están cubiertos por pruebas unitarias, incluido el rechazo ante un resultado sin marca. El pasaporte de versión de las fichas de verificación se describe en el subapartado Versiones y pasaporte del resultado.

13.5Lenguaje de guiones DSLestable

DSL es un lenguaje de comandos de texto. El guion es un archivo UTF-8 ordinario, un comando por línea; los comentarios empiezan por # o //, los bloques y bucles se encierran entre { }. Cada comando es una palabra seguida de argumentos posicionales y con nombre de la forma clave=valor. Los vectores se escriben con números separados por comas: origin=0,0,10. Los números admiten exponente: E=200e9.

El lenguaje contiene variables (let), condiciones (if/else), bucles (for x in [0..3], while), funciones (func/return) y funciones integradas (abs, sqrt, min, max, floor, ceil, round, len, str, num, basename). La salida es print; el registro de valores en la respuesta estructurada, record. Como protección contra bucles infinitos, el número de pasos de ejecución está limitado a un millón y la profundidad de recursión, a 64.

Los comandos abarcan toda la cadena: geometría (primitive, boolean, sketch, extrude, import), material y secciones (material, section, assign), malla (mesh, refine), condiciones de contorno (fix, load, contact, remote), cálculo (solve static|modal|buckling|thermal|nonlinear|...), resultados (probe, minmax, reactions, hotspots) y salida (export vtk). La unidad de longitud del guion se fija con el comando units; las cargas y las constantes del material se dan en SI.

Direccionamiento de entidades

Las caras, aristas y vértices se direccionan únicamente con los números del árbol del modelo: surface number N, edge number N, vertex number N. La palabra de tipo es obligatoria. Las direcciones por dimensiones (face z-) y los índices desnudos se rechazan con un error de sintaxis. Los números se conocen con el comando list faces of body1 o list edges of body1. En el guion, el resultado de list puede guardarse en una variable: cada cara tiene .n (número), .area, .centroid, .normal. Esto permite elegir caras por un criterio y sustituir el número en el comando: fix surface number faces[0].n. Más detalles, en el subapartado Numeración de la topología.

Ejemplo de guion desde la geometría hasta el resultado

Un prisma en voladizo de sección 20×20 mm y longitud 100 mm: empotramiento en un extremo, tracción con una fuerza de 5000 N en el otro. Tetraedros de segundo orden, estática lineal y después comprobación con la fórmula \delta = FL/(EA).

# Prisma en voladizo 20x20x100 mm, tracción de 5 kN a lo largo del eje z
units mm
material E=200e9 nu=0.3 density=7850
primitive box dx=20 dy=20 dz=100
mesh tet size=8 order=2
fix surface number 5
load surface number 6 force=5000 component=z
solve static
reactions
minmax vonMises
minmax displacement_magnitude

En este ejemplo, la cara 5 es el extremo en z=0 y la cara 6 es el extremo en z=100 mm. En un paralelepípedo las caras se numeran en el orden x-, x+, y-, y+, z-, z+; en otros cuerpos, consulte los números con el comando list faces of body1 antes de colocar las CC. Resultado esperado: la reacción total es igual en módulo a la fuerza aplicada (5000 N) y el mayor desplazamiento del extremo es próximo al analítico \delta = FL/(EA) = 5000\cdot 0.1/(2\cdot 10^{11}\cdot 4\cdot 10^{-4}) \approx 6.25\cdot 10^{-6} m. El empotramiento prohíbe por completo los desplazamientos en el extremo, por lo que junto a él aparece un concentrador local y la mayor tensión de von Mises superará la homogénea F/A = 12.5 MPa. Para comparar con la solución analítica, tome valores lejos del empotramiento.

El guion se ejecuta en el terminal de la aplicación o desde MCP con el comando cae_run_script; la salida de print y los valores registrados con record se devuelven junto con el estado de ejecución.

En el guion, el resultado de list puede guardarse y recorrerse con un bucle, por ejemplo, para mostrar los números, las áreas y las normales de las caras.

let faces = list faces of body1
for f in faces {
  print f.n f.area f.normal
}
Limitaciones. Un guion sin el comando units se considera métrico (en metros), por lo que mesh tet size=6 en él significa seis metros: empiece el guion con units mm. Parte de los comandos funciona solo dentro de la aplicación, con un modelo abierto, y no en una ejecución sin interfaz. Los modos que no están disponibles en el guion o que se rechazan con una explicación se enumeran en la página de DSL, en la sección de limitaciones conocidas; el lenguaje no garantiza que cada operación de la interfaz tenga un comando.
Verificación. Casi todo el programa de verificación está escrito en DSL: el guion ejecutable se publica en la página de 207 casos de 213, por ejemplo Viga en voladizo de Timoshenko y Placa con un orificio. El conjunto de casos DSL en la ruta nativa se supera con una desviación dentro de la tolerancia; los detalles, en la sección Plataformas, rendimiento y control de calidad.

13.6Servidor MCP para asistentes de IAbeta

MCP (Model Context Protocol) es un protocolo abierto mediante el cual un asistente (Claude Desktop, Claude Code, Cursor y similares) invoca herramientas. WebCAE incluye un puente local que conecta al asistente con la ventana abierta de la aplicación. El asistente trabaja con un modelo real: abre un proyecto, examina caras y aristas, asigna un material, coloca condiciones de contorno, genera la malla, lanza el cálculo, obtiene los números y una captura de pantalla.

Las herramientas están tipadas y se dividen en grupos: inspección (cae_inspect_surfaces, cae_inspect_edges, cae_get_state, cae_get_model_context), construcción (cad_create_from_template, cad_create_from_script, cae_import_step_artifact, cae_open_project), definición del modelo (cae_set_material, cae_add_boundary_condition), cálculo y visualización (cae_solve, cae_screenshot) y el universal cae_run_script, que recibe un guion DSL como cadena y devuelve la salida de print, los valores registrados con record y los estados. Los destinos de las condiciones de contorno se direccionan con los mismos números surface number N; el puente rechaza los seudónimos por ejes («cara superior»). La lista de herramientas y sus parámetros: Servidor MCP.

El puente escucha solo en la dirección local. En la compilación de escritorio de lanzamiento está desactivado por defecto: la conexión no tiene autorización, y un puerto abierto de forma permanente entregaría el modelo a cualquier proceso de la máquina. Se activa con el botón «MCP» de la barra superior o al iniciar la aplicación. La ventana activa de la aplicación es única: si hay varios clientes conectados, los comandos van a una sola ventana y los demás esperan.

Limitaciones. El puente está pensado para la aplicación de escritorio y un único proyecto abierto; no hay acceso al modelo desde la nube. La calidad del resultado depende del asistente: invoca los mismos comandos, pero decide cuáles. Por ello, compruebe las condiciones de contorno y los números igual que tras un trabajo manual. El puente funciona en local, pero todo lo que el asistente haya leído de las respuestas de las herramientas llega al proveedor de su modelo conforme a los ajustes del cliente elegido.
Verificación. Las herramientas del puente y el análisis de sus respuestas están cubiertos por pruebas automáticas. No hay casos de verificación del propio protocolo; la física la comprueban los casos de la sección de verificación.

13.7Biblioteca de ejemplosbeta

La aplicación incluye proyectos listos con resultados calculados: unos noventa en la versión 0.2.1 y más de cien en la rama de trabajo. Se abren desde el menú «Ejemplos» de la barra superior, desde «Ajustes → Abrir ejemplo» y mediante un enlace del tipo ?example=<id>. El proyecto se abre de inmediato con los campos de resultados, la leyenda y las sondas; no hace falta repetir el cálculo. Los ejemplos están agrupados por sectores (automoción, construcción de maquinaria, transporte ferroviario, minería, petróleo y gas, energía, aeronáutica y espacio, construcción, construcción naval) y por tipos de análisis: estática, análisis modal, estabilidad, grandes flechas, contacto, restricciones RBE2, CFD (RANS), estructuras de pórticos y de láminas. El escaparate del sitio muestra los mismos modelos.

Un conjunto aparte lo forman los casos no lineales y multifísicos: frenado de una zapata con fricción, sismo en una torre con restricciones RBE2, snap-through dinámico de un arco, calentamiento por efecto Joule de una barra colectora con choque termoelástico y, en la rama de trabajo, además un silentblock hiperelástico, un sector de disco de turbina con fluencia y fatiga, la delaminación de una viga bicapa DCB y la cavidad acústica de un silenciador. De cada uno se conservan el guion de construcción y el pasaporte numérico. Los casos añadidos después de la versión 0.2.1 no figuran en él.

Limitaciones. Los ejemplos son demostrativos y no de verificación: muestran lo que sabe hacer el programa y no acreditan la precisión. Los números se obtuvieron en una versión concreta; si el solucionador ha cambiado desde entonces, el programa mostrará un aviso de resultados obsoletos. Los ejemplos grandes se calcularon en el escritorio; la memoria de la pestaña puede impedir recalcularlos en el navegador.
Verificación. La verificación la constituye el catálogo de Verificación, y no los ejemplos. La carga del catálogo y de los proyectos guardados está cubierta por pruebas unitarias.

13.8Intercambio de datos: proyectos, resultados, geometríabeta

El menú «Proyecto» reúne las operaciones de intercambio.

  • Geometría: importación de STEP e IGES (véanse Importación de STEP e Importación de IGES y STL), exportación a STEP e IGES cuando hay geometría.
  • Proyecto: «Nuevo proyecto», «Guardar proyecto…», «Abrir proyecto…» (formato .wce, véase más arriba).
  • Resultados: «Exportar resultados…» e «Importar resultados…» trabajan con archivos .wce y .caeweb, y la importación acepta también .vtk. Esto permite pasar a un colega los campos de resultados sin transferir todo el proyecto.
  • VTK: exportación de la malla con campos al formato .vtk, que lee ParaView. Para los cálculos explícitos y CFD se usa el VTK generado por el módulo de cálculo.
  • DSL: export vtk [path=...].

En el escritorio los diálogos de archivo son los del sistema. En los navegadores con File System Access API (Chrome, Edge), el proyecto se guarda directamente en el archivo elegido; en los demás (Safari, Firefox) se descarga como un archivo ordinario.

Limitaciones. La exportación VTK contiene la malla y los campos, pero no las condiciones de contorno ni los materiales: es un formato de visualización y no de intercambio de modelos. La importación de resultados restaura los campos sobre la malla del archivo y no transfiere la definición del cálculo. La relación con los sistemas CAD se reduce a archivos STEP e IGES; la sincronización con Onshape y el conector de FreeCAD se describen en la sección Geometría y CAD.
Verificación. El intercambio en ciclo completo de proyectos y resultados está cubierto por pruebas unitarias. Los campos exportados no se han contrastado automáticamente con paquetes independientes (ParaView).

13.9Intercambio de mallas y exportación de la forma deformadaexperimental

En el árbol de trabajo, pero no en la versión publicada 0.2.1, se han añadido el intercambio de mallas de elementos finitos y la exportación de resultados a formatos de tipo CAD. La importación y exportación de mallas Abaqus (.inp), Gmsh (.msh) y Nastran (.bdf), y la exportación de la forma deformada y de la isosuperficie de tensiones a STL y STEP se abren desde las opciones del menú «Proyecto» cuando hay una malla o un campo de desplazamientos. Más detalles sobre la importación de mallas y sus limitaciones, en el subapartado Importación y exportación de mallas.

Limitaciones. Estas funciones no entraron en la versión publicada, y el formato de su menú y su comportamiento pueden cambiar. La importación acepta solo tetraedros lineales. La exportación de la forma deformada a STEP es una lámina facetada de triángulos, y no un B-Rep: sirve para visualizar, no para diseñar.
Verificación. No hay contraste con paquetes independientes; la importación y exportación en ciclo completo se comprobaron con pruebas unitarias.

13.10Localización y sistemas de unidadesbeta

La interfaz está traducida a cuatro idiomas: inglés, ruso, español y chino. El idioma se determina por la dirección de la página, el parámetro lng, el ajuste guardado y el idioma del navegador; se cambia en los ajustes. El inglés es el idioma de origen: si no hay traducción, se muestra el texto en inglés y no una clave interna.

La completitud de la traducción no es uniforme. Las localizaciones española y china cubren casi todas las cadenas del inglés (alrededor del 98 %). La localización rusa a finales de octubre de 2026 está traducida aproximadamente en tres cuartas partes: quedan sin traducir varios paneles, entre ellos parte de las etiquetas generales, los editores de materiales y secciones, los planos y sistemas de coordenadas y el menú contextual del árbol. Esos lugares se muestran en inglés.

Las unidades se eligen con independencia del idioma. Hay tres sistemas de entrada disponibles: SI (m, N, Pa, kg), métrico de ingeniería (mm, N, MPa, °C) e imperial (pulgada, libra-fuerza, psi, °F). Los rótulos de las unidades proceden del catálogo: en la localización rusa, las designaciones cirílicas según GOST 8.417; en las demás, las internacionales. En la frontera del solucionador siempre rige el SI: la conversión la realiza un único módulo de conversión, y la geometría se almacena en milímetros.

Limitaciones. La interfaz en ruso no está traducida por completo, y esta referencia no garantiza que los nombres de los botones coincidan sobre un fondo en inglés. Los nombres de los comandos DSL no se traducen y son iguales en todos los idiomas. Las unidades en DSL se fijan de forma distinta que en la interfaz: las constantes del material y las cargas, en SI; las longitudes de los objetos procedimentales, en las unidades del comando units.
Verificación. La completitud de la traducción y la ausencia de claves internas en pantalla se comprueban con pruebas automáticas sobre los códigos fuente reales; los contadores de lo no traducido están fijados y solo pueden disminuir. La coherencia de las unidades se comprobó con un caso de fuerza concentrada resuelto en distintos sistemas: Ménsula bajo fuerza puntual.

14Plataformas, rendimiento y control de calidad

↑ Volver al índice

Esta sección responde a tres preguntas prácticas. Dónde ejecutar el cálculo, en la aplicación de escritorio o en el navegador, y en qué se diferencian los resultados. Qué tamaño de problemas calcula el programa y en cuánto tiempo. Por qué se puede confiar en los números y qué se comprueba exactamente. Los números de aquí se midieron en máquinas concretas, y cada uno lleva la indicación de la plataforma. No se pueden comparar números de plataformas distintas sin esa indicación.

Hay un principio: la referencia es la ruta nativa del escritorio. La verificación, las mediciones de rendimiento y el análisis de discrepancias se realizan sobre ella. La versión de navegador calcula con el mismo núcleo, compilado a WebAssembly, y sirve para familiarizarse y para modelos pequeños. Si en un mismo modelo los resultados de las plataformas difieren, se considera correcto el resultado nativo y la discrepancia se describe de forma explícita.

14.1Escritorio y navegador: qué se calcula dóndeestable

La aplicación de escritorio se publica para Windows (64 bits, instalador NSIS, instalación para el usuario actual) y para macOS en procesadores Apple (imagen DMG; no hay imagen para procesadores Intel). No hay compilación para Linux. La versión de navegador funciona en navegadores modernos con soporte de WebAssembly; el proyecto se guarda directamente en el archivo elegido en Chrome y Edge, y se descarga como un archivo ordinario en Safari y Firefox.

ParámetroEscritorioNavegador
Núcleo de cálculonativo, en C++el mismo núcleo, compilado a WebAssembly
Solucionadordirecto disperso e iterativo CG con precondicionador AMG, ensamblado multihilo de matricesCholesky directo hasta un umbral de memoria; por encima, CG iterativo sin AMG, un solo hilo
Memorialimitada por la memoria RAM de la máquina; la estimación de memoria se muestra antes de lanzarhasta 4 GB de memoria lineal por módulo (direccionamiento de 32 bits) y la memoria de la pestaña
Generador de mallaNetgen, varios cuerpos se construyen en paralelo, la cancelación está disponible en cualquier momentoNetgen en WebAssembly, varios cuerpos en paralelo en un grupo de hilos de trabajo
GeometríaOpenCASCADE, importación nativa de STEPOpenCASCADE en WebAssembly
CFDdisponible en macOS (SU2); no está en la compilación para Windowsno
Ajustes de cálculo«Ajustes → Cálculo»: modo del solucionador, número de hilos, límite de memoriano son configurables
Actualizacióninstalación de una nueva versiónla página se actualiza al cargarse; la aplicación propone recargar cuando hay una versión nueva

De ello se desprende una regla práctica para el ingeniero. El navegador sirve para ver un ejemplo ya preparado, montar y comprobar un modelo pequeño, comprobar un guion. Los modelos de trabajo, los ensamblajes de decenas de cuerpos, los millones de grados de libertad, el CFD y todo lo que haya que repetir de forma reproducible, cálculelos en el escritorio.

Los cálculos principales en el escritorio se ejecutan por la ruta nativa por defecto. Si la ruta nativa falla (no hay binario, respuesta incorrecta, tamaño excedido), el programa comunica la causa y no la sustituye por la del navegador: un cambio silencioso de plataforma daría otros números sin advertirlo.

Limitaciones. La imagen de macOS, en el momento de la versión 0.2.0, no está firmada con un certificado de desarrollador ni notarizada, por lo que en el primer arranque el sistema puede exigir confirmar la apertura de la aplicación. La compilación para Windows no contiene CFD. El solucionador directo en Windows es monohilo y notablemente más lento que el solucionador directo nativo en macOS, por lo que en Windows la selección automática pasa antes al método iterativo (véanse Paralelismo y plataformas y Elección del solucionador). El botón «Buscar actualizaciones» de los ajustes, en la compilación actual, solo informa del número de la versión instalada y no consulta la red.
Verificación. Los casos de verificación se obtuvieron en su mayoría con el solucionador nativo; la plataforma figura en el pasaporte de la malla y del cálculo no en todas las fichas, y parte de las antiguas está marcada «WASM» (véase el Programa de verificación). No existe un contraste por pares de los resultados nativo y de navegador para todo el catálogo.

14.2Tamaños característicos de los problemas y tiemposbeta

A continuación se recogen las mediciones de la ruta nativa. Cada tabla está rotulada con la máquina. Son órdenes de magnitud para planificar, y no garantías: el tiempo depende del procesador, de la carga de la máquina, del tipo de problema y de la calidad de la malla. Las mediciones se tomaron en momentos distintos y en máquinas distintas y no se reúnen en una sola tabla.

Estática lineal de cuerpos volumétricos, solucionador nativo, 8 hilos, 28 GB de RAM, medición del 02.09.2026. Tetraedros de 2.º orden, CG con precondicionador multimalla algebraico (AMGCL, suavizador de Gauss–Seidel, base de movimientos rígidos del cuerpo en la agregación). El tiempo es total: construcción del precondicionador y resolución.

Grados de libertadTiempo, sIteraciones de CGMemoria, GB
175 mil2,4201,1
408 mil5,6192,4
788 mil11,0214,6
1,35 millones20,3258,1
2,13 millones31,42112,7

El número de iteraciones casi no crece con el tamaño: el precondicionador multimalla hace que la convergencia sea prácticamente independiente del paso de malla. En un modelo CAD real de antena (741 mil grados de libertad, Tet10), el mismo método con 8 hilos calcula en 10,7 s y con un hilo en 19,8 s; el Cholesky disperso directo (Eigen) con un hilo emplea 843 s y 6,7 GB; en macOS, el solucionador directo Apple Accelerate es notablemente más rápido. En modelos pequeños (decenas de miles de grados de libertad), el método directo es más rápido y fiable que el iterativo, por lo que la selección automática lo mantiene mientras el modelo quepa en el límite de memoria.

Estática de láminas MITC4, solucionador nativo, Apple M5, 24 GB, medición del 13.10.2026. Placa cuadrada de 1000×1000×10 mm, empotrada en el borde, presión uniforme; tiempo desde que se pulsa «Resolver» hasta el resultado, incluidas la preparación del modelo y la transferencia de datos.

Grados de libertadTiempo, sPico de memoria del solucionador nativo, GBFlecha frente a la referencia
1,0 millones7,25,9+0,008 %
2,0 millones16,86,4+0,008 %

El solucionador por sí solo ocupa 6–7 GB con 2 millones de grados de libertad, pero la aplicación completa junto con la interfaz ocupa con ese tamaño unos 15,7 GB (con 1 millón, unos 9,6 GB), y en una máquina de 24 GB con 2 millones empieza el intercambio a disco (swap). Por ello el techo de tamaño de la estática de láminas depende de la memoria física: actualmente, del orden de 1,8 millones de grados de libertad con 24 GB y del orden de 1 millón con 16 GB. Por encima del techo, el cálculo se rechaza antes de lanzarse indicando la causa y no pasa a la ruta del navegador.

Generación de malla, generador nativo Netgen, Apple M5 (4 núcleos de rendimiento y 6 de eficiencia), 24 GB, mediciones de agosto y octubre de 2026 en una máquina cargada.

Problema (fecha de medición)Resultado
Ensamblaje de 15 cuerpos, 634 superficies, 120 mil tetraedros (10.08)13,8 s en secuencial; unos 4,3 s con cuatro cuerpos construyéndose simultáneamente (aceleración de 3,2×)
El mismo archivo, malla fina (13.10)5,25 millones de tetraedros en 435 s, pico de memoria de unos 3,2 GB
Ensamblaje de 271 cuerpos, 2,09 millones de tetraedros (11.08)352–433 s en nativo (270 cuerpos de 271); a modo de comparación, 621 s en el navegador

La aceleración del generador de malla la dan los cuerpos que se construyen simultáneamente (según el número de núcleos de rendimiento), y no los hilos dentro de un cuerpo: diez hilos sobre un cuerpo dieron solo 1,2×.

Qué se sabe del navegador. El tamaño del problema está limitado por los 4 GB de memoria lineal de cada módulo y por un solo hilo del solucionador. Según las mediciones de julio de 2026, el techo práctico para la estática de 2.º orden es del orden de un millón de tetraedros, y para contactos acoplados de 2.º orden, del orden de cientos de miles. El límite exacto depende del tipo de problema, del navegador y de la memoria libre de la pestaña. En esta referencia no hay tablas de tiempo comparables para el navegador: la referencia es la ruta nativa.

Limitaciones. Los tiempos se trasladan de forma aproximada a otro hardware. Las mediciones del generador de malla se tomaron en una máquina cargada; la dispersión entre repeticiones de una misma configuración llegó al 19–25 %. La resolución lineal escala moderadamente con los núcleos: en un modelo de 215 mil grados de libertad, dos núcleos dieron una ganancia de aproximadamente 1,2–1,5 veces, y después se topa con el ancho de banda de la memoria. Las mediciones de láminas y de mallas se tomaron en una sola máquina (Apple M5), las de cuerpos volumétricos, en otra; en Windows no hay mediciones.
Verificación. Las mediciones primarias se conservan en los análisis de desarrollo y se reproducen con bancos de pruebas; no hay casos públicos de verificación del rendimiento (los casos comprueban la precisión, no el tiempo).

14.3Discrepancias entre plataformasbeta

El escritorio y el navegador se compilan a partir del mismo código fuente, pero no coinciden bit a bit: la compilación nativa usa instrucciones del procesador con multiplicación-suma fusionada y la biblioteca matemática del sistema; la de navegador, no. Las diferencias en los últimos bits de los números en coma flotante a veces tienen consecuencias notables, sobre todo en el generador de malla.

  • Las mallas pueden diferir. En un ensamblaje de 271 cuerpos, de los 269 cuerpos que construyen ambas plataformas, 115 (43 %) obtuvieron mallas idénticas; en los demás difiere el número de tetraedros, en el peor cuerpo en un 11,9 %. En total, el número de tetraedros coincidió hasta el 0,01 %, porque las diferencias en sentidos opuestos se compensan. Cada plataforma por separado es determinista: una nueva ejecución da la misma malla.
  • Los fallos pueden ser distintos. Hay cuerpos cuya malla el navegador no construye y el escritorio sí (uno de los cuerpos del mismo ensamblaje, 20 599 tetraedros en el escritorio), y viceversa (otro cuerpo del mismo ensamblaje). La causa es la divergencia del algoritmo de mallado en superficies spline con una aritmética ligeramente distinta, y no una corrupción de la memoria. Conclusión práctica: el fallo del generador de malla en una plataforma no demuestra un defecto de la geometría; pruebe con la otra o cambie el tamaño de elemento.
  • La calidad de malla de la plataforma nativa no siempre es mayor. En un cubo de ensayo de 10 mm con tamaño de elemento de 4 mm, el SICN mínimo (inversa del condicionamiento con signo del elemento, véanse las Métricas de calidad de malla) fue de 0,146 en el escritorio y de 0,182 en el navegador. La ruta nativa sigue siendo la referencia por decisión, y no porque sea mejor en todas partes: coincide con lo que recibe el usuario del escritorio.
  • Los números dependen de la malla y no del solucionador. El conjunto de casos DSL con aceptación numérica se supera por completo con el generador de malla nativo. Al cambiar la plataforma del generador de malla, 111 de las 115 mediciones numéricas del conjunto coincidieron bit a bit; las otras cuatro divergieron en una cantidad de entre 10^{-13} y 5\cdot 10^{-2} por ciento, es decir, al menos cien veces menos que la tolerancia.
  • Funciones. El CFD solo está en el escritorio (y no en la compilación de Windows). Las fichas de verificación obtenidas en el navegador están marcadas «WASM».
Limitaciones. El análisis del generador de malla se apoya en un ensamblaje de 271 cuerpos y un cubo de ensayo; no hay estadística general de discrepancias para todo el catálogo. Los resultados nativo y de navegador de un mismo caso de verificación aún no se publican por pares.
Verificación. Las discrepancias se midieron con bancos comparativos y se analizaron paso a paso del algoritmo del generador de malla; la aceptación del conjunto DSL se realiza en la plataforma nativa.

14.4Programa de verificaciónestable

El programa público de verificación es la página Verificación. El catálogo contiene 213 casos; 211 tienen una ejecución realizada, y todas se superaron. Dos casos de MacNeal–Harder (vigas en voladizo recta y alabeada) se han publicado como «En desarrollo»: el planteamiento existe, pero no la ejecución. Para cada caso ejecutado, la página muestra el planteamiento, la referencia, el valor obtenido, la desviación, la malla y la versión del solucionador. De 207 casos de 213 se publica el guion en DSL: puede pegarse en el terminal de la aplicación y repetir el cálculo.

CategoríaCasosQué se comprueba
No lineales y contacto112contacto y fricción, hiperelasticidad, plasticidad y fluencia, daño y rotura, no linealidad geométrica y estabilidad, construcción por etapas, dinámica y explícito
Analíticos50soluciones cerradas: vigas y placas, cilindros de pared gruesa, pandeo, dinámica y respuesta armónica, espectros, vibraciones aleatorias, conducción de calor, termoelasticidad, mallas híbridas
NAFEMS22estática lineal (serie LE), frecuencias propias (FV), transferencia de calor (T)
CFD14flujos en tuberías y canales, flujo alrededor de cuerpos, caídas de presión, fuerzas sobre el cuerpo (cálculo con SU2)
Vigas y láminas10paneles rigidizados, fuselaje, casco de buque, nervios excéntricos
MacNeal–Harder5tres ejecutados: Viga en voladizo curva, Placa rectangular, Ensayo de parche; dos en desarrollo

Ejemplos: NAFEMS LE1, membrana elíptica, contacto de Hertz: esfera, cilindro de pared gruesa en camisa rígida (problema de Lamé), pandeo de una placa cuadrada, pórtico de Lee con punto límite, cilindro en flujo con Re = 40.

Referencias de tres tipos. Soluciones analíticas: fórmulas de la teoría de la elasticidad y de la dinámica para las que el resultado se conoce en forma cerrada. Pruebas de referencia publicadas: conjuntos NAFEMS y MacNeal–Harder. Invariantes y balances: energía, equilibrio de fuerzas, simetría, independencia respecto del giro del cuerpo o del paso de carga, donde no se puede dar una referencia numérica.

Limitaciones. La verificación demuestra que la implementación reproduce soluciones conocidas en mallas dadas, pero no que el modelo sea aplicable a su estructura: la elección del elemento, de la malla y de las condiciones de contorno queda a cargo del ingeniero. Los casos los han seleccionado los desarrolladores; esta referencia no declara una certificación independiente del programa por un tercero. La plataforma no se indica en todas las fichas (en parte de los casos antiguos se marca como WASM); parte de las fichas en la ruta de navegador no se ha regenerado en la nativa. Los casos son en su mayoría pequeños; los grandes ensamblajes industriales se presentan como ejemplos listos para usar, sin contraste con una referencia (véase la Biblioteca de ejemplos).
Verificación. Los resultados de los casos se publican automáticamente a partir de las ejecuciones, y no a mano. La fecha y la versión del solucionador de cada ficha se registran durante la ejecución (véase Versiones y pasaporte del resultado).

14.5Política de tolerancia ≤5 %estable

La tolerancia del contraste con la referencia es única: una desviación no superior al 5 %. La desviación se calcula respecto del valor de referencia:

\varepsilon = 100\,\frac{\lvert v_{\text{calc}} - v_{\text{ref}}\rvert}{\lvert v_{\text{ref}}\rvert}\ \%

donde v_{\text{calc}} es el resultado de WebCAE y v_{\text{ref}} es la referencia. En los casos con varias magnitudes, la ficha recoge las desviaciones de cada una, y en la tabla figura un solo número por caso.

La regla es estricta: la tolerancia no se relaja para que un caso pase. Una desviación superior al 5 % se considera un defecto y se corrige en el cálculo, y no en el criterio. Si un caso no consigue ajustarse, no se cierra con una tolerancia amplia, sino que se publica como «En desarrollo» o se aplaza indicando la causa.

Distribución de las desviaciones en los 211 casos ejecutados:

IndicadorValor
Desviación no superior al 1 %165 casos (78 %)
Desviación no superior al 2 %190 casos (90 %)
Desviación no superior al 5 %211 casos (100 %)
Desviación media0,59 %
Mediana0,05 %
La mayor4,88 % (NAFEMS LE11)

Las desviaciones de centésimas de por ciento se dan, por regla general, en ensayos de parche, balances, invariantes y problemas con soluciones analíticas exactas. En problemas con concentración de tensiones, láminas en malla gruesa y cuerpos delgados, la desviación está más cerca del límite: la tolerancia del 5 % refleja la precisión real del método en la malla elegida, y no un margen holgado. Por ello, lea la tolerancia como una cota superior para el caso, y no como la precisión de cualquier modelo suyo.

Limitaciones. La tolerancia única del 5 % no sirve para todos los fines: para un cálculo de certificación puede necesitar un criterio más estricto y su propia comprobación de la convergencia de malla (véase el Estudio de convergencia de malla). La tolerancia se comprueba sobre la magnitud significativa del caso (flecha, tensión, frecuencia), y no sobre todo el campo.
Verificación. La tolerancia está incorporada en el registro de cada caso (los 213 registros llevan el 5 %), la ejecución se contrasta automáticamente y un caso con una desviación mayor que la tolerancia no se publica como superado.

14.6Comprobaciones de regresión automáticasbeta

La calidad se sostiene mediante capas de comprobaciones que se ejecutan durante el desarrollo. Órdenes de magnitud a finales de octubre de 2026:

  • pruebas unitarias: del orden de cinco mil comprobaciones en cientos de archivos: fórmulas, ensamblado de matrices, análisis de archivos, comandos, interfaz;
  • comprobación de tipos en dos pasadas, por separado para el producto y para las pruebas: detecta errores que la ejecución de pruebas pasa por alto, porque el entorno de ejecución de las pruebas no comprueba los tipos;
  • conjuntos de guiones de extremo a extremo: unos ochenta archivos que recorren la cadena desde la geometría hasta el resultado;
  • corpus de mallas: 17 problemas a partir de archivos STEP reales, con generador de malla nativo; se comprueban el resultado, la calidad de la malla y la conexidad;
  • conjunto de casos DSL: 74 casos, 115 comprobaciones numéricas con tolerancias, generador de malla nativo;
  • pruebas de la parte nativa de la aplicación: del orden de doscientas cincuenta;
  • comprobaciones nativas de la física del núcleo: unas noventa: respuestas en frecuencia complejas, trayectorias no lineales impuestas, recuperación de tensiones en láminas;
  • casos de verificación: esos mismos 213, con guiones ejecutables.

Una prueba nueva se acepta solo después de demostrar su capacidad de ponerse en rojo: se reintroduce una regresión en el código del producto, la prueba debe fallar y después se revierte la corrección. Es una protección contra los «verdes vacíos», pruebas que no comprueban nada. Una regla aparte se refiere al número de pruebas: el silencio de una compuerta sin el número de pruebas ejecutadas no se considera resultado, porque el conjunto podría haber dejado de compilarse.

Limitaciones. La ejecución completa de todas las pruebas unitarias lleva del orden de media hora y se realiza en los límites de las grandes etapas de trabajo, y no en cada cambio; entre ellas se lanzan conjuntos selectivos sobre las áreas afectadas. Para la rama de desarrollo actual, en el momento de la redacción no se ha fijado una ejecución completa en verde como base. Las pruebas muestran la ausencia de regresiones conocidas, pero no demuestran la ausencia de errores.
Verificación. Las métricas del conjunto y su base se fijan en cada etapa importante; los casos de verificación del catálogo público se recomprueban cuando cambian las rutas numéricas. El número de comprobaciones cambia con el desarrollo del producto, por lo que se dan órdenes de magnitud y no valores exactos.

14.7Modos GPU y de nubeexperimental

El cálculo siempre se ejecuta en el procesador, en local. La tarjeta gráfica y un servidor remoto no participan en el cálculo.

En el código hay prototipos: un solucionador CG en WebGPU, una variante sin matriz para Tet10 y Hex20 y un enrutador de cálculo entre el navegador, el módulo local y un servidor remoto. Están cubiertos por sus propias pruebas, pero el cálculo del producto no los invoca, y en el producto no hay parte de servidor. En el panel de cálculo y en «Ajustes → Cálculo» hay interruptores correspondientes («Aceleración WebGPU», «Matrix-Free P2 GPU», «Hybrid Cloud RPC»): por ahora se guardan en el proyecto y no cambian el cálculo. Más detalles: Prototipos y funciones no implementadas.

Limitaciones. No se puede contar con la GPU ni con el modo de nube al planificar. Todas las cifras de rendimiento de esta sección son de procesador. No se prometen la fecha ni el contenido de una futura conexión.
Verificación. Hay comprobaciones a nivel de módulo, pero no están incluidas en el cálculo ni verificadas con casos.

14.8Versiones y pasaporte del resultadoestable

La numeración es única para la aplicación, los instaladores, el sitio y las fichas de verificación: Semantic Versioning MAJOR.MINOR.PATCH, etiqueta de versión vX.Y.Z. La versión actual es la 0.2.1. Una corrección incrementa la última cifra; una nueva capacidad o una nueva física, la central; mientras la cifra mayor sea cero, los cambios incompatibles también van a la central. Las versiones planificadas en la página de documentación se marcan como «plan» y sin fechas.

Dónde ver la versión:

  • en el programa: el icono de versión en las barras superior e inferior, la ventana «Acerca de», «Ajustes → Actualizaciones»; un clic en el número abre el historial de cambios, agrupado por versiones;
  • desde los guiones: la propiedad cae.version y la respuesta de cae_get_state en MCP devuelven una cadena del tipo WebCAE 0.2.1;
  • en las fichas de verificación: el campo «Versión del solucionador».

El pasaporte de la ejecución en la ficha se registra como WebCAE <versión> · <commit corto>. La marca +dirty tras el commit significa que en el momento de la ejecución había cambios sin confirmar en los archivos con seguimiento: un número así solo se reproduce con exactitud junto con esos cambios. Las fichas registradas antes de la introducción de la numeración única no se reescriben, porque sus números se obtuvieron con otras compilaciones. Muestran «antes de la introducción de la numeración (anterior a 0.1.1)» o «versión no registrada». De los 211 casos ejecutados, el pasaporte con número de versión lo tienen ahora 14, «antes de la introducción de la numeración» 28 y «versión no registrada» 169. La nueva toma de las fichas antiguas con registro de la versión no ha terminado.

Compatibilidad de archivos. Un proyecto guardado por una versión antigua se abre con la nueva. Un proyecto de un esquema más nuevo no lo abre una versión antigua, en lugar de leerlo con pérdida de datos. Si tras una actualización los números de un resultado guardado pudieron cambiar, el programa emite la advertencia «los resultados pueden estar obsoletos» (véase Reproducibilidad de los resultados).

Limitaciones. No se ha anunciado públicamente una política de soporte a largo plazo de las versiones anteriores (retroportado de correcciones): las correcciones salen en versiones nuevas. En cada informe, anote el número de versión y la plataforma en la que se hizo el cálculo.
Verificación. La coincidencia del número de versión en todos los archivos de la versión, el formato del pasaporte y el orden de registro se comprueban con pruebas automáticas.

15Glosario y bibliografía

↑ Volver al índice

15.1Glosario

TérminoSignificado
Grado de libertad (DOF)Incógnita del problema discreto: desplazamiento o giro de un nodo, temperatura de un nodo. El tamaño del problema suele indicarse mediante el número de grados de libertad.
Matriz de rigidez \mathbf{K}Relaciona los desplazamientos nodales con las fuerzas nodales en un problema lineal: \mathbf{K}\mathbf{u}=\mathbf{f}. Es simétrica; tras aplicar los apoyos es definida positiva. Véase Solvers.
Matriz tangente \mathbf{K}_TDerivada del residuo respecto de los desplazamientos en un problema no lineal; suma de las partes material y geométrica. Véase Cálculos no lineales.
Rigidez geométrica \mathbf{K}_G (\mathbf{K}_\sigma)Contribución de las tensiones iniciales a la rigidez; base del cálculo de estabilidad y del análisis modal con pretensión. Véase Tipos de análisis lineal.
ResiduoDiferencia entre las fuerzas externas e internas \mathbf{r}=\mathbf{f}_{ext}-\mathbf{f}_{int}; su norma es el criterio principal de convergencia.
Puntos de GaussPuntos de integración numérica sobre el elemento; en ellos se calculan las deformaciones y las tensiones. Véase Biblioteca de elementos.
Bloqueo (locking)Sobreestimación artificial de la rigidez del elemento: por cortante en láminas y vigas delgadas, volumétrico en materiales casi incompresibles.
MITCInterpolación mixta de componentes tensoriales: procedimiento para eliminar el bloqueo por cortante de las láminas (Dvorkin–Bathe).
P1 / P2Funciones de forma lineales y cuadráticas; Tet4 y Tet10, respectivamente.
RBE2Restricción rígida: los nodos esclavos se mueven junto con el maestro como un único cuerpo. Véase Condiciones de contorno.
MPC / ecuación de restricciónRelación lineal entre grados de libertad que se elimina del sistema de forma exacta.
PenalizaciónImposición aproximada de una restricción mediante un resorte de gran rigidez; la precisión depende de su valor.
Longitud de arcoMétodo de continuación por parámetro que permite sobrepasar los puntos límite de la curva «carga–desplazamiento». Véase Método de longitud de arco.
Retorno radialAlgoritmo de integración del estado elastoplástico en un punto: paso elástico de prueba y proyección sobre la superficie de fluencia. Véase Modelos de material.
SICNMedida de calidad del tetraedro mediante el jacobiano normalizado; un valor \le 0 significa un elemento invertido. La definición utilizada en el producto y los umbrales se encuentran en la sección Mallas.
ZZ / SPREstimación del error de discretización de Zienkiewicz–Zhu a partir del campo de tensiones recuperado.
Extrapolación de RichardsonEstimación del límite de una magnitud al refinar la malla a partir de los resultados en tres mallas.
von Mises, TrescaTensiones equivalentes para los criterios de fluencia; las fórmulas se encuentran en Posprocesado.
SCLLínea de clasificación de tensiones según ASME VIII-2: componentes de membrana, de flexión y de pico.
HHT-α, NewmarkEsquemas implícitos de integración temporal de las ecuaciones del movimiento. Véase Dinámica implícita.
Diferencias centralesEsquema explícito de integración; es estable con un paso menor que el crítico. Véase Dinámica explícita.
AMGPrecondicionador multimalla algebraico para la resolución iterativa de sistemas grandes. Véase Solver iterativo.
WebAssembly (WASM)Formato de código ejecutable para el navegador; en él funciona la versión del núcleo de cálculo para navegador.

15.2Bibliografía

Libros de texto y monografías en los que se apoyan las formulaciones de la referencia:

  1. Bathe K.-J. Finite Element Procedures. 2nd ed. Watertown: K.-J. Bathe, 2014.
  2. Zienkiewicz O.C., Taylor R.L., Zhu J.Z. The Finite Element Method: Its Basis and Fundamentals. 7th ed. Butterworth-Heinemann, 2013.
  3. Hughes T.J.R. The Finite Element Method: Linear Static and Dynamic Finite Element Analysis. Dover, 2000.
  4. Belytschko T., Liu W.K., Moran B., Elkhodary K. Nonlinear Finite Elements for Continua and Structures. 2nd ed. Wiley, 2014.
  5. Simo J.C., Hughes T.J.R. Computational Inelasticity. Springer, 1998.
  6. Wriggers P. Computational Contact Mechanics. 2nd ed. Springer, 2006.
  7. Crisfield M.A. Non-linear Finite Element Analysis of Solids and Structures. Vol. 1–2. Wiley, 1991, 1997.
  8. Reddy J.N. Mechanics of Laminated Composite Plates and Shells. 2nd ed. CRC Press, 2004.
  9. Clough R.W., Penzien J. Dynamics of Structures. 3rd ed. Computers & Structures, 2003.
  10. Saad Y. Iterative Methods for Sparse Linear Systems. 2nd ed. SIAM, 2003.
  11. Davis T.A. Direct Methods for Sparse Linear Systems. SIAM, 2006.
  12. Timoshenko S.P., Goodier J.N. Theory of Elasticity. 3rd ed. McGraw-Hill, 1970.
  13. Lekhnitskii S.G. Theory of Elasticity of an Anisotropic Body. Moscow: Mir, 1981.

Artículos sobre métodos concretos:

  1. Dvorkin E.N., Bathe K.-J. A continuum mechanics based four-node shell element for general nonlinear analysis. Engineering Computations, 1984, 1(1).
  2. Batoz J.-L., Bathe K.-J., Ho L.-W. A study of three-node triangular plate bending elements. Int. J. Numer. Meth. Eng., 1980, 15.
  3. Hughes T.J.R., Brezzi F. On drilling degrees of freedom. Comput. Methods Appl. Mech. Eng., 1989, 72.
  4. Battini J.-M., Pacoste C. Co-rotational beam elements with warping effects in instability problems. Comput. Methods Appl. Mech. Eng., 2002, 191.
  5. Felippa C.A., Haugen B. A unified formulation of small-strain corotational finite elements. Comput. Methods Appl. Mech. Eng., 2005, 194.
  6. Zienkiewicz O.C., Zhu J.Z. The superconvergent patch recovery and a posteriori error estimates. Int. J. Numer. Meth. Eng., 1992, 33.
  7. Dörfler W. A convergent adaptive algorithm for Poisson's equation. SIAM J. Numer. Anal., 1996, 33.
  8. Celik I.B. et al. Procedure for estimation and reporting of uncertainty due to discretization in CFD applications. J. Fluids Eng., 2008, 130.
  9. Popp A., Gee M.W., Wall W.A. A finite deformation mortar contact formulation using a primal–dual active set strategy. Int. J. Numer. Meth. Eng., 2009, 79.
  10. Wriggers P., Zavarise G. On contact between three-dimensional beams undergoing large deflections. Commun. Numer. Meth. Eng., 1997, 13.
  11. Camanho P.P., Dávila C.G. Mixed-mode decohesion finite elements for the simulation of delamination in composite materials. NASA/TM-2002-211737, 2002.
  12. Benzeggagh M.L., Kenane M. Measurement of mixed-mode delamination fracture toughness. Compos. Sci. Technol., 1996, 56.
  13. Cooper M.G., Mikic B.B., Yovanovich M.M. Thermal contact conductance. Int. J. Heat Mass Transfer, 1969, 12.
  14. Craig R.R., Bampton M.C.C. Coupling of substructures for dynamic analyses. AIAA J., 1968, 6(7).
  15. Der Kiureghian A. A response spectrum method for random vibration analysis of MDF systems. Earthquake Eng. Struct. Dyn., 1981, 9.
  16. Miles J.W. On structural fatigue under random loading. J. Aeronaut. Sci., 1954, 21.
  17. Hinton E., Rock T., Zienkiewicz O.C. A note on mass lumping and related processes in the finite element method. Earthquake Eng. Struct. Dyn., 1976, 4.
  18. Knyazev A.V. Toward the optimal preconditioned eigensolver: LOBPCG. SIAM J. Sci. Comput., 2001, 23.
  19. Vaněk P., Mandel J., Brezina M. Algebraic multigrid by smoothed aggregation for second and fourth order elliptic problems. Computing, 1996, 56.
  20. Johnen A., Remacle J.-F., Geuzaine C. Geometrical validity of curvilinear finite elements. J. Comput. Phys., 2013, 233.
  21. Economon T.D. et al. SU2: An open-source suite for multiphysics simulation and design. AIAA J., 2016, 54(3).

Normas y conjuntos de problemas de referencia:

  1. NAFEMS. The Standard NAFEMS Benchmarks. Rev. 3, 1990; Selected Benchmarks for Natural Frequency Analysis, 1987.
  2. MacNeal R.H., Harder R.L. A proposed standard set of problems to test finite element accuracy. Finite Elements in Analysis and Design, 1985, 1.
  3. ASME Boiler and Pressure Vessel Code, Section VIII, Division 2, Part 5.
  4. ASTM E1049-85. Standard Practices for Cycle Counting in Fatigue Analysis.
  5. VDI 2230 Blatt 1. Systematische Berechnung hochbeanspruchter Schraubenverbindungen.

15.3Componentes abiertos

El núcleo de cálculo y la preparación del modelo utilizan bibliotecas abiertas:

ComponenteFinalidad
MFEMInfraestructura de elementos finitos: espacios, ensamblaje, parte de los solvers
EigenÁlgebra lineal densa y dispersa, factorizaciones directas
AMGCLPrecondicionador multimalla algebraico (escritorio)
Apple AccelerateFactorizaciones directas dispersas (escritorio, macOS)
NetgenGeneración de mallas tetraédricas
Open CASCADE TechnologyNúcleo geométrico: importación, operaciones booleanas, topología
SU2Cálculo de flujos por el método de volúmenes finitos

Las licencias de los componentes figuran en la página Open source.

We use essential cookies to run this site, plus analytics cookies if you agree. Privacy Policy