News: HyperSizer Pro V7.3.24 just Released!  Contact us to upgrade your software!

Author Topic: User Load Superposition  (Read 4605 times)

GrEp_Analyst

  • Client
  • **
  • Posts: 6
    •  
User Load Superposition
« on: August 14, 2010, 06:48:45 PM »
Is there a way to superimpose user loads onto FEA loads?

For example: I am working on a wing box structure sizing both skins and ribs.  For a wing-box in bending, the ribs will see additional crushing loads from Brazier loads.  Since FEA will not capture this I have separately calculated the crush loads for each rib. I would like to add them to the processed FEA design-to loads each time HyperSizer is run.

Unfortunately, the only way I can see to do this is to run HyperSizer/HyperFEA once using the FEA loads. Then programmatically read the .ResultPanelControllingFactored() add the rib crushing loads to the Nx component, and then place the result in the .DesignloadsPanel() object, and turn user loads on.  Then run the sizing again. The turn the FEA loads back on and repeat the process until the weights converge.

This is a little clunky, and I don't believe it will take advantage of some of the load processing algorithms that take place when FEA loads is turned on.

Anyway, What I would like to be able to do is to input additional loads in the user loads tab, and then have the option for these loads to be added to the FEA loads at run time.

Any thoughts on how to accomplish this efficiently in the current version (5.8.11) would be appreciated.  Thanks.

Ryan

  • Administrator
  • *****
  • Posts: 145
    •  
Re: User Load Superposition
« Reply #1 on: August 20, 2010, 09:01:26 AM »
I don't think there is any way to directly superimpose user-defined loads onto an FEA-loaded component so I think a workaround like you described is your only option.

To get access to all the FEA loads - all load cases, average, standard deviation, peak etc. you will need to use the .ResultPanelLoad() object. This object is only populated after you analyze a single component (oComp.Size()). Using the ResultPanelLoad() object will give you full access to all the loads in order to do your postprocessing.

Code: [Select]
Set oPanelLoad = oComp.ResultPanel(5, bptCompressionPeak) ' Retrieves the peak compression panel loads for load case 5
Like you implied, doing it like this breaks the HyperFEA loop and becomes a little clunky.  However, keep in mind that HyperFEA itself uses the object model, so you could eventually write you own HyperFEA code to do all of this programatically.