TAGGED: ansys-mechanical, ansys-mechanical-apdl, apdl, postprocessing
-
-
November 1, 2023 at 8:04 amFrancois GleyzonSubscriber
Hello everyone, I hope everone is doing well.Â
I have a question related to APDL in Ansys Mechanical. I have discover this langugage not so long ago and I launched myself into a project but I am facing strange problems.Â
In my code, I use the *GET function to obtain the stress at some node (so far no problem), for example :Â
*GET,S1,NODE,Node_1,S,1 ! for Node_1 = 1106However, where the nighmares begin, when I use the same function but for the node Node_2 = 18828 then I ran into problems :Â
Requested data is not stored for node 18828.                          Â
 Line= *GET, Sigma2a2, NODE, Node_2, S, 1             Â
 The *GET command is ignored.ÂConsequnelty, I checked the mesh I done in Ansys : Number of nodes = 81924. So I am node out of boundary.Â
I am also able to plot the stress at this point, so it exist. When I export the result (right click -> export) the result of the stress goes from node 141 to node 81924. MMmm ok I assumed, just where are the nodes 1 to 140 ? Anyway, my node is inside !Â
In APDL when I use the function PRNSOLÂ for the stress, I am able to see in the Post Output that nodes where found and assigned with a stres value. However, the number of the nodes goes from 1 to 11631, then switch to 81925 to 93555. This is wrong, and the worst is that the value of 1 equal the value of 81925, same thing until 11631 and 93555. Therefore, assuming that the script is looking here, then I understand that it does not find the node 18828, because it is skipt here (for marvelous reasons).Â
And also, because nothing make sens to me, when I plot the node ID min and max, I have, respectively, 1 and 163848 (?) where 163848 is two times 81924, why ? I don't understand.Â
*GET,node_min,NODE,0,num,minD Â Â Â Â !Get the minimum node id
*GET,node_max,NODE,0,num,maxD Â Â Â Â !Get the maximum node idSo all of this to say, that I would like just to have an APDL function to get the maximum principal stress (S,1) at one point who does not seems to exist, but it does.Â
PS : If needed I can send my code but it is nearly just what I am doing, getting values of stress at certain nodes.Â
Thanks you very much for your help ! :DÂ
-
November 2, 2023 at 12:44 pmdanielshawAnsys Employee
Are the nodes in question corner nodes or mid-side nodes? MAPDL does not store the mid-side node stresses.
-
November 2, 2023 at 1:28 pmChandra SekaranAnsys Employee
One thing to note is that stresses are not stored for mid-side nodes. Midnode stresses are just average of the corner node stresses and are not on the rst file. In MAPDL with Powergraphis ON, you can plot/print the numbers but these are still not in the rst file. The command "nsle,s,corner" will select corner nodes.Â
Regarding "number of nodes=81924". You have 81924 nodes ( *get,ncount, node,,count). But there may be gaps in node ID numbering. You can do *get,nmax,node,,num,max to get the max node ID
-
November 2, 2023 at 2:51 pmFrancois GleyzonSubscriber
Thank you very much for your answers !
I definitively think that this node (18828) might be a mid-side node. Is there a way to tell ? I used a section plane while ploting a result and it seems that the point was in the middle of a segment.Â
And also, I applied this command "nsle,s,corner" at the begining of the post processing section of the script. Does it know force all the points found and computed to be corner´s node. I am not sure to really have understood what is the purpose of this command. -
November 3, 2023 at 7:05 amFrancois GleyzonSubscriber
I thought about it, but isn´t there a way of only looking at the corner nodes then. Because from what I understood, I would be able only to get the values of these nodes, so, it is compulsory for me to look only at those node. And this link with my precedent question and the use of this "nsle,s,corner" function. How to be able to only look at these nodes when using the *GET or *VGET function ?
When I used this "nsle,s,corner" function, I had this line in my out put controler :Â
But I do not have the impression that the funct
SELECTÂ Â Â Â Â ALL NODES HAVING ANY ELEMENT IN ELEMENT SET.
 CONSIDER ONLY CORNER NODES
     23082 NODES (OF    163848 DEFINED) SELECTED FROM
  108888 SELECTED ELEMENTS BY NSLE COMMAND.ion afterwards were only looking at these nodes.
