-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcomponentmanager.py
More file actions
39 lines (30 loc) · 1.42 KB
/
componentmanager.py
File metadata and controls
39 lines (30 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from component import *
import pandas as pd
class SpecificComponent:
def __init__(self, name, polymer_flow_flag):
self.polymer_mole_flow_relative = polymer_flow_flag
self.name = name
class GlobalComponentManager:
component_list = []
@classmethod
def component_list_gen(cls, clist, poly_Type, poly_site):
for c in clist:
if c.type == CompType.conventional:
cls.component_list.append(c)
species_polymer_config = pd.read_csv('ReactConfig.csv')
name_list = species_polymer_config.loc[:, poly_Type].values
for idx, cname in enumerate(name_list):
is_site_dependent = True if len(str(cname).split(';')) >= 2 and str(cname).split(';')[
1] == 'NSite' else False
is_mole_flow_relative = True if len(str(cname).split(';')) == 3 else False
if is_site_dependent:
for site in range(1, poly_site + 1):
name = str(cname).split(';')[0] + '[' + str(site) + ']'
if is_mole_flow_relative:
s_c = SpecificComponent(name, int(str(cname).split(';')[2]))
else:
s_c = SpecificComponent(name, -1)
cls.component_list.append(s_c)
else:
s_c = SpecificComponent(cname, -1)
cls.component_list.append(s_c)