StructuralModel

Structural model object

Description

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

Creation

To create a StructuralModel object, use createpde, specifying the first argument 'structural'.

Properties

expand all

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

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

Data Types: char

Geometry description, returned as AnalyticGeometry for a 2-D geometry or DiscreteGeometry for a 2-D and 3-D geometry.

Material 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.

Loads 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.

Structural 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.

Damping 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.

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, 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.

Mesh for solution, returned as a FEMesh object. For property details, see FEMesh Properties.

To create the mesh, use the generateMesh function.

Object Functions

geometryFromEdgesCreate 2-D geometry
geometryFromMeshCreate geometry from mesh
importGeometryImport geometry from STL data
structuralBC Specify boundary conditions for structural model
structuralBodyLoadSpecify body load for structural model
structuralBoundaryLoadSpecify boundary loads for structural model
structuralICSet initial conditions for a transient structural model
structuralPropertiesAssign structural properties of material for structural model
solveSolve heat transfer or structural analysis problem

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: []
                    Mesh: []

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"

   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: []

   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: []
                    Mesh: [1x1 FEMesh]

Introduced in R2017b