! ============================================================
! M06 - Caza de errores
! ============================================================
/CLEAR,START                        ! Activa un caso cada vez; no los corrijas todos de golpe.
/FILNAME,m06_bug_hunt,1
/UNITS,SI

tip_force=-1000
beam_l=1.0
beam_h=0.10
beam_b=0.05

! ERROR 1: resolver con una seleccion parcial propagada.
! CMSEL,S,tip_nodes
! SOLVE ejecuta el calculo; aqui la seleccion parcial contamina el modelo.

! ERROR 2: consultar resultados sin cargar un set.
! /POST1
! SET,LAST carga un result set antes de leer RF con *GET.
! *GET,...,RF lee reacciones solo del set activo en /POST1.
! *GET,rfy,NODE,1,RF,FY

! ERROR 3: convenio de signos incorrecto.
rfy_expected=1000
wrong_force_error=ABS(rfy_expected-tip_force)/ABS(tip_force)

! ERROR 4: FSUM con todos los nodos seleccionados puede dar una
! resultante global proxima a cero; no representa solo el apoyo.
! SPOINT fija el punto de referencia para momentos de FSUM.
! FSUM suma fuerzas y momentos de nodos seleccionados.
! ALLSEL,ALL
! FSUM

fake_rmz=0                          ! debe reconstruirse con r x RF o sumarse mediante FSUM/SPOINT.

/COM,DIAGNOSE: selection, SET, signs, FSUM scope and moment transfer
/COM,wrong_force_error should expose the sign mistake
FINISH



