Paso 4 — Preparar la banda central
ALLSEL,ALL
ESEL,S,CENT,X,0.4*beam_l,0.6*beam_l
CM,mid_elems,ELEM
*GET,n_mid_elems,ELEM,0,COUNT
ALLSEL,ALLReutilizamos el patrón robusto de M02. El componente no depende de IDs y será el ámbito exacto de la modificación del reto.
Paso 5 — Auditar los elementos, no los punteros
*GET,n_elements,ELEM,0,COUNT
ESEL,S,TYPE,,1
*GET,n_type1,ELEM,0,COUNT
ALLSEL,ALL
ESEL,S,MAT,,1
*GET,n_mat1,ELEM,0,COUNT
ALLSEL,ALL
ESEL,S,MAT,,2
*GET,n_mat2,ELEM,0,COUNT
ALLSEL,ALL
ESEL,S,MAT,,2 pregunta qué elementos almacenan material 2. No pregunta qué
material está activo. El caso base solo aprueba si:
n_type1 = n_elements
n_mat1 = n_elements
n_mat2 = 0
0 < n_mid_elems < n_elements
ETLIST,1 y MPLIST,ALL complementan la auditoría: muestran las
definiciones, mientras los conteos demuestran las asignaciones.
Paso 6 — Corregir una asignación existente
En el reto, la secuencia correcta preserva el ámbito seleccionado:
CMSEL,S,mid_elems
EMODIF,ALL,MAT,2
ALLSEL,ALL
Aquí ALL significa todos los elementos seleccionados. Por eso
ALLSEL,ALL debe ir después. Si lo ejecutas antes, convertirás toda la viga.
MAT=2) tras EMODIF sobre mid_elems.
Contrato CSV
03_elements_materials.mac genera m03_attribute_audit.csv:
case,n_elements,n_type1,n_mat1,n_mat2,n_mid_elems,young_steel,young_aluminum,young_ratio,passes
No fijamos un número exacto de elementos porque puede variar con el mallador o la versión.
Las relaciones sí expresan la intención del modelo. En el caso base,
passes=1 exige que todo sea acero; en el reto, la banda debe ser aluminio y la
razón de módulos debe valer 3.
Patrón reutilizable
! 1. Definir
ET,type_id,element_name
MP,EX,material_id,young
! 2. Activar
TYPE,type_id
MAT,material_id
! 3. Crear
VMESH,ALL
! 4. Auditar
ESEL,S,MAT,,material_id
*GET,n_assigned,ELEM,0,COUNT
ALLSEL,ALL