{"id":43347,"date":"2023-11-06T09:05:00","date_gmt":"2023-11-06T16:05:00","guid":{"rendered":"https:\/\/www.padtinc.com\/?p=43347"},"modified":"2023-11-05T20:18:01","modified_gmt":"2023-11-06T03:18:01","slug":"ansys-remote-objects-help","status":"publish","type":"post","link":"https:\/\/www.padtinc.com\/2023\/11\/06\/ansys-remote-objects-help\/","title":{"rendered":"Hold My Beer 3: Getting Ansys Remote Objects To Come Along For The Ride"},"content":{"rendered":"\n

I know\u2026been a while.  Finally had the chance to sit down on a support case with an interesting behavior that has a not-exactly-intuitive fix.  Let\u2019s talk about remote objects\u2026<\/p>\n\n\n\n

So, remote objects (point masses, remote points, body-body connections, etc) are a great way to define loads\/constraints for features not explicitly modeled in your Ansys Mechanical<\/a> simulation.  Behind the scenes, it creates a pilot node that interacts with a group of constrained nodes in your model. <\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

The image above shows the constraint equations generated for a body-body beam, a remote point scoped to a face, a point mass scoped to an edge, and a point mass scoped to a point. <\/p>\n\n\n\n

How Do We Get Remote Objects to Behave? Well, Hold My Beer, and I’ll Show You<\/h2>\n\n\n\n

So, what happens when I change the spacing of the two blocks.  You might expect everything to work just fine since everything is persistent in Mechanical (assuming you\u2019ve properly saved the CAD geometry if you\u2019re using an associative interface or if you\u2019re passing everything through SpaceClaim<\/a> or Discovery<\/a>\u2026or DM if you like to roll that way). <\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

Went from 10 mm of separation to 20.  Update in Mechanical:<\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

Well.  That\u2019s certainly not what I wanted.  So let\u2019s dig into what happened. <\/p>\n\n\n\n

The main culprit here is that remote objects that do not use a direct attach don\u2019t update their location.  Let\u2019s dig into what that means\u2026<\/p>\n\n\n\n

The point mass on the bottom corner is directly connected to a point.  There are no constraint equations generated, that element is defined from the node on the block:<\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

All other objects in the model connect through constraints and have more going on in the \u2018scoping\u2019 portion of the details window:<\/p>\n\n\n\n

\"\" <\/picture><\/a><\/figure>\n\n\n\n

Highlighted in yellow, that controls what nodes are constrained to the pilot node.  You don\u2019t have to worry about refining\/coarsening the mesh on that face, when you hit solve the nodes on that face are paved with target elements and constrained to the pilot node. <\/p>\n\n\n\n

Bracketed in red is *where* the pilot node is located.  When you first insert a remote point it defaults to the centroid of what you\u2019re attaching it to.  It automatically fills out the x\/y\/z location in the global coordinate system.  However\u2026this is a one-time operation.  It doesn\u2019t re-do the location on any other update.  Before you start complaining\u2026the location is an absolute value and you can over-ride the location by typing in new x\/y\/z values.  <\/p>\n\n\n\n

So the solver doesn\u2019t know if this is where the remote object is always located, or if it\u2019s always relative to the selected face.  ANSYS defaults to the assumption \u201cthis location is where the remote object always exists\u201d.  What we need to do is re-define the location to be a relative definition. <\/p>\n\n\n\n

So\u2026how do we do that.  First, we need to create a coordinate system based on the geometry we\u2019re attaching to:<\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

Select the geometry, right-mouse-click, create a coordinate system.  Repeat that for all the remote objects you need to follow the geometry (note I\u2019m not doing this for the left-side of the body-body beam).  Here\u2019s why\u2026user coordinate systems will update when the geometry changes:<\/p>\n\n\n

\n
\"\" <\/picture><\/a><\/figure><\/div>\n\n\n

Now, go back and redefine the remote objects to be 0,0,0 at that user coordinate system:<\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n
\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n
\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

Alright, now let\u2019s verify the behavior with some geometry updates:<\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

Gives me:<\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n
\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

Gives me:<\/p>\n\n\n

\n
\"Ansys <\/picture><\/a><\/figure><\/div>\n\n\n

There ya go!  We get a remote object to follow its geometry by making sure the location is defined in a user-coordinate system scoped to that face. <\/p>\n\n\n\n

There’s More From Where This Came From <\/p>\n\n\n\n

If you found this useful, check out the other “Hold My Beer” posts<\/a>. Or check out other useful posts on our blog. If you want to work with engineers who know their Ansys, wether for support or for consulting, contact us<\/a>, let’s talk. <\/p>\n\n\n\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

I know\u2026been a while.  Finally had the chance to sit down on a support case with an interesting behavior that […]<\/p>\n","protected":false},"author":31,"featured_media":43365,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2323],"tags":[2761,478,511,2762,1015,1340],"post-podcast":[],"_links":{"self":[{"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/posts\/43347"}],"collection":[{"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/comments?post=43347"}],"version-history":[{"count":4,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/posts\/43347\/revisions"}],"predecessor-version":[{"id":43366,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/posts\/43347\/revisions\/43366"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/media\/43365"}],"wp:attachment":[{"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/media?parent=43347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/categories?post=43347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/tags?post=43347"},{"taxonomy":"post-podcast","embeddable":true,"href":"https:\/\/www.padtinc.com\/wp-json\/wp\/v2\/post-podcast?post=43347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}