2222 BaseCallbackBuilder , CoupledCallbackBuilder , populate_matrix_context ,
2323 get_user_struct_fields
2424)
25- from devito .petsc .iet .type_builder import BaseTypeBuilder , CoupledTypeBuilder , objs
25+ from devito .petsc .iet .type_builder import BaseTypeBuilder , CoupledTypeBuilder , ConstrainedBCTypeBuilder , objs
2626from devito .petsc .iet .builder import BuilderBase , CoupledBuilder , ConstrainedBCBuilder , make_core_petsc_calls
2727from devito .petsc .iet .solve import Solve , CoupledSolve
2828from devito .petsc .iet .time_dependence import TimeDependent , TimeIndependent
@@ -264,11 +264,14 @@ def __init__(self, inject_solve, iters, comm, section_mapper, **kwargs):
264264
265265 @cached_property
266266 def type_builder (self ):
267- return (
268- CoupledTypeBuilder (** self .common_kwargs )
269- if self .coupled else
270- BaseTypeBuilder (** self .common_kwargs )
271- )
267+ if self .coupled and self .constrain_bc :
268+ return NotImplementedError
269+ elif self .coupled :
270+ return CoupledTypeBuilder (** self .common_kwargs )
271+ elif self .constrain_bc :
272+ return ConstrainedBCTypeBuilder (** self .common_kwargs )
273+ else :
274+ return BaseTypeBuilder (** self .common_kwargs )
272275
273276 @cached_property
274277 def time_dependence (self ):
@@ -280,17 +283,12 @@ def time_dependence(self):
280283 def callback_builder (self ):
281284 return CoupledCallbackBuilder (** self .common_kwargs ) \
282285 if self .coupled else BaseCallbackBuilder (** self .common_kwargs )
283-
284- # @cached_property
285- # def builder(self):
286- # return CoupledBuilder(**self.common_kwargs) \
287- # if self.coupled else BuilderBase(**self.common_kwargs)
288286
289287 @cached_property
290288 def builder (self ):
291289 if self .coupled and self .constrain_bc :
292- # TODO: implement CoupledConstrainedBCBuilder
293- return CoupledBuilder ( ** self . common_kwargs )
290+ # TODO: implement CoupledConstrainedBCBuilder
291+ return NotImplementedError
294292 elif self .coupled :
295293 return CoupledBuilder (** self .common_kwargs )
296294 elif self .constrain_bc :
0 commit comments