modelMovePointCylinderToCylinderPoint

Contact point detection between cylinders which are not parallel to each other

Parameters

TypeNameDefaultDescription
Modelica.SIunits.Frequencyf100000
Realq11=left -1=right
Modelica.Mechanics.MultiBody.Types.Axisy_direction{0, 1, 0}cartesian coordinate system in y direction -- direction of gravity
Modelica.Mechanics.MultiBody.Types.Axisx_direction{1, 0, 0}
Modelica.Mechanics.MultiBody.Types.Axisz_directioncross(x_direction, y_direction)
RealpiModelica.Constants.pi
Booleananimationtrue
Modelica.SIunits.RadiusradiusContactPoint0.005
Modelica.Mechanics.MultiBody.Types.ColorColor_contact_point_cylinder1{0, 180, 0}
Modelica.Mechanics.MultiBody.Types.ColorColor_contact_point_cylinder2{255, 0, 255}

Connectors

TypeNameDefaultDescription
Modelica.Mechanics.MultiBody.Interfaces.Frame_aframe_a1center of mass cylinder1 BCS1
Modelica.Mechanics.MultiBody.Interfaces.Frame_aframe_a2center of mass cylinder2 BCS2
Modelica.Mechanics.MultiBody.Interfaces.Frame_bframe_b2contact point cylinder2
Modelica.Mechanics.MultiBody.Interfaces.Frame_bframe_b1contact point cylinder1
Modelica.Blocks.Interfaces.RealInput[12]vector_cylinder2length_direction and radius and half_length
Modelica.Blocks.Interfaces.RealInput[12]vector_cylinder1length_direction and radius and half_length
Modelica.Blocks.Interfaces.BooleanInputenabledConnector of Boolean input signal

Components

TypeNameDefaultDescription
Modelica.Blocks.Routing.DeMultiplex4deMultiplex1
Modelica.Blocks.Routing.DeMultiplex4deMultiplex2
Modelica.Mechanics.MultiBody.Sensors.TansformAbsoluteVectortansformVectorCy1Transformation length-direction cylinder1 from BCS1 to ICS
Modelica.Mechanics.MultiBody.Sensors.TansformAbsoluteVectortansformVectorCy2Transformation length-direction cylinder2 from BCS2 to ICS
Modelica.Mechanics.MultiBody.Sensors.AbsolutePositionabsP_bt_cy1absolute position of cy1 bottom resolved in ICS
Modelica.Mechanics.MultiBody.Sensors.AbsolutePositionabsP_bt_cy2absolute position of cy2 bottom resolved in ICS
IdealizedContact.Components.Utilities.variablePrism1bt_ins_cy1frame moved from bottom to intersection point cy1 resolved in BCS1
IdealizedContact.Components.Utilities.variablePrism1bt_ins_cy2frame moved from bottom to intersection point cy2 resolved in BCS2
IdealizedContact.Components.VectorCalculations.intersectionOfTwoLinesBlockintersectionCylinderBlock
IdealizedContact.Components.Utilities.PointMassVarAnimationpointMass
IdealizedContact.Components.Utilities.PointMassVarAnimationpointMass1
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_ins1_ins2relativ position intersection point of cy2 resolved in intersection point of cy1
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_ins2_ins1relativ position intersection point of cy1 resolved in intersection point of cy2
IdealizedContact.Components.VectorCalculations.orthogonalProjectionBlock[2]orthogonalProjectionBlock
IdealizedContact.Components.Utilities.variablePrism1cm_auxp1_cy1frame moved from center of mass to auxiliay point1 cylinder1
IdealizedContact.Components.Utilities.variablePrism1auxp1_auxcp1_cy1frame moved from auxiliary point1 cylinder1 to possible contact point auxcp1 cylinder1
IdealizedContact.Components.Utilities.variablePrism1cm_auxp1_cy2frame moved from center of mass to auxiliay point1 cylinder2
IdealizedContact.Components.Utilities.variablePrism1auxp1_auxcp1_cy2frame moved from auxiliary point1 cylinder2 to possible contact point auxcp1 cylinder2
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_ins1_c2relativ position insection point1 cylinder1 resolved in BCS2 cylinder2
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_ins2_c1relativ position insection point cylinder2 resolved in BCS1 cylinder1
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_auxp1cy2_auxp1cy1relativ position auxiliary point1 cylinder2 resolved in auxiliary point1 cylinder1
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_auxp1cy1_auxp1cy2relativ position auxiliary point1 cylinder1 resolved in auxiliary point1 cylinder2
IdealizedContact.Components.VectorCalculations.LimiterBlockReferenceIn[4]limiterBlockReferenceIn
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_auxcp1cy1_c2relativ position auxiliary contact point1 cylinder1 resolved in BCS2 cylinder2
Modelica.Mechanics.MultiBody.Sensors.RelativePositionrP_auxcp1cy2_c1relativ position auxiliary contact point1 cylinder2 resolved in BCS1 cylinder1
IdealizedContact.Components.Utilities.variablePrism1cm_auxp2_cy1frame moved from center of mass to auxiliay point2 cylinder1
IdealizedContact.Components.Utilities.variablePrism1auxp2_cp_cy1frame moved from auxiliary point2 cylinder1 to contact point cp cylinder1
IdealizedContact.Components.Utilities.variablePrism1cm_auxp2_cy2frame moved from center of mass to auxiliay point2 cylinder2
IdealizedContact.Components.Utilities.variablePrism1auxp2_cp_cy2frame moved from auxiliary point2 cylinder2 to contact point cp cylinder2
Real[3]Length_Direction_cy1default (1,0,0) resolved in BCS1
Real[3]Dw_Direction_cy1default (0,0,1) resolved in BCS1
Real[3]Dh_Direction_cy1default (0,1,0) resolved in BCS1
Real[3]R_l_cy1radius and half-length cylinder
Real[3]Length_Direction_cy2default (1,0,0) resolved in BCS2
Real[3]Dw_Direction_cy2default (0,0,1) resolved in BCS2
Real[3]Dh_Direction_cy2default (0,1,0) resolved in BCS2
Real[3]R_l_cy2radius and half-length cylinder
Real[3]bt_cy1_ICSbottom cy1 resolved in ICS
Real[3]L_cy1_ICSlength vector cy1 resolved in ICS norm=length
Real[3]bt_cy2_ICSbottom cy2 resolved in ICS
Real[3]L_cy2_ICSlength vector cy2 resolved in ICS norm=length
Real[2]tintersection point on axis of cy1 and cy2 limited from bottom to top
IdealizedContact.Components.Utilities.variablePrism1cm_bt_cy1frame moved from center of mass cy1 to bottom resolved in BCS1
IdealizedContact.Components.Utilities.variablePrism1cm_bt_cy2frame moved from center of mass cy2 to bottom resolved in BCS2