From 28ef3afa6ddf5dbdd404906b983feed3088e9908 Mon Sep 17 00:00:00 2001 From: David Seus <david.seus@ians.uni-stuttgart.de> Date: Thu, 7 Mar 2019 17:39:21 +0100 Subject: [PATCH] add _init_subdomains() to self.initialise() and add defence against forgetting to run self.set_parameters --- LDDsimulation.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/LDDsimulation.py b/LDDsimulation.py index ce9bdb3..5f2a854 100644 --- a/LDDsimulation.py +++ b/LDDsimulation.py @@ -82,6 +82,8 @@ class LDDsimulation(object): ## Private variables # The number of subdomains are counted by self.init_meshes_and_markers() self._number_of_subdomains = 0 + # variable to check if self.set_parameters() has been called + self._parameters_set = False # list of objects of class DomainPatch initialised by self._init_subdomains() self.subdomain = [] @@ -92,7 +94,7 @@ class LDDsimulation(object): interface_def_points: tp.List[tp.List[df.Point]],# adjacent_subdomains: tp.List[np.ndarray],# mesh_resolution: float,# - viscosity: tp.Dict[int, float],# + viscosity: tp.Dict[int, tp.List[float]],# porosity: tp.Dict[int, float],# L: tp.Dict[int, tp.List[float]],# lambda_param: tp.Dict[int, tp.List[float]])-> None: @@ -107,10 +109,18 @@ class LDDsimulation(object): self.porosity = porosity self.L = L self.lambda_param = lambda_param + self._parameters_set = True def initialise(self) -> None: + """ initialise LDD simulation + + Public method to call all the init methods of the LDD simulation. + """ + if not self._parameters_set: + raise RuntimeError("You forgott to run self.set_parameters(**kwds)") self._init_meshes_and_markers() self._init_interfaces() + self._init_subdomains() ## Private methods @@ -245,7 +255,7 @@ class LDDsimulation(object): mesh = self.mesh_subdomain[subdom_num],# viscosity = self.viscosity[subdom_num],# porosity = self.porosity[subdom_num],# - interfaces = interface_list,# + has_interface = interface_list,# L = self.L[subdom_num],# lambda_param = self.lambda_param[subdom_num]# )) -- GitLab