def by_volume(self, TP): """Return a VolumetricFlowIndexer that references this object's molar data. Parameters ---------- TP : ThermalCondition """ try: vol = self._data_cache[TP] except: phases = self.phases chemicals = self.chemicals mol = self.data vol = np.zeros_like(mol, dtype=object) for i, phase in enumerate(phases): for j, chem in enumerate(chemicals): index = i, j phase_name = tmo.settings._phase_names[phase] vol[index] = VolumetricFlowProperty(f"{phase_name}{chem.ID}", mol, index, chem.V, TP, phase) self._data_cache[TP] = \ vol = VolumetricFlowIndexer.from_data(property_array(vol), phases, chemicals, False) return vol
def by_mass(self): """Return a ChemicalMassFlowIndexer that references this object's molar data.""" try: mass = self._data_cache['mass'] except: chemicals = self.chemicals mol = self.data mass = np.zeros_like(mol, dtype=object) for i, chem in enumerate(chemicals): mass[i] = MassFlowProperty(chem.ID, mol, i, chem.MW) self._data_cache['mass'] = mass = ChemicalMassFlowIndexer.from_data( property_array(mass), self._phase, chemicals, False) return mass
def by_mass(self): """Return a MassFlowIndexer that references this object's molar data.""" try: mass = self._data_cache['mass'] except: phases = self.phases chemicals = self.chemicals mol = self.data mass = np.zeros_like(mol, dtype=object) for i, phase in enumerate(phases): for j, chem in enumerate(chemicals): index = (i, j) mass[index] = MassFlowProperty(chem.ID, mol, index, chem.MW) self._data_cache['mass'] = mass = MassFlowIndexer.from_data( property_array(mass), phases, chemicals, False) return mass
def by_volume(self, TP): """Return a ChemicalVolumetricFlowIndexer that references this object's molar data. Parameters ---------- TP : ThermalCondition """ try: vol = self._data_cache[TP] except: chemicals = self.chemicals mol = self.data vol = np.zeros_like(mol, dtype=object) for i, chem in enumerate(chemicals): vol[i] = VolumetricFlowProperty(chem.ID, mol, i, chem.V, TP, None, self._phase) self._data_cache[TP] = \ vol = ChemicalVolumetricFlowIndexer.from_data(property_array(vol), self._phase, chemicals, False) return vol