19.3. Modeling

The finite-element models for simple 2D and 3D problems are usually generated via the Mechanical APDL command interface. For complicated assemblies, the Ansys Workbench product is used, as it allows one to define the geometry natively and to set up a project workflow that allows the entire analysis, from model generation to results processing, to occur in a well-defined manner.

In this problem, the digger-arm assembly is modeled using Ansys Workbench. The modeling description identifies the relevant Mechanical APDL features that define the eventual finite-element model for analysis.

For details about the Ansys Workbench program, see Workbench User's Guide.

19.3.1. Modeling Rigid Parts

Rigid parts are modeled using the MPC-based rigid target definition, as shown in this example of a connecting rod:

Figure 19.2: Rigid Modeling of the Connecting Rod

Rigid Modeling of the Connecting Rod

The connecting rod is modeled as a rigid part as follows:

  1. A mass element, with mass equal to the mass of the connecting rod, is defined at the center of mass (B) of the part.

  2. The node defining the mass element location (B) is identified as a pilot node using the TARGE170 element.

  3. The locations at which the rod is connected to other parts are identified (A and B).

  4. TARGE170 elements are defined between the mass element and the identified locations (A-B and B-C).

  5. Points A and B are used in the joint definitions when connecting to other parts.

For further information, see Modeling Rigid Bodies in a Multibody Analysis in the Multibody Analysis Guide.

The following example input creates the rigid part:

!node definitions
n, A, x,y,z            ! node definition for mass node A
n, B, x,y,z            ! node definition for point B
n, C, x,y,z            ! node definition for point C
!
!Mass element definition at point A
et,1,MASS21            ! element type
keyo,1,2,1             ! moments of inertia in nodal coordinates
keyo,1,3,0             ! 3D mass with rotary intertia
r,1, m, , , Ixx, Iyy, Izz
local,11,0,0, 0,       ! local coordinate system to define the inertias
csys,11
nrot,A                 ! align local cs
csys,0
mat,1
real,1
type,1
en,elem#, A
!
!Pilot node definition at Point A
et, 2, 170              ! define target element
keyo, 2, 2, 1           ! set mpc target element do not fix pilot
keyo, 2, 4, 0           ! create constraint equations for all degrees of freedom
type, 2
mat, 2
real, 2
tshap,pilo             ! define element to be pilot node element
en,elem#, A
!
!Target elements for line segments A-B and B-C
type,2
mat,2
real,2
tshap, line             ! define 3D line segment
en,elem#, A, B
en,elem#, B, C

All rigid parts of the digger-arm assembly are essentially modeled in the same manner. The Ansys Workbench program automates the process for modeling the complicated geometries of the digger-arm assembly. The following figure shows the entire rigid model for the assembly as generated by Ansys Workbench:

Figure 19.3: Rigid Representation of the Digger-Arm Assembly

Rigid Representation of the Digger-Arm Assembly

19.3.2. Modeling Joints

The various parts of the multibody system are connected or constrained to each other via kinematically admissible constraints implemented as joint elements.

Two nodes define a joint element. The relative motion between the two nodes is characterized by six relative degrees of freedom. A joint element is defined based on the type of constraints imposed on these relative degrees of freedom.

So that the constraints can be suitably imposed, local coordinate systems must be defined at the nodes of the joint elements. In Mechanical APDL, the constraints are implemented via the Lagrange multiplier method.

The joint capability offers the following features:

  • Stops and locks on the free degrees of freedom of the joint

  • Stiffness, damping, and frictional behavior in the joint

  • Joint actuation

This problem implements joint actuation only.

The following example input creates a revolute joint element:

n, n1, x,y,z
n, n2, x,y,z
local,12,0,x1,y1,z1,...                  ! defines a local coordinate system
et, etid#,184                            ! MPC184 element
keyopt, etid#,1,6                        ! revolute joint
keyopt, etid#,4,1                        ! Z axis is revolute axis
sectype,secid#, joint, revo, RevJoint    ! identify joint section and subtype
secjoint,,12,12                          ! associate local cs with joint nodes
mat, matid#
real,realid#
type, etid#
secnum,secid#
en,elem#,n1,n2                           ! define revolute joint element

The parts of the assembly are connected to each other by various types of joints, depending on the interaction between the parts. For example, the piston-cylinder arrangement requires a translational joint; other interactions between parts seem to indicate that one part rotates relative to another about an axis, requiring a revolute joint. Thus, as a first attempt, the joints between the parts are defined as follows:

