Main Content

StaticStructuralResults

Static structural solution and derived quantities

Description

A StaticStructuralResults object contains the displacement, stress, strain, and von Mises stress in a form convenient for plotting and postprocessing.

Displacements, stresses, and strains are reported for the nodes of the triangular or tetrahedral mesh generated by generateMesh. Displacement values at the nodes appear as an FEStruct object in the Displacement property. The properties of this object contain components of displacement at nodal locations.

Stress and strain values at the nodes appear as FEStruct objects in the Stress and Strain properties, respectively.

von Mises stress at the nodes appears as a vector in the VonMisesStress property.

To interpolate the displacement, stress, strain, and von Mises stress to a custom grid, such as the one specified by meshgrid, use interpolateDisplacement, interpolateStress, interpolateStrain, and interpolateVonMisesStress, respectively.

To evaluate reaction forces on a specified boundary, use evaluateReaction. To evaluate principal stress and principal strain at nodal locations, use evaluatePrincipalStress and evaluatePrincipalStrain, respectively.

Creation

Solve a static linear elasticity problem by using the solve function. This function returns a static structural solution as a StaticStructuralResults object.

Properties

expand all

This property is read-only.

Displacement values at the nodes, returned as an FEStruct object. The properties of this object contain components of displacement at nodal locations.

This property is read-only.

Stress values at the nodes, returned as an FEStruct object. The properties of this object contain components of stress at nodal locations.

This property is read-only.

Strain values at the nodes, returned as an FEStruct object. The properties of this object contain components of strain at nodal locations.

This property is read-only.

Von Mises stress values at the nodes, returned as a vector.

Data Types: double

This property is read-only.

Finite element mesh, returned as a FEMesh object.

Object Functions

interpolateDisplacementInterpolate displacement at arbitrary spatial locations
interpolateStressInterpolate stress at arbitrary spatial locations
interpolateStrainInterpolate strain at arbitrary spatial locations
interpolateVonMisesStressInterpolate von Mises stress at arbitrary spatial locations
evaluateReactionEvaluate reaction forces on boundary
evaluatePrincipalStressEvaluate principal stress at nodal locations
evaluatePrincipalStrainEvaluate principal strain at nodal locations

Examples

collapse all

Solve a static structural problem representing a bimetallic cable under tension.

Create and plot a bimetallic cable geometry.

gm = multicylinder([0.01 0.015],0.05);
pdegplot(gm,FaceLabels="on", ...
            CellLabels="on", ...
            FaceAlpha=0.5)

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

Create an femodel object for static structural analysis and include the geometry.

model = femodel(AnalysisType="structuralStatic", ...
                Geometry=gm);

Specify Young's modulus and Poisson's ratio for each metal.

model.MaterialProperties(1) = ...
    materialProperties(YoungsModulus=110E9, ...
                       PoissonsRatio=0.28);
model.MaterialProperties(2) = ...
    materialProperties(YoungsModulus=210E9, ...
                       PoissonsRatio=0.3);

Specify that faces 1 and 4 are fixed boundaries.

model.FaceBC([1,4]) = faceBC(Constraint="fixed");

Specify the surface traction for faces 2 and 5.

model.FaceLoad([2,5]) = faceLoad(SurfaceTraction=[0;0;100]);

Generate a mesh and solve the problem.

model = generateMesh(model);
R = solve(model)
R = 
  StaticStructuralResults with properties:

      Displacement: [1x1 FEStruct]
            Strain: [1x1 FEStruct]
            Stress: [1x1 FEStruct]
    VonMisesStress: [23098x1 double]
              Mesh: [1x1 FEMesh]

The solver finds the values of the displacement, stress, strain, and von Mises stress at the nodal locations. To access these values, use R.Displacement, R.Stress, and so on. The displacement, stress, and strain values at the nodal locations are returned as FEStruct objects with the properties representing their components. Note that properties of an FEStruct object are read-only.

R.Displacement
ans = 
  FEStruct with properties:

           ux: [23098x1 double]
           uy: [23098x1 double]
           uz: [23098x1 double]
    Magnitude: [23098x1 double]

R.Stress
ans = 
  FEStruct with properties:

    sxx: [23098x1 double]
    syy: [23098x1 double]
    szz: [23098x1 double]
    syz: [23098x1 double]
    sxz: [23098x1 double]
    sxy: [23098x1 double]

R.Strain
ans = 
  FEStruct with properties:

    exx: [23098x1 double]
    eyy: [23098x1 double]
    ezz: [23098x1 double]
    eyz: [23098x1 double]
    exz: [23098x1 double]
    exy: [23098x1 double]

Plot the deformed shape with the z-component of normal stress.

pdeplot3D(R.Mesh, ...
          ColorMapData=R.Stress.szz, ...
          Deformation=R.Displacement)

Figure contains an axes object. The hidden axes object contains 5 objects of type patch, quiver, text.

Version History

Introduced in R2017b