Constraints in Nodal System

mrtimwinkler
mrtimwinkler Altair Community Member
edited October 2020 in Community Q&A

Hello,

 

i have a curved shell-geometry on which i like to reorient the nodal coordinate systems to follow the curvature.

 

I only like to do that for the nodes on the edge.

 

With that nodal systems i like to assign rotational boundary condition following the curvature of the shell-geometry.

 

I am using OptiStruct for Solving.

 

How do i proceed to achieve this goal?

 

Thank you very much for your help!

 

With kind regards

 

Tim

 

<?xml version="1.0" encoding="UTF-8"?>259025487_nodalsystemswithcurvature.thumb.jpg.bb7754ed1f9184b7d40bcaf23cd26536.jpg

 

 

Tagged:

Answers

  • Q.Nguyen-Dai
    Q.Nguyen-Dai Altair Community Member
    edited May 2020

    I can imagine you have 3 groups:

    • Node group // Y : use global system 
    • Node group // Z : use global system
    • Nodes on fillet: define a cylindrical system and apply constraints within this local syst
  • mrtimwinkler
    mrtimwinkler Altair Community Member
    edited May 2020

    Hello Q. Nguyen-Dai,

     

    thank you for your your answer.

     

    Unfurtunally, the geometry is more than just that one fillet with many curves and non-parallel edges to global axes. I am searching for a way to assign all of them at once.

  • Q.Nguyen-Dai
    Q.Nguyen-Dai Altair Community Member
    edited June 2020

    Good luck!

  • Turbokraken
    Turbokraken Altair Community Member
    edited June 2020

    Hello mrtimwinkler,

     

    I am by no means an expert on this, but I have dealt with a roughly similar issue in the past and my suggestion for you would be to look into the HyperWorks scripting language tk/tcl.

    You can find plenty of tutorials online and the HyperWorks help documentation is full of all the available commands. It is quite powerful to help you in modelling special tasks, so well worth to learn.

     

    You can automate a lot of these tasks which would be tedious to do by hand. A script is even more handy if you have to model the same model multiple times.

    For starters, have a look into tk/tcl programming language to understand the syntax. Next, check you 'command' file in the HyperWorks working directory. This file is tracking all the things you do in HyperWorks and translates them to tk/tcl. This makes it easy to check how a command, e.g. constraint creation works.

     

    This is currently the only way I see to do this properly without doing it all manually.

     

    Perhaps this might be a sensible logic:

    1. Pick the nodes where constraints are supposed to be, all on a line

    2. Go through each node individually, check its coordinates

    3. Find the nearest two nodes (which are the next ones on the line then) and check its coordinates

    4. Create a vector from the two neighbour nodes

    5. Create Normal direction from vector within plane (this might cause an issue, because you need more information to properly define this one.)

    6. Create constraint by normal direction vector and current node.

     

    I hope this is at least kind of helping.

     

    Best Regards,

    Lennart

  • mrtimwinkler
    mrtimwinkler Altair Community Member
    edited June 2020

    Hello Turbokraken,

     

    thank you very much for your help!

     

    This will be the best solution, especially in the long term and for future projects.

     

    Best regards and happy simulating,

    Tim

     

  • Q.Nguyen-Dai
    Q.Nguyen-Dai Altair Community Member
    edited June 2020

    So you create constraint for each node without making a local syst?

     

  • Turbokraken
    Turbokraken Altair Community Member
    edited June 2020

    Hi Q.Nguyen-Dai,

     

    Good point, creating a local CS may be necessary, or rather very probably necessary.
    But it was just a general idea that I stated, the exact procedure needs to be figured out by mrtimwinkler. Lets hope he is successful in generating a sensible script. :)/emoticons/default_smile.png' srcset='/emoticons/smile@2x.png 2x' title=':)' width='20' />