Newer
Older
# -*- coding: utf-8 -*-
from Solver.GenericSolver import GenericSolver
class Mage(GenericSolver):
def __init__(self, name):
super(Mage, self).__init__(name)
self._type = "mage"
self._cmd_input = ""
self._cmd_solver = "@path @input -o @output"
self._cmd_output = ""
@classmethod
def default_parameters(cls):
lst = super(Mage, cls).default_parameters()
lst += [
("mage_time_step_tra", "3600"),
("mage_time_step_bin", "0"),
("mage_param_impli", "0.70"),
("mage_iter_type", "0"),
("mage_smooth_coef", "0"),
("mage_stream_number", "-1."),
("mage_water_minimum_height", "0.1"),
("mage_maximun_number_iter", "10"),
("mage_minimal_time_step", "1"),
("mage_time_step_reduction_factor", "2"),
("mage_precision_reduction_factor_Z", "1"),
("mage_precision_reduction_factor_Q", "1"),
("mage_iter_num_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"),
]
return lst
class Mage7(Mage):
def __init__(self, name):
super(Mage7, self).__init__(name)
self._type = "mage7"
@classmethod
def default_parameters(cls):
lst = super(Mage7, cls).default_parameters()
class Mage8(Mage):
def __init__(self, name):
super(Mage8, self).__init__(name)
self._type = "mage8"
@classmethod
def default_parameters(cls):
lst = super(Mage8, cls).default_parameters()
# Insert new parameters at specific position
names = list(map(lambda t: t[0], lst))
i = names.index("mage_precision_reduction_factor_Q")
lst.insert(i+1, ("mage_precision_reduction_factor_r", "1"))