CONROD

CONROD motion is the only motion which defines a motion for two phases. This is done because conrods and pistons share a number of common parameters necessary to define their respective movement.

Another reason to do this is to simplify the organization of the .cfg file, as it is easy to associate pistons and conrods in pairs. Besides this unique characteristic, it is important to keep in mind that the crankshaft motion is separate and it is usually defined by ROTATE or ROTATE_AXIS commands.

In Figure 1 you see a common piston/conrod assembly with several important parameters that define the CONROD motion. The list in the figure is not complete, as obviously the crankshaft axis and frequency definitions are missing, but those are self-explanatory. The purpose of the figure is to point out more complex geometric parameters.
Figure 1. Sketch of a typical piston/conrod assembly; with outlined important commands that determine the CONROD motion


While most of the parameters are easy to understand, crankshaft_normal and crankshaft_phaseshift need somewhat of a clarification.

crankshaft_normal defines the axis along which the piston is oscillating. This is done by specifying a vector which points from the piston toward the crankshaft axis, and is parallel to the main cylinder of the piston; furthermore it usually lies on the axis of the piston cylinder.

crankshaft_phaseshift defines the initial angular orientation of the conrod-crankshaft connection center with respect to the crankshaft_normal, and the angle is positive or negative depending on the right-hand rule using the crankshaft_axis. In other words, the crankshaft_phaseshift is the angle between the crankshaft_normal vector and the vector connecting the crankshaft axis with the conrod-crankshaft connection.

If the engine design includes a piston offset, as shown in Figure 2, the piston_offset command is used to define the location of the cylinder centerline with respect to the crankshaft centerline.
Figure 2. Offset cranksetup of the engine. piston_offset command can be used in these situations.