Frequency response structural solution and its derived quantities
FrequencyStructuralResults object contains the
displacement, velocity, and acceleration in a form convenient for plotting and
Displacement, velocity, and acceleration are reported for the nodes of the triangular or
tetrahedral mesh generated by
generateMesh. The displacement, velocity, and
acceleration values at the nodes appear as
FEStruct objects in the
Acceleration properties. The properties of these objects contain the
components of the displacement, velocity, and acceleration at the nodal locations.
To evaluate the stress, strain, von Mises stress, principal stress, and principal strain
at the nodal locations, use
To evaluate the reaction forces on a specified boundary, use
To interpolate the displacement, velocity, acceleration, stress, strain, and von Mises
stress to a custom grid, such as the one specified by
For a frequency response model with damping, the results are complex. Use functions such
angle to obtain real-valued results, such as
the magnitude and phase. See Solution to Frequency Response Structural Model with Damping.
Solve a frequency response problem by using the
solve function. This function returns a frequency response structural solution
Properties of an
FEStruct object are read-only.
Displacement— Displacement values at nodes
Displacement values at the nodes, returned as an
The properties of this object contain the components of the displacement at the nodal
Velocity— Velocity values at nodes
Velocity values at the nodes, returned as an
FEStruct object. The
properties of this object contain the components of the velocity at the nodal
Acceleration— Acceleration values at nodes
Acceleration values at the nodes, returned as an
The properties of this object contain the components of the acceleration at the nodal
SolutionFrequencies— Solution frequencies
Solution frequencies, returned as a real vector.
SolutionFrequencies is the same as the
Mesh— Finite element mesh
Finite element mesh, returned as a
FEMesh object. For details,
see FEMesh Properties.
|Evaluate stress for dynamic structural analysis problem|
|Evaluate strain for dynamic structural analysis problem|
|Evaluate von Mises stress for dynamic structural analysis problem|
|Evaluate reaction forces on boundary|
|Evaluate principal stress at nodal locations|
|Evaluate principal strain at nodal locations|
|Interpolate displacement at arbitrary spatial locations|
|Interpolate velocity at arbitrary spatial locations for all time or frequency steps for dynamic structural model|
|Interpolate acceleration at arbitrary spatial locations for all time or frequency steps for dynamic structural model|
|Interpolate stress at arbitrary spatial locations|
|Interpolate strain at arbitrary spatial locations|
|Interpolate von Mises stress at arbitrary spatial locations|
Solve a frequency response problem with damping. The resulting displacement values are complex. To obtain the magnitude and phase of displacement, use the
angle functions, respectively. To speed up computations, solve the model using the results of modal analysis.
Create a modal analysis model for a 3-D problem.
modelM = createpde('structural','modal-solid');
Create the geometry and include it in the model.
gm = multicuboid(10,10,0.025); modelM.Geometry = gm;
Generate a mesh.
msh = generateMesh(modelM);
Specify the Young's modulus, Poisson's ratio, and mass density of the material.
structuralProperties(modelM,'YoungsModulus',2E11, ... 'PoissonsRatio',0.3, ... 'MassDensity',8000);
Identify faces for applying boundary constraints and loads by plotting the geometry with the face and edge labels.
Specify constraints on the sides of the plate (faces 3, 4, 5, and 6) to prevent rigid body motions.
Solve the problem for the frequency range from
Rm = solve(modelM,'FrequencyRange',[-Inf,12*pi]);
Frequency Response Analysis
Create a frequency response analysis model for a 3-D problem.
modelFR = createpde('structural','frequency-solid');
Use the same geometry and mesh as you used for the modal analysis.
modelFR.Geometry = gm; modelFR.Mesh = msh;
Specify the same values for the Young's modulus, Poisson's ratio, and mass density of the material.
Specify the same constraints on the sides of the plate to prevent rigid body modes.
Specify the pressure loading on top of the plate (face 2) to model an ideal impulse excitation. In the frequency domain, this pressure pulse is uniformly distributed across all frequencies.
First, solve the model without damping.
flist = [0,1,1.5,linspace(2,3,100),3.5,4,5,6]*2*pi; RfrModalU = solve(modelFR,flist,'ModalResults',Rm);
Now, solve the model with damping equal to 2% of critical damping for all modes.
structuralDamping(modelFR,'Zeta',0.02); RfrModalAll = solve(modelFR,flist,'ModalResults',Rm);
Solve the same model with frequency-dependent damping. In this example, use the solution frequencies from
flist and damping values between 1% and 10% of critical damping.
omega = flist; zeta = linspace(0.01,0.1,length(omega)); zetaW = @(omegaMode) interp1(omega,zeta,omegaMode); structuralDamping(modelFR,'Zeta',zetaW); RfrModalFD = solve(modelFR,flist,'ModalResults',Rm);
Interpolate the displacement at the center of the top surface of the plate for all three cases.
iDispU = interpolateDisplacement(RfrModalU,[0;0;0.025]); iDispAll = interpolateDisplacement(RfrModalAll,[0;0;0.025]); iDispFD = interpolateDisplacement(RfrModalFD,[0;0;0.025]);
Plot the magnitude of the displacement. Zoom in on the frequencies around the first mode.
figure hold on plot(RfrModalU.SolutionFrequencies,abs(iDispU.Magnitude)); plot(RfrModalAll.SolutionFrequencies,abs(iDispAll.Magnitude)); plot(RfrModalFD.SolutionFrequencies,abs(iDispFD.Magnitude)); title('Magnitude') xlim([10 25]) ylim([0 0.5])
Plot the phase of the displacement.
figure hold on plot(RfrModalU.SolutionFrequencies,angle(iDispU.Magnitude)); plot(RfrModalAll.SolutionFrequencies,angle(iDispAll.Magnitude)); plot(RfrModalFD.SolutionFrequencies,angle(iDispFD.Magnitude)); title('Phase')