Reduced Order Flexible Solid

Flexible body based on a reduced-order model

  • Library:
  • Simscape / Multibody / Body Elements / Flexible Bodies

Description

The Reduced Order Flexible Solid block models a deformable body of arbitrary geometry based on a reduced-order model.

A reduced-order model is a computationally efficient model that characterizes the mechanical properties of a flexible body under small deformations. The basic data imported from the reduced-order model includes:

  • A list of coordinate triples that specify the position of all interface frame origins relative to a common reference frame. See Interface Frames.

  • A symmetric stiffness matrix that describes the elastic properties of the flexible body. See Stiffness Matrix.

  • A symmetric mass matrix that describes the inertial properties of the flexible body. See Mass Matrix.

If you already have a detailed CAD model of a component in a Simscape™ Multibody™ model, you can use finite-element analysis (FEA) tools to generate the reduced-order data required by this block. For example, with the Partial Differential Equation Toolbox™, you can start with the CAD geometry of your component, generate a finite-element mesh, apply the Craig-Bampton FEA substructuring method, and generate a reduced-order model. For more information, see Model an Excavator Dipper Arm as a Flexible Body.

Common Reference Frame

The block, the reduced-order model, and the CAD geometry must use a consistent common reference frame. This local reference frame defines the x, y, and z directions used to specify the relative position of all points in the body. The reference frame also defines the directions of the small-deformation degrees of freedom (the translations and rotations) associated with each interface frame.

Reduced-Order Model Requirements

Your reduced-order model must contain at least one boundary node. Each boundary node determines the location of an interface frame where the flexible body connects to other Simscape Multibody elements, such as joints, constraints, forces, and sensors. You specify the boundary nodes in the reduced-order model in the same order as the corresponding interface frames on the block.

Each boundary node must contribute six degrees of freedom to the reduced-order model. The degrees of freedom for node i must be retained in the order

Ui = [Txi, Tyi, Tzi, Rxi, Ryi, Rzi],

where:

  • Txi, Tyi, and Tzi are translational degrees of freedom along the x, y, and z directions.

  • Rxi, Ryi, and Rzi are rotational degrees of freedom about the x, y, and z axes.

Your model can also include additional degrees of freedom, D1, D2, ⋯, Dm, that correspond to retained normal vibration modes.

The number of degrees of freedom determines the size of the stiffness and mass matrices. In a flexible body with n boundary nodes and m modal degrees of freedom, these matrices have r = 6n + m rows and columns. The order of the rows and columns must correspond to the order of the degrees of freedom:

Ureduced = [U1, U2, ⋯, Un, D1, D2, ⋯, Dm].

The more degrees of freedom in the model, the larger the matrices that describe the flexible body and the slower the simulation.

Damping

To specify the damping characteristics of the flexible body, you can:

  • Assume a proportional damping model where the damping matrix is equal to the product of the stiffness matrix and a damping constant. For this damping model, the damping ratios associated with vibration modes increase with frequency.

  • Provide an explicit damping matrix that you computed with the stiffness and mass matrices. For example, you can use this option to specify a modal damping model for the flexible body.

  • Model an undamped flexible body.

Simulation Performance

Flexible bodies can increase the numerical stiffness of a multibody model. To avoid simulation issues, use a stiff solver such as ode15s or ode23t.

Damping can significantly influence simulation performance. For example, when modeling a body with little or no damping, undesirable high-frequency modes in the response can slow down the simulation. In that case, adding a small amount of damping can improve the speed of the simulation without significantly affecting the accuracy of the model.

Ports

Frame

expand all

Frames that connect the flexible body to the model. Each interface frame corresponds to a boundary node in the reduced-order model. Interface frames allow you to connect the flexible body to other Simscape Multibody elements, such as joints, constraints, forces, and sensors. It is not required that all frame ports be connected.

The Number of Frames parameter controls the number of interface frame ports on the block. This number must match the number of boundary nodes defined in the original finite element model used to generate the reduced-order model.

In the Origins parameter, specify the origin for each interface frame relative to a common reference frame.

The axes of the interface frames are always aligned with the axes of the reference frame. If you require an interface frame with a different orientation, attach a Rigid Transform block directly to the frame port.

Parameters

expand all

Unit System

System of units in which to express length, mass, time, and other derived units of measure used in all block parameters. Angle measure is always in radians.

Unit SystemBase UnitsSelected Derived Units
LengthMassTimeForceStress and PressureDensity
SImkgsN = kg·m/s2Pa = kg/(m·s2)kg/m3
CGScmgsdyn = g·cm/s2Ba = g/(cm·s2)g/cm3
Englishftslugslbf = slug·ft/s2slug/(ft·s2)slug/ft3

To specify units of length, mass, and time individually, select Custom. For example, suppose that you specify a custom unit system with mm for length, t for mass, and s for time. The derived units include N = t·mm/s2 for force, MPa = t/(mm·s2) for stress and pressure, and t/mm3 for density.

Unit of measure in which to express length.

Dependencies

