This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

structuralBoundaryLoad

Specify boundary loads for structural model

Syntax

structuralBoundaryLoad(structuralmodel,RegionType,RegionID,'SurfaceTraction',STval,'Pressure',Pval,'TranslationalStiffness',TSval)
structuralBoundaryLoad(___,'Pressure',Pval,Name,Value)
structuralBoundaryLoad(___,'Vectorized','on')
boundaryLoad = structuralBoundaryLoad(___)

Description

example

structuralBoundaryLoad(structuralmodel,RegionType,RegionID,'SurfaceTraction',STval,'Pressure',Pval,'TranslationalStiffness',TSval) specifies surface traction, pressure, and translational stiffness on the boundary of type RegionType with RegionID ID numbers. You can specify translational stiffness for a static, transient, or modal analysis. To specify pressure or surface traction, structuralmodel must be static or transient. Structural models for modal analysis cannot have pressure or surface traction.

  • Surface traction is determined as distributed normal and tangential forces acting on a boundary, resolved along the global Cartesian coordinate system.

  • Pressure must be specified in the direction that is normal to the boundary. A positive pressure value acts into the boundary (for example, compression). A negative pressure value acts away from the boundary (for example, suction).

  • Translational stiffness is a distributed spring stiffness for each translational direction. Translational stiffness is used to model an elastic foundation.

structuralBoundaryLoad does not require you to specify all three body loads. Depending on your structural analysis problem, you can specify one or more boundary loads by picking the corresponding arguments and omitting others.

The default boundary load is a stress-free boundary condition.

example

structuralBoundaryLoad(___,'Pressure',Pval,Name,Value) lets you specify the form and duration of a nonconstant pressure pulse for a transient structural model without creating a function handle. When using this syntax, you must specify the model, region type and region ID, and pressure. Surface traction and translational stiffness are optional arguments.

structuralBoundaryLoad(___,'Vectorized','on') uses vectorized function evaluation when you pass a function handle as an argument. If your function handle computes in a vectorized fashion, then using this argument saves time. See Vectorization (MATLAB). For details of this evaluation, see Nonconstant Boundary Conditions.

Use this syntax with any of the input arguments from previous syntaxes.

boundaryLoad = structuralBoundaryLoad(___) returns the boundary load object.

Examples

collapse all

Apply fixed boundaries and traction on two ends of a bimetallic cable.

Create a structural model.

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

Create nested cylinders to model a bimetallic cable.

gm = multicylinder([0.01,0.015],0.05);

Assign the geometry to the structural model and plot the geometry.

structuralModel.Geometry = gm;
pdegplot(structuralModel,'CellLabels','on','FaceAlpha',0.4)

For each metal, specify the Young's modulus and Poisson's ratio.

structuralProperties(structuralModel,'Cell',1,'YoungsModulus',110E9, ...
                                              'PoissonsRatio',0.28);
structuralProperties(structuralModel,'Cell',2,'YoungsModulus',210E9, ...
                                              'PoissonsRatio',0.3);

Specify that faces 1 and 4 are fixed boundaries.

structuralBC(structuralModel,'Face',[1,4],'Constraint','fixed')
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: [1 4]
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: "fixed"

   Boundary Loads
           SurfaceTraction: []
                  Pressure: []
    TranslationalStiffness: []

Specify the surface traction for faces 2 and 5.

structuralBoundaryLoad(structuralModel,'Face',[2,5],'SurfaceTraction',[0;0;100])
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: [2 5]
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: []

   Boundary Loads
           SurfaceTraction: [3x1 double]
                  Pressure: []
    TranslationalStiffness: []

Create a structural model.

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

Create a block geometry.

gm = multicuboid(20,10,5);

Assign the geometry to the structural model and plot the geometry.

structuralModel.Geometry = gm;
pdegplot(structuralModel,'FaceLabels','on','FaceAlpha',0.5)

Specify the Young's modulus and Poisson's ratio.

structuralProperties(structuralModel,'YoungsModulus',30, ...
                                     'PoissonsRatio',0.3);

The bottom face of the block is resting on an elastic foundation (a spring). To model this foundation, specify the translational stiffness.