-
November 3, 2023 at 10:43 amdanielshawAnsys Employee
NSEL,S,CORNER should select the corner nodes and *GET should work on the selected set. So, using selection logic and *GET should enable to access information from a subset of the mdoel. *VGET works on the entire database. It does not work only on the selected set. To use *VGET acess a subset of the model, you need to use a masking vector *VMASK.
Â
-
November 3, 2023 at 11:05 amFrancois GleyzonSubscriber
Once again I thank you deeply for your help DanielÂ
Would it be possible to just do a small example here ?Â
Like, let us say the goal is to obtain the principal stress at a node where Von Mises Stress is the higher, that need to be a corner node. Here is for example what I have at the moment :
*VGET, VM_Stress_,NODE,0,S,EQVÂ
*VSCFUN,Node_Stress_Max,LMAX,VM_Stress
*GET,Principal_Stress,NODE,Node_Stress_Max,S,1
The thing is now, I want to be sure, as you understood, that everything read, talk, is a corner node. So with your hepl and advice from yesterday, I now have this :Â
NSLE,S,CORNER ! Select all the corner nodesÂ
*VGET, VM_Stress_,NODE,0,S,EQVÂ
*VSCFUN,Node_Stress_Max,LMAX,VM_Stress
*GET,Principal_Stress,NODE,Node_Stress_Max,S,1 ! Is looking at an array that is not only with corner nodes
And now, the issue is that, as I understand, *VGET is not affected by this selection of corner nodes, and thus I should use *VMASK. So is it this ?
NSLE,S,CORNER ! Select all the corner nodesÂ
*VMASK, VM_Stress_,NODE,0,S,EQVÂ
*VSCFUN,Node_Stress_Max,LMAX,VM_Stress
*GET,Principal_Stress,NODE,Node_Stress_Max,(VMASK,S),1
I am very sorry, but I am struggling with this language, and it does seems very simple to do but I do not get the way to proceed.Â
-
November 3, 2023 at 3:12 pmdanielshawAnsys Employee
I do have the ability to transmit models via this forum. Do you have an Ansys license? If so, please submit a support case using the Customer Portal.  If I am available when the case is created, I will reassign it to myself. If I am not available, another support engineer will assist you.
If you are not familiar with MAPDL, I do not recommend using *VMASK. I recommend using *GET within a *DOLOOP to access the desired data. *VMASK is comptuationally more efficient, but more complicated to implement.
Â
-
November 6, 2023 at 6:09 amFrancois GleyzonSubscriber
Hi Daniel, I hope you had a good week-end. I have worked on this during the week-end and finally it works ! I strongly recommand this website who present a way for usinf the function *VMASK : https://www.ansystips.com/2017/10/ansys-apdl-some-neat-commands.html
I did not folly understand how it works, but I applied the same principle in my code and it works for what I need to do.Â
I would like to thank you deeply for your help, Daniel and Chandra, wishing you a nice day !
-
- The topic ‘APDL Node Stress and ID issue’ is closed to new replies.
- Problem with access to session files
- Ayuda con Error: “Unable to access the source: EngineeringData”
- At least one body has been found to have only 1 element in at least 2 directions
- Error when opening saved Workbench project
- Geometric stiffness matrix for solid elements
- How to apply Compression-only Support?
- How to select the interface delamination surface of a laminate?
- Timestep range set for animation export
- Image to file in Mechanical is bugged and does not show text
- SMART crack under fatigue conditions, different crack sizes can’t growth
-
1216
-
543
-
523
-
225
-
209
© 2024 Copyright ANSYS, Inc. All rights reserved.