forked from IPKM/nmreval
fictive cp and tnmh model
This commit is contained in:
@ -21,13 +21,15 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
|
||||
|
||||
self._dsc = {}
|
||||
self._tg_baselines = {}
|
||||
self._tg_value_plot = []
|
||||
self._tg_value_plot = {}
|
||||
self.limits = RegionItem(), RegionItem()
|
||||
for lim in self.limits:
|
||||
self.graphicsView.addItem(lim)
|
||||
|
||||
self.add_sets()
|
||||
|
||||
self.listWidget.itemClicked.connect(self.show_tg_values)
|
||||
|
||||
def __call__(self):
|
||||
self.clear()
|
||||
self.add_sets()
|
||||
@ -100,11 +102,46 @@ class TgCalculator(QtWidgets.QDialog, Ui_Dialog):
|
||||
lines.append(plt)
|
||||
self._tg_baselines[key] = lines
|
||||
tg_plot = PlotItem(array(list(tg_results.values())), pen=None, symbolBrush=color, symbol='o')
|
||||
self._tg_value_plot.append(tg_plot)
|
||||
self._tg_value_plot[key] = (tg_results, tg_plot)
|
||||
self.graphicsView.addItem(tg_plot)
|
||||
|
||||
def show_tg_values(self, item):
|
||||
values, _ = self._tg_value_plot.get(item.data(QtCore.Qt.UserRole), ({}, None))
|
||||
|
||||
if values is not None:
|
||||
self.listWidget_2.clear()
|
||||
for name, pos in values.items():
|
||||
tg_item = QtWidgets.QListWidgetItem(f'{name.capitalize()}: {pos[0]:.2f} K')
|
||||
self.listWidget_2.addItem(tg_item)
|
||||
|
||||
@QtCore.pyqtSlot(name='on_pushButton_2_clicked')
|
||||
def get_fictive(self):
|
||||
baselines = tuple(lim.getRegion() for lim in self.limits)
|
||||
if baselines[0][0] > baselines[1][0]:
|
||||
baselines = baselines[1], baselines[0]
|
||||
|
||||
for idx in range(self.listWidget.count()):
|
||||
item = self.listWidget.item(idx)
|
||||
key = item.data(QtCore.Qt.UserRole)
|
||||
color = item.foreground()
|
||||
_, data = self._dsc[key]
|
||||
cp, tg = data.get_fictive_cp(*baselines)
|
||||
|
||||
plt = PlotItem(cp.x, cp.y)
|
||||
plt.set_line(color=color.color())
|
||||
self.graphicsView_2.addItem(plt)
|
||||
|
||||
self._tg_value_plot[key][0]['fictive'] = (tg, 0)
|
||||
tg_plot = PlotItem(array(list(self._tg_value_plot[key][0].values())), pen=None, symbolBrush=color, symbol='o')
|
||||
self.graphicsView.addItem(tg_plot)
|
||||
|
||||
res = data.calculate_tnmh([100, 0.5, 1, 2e5], *baselines, return_fictive=False)
|
||||
plt = PlotItem(res.x, res.y)
|
||||
print(res.pprint())
|
||||
plt.set_line(style=2, color=color.color())
|
||||
self.graphicsView_2.addItem(plt)
|
||||
|
||||
def close(self) -> bool:
|
||||
self.clear()
|
||||
|
||||
return super().close()
|
||||
|
||||
|
Reference in New Issue
Block a user