[Ironpython-users] Scripting Ansys with IronPython - Unable to call values from dictionary
Ossi Heinonen
ossi.heinonen at tut.fi
Fri Nov 25 08:12:36 CET 2011
Hi again
Could it be possible to use some sort of wildcard method in this one? Like
verifiedValues['*P1*']
or
verifiedValues['?P1?']
Just a thought that seems intuitive, but is it doable?
Best regards
Ossi Heinonen
On 24.11.2011 10:54, Ossi Heinonen wrote:
> Hi all!
>
> I have a problem with scripting the FEA software Ansys Workbench with
> IronPython. I need to come up with a script that gets the variable
> values in an optimum point that I have found using the optimization
> tools.
>
> I found some help for this with "VerifyCandidate" in the scripting
> guide in the Ansys manual and did this in the Ansys Workbench command
> window:
>
> IronPython 2.6.10920.0 on .NET 2.0.50727.3625
> system1 = GetSystem(Name="GDO")
> optimization1 = system1.GetContainer(ComponentName="Optimization")
> optimizationModel1 = optimization1.GetModel()
> verifiedValues = optimizationModel1.VerifyCandidate(Index=0)
> print verifiedValues
> {'/Optimization/OutputParameter:P3': '-0.035979796200990677 [mm]',
> '/Optimization/InputParameter:P1': '5.5 [mm]',
> '/Optimization/OutputParameter:P2': '0.07417053282883164 [kg]'}
>
> Now I have a dictionary with my one design variable P1 and two
> responses P2 and P3 with their values at the optimum. Looking good so
> far. So now I only need to get my hands on the values and I'm home free.
>
> I think this should give me the value of the design variable P1:
>
> verifiedValues['/Optimization/InputParameter:P1']
> KeyNotFoundException: /Optimization/InputParameter:P1
>
> But no, I get an error saying that there is no such key. But when I
> list the keys, it's right there:
>
> dict.keys(verifiedValues)
> ['/Optimization/OutputParameter:P3',
> '/Optimization/OutputParameter:P2', '/Optimization/InputParameter:P1']
>
> So this is my problem. I've tried calling it without the quotes or
> with double quotes and any other variation that I've come up with. If
> I make a new dictionary manually with the exact same keys and values
> copied from the screen it works just fine. But I can't get anything
> out of the original dictionary.
>
> Any ideas on how to get it working or what could be done to debug
> this? The only idea I've had is that for some reason the keys are
> printed incorrectly and some characters are actually missing from
> their names, but I might be totally off with this.
>
> Needless to say that I'm a total newbie with Python. Probably the
> right people to ask are other Ansys users, but I've had no luck
> finding one that could help me. Maybe my luck will chance with you
> Python gurus :)
>
> All help is greatly appreciated!
>
> Best regards
>
> Ossi Heinonen
> Researcher
> Tampere University of Technology
> Finland
>
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users at python.org
> http://mail.python.org/mailman/listinfo/ironpython-users
More information about the Ironpython-users
mailing list