 ## General Mechanical

#### Degree of Freedom problem in calculating stiffness matrix by using SEOPT function

• Vasily0616
Subscriber
I have a problem with calculating the stiffness matrix. Basically, I followed the instruction from the web, using the following codes, and have tried a relatively simple box design. In the end, I was able to get the matrix I needed.
But when it comes to my gearbox design, which is set 16 remote Points in the middle of the bearings and named in command, the same calculating way met some problems. Ansys reported the following error:

No MASTER degrees of freedom are specified. If the TOTAL command was used for automatic generation of MASTER degrees of freedom, it is invalid with the SPARSE solver in a substructure analysis. Please use the M command to define at least one MASTER degree of freedom.
This is a bit weird because as far as I know, I do use the M function in my code, which should specify the DOF. I expect a 96*96 stiffness matrix.
There is my APDL code.
antype,substr
seopt,1,2,1,resolve

*DIM,node_pos,array,arg1,4
*DIM,dof_text_col,CHAR,1,arg1*6
*GET,unitsys,ACTIVE,0,UNITS

*DO,i,1,arg1
M,M%i%,ALL
node_pos(i,1)=i
node_pos(i,2)=NX(M%i%)
node_pos(i,3)=NY(M%i%)
node_pos(i,4)=NZ(M%i%)
dof_text_col(1,6*(i-1)+1)='N%i%_DX'
dof_text_col(1,6*(i-1)+2)='N%i%_DY'
dof_text_col(1,6*(i-1)+3)='N%i%_DZ'
dof_text_col(1,6*(i-1)+4)='N%i%_RX'
dof_text_col(1,6*(i-1)+5)='N%i%_RY'
dof_text_col(1,6*(i-1)+6)='N%i%_RZ'
*ENDDO

allsel,all
• Chandra Sekaran
Ansys Employee
It sounds like somehow the M commands do not have valid node IDs specified. Add a *STAT command just before the DO loop like below to see if you have valid node ID numbers M1, M2, M3 etc. Also in the output see the response for "M" command. You can also add a MLIST at the end of the loop to see a list of Master DOFs.
*STAT
*DO,i,1,arg1
M,M%i%,ALL
node_pos(i,1)=i
node_pos(i,2)=NX(M%i%)
node_pos(i,3)=NY(M%i%)
node_pos(i,4)=NZ(M%i%)
dof_text_col(1,6*(i-1)+1)='N%i%_DX'
dof_text_col(1,6*(i-1)+2)='N%i%_DY'
dof_text_col(1,6*(i-1)+3)='N%i%_DZ'
dof_text_col(1,6*(i-1)+4)='N%i%_RX'
dof_text_col(1,6*(i-1)+5)='N%i%_RY'
dof_text_col(1,6*(i-1)+6)='N%i%_RZ'
*ENDDO
MLIST,ALL

• Ashish Khemka
Ansys Employee
• Vasily0616
Subscriber Thanks for helping.
Due to the solution information, I think I had invalided 16 Points and 96 DOFs to my calculation.
I'm not sure what's wrong with the analysis.
• Ashish Khemka 