Marc & Structures
Índice
M06 Intermedio ~70 min (lectura + práctica)

Resolver y demostrar equilibrio

ANTYPE, NLGEOM, OUTRES, SOLVE, SET, SPOINT, FSUM, reacciones y equilibrio

Entregable del módulo

06_static_linear.mac

Script APDL listo para ejecutar en MAPDL

Descargar .mac

MAPDL puede terminar SOLVE sin que nosotros hayamos entendido el modelo. En M06 convertiremos la solución en una afirmación comprobable: la fuerza aplicada y su momento deben quedar exactamente equilibrados por el empotramiento.

Tu misión

Resolverás la viga preparada en M05, confirmarás que existe un set de resultados y generarás un CSV que cierre simultáneamente el equilibrio de fuerzas y momentos.

Pregunta guía: si SOLID185 no tiene giros nodales, ¿cómo puede el empotramiento transmitir un momento?

Objetivos

Al completar M06 podrás:

  • Declarar explícitamente un análisis estático lineal.
  • Distinguir load step, substep y set de resultados.
  • Explicar qué estados conecta SOLVE.
  • Comprobar programáticamente que existe una solución disponible.
  • Leer reacciones nodales mediante *GET.
  • Reconstruir un momento a partir de fuerzas translacionales.
  • Utilizar SPOINT y FSUM con un punto de referencia consciente.
  • Aceptar o rechazar el equilibrio mediante tolerancias cuantitativas.

Prerrequisitos y descargas

  • Haber completado M05: la viga debe tener cargas y restricciones auditadas.
  • Reconocer el patrón selección → comprobación → aplicación → restauración.
  • Recordar el convenio global: X longitudinal, Y vertical y Z transversal.

Predicción — Resuelve primero sobre papel

La fuerza total es FY=-1000 N y actúa a un metro del empotramiento. Antes de abrir MAPDL, el diagrama de cuerpo libre exige:

ΣFY = 0  →  RFY + (−1000) = 0  →  RFY = +1000 N

ΣMZ = 0  →  RMZ + 1·(−1000) = 0  →  RMZ = +1000 N·m

Estas cifras son una predicción, no un resultado de elementos finitos. El objetivo del macro será intentar refutarlas leyendo la solución real.

Equilibrio de la fuerza vertical y el momento de una viga en voladizo
Figura 1. Predicción de las resultantes respecto al centro de la cara empotrada.

Modelo mental — Cuatro estados, no un botón

Conviene abandonar la idea de que resolver es pulsar un interruptor. El proceso contiene cuatro estados distintos:

  1. Base de datos preparada: malla, propiedades, restricciones y cargas.
  2. Definición de solución: tipo de análisis, incrementos y resultados solicitados.
  3. Solución: MAPDL ensambla y resuelve el sistema de ecuaciones.
  4. Set activo: un estado concreto del archivo de resultados se carga en memoria.
Ciclo desde la base de datos de MAPDL hasta la auditoría del set de resultados
Figura 2. SOLVE crea resultados; SET elige cuáles están activos.

Física — Qué significa “estático lineal”

El adjetivo contiene tres decisiones:

  • Estructural: buscamos desplazamientos y fuerzas que satisfagan equilibrio y compatibilidad.
  • Estático: no incluimos términos de inercia ni una historia temporal física.
  • Lineal: rigidez, geometría y relación constitutiva no cambian con la respuesta.

El sistema idealizado puede expresarse como:

[K]{u} = {F}

Por eso, si duplicamos la carga sin cambiar el modelo, deben duplicarse desplazamientos, reacciones y esfuerzos. El reto utilizará esa proporcionalidad como una segunda prueba.

APDL — Declarar la hipótesis

/SOLU
ANTYPE,STATIC
NLGEOM,OFF
KBC,1
NSUBST,1
OUTRES,ALL,LAST
  • ANTYPE,STATIC selecciona el análisis estático.
  • NLGEOM,OFF deja explícita la geometría lineal.
  • KBC,1 aplica la carga escalonadamente en el único substep.
  • NSUBST,1 define un único substep para este caso lineal.
  • OUTRES,ALL,LAST guarda el estado final solicitado.

