FEM post processing: How to plot strain field in MATLAB

조회 수: 9 (최근 30일)
Aldo Sebastian
Aldo Sebastian 2019년 4월 3일
답변: tasneem 2024년 4월 6일
So I have the strain values (i.e. strain in x, in y and in xy), from an FEM analysis data in ABAQUS, at the integration point of each element. I'd like to plot a strain field in MATLAB; does anyone know how to do this? All I know is how to interpolate the strain values to each node that make up the element; but then how do I find the strain values at other coordinates?

답변 (2개)

Wan Ji
Wan Ji 2021년 8월 20일
Since the strain values to each node can be obtained by interpolate method with the values of the integration point of each element. Why not use scatteredInterpolant function to do all the work? For example:
node = [-1,-1; 1,-1; 1,1; -1,1];
element = [1,2,3,4];
gaussPoints = [-1,-1; 1,-1; 1,1; -1,1]*sqrt(3)/3;
gaussPointsStrain = [1e-4; 2e-4; 5e-4; 3e-4]; % only one strin component offered here
Fstrain = scatteredInterpolant(gaussPoints(:,1), gaussPoints(:,2), gaussPointsStrain, 'linear');
nodeStrain = Fstrain(node(:,1), node(:,2));
patch('vertices', node, 'faces', element, 'facevertexcdata', nodeStrain, 'facecolor', 'interp');
colormap(jet); colorbar;
colormap of node strain
If you want strain in side of the element, point (x,y) for example, you can use
strain_at_special_location = Fstrain(x,y);

tasneem
tasneem 2024년 4월 6일
Edof = [1 1 2 5 6;
2 5 6 9 10;
3 9 10 13 14;
4 13 14 15 16;
5 15 16 17 18;
6 17 18 11 12;
7 11 12 7 8;
8 3 4 7 8;
9 14 13 17 18;
10 9 10 17 18;
11 9 10 11 12;
12 5 6 12 12;
13 5 6 7 8;
14 1 2 7 8];
P = 20 * 10^3;
E = 2.1 * 10^5 * 10^6;
A_HEA = 2124 * 10^-6;
K = zeros(18);
f = zeros(18, 1);
f(5) = -P;
ep = [E A_HEA];
Ex = [0 1.5;
0 1.5;
1.5 3;
3 4.5;
0 1.5;
1.5 3;
3 4.5;
4.5 6;
4.5 6;
4.5 4.5;
3 4.5;
1.5 3;
1.5 1.5;
0 1.5];
Ey = [1.5 1.5;
1.5 1.5;
1.5 1.5;
1.5 0;
0 0;
0 0;
0 0;
0 0;
0 1.5;
0 1.5;
0 1.5;
0 1.5;
0 1.5;
0 1.5];
% Loop for Assembling Element Matrices
for i = 1:14
Ke=bar2e(Ex(i,:),Ey(i,:),ep);
K = assem(Edof(i,:), K, Ke);
end
% Boundary Conditions
bc = [1 0;
2 0;
3 0;
4 0];
% Solve the System of Equations
[~, ~] = solveq(K, f, bc);
Edof = [1 1 2 5 6;
2 5 6 9 10;
3 9 10 13 14;
4 13 14 15 16;
5 15 16 17 18;
6 17 18 11 12;
7 11 12 7 8;
8 3 4 7 8;
9 14 13 17 18;
10 9 10 17 18;
11 9 10 11 12;
12 5 6 12 12;
13 5 6 7 8;
14 1 2 7 8];
P = 20 * 10^3;
l = 1.5;
E = 2.1 * 10^5 * 10^6;
A_RHS = 1530 * 10^-6;
K = zeros(18);
f = zeros(18, 1);
f(5) = -P;
ep = [E A_HEA];
Ex = [0 1.5;
0 1.5;
1.5 3;
3 4.5;
0 1.5;
1.5 3;
3 4.5;
4.5 6;
4.5 6;
4.5 4.5;
3 4.5;
1.5 3;
1.5 1.5;
0 1.5];
Ey = [1.5 1.5;
1.5 1.5;
1.5 1.5;
1.5 0;
0 0;
0 0;
0 0;
0 0;
0 1.5;
0 1.5;
0 1.5;
0 1.5;
0 1.5;
0 1.5];
% Loop for Assembling Element Matrices
for i = 1:14
Ke=bar2e(Ex(i,:),Ey(i,:),ep);
K = assem(Edof(i,:), K, Ke);
end
% Boundary Conditions
bc = [1 0;
2 0;
3 0;
4 0];
% Solve the System of Equations
[a, r] = solveq(K, f, bc);

카테고리

Help CenterFile Exchange에서 Stress and Strain에 대해 자세히 알아보기

제품


릴리스

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by