evaluatePrincipalStress
Evaluate principal stress at nodal locations
Description
evaluates principal stress at nodal locations using stress values from
pStress
= evaluatePrincipalStress(structuralresults
)structuralresults
. For transient and frequency response
structural problems, evaluatePrincipalStress
evaluates principal
stress for all time- and frequency-steps, respectively.
Examples
Octahedral Shear Stress for Bimetallic Cable Under Tension
Solve a static structural model representing a bimetallic cable under tension, and compute octahedral shear stress.
Create and plot a geometry representing a bimetallic cable.
gm = multicylinder([0.01,0.015],0.05); pdegplot(gm,FaceLabels="on", ... CellLabels="on", ... FaceAlpha=0.5)
Create an femodel
object for static structural analysis and include the geometry into the model.
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);
Evaluate the principal stress at nodal locations.
pStress = evaluatePrincipalStress(R);
Use the principal stress to evaluate the first and second invariant of stress.
I1 = pStress.s1 + pStress.s2 + pStress.s3; I2 = pStress.s1.*pStress.s2 + ... pStress.s2.*pStress.s3 + ... pStress.s3.*pStress.s1; tauOct = sqrt(2*(I1.^2 -3*I2))/3; pdeplot3D(R.Mesh,ColorMapData=tauOct)
Principal Stress for 3-D Structural Dynamic Problem
Evaluate the principal stress and octahedral shear stress in a beam under a harmonic excitation.
Create and plot a beam geometry.
gm = multicuboid(0.06,0.005,0.01);
pdegplot(gm,FaceLabels="on",FaceAlpha=0.5)
view(50,20)
Create an femodel
object for transient structural analysis and include the geometry into the model.
model = femodel(AnalysisType="structuralTransient", ... Geometry=gm);
Specify Young's modulus, Poisson's ratio, and the mass density of the material.
model.MaterialProperties(1) = ... materialProperties(YoungsModulus=210E9, ... PoissonsRatio=0.3, ... MassDensity=7800);
Fix one end of the beam.
model.FaceBC(5) = faceBC(Constraint="fixed");
Apply a sinusoidal displacement along the y-direction on the end opposite the fixed end of the beam.
yDisplacementFunc = ...
@(location,state) ones(size(location.y))*1E-4*sin(50*state.time);
model.FaceBC(3) = faceBC(YDisplacement=yDisplacementFunc);
Generate a mesh.
model = generateMesh(model,Hmax=0.01);
Specify the zero initial displacement and velocity.
model.CellIC = cellIC(Displacement=[0;0;0],Velocity=[0;0;0]);
Solve the problem.
tlist = 0:0.002:0.2; R = solve(model,tlist);
Evaluate the principal stress in the beam.
pStress = evaluatePrincipalStress(R);
Use the principal stress to evaluate the first and second invariants.
I1 = pStress.s1 + pStress.s2 + pStress.s3; I2 = pStress.s1.*pStress.s2 + ... pStress.s2.*pStress.s3 + ... pStress.s3.*pStress.s1;
Use the stress invariants to compute the octahedral shear stress.
tauOct = sqrt(2*(I1.^2 -3*I2))/3;
Plot the results.
figure pdeplot3D(R.Mesh,ColorMapData=tauOct(:,end))
Input Arguments
structuralresults
— Solution of structural analysis problem
StaticStructuralResults
object | TransientStructuralResults
object | FrequencyStructuralResults
object
Solution of the structural analysis problem, specified as a StaticStructuralResults
, TransientStructuralResults
, or FrequencyStructuralResults
object. Create
structuralresults
by using the solve
function.
Output Arguments
pStress
— Principal stress at nodal locations
structure array
Principal stress at the nodal locations, returned as a structure array.
Version History
Introduced in R2017bR2019b: Support for frequency response structural problems
For frequency response structural problems,
evaluatePrincipalStress
evaluates principal stress for all
frequency-steps.
R2018a: Support for transient structural problems
For transient structural problems, evaluatePrincipalStress
evaluates principal stress for all time-steps.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)