Interacting Parts Joint Type Constraints
Frame-Ground Revolute 5
Frame-Cylinder1Revolute5
Cylinder1-Piston1 Translational 5
Piston1-Arm1Revolute5
Piston1-Arm2Revolute5
Arm1-FrameRevolute5
Arm2-FrameRevolute5
Arm1-ConnectingRod1Revolute5
Arm2-ConnectingRod2Revolute5
ConnectingRod1- BucketRevolute5
ConnectingRod2-BucketRevolute5
Frame-Bucket-1Revolute5
Frame-Bucket-2Revolute5
Piston2-FrameRevolute5
Cylinder2-Piston2Translational5
Cylinder2-GroundRevolute5

After the joints between parts have been defined, the kinematic behavior of the assembly must be verified. The wrong choice of joints can cause either of the following conditions in the system:

  • Overconstraint – More constraints exist than are required, leading to a stiff response of the system.

  • Underconstraint – Fewer constraints exist than are required, leading to unnecessary deformation modes.

In either case, the result is inconsistent kinematic behavior, and the joints must be redefined to obtain a proper kinematic response.

To check whether a multibody system model is overconstrained or underconstrained due to improper joint definition, the free degrees of freedom in the system are counted. All parts are assumed to be rigid for this calculation. The calculated number must match the expected value. If a mismatch exists, the joints must be replaced by other joints of similar behavior such that the mathematical modeling of the system shows consistent kinematic behavior.

The free degrees of freedom for the digger-arm assembly are calculated as follows:

10 rigid bodies x 6 degrees of freedom per rigid body+60
14 revolute joints x 5 constraints-70
2 prismatic joints x 5 constraints-10
Number of free degrees of freedom -20

The number of free degrees of freedom should be 2; therefore, the calculation shows that the Digger-Arm model is severely overconstrained due to improper joint definitions.

The overconstraints can be minimized by redefining the joints between the various parts. Some experimentation may be required. For example, consider the constraints in the joints between the following part pairs (as shown in Figure 19.4: Connections Between Piston, Cylinder, and Arms):

  • Translational joint between Piston1-Cylinder1

    - Free degrees of freedom -- 1 relative displacement along translational axis

    - Constrained degrees of freedom -- 2 relative displacements, 3 relative rotations

  • Revolute joints between Piston1-Arm1 and Piston1-Arm2

    - Free degrees of freedom – 1 relative rotation along revolute axis

    - Constrained degrees of freedom – 3 relative displacements, 2 relative rotations

Figure 19.4: Connections Between Piston, Cylinder, and Arms

Connections Between Piston, Cylinder, and Arms

It is apparent that Piston1 does not rotate with respect to Cylinder1 due to the rotational constraints in the translational joint; therefore, the rotational constraints in the revolute joints between Piston1-Arm1 and Piston1-Arm2 are not required. The relative displacement constraints between these parts must be maintained, however, and so the revolute joint can be replaced by a spherical joint. The spherical joint provides the same relative displacement constraints but allows the relative rotations to be unconstrained.

In a similar way, other joints are replaced as necessary. The new joint definitions between the various parts are as follows:

Interacting Parts Joint Type Constraints
Frame-Ground Cylindrical 4
Frame-Cylinder1 Spherical 3
Cylinder1-Piston1 Translational 5
Piston1-Arm1 General 2
Piston1-Arm2Spherical3
Arm1-FrameCylindrical4
Arm2-FrameCylindrical4
Arm1-ConnectingRod1Spherical5
Arm2-ConnectingRod2Spherical5
ConnectingRod1- Bucket Revolute 5
ConnectingRod2-BucketRevolute5
Frame-Bucket-1General2
Frame-Bucket-2General2
Piston2-FrameCylindrical4
Cylinder2-Piston2Translational5
Cylinder2-GroundSpherical3

The redefinition of joints outlined in the table is not necessarily unique; however, it meets the objective of ensuring that a joint does not unnecessarily constrain motion in a particular direction which has been otherwise constrained.

With the new joint definitions, the free degrees of freedom in the model are now calculated as follows:

10 rigid bodies x 6 degrees of freedom per rigid body+60
2 revolute joints x 5 constraints-10
2 translational joints x 5 constraints-10
4 cylindrical joints x 4 constraints-16
5 spherical joints x 3 constraints-15
2 prismatic joints x 5 constraints-6
Number of free degrees of freedom +2