Algunas opciones coinciden con valores predeterminados. Escribirlas aquí no busca llenar el script: convierte las hipótesis de la lección en texto revisable.

Load step, substep y set

Load step
Estado de carga que queremos resolver. Puede representar una fase física o una condición distinta.
Substep
Incremento numérico dentro de un load step. En análisis no lineal tendrá un papel decisivo.
Result set
Instantánea almacenada en el archivo de resultados y recuperable posteriormente.

No son sinónimos. Un load step puede contener muchos substeps y no todos tienen por qué haberse escrito como sets.

Antes de SOLVE — Restaurar el modelo

ALLSEL,ALL
SOLVE
FINISH

La selección activa forma parte del estado de MAPDL. Si una selección de punta se propaga desde la aplicación de cargas hasta la solución, el modelo resuelto puede no ser el que creías haber preparado. Por eso ALLSEL,ALL es una condición previa explícita.

SOLVE no es un sello de calidad

Una solución terminada puede corresponder a unidades equivocadas, una fuerza multiplicada por el número de nodos o una región mal seleccionada. M06 comprueba equilibrio; M07 comprobará además magnitud y distribución de la respuesta.

Comprobar que existe un resultado

Entramos en postprocesado, contamos los sets y solo entonces intentamos activar el último:

/POST1
*GET,n_sets,ACTIVE,0,SET,NSET
solution_available=0

*IF,n_sets,GE,1,THEN
  SET,LAST
  solution_available=1
*ENDIF

Esta secuencia evita que el resto de la auditoría finja trabajar con resultados cuando SOLVE no consiguió generar ninguno.

SET,LAST — Activar no es resolver

SET,LAST no recalcula la estructura. Lee el último set disponible y coloca sus valores en la base de datos de resultados activa. Si existen varios estados, escoger conscientemente el set es tan importante como escoger los nodos.

*GET,result_time,ACTIVE,0,SET,TIME

Guardar también el valor de tiempo permite identificar qué estado se auditó, incluso en un análisis estático donde ese “tiempo” funciona como marcador del load step.

Reacciones — Leer la respuesta del apoyo

Las reacciones se consultan sobre los nodos restringidos. No necesitamos IDs: ya existe el componente físico fixed_nodes.

CMSEL,S,fixed_nodes
node_id=0

*DO,j,1,n_fixed
  node_id=NDNEXT(node_id)
  *GET,rfx_node,NODE,node_id,RF,FX
  *GET,rfy_node,NODE,node_id,RF,FY
  *GET,rfz_node,NODE,node_id,RF,FZ

  rfx=rfx+rfx_node
  rfy=rfy+rfy_node
  rfz=rfz+rfz_node
*ENDDO

RF devuelve las reacciones en el sistema nodal. En el proyecto conductor todos los sistemas nodales permanecen alineados con el cartesiano global.

El momento oculto en fuerzas translacionales

SOLID185 tiene UX, UY y UZ, pero no ROTX, ROTY ni ROTZ. Esto no impide transmitir momento. Las reacciones axiales distribuidas sobre la cara del apoyo forman un par de fuerzas.

Cada reacción nodal contribuye:

{M} = {r} × {RF}

Mx = ry·RFz − rz·RFy
My = rz·RFx − rx·RFz
Mz = rx·RFy − ry·RFx

Al sumar estas contribuciones obtenemos el momento resultante del empotramiento sin inventar un grado de libertad rotacional que el elemento no posee.

Elegir el punto de suma

Utilizaremos el centro de la cara empotrada:

x_ref=0
y_ref=beam_h/2
z_ref=beam_b/2

Un momento siempre está referido a un punto. Cambiar ese punto puede cambiar sus componentes, aunque el sistema de fuerzas siga siendo físicamente equivalente. Elegir el centro del apoyo elimina excentricidades artificiales asociadas al origen geométrico de la caja.

FSUM y SPOINT — Una segunda lectura

SPOINT,0,x_ref,y_ref,z_ref
CMSEL,S,fixed_nodes
FSUM
*GET,fsum_fy,FSUM,0,ITEM,FY
*GET,fsum_mz,FSUM,0,ITEM,MZ

