1Acerca del producto y de la referencia
↑ Volver al índice1.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:
- Geometría y CAD y Mallas: de dónde procede el modelo de cálculo.
- Modelos de material, Condiciones de contorno, cargas y restricciones, Contacto y uniones: lo que define el usuario.
- Biblioteca de elementos finitos: cómo se discretiza el modelo.
- 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.
- Solvers: cómo se resuelven los sistemas de ecuaciones resultantes.
- Resultados, posprocesado y evaluación de la resistencia: qué obtiene el ingeniero y cómo se calcula.
- 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:
| Estado | Qué significa |
|---|---|
| estable | Incluido 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. |
| beta | Implementado, 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. |
| experimental | Prototipo, 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.
1.6Páginas relacionadas
- Biblioteca de elementos: fichas resumen de los elementos.
- Lenguaje de scripts DSL: referencia completa de comandos.
- Servidor MCP: control del modelo desde asistentes de IA.
- Verificación: todos los casos con sus números.
2Geometría y CAD
↑ Volver al índiceEl 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 elementosize=, 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.
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.units mm
box dx=20 dy=20 dz=100
list faces of body12.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 body12.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.
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 27se 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=-1000000list 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).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=body22.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}:
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 recompute2.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.
- 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.
- 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.
- 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;simplifydescarta los cuerpos pequeños del ensamblaje según umbrales de volumen y de diagonal;shrinkwrapconstruye la envolvente exterior del ensamblaje. El modo automático se activa y desactiva con el comandoautofix 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.012.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>opoint= 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 body12.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».
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.
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 staticframe 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.
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.
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.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"yexport 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"3Mallas
↑ Volver al índiceLa 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 Nsobreviven 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=1mesh 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=23.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:
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=23.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
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 clearunits 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.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:
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.
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.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:
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.
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.
- 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=…. - 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.
- 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.
- 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=5mesh 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).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 siclip=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=4elements=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=cutinterference=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.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=outermesh 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:
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_verdictEl 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.
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}:
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.
4Modelos de material
↑ Volver al índiceLa 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.
| Modelo | Análisis | Estado |
|---|---|---|
| Elasticidad isótropa | todos los tipos lineales y no lineales | estable |
| Ortotropía 3D con orientación | estática lineal, tetraedros | beta |
| Lámina laminada | estática, modal, estabilidad, carga térmica | estable |
| Plasticidad J2 | estática no lineal de sólidos (escritorio), dinámica explícita | estable |
| Johnson–Cook | dinámica explícita; en estática sin velocidad ni temperatura | estable |
| Neo-Hooke | estática no lineal de sólidos | estable |
| Criterios de rotura del material | dinámica explícita (erosión) | beta |
| Criterios de resistencia a partir de la solución elástica | posprocesador | beta |
| Mooney–Rivlin, Yeoh, Arruda–Boyce, Ogden | núcleo; no conectados al cálculo del sólido | experimental |
| F = Fe·Fp, Norton–Bailey, Perzyna, Prony, Drucker–Prager, GTN | núcleo; no conectados al cálculo del sólido | experimental |
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:
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.
material E=200e9 nu=0.3 density=78504.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:
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.
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=210e94.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:
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
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:
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ónaxisindicada 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 denormal, \mathbf{e}_1 es la proyección deaxis.cylindrical: \mathbf{e}_3 radial desde el eje del cilindro que pasa pororigin.spherical: \mathbf{e}_3 radial desde el puntoorigin.
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.
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=30En 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:
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):
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:
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:
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=truemesh 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).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.
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:
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:
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:
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.
material E=210e9 nu=0.3 plasticity=j2 yield=250e6 hardening=linear et=1e9
nlgeom material loadpath="1,0"
solve4.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.
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).
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=3854.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):
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.
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).
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.
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.material E=1e7 nu=0.45 model="neo-hookean" density=1100
nlgeom on4.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.
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}.
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.
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.
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.
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.
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.
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:
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.
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.
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
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).
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.
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).
| Criterio | Utilizació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 |
5Condiciones de contorno, cargas y restricciones
↑ Volver al índiceUna 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 define | A qué se aplica | Cómo entra en el cálculo |
|---|---|---|
| Apoyo, desplazamiento impuesto | vértice, arista, cara, sólido | eliminación de grados de libertad |
| Restricción normal (rodillo, simetría) | cara | ecuaciones de restricción en los nodos de la cara |
| Fuerza | vértice, arista, cara, sólido | fuerzas nodales |
| Presión, fuerza distribuida | cara | fuerzas nodales consistentes sobre la cara |
| Aceleración, gravedad | todo el modelo | fuerza volumétrica \rho\,\mathbf{a} |
| Fuerza remota, momento, desplazamiento | vértice, arista, cara, sólido | nodo maestro virtual y RBE2 |
| Restricción rígida RBE2, ecuación MPC | vértices, aristas, caras, sólidos | eliminació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
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).
fix surface number 1
fix surface number 2 component=z value=0.5
fix edge number 45.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
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.
fix surface number 2 component=normal value=0
fix surface number 3 component=normal value=0.055.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).
load vertex number 3 force=0,0,-100
load edge number 5 force=0,-2000,0
load surface number 2 force=5000 component=z5.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
donde \mathbf{n}_{\mathrm{out}} es la normal exterior. Las fuerzas nodales son consistentes:
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.
frame load patch=… p=…), para vigas mediante una carga lineal (frame load member=… q=…).units mm
load surface number 1 pressure=10
load surface number 4 distributed_force=2 component=y5.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:
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).
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
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)).
load accel=-9.81 component=z5.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:
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.
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,05.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.
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.rigid link master vertex number 6 slaves surface number 25.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.
cs turned origin=0,0,0 axisZ=0,0,1 axisX=1,1,0
load surface number 2 fx=1000 cs=turned5.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.
bolt apareció después de la versión publicada.bolt surface number 10 surface number 20 preload=20000 diameter=12 class=10.95.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.
spring surface number 3 ground k=2e6 preload=100
mass node=1000,0,0 m=1005.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
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.
cyclic aparecieron después de la versión publicada.cyclic surface number 1 surface number 2 sectors=12 axis=0,0,1 tol=0.055.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.
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.
6Contacto y uniones
↑ Volver al índiceUn 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.
| Modo | Estática lineal | Estática no lineal | Dinámica implícita | Plataforma |
|---|---|---|---|---|
| Bonded (nodos comunes) | sí | sí, como un único sólido | según las reglas del cálculo (dinámica) | escritorio y navegador |
| Tied (restricción exacta MPC) | sí | rechazo | rechazo | escritorio y navegador |
| Penalty (enlace por resorte) | sí | rechazo | rechazo | escritorio y navegador |
| Frictionless (sin fricción) | sí, por pasos de carga | sí | sí | solo escritorio |
| Frictional (fricción de Coulomb) | rechazo | rechazo | sí | 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.
contact pairs all tied
contact body1 body2 frictionless6.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.
mesh tet size=125 bonding=1 glue=full6.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:
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.
contact body1 body2 tied6.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.
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:
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.
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:
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.
u0=static con un par con fricción se rechaza. Los sólidos no deben compartir nodos.contact body1 body2 frictional mu=0.3
solve transient dt=0.001 tend=0.36.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
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.
nlgeom on method=load steps=10
contact body1 body2 frictionless
solve6.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
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.
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.
explicit erodingContact=on contactStiffness=0.256.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.
contact body1 body2 thermal hc=10006.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:
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):
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.
contact cohesive master="surface number 3" slave="surface number 4" kn=1e12 kt=1e12 tn_max=30e6 gc_n=4506.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.
7Biblioteca de elementos finitos
↑ Volver al índiceLos 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:
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:
La matriz de rigidez del elemento es una cuadratura por puntos de Gauss:
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).
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
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.
mesh tet size=10 order=17.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):
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.
mesh tet size=10 order=27.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:
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.
mesh hex size=5 order=17.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):
Punto medio de una arista paralela al eje \xi (\xi_i = 0):
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.
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.mesh hex size=5 order=27.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:
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.
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:
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.
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):
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.
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 %.
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.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.
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.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.
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:
Flexión en el plano xy (grados de libertad v_1,\theta_{z1},v_2,\theta_{z2}):
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.
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,-50007.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.
assign beam edges=12,14 section=rect w=10 h=30 flush=outer7.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.
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:
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.
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:
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).
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.
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:
Flexión. Curvaturas y cortantes transversales:
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:
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).
units mm
section shell t=4
mesh shell size=40 element=quad pattern=structured7.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:
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.
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.
surface=quad).units mm
mesh shell size=20 surface=tri7.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:
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):
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.
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=structured7.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.
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:
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.
units mm
mass node=1000,0,0 m=100 Ixx=0.5 Iyy=0.5 Izz=0.87.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.
spring surface number 3 ground k=2e6 preload=1007.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:
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.
rigid link master vertex number 6 slaves surface number 27.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:
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.
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.
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.
| Elemento | n | DOF | Cuadratura | Particularidad | Masa (análisis modal) | \mathbf{K}_\sigma | Estado |
|---|---|---|---|---|---|---|---|
| Tet4 | 4 | 12 | 1 punto | deformación constante | \rho V/4 en el nodo | sí | estable |
| Tet10 | 10 | 30 | 4 puntos (grado 2) | subparamétrico | \rho V/10 en el nodo | sí | estable |
| Hex8 | 8 | 24 | 2\times2\times2 | integración completa, sin B-bar | \rho V/8 en el nodo | sí | estable |
| Hex20 | 20 | 60 | 3\times3\times3 | serendípito, isoparamétrico | \rho V/20 en el nodo | sí | estable |
| Hex27 | 27 | 81 | 3\times3\times3 | Lagrange triquadrático, no lo construye el mallador | \rho V/27 en el nodo | sí | experimental |
| Wedge6 | 6 | 18 | 3 × 2 | de transición, capa prismática | \rho V/6 en el nodo | sí | estable |
| Pyr5 | 5 | 15 | 2\times2\times2 en coordenadas colapsadas | base racional, de transición | \rho V/5 en el nodo | sí | beta |
| Viga de Timoshenko | 2 | 12 | forma cerrada | \kappa = 5/6, torsión de Saint-Venant | consistente + inercia rotacional | esfuerzo axial | estable |
| Viga extendida | 2 | 12 | forma cerrada | balanceo, brazos, centro de cortante, NSM | consistente en los centros de sección | esfuerzo axial | estable |
| Lámina MITC4 | 4 | 24 | 2\times2 | cortante MITC4, penalización de Hughes–Brezzi | consistente, traslaciones | esfuerzos de membrana | estable |
| Lámina CST+DKT | 3 | 18 | 1 / 3 puntos | flexión DKT, membrana CST | consistente, traslaciones | esfuerzos de membrana | estable |
| Lámina laminada | 4 | 24 | 2\times2 | paquete ABD, FSDT, hasta 36 números | masa del paquete por área | esfuerzos de membrana del paquete | beta |
| Viga y lámina corrotacionales | 2 / 3 / 4 | 12 / 18 / 24 | como las lineales | EICR, grandes giros | en dinámica implícita | — | estable |
| Masa puntual | 1 | 6 | — | \mathbf{K}=0 | diagonal m, I | — | beta |
| Resorte | 2 | 12 | forma cerrada | viga equivalente y arañas rígidas | — | — | beta |
| Zona rígida (RBE2) | 1 + k | 6 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 índiceEsta 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álisis | Qué se obtiene | Estado | Comando del script |
|---|---|---|---|
| Estática | desplazamientos, deformaciones, tensiones, reacciones | estable | solve static |
| Modal | frecuencias y formas de vibración | estable | solve modal |
| Modal con tensión previa | frecuencias y formas bajo carga | beta | solve modal prestress=on |
| Estabilidad | factores críticos de carga y formas | estable | solve buckling |
| Respuesta armónica | FRF de amplitud y de fase, campos a una frecuencia | estable | solve harmonic |
| Espectro de respuesta | fuerza basal, desplazamientos, tensiones | estable | solve spectrum |
| Vibración aleatoria (PSD) | valor eficaz 1σ y 3σ | experimental | solve psd |
| Submodelado | solución local junto a un concentrador | beta | submodel |
| Superelemento de Craig–Bampton | matrices reducidas | experimental | cms |
| Dinámica de rotores | diagrama de Campbell | experimental | solve rotor |
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
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
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:
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
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.
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 staticEn 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:
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
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.
fix surface number 1
solve modal nmodes=6
probe frequency mode=18.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
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:
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.
fix surface number 1
load surface number 2 force=-1000 component=z
solve modal nmodes=3 prestress=on8.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
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):
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.
fix surface number 1
load surface number 6 force=-100 component=z
solve buckling nmodes=2
probe load_factor mode=18.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
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
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):
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:
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
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.
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=406Mé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=408.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):
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:
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):
- 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.
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=x8.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:
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:
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):
(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.
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.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_1sigma8.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
- Se resuelve el modelo global con una malla moderada: campo \mathbf{u}_g(\mathbf{x}).
- 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).
- 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).
- 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:
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.
- 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).
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_vm8.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:
Transformación y matrices reducidas:
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.
cms boundary="surface number 1" modes=68.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:
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
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 rotory 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.
solve rotor axis=z speed_min=0 speed_max=1000 steps=20 modes=4
probe rotor_crit_speed_19Cálculos no lineales y dinámica
↑ Volver al índiceEsta 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:
| Capacidad | Escritorio (referencia) | Navegador |
|---|---|---|
| No linealidad geométrica, longitud de arco, etapas | sí | no, rechazo explícito |
| Dinámica implícita de sólidos | sí | sí, solo modelos elásticos y Total Lagrangian sin contacto, restricciones ni plasticidad |
| Dinámica implícita de vigas y láminas | sí | de forma limitada |
| Dinámica explícita | sí | 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:
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}:
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:
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):
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:
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:
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 staticEl 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:
| Elemento | Error |
|---|---|
| TET4 | 56,5 % |
| HEX8 | 8,9 % |
| TET10 | 0,16 % |
| HEX20 | 0,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.
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:
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:
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-69.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:
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:
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:
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ámetro | DSL | Significado |
|---|---|---|
| Número de pasos | steps= | número objetivo de pasos hasta \lambda = 1 (por defecto 10) |
| Iteraciones por paso | maxiter= | tope de iteraciones de Newton (por defecto 25) |
| Tolerancia del residuo | tol= | tolerancia relativa \varepsilon (por defecto 10^{-6}) |
| Tope de pasos | maxsteps= | número total de pasos aceptados, incluida la subdivisión |
| Grado de libertad de control | controldof= | para la curva «carga — desplazamiento»; por defecto, el mayor \lvert u\rvert |
| Trayectoria de carga | loadpath="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.
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,
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
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-6loadpath) 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.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:
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-5imperfection.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 static9.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:
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.
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
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:
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
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.05Las 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.
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
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.
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:
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:
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 explicit9.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=on9.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:
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 49.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]:
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 29.14Acoplamiento T(t) → u(t)beta
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.
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.
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.
10Transferencia de calor y multifísica
↑ Volver al índiceEsta 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:
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
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:
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.
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 thermal10.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
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:
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
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.
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:
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:
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
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.
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.510.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
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.
contact body1 body2 thermal hc=1000
thermal surface number 5 temperature=100
thermal surface number 32 temperature=0
solve thermal10.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:
Cuerpos sólidos
Para un material isótropo \mathbb C\,\boldsymbol\varepsilon_{th}=c_0\,(1,1,1,0,0,0)^T, donde
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:
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.
nlgeom) no está admitido.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=8010.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
es de alrededor del 1 %. Para procesos rápidos (impacto, ultrasonido) esta corrección puede ser significativa; véase Gough–Joule.
Formulación
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.
solve thermoelastic transient mode=dynamic dt=1e-6 tend=2e-4 t0=20 tref=20 scheme=hht alpha=-0.210.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
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.
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):
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.
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 cfd10.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.
cfd set mode=transient dt=0.001 time=0.005 inner=40 output=1
solve cfd10.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}:
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
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.
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.Interfaz: sección «Vibroacústica (Helmholtz)» en el paso de resultados.
solve acoustics c0=343 rho0=1.204 modes=5
probe acoustic_f110.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.
11Solucionadores: directos, iterativos y de valores propios
↑ Volver al índiceTras 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
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:
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:
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.
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.
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}:
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 libertad | Tiempo, s | Memoria (RSS), GB |
|---|---|---|
| 13 824 | 0,07 | — |
| 144 150 | 0,8 | 0,9 |
| 584 064 | 6,0 | 3,2 |
| 1 000 000 | 7,4 | 4,3 |
| 2 100 000 | 12,8 | 8,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.
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.
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):
| Modelo | Grados de libertad activos | AMG-CG: iteraciones, s | Directo (Accelerate), s | Discrepancia de desplazamientos |
|---|---|---|---|---|
| Hex20 | 36 432 | 179, 13,3 | 6,2 | 10^{-9} |
| Hex20 | 89 280 | 218, 40,3 | 35,4 | 4 \cdot 10^{-10} |
| Tet10 | 45 000 | 78, 6,2 | 3,9 | 2 \cdot 10^{-9} |
| Tet10 | 104 544 | 100, 10,2 | 18,1 | 3 \cdot 10^{-9} |
| Hex8 | 147 852 | 46, 8,7 | 91,3 | 5 \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.
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.
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.
11.8Problemas de valores propios: análisis modal y estabilidadestable
El análisis modal resuelve el problema generalizado
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:
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.
solve modal nmodes=6
solve buckling nmodes=411.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
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).
solve harmonic fmin=20 fmax=400 npoints=60 method=direct rayleigh a=1.5 b=0.00000211.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.
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.
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).
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.
12Resultados, posprocesamiento y evaluación de la resistencia
↑ Volver al índiceTras 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:
| Grupo | Campos | Dimensión |
|---|---|---|
| Desplazamientos | u_x, u_y, u_z, módulo \lvert\mathbf{u}\rvert | longitud |
| Giros (vigas, láminas) | \theta_x, \theta_y, \theta_z | rad |
| Tensiones | \sigma_{xx}, \sigma_{yy}, \sigma_{zz}, \sigma_{xy}, \sigma_{yz}, \sigma_{zx}, equivalente de von Mises, \sigma_1, \sigma_3 | presión |
| Deformaciones | \varepsilon_{xx}, \varepsilon_{yy}, \varepsilon_{zz}, \gamma_{xy}, \gamma_{yz}, \gamma_{zx}, equivalente, plástica | adimensionales |
| Margen de resistencia | coeficiente de seguridad o utilización (según el criterio elegido) | adimensionales |
| Reacciones | módulo de la reacción en los nodos de apoyo | fuerza |
| Contacto | presión, estado, fuerza tangencial | presió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.
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
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.
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):
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
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:
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:
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.
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.
| Criterio | Utilización D | Propiedades del material necesarias |
|---|---|---|
| von Mises | \sigma_{\text{vm}}/\sigma_y | lí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, Gerber | véase más abajo | lí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:
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).
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:
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:
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.
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:
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}.
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.
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:
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.
Ejemplo
reactions
probe reaction_z12.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:
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):
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.
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_pb12.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).
- 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).
- 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.
- El error del elemento es la norma energética de la diferencia:
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
- 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.
- Unión de los elementos marcados en grupos conexos (por cara común).
- 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í.
- 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.
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=212.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:
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.
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:
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.
fatigue sigma_f=900e6 b=-0.09 sigma_e=200e6 sigma_u=600e6 correction=goodman r_ratio=0
probe fatigue_min_log_life12.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.
fracture edge number 7 a0=0.002 af=0.008 c=1e-11 m=3 ki_c=50
probe sif_k1
probe paris_cycles12.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.
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.field define name=sigma_ratio expr="vm / (250*MPa)" unit=none
field safety name=n_shell criterion="vm" allowable="250*MPa"
probe n_shell12.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 vonMisesprobe <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.
tol= de forma explícita.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).
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.doe param name=thickness min=1 max=10
doe run method=lhs samples=20 objective=mass
probe doe_feasible_count12.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 vectorialVECTORS(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.
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.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.
13Proyectos, guiones y automatización
↑ Volver al índiceEn 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.
| Paso | Qué hace el ingeniero | Qué se obtiene |
|---|---|---|
| 1. Geometría | Construye 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. Modelo | Define materiales y los asigna a los cuerpos, secciones de vigas, espesores de láminas, grupos | Modelo de cálculo sin cargas |
| 3. Cargas y CC | Coloca fijaciones, fuerzas, presiones, temperaturas, contactos y restricciones | Registros de condiciones de contorno vinculados a los números de las entidades |
| 4. Malla | Elige el tipo de malla, el tamaño de elemento, el orden de los elementos, las zonas de refinamiento | Malla de tetraedros, hexaedros, láminas o vigas |
| 5. Cálculo | Elige el tipo de análisis y los parámetros del solucionador, lanza el cálculo | Campos de desplazamientos, tensiones, temperaturas, frecuencias, modos, coeficientes de estabilidad |
| 6. Resultados | Examina campos, sondas, reacciones, secciones, exporta | Tablas, 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.
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.
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.
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.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.
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_magnitudeEn 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
}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.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.
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.
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
.wcey.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.
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.
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.
units.14Plataformas, rendimiento y control de calidad
↑ Volver al índiceEsta 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ámetro | Escritorio | Navegador |
|---|---|---|
| Núcleo de cálculo | nativo, en C++ | el mismo núcleo, compilado a WebAssembly |
| Solucionador | directo disperso e iterativo CG con precondicionador AMG, ensamblado multihilo de matrices | Cholesky directo hasta un umbral de memoria; por encima, CG iterativo sin AMG, un solo hilo |
| Memoria | limitada por la memoria RAM de la máquina; la estimación de memoria se muestra antes de lanzar | hasta 4 GB de memoria lineal por módulo (direccionamiento de 32 bits) y la memoria de la pestaña |
| Generador de malla | Netgen, varios cuerpos se construyen en paralelo, la cancelación está disponible en cualquier momento | Netgen en WebAssembly, varios cuerpos en paralelo en un grupo de hilos de trabajo |
| Geometría | OpenCASCADE, importación nativa de STEP | OpenCASCADE en WebAssembly |
| CFD | disponible en macOS (SU2); no está en la compilación para Windows | no |
| Ajustes de cálculo | «Ajustes → Cálculo»: modo del solucionador, número de hilos, límite de memoria | no son configurables |
| Actualización | instalación de una nueva versión | la 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.
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 libertad | Tiempo, s | Iteraciones de CG | Memoria, GB |
|---|---|---|---|
| 175 mil | 2,4 | 20 | 1,1 |
| 408 mil | 5,6 | 19 | 2,4 |
| 788 mil | 11,0 | 21 | 4,6 |
| 1,35 millones | 20,3 | 25 | 8,1 |
| 2,13 millones | 31,4 | 21 | 12,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 libertad | Tiempo, s | Pico de memoria del solucionador nativo, GB | Flecha frente a la referencia |
|---|---|---|---|
| 1,0 millones | 7,2 | 5,9 | +0,008 % |
| 2,0 millones | 16,8 | 6,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.
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».
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ía | Casos | Qué se comprueba |
|---|---|---|
| No lineales y contacto | 112 | contacto 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íticos | 50 | soluciones 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 |
| NAFEMS | 22 | estática lineal (serie LE), frecuencias propias (FV), transferencia de calor (T) |
| CFD | 14 | flujos 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áminas | 10 | paneles rigidizados, fuselaje, casco de buque, nervios excéntricos |
| MacNeal–Harder | 5 | tres 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.
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:
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:
| Indicador | Valor |
|---|---|
| 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 media | 0,59 % |
| Mediana | 0,05 % |
| La mayor | 4,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.
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.
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.
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.versiony la respuesta decae_get_stateen MCP devuelven una cadena del tipoWebCAE 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).
15Glosario y bibliografía
↑ Volver al índice15.1Glosario
| Término | Significado |
|---|---|
| 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}_T | Derivada 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. |
| Residuo | Diferencia entre las fuerzas externas e internas \mathbf{r}=\mathbf{f}_{ext}-\mathbf{f}_{int}; su norma es el criterio principal de convergencia. |
| Puntos de Gauss | Puntos 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. |
| MITC | Interpolación mixta de componentes tensoriales: procedimiento para eliminar el bloqueo por cortante de las láminas (Dvorkin–Bathe). |
| P1 / P2 | Funciones de forma lineales y cuadráticas; Tet4 y Tet10, respectivamente. |
| RBE2 | Restricció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ón | Relación lineal entre grados de libertad que se elimina del sistema de forma exacta. |
| Penalización | Imposición aproximada de una restricción mediante un resorte de gran rigidez; la precisión depende de su valor. |
| Longitud de arco | Mé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 radial | Algoritmo 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. |
| SICN | Medida 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 / SPR | Estimación del error de discretización de Zienkiewicz–Zhu a partir del campo de tensiones recuperado. |
| Extrapolación de Richardson | Estimación del límite de una magnitud al refinar la malla a partir de los resultados en tres mallas. |
| von Mises, Tresca | Tensiones equivalentes para los criterios de fluencia; las fórmulas se encuentran en Posprocesado. |
| SCL | Línea de clasificación de tensiones según ASME VIII-2: componentes de membrana, de flexión y de pico. |
| HHT-α, Newmark | Esquemas implícitos de integración temporal de las ecuaciones del movimiento. Véase Dinámica implícita. |
| Diferencias centrales | Esquema explícito de integración; es estable con un paso menor que el crítico. Véase Dinámica explícita. |
| AMG | Precondicionador 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:
- Bathe K.-J. Finite Element Procedures. 2nd ed. Watertown: K.-J. Bathe, 2014.
- Zienkiewicz O.C., Taylor R.L., Zhu J.Z. The Finite Element Method: Its Basis and Fundamentals. 7th ed. Butterworth-Heinemann, 2013.
- Hughes T.J.R. The Finite Element Method: Linear Static and Dynamic Finite Element Analysis. Dover, 2000.
- Belytschko T., Liu W.K., Moran B., Elkhodary K. Nonlinear Finite Elements for Continua and Structures. 2nd ed. Wiley, 2014.
- Simo J.C., Hughes T.J.R. Computational Inelasticity. Springer, 1998.
- Wriggers P. Computational Contact Mechanics. 2nd ed. Springer, 2006.
- Crisfield M.A. Non-linear Finite Element Analysis of Solids and Structures. Vol. 1–2. Wiley, 1991, 1997.
- Reddy J.N. Mechanics of Laminated Composite Plates and Shells. 2nd ed. CRC Press, 2004.
- Clough R.W., Penzien J. Dynamics of Structures. 3rd ed. Computers & Structures, 2003.
- Saad Y. Iterative Methods for Sparse Linear Systems. 2nd ed. SIAM, 2003.
- Davis T.A. Direct Methods for Sparse Linear Systems. SIAM, 2006.
- Timoshenko S.P., Goodier J.N. Theory of Elasticity. 3rd ed. McGraw-Hill, 1970.
- Lekhnitskii S.G. Theory of Elasticity of an Anisotropic Body. Moscow: Mir, 1981.
Artículos sobre métodos concretos:
- Dvorkin E.N., Bathe K.-J. A continuum mechanics based four-node shell element for general nonlinear analysis. Engineering Computations, 1984, 1(1).
- 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.
- Hughes T.J.R., Brezzi F. On drilling degrees of freedom. Comput. Methods Appl. Mech. Eng., 1989, 72.
- Battini J.-M., Pacoste C. Co-rotational beam elements with warping effects in instability problems. Comput. Methods Appl. Mech. Eng., 2002, 191.
- Felippa C.A., Haugen B. A unified formulation of small-strain corotational finite elements. Comput. Methods Appl. Mech. Eng., 2005, 194.
- Zienkiewicz O.C., Zhu J.Z. The superconvergent patch recovery and a posteriori error estimates. Int. J. Numer. Meth. Eng., 1992, 33.
- Dörfler W. A convergent adaptive algorithm for Poisson's equation. SIAM J. Numer. Anal., 1996, 33.
- Celik I.B. et al. Procedure for estimation and reporting of uncertainty due to discretization in CFD applications. J. Fluids Eng., 2008, 130.
- 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.
- Wriggers P., Zavarise G. On contact between three-dimensional beams undergoing large deflections. Commun. Numer. Meth. Eng., 1997, 13.
- 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.
- Benzeggagh M.L., Kenane M. Measurement of mixed-mode delamination fracture toughness. Compos. Sci. Technol., 1996, 56.
- Cooper M.G., Mikic B.B., Yovanovich M.M. Thermal contact conductance. Int. J. Heat Mass Transfer, 1969, 12.
- Craig R.R., Bampton M.C.C. Coupling of substructures for dynamic analyses. AIAA J., 1968, 6(7).
- Der Kiureghian A. A response spectrum method for random vibration analysis of MDF systems. Earthquake Eng. Struct. Dyn., 1981, 9.
- Miles J.W. On structural fatigue under random loading. J. Aeronaut. Sci., 1954, 21.
- 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.
- Knyazev A.V. Toward the optimal preconditioned eigensolver: LOBPCG. SIAM J. Sci. Comput., 2001, 23.
- Vaněk P., Mandel J., Brezina M. Algebraic multigrid by smoothed aggregation for second and fourth order elliptic problems. Computing, 1996, 56.
- Johnen A., Remacle J.-F., Geuzaine C. Geometrical validity of curvilinear finite elements. J. Comput. Phys., 2013, 233.
- 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:
- NAFEMS. The Standard NAFEMS Benchmarks. Rev. 3, 1990; Selected Benchmarks for Natural Frequency Analysis, 1987.
- 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.
- ASME Boiler and Pressure Vessel Code, Section VIII, Division 2, Part 5.
- ASTM E1049-85. Standard Practices for Cycle Counting in Fatigue Analysis.
- 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:
| Componente | Finalidad |
|---|---|
| MFEM | Infraestructura de elementos finitos: espacios, ensamblaje, parte de los solvers |
| Eigen | Álgebra lineal densa y dispersa, factorizaciones directas |
| AMGCL | Precondicionador multimalla algebraico (escritorio) |
| Apple Accelerate | Factorizaciones directas dispersas (escritorio, macOS) |
| Netgen | Generación de mallas tetraédricas |
| Open CASCADE Technology | Núcleo geométrico: importación, operaciones booleanas, topología |
| SU2 | Cálculo de flujos por el método de volúmenes finitos |
Las licencias de los componentes figuran en la página Open source.