Paso 7 — Construir tip_top_nodes mediante intersección
La arista superior de la punta cumple dos condiciones simultáneas: pertenecer a
tip_nodes y a top_nodes.
CMSEL,S,tip_nodes
CMSEL,R,top_nodes
*GET,n_tip_top,NODE,0,COUNT
CM,tip_top_nodes,NODE
ALLSEL,ALL
CMSEL,S recupera el primer componente. CMSEL,R lo intersecta con el
segundo. El resultado debe ser no vacío, menor que la cara completa de la punta y menor que toda
la cara superior:
0 < n_tip_top < n_tip
0 < n_tip_top < n_topPaso 8 — Demostrar que los extremos no se solapan
Una viga de longitud positiva no puede tener nodos que pertenezcan a ambos extremos:
CMSEL,S,fixed_nodes
CMSEL,R,tip_nodes
*GET,n_overlap,NODE,0,COUNT
ALLSEL,ALL
*GET,n_restored,NODE,0,COUNTLas condiciones esperadas son:
n_overlap = 0
n_restored = n_nodesLa primera es una comprobación física. La segunda es una comprobación de estado: confirma que ningún filtro accidental seguirá afectando a módulos posteriores.
Paso 9 — Convertir las regiones en un contrato ejecutable
Un componente que existe por nombre puede estar vacío o contener demasiado. El entregable evalúa
todas las relaciones y resume el resultado en passes:
passes=1
*IF,n_fixed,LE,0,THEN
passes=0
*ENDIF
*IF,n_overlap,NE,0,THEN
passes=0
*ENDIF
*IF,n_restored,NE,n_nodes,THEN
passes=0
*ENDIFDespués genera una evidencia legible:
*CFOPEN,m02_selection_audit,csv
*VWRITE
('case,beam_l,beam_h,mesh_h,n_nodes,n_elements,n_fixed,n_tip,n_top,n_mid_elems,n_tip_top,n_overlap,n_restored,passes')
...
*CFCLOS
Abre m02_selection_audit.csv y comprueba que la última columna vale 1.
Los conteos concretos pueden variar; las relaciones del archivo
02_expected_results.csv deben cumplirse siempre.
El patrón que debes conservar
Seleccionar → contar → nombrar → restaurar → recuperar → auditar
Traducido a APDL:
NSEL,S,...
*GET,n_region,NODE,0,COUNT
CM,region_nodes,NODE
ALLSEL,ALL
CMSEL,S,region_nodes
! operacion sobre la region
ALLSEL,ALLEste patrón separa la definición de una región de su uso. En M05 podremos aplicar restricciones o cargas a componentes cuyo significado ya ha sido probado.