```{raw} latex \clearpage ``` (sec-item-markernodeode1coordinate)= # MarkerNodeODE1Coordinate A node-Marker attached to a {ref}`ODE1 ` coordinate of a node. ## 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 'NodeODE1Coordinate': | name | type | size | default | description | |---|---|---|---|---| | **name** | String | | '' | marker's unique name | | **nodeNumber** | NodeIndex | | invalid (-1) | node number to which marker is attached to | | **coordinate** | UInt | | invalid (-1) | coordinate of node to which marker is attached to; **must be given**: the default is only a placeholder | | **visualization** | VMarkerNodeODE1Coordinate | | | parameters for visualization of item | ## Visualization parameters `VMarkerNodeODE1Coordinate` has no parameters. ## Drawing The item draws nothing. (description-markernodeode1coordinate)= ## Detailed description ### Marker quantities | quantity | symbol | as computed | |---|---|---| | coordinate | $c = y_i$ | the **current** {ref}`ODE1 ` coordinate `coordinate` $= i$ of the node | There is no velocity: an {ref}`ODE1 ` coordinate has no time derivative of its own in the solver. ### Jacobians $\Jm = \ev_i\tp$, a row of the unit matrix. On a node without {ref}`ODE1 ` coordinates the value is zero and the Jacobian empty. (miniexample-markernodeode1coordinate)= ## Mini example ```python #a coordinate of a first-order system: a constant input to q_t = -q + f node = mbs.AddNode(NodeGenericODE1(numberOfODE1Coordinates=1, referenceCoordinates=[0], initialCoordinates=[0])) mbs.AddObject(ObjectGenericODE1(nodeNumbers=[node], systemMatrix=[[-1]])) mCoord = mbs.AddMarker(MarkerNodeODE1Coordinate(nodeNumber=node, coordinate=0)) mbs.AddLoad(LoadCoordinate(markerNumber=mCoord, load=1)) mbs.Assemble() mbs.SolveDynamic(solverType=exu.DynamicSolverType.RK44) #q(1) = 1 - exp(-1) exu.sys['testResult'] = mbs.GetNodeOutput(node, exu.OutputVariableType.Coordinates) #0.632 ```