evaluatePrincipalStrain
Evaluate principal strain at nodal locations
Description
evaluates principal strain at nodal locations using strain values from
pStrain
= evaluatePrincipalStrain(structuralresults
)structuralresults
. For transient and frequency response
structural models, evaluatePrincipalStrain
evaluates principal
strain for all time- or frequency-steps, respectively.
Examples
Octahedral Shear Strain for Bimetallic Cable Under Tension
Solve a static structural model representing a bimetallic cable under tension, and compute octahedral shear strain.
Create a structural model.
structuralmodel = createpde("structural","static-solid");
Create the geometry and include it in the model. Plot the geometry.
gm = multicylinder([0.01,0.015],0.05); structuralmodel.Geometry = gm; pdegplot(structuralmodel,"FaceLabels","on", ... "CellLabels","on", ... "FaceAlpha",0.5)
Specify Young's modulus and Poisson's ratio for each metal.
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");
Specify the surface traction for faces 2 and 5.
structuralBoundaryLoad(structuralmodel,"Face",[2,5], ... "SurfaceTraction",[0;0;100]);
Generate a mesh and solve the problem.
generateMesh(structuralmodel); structuralresults = solve(structuralmodel)
structuralresults = StaticStructuralResults with properties: Displacement: [1x1 FEStruct] Strain: [1x1 FEStruct] Stress: [1x1 FEStruct] VonMisesStress: [22402x1 double] Mesh: [1x1 FEMesh]
Evaluate the principal strain at nodal locations.
pStrain = evaluatePrincipalStrain(structuralresults);
Use the principal strain to evaluate the first and second invariant of strain.
I1 = pStrain.e1 + pStrain.e2 + pStrain.e3; I2 = pStrain.e1.*pStrain.e2 + ... pStrain.e2.*pStrain.e3 + ... pStrain.e3.*pStrain.e1; tauOct = sqrt(2*(I1.^2 -3*I2))/3; pdeplot3D(structuralmodel,"ColorMapData",tauOct)
Principal Strain for 3-D Structural Dynamic Problem
Evaluate the principal strain and octahedral shear strain in a beam under a harmonic excitation.
Create a transient dynamic model for a 3-D problem.
structuralmodel = createpde("structural","transient-solid");
Create a geometry and include it in the model. Plot the geometry.
gm = multicuboid(0.06,0.005,0.01); structuralmodel.Geometry = gm; pdegplot(structuralmodel,"FaceLabels","on","FaceAlpha",0.5) view(50,20)
Specify Young's modulus, Poisson's ratio, and the mass density of the material.
structuralProperties(structuralmodel,"YoungsModulus",210E9, ... "PoissonsRatio",0.3, ... "MassDensity",7800);
Fix one end of the beam.
structuralBC(structuralmodel,"Face",5,"Constraint","fixed");
Apply a sinusoidal displacement along the y-direction on the end opposite the fixed end of the beam.
structuralBC(structuralmodel,"Face",3,... "YDisplacement",1E-4,... "Frequency",50);
Generate a mesh.
generateMesh(structuralmodel,"Hmax",0.01);
Specify the zero initial displacement and velocity.
structuralIC(structuralmodel,"Displacement",[0;0;0],"Velocity",[0;0;0]);
Solve the model.
tlist = 0:0.002:0.2; structuralresults = solve(structuralmodel,tlist);
Evaluate the principal strain in the beam.
pStrain = evaluatePrincipalStrain(structuralresults);
Use the principal strain to evaluate the first and second invariants.
I1 = pStrain.e1 + pStrain.e2 + pStrain.e3; I2 = pStrain.e1.*pStrain.e2 + ... pStrain.e2.*pStrain.e3 + ... pStrain.e3.*pStrain.e1;
Use the stress invariants to compute the octahedral shear strain.
tauOct = sqrt(2*(I1.^2 -3*I2))/3;
Plot the results.
figure
pdeplot3D(structuralmodel,"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.
Example: structuralresults =
solve(structuralmodel)
Output Arguments
pStrain
— Principal strain at nodal locations
structure array
Principal strain at the nodal locations, returned as a structure array.
Version History
Introduced in R2017bR2019b: Support for frequency response structural problems
For frequency response structural models,
evaluatePrincipalStrain
evaluates principal strain for all
frequency-steps.
R2018a: Support for transient structural problems
For transient structural models, evaluatePrincipalStrain
evaluates principal strain for all time-steps.
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
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)