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