diff --git a/src/Model/SolverParameters/SolverParametersList.py b/src/Model/SolverParameters/SolverParametersList.py index 18c455296442ecb9c58493caa7130fff558b6f20..4aae2b377d4569806dc0b7b86b24751ed1a988e5 100644 --- a/src/Model/SolverParameters/SolverParametersList.py +++ b/src/Model/SolverParameters/SolverParametersList.py @@ -100,6 +100,59 @@ class SolverParametersList(SQLSubModel): execute(f"UPDATE solver_parameter SET name='mage_implicitation' WHERE name='mage_implication'") execute(f"UPDATE solver_parameter SET name='mage_iteration_type' WHERE name='mage_iter_type'") + if int(release) < 4: + solvers = execute("SELECT DISTINCT solver FROM solver_parameter") + + for solver in solvers: + if solver is not "mage8": + continue + + data = execute("SELECT ind, name, value " + + "FROM solver_parameter "+ + f"WHERE solver = '{solver}' " + + "ORDER BY ind ACS") + + execute( + "DELETE FROM solver_parameter " + + f"WHERE solver = '{solver}'" + ) + + insert = lambda name, value, ind: execute( + "INSERT INTO " + + "solver_parameter(ind, name, value, solver) "+ + "VALUES (" + + f"{ind}, " + + f"'{cls._sql_format(name)}', " + + f"'{cls._sql_format(value)}', " + + f"'{cls._sql_format(solver)}'" + + ")" + ) + + ind = 0 + lst = [] + for v in data: + insert(v[0], v[1], ind) + ind += 1 + + new = [ + ("mage_sediment_masse_volumique", "2650.0"), + ("mage_sediment_angle_repos", "40.0"), + ("mage_sediment_porosity", "0.40"), + ("mage_distance_han", "0.0"), + ("mage_distance_chargement_d50", "100.0"), + ("mage_distance_chargement_sigma", "100.0"), + ("mage_methode_modification_geometrie", "1"), + ("mage_shields_critique", "1"), + ("mage_shields_correction", "1"), + ("mage_capacite_solide", "1"), + ("mage_pas_de_temps_charriage", "1"), + ("mage_facteur_multiplicateur", "1.0"), + ] + + for v in new: + insert(v[0], v[1], ind) + ind += 1 + return cls._update_submodel(execute, version) @classmethod diff --git a/src/Model/Study.py b/src/Model/Study.py index 5b44d0a7455a17d5795996b30728dd2071431343..774a03d1260504c4f0bb74d34acb23cfac39d166 100644 --- a/src/Model/Study.py +++ b/src/Model/Study.py @@ -40,7 +40,7 @@ class Study(SQLModel): def __init__(self, filename = None, init_new = True): # Metadata - self._version = "0.0.3" + self._version = "0.0.4" self.creation_date = datetime.now() self.last_modification_date = datetime.now() self.last_save_date = datetime.now() diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py index d75fd6cb0bd0e47d68b29a0a35a582624e501c57..8fdf25a03988c01aef7395d2b8a58b00c23a52d0 100644 --- a/src/Solver/Mage.py +++ b/src/Solver/Mage.py @@ -455,6 +455,20 @@ class Mage8(Mage): i = names.index("mage_precision_reduction_factor_Q") lst.insert(i+1, ("mage_precision_reduction_factor_r", "1")) + # Mage parameter for sediment module (added in DB 0.0.4) + lst.append(("mage_sediment_masse_volumique", "2650.0")) + lst.append(("mage_sediment_angle_repos", "40.0")) + lst.append(("mage_sediment_porosity", "0.40")) + lst.append(("mage_distance_Han", "0.0")) + lst.append(("mage_distance_chargement_d50", "100.0")) + lst.append(("mage_distance_chargement_sigma", "100.0")) + lst.append(("mage_methode_modification_geometrie", "1")) + lst.append(("mage_shields_critique", "1")) + lst.append(("mage_shields_correction", "1")) + lst.append(("mage_capacite_solide", "1")) + lst.append(("mage_pas_de_temps_charriage", "1")) + lst.append(("mage_facteur_multiplicateur", "1.0")) + return lst ##########