September 2, 2021 at 3:17 pm
Subscriber
Erik,
This definitely solves the purpose. But i wanted to leave solver type to "program controlled" but still get that PFACT table using APDL command when Ansys choses Iterative solver internally. I want Ansys to chose solver but still provide PFACT using /POST1 command whenever PF summary is available in solve.out for iterative solver.
You might ask, why do you want that?
I am creating an ACT extension that can read PFACT from PFACT table and write into dictionary. So, if PFACT table is not available, i will write /POST1 command and still get PFACT tabel after solve is completed.
This definitely assumes that solve.out has PFACT summary.
I compared ds.dat file for both "iterative solver type" and "iterative solver type with PFACT set to YES" as you showed above. The only difference is below additional APDL /POST1 command. Why dont I get the table when i insert this command manually.?
/post1
/nopr
*dim,_direction,CHAR,6,1
_direction(1) = 'X'
_direction(2) = 'Y'
_direction(3) = 'Z'
_direction(4) = 'ROTX'
_direction(5) = 'ROTY'
_direction(6) = 'ROTZ'
*get,_lastLS,active,0,set,LSTP
*get,_beginset,active,0,set,nset,first,_lastLS
*get,_endset,active,0,set,nset,last,_lastLS
_nummodes = 0
*if,_endset,gt,0,then
_nummodes = _endset - _beginset + 1
*endif
*do,i_mode,1,_nummodes
*do,j_component,1,6
*get,PFACT_%i_mode%_%j_component%,MODE,%i_mode%,PFACT,,DIREC,_direction(%j_component%)
*enddo
*enddo
*dim,_tmdirection,CHAR,6,1
_tmdirection(1) = 'X'
_tmdirection(2) = 'Y'
_tmdirection(3) = 'Z'
_tmdirection(4) = 'X'
_tmdirection(5) = 'Y'
_tmdirection(6) = 'Z'
*do,j_component,1,6
*if,j_component,gt,3,then
*get,TOTALMASS_%j_component%,ELEM,0,IOR,_tmdirection(%j_component%)
*else
*get,TOTALMASS_%j_component%,ELEM,0,MTOT,_tmdirection(%j_component%)
*endif
*enddo
/gopr
This definitely solves the purpose. But i wanted to leave solver type to "program controlled" but still get that PFACT table using APDL command when Ansys choses Iterative solver internally. I want Ansys to chose solver but still provide PFACT using /POST1 command whenever PF summary is available in solve.out for iterative solver.
You might ask, why do you want that?
I am creating an ACT extension that can read PFACT from PFACT table and write into dictionary. So, if PFACT table is not available, i will write /POST1 command and still get PFACT tabel after solve is completed.
This definitely assumes that solve.out has PFACT summary.
I compared ds.dat file for both "iterative solver type" and "iterative solver type with PFACT set to YES" as you showed above. The only difference is below additional APDL /POST1 command. Why dont I get the table when i insert this command manually.?
/post1
/nopr
*dim,_direction,CHAR,6,1
_direction(1) = 'X'
_direction(2) = 'Y'
_direction(3) = 'Z'
_direction(4) = 'ROTX'
_direction(5) = 'ROTY'
_direction(6) = 'ROTZ'
*get,_lastLS,active,0,set,LSTP
*get,_beginset,active,0,set,nset,first,_lastLS
*get,_endset,active,0,set,nset,last,_lastLS
_nummodes = 0
*if,_endset,gt,0,then
_nummodes = _endset - _beginset + 1
*endif
*do,i_mode,1,_nummodes
*do,j_component,1,6
*get,PFACT_%i_mode%_%j_component%,MODE,%i_mode%,PFACT,,DIREC,_direction(%j_component%)
*enddo
*enddo
*dim,_tmdirection,CHAR,6,1
_tmdirection(1) = 'X'
_tmdirection(2) = 'Y'
_tmdirection(3) = 'Z'
_tmdirection(4) = 'X'
_tmdirection(5) = 'Y'
_tmdirection(6) = 'Z'
*do,j_component,1,6
*if,j_component,gt,3,then
*get,TOTALMASS_%j_component%,ELEM,0,IOR,_tmdirection(%j_component%)
*else
*get,TOTALMASS_%j_component%,ELEM,0,MTOT,_tmdirection(%j_component%)
*endif
*enddo
/gopr