Preprocessing—creating the model with Abaqus/CAE

Use Abaqus/CAE to create the model. Abaqus provides scripts that replicate the complete analysis model for this problem. Run one of these scripts if you encounter difficulties following the instructions given below or if you wish to check your work. Scripts are available in the following locations:

  • A Python script for this example is provided in Shearing of a lap joint. Instructions on how to fetch the script and run it within Abaqus/CAE are given in Example Files.

  • A plug-in script for this example is available in the Abaqus/CAE Plug-in toolset. To run the script from Abaqus/CAE, select Plug-insAbaqusGetting Started, highlight Lap joint, and click Run. For more information about the Getting Started plug-ins, see Running the Getting Started with Abaqus examples.

Part definition

Start Abaqus/CAE (if you are not already running it). You will have to create two parts: one representing the plate and one representing the rivet.

Plate

Create a three-dimensional, deformable solid part with an extruded base feature to represent the plate. Use an approximate part size of 100.0, and name the part plate. Begin by sketching a rectangle of arbitrary dimensions. Then, dimension it so that the horizontal length is 30 and the vertical length is 10, as shown in Figure 1.

Figure 1. Sketch of the plate.

Extrude the part a distance of 1.5.

Use the Create Cut: Extrude tool to cut out the circular region corresponding to the bolt hole. Select the front face of the plate as the sketch plane and the right edge of the face as the edge that will appear vertical and on the right in the sketch. Sketch the bolt hole as shown in Figure 2.

Figure 2. Sketch of the bolt hole.

Extrude the cut through the entire part.

The final shape of the plate appears as shown in Figure 3.

Figure 3. Final plate geometry.

Rivet

Create a three-dimensional, deformable solid part with a revolved base feature to represent the rivet. Use an approximate part size of 20.0, and name the part rivet. Using the Create Lines tool, create a rough sketch of the rivet geometry, as shown in Figure 4. Use dimensions and equal length constraints as necessary to refine the sketch, as shown in Figure 4. Revolve the part 180 degrees.

Figure 4. Base sketch of the rivet.

Edit the base part to include a fillet at the top outer edge and a chamfer at the bottom outer edge. Use a radius of 0.75 for the fillet and a length of 0.75 for the chamfer. The final part geometry is shown in Figure 5.

Figure 5. Final rivet geometry.

Material and section properties

The plates are made from aluminum; the stress-strain behavior is shown in Figure 6. The rivet is made from titanium; the stress-strain behavior is shown in Figure 7.

Figure 6. Aluminum stress-strain curve.

Figure 7. Titanium stress-strain curve.

The stress-strain data for the aluminum and titanium materials are provided in text files named lap-joint-alum.txt and lap-joint-titanium.txt, respectively. Enter the following command at the operating system prompt to use the Abaqus fetch utility to copy these files to your local directory:

abaqus fetch job=lap*.txt

Rather than convert the stress-strain data and define the material properties manually, you will use the material calibration capability to define the material properties.

To calibrate a material:
  1. In the Model Tree, double-click Calibrations.

  2. Name the calibration aluminum, and click OK.

  3. Expand the Calibrations container and then expand the aluminum item.

  4. Double-click Data Sets.

  5. In the Create Data Set dialog box, enter Al as the name and click Import Data Set.

  6. In the Read Data From Text File dialog box, click and choose the file named lap-joint-alum.txt.

  7. In the Properties region of this dialog box, specify that strain values will be read from field 2 and stress values from field 1.

  8. From the Data Set Form options, select True to indicate that the data you are importing are in true form.

  9. Click OK to close the Read Data From Text File dialog box.

  10. Click OK to close the Create Data Set dialog box.

  11. In the Model Tree, double-click Behaviors.

  12. Name the behavior Al-elastic-plastic, choose Elastic Plastic Isotropic as the type, and click Continue.

  13. In the Edit Behavior dialog box, choose Al as the data set for the elastic-plastic data.

  14. Enter 0.00488, 350.0 in the text field to define the yield point (alternatively, you could select the point directly in the viewport).

  15. Drag the Plastic points slider midway between Min and Max to generate plastic data points.

  16. Enter a Poisson's ratio of 0.33.

  17. At the bottom of the dialog box, click to create an empty material named aluminum (simply click OK in the material editor after entering the name).

  18. In the Edit Behavior dialog box, choose aluminum from the Material drop-down list.

  19. Click OK to add the properties to the material named aluminum.

  20. In the Model Tree, expand the Materials container and examine the contents of the material model. You will note that both elastic and plastic properties have been defined. If you wish to change the number of plastic points or modify the yield point, simply return to the Edit Behavior dialog box, make the necessary changes, select the name of the material to which the properties will be applied, and click OK. The contents of the material model are updated automatically.

  21. Following the same procedure, create a material model named titanium. The file containing the stress-strain data is named lap-joint-titanium.txt; the yield point is 0.0081, 907.0; and Poisson's ratio is equal to 0.34.

Create a homogeneous solid section named plate that refers to the material aluminum. Assign the section to the plate.

Create a homogeneous solid section named rivet that refers to the material titanium. Assign the section to the rivet.

Assembling the parts

You will now create an assembly of part instances to define the analysis model. The assembly consists of two dependent instances of the plate and a single dependent instance of the rivet. The first plate instance is the top plate of the assembly; the second plate instance is the bottom plate of the assembly.

