Paso 6 — Listar no es todavía automatizar
DLIST,ALL,ALL
FLIST,ALL,ALL
Los listados permiten leer nodos, etiquetas y valores en el archivo .out. Son
esenciales para depurar, pero una revisión humana no basta para ejecutar muchos casos.
Convertiremos las mismas preguntas en parámetros y condiciones de aprobación.
Paso 7 — Auditar los tres desplazamientos prescritos
CMSEL,S,fixed_nodes
node_id=0
*DO,j,1,n_fixed
node_id=NDNEXT(node_id)
*GET,dof_ux,NODE,node_id,D,UX
*GET,dof_uy,NODE,node_id,D,UY
*GET,dof_uz,NODE,node_id,D,UZ
! comprobar los tres valores
*ENDDO
NDNEXT devuelve el siguiente nodo seleccionado. Así recorremos los IDs reales
sin suponer que son consecutivos. Cada uno de los seis nodos debe almacenar tres valores cero:
n_constrained_dof=18.
Compatibilidad comprobada: MAPDL 2025 R2 puede devolver cero al consultar
un desplazamiento no prescrito. Por eso el macro audita valores sobre
fixed_nodes y utiliza el DLIST global para documentar que no existen
restricciones fuera del componente. No intenta detectar ausencia mediante un valor centinela.
Paso 8 — Sumar las fuerzas realmente almacenadas
ALLSEL,ALL
node_id=0
*DO,j,1,n_nodes
node_id=NDNEXT(node_id)
*GET,node_fx,NODE,node_id,F,FX
*GET,node_fy,NODE,node_id,F,FY
*GET,node_fz,NODE,node_id,F,FZ
force_sum_x=force_sum_x+node_fx
force_sum_y=force_sum_y+node_fy
force_sum_z=force_sum_z+node_fz
*ENDDO
Esta suma recorre todo el modelo, no solo tip_nodes. Por tanto puede detectar
una fuerza accidental fuera de la región prevista o una componente inesperada.
load_error=ABS(force_sum_y-tip_force)/ABS(tip_force)La auditoría exige:
n_force_nodes = n_tip
force_sum_x = 0
force_sum_y = -1000
force_sum_z = 0
load_error < 0.001Contrato CSV
05_loads_constraints.mac genera:
case,mesh_h,n_nodes,n_elements,n_fixed,n_tip,n_constrained_dof,n_force_nodes,force_per_node,force_sum_x,force_sum_y,force_sum_z,target_force,load_error,passes
La fila base debe contener 126 nodos, 40 elementos, 18 restricciones, 6 nodos cargados y
passes=1. En MAPDL 2025 R2 la suma validada es -1000 N con un error
relativo del orden de 10⁻¹⁶.