Wed 28 Aug 21:38:52 CEST 2024

This commit is contained in:
sbosse 2024-08-28 21:39:46 +02:00
parent d29b2d3563
commit fd3aa23aca

View 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)