FSUM suma las contribuciones nodales de los elementos conectados al conjunto seleccionado. SPOINT define el punto global respecto al cual calcula los momentos. No deben confundirse automáticamente esas contribuciones internas con la convención de signo de RF.

Límites de FSUM

Su alcance depende de las selecciones y tiene consideraciones específicas para contacto, cargas superficiales, ecuaciones de restricción y grandes rotaciones. Aquí se utiliza en un sólido lineal sencillo y como comprobación secundaria.

Auditoría de fuerza

force_error=ABS(rfy+tip_force)/ABS(tip_force)
force_parasitic=(ABS(rfx)+ABS(rfz))/ABS(tip_force)

El signo “más” no es arbitrario: la carga y su reacción deben ser opuestas. El segundo indicador detecta resultantes no previstas en X o Z que podrían quedar ocultas si solo mirásemos RFY.

Auditoría de momento

external_mz=(beam_l-x_ref)*tip_force
target_mz=-external_mz
moment_error=ABS(rmz+external_mz)/ABS(external_mz)
moment_parasitic=(ABS(rmx)+ABS(rmy))/ABS(external_mz)

Comprobar fuerza sin comprobar momento deja incompleto el diagrama de cuerpo libre. Una carga aplicada en una posición equivocada puede conservar exactamente la misma resultante y producir un momento distinto.

Contrato de aceptación

El caso base solo se aprueba cuando cumple simultáneamente:

  • 126 nodos, 40 elementos, 6 nodos fijos y 6 nodos cargados.
  • Exactamente un set de resultados disponible.
  • Error de fuerza inferior al 0.5 %.
  • Error de momento inferior al 0.5 %.
  • Resultantes parásitas de fuerza y momento inferiores al 0.5 %.
  • passes=1.

El umbral es mucho mayor que el residuo esperado en este problema lineal. Su función pedagógica es separar con claridad un caso aprobado de un error de modelado.

CSV — Evidencia reproducible

El macro genera m06_equilibrium_audit.csv:

case,n_nodes,n_elements,n_fixed,n_tip,n_sets,result_time,target_fy,
rfx,rfy,rfz,rmx,rmy,rmz,target_mz,force_error,moment_error,
fsum_fy,fsum_mz,passes

El archivo conserva entradas, topología, estado consultado, resultantes y decisión. Una captura de la deformada no ofrece esa trazabilidad.

Práctica guiada

  1. Escribe las predicciones RFY y RMZ sin ejecutar MAPDL.
  2. Ejecuta 06_start.mac por bloques y revisa la selección antes de SOLVE.
  3. Comprueba en el archivo .out que la solución terminó.
  4. Activa el último set y lista las reacciones del componente fijo.
  5. Reconstruye el momento respecto al centro del apoyo.
  6. Compara tu CSV con 06_expected_results.csv.
  7. Ejecuta la solución completa únicamente después de justificar cada signo.

Caza de errores — Cinco falsos equilibrios

Abre 06_bug_hunt.mac y diagnostica cada caso:

  1. Selección propagada: se intenta resolver sin recuperar todo el modelo.
  2. Set ausente: se consultan reacciones sin activar resultados.
  3. Signo equivocado: se compara reacción y carga como si tuvieran el mismo sentido.
  4. FSUM global: una suma cercana a cero se interpreta como ausencia de reacción.
  5. Momento inexistente: se busca RF,MZ en nodos sin giro y se ignora el par de fuerzas.

No corrijas primero el código. Para cada error escribe: síntoma, causa física, estado de MAPDL implicado y prueba mínima que confirmaría el diagnóstico.

Reto — Dos estados, una ley lineal

Modifica el caso para resolver dos load steps:

  • Load step 1: FY=-500 N, TIME=1.
  • Load step 2: FY=-1000 N, TIME=2.

Debes conservar ambos sets y demostrar:

RFY₂ / RFY₁ = 2
RMZ₂ / RMZ₁ = 2

Cada estado deberá cerrar fuerza y momento con un error inferior al 0.5 %. El reto se completa mediante script, sin seleccionar entidades desde la interfaz.

Predice antes de ejecutar

