c model file name mof axi70.inp c refined region element size para e1 70; c coarse region element size para e2 140; c indenter radius para ri 1000; c buffer zone radius para rb 2000; c outer radius para ro 3000; c cartilage thickness para h 460; c sweep angle (degrees) para theta 3; c block parameters para i1 1; para i2 [%i1+int(%ri/%e1+0.5)]; para i3 [%i2+int((%rb-%ri)/%e1+0.5)]; para i4 [%i3+int((%ro-%rb)/%e2+0.5)]; para k1 1; para k2 [%k1+int((%h-%bf)/%e1+0.5)]; para x1 0; para x2 [%x1+%ri]; para x3 [%x1+%rb]; para x4 [%x1+%ro]; para z1 0; para z2 [%z1+%h]; c create the block block %i1 %i2 %i3 %i4; 1 2; %k1 %k2; %x1 %x2 %x3 %x4; 0 0; %z1 %z2; sd 3 plan 0 0 0 0 1 0; sd 4 plan 0 0 0 0 1 0; trsd 4 rz %theta; c sweep j partition by %theta degrees mbi -2; -2;; x [%ri*cos(%theta)-%ri]; mbi -2; -2;; y [%ri*sin(%theta)]; mbi -3; -2;; x [%rb*cos(%theta)-%rb]; mbi -3; -2;; y [%rb*sin(%theta)]; mbi -4; -2;; x [%ro*cos(%theta)-%ro]; mbi -4; -2;; y [%ro*sin(%theta)]; c collapse the inner most element into a wedge q 1 2 1 1 1 1 q 1 2 2 1 1 2 c respace the nodes in indenter region res 1 1 1 2 2 2 i [0.5**(1.0/%i2)] res 2 1 1 3 2 2 i [3.0**(1.0/(%i3-%i2))] sfi ; -1;;sd 3 sfi ; -2;;sd 4 c make sets nset 1 1 1 1 2 2 = nxm nset 4 1 1 4 2 2 = nxp fset 4 1 1 4 2 2 = fxp nset 1 1 1 4 2 1 = nzm fset 1 1 1 4 2 1 = fzm nset 1 1 1 4 1 2 = nym fset 1 1 1 4 1 2 = fym nset 1 2 1 4 2 2 = nyp fset 1 2 1 4 2 2 = fyp nset 2 1 2 4 2 2 = nzp fset 2 1 2 4 2 2 = fzp nset 1 1 2 2 2 2 = nindent fset 1 1 2 2 2 2 = findent eset 1 1 1 4 2 2 = ecart endpart block 1 21 31 41; 1 2; 1 11 21; 0 [%ri-100] [%ri-50] %ri; 0 0; [%h+1] [%h+51] [%h+101] dei 3 4;; 1 2; bb 3 1 1 3 2 2 1; bb 3 1 2 4 2 2 1; mbi -4;; -2; xz [50*cos(45)] [50*sin(45)] mbi -3;; -1; xz [50*cos(45)] [50*sin(45)] curd 1 arc3 seqnc rt [%ri-100] 0 [%h+1] rt [%ri-100+100*sin(30)] 0 [%h+101-100*cos(30)] rt [%ri] 0 [%h+101]; sd 1 plan 0 0 [%h+1] 0 0 1; sd 2 plan 0 0 [%h+101] 0 0 1 sfi 1 2;; -1;sd 1 sfi ;; -3;sd 2 mbi -2; -2;;xy [(%ri-100)*cos(%theta)-(%ri-100)] [(%ri-100)*sin(%theta)] mbi -3; -2;;xy [(%ri-50)*cos(%theta)-(%ri-50)] [(%ri-50)*sin(%theta)] mbi -4; -2;;xy [%ri*cos(%theta)-%ri] [%ri*sin(%theta)] curd 2 arc3 seqnc rt [%ri-100] 0 [%h+1] rt [%ri-100+100*sin(30)] 0 [%h+101-100*cos(30)] rt [%ri] 0 [%h+101] rz %theta; sfi ; -1;;sd 3 sfi ; -2;;sd 4 q 1 2 1 1 1 1 q 1 2 2 1 1 2 q 1 2 3 1 1 3 sd 5 rule3d 1 2 ; ; sfi 2 3; 1 2; -1;sd 5 sfi -4; 1 2; 2 3;sd 5 unifm 2 1 1 3 1 3 & 2 2 1 3 2 3 & 3 1 2 4 1 3 & 3 2 2 4 2 3 & 2 1 3 4 2 3 & 2 1 1 3 2 1 & 4 1 2 4 2 3 20 0 1 eset 1 1 1 4 2 3 = eindent nset 1 1 3 4 2 3 = nindtop nset 1 1 1 4 2 1 = nindbot fset 1 1 1 4 2 1 = findbot nset 4 1 1 4 2 3 or nindbot fset 4 1 1 4 2 3 or findbot merge stp 0.00000000000001 abaqus write