The number of free degrees of freedom in the model matches the required number of degrees of freedom. A transient dynamic analysis of the digger-arm assembly, with all parts rigid and joints redefined, exhibits the correct kinematic response.

In this problem, the joints as defined above are used for all subsequent analyses.

For further information, see Connecting Multibody Components with Joint Elements in the Multibody Analysis Guide and Constraints and Lagrange Multiplier Method in the Mechanical APDL Theory Reference.

19.3.3. Modeling Flexible Parts

Frequently, a part or component may be modeled as flexible if its material behavior is defined as nonlinear (for example, with plasticity or hyperelasticity) or the part is expected to undergo large deformation. A wide variety of continuum and structural elements is available to model the flexibility.

The two connecting rods are defined to be flexible for this analysis. The flexible parts are meshed with SOLID185 elements. A total of 876 SOLID185 elements are used in the analysis. The following figure shows the finite-element mesh:

Figure 19.5: Connecting Rods Modeled with SOLID185 Elements

Connecting Rods Modeled with SOLID185 Elements

For further information, see Modeling Flexible Bodies in a Multibody Analysis in the Multibody Analysis Guide.

19.3.4. Modeling Flexible Parts with CMS Superelements

Flexible bodies are often modeled with component mode synthesis (CMS) superelements to reduce computational requirements. The advantage of CMS is that the many degrees of freedom in a flexible multibody system are replaced by a limited set of degrees of freedom, thereby reducing the computational time required. The CMS superelement represents the stiffness and mass of the flexible body and is used in place of a standard element in the analysis phase.

Following is the general process for generating and using a CMS superelement:

  1. Prepare a full model of the flexible multibody system (including joint loads).

  2. Define components for each flexible body to be represented as a CMS superelement:

    - Create a component of the master nodes that defines the master degrees of freedom.
    - Create a component of all elements in the body.
  3. Generate a CMS substructure file (in the generation pass) characterizing the dynamic flexibility of the body.

  4. Use the CMS substructure information (in the use pass) in a standard analysis.

    The CMS substructure information is used to define a CMS superelement representing the flexible body.

  5. Expand the results of the analysis (in the expansion pass) to all elements in the flexible body to recover its stress and deformation fields.

  6. Postprocess the results for stress and deformation fields in the model.

For the analysis requiring a CMS superelement representation of the flexible part, the two connecting rods are once again defined as flexible. The rods are then modeled as CMS superelements.

The following example input creates the components:

/com,*********** Create Components for CMS ***********
nsel,none                   ! create nodal component of master nodes
nsel,a,node,,Node#,         ! add pilot node attached to this body
nsel,a,node,,Node#,         ! add pilot node attached to this body
cm,COMPONENT_MASTER,NODE
esel,s,elem,,COMPONENT
nsle                        ! select any nodes touching these bodies in the user-defined component
esln                        ! add in any touching elements such as contact and surf effect
cm,COMPONENT_BODY,ELEM
allsel

The following example input creates the CMS substructure file:

/solu
antype,substr                 ! perform a substructure analysis
seopt,Component,2             ! CMS substructure file name and generate stiffness and mass matrices
cmsopt,free,30                ! specify CMS analysis options with free-interface method
mdele,all,all                 ! delete any previously generate master dofs
cmsel,s,COMPONENT_MASTER      ! select the master node component
m,all,all                     ! define master degrees of freedom
cmsel,s,COMPONENT_BODY        ! select the body element component
nsle
save
solve
finish

Because the analysis phase considers both the lower and higher modes of vibration to be equally important, the free-interface method (CMSOPT,FREE) is used to generate the substructure files.

The following example input defines and uses the CMS superelement during the analysis phase:

/filnam, FILENAME
resume,                       ! resumes database

/prep7
cmsel,u,COMPONENT_BODY        ! unselect the flexible elements
cmsel,a,COMPONENT_MASTER      ! make sure the master nodes are selected

et,100,50                     ! define substructure element type using available itype number
type,100
real,100
mat,100
mp,mu,100,0.0
se,ConnectRod1                ! define substructure element

/solu
antype,trans
nlgeom, on
...
...
finish

The following example input shows expands the results to the full flexible body:

/filnam,FILENAME
resume

/solu
expass,on
seexp,Component,FILENAME        ! substructure name and the use pass jobname 
numexp,all,,,yes                ! Expand all time points
solve
finish

For further information, see Using Component Mode Synthesis Superelements in a Multibody Analysis in the Multibody Analysis Guide.