MV-1029: Model a Point-to-Deformable-Surface Force (PTdSF)

In this tutorial you will learn how to model a PTdSF (point-to-deformable-surface) joint with a contact force.

A PTdSFforce (point-to-deformable-surface) joint is a higher pair constraint with an added contact force. The force is either modeled as a linear one or a Poisson type here. This constraint restricts a specified point on a body to move along a specified deformable surface on another body. The point may belong to a rigid, flexible or point body. The deformable surface for this tutorial is defined on a rigidly supported plate. A mass is constrained to move on the surface with a PTdSFforce constraint. The added feature here is that a flexible contact force acts at the center of mass of the ball between it and the deformable surface. In this tutorial you will take up the case of the linear force model.

Create Points

In this step you will create the points necessary for the PTdSF force model.

Before you begin, copy the files Plate.h3d and membrane.fem from the mbd_modeling\interactive folder to your <working directory>.
  1. Start a new MotionView session.
  2. Open the Add Point or PointPair dialog in one of the following ways:
    • From the Project Browser right-click on Model and select Add Reference Entity > Point.
    • On the Model-Reference toolbar, right-click the (Point) icon.
  3. For Label, enter BallCM. Accept the default Variable name.
  4. Click OK.
  5. Click the Properties tab and specify the coordinates as X=0.0, Y=0.0, and Z=50.0.
  6. Repeat steps 2 through 5 for the points specified in Table 1.
    Table 1.
    Point X Y Z
    PointMembInterface39 -55.0 -55.0 0.0
    PointMembInterface40 55.0 -55.0 0.0
    PointMembInterface41 55.0 55.0 0.0
    PointMembInterface42 -55.0 55.0 0.0

Create Bodies

In this step, you will create membrane and ball bodies for the PTdSF force model.

Pre-specified inertia properties will be used to define the ball.
  1. Open the Add Body or BodyPair dialog in one of the following ways:
    • From the Project Browser right-click on Model and select Add Reference Entity > Body.
    • On the Model-Reference toolbar, right-click on the (Body) icon.
  2. In the dialog, for Label enter Membrane. Accept the default Variable name.
    Note: For the remainder of the tutorial, accept all default variable names.
  3. From the Properties tab, click the Flex Body (CMS) check box.
  4. Click the (Graphic file browser) icon and select Plate.h3d from the <working directory>.
  5. Repeat step Table 2. In the dialog, for Label enter Ball.
  6. From the Properties tab, specify the information provided in Table 2.
    Table 2.
    Mass Ixx Iyy Izz Ixy Iyz Izx
    1 40000.0 40000.0 40000.0 0.0 0.0 0.0
  7. Under the CM Coordinates tab, check the Use center of mass coordinate system box.
  8. Double click .
  9. From the dialog, select BallCM and click OK. Accept defaults for axes orientation properties.

Create Markers and a Deformable Surface

In this step you will define markers for the membrane.

  1. On the general toolbar, click Macros > Create Deformable Surface from FEM.


    Figure 1.
  2. In the Deformable Surface from FEM panel, double-click .
  3. From the dialog, select Membrane and click OK.
  4. Double-click on .
  5. From the dialog, choose Model and click OK.
  6. Next to Select the FEM file, click the (file browser) icon.
  7. Select the membrane.fem file from your working directory and click OK.


    Figure 2.
  8. Click Generate Surface.
    The Markers and Deformable Surface are created.

Create Joints

