How does the same displacement at two nodes in a quadrilateral element result in a constant strain overall?

4 views (last 30 days)
Hi, I've been finding strain in a quadrilateral element using shape functions. I'm a little confused with the interpretation of the strain, though.
When a constant displacement is applied to the upper half of the quadrilateral (nodes 3 and 4) it results in a constant strain across the entire element.
Why does this happen? My code is attached below. The Bmat function defines the B matrix.
clear all
% x & y coordinates of nodes in real space
x = [0.0 0.5 0.5 0.0];
y = [0.0 0.0 1.0 1.0];
% Vector of displacements [u1 v1 u2 v2 u3 v3 u4 v4]
U = [0, 0, -1.5e-4, 0, 1e-3, 1e-3, -1.5e-4, 1e-3]';
% List of coordinates in parent space where strain will be calculated.
xiList = [-1, 1, 1, -1];
etaList = [-1, -1, 1, 1];
% Dummy matrix where strain is to be input
strainList = zeros(3,length(xiList));
% Loop over all of the points listed, calculate the strain,
% then store it in each column of strain
for point = 1:length(xiList)
%define xi and eta for this point
xi = xiList(point);
eta = etaList(point);
%calculate B given xi and eta
B = Bmat_4n(x, y, xi, eta);
%calculate the 3 strain values for each point required
strainList(:, point) = B*U;
end
%%
% Plot a contour of displacement in the x direction
figure(1)
patch(x,y, U(1:2:end-1))
title('Displacement in the x Direction')
xlabel('x coordinate')
ylabel('y coordinate')
colorbar()
% Plot a contour of displacement in the y direction
figure(2)
patch(x,y, U(2:2:end))
title('Displacement in the y Direction')
xlabel('x coordinate')
ylabel('y coordinate')
colorbar()
% Plot a contour of strain in the x direction
figure(3)
patch(x, y, strainList(1,:))
title('Strain in the x Direction')
xlabel('x coordinate')
ylabel('y coordinate')
colorbar()
% Plot a contour of strain in the y direction
figure(4)
patch(x, y, strainList(2,:))
title('Strain in the y Direction')
xlabel('x coordinate')
ylabel('y coordinate')
colorbar()
caxis([-0.002 0.002]);
% Plot a contour of shear strain
figure(5)
patch(x, y, strainList(3,:))
title('Shear Strain')
xlabel('x coordinate')
ylabel('y coordinate')
colorbar()

Answers (0)

Categories

Find more on Stress and Strain in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!