structuralBoundaryLoad(structuralModel,'Face',1,'TranslationalStiffness',[0;0;30])
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 1
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: []

   Boundary Loads
           SurfaceTraction: []
                  Pressure: []
    TranslationalStiffness: [3x1 double]

Use a function handle to specify a harmonically varying pressure at the center of a thin 3-D plate.

Create a transient dynamic model for a 3-D problem.

structuralmodel = createpde('structural','transient-solid');

Create a geometry consisting of a thin 3-D plate and a small plate in the center. Include the geometry in the model and plot it.

gm = multicuboid([5,0.05],[5,0.05],0.01);
structuralmodel.Geometry=gm;
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.5)

Zoom in to see the face labels on the small plate in the center.

figure
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.25)
axis([-0.2 0.2 -0.2 0.2 -0.1 0.1])

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

structuralProperties(structuralmodel,'YoungsModulus',210E9,...
                                     'PoissonsRatio',0.3,...
                                     'MassDensity',7800);

Specify that all faces on the periphery of the thin 3-D plate are fixed boundaries.

structuralBC(structuralmodel,'Constraint','fixed','Face',5:8);

Apply a harmonically varying pressure load on the small face at the center of the plate.

plungerLoad = @(location,state)5E7.*sin(25.*state.time);
structuralBoundaryLoad(structuralmodel,'Face',12,'Pressure',plungerLoad)
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 12
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: []

   Boundary Loads
           SurfaceTraction: []
                  Pressure: @(location,state)5E7.*sin(25.*state.time)
    TranslationalStiffness: []

   Time Variation of Pressure or Enforced Displacement
                 StartTime: []
                   EndTime: []
                  RiseTime: []
                  FallTime: []

   Sinusoidal Variation of Pressure or Enforced Displacement
                 Frequency: []
                     Phase: []

Specify a harmonically varying pressure at the center of a thin 3-D plate by specifying its frequency.

Create a transient dynamic model for a 3-D problem.

structuralmodel = createpde('structural','transient-solid');

Create a geometry consisting of a thin 3-D plate and a small plate in the center. Include the geometry in the model and plot it.

gm = multicuboid([5,0.05],[5,0.05],0.01);
structuralmodel.Geometry=gm;
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.5)

Zoom in to see the face labels on the small plate in the center.

figure
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.25)
axis([-0.2 0.2 -0.2 0.2 -0.1 0.1])

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

structuralProperties(structuralmodel,'YoungsModulus',210E9,...
                                     'PoissonsRatio',0.3,...
                                     'MassDensity',7800);

Specify that all faces on the periphery of the thin 3-D plate are fixed boundaries.

structuralBC(structuralmodel,'Constraint','fixed','Face',5:8);

Apply a harmonically varying pressure load on the small face at the center of the plate.

structuralBoundaryLoad(structuralmodel,'Face',12,'Pressure',5E7,'Frequency',25)
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 12
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: []

   Boundary Loads
           SurfaceTraction: []
                  Pressure: 50000000
    TranslationalStiffness: []

   Time Variation of Pressure or Enforced Displacement
                 StartTime: []
                   EndTime: []
                  RiseTime: []
                  FallTime: []

   Sinusoidal Variation of Pressure or Enforced Displacement
                 Frequency: 25
                     Phase: []

Create a transient structural model.

structuralModel = createpde('structural','transient-solid');

Import and plot the geometry.

importGeometry(structuralModel,'BracketWithHole.stl');
pdegplot(structuralModel,'FaceLabels','on')
view(-20,10)

Specify the Young's modulus and Poisson's ratio.

structuralProperties(structuralModel,'YoungsModulus',200e9, ...
                                     'PoissonsRatio',0.3,...
                                     'MassDensity',7800);

Specify that face 4 is a fixed boundary.

structuralBC(structuralModel,'Face',4,'Constraint','fixed');

Apply a rectangular pressure pulse on face 7 in the direction normal to the face.

