Main Content

structuralBodyLoad

(To be removed) Specify body load for structural model

structuralBodyLoad will be removed. Use cellLoad and faceLoad instead. (since R2023a) For more information on updating your code, see Version History.

Description

structuralBodyLoad(structuralmodel,"GravitationalAcceleration",GAval) specifies acceleration due to gravity as a body load for a static or transient structural model. Structural models for modal analysis cannot have body loads.

example

structuralBodyLoad(structuralmodel,"AngularVelocity",omega) specifies an angular velocity to model centrifugal loading for an axisymmetric structural model.

structuralBodyLoad(structuralmodel,"Temperature",Tval) specifies a thermal load on a static structural analysis model.

Tip

If Tval is the temperature itself, and not a change in temperature, you must specify a reference temperature using structuralmodel.ReferenceTemperature. Otherwise, the toolbox uses the default value (zero) for the reference temperature. For details, see StructuralModel.

structuralBodyLoad(structuralmodel,"Temperature",Tresults) uses the steady-state or transient thermal analysis results Tresults to specify a thermal load on a static structural analysis model. If Tresults is the solution of a transient thermal problem, then this syntax uses the temperature and its gradients from the last time step.

structuralBodyLoad(structuralmodel,"Temperature",Tresults,"TimeStep",iT) uses the transient thermal analysis results Tresults and the time step index iT to specify a thermal load on a static structural analysis model.

structuralBodyLoad(structuralmodel,___) specifies several body loads for the same structural model. Use any arguments from the previous syntaxes applicable to your structuralmodel. For example, specify the gravity and thermal loads as structuralBodyLoad(structuralmodel,"GravitationalAcceleration",[0;0;-9.8],"Temperature",300). Do not use subsequent function calls when assigning several body loads because the toolbox uses only the last assignment.

structuralBodyLoad(___,"Label",labeltext) adds a label for the structural body load to be used by the linearizeInput function. This function lets you pass body loads to the linearize function that extracts sparse linear models for use with Control System Toolbox™.

bodyLoad = structuralBodyLoad(___) returns the body load object.

Examples

collapse all

Create a structural model.

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

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. The mass density value is required for modeling gravitational effects.

structuralProperties(structuralModel,"YoungsModulus",210E3, ...
                                     "PoissonsRatio",0.3, ...
                                     "MassDensity",2.7E-6);

Specify the gravity load on the beam.

structuralBodyLoad(structuralModel, ...
    "GravitationalAcceleration",[0;0;-9.8])
ans = 
  BodyLoadAssignment with properties:

                   RegionType: 'Cell'
                     RegionID: 1
    GravitationalAcceleration: [0 0 -9.8000]
              AngularVelocity: []
                  Temperature: []
                     TimeStep: []
                        Label: []

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")

Acceleration due to gravity, specified as a numeric vector. GAval must be specified in units consistent with those of the geometry and material properties.

Example: structuralBodyLoad(structuralmodel,"GravitationalAcceleration",[0;0;-9.8])

Data Types: double

Angular velocity for an axisymmetric model, specified as a positive number. omega must be specified in units consistent with those of the geometry and material properties.

For axisymmetric models, the toolbox assumes that the axis of rotation is the vertical axis passing through r = 0, which is equivalent to x = 0.

Example: structuralBodyLoad(structuralmodel,"AngularVelocity",2.3)

Data Types: double

Constant thermal load on a static structural model, specified as a real number. Tval must be specified in units consistent with those of the geometry and material properties.

Example: structuralBodyLoad(structuralmodel,"Temperature",300)

Data Types: double

Thermal model solution applied as a body load on a static structural model, specified as a SteadyStateThermalResults or TransientThermalResults object. Create Tresults by using solve.

Example: Tresults = solve(thermalmodel); structuralBodyLoad(structuralmodel,"Temperature",Tresults)

Time index, specified as a positive integer.

Example: structuralBodyLoad(structuralmodel,"Temperature",Tresults,"TimeStep",21)

Data Types: double

Label for the structural body load, specified as a character vector or a string.

Data Types: char | string

Output Arguments

collapse all

Handle to body load, returned as a BodyLoadAssignment object. See BodyLoadAssignment Properties.

Version History

Introduced in R2017b

expand all