General Mechanical

General Mechanical

mapping results to new mesh

    • Cabak
      Subscriber

      Workbench issue.  Having difficulties trying to map results to a new mesh.  Tried CBDOF command in an ADPL script insert.  Program cannot find the node file.  Assuming it would be the working project folder Workbench is running at but this is not working. 

    • Samir Kadam
      Ansys Employee

      Hi..


      CBDOF command is for activating cut-boundary interpolation for submodelling. It is not to map results on the new mesh. 


      If I understand your requirements, you want to first export displacement results from WB Mechanical and then map it to different mesh in APDL. For this,


      1) Export the Deformation results from WB Mechanical. Switch on Include Node Location under Tools/Options/Mechanical/Export. And then right click on result item to export it as Text file. 


      2) Then try using *MOPER command with MAP operation. 


      Regards,


      Samir.

    • Cabak
      Subscriber

      Thank you Samir - I will try your suggestion.  However, just so you know, when running models in "classical" ANSYS I have used CBDOF very effectively for just this purpose; in our design studies to optimize support layouts for high precision optical mirrors.  We run fairly detailed models of mirrors with brick elements, several layers thru the thickness.  The brick models have higher mesh density near supports and the results yield only displacements.  We then generate a uniform shell mesh on the surface and map the displacements to this new model using CBDOF.  The resulting shell model yields displacements and rotations in a higher density uniform distribution.  The rotations provide us the information needed to calculate rms slope error, the optical performance of the mirror for this support configuration.  I was hoping we could still do this in Workbench but I guess it is not possible (?).  But as long as your method works our goal will be the same.  Thanks again for the advice.


      regards,


      jerry

    • Rohith Patchigolla
      Ansys Employee

      Hi UCO-Lick,


      Have you tried to use "External Data" in Workbench to do the mapping? 



      First step would be same as what Samir has suggested (Step 1). In the second step, you can use "External data" component to do the mapping of the displacements using the file generated in first step. 


      Please go through this link for further reference. 


      Best regards,


      Rohith

    • Cabak
      Subscriber

      Thank you Rohith - we will look into this as well.


       


      gfc

    • Cabak
      Subscriber

      Samir,


      From WB we were able to write .db and .rst files which I could read into classical ANSYS (CA).  i was able to get what I needed using the CBDOF command.  However I want to understand the *MOPER command.  It seems the better solution and I'd like to compare.  Here is how I understand it's set up.


      Problem.  Solid model with an elliptical surface (assume 100 nodes); uniform shell mesh of same surface (assume 200 nodes)


      par1 = new node set (200 nodes) - n, x, y, z (from a nlist file) - matrix NEWNODES(200,4)


      par2 = old node results (100 nodes) - n, ux, uy, uz (from prdisp file) - matrix OLDRESULTS(100,4)


      par3 = old node set (100 pts) - n, x, y, z (from nlist file) - matrix OLDNODES(100,4)


      parR = new node results (200 pts) - n, ux, uy, ux - matrix NEWRESULTS(200,4)


      command line:


      *MOPER,NEWRESULTS(200,4),NEWNODES(200,4),MAP,OLDRESULTS(100,4),OLDNODES(100,4).0,,1


      I want nodes outside the region set to zero so they can be discarded.  The three arrays (NewNodes, OldNodes, & OldResults) need to be set up; and the date read in (need to learn this).  I assume the NewResults array needs to be defined as well.  Do all cells need to be defined or is it fine by default.  Do I have this correct so far?

    • Rohith Patchigolla
      Ansys Employee

      Hi Uco-Lick,


      "I want nodes outside the region set to zero so they can be discarded.  The three arrays (NewNodes, OldNodes, & OldResults) need to be set up; and the date read in (need to learn this).  I assume the NewResults array needs to be defined as well.  Do all cells need to be defined or is it fine by default.  Do I have this correct so far?"


      From my understanding, you do not need node numbers in the arrays (par1, par2, par3 and parR). And the *moper command will look like this for your case.


      *MOPER,NEWRESULTS(1,1),NEWNODES(1,1),MAP,OLDRESULTS(1,1),OLDNODES(1,1),0,,1


      All the arrays need to be defined (i.e. also the NewResults array).


      Best regards,


      Rohith


       

    • Cabak
      Subscriber

      Thanks Rohith,


      I am confused about the array indexing though.  If my node numbers start at, for example, 1000, the node number needs to be part of the array since I have 100 in on array and 200 in another.  Or is this handled in the array declarations and value entry?


      Jerry Cabak

    • cyx9078
      Subscriber

      Hi, in your case, where do you store the nodal file so it works later. Initially the Program cant find the file. Is this because of the wrong file path?


       


       


      Samir,


      From WB we were able to write .db and .rst files which I could read into classical ANSYS (CA).  i was able to get what I needed using the CBDOF command.  However I want to understand the *MOPER command.  It seems the better solution and I'd like to compare.  Here is how I understand it's set up.


      Problem.  Solid model with an elliptical surface (assume 100 nodes); uniform shell mesh of same surface (assume 200 nodes)


      par1 = new node set (200 nodes) - n, x, y, z (from a nlist file) - matrix NEWNODES(200,4)


      par2 = old node results (100 nodes) - n, ux, uy, uz (from prdisp file) - matrix OLDRESULTS(100,4)


      par3 = old node set (100 pts) - n, x, y, z (from nlist file) - matrix OLDNODES(100,4)


      parR = new node results (200 pts) - n, ux, uy, ux - matrix NEWRESULTS(200,4)


      command line:


      *MOPER,NEWRESULTS(200,4),NEWNODES(200,4),MAP,OLDRESULTS(100,4),OLDNODES(100,4).0,,1


      I want nodes outside the region set to zero so they can be discarded.  The three arrays (NewNodes, OldNodes, & OldResults) need to be set up; and the date read in (need to learn this).  I assume the NewResults array needs to be defined as well.  Do all cells need to be defined or is it fine by default.  Do I have this correct so far?


       


Viewing 8 reply threads
  • You must be logged in to reply to this topic.