From 54a17ceab5f5390ef1fd17fcc38c8c7a948ab866 Mon Sep 17 00:00:00 2001 From: nin13001 <32068635+nin13001@users.noreply.github.com> Date: Fri, 15 Dec 2017 18:33:40 -0500 Subject: [PATCH] Part E --- README.md | 31 +++++++++++++++++++++++++++++++ SE_diff.asv | 27 +++++++++++++++++++++++++++ SE_diff.m | 27 +++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 SE_diff.asv create mode 100644 SE_diff.m diff --git a/README.md b/README.md index 32e01fa..b8b040a 100644 --- a/README.md +++ b/README.md @@ -73,3 +73,34 @@ end membrane_solution(0.006,0.001,10) ``` ![](assets/README-579fb915.png) + +## Part E +``` +function [pw_se,w]=SE_diff(T,P,n) + +E = 1e6; +v = .31; +t = .0003; +h = 10/(n+1); +w = membrane_solution(T,P,n); +z = zeros(n+2); +z(2:end-1,2:end-1) = reshape(w,[n n]); +nt = n + 1; +wn = zeros(nt); +for i = 1:nt + for j = 1:nt + wn(i,j) = mean([z(i,j),z(i+1,j),z(i,j+1),z(i+1,j+1)]); + end +end +pw = sum(sum(wn.*h^2.*P)); +dwdx = zeros(nt); +dwdy = zeros(nt); +for i = 1:nt + for j = 1:nt + dwdx(i,j) = mean([z(i+1,j)-z(i,j),z(i+1,j+1)-z(i,j+1)]); + dwdy(i,j) = mean([z(i,j+1)-z(i,j),z(i+1,j+1)-z(i+1,j)]); + end +end +se = E*t*h^2/(2*(1-v^2))*sum(sum(0.25.*dwdx.^4+.25.*dwdy.^4+0.5.*(dwdx.*dwdy).^2)); +pw_se = pw-se; +``` diff --git a/SE_diff.asv b/SE_diff.asv new file mode 100644 index 0000000..9e4c550 --- /dev/null +++ b/SE_diff.asv @@ -0,0 +1,27 @@ +function [pw_se,w]=SE_diff(T,P,n) + +E = 1e6; +v = .31; +t = .0003; +h = 10/(n+1); +w = membrane_solution(T,P,n); +z = zeros(n+2); +z(2:end-1,2:end-1) = reshape(w,[n n]); +nt = n + 1; +wn = zeros(nt); +for i = 1:nt + for j = 1:nt + wn(i,j) = mean([z(i,j),z(i+1,j),z(i,j+1),z(i+1,j+1)]); + end +end +pw = sum(sum(wn.*h^2.*P)); +dwdx = zeros(nt); +dwdy = zeros(nt); +for i = 1:nt + for j = 1:nt + dwdx(i,j) = mean([z(i+1,j)-z(i,j),z(i+1,j+1)-z(i,j+1)]); + dwdy(i,j) = mean([z(i,j+1)-z(i,j),z(i+1,j+1)-z(i+1,j)]); + end +end +se = E*t*h^2/(2*(1-v^2))*sum(sum(0.25.*dwdx.^4+.25.*dwdy.^4+0.5.*(dwdx.*dwdy).^2)); +pw_se = pw-se; \ No newline at end of file diff --git a/SE_diff.m b/SE_diff.m new file mode 100644 index 0000000..9e4c550 --- /dev/null +++ b/SE_diff.m @@ -0,0 +1,27 @@ +function [pw_se,w]=SE_diff(T,P,n) + +E = 1e6; +v = .31; +t = .0003; +h = 10/(n+1); +w = membrane_solution(T,P,n); +z = zeros(n+2); +z(2:end-1,2:end-1) = reshape(w,[n n]); +nt = n + 1; +wn = zeros(nt); +for i = 1:nt + for j = 1:nt + wn(i,j) = mean([z(i,j),z(i+1,j),z(i,j+1),z(i+1,j+1)]); + end +end +pw = sum(sum(wn.*h^2.*P)); +dwdx = zeros(nt); +dwdy = zeros(nt); +for i = 1:nt + for j = 1:nt + dwdx(i,j) = mean([z(i+1,j)-z(i,j),z(i+1,j+1)-z(i,j+1)]); + dwdy(i,j) = mean([z(i,j+1)-z(i,j),z(i+1,j+1)-z(i+1,j)]); + end +end +se = E*t*h^2/(2*(1-v^2))*sum(sum(0.25.*dwdx.^4+.25.*dwdy.^4+0.5.*(dwdx.*dwdy).^2)); +pw_se = pw-se; \ No newline at end of file