To enable this parameter, set Unit System to Custom.

Unit of measure in which to express mass.

Dependencies

To enable this parameter, set Unit System to Custom.

Unit of measure in which to express time.

Dependencies

To enable this parameter, set Unit System to Custom.

Geometry

Path name of the CAD file that defines the undeformed solid geometry, specified as a custom character vector. The file can be in one of these formats:

  • CATIA

  • Creo

  • Inventor

  • JT

  • NX

  • Parasolid

  • SAT (ACIS)

  • Solid Edge

  • SolidWorks

  • STEP

  • STL

The path can be absolute, starting from a root folder, or relative, starting from a folder on the MATLAB® path.

The CAD file must define the geometry of the flexible body by using the same reference frame as the reduced-order model.

Specifying a CAD geometry file is optional. If you do not specify a file, the Mechanics Explorer omits the flexible body from the model visualization.

Source of the length unit for the solid geometry of the solid.

  • To use the unit specified in the imported CAD geometry, select From File.

  • To use the unit specified in the Unit System parameters, select From Unit System. Select this option if your CAD geometry file format does not provide length units.

Interface Frames

Number of interface frame ports. This number must match the number of boundary nodes defined in the original finite element model used to generate the reduced-order model. Specify this parameter by using a positive integer literal. Variables or expressions are not supported.

Cartesian coordinates of all interface frame origins, specified as a matrix with one frame per row. This parameter specifies the position of the boundary nodes defined in the original finite element model used to generate the reduced-order model. All coordinates must be relative to a common reference frame.

Reduced Order Matrices

Stiffness matrix from the reduced-order model. The stiffness matrix is a symmetric matrix that describes the elastic properties of the flexible body. In a flexible body with n boundary nodes and m dynamic deformation modes, the stiffness matrix has r = 6n + m rows and columns.

Mass matrix from the reduced-order model. The mass matrix is a symmetric matrix that describes the inertial properties of the flexible body. In a flexible body with n boundary nodes and m dynamic deformation modes, the mass matrix has r = 6n + m rows and columns.

Damping

Type of damping input.

  • To assume a proportional damping model where the damping matrix is equal to the product of the stiffness matrix and a damping constant, select Proportional. For this damping model, the damping ratios associated with vibration modes increase with frequency.

  • To use a reduced-order damping matrix that you computed with the stiffness and mass matrices, select Damping Matrix. For example, you can use this option to specify a modal damping model for the flexible body.

  • To model an undamped flexible body, select None.

Damping can influence simulation performance. For more information, see Damping.

Scalar coefficient of the stiffness matrix. When you select the proportional damping model, the block uses a damping matrix equal to the product of the stiffness matrix and this damping constant. The larger the damping constant, the faster the decay of vibrations.

Dependencies

To enable this parameter, set Type to Proportional.

Reduced-order damping matrix. The damping matrix is a symmetric matrix that describes the damping properties of the flexible body. In a flexible body with n boundary nodes and m dynamic deformation modes, the damping matrix has r = 6n + m rows and columns.

Dependencies

To enable this parameter, set Type to Damping Matrix.

Graphic

Graphic to use for the visualization of the flexible body.

  • To split the solid geometry into rigid sections that can deflect with respect to each other, select Partitioned Geometry. The flexible body is divided into rigid sections that are free to move relative to one another. The partitions are made between interface frames so that each point of the body belongs to the rigid section associated with the nearest frame.

  • To omit the flexible solid from the model visualization in the Mechanics Explorer, select None.

Parameterization for specifying visual properties.

  • To use color data from the imported CAD geometry file, select From File. Not all file formats allow color data. In formats that allow color data, that data is often optional. If your file does not specify color, the solid is rendered in gray.

  • To specify only color and opacity, select Simple.

  • To add specular highlights, ambient shadows, and self-illumination effects, select Advanced.

RGB color vector with red (R), green (G), and blue (B) color amounts specified on a 0–1 scale. A color picker provides an alternative interactive means of specifying a color. If you change the Visual Properties setting to Advanced, the color specified in this parameter becomes the Diffuse Color vector.

Graphic opacity specified on a scale of 0–1. An opacity of 0 corresponds to a completely transparent graphic and an opacity of 1 to a completely opaque graphic.

True color under direct white light specified as an [R,G,B] or [R,G,B,A] vector on a 0–1 scale. An optional fourth element specifies the color opacity also on a scale of 0–1. Omitting the opacity element is equivalent to specifying a value of 1.

Color of specular highlights specified as an [R,G,B] or [R,G,B,A] vector on a 0–1 scale. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

Color of shadow areas in diffuse ambient light, specified as an [R,G,B] or [R,G,B,A] vector on a 0–1 scale. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

Surface color due to self illumination, specified as an [R,G,B] or [R,G,B,A] vector on a 0–1 scale. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

Sharpness of specular light reflections, specified as a scalar number on a 0–128 scale. Increase the shininess value for smaller but sharper highlights. Decrease the value for larger but smoother highlights.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2019b