! ============================================================
! M10 - Punto de partida
! Completa los TODO para activar NLGEOM y plasticidad.
! Unidades coherentes: m, kg, s, N, Pa.
! ============================================================

/CLEAR,START
/FILNAME,m10_start,1
/TITLE,M10 - Punto de partida no lineal
/UNITS,SI

beam_l=0.5
beam_h=0.04
beam_b=0.05
mesh_h=0.02
young=210E9
nu=0.30
tip_force=-10000
n_substeps=10
yield_stress=250E6
select_tol=MIN(beam_h,beam_b)*1E-5

/PREP7
ET,1,SOLID185
KEYOPT,1,2,3
MP,EX,1,young
MP,PRXY,1,nu
! TODO 1: descomenta TB,BISO y TBDATA para el caso plastico.
! TB,BISO,1,1
! TBDATA,1,yield_stress,0
TYPE,1
MAT,1
BLOCK,0,beam_l,0,beam_h,0,beam_b

div_x=beam_l/mesh_h
div_y=beam_h/mesh_h
div_z=beam_b/mesh_h
MSHAPE,0,3D
MSHKEY,1
LSEL,S,LENGTH,,beam_l
LESIZE,ALL,,,div_x,,1
LSEL,S,LENGTH,,beam_h
LESIZE,ALL,,,div_y,,1
LSEL,S,LENGTH,,beam_b
LESIZE,ALL,,,div_z,,1
ALLSEL,ALL
VMESH,ALL

SELTOL,select_tol
NSEL,S,LOC,X,0
CM,fixed_nodes,NODE
NSEL,S,LOC,X,beam_l
CM,tip_nodes,NODE
*GET,n_tip,NODE,0,COUNT
ALLSEL,ALL
SELTOL,

FINISH
/SOLU
CMSEL,S,fixed_nodes
D,ALL,ALL,0
ALLSEL,ALL
CMSEL,S,tip_nodes
F,ALL,FY,tip_force/n_tip
ALLSEL,ALL

ANTYPE,STATIC
! TODO 2: cambia NLGEOM,OFF por NLGEOM,ON en el caso no lineal.
NLGEOM,OFF
! TODO 3: usa rampa progresiva con KBC,0 y NSUBST=n_substeps.
KBC,1
NSUBST,1
! TODO 4: guarda todos los substeps con OUTRES,ALL,ALL.
OUTRES,ALL,LAST
SOLVE
FINISH

/COM,Completa los TODO y compara con 10_static_nonlinear.mac
FINISH
