I don't know Cantera, but I think this
will help.
Something like the following works well:
rdict={'R1': None, 'R2': None, 'R3': None}
for reac in rdict.keys():
#
# Store an instance of Reactor class in
# the dictionary with key reac
#
rdict[reac]=Reactor()
Then you can reference them with:
rdict['R1'].temperature()
You could also put them in a list instead
of a dictionary but then you would have to
reference them with an index:
rlist=[]
#
# Append an instance of Reactor class in
# the list.
#
rlist.append(Reactor())
rlist.append(Reactor())
rlist.append(Reactor())
then you can reference them with:
rlist[0].temperature()
rlist[1].temparature()
All depends on how you need to process them.
HTH,
Larry Bates
Syscon, Inc.
"SilverShadow" <GP*****@hotmail.com> wrote in message
news:46******************************@localhost.ta lkaboutprogramming.com...
Hello,
I'm having trouble with something that may be easily remedied. I use
Cantera running on Python. I need to make multiple "Reactor()" objects
and have them assigned a different (user defined) name. For example:
reactors = [R1, R2, R3...etc.]
for reac in reactors:
reac = Reactor()
My problem is there is no way to operate on each reactor separately.
(e.g. R1.temperature()) The only thing that can be done is
reac.temperature(), but that gets overwritten each time. So, my question
is, is there any way to assign multiple names w/o having to write out
lines of explicit definitions in the code? Thank you in advance.