Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
parent
d29b2d3563
commit
fd3aa23aca
136
src/SimNDT/gui/checkSimulationController.py
Normal file
136
src/SimNDT/gui/checkSimulationController.py
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
__author__ = 'Miguel Molero'
|
||||||
|
|
||||||
|
import os, sys
|
||||||
|
import numpy as np
|
||||||
|
from PySide.QtCore import *
|
||||||
|
from PySide.QtGui import *
|
||||||
|
|
||||||
|
from SimNDT.gui.ui_checksimulation import Ui_checkSimulationDialog
|
||||||
|
from SimNDT.gui.Warnings import WarningParms
|
||||||
|
import SimNDT.gui.constants as c
|
||||||
|
|
||||||
|
|
||||||
|
import SimNDT.core.checkSimulation as CheckSim
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class CheckSimulation(QDialog, Ui_checkSimulationDialog):
|
||||||
|
|
||||||
|
def __init__(self, Scenario, Materials, Boundaries, Transducers, Inspection, Signal, Simulation, parent = None):
|
||||||
|
super(CheckSimulation, self).__init__(parent)
|
||||||
|
self.setupUi(self)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
self.closePushButton.pressed.connect(self.close)
|
||||||
|
|
||||||
|
self.treeWidget.clear()
|
||||||
|
self.dispatcher = ['Scenario', 'Materials','Boundary','Inspection Method', 'Simulation Setup']
|
||||||
|
|
||||||
|
self.treeWidget.setColumnCount(2)
|
||||||
|
self.treeWidget.setHeaderLabels(["Setup","Comments"])
|
||||||
|
self.treeWidget.setAlternatingRowColors(True)
|
||||||
|
self.treeWidget.header().resizeSection(0, 220)
|
||||||
|
|
||||||
|
|
||||||
|
self.Boundaries = Boundaries
|
||||||
|
self.Scenario = Scenario
|
||||||
|
self.Inspection = Inspection
|
||||||
|
|
||||||
|
self.passAll = False
|
||||||
|
|
||||||
|
scenario_tree = QTreeWidgetItem(self.treeWidget)
|
||||||
|
scenario_tree.setText(0,"Scenario")
|
||||||
|
scenario_tree.setIcon(0,QIcon(":/mark.png"))
|
||||||
|
|
||||||
|
|
||||||
|
material_tree = QTreeWidgetItem(self.treeWidget)
|
||||||
|
material_tree.setText(0,"Material")
|
||||||
|
material_tree.setIcon(0,QIcon(":/mark.png"))
|
||||||
|
|
||||||
|
|
||||||
|
self.message1 = None
|
||||||
|
self.message2 = None
|
||||||
|
self.message3 = None
|
||||||
|
self.message4 = None
|
||||||
|
self.message5 = None
|
||||||
|
|
||||||
|
case = CheckSim.labels(Scenario, Materials)
|
||||||
|
|
||||||
|
if case == 1:
|
||||||
|
self.message1 = "Number of labels in scenario is higher than the number of the defined materials. "
|
||||||
|
|
||||||
|
#elif case == 2:
|
||||||
|
# self.message1 = "Number of labels in scenario is lower than the number of the defined materials. "
|
||||||
|
|
||||||
|
|
||||||
|
case = CheckSim.materials(Materials)
|
||||||
|
if case == 1:
|
||||||
|
self.message2 = "Repeated labels in Materials!!!. "
|
||||||
|
|
||||||
|
case = CheckSim.isLabelsEquals(Scenario, Materials)
|
||||||
|
if case == 1:
|
||||||
|
self.message3 = "Scenario Labels do not coincide with Material Labels!!!. "
|
||||||
|
|
||||||
|
|
||||||
|
message = ""
|
||||||
|
if self.message1 is not None:
|
||||||
|
message +=self.message1
|
||||||
|
material_tree.setIcon(0,QIcon(":/cross.png"))
|
||||||
|
|
||||||
|
if self.message2 is not None:
|
||||||
|
message += self.message2
|
||||||
|
material_tree.setIcon(0,QIcon(":/cross.png"))
|
||||||
|
|
||||||
|
if self.message3 is not None:
|
||||||
|
message += self.message3
|
||||||
|
material_tree.setIcon(0,QIcon(":/cross.png"))
|
||||||
|
|
||||||
|
material_tree.setText(1,message)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Scenario, Boundaries, isChange = CheckSim.boundariesReLoad(Scenario, Materials,Boundaries, Transducers[0], Inspection, Simulation)
|
||||||
|
|
||||||
|
|
||||||
|
if isChange:
|
||||||
|
self.Boundaries = Boundaries
|
||||||
|
self.Scenario = Scenario
|
||||||
|
self.message4 = "Found error, but fixed: All boundaries with Air Layers"
|
||||||
|
|
||||||
|
|
||||||
|
boundary_tree = QTreeWidgetItem(self.treeWidget)
|
||||||
|
boundary_tree.setText(0,"Boundaries Conditions")
|
||||||
|
boundary_tree.setIcon(0,QIcon(":/mark.png"))
|
||||||
|
|
||||||
|
if self.message4 is not None:
|
||||||
|
boundary_tree.setText(1,self.message4)
|
||||||
|
|
||||||
|
self.Inspection.setInspection(Scenario, Transducers[0], Simulation)
|
||||||
|
|
||||||
|
|
||||||
|
signal_tree = QTreeWidgetItem(self.treeWidget)
|
||||||
|
signal_tree.setText(0,"Signal Setup")
|
||||||
|
signal_tree.setIcon(0,QIcon(":/mark.png"))
|
||||||
|
|
||||||
|
t = Simulation.t
|
||||||
|
try:
|
||||||
|
source = Signal.generate(t)
|
||||||
|
except Exception as e:
|
||||||
|
self.message5 = "Signal does not fit in the Simulation Time, Increase the Simulation Time to solve this issue"
|
||||||
|
signal_tree.setText(1,self.message5)
|
||||||
|
signal_tree.setIcon(0,QIcon(":/cross.png"))
|
||||||
|
|
||||||
|
if self.message1 is None and self.message2 is None \
|
||||||
|
and self.message3 is None and self.message4 is None\
|
||||||
|
and self.message5 is None:
|
||||||
|
self.passAll = True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def close(self):
|
||||||
|
|
||||||
|
if self.passAll:
|
||||||
|
QDialog.accept(self)
|
||||||
|
else:
|
||||||
|
QDialog.reject(self)
|
Loading…
Reference in New Issue
Block a user