Simcenter 3D Solutions
Deactivating Joints in the Middle of a Simulation
2021-10-06T23:25:02Z
Simcenter 3D
Summary
Details
Certain models may require that some joints be activate for only a specific time frame. It is not possible, however, to change the number of total degrees of freedom in the middle of a simulation in a standard Simcenter 3D Motion dynamic analysis.
Solution
While the joint configuration cannot change, force functions can change over time. It is then possible to create a math function that can calculate an applied force as a function of a measured relative displacement between the two "jointed" motion bodies. This applied force can then be scaled using as a function of time to reduce the applied force to zero, thus "freeing" the motion body. The process to implement this should go as follows:
1. Determine which degrees of freedom must be "freed" and apply joints accordingly. Any degrees of freedom that will remain constrained should be fixed with a joint, while degrees of freedom that will become unconstrained should not be. For example, in the following piston case, the piston head will detach from the pin, causing it to fall. Since the piston head is already connected to the cylinder with a cylindrical joint, the only free degree of freedom will be the vertical translation. Because of this, a translational joint will be used to connect the piston head to the pin with the open degree of freedom in the vertical direction.
2. Measure the relative displacement of the two bodies in the direction of the degree of freedom to be changed. The measurement can be taken either via markers and sensors or with a math function. For this case, a math function was created that measures the relative vertical displacement of the markers from the joint. The math function text will be "DZ(slider_i,slider_j)". Ensure that the units on the math function are correct as a displacement.
3. Create a math function in which the measured displacement is multiplied by a transient stiffness value. The function will have the dimensionality of a force and should have the corresponding output units. The forcing value can be made transient by a step function. In this case, the function "STEP()" is used with the following inputs: "time" as the input value, "1" as the input minimum where the first output ends, "1000" as the output_min or the first output, "1+0.01" as the input_max where the second output begins, and "0" as the output_max or the second output value. This means that the force function will have a stiffness of one thousand for the first second and then a value of zero after this time. This step function is then multiplied with the measured displacement value so that the force increases for a greater deviation from the initial position.
4. Create a vector force / torque to apply the temporary soft joint between the two bodies. In this case, a vector force is used to simulate the constraint for the vertical displacement. Make sure that the reference section of the vector force is set so that the force is in the direction of the relative degree of freedom being removed. Define the magnitude as a function and select the forcing function created in the previous step.
This will result in the system having an open degree of freedom, but the two bodies will remain connected through a resistive force that increases as a function of relative displacement. Once the designated time has been reached, the force will drop to zero and the joint will behave as explicitly defined. This methodology can be expanded to as many degrees of freedom as are necessary using additional sensors, functions, forces, and torques.