Main Content

StructuralModel

(To be removed) Structural model object

StructuralModel will be removed. Use femodel instead. (since R2023a) For more information on updating your code, see Version History.

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

expand all

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 description, specified as AnalyticGeometry for a 2-D geometry or DiscreteGeometry for a 2-D or 3-D geometry.

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.

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.

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.

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.

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

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.

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 for solution, specified as a FEMesh object.

To create the mesh, use the generateMesh function.

Inputs for a linearized model, specified as a structure array. The inputs are used by the linearize that extracts mechss (Control System Toolbox) model from a structural model.

Inputs for a linearized model, specified as a structure array. The outputs are used by the linearize that extracts mechss (Control System Toolbox) model from a structural model.

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

geometryFromEdgesCreate 2-D geometry from decomposed geometry matrix
geometryFromMeshCreate 2-D or 3-D geometry from mesh
importGeometryImport geometry from STL or STEP file
structuralBC (To be removed) Specify boundary conditions for structural model
structuralSEInterface(To be removed) Specify structural superelement interface for component mode synthesis
structuralBodyLoad(To be removed) Specify body load for structural model
structuralBoundaryLoad(To be removed) Specify boundary loads for structural model
structuralIC(To be removed) Set initial conditions for a transient structural model
structuralProperties(To be removed) Assign structural properties of material for structural model
solveSolve structural analysis, heat transfer, or electromagnetic analysis problem
reduceReduce structural or thermal model
linearize(To be removed) Linearize structural or thermal model
linearizeInput(To be removed) Specify inputs to linearized model
linearizeOutput(To be removed) Specify outputs of linearized model

Examples

collapse all

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: [1×1 pde.PDESolverOptions]

Create and plot the geometry.

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

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.

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: [3×1 double]
                  Pressure: []
    TranslationalStiffness: []
                     Label: []

Generate a mesh.

generateMesh(structuralModel)
ans = 
  FEMesh with properties:

             Nodes: [3×8013 double]
          Elements: [10×5010 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: [1×1 DiscreteGeometry]
        MaterialProperties: [1×1 StructuralMaterialAssignmentRecords]
                 BodyLoads: [1×1 BodyLoadAssignmentRecords]
        BoundaryConditions: [1×1 StructuralBCRecords]
      ReferenceTemperature: []
    SuperelementInterfaces: []
                      Mesh: [1×1 FEMesh]
             SolverOptions: [1×1 pde.PDESolverOptions]

Version History

Introduced in R2017b

expand all