mirror of https://gitlab.com/pamhyr/pamhyr2
Solver: Rename and fix solvers parameters.
parent
6eca4647a9
commit
314ae4d249
|
|
@ -47,9 +47,8 @@ class AbstractSolver(object):
|
|||
def default_parameters(cls):
|
||||
lst = [
|
||||
("all_init_time", "00:00:00:00"),
|
||||
("all_final_time", "01:00:00:00"),
|
||||
("all_final_time", "999:99:00:00"),
|
||||
("all_timestep", "300.0"),
|
||||
("all_timestep_min", "1.0"),
|
||||
]
|
||||
|
||||
return lst
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from Solver.GenericSolver import GenericSolver
|
||||
from Solver.ASolver import AbstractSolver
|
||||
|
||||
class Mage(GenericSolver):
|
||||
class Mage(AbstractSolver):
|
||||
def __init__(self, name):
|
||||
super(Mage, self).__init__(name)
|
||||
|
||||
|
|
@ -17,9 +17,14 @@ class Mage(GenericSolver):
|
|||
lst = super(Mage, cls).default_parameters()
|
||||
|
||||
lst += [
|
||||
("mage_min_timestep", "1.0"),
|
||||
("mage_timestep_tra", "3600"),
|
||||
("mage_timestep_bin", "0"),
|
||||
# ("mage_timestep_melissa", "0"),
|
||||
("mage_implication", "0.70"),
|
||||
("mage_continuity_discretization", "S"),
|
||||
("mage_qsj_discretization", "B"),
|
||||
("mage_stop_criterion_iterations", "R"),
|
||||
("mage_iter_type", "0"),
|
||||
("mage_smooth_coef", "0"),
|
||||
("mage_cfl_max", "-1."),
|
||||
|
|
@ -29,16 +34,16 @@ class Mage(GenericSolver):
|
|||
("mage_precision_reduction_factor_Z", "1"),
|
||||
("mage_precision_reduction_factor_Q", "1"),
|
||||
("mage_niter_max_precision", "99"),
|
||||
("mage_error_bound_mesh_elevation", "-1"),
|
||||
("mage_maximun_froude_number", "2"),
|
||||
("mage_volume_report_monitoring_yn", "y"),
|
||||
("mage_divergence_relative_error", "0.001"),
|
||||
("mage_minimal_reach_volume_error", "1000"),
|
||||
("mage_niter_before_switch", "99"),
|
||||
("mage_max_froude", "1.5"),
|
||||
("mage_diffluence_node_height_balance", "-1"),
|
||||
("mage_compute_reach_volume_balance", "y"),
|
||||
("mage_max_reach_volume_balance", "0.001"),
|
||||
("mage_min_reach_volume_to_check", "1000.0"),
|
||||
]
|
||||
|
||||
return lst
|
||||
|
||||
|
||||
class Mage7(Mage):
|
||||
def __init__(self, name):
|
||||
super(Mage7, self).__init__(name)
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ from View.InitialConditions.Window import InitialConditionsWindow
|
|||
from View.Stricklers.Window import StricklersWindow
|
||||
from View.Sections.Window import SectionsWindow
|
||||
from View.SolverParameters.Window import SolverParametersWindow
|
||||
from View.RunSolver.Window import SelectSolverWindow
|
||||
|
||||
from Model.Study import Study
|
||||
|
||||
|
|
@ -46,12 +47,15 @@ other_model_action = [
|
|||
]
|
||||
|
||||
define_model_action = [
|
||||
# Toolbar
|
||||
"action_toolBar_network", "action_toolBar_geometry",
|
||||
"action_toolBar_mesh", "action_toolBar_run_meshing_tool",
|
||||
"action_toolBar_boundary_cond", "action_toolBar_lateral_contrib",
|
||||
"action_toolBar_spills", "action_toolBar_sections",
|
||||
"action_toolBar_stricklers", "action_toolBar_building",
|
||||
"action_toolBar_initial_cond",
|
||||
# Menu
|
||||
"action_run_solver",
|
||||
]
|
||||
|
||||
action = (
|
||||
|
|
@ -112,6 +116,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
|||
"action_menu_open": self.open_model,
|
||||
"action_menu_save": self.save_study,
|
||||
"action_menu_save_as": self.save_as_study,
|
||||
"action_run_solver": self.run_solver,
|
||||
## Help
|
||||
"action_menu_about": self.open_about,
|
||||
# ToolBar action
|
||||
|
|
@ -332,43 +337,49 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
|||
"into river network window to work on it")
|
||||
|
||||
def open_boundary_cond(self):
|
||||
self.bound = BoundaryConditionWindow(study = self.model, parent = self)
|
||||
self.bound.show()
|
||||
bound = BoundaryConditionWindow(study = self.model, parent = self)
|
||||
bound.show()
|
||||
|
||||
def open_lateral_contrib(self):
|
||||
self.lateral = LateralContributionWindow(study = self.model, parent = self)
|
||||
self.lateral.show()
|
||||
lateral = LateralContributionWindow(study = self.model, parent = self)
|
||||
lateral.show()
|
||||
|
||||
def open_stricklers(self):
|
||||
self.strick = StricklersWindow(
|
||||
strick = StricklersWindow(
|
||||
study = self.model,
|
||||
config = self.conf,
|
||||
parent = self
|
||||
)
|
||||
self.strick.show()
|
||||
strick.show()
|
||||
|
||||
def open_sections(self):
|
||||
self.sections = SectionsWindow(
|
||||
sections = SectionsWindow(
|
||||
study = self.model,
|
||||
parent = self
|
||||
)
|
||||
self.sections.show()
|
||||
sections.show()
|
||||
|
||||
def open_initial_conditions(self):
|
||||
if self.model.river.has_current_reach():
|
||||
self.initial = InitialConditionsWindow(
|
||||
initial = InitialConditionsWindow(
|
||||
study = self.model,
|
||||
parent = self
|
||||
)
|
||||
self.initial.show()
|
||||
initial.show()
|
||||
|
||||
def open_solver_parameters(self):
|
||||
self.params = SolverParametersWindow(
|
||||
params = SolverParametersWindow(
|
||||
study = self.model,
|
||||
parent = self
|
||||
)
|
||||
self.params.show()
|
||||
params.show()
|
||||
|
||||
def run_solver(self):
|
||||
run = SelectSolverWindow(
|
||||
study = self.model,
|
||||
parent = self
|
||||
)
|
||||
run.show()
|
||||
|
||||
# TODO: Delete me !
|
||||
###############
|
||||
|
|
|
|||
|
|
@ -39,23 +39,28 @@ def init():
|
|||
"all_init_time": _translate("SolverParameters", "Initial time (jj:hh:mm:ss)"),
|
||||
"all_final_time": _translate("SolverParameters", "Final time (jj:hh:mm:ss)"),
|
||||
"all_timestep": _translate("SolverParameters", "Timestep (second)"),
|
||||
"all_timestep_min": _translate("SolverParameters", "Minimum timestep (second)"),
|
||||
"mage_implication": _translate("SolverParameters", "Implicitation parameter"),
|
||||
# Mage specific parameters
|
||||
"mage_min_timestep": _translate("SolverParameters", "Minimum timestep (second)"),
|
||||
"mage_timestep_tra": _translate("SolverParameters", "Time step of writing on .TRA"),
|
||||
"mage_timestep_bin": _translate("SolverParameters", "Time step of writing on .BIN"),
|
||||
"mage_implication": _translate("SolverParameters", "Implicitation parameter"),
|
||||
"mage_continuity_discretization": _translate("SolverParameters", "Continuity discretization type (S/L)"),
|
||||
"mage_qsj_discretization": _translate("SolverParameters", "QSJ discretization (A/B)"),
|
||||
"mage_stop_criterion_iterations": _translate("SolverParameters", "Stop criterion iterations (G/A/R)"),
|
||||
"mage_iter_type": _translate("SolverParameters", "Iteration type"),
|
||||
"mage_smooth_coef": _translate("SolverParameters", "Smoothing coefficient"),
|
||||
"mage_cfl_max": _translate("SolverParameters", "Maximun accepted number of CFL"),
|
||||
"mage_min_height": _translate("SolverParameters", "Minimum water height (meter)"),
|
||||
"mage_max_niter": _translate("SolverParameters", "Maximun number of iterations (< 100)"),
|
||||
"mage_timestep_reduction_factor": _translate("SolverParameters", "Timestep reduction factor"),
|
||||
"mage_niter_max_precision": _translate("SolverParameters", "Number of iteration at maximum precision"),
|
||||
"mage_precision_reduction_factor_Z": _translate("SolverParameters", "Reduction precision factor of Z"),
|
||||
"mage_precision_reduction_factor_Q": _translate("SolverParameters", "Reduction precision factor of Q"),
|
||||
"mage_precision_reduction_factor_r": _translate("SolverParameters", "Reduction precision factor of residue"),
|
||||
"mage_error_bound_mesh_elevation": _translate("SolverParameters", "Error bound for mesh elevation"),
|
||||
"mage_maximun_froude_number": _translate("SolverParameters", "Maximum accepted Froude number"),
|
||||
"mage_volume_report_monitoring_yn": _translate("SolverParameters", "Volume report monitoring (Y/N)"),
|
||||
"mage_divergence_relative_error": _translate("SolverParameters", "Divergence weir for relative error in volume"),
|
||||
"mage_minimal_reach_volume_error": _translate("SolverParameters", "Minimum reach volume for error consideration"),
|
||||
"mage_niter_max_precision": _translate("SolverParameters", "Number of iteration at maximum precision"),
|
||||
"mage_niter_before_switch": _translate("SolverParameters", "Number of iteration before switch"),
|
||||
"mage_max_froude": _translate("SolverParameters", "Maximum accepted Froude number"),
|
||||
"mage_diffluence_node_height_balance": _translate("SolverParameters", "Diffluence node height balance"),
|
||||
"mage_compute_reach_volume_balance": _translate("SolverParameters", "Compute reach volume balance (Y/N)"),
|
||||
"mage_max_reach_volume_balance": _translate("SolverParameters", "Maximum reach volume balance"),
|
||||
"mage_min_reach_volume_to_check": _translate("SolverParameters", "Minimum reach volume to check"),
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue