diff --git a/PartB.m b/PartB.m new file mode 100644 index 0000000..385af97 --- /dev/null +++ b/PartB.m @@ -0,0 +1,2 @@ +% Part B Script +[w] = membrane_solution3(0.006,0.001); \ No newline at end of file diff --git a/PartBFigure.png b/PartBFigure.png new file mode 100644 index 0000000..4699760 Binary files /dev/null and b/PartBFigure.png differ diff --git a/PartD.m b/PartD.m new file mode 100644 index 0000000..8cdb9c2 --- /dev/null +++ b/PartD.m @@ -0,0 +1,2 @@ +% Part D Script +[w] = membrane_solution(0.006,0.001,10) \ No newline at end of file diff --git a/PartDFigure.png b/PartDFigure.png new file mode 100644 index 0000000..ca69c45 Binary files /dev/null and b/PartDFigure.png differ diff --git a/membrane_solution.m b/membrane_solution.m new file mode 100644 index 0000000..f9c96d6 --- /dev/null +++ b/membrane_solution.m @@ -0,0 +1,23 @@ +function [w] = membrane_solution(T,P,n) + % T = Tension (microNewton/micrometer) + % P = Pressure (MPa) + % n = # of interior nodes + + od = ones(n^2-1,1); + od(n:n:end) = 0; + k = -4*diag(ones(n^2,1))+diag(ones((n^2)-n,1),n)+diag(ones((n^2)-n,1),-n)+diag(od,1)+diag(od,-1); + + y = -(10/(n+1))^2*(P/T)*ones(n^2,1); + w = k\y; + % Solves for displacement (micrometers) + % Output w is a vector + % Solution represents a 2D data set w(x,y) + + [x,y] = meshgrid(0:10/(n+1):10,0:10/(n+1):10); + z = zeros(size(x)); + z(2:end-1,2:end-1) = reshape(w,[n n]); + surf(x,y,z) + title('Membrane Displacement') + zlabel('Displacement (micrometer)') + % Membrane displacement is shown on chart +end \ No newline at end of file diff --git a/membrane_solution3.asv b/membrane_solution3.asv new file mode 100644 index 0000000..e1c7393 --- /dev/null +++ b/membrane_solution3.asv @@ -0,0 +1,21 @@ +function [w] = membrane_solution3(T,P) + % T = Tension (microNewton/micrometer) + % P = Pressure (MPa) + + od = ones(8,1); + od(3:3:end) = 0; + k = -4*diag(ones(9,1))+diag(ones(9-3,1),3)+diag(ones(9-3,1),-3)+diag(od,1)+diag(od,-1); + + + y = -(10/4)^2*(P/T)*ones(9,1); + w = k\y; + % Solves for displacement (micrometers) + + [x,y] = meshgrid(0:10/4:10,0:10/4:10); + z = zeros(size(x)); + z(2:end-1,2:end-1) = reshape(w,[3 3]); + surf(x,y,z) + title('Membrane Displacement') + zlable + % Solution represents a 2D data set w(x,y) +end \ No newline at end of file diff --git a/membrane_solution3.m b/membrane_solution3.m new file mode 100644 index 0000000..ec29f9b --- /dev/null +++ b/membrane_solution3.m @@ -0,0 +1,23 @@ +function [w] = membrane_solution3(T,P) + % T = Tension (microNewton/micrometer) + % P = Pressure (MPa) + + od = ones(8,1); + od(3:3:end) = 0; + k = -4*diag(ones(9,1))+diag(ones(9-3,1),3)+diag(ones(9-3,1),-3)+diag(od,1)+diag(od,-1); + + + y = -(10/4)^2*(P/T)*ones(9,1); + w = k\y; + % Solves for displacement (micrometers) + % Solution represents a 2D data set w(x,y) + + [x,y] = meshgrid(0:10/4:10,0:10/4:10); + z = zeros(size(x)); + z(2:end-1,2:end-1) = reshape(w,[3 3]); + surf(x,y,z) + title('Membrane Displacement') + zlabel('Displacement (micrometer)') + % Membrane displacement is shown on chart + +end \ No newline at end of file