In this step you will define the fixed joints between the membrane and the ground.

  1. Open the Add Joint or JointPair dialog in one of the following ways:
    • From the Project Browser, right-click on Model and select Add > Constraint > Joint.
    • On the Model-Constraint toolbar, click the (Joints) icon.
  2. In the dialog, for Label enter Joint 1.
  3. For Type, choose Fixed Joint and click OK.
  4. In the Joint panel, configure the Connectivity tab.
    1. Double-click .
    2. In the dialog, select Membrane and click OK.
    3. Double-click .
    4. In the dialog, select Ground Body and click OK.
    5. Double-click .
    6. In the dialog, select PointMembInterface39 and click OK.
  5. Repeat steps 1 through 4 using the specifications given in Table 3.
    Table 3.
    Label Joint Type Body 1 Body 2 Point
    Joint 2 Fixed Joint Membrane Ground Body PointMembInterface40
    Joint 3 Fixed Joint Membrane Ground Body PointMembInterface41
    Joint 4 Fixed Joint Membrane Ground Body PointMembInterface42

Create Contact

In this step you will define the contact force between the deformable membrane and the ball.

  1. Open the Add Contact dialog in one of the following ways:
    • From the Project Browser, right-click on Model and select Add > Force Entity > Contact.
    • On the Model-Force toolbar, click the (Contacts) icon.
  2. In the dialog, for Label enter Contact 0.
  3. From the Type drop-down menu, choose PointToDeformableSurfaceContact. Then click OK.
  4. From the Contact panel, configure the Connectivity tab.
    1. Double-click on and select Ball. Then click OK.
    2. Double-click on and select BallCM. Then click OK.
    3. Double-click on and select DeformableSurface 1. Then click OK.
  5. Configure the Properties tab.
    1. For Radius, enter 10.
    2. For Stiffness, enter 1000.
    3. For Damping, enter 0.2.
    4. Uncheck the Flip normal check box.

Create Graphics

In this step, you will create a graphic for the ball.

  1. Open the Add Graphics or GraphicPair dialog in one of the following ways:
    • From the Project Browser, right-click on Model and select Add > Reference Entity > Graphics.
    • On the Model-Reference toolbar, click the (Graphics) icon.
  2. In the dialog, for Label enter Ball.
  3. In the Type drop-down menu, choose Sphere. Then click OK.
  4. In the Connectivity tab, double-click .
  5. In the dialog, select Ball and click OK.
  6. Double-click on .
  7. In the dialog, select BallCM and click OK.
  8. In the Properties tab, under Radius enter 10.
  9. In the Visualization tab, choose a color for the graphic.

Find Nodes

  1. In the Project Browser, click on the Membrane body.
  2. On the reference toolbar, click the (Bodies) icon.
  3. In the panel, click the Nodes button.
  4. In the dialog, uncheck the Only search interface nodes box.
  5. Click the Find All button.
  6. Close the dialog.
    Your model should look like the example given in Figure 3.


    Figure 3.
  7. Save the model as ptdsf_contact.mdl.

Run the Model

  1. On the toolbar, click (Run).
  2. In the Run panel, specify the values shown in Figure 4.
    Figure 4.
  3. Click the Save and run current model radio button.
  4. Click the (browser icon) and specify result.xml as the name for the solver file.
  5. Click Save.
  6. Click the (Check Model) button to check the model for errors.
  7. To invoke the solver, click the Run button.
  8. Once the solver has finished, Close the solver window and Clear the Message Log.

View the Results

In this step, you will view the animation and plot the Z position of the center of mass of the ball and the penetration distance for this flexible contact.

  1. Once the solver has finished, the Animate button will be active. Click on Animate.
    Click the (Start/Pause Animation) button to view the animation.

    One would also like to inspect the displacement profile of the membrane and the ball. For this, we will plot the Z position of the center of mass of the ball.

  2. Return to MotionView and in the Run panel, click the Plot button.
    This will open a HyperGraph window and load the results file.
  3. In the panel, make selections for the plot as shown in Figure 5.


    Figure 5.
  4. Click Apply.
    The profile for the Z-displacement of the ball should look like the example given in Figure 6.


    Figure 6.
  5. Click to add a new page to the session.
  6. In the panel, select the options for the plot shown in Figure 7.


    Figure 7.
    The penetration profile as a function of time should look like the example given in Figure 8.


    Figure 8.