Paso 4 — Crear el pasaporte de la malla
Antes de resolver, cada malla debe demostrar cuatro propiedades:
*GET,n_nodes(i),NODE,0,COUNT
*GET,n_elems(i),ELEM,0,COUNT
ESEL,S,TYPE,,1
*GET,n_type1(i),ELEM,0,COUNT
ALLSEL,ALL
ESEL,S,MAT,,1
*GET,n_mat1(i),ELEM,0,COUNT
ALLSEL,ALLLa prueba aprueba únicamente cuando:
n_elems = div_x*div_y*div_z
n_nodes = (div_x+1)*(div_y+1)*(div_z+1)
n_type1 = n_elems
n_mat1 = n_elemsAsí conectamos M04 con M03: una malla más fina que pierde sus atributos no es una mejora del mismo modelo, sino otro modelo.
Paso 5 — Convertir la calidad en una prueba
SHPP,DEFAULT
SHPP,ON
...
SHPP,SUMMARY
CHECK,ESEL,WARN
*GET,n_shape_bad(i),ELEM,0,COUNT
ALLSEL,ALL
SHPP,SUMMARY lista el resumen de las pruebas de forma de los elementos seleccionados.
Después, CHECK,ESEL,WARN hace algo especialmente útil: deselecciona los elementos
sin incidencias y conserva únicamente los que producen advertencias o errores. Por tanto,
n_shape_bad=0 es una condición automatizable.
CHECK modifica la selección
Si no ejecutas ALLSEL,ALL después, el banco de ensayo podría actuar únicamente
sobre los elementos problemáticos o sobre un conjunto vacío.
Paso 6 — El banco de ensayo heredado
Para medir convergencia necesitamos una respuesta física. El siguiente bloque reutiliza la ruta vertical que ya ejecutaste en M00:
NSEL,S,LOC,X,0
D,ALL,ALL,0
ALLSEL,ALL
NSEL,S,LOC,X,beam_l
*GET,n_tip,NODE,0,COUNT
force_per_node=tip_force/n_tip
F,ALL,FY,force_per_node
ALLSEL,ALL
FINISH
/SOLU
ANTYPE,STATIC,NEW
SOLVE
FINISH
/POST1
SET,LAST
*GET,uy_tip(i),NODE,probe_node,U,YEn M04 este bloque funciona como un instrumento de laboratorio: todas sus entradas permanecen constantes y solo devuelve una lectura. M05 explicará y auditará las condiciones de contorno; M06, la solución y el equilibrio; M07, la extracción y validación de resultados.
El nodo de medida se selecciona por X=beam_l, Y=0 y Z=0.
Esa coordenada existe en todas las mallas. Escribir un ID mezclaría refinamiento con un cambio
accidental del punto observado.