Main Content

romInterface

Reduced-order model (ROM) interface

Since R2024a

Description

A romInterface object defines a ROM interface for structural analysis. You can define a ROM interface as a superelement boundary degrees of freedom or as a multipoint constraint for component mode synthesis. If you intend to use a reduced-order model in Simscape™ Multibody™, set a multipoint constraint.

Creation

Description

ROM = romInterface(Name=Value) creates a romInterface object and sets properties using one or more name-value arguments. For example, ROM = romInterface(Edge=[4 6 9 10]) creates a superelement interface using edges 4, 6, 9, and 10. You can use a combination of vertices, edges, and faces to create a romInterface object.

example

Properties

expand all

Vertices defining ROM interface object, stored as a vector of positive integers.

Example: interface1 = romInterface(Vertex=[1 2 3 4])

Data Types: double

Edges defining ROM interface object, stored as a vector of positive integers.

Example: interface1 = romInterface(Edge=[1 2 3 4])

Data Types: double

Faces defining ROM interface object, stored as a vector of positive integers.

Example: interface1 = romInterface(Face=[1 2 3 4])

Data Types: double

Multipoint constraint using all six degrees of freedom, specified as true or false. By default, the reference point for the constraint is the geometric center of all nodes on the combination of all specified geometric regions.

Setting RigidInterface to true is required if you intend to use results obtained with the model order reduction technique in the Simscape Multibody Reduced Order Flexible Solid block. Simscape models expect the connections at all joints to have six degrees of freedom, while Partial Differential Equation Toolbox™ uses two or three degrees of freedom at each node. Setting a multipoint constraint ensures that all degrees of freedom for the specified geometric regions have a rigid constraint with a reference point. The reference location has six degrees of freedom.

For better performance, specify geometric regions with a minimal number of nodes. For example, use a set of edges instead of using a face, and a set of vertices instead of using an edge.

Example: interface1 = romInterface(Edge=[1 2 3 4],RigidInterface=true)

Data Types: logical

Reference point location for multipoint constraint, stored as a 2-by-1 (for a 2-D geometry) or 3-by-1 (for a 3-D geometry) numeric vector. By default, the reference point for the constraint is the geometric center of all nodes on all specified geometric regions.

Example: interface1 = romInterface(Edge=[1 2 3 4],RigidInterface=true,ReferencePoint=[0.1;0.2;0.4])

Data Types: double

Radius of a circle (for a 2-D geometry) or a sphere (for a 3-D geometry) around the reference point location for the multipoint constraint, stored as a positive number. Specify the radius to collect a subset of nodes falling within the circle or sphere of this radius centered at the reference point, instead of using all nodes on the specified geometric regions.

Example: interface1 = romInterface(Edge=[1 2 3 4],RigidInterface=true,ReferencePoint=[0.1;0.2;0.4],Radius=0.1)

Data Types: double

Examples

collapse all

Reduce a model for transient structural analysis of a beam to the fixed interface modes in a specified frequency range and the boundary interface degrees of freedom.

Create an femodel object for transient structural analysis of a 3-D problem, and assign the beam geometry to the model.

structuralmodel = femodel(AnalysisType="structuralTransient", ...
                          Geometry=multicuboid(0.1,0.01,0.01));

Plot the geometry with edge labels.

pdegplot(structuralmodel,EdgeLabels="on",FaceAlpha=0.5)
view([50 25])

Figure contains an axes object. The axes object contains 6 objects of type quiver, text, patch, line.

Specify Young's modulus, Poisson's ratio, and the mass density of the material.

structuralmodel.MaterialProperties = ...
        materialProperties(YoungsModulus=200e9, ...
                           PoissonsRatio=0.3,MassDensity=7800);

Generate a mesh.

structuralmodel=generateMesh(structuralmodel);

Specify the ends of the beam as structural superelement interfaces by creating a romInterface object for each superelement interface. The reduced-order model technique retains the degrees of freedom on the superelement interfaces while condensing all other degrees of freedom to a set of modal degrees of freedom. For better performance, use the set of edges that bound each side of the beam instead of using the entire face.

romObj1 = romInterface(Edge=[4,6,9,10]);
romObj2 = romInterface(Edge=[2,8,11,12]);

Assign a vector of interface objects to the ROMInterfaces property of the model.

structuralmodel.ROMInterfaces = [romObj1,romObj2];

Reduce the model to the fixed interface modes in the frequency range [-Inf,500000] and the boundary interface degrees of freedom.

R = reduce(structuralmodel,FrequencyRange=[-Inf,500000])
R = 
  ReducedStructuralModel with properties:

                     K: [166x166 double]
                     M: [166x166 double]
              NumModes: 22
           RetainedDoF: [144x1 double]
    ReferenceLocations: []
                  Mesh: [1x1 FEMesh]

Version History

Introduced in R2024a