Saltar al contenido
Marc & Structures
Índice

Guarda tu progreso

Introduce tu email y recibirás un enlace seguro. No hay contraseña: el primer enlace crea tu cuenta.

Demostración ~10 min · ~52 min restantes

Tamaño, forma y pasaporte de malla

Pasa de un tamaño nominal a divisiones, exige hexaedros mapeados y crea el pasaporte de calidad.

Paso 1 — De un tamaño nominal a divisiones

Para la familia base, las dimensiones son múltiplos exactos de los tres tamaños:

div_x=beam_l/mesh_h
div_y=beam_h/mesh_h
div_z=beam_b/mesh_h

No llamamos nx, ny y nz a estos parámetros: MAPDL reserva esos nombres para funciones intrínsecas de coordenadas nodales.

mesh_hnx × ny × nzElementosNodos
0.0500 m20 × 2 × 140126
0.0250 m40 × 4 × 2320615
0.0125 m80 × 8 × 425603645

Para un bloque estructurado, los conteos teóricos son:

n_elements = div_x*div_y*div_z
n_nodes    = (div_x+1)*(div_y+1)*(div_z+1)

Estas ecuaciones forman una prueba fuerte: si no coinciden, la malla obtenida no es la estructurada que el script afirmaba construir.

Malla MAPDL gruesa 20 por 2 divisiones en la cara L por H
Figura 2. Malla gruesa: 40 elementos (20×2×1). Vista normal a la cara L×H; la convergencia se decide con CSV, no con suavidad visual.
Malla MAPDL media 40 por 4 divisiones en la cara L por H
Figura 3. Malla media: 320 elementos (40×4×2).
Malla MAPDL fina 80 por 8 divisiones en la cara L por H
Figura 4. Malla fina: 2560 elementos (80×8×4).

Paso 2 — ESIZE frente a LESIZE

ESIZE,mesh_size(i)

ESIZE declara el tamaño global predeterminado. MAPDL calcula divisiones a partir de ese valor, redondeándolas cuando sea necesario. Sin embargo, un control global no expresa por sí solo cómo queremos repartir elementos en cada dirección.

LSEL,S,LENGTH,,beam_l
LESIZE,ALL,,,div_x(i),,1

LSEL,S,LENGTH,,beam_h
LESIZE,ALL,,,div_y(i),,1

LSEL,S,LENGTH,,beam_b
LESIZE,ALL,,,div_z(i),,1
ALLSEL,ALL

LSEL agrupa las líneas por significado geométrico, no por ID. LESIZE,ALL aplica divisiones enteras a las líneas seleccionadas. El argumento KFORC=1 obliga a sustituir cualquier división anterior, algo necesario después de limpiar una malla y preparar la siguiente.

Paso 3 — Exigir hexaedros mapeados

MSHAPE,0,3D
MSHKEY,1
VMESH,ALL

MSHAPE,0,3D solicita hexaedros y MSHKEY,1 exige mallado mapeado. No utilizamos MSHKEY,2, porque permitir una malla libre como alternativa podría ocultar un fallo de nuestra preparación. El bloque rectangular es mapeable y las aristas opuestas reciben el mismo número de divisiones.

Una malla libre no es «mala». Aquí usamos una estructura regular para aislar el efecto del tamaño. En una geometría industrial, la estrategia deberá adaptarse a la forma.