-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtfer_W1.m
44 lines (33 loc) · 1.42 KB
/
tfer_W1.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
% TFER_W1 Evaluates the transfer function for a PMA in Case E.
% Author: Timothy Sipkens, 2019-03-21
%
% Inputs:
% sp Structure defining various setpoint parameters
% (e.g. m_star, V). Use 'get_setpoint' method to generate
% this structure.
% m Particle mass
% d Particle mobility diameter
% z Integer charge state
% prop Device properties (e.g. classifier length)
%
% Outputs:
% Lambda Transfer function
% G0 Function mapping final to initial radial position
%=========================================================================%
function [Lambda, G0] = tfer_W1(sp, m, d, z, prop)
if prop.omega_hat ~= 1
warning(['WARNING: omega_hat ~= 1! ', ...
'<strong>tfer_W1</strong> output is likely inaccurate.'])
end
[tau, C0, ~, rs] = parse_inputs(sp, m, d, z, prop);
% parse inputs for common parameters
%-- Estimate device parameter --------------------------------------------%
lam = 2 .* tau .* ([sp.alpha]' .^ 2 - ...
[sp.beta]' .^ 2 ./ (rs .^ 4)) .* prop.L ./ prop.v_bar;
%-- Evaluate G0 and transfer function ------------------------------------%
G0 = @(r) 1 ./ ([sp.omega1]' .* sqrt(m)).*...
sqrt((m .* [sp.omega1]' .^ 2 .* r .^ 2 - C0) .* exp(-lam) + C0);
ra = min(prop.r2, max(prop.r1, G0(prop.r1)));
rb = min(prop.r2, max(prop.r1, G0(prop.r2)));
Lambda = (1 ./ (2 .* prop.del)) .* (rb - ra);
end