Prezentarea unui program cu elemente finite capabil a fi folosit în ...
Prezentarea unui program cu elemente finite capabil a fi folosit în ...
Prezentarea unui program cu elemente finite capabil a fi folosit în ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Programul ANSYS generează doi parametri interni _STATUS şi _RETURN care pot<br />
<strong>fi</strong> folosiŃi în macrouri. De exemplu funcŃiile de modelare solidă generează parametrul<br />
_RETURN care conŃine rezultatul exe<strong>cu</strong>tării funcŃiei. De exemplu exe<strong>cu</strong>tarea unei comenzi<br />
de generare a <strong>unui</strong> Keypoint <strong>cu</strong> comanda K atribuie parametrului _RETURN numărul acelui<br />
Keypoint. Exe<strong>cu</strong>Ńia unei comenzi oarecare (inclusiv un macro) generează parametrul<br />
_STATUS. Acest parametru prin valoarea lui reflectă starea exe<strong>cu</strong>tării, adică:<br />
0 (fără eroare);<br />
1 (o notă explicativă);<br />
2 (un warning);<br />
3 (<strong>cu</strong> eroare).<br />
1.1.12. Exemple simple de macrouri<br />
Primul exemplu de macrou numit offset.mac, deplasează setul nodurilor selectate în<br />
cadrul preprocesorului PREP7. Acest macrou este prezentat numai din considerente<br />
demonstrative deoarece comanda NGEN este mai e<strong>fi</strong>cientă. Deoarece toate comenzile<br />
inclusiv comentariile unor macrouri prede<strong><strong>fi</strong>nite</strong> sunt în limba engleză, următorul exemplu se<br />
prezintă aşa <strong>cu</strong>m este descris în manualul APDL din ANSYS:<br />
! Macro to offset selected nodes in PREP7<br />
! The below <strong>fi</strong>le is saved as: offset.mac<br />
! Usage: OFFSET,DX,DY,DZ<br />
/NOP<br />
! suppress printout for this macro<br />
*GET,NNODE,NODE,,NUM,MAX ! get number of nodes<br />
*DIM,X,,NNODE<br />
*DIM,Y,,NNODE<br />
*DIM,Z,,NNODE<br />
*DIM,SEL,,NNODE<br />
! set up arrays for node locations<br />
! set up array for select vector<br />
*VGET,X(1),NODE,1,LOC,X ! get coordinates<br />
*VGET,Y(1),NODE,1,LOC,Y<br />
*VGET,Z(1),NODE,1,LOC,Z<br />
*VGET,SEL(1),NODE,1,NSEL ! get selected set<br />
*VOPER,X(1),X(1),ADD,ARG1 ! offset locations<br />
*VOPER,Y(1),Y(1),ADD,ARG2<br />
*VOPER,Z(1),Z(1),ADD,ARG3<br />
! *DO,I,1,NNODE ! store new positions<br />
! *IF,SEL(I),GT,0,THEN ! this form takes 98 sec for 100,000 nodes<br />
! N,I,X(I),Y(I),Z(I)<br />
! *ENDIF<br />
! *ENDDO<br />
*VMASK,SEL(1) ! takes 3 seconds for 100,000 nodes<br />
N,(1:NNODE),X(1:NNODE),Y(1:NNODE),Z(1:NNODE)<br />
X(1) =<br />
! delete parameters (cleanup)