def defaultValues(self): default = TurbulenceModel.defaultValues(self) default['compaction'] = 0.64 default['friction'] = "none" default['granular'] = "none" default['kinetic'] = "none" default['polydispersed'] = "off" return default
def showWidget(self, boundary): """ Show the widget """ self.__boundary = boundary turb_model = TurbulenceModel(self.__case).getTurbulenceModel( self.__currentField) self.__modelTurbulence.enableItem(0) self.__modelTurbulence.enableItem(1) if turb_model != "none" and turb_model != 'mixing_length' and turb_model != 'tchen' and turb_model != 'r2-r12-tchen': turb_choice = boundary.getTurbulenceChoice(self.__currentField) self.__modelTurbulence.setItem(str_model=turb_choice) if turb_model == 'q2-q12' or turb_model == 'r2-q12': self.__modelTurbulence.disableItem(0) self.__modelTurbulence.disableItem(1) if turb_choice == "hydraulic_diameter": self.frameTurbDiameter.show() self.frameTurbIntensity.hide() d = boundary.getHydraulicDiameter(self.__currentField) self.lineEditDiameter.setText(str(d)) self.pushButtonTurb.setEnabled(False) elif turb_choice == "turbulent_intensity": self.frameTurbIntensity.show() self.frameTurbDiameter.hide() i = boundary.getTurbulentIntensity(self.__currentField) d = boundary.getHydraulicDiameter(self.__currentField) self.lineEditIntensity.setText(str(i)) self.lineEditDiameterIntens.setText(str(d)) self.pushButtonTurb.setEnabled(False) elif turb_choice == "formula": self.frameTurbDiameter.hide() self.frameTurbIntensity.hide() self.pushButtonTurb.setEnabled(True) exp = self.__boundary.getTurbFormula(self.__currentField) if exp: self.pushButtonTurb.setStyleSheet( "background-color: green") self.pushButtonTurb.setToolTip(exp) else: self.pushButtonTurb.setStyleSheet("background-color: red") self.show() else: self.hideWidget()
def __slotTurbulenceFormula(self): """ User formula for turbulence """ turb_model = TurbulenceModel(self.__case).getTurbulenceModel( self.__currentField) if turb_model in ('k-epsilon', 'k-epsilon_linear_production'): exp = self.__boundary.getTurbFormula(self.__currentField) if not exp: exp = self.__boundary.getDefaultTurbFormula(turb_model) exa = """#example : uref2 = 10.; dh = 0.2; re = sqrt(uref2)*dh*rho0/mu0; if (re < 2000){ # in this case u*^2 is directly calculated to not have a problem with # xlmbda=64/Re when Re->0 ustar2 = 8.*mu0*sqrt(uref2)/rho0/dh;} else if (re<4000){ xlmbda = 0.021377 + 5.3115e-6*re; ustar2 = uref2*xlmbda/8.;} else { xlmbda = 1/( 1.8*log(re)/log(10.)-1.64)^2; ustar2 = uref2*xlmbda/8.;} cmu = 0.09; kappa = 0.42; k = ustar2/sqrt(cmu); eps = ustar2^1.5/(kappa*dh*0.1);""" req = [('k', "turbulent energy"), ('eps', "turbulent dissipation")] sym = [('x', 'face center coordinate'), ('y', 'face center coordinate'), ('z', 'face center coordinate'), ('t', 'time'), ('dt', 'time step'), ('iter', 'number of time step')] dialog = QMeiEditorView( self, check_syntax=self.__case['package'].get_check_syntax(), expression=exp, required=req, symbols=sym, examples=exa) if dialog.exec_(): result = dialog.get_result() log.debug("slotFormulaTurb -> %s" % str(result)) self.__boundary.setTurbFormula(self.__currentField, result) self.pushButtonTurb.setToolTip(result) self.pushButtonTurb.setStyleSheet("background-color: green") elif turb_model in ('rij-epsilon_ssg', 'rij-epsilon_ebrsm'): exp = self.__boundary.getTurbFormula(self.__currentField) if not exp: exp = self.__boundary.getDefaultTurbFormula(turb_model) exa = """#exemple : uref2 = 10.; dh = 0.2; re = sqrt(uref2)*dh*rho0/mu0; if (re < 2000){ # in this case u*^2 is directly calculated to not have a problem with # xlmbda=64/Re when Re->0 ustar2 = 8.*mu0*sqrt(uref2)/rho0/dh;} else if (re<4000){ xlmbda = 0.021377 + 5.3115e-6*re; ustar2 = uref2*xlmbda/8.;} else { xlmbda = 1/( 1.8*log(re)/log(10.)-1.64)^2; ustar2 = uref2*xlmbda/8.;} cmu = 0.09; kappa = 0.42; k = ustar2/sqrt(cmu); eps = ustar2^1.5/(kappa*dh*0.1); d2s3 = 2/3; R11 = d2s3*k; R22 = d2s3*k; R33 = d2s3*k; R12 = 0; R13 = 0; R23 = 0; """ req = [('R11', "Reynolds stress R11"), ('R22', "Reynolds stress R22"), ('R33', "Reynolds stress R33"), ('R12', "Reynolds stress R12"), ('R13', "Reynolds stress R13"), ('R23', "Reynolds stress R23"), ('eps', "turbulent dissipation")] sym = [('x', 'face center coordinate'), ('y', 'face center coordinate'), ('z', 'face center coordinate'), ('t', 'time'), ('dt', 'time step'), ('iter', 'number of time step')] dialog = QMeiEditorView( self, check_syntax=self.__case['package'].get_check_syntax(), expression=exp, required=req, symbols=sym, examples=exa) if dialog.exec_(): result = dialog.get_result() log.debug("slotFormulaTurb -> %s" % str(result)) self.__boundary.setTurbFormula(self.__currentField, result) self.pushButtonTurb.setToolTip(result) self.pushButtonTurb.setStyleSheet("background-color: green") elif turb_model in ('tchen', 'q2-q12'): exp = self.__boundary.getTurbFormula(self.__currentField) if not exp: exp = self.__boundary.getDefaultTurbFormula(turb_model) exa = """#example : q2 = 5.e-05; q12 = 0.0001;""" req = [('q2', "turbulent kinetic energy"), ('q12', "covariance")] sym = [('x', 'face center coordinate'), ('y', 'face center coordinate'), ('z', 'face center coordinate'), ('t', 'time'), ('dt', 'time step'), ('iter', 'number of time step')] dialog = QMeiEditorView( self, check_syntax=self.__case['package'].get_check_syntax(), expression=exp, required=req, symbols=sym, examples=exa) if dialog.exec_(): result = dialog.get_result() log.debug("slotFormulaTurb -> %s" % str(result)) self.__boundary.setTurbFormula(self.__currentField, result) self.pushButtonTurb.setToolTip(result) self.pushButtonTurb.setStyleSheet("background-color: green") elif turb_model in ('r2-q12'): exp = self.__boundary.getTurbFormula(self.__currentField) if not exp: exp = self.__boundary.getDefaultTurbFormula(turb_model) exa = """#example : R11 = 5e-05; R22 = 5e-05; R33 = 5e-05; R12 = 5e-05; R13 = 5e-05; R23 = 5e-05; q12 = 0.0001;""" req = [('R11', "Reynolds stress R11"), ('R22', "Reynolds stress R22"), ('R33', "Reynolds stress R33"), ('R12', "Reynolds stress R12"), ('R13', "Reynolds stress R13"), ('R23', "Reynolds stress R23"), ('q12', "covariance")] sym = [('x', 'face center coordinate'), ('y', 'face center coordinate'), ('z', 'face center coordinate'), ('t', 'time'), ('dt', 'time step'), ('iter', 'number of time step')] dialog = QMeiEditorView( self, check_syntax=self.__case['package'].get_check_syntax(), expression=exp, required=req, symbols=sym, examples=exa) if dialog.exec_(): result = dialog.get_result() log.debug("slotFormulaTurb -> %s" % str(result)) self.__boundary.setTurbFormula(self.__currentField, result) self.pushButtonTurb.setToolTip(result) self.pushButtonTurb.setStyleSheet("background-color: green") elif turb_model in ('r2-r12-tchen'): exp = self.__boundary.getTurbFormula(self.__currentField) if not exp: exp = self.__boundary.getDefaultTurbFormula(turb_model) exa = """#example : R11 = 5e-05; R22 = 5e-05; R33 = 5e-05; R12 = 5e-05; R13 = 5e-05; R23 = 5e-05; R12-11 = 5e-05; R12-22 = 5e-05; R12-33 = 5e-05; R12-12 = 5e-05; R12-13 = 5e-05; R12-23 = 5e-05;""" req = [('R11', "Reynolds stress R11"), ('R22', "Reynolds stress R22"), ('R33', "Reynolds stress R33"), ('R12', "Reynolds stress R12"), ('R13', "Reynolds stress R13"), ('R23', "Reynolds stress R23"), ('R12-11', "Reynolds stress R11"), ('R12-22', "Reynolds stress R22"), ('R12-33', "Reynolds stress R33"), ('R12-12', "Reynolds stress R12"), ('R12-13', "Reynolds stress R13"), ('R12-23', "Reynolds stress R23")] sym = [('x', 'face center coordinate'), ('y', 'face center coordinate'), ('z', 'face center coordinate'), ('t', 'time'), ('dt', 'time step'), ('iter', 'number of time step')] dialog = QMeiEditorView( self, check_syntax=self.__case['package'].get_check_syntax(), expression=exp, required=req, symbols=sym, examples=exa) if dialog.exec_(): result = dialog.get_result() log.debug("slotFormulaTurb -> %s" % str(result)) self.__boundary.setTurbFormula(self.__currentField, result) self.pushButtonTurb.setToolTip(result) self.pushButtonTurb.setStyleSheet("background-color: green")