Structural model object

A `StructuralModel`

object contains
information about a structural analysis problem: the geometry, material properties,
damping parameters, body loads, boundary loads, boundary constraints, superelement
interfaces, initial displacement and velocity, and mesh.

To create a `StructuralModel`

object, use `createpde`

and specify `'structural'`

as its first
argument .

`AnalysisType`

— Type of structural analysis`'static-solid'`

| `'static-planestress'`

| `'static-planestrain'`

| `'transient-solid'`

| `'transient-planestress'`

| `'transient-planestrain'`

| `'modal-solid'`

| `'modal-planestress'`

| `'frequency-solid'`

| `'frequency-planestress'`

| `'frequency-planestrain'`

Type of structural analysis, returned as one of these values.

Static analysis:

`'static-solid'`

for static structural analysis of a solid (3-D) problem`'static-planestress'`

for static structural analysis of a plane-stress problem`'static-planestrain'`

for static structural analysis of a plane-strain problem

Transient analysis:

`'transient-solid'`

for transient structural analysis of a solid (3-D) problem`'transient-planestress'`

for transient structural analysis of a plane-stress problem`'transient-planestrain'`

for transient structural analysis of a plane-strain problem

Modal analysis:

`'modal-solid'`

for modal analysis of a solid (3-D) problem`'modal-planestress'`

for modal analysis of a plane-stress problem`'modal-planestrain'`

for modal analysis of a plane-strain problem

Frequency response analysis:

`'frequency-solid'`

for frequency response analysis of a solid (3-D) problem`'frequency-planestress'`

for frequency response analysis of a plane-stress problem`'frequency-planestrain'`

for frequency response analysis of a plane-strain problem

**Example: **```
model =
createpde('structural','static-solid')
```

**Data Types: **`char`

`Geometry`

— Geometry description`AnalyticGeometry`

| `DiscreteGeometry`

Geometry description, returned as `AnalyticGeometry`

for
a 2-D geometry or `DiscreteGeometry`

for a 2-D or 3-D
geometry.

Create

`AnalyticGeometry`

using the`geometryFromEdges`

function. For details, see AnalyticGeometry Properties.Create

`DiscreteGeometry`

using the`importGeometry`

function or the`geometryFromMesh`

function. For details, see DiscreteGeometry Properties.

`MaterialProperties`

— Material properties`StructuralMaterialAssignment`

object containing
material property assignmentsMaterial properties within the domain, returned as a
`StructuralMaterialAssignment`

object containing the
material property assignments. For details, see StructuralMaterialAssignment Properties.

To create the material properties assignments for your structural analysis
model, use the `structuralProperties`

function.

`BodyLoads`

— Loads acting on domain or subdomain`BodyLoadAssignment`

object containing body load
assignmentsLoads acting on the domain or subdomain, returned as a
`BodyLoadAssignment`

object containing body load
assignments. For details, see BodyLoadAssignment Properties.

To create body load assignments for your structural analysis model, use
the `structuralBodyLoad`

function.

`BoundaryConditions`

— Structural loads and boundary conditions`StructuralBC`

object containing boundary condition
assignmentsStructural loads and boundary conditions applied to the geometry, returned
as a `StructuralBC`

object containing the boundary
condition assignments. For details, see StructuralBC Properties.

To specify boundary conditions for your model, use the `structuralBC`

function. To specify boundary loads, use
`structuralBoundaryLoad`

.

`DampingModels`

— Damping model for transient dynamic analysis`StructuralDampingAssignment`

object containing damping
assignmentsDamping model for transient dynamic analysis, returned as a
`StructuralDampingAssignment`

object containing damping
assignments. For details, see StructuralDampingAssignment Properties.

To set damping parameters for your structural model, use the `structuralDamping`

function.

`ReferenceTemperature`

— Reference temperature for thermal load0 (default) | number

Reference temperature for a thermal load, specified as a number. The reference temperature corresponds to state of zero thermal stress of the model. The default value 0 implies that the thermal load is specified in terms of the temperature change and its derivatives.

To specify the reference temperature for a thermal load in your static
structural model, assign the property value directly, for example,
`structuralmodel.ReferenceTemperature = 10`

. To specify
the thermal load itself, use the `structuralBodyLoad`

function.

**Data Types: **`double`

`InitialConditions`

— Initial displacement and velocity`GeometricStructuralICs`

object | `NodalStructuralICs`

objectInitial displacement and velocity, returned as a
`GeometricStructuralICs`

or
`NodalStructuralICs`

object. For details, see GeometricStructuralICs Properties and NodalStructuralICs Properties.

To set initial conditions for your transient structural model, use the
`structuralIC`

function.

`SuperelementInterfaces`

— Superelement interfaces for component mode synthesis`StructuralSEIAssignment`

object containing superelement
interfaces assignmentsSuperelement interfaces for the component mode synthesis, returned as a
`StructuralSEIAssignment`

object containing
superelement interface assignments. For details, see StructuralSEIAssignment Properties.

To specify superelement interfaces for your frequency response structural
model, use the `structuralSEInterface`