Si las razones no son dos, ¿qué hipótesis revisarías primero: linealidad, sustitución de la carga, set activo o selección del apoyo? Ordena esas comprobaciones antes de mirar el `.out`.

Autoevaluación

  1. ¿Qué diferencia existe entre un load step y un result set?
  2. ¿Por qué se ejecuta ALLSEL,ALL antes de SOLVE?
  3. ¿Qué demuestra que n_sets>0 y qué no demuestra?
  4. ¿Por qué RFY y tip_force tienen signos opuestos?
  5. ¿Cómo transmite momento una cara de nodos con solo desplazamientos?
  6. ¿Por qué debe declararse el punto de suma?
  7. ¿Qué error puede ocultarse si solo compruebas fuerzas?
> Ver respuestas breves
  1. El load step es un estado de carga; el set es una instantánea almacenada.
  2. Para evitar que una selección parcial contamine el modelo resuelto.
  3. Que existe una solución almacenada; no que el modelo físico sea correcto.
  4. Porque juntas deben satisfacer ΣFY=0.
  5. Mediante una distribución de fuerzas que forma un par.
  6. Porque las componentes de momento dependen del punto de referencia.
  7. Una posición o excentricidad de carga incorrecta.

Evidencia de aprendizaje

  • m06_equilibrium_audit.csv con passes=1.
  • Extracto del .out que confirme una solución terminada.
  • Cálculo manual de RFY y RMZ.
  • Explicación del convenio de signos entre RF y FSUM.
  • CSV del reto con dos estados y razones iguales a dos.
  • Diagnóstico razonado de los cinco defectos.

Checklist de salida

  • ☐ Declaro el tipo de análisis y la hipótesis geométrica.
  • ☐ Restauro todas las selecciones antes de resolver.
  • ☐ Compruebo que existe un set antes de consultar resultados.
  • ☐ Activo conscientemente el estado que quiero auditar.
  • ☐ Sumo reacciones exclusivamente en el componente fijo.
  • ☐ Compruebo fuerza y momento respecto al mismo punto.
  • ☐ No busco reacciones rotacionales inexistentes en SOLID185.
  • ☐ Mi CSV conserva entradas, resultados, errores y decisión.

Trazabilidad técnica

La lección utiliza Structural Analysis Guide y Basic Analysis Guide para el flujo de solución estática. La sintaxis de ANTYPE, NLGEOM, KBC, NSUBST, OUTRES, SOLVE, SET, SPOINT, FSUM, NDNEXT y *GET se contrasta con Command Reference 2024 R1.

Siguiente paso: M07

Ya sabemos que el modelo resuelve y satisface equilibrio. En M07 preguntaremos algo más exigente: si sus desplazamientos y tensiones representan correctamente la viga física, comparándolos con una solución analítica.

Demuestra que puedes hacerlo sin pistas

Necesitas al menos 80 % y acertar todas las comprobaciones críticas. Puedes repetirla sin límite; después de cada intento recibirás una ruta de repaso concreta.

6 comprobaciones

Competencia

Resolver y demostrar el equilibrio global.

Evidencia esperada

Errores de fuerza y momento inferiores al 0,5 %.

Guarda el dominio entre dispositivos

Introduce tu email y recibirás un enlace seguro. La cuenta solo guarda progreso, intentos y puntuaciones.

1.Introduce la reacción vertical total esperada para una carga FY=−1000 N. Crítica
N
2.Introduce el momento de reacción esperado en magnitud para L=1 m y F=1000 N. Crítica
N·m
3.Introduce el error relativo máximo aceptado por el módulo, en porcentaje. Crítica
%
4.¿Qué hace SET en POST1?
5.FSUM se ejecuta con una selección parcial accidental. ¿Qué riesgo existe? Crítica
6.Predicción: duplicas la carga en un análisis lineal. ¿Qué ocurre con RFY?

Las respuestas se corrigen en el servidor; el navegador no puede desbloquear módulos.

El módulo se completa al superar la prueba de dominio. Las lecciones anteriores permanecen disponibles.

Descargar 06_static_linear.mac
Anterior

M05 — Restricciones y cargas auditables

Siguiente

M07 — Postprocesado y validación

Próximamente · consulta el currículo completo

Ver currículo →