Mage: Add connectivity and cycle network checker.

This commit is contained in:
Pierre-Antoine Rouby committed 2023-06-23 11:46:50 +02:00
1 parent 6250b0e1b0
commit c7d6605cd6
3 files changed
+226 -2

No files matched your search

+15 -2
View File
@@ -52,7 +52,7 @@ class AbstractSolver(object):
@classmethod
def default_parameters(cls):
lst = [
("all_init_time", "00:00:00:00"),
("all_init_time", "000:00:00:00"),
("all_final_time", "999:99:00:00"),
("all_timestep", "300.0"),
]
@@ -122,6 +122,17 @@ class AbstractSolver(object):
def export(self, study, repertory, qlog = None):
raise NotImplementedMethodeError(self, self.export)
def input_param(self):
"""Return input command line parameter(s)
Args:
study: The study object
Returns:
Returns input parameter(s) string
"""
raise NotImplementedMethodeError(self, self.input_param)
#######
# Run #
#######
@@ -137,8 +148,10 @@ class AbstractSolver(object):
return True
cmd = self._cmd_solver
cmd = cmd.replace("@path", self._path_solver).split()
cmd = cmd.replace("@path", self._path_solver)
cmd = cmd.replace("@input", self.input_param())
cmd = cmd.split()
exe = cmd[0]
args = cmd[1:]
+13
View File
@@ -5,6 +5,7 @@ import os
from tools import timer
from Solver.ASolver import AbstractSolver
from Checker.Mage import MageNetworkGraphChecker
class Mage(AbstractSolver):
def __init__(self, name):
@@ -49,10 +50,22 @@ class Mage(AbstractSolver):
return lst
@classmethod
def checkers(cls):
lst = [
MageNetworkGraphChecker(connectivity = True),
MageNetworkGraphChecker(connectivity = False)
]
return lst
##########
# Export #
##########
def input_param(self):
return "0.REP"
@timer
def _export_ST(self, study, repertory, qlog):
files = []