diff --git a/LDDsimulation.py b/LDDsimulation.py
index ce9bdb3eba931d654ae7173b4aef873c64809f29..5f2a8541fdf1f20216cdc06f5208ff6272ff1460 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]#
                     ))