structuralBoundaryLoad(structuralModel,'Face',7,'Pressure',10^5,...
                                       'StartTime',0.1,'EndTime',0.5)
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 7
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: []

   Boundary Loads
           SurfaceTraction: []
                  Pressure: 100000
    TranslationalStiffness: []

   Time Variation of Pressure or Enforced Displacement
                 StartTime: 0.1000
                   EndTime: 0.5000
                  RiseTime: []
                  FallTime: []

   Sinusoidal Variation of Pressure or Enforced Displacement
                 Frequency: []
                     Phase: []

Input Arguments

collapse all

Static or transient structural model, specified as a StructuralModel object. The model contains the geometry, mesh, structural properties of the material, body loads, boundary loads, and boundary conditions.

Example: structuralmodel = createpde('structural','transient-solid')

Geometric region type, specified as 'Edge' for a 2-D model or 'Face' for a 3-D model.

Example: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0,0,100])

Data Types: char | string

Geometric region ID, specified as a vector of positive integers. Find the region IDs using pdegplot, as shown in Create Geometry and Remove Face Boundaries or STL File Import.

Example: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0,0,100])

Data Types: double

Distributed normal and tangential forces on the boundary, resolved along the global Cartesian coordinate system, specified as a numeric vector or function handle. A numeric vector must contain two elements for a 2-D model and three elements for a 3-D model. The function must return a two-row matrix for a 2-D model and a three-row matrix for a 3-D model. Each column of the matrix must correspond to the surface traction vector at the boundary coordinates provided by the solver. In case of a transient structural model, STval also can be a function of time.

Example: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0;0;100])

Data Types: double | function_handle

Pressure normal to the boundary, specified as a number or function handle. The function must return a row vector with each column corresponding to the value of pressure at the boundary coordinates provided by the solver. In case of a transient structural model, Pval also can be a function of time. A positive value of pressure acts into the boundary (for example, compression), while a negative value pressure acts away from the boundary (for example, suction).

Example: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5)

Data Types: double | function_handle

Distributed spring stiffness for each translational direction used to model elastic foundation, specified as a numeric vector or function handle. A numeric vector must contain two elements for a 2-D model and three elements for a 3-D model. The custom function must return a two-row matrix for a 2-D model and a three-row matrix for a 3-D model. Each column of this matrix corresponds to the stiffness vector at the boundary coordinates provided by the solver. In case of a transient structural model, TSval also can be a function of time.

Example: structuralBoundaryLoad(structuralmodel,'Edge',[2,5],'TranslationalStiffness',[0;5500])

Data Types: double | function_handle

Name-Value Pair Arguments

Example: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)

Use one or more of the name-value pair arguments to specify the form and duration of the pressure pulse. Specify the pressure value using the Pval argument.

You can model a rectangular, triangular, and trapezoidal pressure pulses. If the start time is 0, you can omit specifying it.

  • For a rectangular pulse, specify the start and end times.

  • For a triangular pulse, specify the start time and any two of the following times: rise time, fall time, and end time. You also can specify all three times, ensuring that they are consistent.

  • For a trapezoid pulse, specify all four times.

You can model a harmonic pressure load by specifying its frequency and initial phase. If the initial phase is 0, you can omit specifying it.

Rectangular, Triangular, or Trapezoidal Pulse

collapse all

Start time for pressure load, specified as a positive number. Specify this argument only for transient structural models.

structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'StartTime',1,'EndTime',3)

Data Types: double

End time for pressure load, specified as a positive number equal or greater than the start time value. Specify this argument only for transient structural models.

structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'StartTime',1,'EndTime',3)

Data Types: double

Rise time for pressure load, specified as a positive number. Specify this argument only for transient structural models.

structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)

Data Types: double

Fall time for pressure load, specified as a positive number. Specify this argument only for transient structural models.

structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)

Data Types: double

Harmonic Pressure Load

collapse all

Frequency of a sinusoidal pressure, specified as a positive number, in radians per unit of time. Specify this argument only for transient structural models.

structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'Frequency',25)

Data Types: double

Phase of a sinusoidal pressure, specified as a positive number, in radians. Specify this argument only for transient structural models.

structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'Frequency',25,'Phase',pi/6)

Data Types: double

Output Arguments

collapse all

Handle to boundary load, returned as a StructuralBC object.

Introduced in R2017b