```{raw} latex \clearpage ``` (sec-item-markerbodycable2dcoordinates)= # MarkerBodyCable2DCoordinates A special Marker attached to the coordinates of a 2D ANCF beam finite element with cubic interpolation. ## Interface - Provides: `Coordinate` - Connectors, constraints and loads that can use it: [](#sec-item-objectconnectorcoordinatespringdamper), [](#sec-item-objectconnectorcoordinatespringdamperext), [](#sec-item-objectconnectorcoordinate), [](#sec-item-objectcontactcoordinate), [](#sec-item-loadcoordinate) ## Parameters The parameters of the item; in a dictionary, its type is 'BodyCable2DCoordinates': | name | type | size | default | description | |---|---|---|---|---| | **name** | String | | '' | marker's unique name | | **bodyNumber** | ObjectIndex | | invalid (-1) | body number to which marker is attached to | | **visualization** | VMarkerBodyCable2DCoordinates | | | parameters for visualization of item | ## Visualization parameters The parameters of `VMarkerBodyCable2DCoordinates`, given as `visualization`: | name | type | size | default | description | |---|---|---|---|---| | **show** | Bool | | True | set true, if item is shown in visualization and false if it is not shown | ## Drawing Drawn as [all markers](#sec-drawing-markers); circles at the points of the cable it acts on. (description-markerbodycable2dcoordinates)= ## Detailed description ### Attached to A planar ANCF cable element, `ObjectANCFCable2D` or `ObjectALEANCFCable2D`; the marker is made for the joints that slide along a cable, `ObjectJointSliding2D` and `ObjectJointALEMoving2D`, which evaluate the shape functions themselves. `Assemble()` refuses it on any other body. ### Marker quantities The 8 nodal coordinates of the element - position and slope of both nodes, **including** their reference values - and their velocities, and the length of the element. ### Jacobians The unit matrix of the 8 coordinates: the joint computes the action on each coordinate. (miniexample-markerbodycable2dcoordinates)= ## Mini example ```python from exudyn.beams import GenerateBeamElementsAlongLine #the coordinates of ANCF cable elements for a sliding joint: a mass point slides along a clamped, stiff cable cable = ObjectANCFCable2D(massPerLength=1, bendingStiffness=1e4, axialStiffness=1e6) beamInfo = GenerateBeamElementsAlongLine(mbs, positionStart=[0,0,0], positionEnd=[2,0,0], numberOfElements=4, beamTemplate=cable, groundConstraintsStart=[1,1,1,1], groundConstraintsEnd=[1,1,1,1]) nodes, elements = beamInfo['nodes'], beamInfo['elements'] nMass = mbs.AddNode(NodePoint2D(referenceCoordinates=[0.6,0])) mbs.AddObject(ObjectMassPoint2D(nodeNumber=nMass, mass=1)) mMass = mbs.AddMarker(MarkerNodePosition(nodeNumber=nMass)) mbs.AddLoad(LoadForceVector(markerNumber=mMass, loadVector=[1,0,0])) cableMarkers = [mbs.AddMarker(MarkerBodyCable2DCoordinates(bodyNumber=e)) for e in elements] offsets = [0.5*i for i in range(4)] #the element length is 0.5 nData = mbs.AddNode(NodeGenericData(numberOfDataCoordinates=2, initialCoordinates=[1, 0.6])) #element 1, sliding coordinate mbs.AddObject(ObjectJointSliding2D(markerNumbers=[mMass, cableMarkers[1]], slidingMarkerNumbers=cableMarkers, slidingMarkerOffsets=offsets, nodeNumber=nData)) mbs.Assemble() mbs.SolveDynamic() #the mass slides: x = 0.6 + F/(2m)*t^2 at t=1, the stiff cable deflects little exu.sys['testResult'] = mbs.GetNodeOutput(nMass, exu.OutputVariableType.Position)[0] #1.1 ``` Relevant Examples (Ex) and TestModels (TM) with weblink to github: [`ANCFmovingRigidbody.py`](https://github.com/jgerstmayr/EXUDYN/blob/master/python/Examples/ANCFmovingRigidbody.py) (Ex), [`ANCFslidingJoint2D.py`](https://github.com/jgerstmayr/EXUDYN/blob/master/python/Examples/ANCFslidingJoint2D.py) (Ex), [`ANCFslidingJoint2Drigid.py`](https://github.com/jgerstmayr/EXUDYN/blob/master/python/Examples/ANCFslidingJoint2Drigid.py) (Ex), [`ANCFswitchingSlidingJoint2D.py`](https://github.com/jgerstmayr/EXUDYN/blob/master/python/Examples/ANCFswitchingSlidingJoint2D.py) (Ex), [`ANCFmovingRigidBodyTest.py`](https://github.com/jgerstmayr/EXUDYN/blob/master/python/TestModels/ANCFmovingRigidBodyTest.py) (TM), [`SlidingJoint2DTest.py`](https://github.com/jgerstmayr/EXUDYN/blob/master/python/TestModels/SlidingJoint2DTest.py) (TM)