Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
mattmaliniak committed Dec 15, 2017
2 parents b9d8712 + 177eeaf commit d44498f
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 9 deletions.
8 changes: 5 additions & 3 deletions Part C/membrane_solution.asv
Expand Up @@ -21,7 +21,9 @@ w = k\y;
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)')
title('Membrane Displacement (10 x 10)')
zlabel('Z Position (micron)')
ylabel('Y Position (micron)')
xlabel('X Position (micron)')
% Membrane displacement is shown on chart
end
end
76 changes: 70 additions & 6 deletions README.md
Expand Up @@ -36,7 +36,8 @@ w = k\y;
% Membrane displacement is shown on chart
end
end
```
### Approach
- A matrix is set up using finite element analysis of the interior nodes of a 5x5 matrix
Expand All @@ -47,6 +48,9 @@ end
# Part B
```matlab
% Part B Script
% From problem statement:
% T=0.006 uN/um
% P=0.001 MPa
[w] = membrane_solution3(0.006,0.001);
```
![](https://github.uconn.edu/ltd13002/ME3255_Final_Project/blob/master/Part%20B/PartBFigure.png)
Expand Down Expand Up @@ -78,10 +82,8 @@ function [w] = membrane_solution(T,P,n)
z = zeros(size(x));
z(2:end-1,2:end-1) = reshape(w,[n n]);
surf(x,y,z)
title('Membrane Displacement (10 x 10)')
zlabel('Z Position (micron)')
ylabel('Y Position (micron)')
xlabel('X Position (micron)')
title('Membrane Displacement')
zlabel('Displacement (micrometer)')
% Membrane displacement is shown on chart
end
```
Expand All @@ -92,6 +94,10 @@ end
# Part D
```matlab
% Part D Script
% From problem statement:
% T=0.006 uN/um
% P=0.001 MPa
% n = 10 nodes
[w] = membrane_solution(0.006,0.001,10)
```
![](https://github.uconn.edu/ltd13002/ME3255_Final_Project/blob/master/Part%20D/PartDFigure.png)
Expand Down Expand Up @@ -147,12 +153,17 @@ pw_se = pw-se;

# Part F
```matlab
% Part F script
% From Problem Statement:
n=[3,20:5:40];
P=0.001; %MPa
% Sets vector length so it doesn't change every iteration in for loop
T = zeros(1,length(n));
ea = zeros(1,length(n));
% Uses tension_sol function to solve for the tension for each input
for i = 1:length(n)
[T(i), ea(i)] = tension_sol(P,n(i));
end
```
Expand Down Expand Up @@ -238,22 +249,34 @@ end
- The script runs through all iterations of different amounts of nodes, zeroing the SE_diff function output and saving the values for tension in the T variable as a vector
# Part G
```matlab
% Part G Script
% From Problem Statement
P = linspace(.001,.01,10);
n = 20;
% Sets vector length so it doesn't change every iteration in for loop
T = zeros(1,length(P));
wmax = zeros(1,length(P));
% Uses tension_sol and membrane_solution functions to solve for the maximum displacement for all iterations
for i = 1:length(P)
T(i) = tension_sol(P(i),n);
w = membrane_solution(T(i),P(i),n);
wmax(i) = max(w);
end
% Sets up figure for plot
clf
setDefaults
% Standard Linear Regression with equation P(x) = A*w^2
x = wmax';
y = P';
Z=x.^3;
a=Z\y;
x_fcn=linspace(min(x),max(x));
% Plots regression line with actual points
plot(x,y,'o',x_fcn,a*x_fcn.^3)
title('Pressure vs Maximum Deflection')
xlabel('Maximum Deflection (um)')
Expand All @@ -267,3 +290,44 @@ print('Part g','-dpng')
- Additionally, the max deflection for each pressure and tension is calculated at each iteration
- From there, a general linear regression is calculated with the formula P(x) = A*w^3
- The results are plotted

# Part H
```matlab
% Part G Script
% From Problem Statement
P=0.001;
n = 5:5:50;
% Sets vector length so it doesn't change every iteration in for loop
a = zeros(1,length(n));
% Uses tension_sol and membrane_solution functions along with a regression line to solve for the constant A in the regression line
for i = 1:length(n)
T = tension_sol(P,n(i));
w = membrane_solution(T,P,n(i));
wmax = max(w);
x = wmax';
y = P';
Z = x.^3;
a(i) = Z\y;
end
% Calculates the relative error between the constant A values
Rel_error(a)
```
|number of nodes|vaalue of const. A| rel. error|
|---|---|---|
|5 |0.4423 |n/a|
|10|0.5389|21.84%|
|15|0.5349|0.73%|
|20|0.5483|2.5%|
|25|0.5454|0.52%|
|30|0.5503|0.89%|
|35|0.5485|0.31%|
|40|0.5510|0.45%|
|45|0.5499|0.2%|

### Approach
- Part H uses the same basis as Part G, but with varrying n (number of nodes) valeus instead
- Additionally, the outputs and a few calculations were deleted to speed up the process since they were not needed here
- In the chart, while there are some fluctuations, there is a clear decrease in the relative error of A, leading to the assumption that it is converging as the number of nodes increases

0 comments on commit d44498f

Please sign in to comment.