function.

`Mesh`

— Mesh for solution`FEMesh`

objectMesh for solution, returned as a `FEMesh`

object. For
property details, see FEMesh Properties.

To create the mesh, use the `generateMesh`

function.

`SolverOptions`

— Algorithm options for PDE solvers`PDESolverOptions`

objectAlgorithm options for the PDE solvers, returned as a PDESolverOptions Properties object. The
properties of `PDESolverOptions`

include absolute and
relative tolerances for internal ODE solvers, maximum solver iterations, and
so on.

`geometryFromEdges` | Create 2-D geometry from decomposed geometry matrix |

`geometryFromMesh` | Create 2-D or 3-D geometry from mesh |

`importGeometry` | Import 2-D or 3-D geometry from STL data |

`structuralBC` | Specify boundary conditions for structural model |

`structuralSEInterface` | Specify structural superelement interface for component mode synthesis |

`structuralBodyLoad` | Specify body load for structural model |

`structuralBoundaryLoad` | Specify boundary loads for structural model |

`structuralIC` | Set initial conditions for a transient structural model |

`structuralProperties` | Assign structural properties of material for structural model |

`solve` | Solve heat transfer or structural analysis problem |

`reduce` | Reduce structural model |

Create a static structural model for solving a solid (3-D) problem.

structuralModel = createpde('structural','static-solid')

structuralModel = StructuralModel with properties: AnalysisType: 'static-solid' Geometry: [] MaterialProperties: [] BodyLoads: [] BoundaryConditions: [] ReferenceTemperature: [] SuperelementInterfaces: [] Mesh: [] SolverOptions: [1x1 pde.PDESolverOptions]

Create and plot the geometry.

```
gm = multicuboid(0.5,0.1,0.1);
structuralModel.Geometry = gm;
pdegplot(structuralModel,'FaceAlpha',0.5)
```

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

structuralProperties(structuralModel,'Cell',1,'YoungsModulus',210E3, ... 'PoissonsRatio',0.3, ... 'MassDensity',2.7E-6)

ans = StructuralMaterialAssignment with properties: RegionType: 'Cell' RegionID: 1 YoungsModulus: 210000 PoissonsRatio: 0.3000 MassDensity: 2.7000e-06 CTE: []

Specify the gravity load on the rod.

`structuralBodyLoad(structuralModel,'GravitationalAcceleration',[0;0;-9.8])`

ans = BodyLoadAssignment with properties: RegionType: 'Cell' RegionID: 1 GravitationalAcceleration: [3x1 double] Temperature: [] TimeStep: []

Specify that face 6 is a fixed boundary.

structuralBC(structuralModel,'Face',6,'Constraint','fixed')

ans = StructuralBC with properties: RegionType: 'Face' RegionID: 6 Vectorized: 'off' Boundary Constraints and Enforced Displacements Displacement: [] XDisplacement: [] YDisplacement: [] ZDisplacement: [] Constraint: "fixed" Radius: [] Reference: [] Boundary Loads Force: [] SurfaceTraction: [] Pressure: [] TranslationalStiffness: []

Specify the surface traction for face 5.

structuralBoundaryLoad(structuralModel,'Face',5,'SurfaceTraction',[0;0;100])

ans = StructuralBC with properties: RegionType: 'Face' RegionID: 5 Vectorized: 'off' Boundary Constraints and Enforced Displacements Displacement: [] XDisplacement: [] YDisplacement: [] ZDisplacement: [] Constraint: [] Radius: [] Reference: [] Boundary Loads Force: [] SurfaceTraction: [3x1 double] Pressure: [] TranslationalStiffness: []

Generate a mesh.

generateMesh(structuralModel)

ans = FEMesh with properties: Nodes: [3x7800 double] Elements: [10x4857 double] MaxElementSize: 0.0208 MinElementSize: 0.0104 MeshGradation: 1.5000 GeometricOrder: 'quadratic'

View the properties of `structuralModel`

.

structuralModel

structuralModel = StructuralModel with properties: AnalysisType: 'static-solid' Geometry: [1x1 DiscreteGeometry] MaterialProperties: [1x1 StructuralMaterialAssignmentRecords] BodyLoads: [1x1 BodyLoadAssignmentRecords] BoundaryConditions: [1x1 StructuralBCRecords] ReferenceTemperature: [] SuperelementInterfaces: [] Mesh: [1x1 FEMesh] SolverOptions: [1x1 pde.PDESolverOptions]

`createpde`

| `generateMesh`

| `geometryFromEdges`

| `geometryFromMesh`

| `importGeometry`

| `pdegplot`

| `pdeplot`

| `pdeplot3D`

| `reduce`

| `solve`

| `structuralBC`

| `structuralBodyLoad`

| `structuralBoundaryLoad`

| `structuralProperties`

| `structuralSEInterface`

A modified version of this example exists on your system. Do you want to open this version instead?

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

Select web siteYou can also select a web site from the following list:

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

- América Latina (Español)
- Canada (English)
- United States (English)

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)