@@ -45,7 +45,6 @@ def __init__(self) -> None:
4545 """
4646 NoContact class does not need any input parameters.
4747 """
48- pass
4948
5049 @property
5150 def _allowed_system_one (self ) -> list [Type ]:
@@ -77,6 +76,7 @@ def apply_contact(
7776 self ,
7877 system_one : S1 ,
7978 system_two : S2 ,
79+ time : np .float64 = np .float64 (0.0 ),
8080 ) -> None :
8181 """
8282 Apply contact forces and torques between two system object..
@@ -88,7 +88,6 @@ def apply_contact(
8888 system_one
8989 system_two
9090 """
91- pass
9291
9392
9493class RodRodContact (NoContact ):
@@ -120,7 +119,12 @@ def __init__(self, k: np.float64, nu: np.float64) -> None:
120119 self .k = k
121120 self .nu = nu
122121
123- def apply_contact (self , system_one : RodType , system_two : RodType ) -> None :
122+ def apply_contact (
123+ self ,
124+ system_one : RodType ,
125+ system_two : RodType ,
126+ time : np .float64 = np .float64 (0.0 ),
127+ ) -> None :
124128 """
125129 Apply contact forces and torques between RodType object and RodType object.
126130
@@ -226,7 +230,12 @@ def _allowed_system_two(self) -> list[Type]:
226230 # Modify this list to include the allowed system types for contact
227231 return [Cylinder ]
228232
229- def apply_contact (self , system_one : RodType , system_two : Cylinder ) -> None :
233+ def apply_contact (
234+ self ,
235+ system_one : RodType ,
236+ system_two : Cylinder ,
237+ time : np .float64 = np .float64 (0.0 ),
238+ ) -> None :
230239 # First, check for a global AABB bounding box, and see whether that
231240 # intersects
232241 if _prune_using_aabbs_rod_cylinder (
@@ -313,7 +322,12 @@ def _check_systems_validity(
313322 common_check_systems_validity (system_two , self ._allowed_system_two )
314323 common_check_systems_different (system_one , system_two )
315324
316- def apply_contact (self , system_one : RodType , system_two : RodType ) -> None :
325+ def apply_contact (
326+ self ,
327+ system_one : RodType ,
328+ system_two : RodType ,
329+ time : np .float64 = np .float64 (0.0 ),
330+ ) -> None :
317331 """
318332 Apply contact forces and torques between RodType object and itself.
319333
@@ -392,7 +406,12 @@ def __init__(
392406 def _allowed_system_two (self ) -> list [Type ]:
393407 return [Sphere ]
394408
395- def apply_contact (self , system_one : RodType , system_two : Sphere ) -> None :
409+ def apply_contact (
410+ self ,
411+ system_one : RodType ,
412+ system_two : Sphere ,
413+ time : np .float64 = np .float64 (0.0 ),
414+ ) -> None :
396415 """
397416 Apply contact forces and torques between RodType object and Sphere object.
398417
@@ -485,7 +504,12 @@ def __init__(
485504 def _allowed_system_two (self ) -> list [Type ]:
486505 return [SurfaceBase ]
487506
488- def apply_contact (self , system_one : RodType , system_two : SurfaceType ) -> None :
507+ def apply_contact (
508+ self ,
509+ system_one : RodType ,
510+ system_two : SurfaceType ,
511+ time : np .float64 = np .float64 (0.0 ),
512+ ) -> None :
489513 """
490514 Apply contact forces and torques between RodType object and Plane object.
491515
@@ -577,7 +601,12 @@ def __init__(
577601 def _allowed_system_two (self ) -> list [Type ]:
578602 return [SurfaceBase ]
579603
580- def apply_contact (self , system_one : RodType , system_two : SurfaceType ) -> None :
604+ def apply_contact (
605+ self ,
606+ system_one : RodType ,
607+ system_two : SurfaceType ,
608+ time : np .float64 = np .float64 (0.0 ),
609+ ) -> None :
581610 """
582611 Apply contact forces and torques between RodType object and Plane object with anisotropic friction.
583612
@@ -659,7 +688,12 @@ def _allowed_system_one(self) -> list[Type]:
659688 def _allowed_system_two (self ) -> list [Type ]:
660689 return [SurfaceBase ]
661690
662- def apply_contact (self , system_one : Cylinder , system_two : SurfaceType ) -> None :
691+ def apply_contact (
692+ self ,
693+ system_one : Cylinder ,
694+ system_two : SurfaceType ,
695+ time : np .float64 = np .float64 (0.0 ),
696+ ) -> None :
663697 """
664698 This function computes the plane force response on the cylinder, in the
665699 case of contact. Contact model given in Eqn 4.8 Gazzola et. al. RSoS 2018 paper
0 commit comments