From 188e92460d59dfcf385845d5aa08547e581077f6 Mon Sep 17 00:00:00 2001 From: Konstantin Kuznetsov Date: Fri, 12 Apr 2019 11:36:45 +0200 Subject: [PATCH 1/2] GUI: support of Launder-Sharma turbulence model --- bin/model/TurbulenceModel.py | 20 ++++++++++++++++++-- gui/Pages/TurbulenceView.py | 3 +++ src/gui/cs_gui.c | 5 +++++ src/gui/cs_gui_boundary_conditions.c | 3 ++- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/bin/model/TurbulenceModel.py b/bin/model/TurbulenceModel.py index ce6fc82fa..60a533a57 100644 --- a/bin/model/TurbulenceModel.py +++ b/bin/model/TurbulenceModel.py @@ -75,6 +75,7 @@ def __init__(self, case): 'mixing_length', 'k-epsilon', 'k-epsilon-PL', + 'Launder-Sharma', 'Rij-epsilon', 'Rij-SSG', 'Rij-EBRSM', @@ -215,7 +216,7 @@ def setTurbulenceModel(self, model_turb): self.__removeVariablesAndProperties([], 'smagorinsky_constant^2') self.node_turb.xmlRemoveChild('wall_function') - elif model_turb in ('k-epsilon', 'k-epsilon-PL'): + elif model_turb in ('k-epsilon', 'k-epsilon-PL', 'Launder-Sharma'): lst = ('k', 'epsilon') for v in lst: self.setNewVariable(self.node_turb, v, label=v) @@ -480,7 +481,7 @@ def getTurbulenceVariable(self): model = self.getTurbulenceModel() nodeList = [] - if model in ('k-epsilon','k-epsilon-PL'): + if model in ('k-epsilon','k-epsilon-PL', 'Launder-Sharma'): nodeList.append(self.node_turb.xmlGetNode('variable', name='k')) nodeList.append(self.node_turb.xmlGetNode('variable', name='epsilon')) elif model in ('Rij-epsilon', 'Rij-SSG', 'Rij-EBRSM'): @@ -578,6 +579,21 @@ def checkSetkepsilonPL(self): assert mdl.node_turb == self.xmlNodeFromString(doc),\ 'Could not set the linear production k-epsilon turbulence model' + def checkSetkepsilonPL(self): + """Check whether the k-epsilon turbulence model could be set""" + mdl = TurbulenceModel(self.case) + mdl.setTurbulenceModel('Launder-Sharma') + doc =''' + + + + + 1 + + ''' + assert mdl.node_turb == self.xmlNodeFromString(doc),\ + 'Could not set the Launder-Sharma k-epsilon turbulence model' + def checkSetRijepsilon(self): """Check whether the Rij-epsilon turbulence model could be set""" mdl = TurbulenceModel(self.case) diff --git a/gui/Pages/TurbulenceView.py b/gui/Pages/TurbulenceView.py index e2098060a..1767a73e6 100644 --- a/gui/Pages/TurbulenceView.py +++ b/gui/Pages/TurbulenceView.py @@ -84,6 +84,8 @@ def __init__(self, parent, case, default): if default['model'] in ('k-epsilon', 'k-epsilon-PL'): title = self.tr("Options for k-epsilon model") + elif default['model'] in ('Launder-Sharma'): + title = self.tr("Options for Launder-Sharma k-epsilon model") elif default['model'] in ('Rij-epsilon', 'Rij-SSG', 'Rij-EBRSM'): title = self.tr("Options for Rij-epsilon model") elif default['model'] == 'k-omega-SST': @@ -210,6 +212,7 @@ def __init__(self, parent=None, case=None): self.modelTurbModel.addItem(self.tr("Mixing length"), "mixing_length") self.modelTurbModel.addItem(self.tr("k-epsilon"), "k-epsilon") self.modelTurbModel.addItem(self.tr("k-epsilon Linear Production"), "k-epsilon-PL") + self.modelTurbModel.addItem(self.tr("Launder-Sharma"), "Launder-Sharma") self.modelTurbModel.addItem(self.tr("Rij-epsilon LRR"), "Rij-epsilon") self.modelTurbModel.addItem(self.tr("Rij-epsilon SSG"), "Rij-SSG") self.modelTurbModel.addItem(self.tr("Rij-epsilon EBRSM"), "Rij-EBRSM") diff --git a/src/gui/cs_gui.c b/src/gui/cs_gui.c index afd050de7..049363608 100644 --- a/src/gui/cs_gui.c +++ b/src/gui/cs_gui.c @@ -1569,6 +1569,11 @@ void cs_gui_turb_model(void) turb_mdl->iturb = 21; cs_gui_node_get_child_int(tn_t, "wall_function", &iwallf); cs_gui_node_get_child_status_int(tn_t, "gravity_terms", &(rans_mdl->igrake)); + } + else if (cs_gui_strcmp(model, "Launder-Sharma")) { + turb_mdl->iturb = 22; + cs_gui_node_get_child_int(tn_t, "wall_function", &iwallf); + cs_gui_node_get_child_status_int(tn_t, "gravity_terms", &(rans_mdl->igrake)); } else if (cs_gui_strcmp(model, "Rij-epsilon")) { turb_mdl->iturb = 30; diff --git a/src/gui/cs_gui_boundary_conditions.c b/src/gui/cs_gui_boundary_conditions.c index 90044328c..11549898b 100644 --- a/src/gui/cs_gui_boundary_conditions.c +++ b/src/gui/cs_gui_boundary_conditions.c @@ -2015,7 +2015,8 @@ void CS_PROCF (uiclim, UICLIM)(const int *idarcy, return; if ( cs_gui_strcmp(model, "k-epsilon") - || cs_gui_strcmp(model, "k-epsilon-PL")) { + || cs_gui_strcmp(model, "k-epsilon-PL") + || cs_gui_strcmp(model, "Launder-Sharma")) { cs_real_t *new_vals = cs_meg_boundary_function("turbulence_ke", "formula", From 022b8f3d27ee73f5717d36ef19f4afba1ba2d97e Mon Sep 17 00:00:00 2001 From: Konstantin Kuznetsov Date: Fri, 12 Apr 2019 14:35:30 +0200 Subject: [PATCH 2/2] GUI: support of Launder-Sharma turbulence model --- bin/model/TurbulenceModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/model/TurbulenceModel.py b/bin/model/TurbulenceModel.py index 60a533a57..13673ebe6 100644 --- a/bin/model/TurbulenceModel.py +++ b/bin/model/TurbulenceModel.py @@ -579,7 +579,7 @@ def checkSetkepsilonPL(self): assert mdl.node_turb == self.xmlNodeFromString(doc),\ 'Could not set the linear production k-epsilon turbulence model' - def checkSetkepsilonPL(self): + def checkSetLaunderSharma(self): """Check whether the k-epsilon turbulence model could be set""" mdl = TurbulenceModel(self.case) mdl.setTurbulenceModel('Launder-Sharma')