def get_sigma_values(self): ''' get sigma values for conductivity, porosity and storativity ''' try: pocet = int(self.edit_monte_tasks.text()) conduct = float(self.edit_monte_sigma.text()) except ValueError: msg = "ERROR - please set number of computations and sigma for conductivity first!" self.messenger(msg) return False try: storat = float(self.edit_monte_storativity.text()) except ValueError: storat = None else: storat = solver_utils.round_storativity(storat) try: porosity = float(self.edit_monte_porosity.text()) except ValueError: porosity = None else: porosity = solver_utils.round_to_positive_zero(porosity) try: geometry = float(self.edit_monte_geomcoef.text()) except ValueError: geometry = None else: geometry = solver_utils.round_to_positive_zero(porosity) return pocet, conduct, storat, porosity, geometry
def set_single_property_value(self, mtr_id, property_name, new_value): """ set defined property to new value method is used by mesh tools common method for storativity and dual porosity """ if property_name == "porosity": new_value = solver_utils.round_porosity(new_value) else: new_value = solver_utils.round_storativity(new_value) self[mtr_id][property_name] = str(new_value) return str(new_value)
def multiply_single_property(self, mtr_id, property_name, multiplicator): """ multiply one single property used for storativity and porosity """ x_val = self[mtr_id] temp = float(x_val[property_name]) * float(multiplicator) if property_name == "porosity": x_val[property_name] = solver_utils.round_porosity(temp) elif property_name == "geometry_spec": x_val[property_name] = solver_utils.round_to_positive_zero(temp) else: x_val[property_name] = solver_utils.round_storativity(temp) return x_val[property_name]
def set_material_to_dict(self): ''' in selector is index of material try to get current form values and update data in memory ''' idx = str(self.selector_material.currentText()) try: material_object = self.window().material_dict[idx] material_object['type_spec'] = self.material_specific_val_to_list(material_object) material_object['geometry_type'] = self.non_empty_value(self.edit_geometry_type.text()) material_object['geometry_spec'] = self.non_empty_value(self.edit_geometry_coeficient.text()) material_object['storativity'] = solver_utils.round_storativity(self.edit_storativity.text()) material_object['dualporosity'] = solver_utils.round_porosity(self.editl_dual_porosity.text()) except KeyError: self.window().statusBar.showMessage('ERROR no save', 2000) except ValueError: self.window().statusBar.showMessage('ERROR - Form fields can not be empty!') else: self.window().statusBar.showMessage('MTR changes saved to Memory', 2000)
def get_values(self): ''' check all the editor and return 8 row list of tuples with editor values ''' result = {} for row in range(self.lines): try: conductivity = float(getattr(self, "edit_sens_conduct_{}".format(row)).text()) except ValueError: conductivity = None try: porosity = float(getattr(self, "edit_sens_porosity_{}".format(row)).text()) except ValueError: porosity = None else: porosity = solver_utils.round_to_positive_zero(porosity) try: storativity = float(getattr(self, "edit_sens_storativity_{}".format(row)).text()) except ValueError: storativity = None else: storativity = solver_utils.round_storativity(storativity) try: geometry = float(getattr(self, "edit_sens_geometry_{}".format(row)).text()) except ValueError: geometry = None else: geometry = solver_utils.round_to_positive_zero(geometry) if storativity or porosity or conductivity or geometry: result[str(row)] = (conductivity, porosity, storativity, geometry) return result
def set_storativity(self): '''sets the new value of storativity for selected elements''' new_value = solver_utils.round_storativity(self.edit_nvalue_storativity.text()) self.__set_property('storativity', new_value)