StructuralModel
Structural model object
Domain-specific structural workflow is not recommended. New features might not be compatible with this workflow. For help migrating your existing code to the unified finite element workflow, see Migration from Domain-Specific to Unified Workflow.
Description
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.
Creation
To create a StructuralModel
object, use createpde
and specify 'structural'
as its first
argument.
Properties
AnalysisType
— Type of structural analysis
'static-solid'
| 'static-planestress'
| 'static-planestrain'
| 'static-axisymmetric'
| 'transient-solid'
| 'transient-planestress'
| 'transient-planestrain'
| 'transient-axisymmetric'
| 'modal-solid'
| 'modal-planestress'
| 'modal-planestrain'
| 'modal-axisymmetric'
| 'frequency-solid'
| 'frequency-planestress'
| 'frequency-planestrain'
| 'frequency-axisymmetric'
Type of structural analysis, specified 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'static-axisymmetric'
for static structural analysis of an axisymmetric (2-D) 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'transient-axisymmetric'
for transient structural analysis of an axisymmetric (2-D) 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'modal-axisymmetric'
for modal analysis of an axisymmetric (2-D) 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'frequency-axisymmetric'
for frequency response analysis of an axisymmetric (2-D) problem
To change a structural analysis type, assign a new type to
model.AnalysisType
. Ensure that all other properties
of the model are consistent with the new analysis type. Note that you cannot
change the spatial dimensionality. For example, you can change the analysis
type from 'static-solid'
to
'modal-solid'
, but cannot change it to
'static-planestress'
.
Example: model =
createpde('structural','static-solid')
Data Types: char
Geometry
— Geometry description
AnalyticGeometry
| DiscreteGeometry
Geometry description, specified as AnalyticGeometry
for a 2-D geometry
or DiscreteGeometry
for a 2-D or 3-D
geometry.
MaterialProperties
— Material properties
StructuralMaterialAssignment
object containing
material property assignments
Material properties within the domain, specified 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
assignments
Loads acting on the domain or subdomain, specified 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
assignments
Structural loads and boundary conditions applied to the geometry,
specified 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 or frequency response analysis
StructuralDampingAssignment
object containing damping
assignments
Damping model for transient or frequency response analysis, specified 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 load
0 (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
object
Initial displacement and velocity, specified 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 assignments
Superelement interfaces for the component mode synthesis, specified 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
object
Mesh for solution, specified as a FEMesh
object.
To create the mesh, use the generateMesh
function.
SolverOptions
— Algorithm options for PDE solvers
PDESolverOptions
object
Algorithm options for the PDE solvers, specified as a PDESolverOptions Properties object. The
properties of PDESolverOptions
include absolute and
relative tolerances for internal ODE solvers, maximum solver iterations, and
so on.
Object Functions
geometryFromEdges | Create 2-D geometry from decomposed geometry matrix |
geometryFromMesh | Create 2-D or 3-D geometry from mesh |
importGeometry | Import geometry from STL or STEP file |
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 structural analysis, heat transfer, or electromagnetic analysis problem |
reduce | Reduce structural or thermal model |
linearize | Linearize structural or thermal model |
linearizeInput | Specify inputs to linearized model |
linearizeOutput | Specify outputs of linearized model |
Examples
Create and Populate Structural Analysis 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 Young's modulus, Poisson's ratio, and the 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: [] HystereticDamping: []
Specify the gravity load on the rod.
structuralBodyLoad(structuralModel, ... "GravitationalAcceleration",[0;0;-9.8])
ans = BodyLoadAssignment with properties: RegionType: 'Cell' RegionID: 1 GravitationalAcceleration: [0 0 -9.8000] AngularVelocity: [] Temperature: [] TimeStep: [] Label: []
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: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [] Pressure: [] TranslationalStiffness: [] Label: []
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: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [3x1 double] Pressure: [] TranslationalStiffness: [] Label: []
Generate a mesh.
generateMesh(structuralModel)
ans = FEMesh with properties: Nodes: [3x8013 double] Elements: [10x5010 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]
Version History
Introduced in R2017bR2022a: Hysteretic damping
You can now specify hysteretic damping of a material for direct and modal frequency response models.
R2021b: Sparse linear models for use with Control System Toolbox
R2020a: Axisymmetric analysis
You can now specify AnalysisType
for axisymmetric models.
Axisymmetric analysis simplifies 3-D structural problems to 2-D using their symmetry
around the axis of rotation.
R2019b: Reduced-order modeling for structural analysis
The toolbox now supports the frequency response analysis for structural models.
R2019b: Frequency response analysis
You can now specify AnalysisType
for frequency response
analysis, including 'frequency-solid'
,
'frequency-planestress'
,
'frequency-planestrain'
, and
'frequency-axisymmetric'
.
R2018b: Reference temperature for thermal stress
The programmatic workflow for static structural analysis problems now enables you
to account for thermal loading. When setting up a static structural problem, you can
specify a reference temperature as a property of StructuralModel
.
This temperature corresponds to the state of the model at which both thermal stress
and strain are zeros.
R2018a: Modal analysis
The programmatic workflow for modal analysis problems now enables you to find
natural frequencies and mode shapes of a structure. When solving a modal analysis
model, the solver requires a frequency range parameter and returns the modal
solution in that frequency range. The AnalysisType
values for
modal analysis are 'modal-solid'
,
'modal-planestress'
, 'modal-planestrain'
,
and 'modal-axisymmetric'
.
R2018a: Transient analysis
The programmatic workflow for structural analysis problems now enables you to set
up, solve, and analyze dynamic linear elasticity problems. The
AnalysisType
values for transient analysis are
'transient-solid'
,
'transient-planestress'
,
'transient-planestrain'
, and
'transient-axisymmetric'
.
MATLAB Command
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.
Select a Web Site
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: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)