To instance and position the plates:
  1. In the Model Tree, double-click Instances underneath the Assembly container and select plate as the part to instance.

  2. Create a second instance of the plate. Toggle on the option to automatically offset the part instances.

  3. From the main menu bar, select ConstraintFace to Face. Select the back face of the plate on the right (the second instance) as the face on the movable instance. Select the back face of the plate on the left (the first instance) as the face on the fixed instance. If necessary, flip the arrows so that they point in opposite directions, as shown in Figure 8. Set the offset equal to 0.0.

    Figure 8. Face-to-face constraint.

  4. From the main menu bar, select ConstraintParallel Edge. Select the front top edge of the second plate instance as the edge on the movable instance. Select the front right edge of the first plate instance as the edge on the fixed instance. If necessary, flip the arrows so that they point in the directions shown in Figure 9.

    Figure 9. Parallel edge constraint.

  5. From the main menu bar, select ConstraintCoaxial. Select the cylindrical face of the second plate instance as the face on the movable instance. Select the cylindrical face of the first plate instance as the face on the fixed instance. If necessary, flip the arrows so that they point in the same direction, as shown in Figure 10.

    Figure 10. Plate coaxial constraint.

To instance and position the
rivet:
  1. In the Model Tree, double-click Instances underneath the Assembly container and select rivet as the part to instance.

  2. From the main menu bar, select ConstraintCoaxial. Select the cylindrical face of the rivet body as the face on the movable instance. Select the cylindrical face of the top plate as the face on the fixed instance. Flip the arrows if necessary so that they point in the directions shown in Figure 11.

    Figure 11. Coaxial constraint.

The final assembly is shown in Abaqus/Standard 3D example: shearing of a lap joint.

Geometry sets

At this point it is convenient to create the geometry sets that will be used to specify loads and boundary conditions.

To create geometry sets:
  1. Double-click the Sets item underneath the Assembly container to create the following geometry sets:

    • corner at the lower left vertex of the bottom plate (Figure 12). This set will be used to prevent rigid body motion in the 3-direction.

      Figure 12. Set corner.

    • fix at the left face of the bottom plate (Figure 13). This set will be used to fix the end of the plate.

      Figure 13. Set fix.

    • pull at the right face of the top plate (Figure 14). This set will be used to pull the end of the plate.

      Figure 14. Set pull.

    • symm to include all faces on the symmetry plane (Figure 15). This set will be used to impose symmetry conditions.

      Figure 15. Set symm.

Defining steps and output requests

Create a single static, general step after the Initial step, and include the effects of geometric nonlinearity. Set the initial time increment to 0.05 and the total time to 1.0. Accept the default output requests.

Defining contact interactions

Contact will be used to enforce the interactions between the plates and the rivet. The friction coefficient between all parts is assumed to be 0.05.

This problem could use either contact pairs or the general contact algorithm. We will use general contact in this problem to demonstrate the simplicity of the user interface.

Define a contact interaction property named fric. In the Edit Contact Property dialog box, select MechanicalTangential Behavior, select Penalty as the friction formulation, and specify a friction coefficient of 0.05 in the table. Accept all other defaults.

Create a General contact (Standard) interaction named All in the Initial step. In the Edit Interaction dialog box, accept the default selection of All* with self for the Contact Domain to specify self-contact for the default unnamed, all-inclusive surface defined automatically by Abaqus/Standard. This method is the simplest way to define contact in Abaqus/Standard for an entire model. Select fric as the Global property assignment, and click OK.

Defining boundary conditions

The boundary conditions are defined in the static, general step. The left end of the assembly is fixed while the right end is pulled along the length of the plates (1-direction). A single node is fixed in the vertical (3-) direction to prevent rigid body motion, while the nodes on the symmetry plane are fixed in the direction normal to the plane (2-direction). The boundary conditions are summarized in Table 1. Define these conditions in the model.

Table 1. Summary of boundary conditions.
BC Name Geometry Set BCs
Fix fix U1 = 0.0
Pull pull U1 = 2.5
Symmetry symm U2 = 0.0
RB corner U3 = 0.0
Mesh creation and job definition

The mesh will be created at the part level rather than the assembly level, since all part instances used in this problem are dependent. The dependent instances will inherit the part mesh. Begin by expanding the container for the part named plate in the Model Tree, and double-click Mesh to switch to the Mesh module.

Mesh the plate with C3D8I elements using a global seed size of 1.2 and the default sweep mesh technique.

Similarly, mesh the rivet with C3D8R elements using a global seed size of 0.5 and the hex-dominated sweep mesh technique. This mesh technique will create wedge-shaped elements (C3D6) about the rivet’s axis of symmetry. The meshed assembly appears in Figure 16.

Note:

If you are using the Abaqus Learning Edition, these seed sizes will result in a mesh that exceeds the model size limits of the product. For the plate specify a global seed size of 1.75, with a maximum curvature deviation factor of 0.05. For the rivet, specify a global seed size of 1.

Figure 16. Meshed assembly.

You are now ready to create and run the job. Create a job named lap_joint. Save your model to a model database file, and submit the job for analysis. Monitor the solution progress, correct any modeling errors that are detected, and investigate the cause of any warning messages.