summaryrefslogtreecommitdiff
path: root/plugins/ZamTube/lut_current.m
blob: 3d42d6e6827dbbcb86e28356c5c895431ee66c81 (plain)
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
1;

function I = ip (vgk, vpk)
  mu=103.2
  kx=1.26
  kg1=446.0
  kp=3.4
  kvb=300.0
  e1=vpk .* log(1. + exp(kp .* (1.0/mu + vgk ./ (kvb + vpk .* vpk) .^ 0.5))) / kp
  if e1 < 0
    I = 0
    return
  endif
  I = double((e1 .^ kx)/kg1)
endfunction

gridsizeg = 2001
gridsizep = 2001
vgk = linspace(-20, 20, gridsizeg)
vpk = linspace(0, 500, gridsizep)
[vg, vp] = ndgrid(double(vgk), double(vpk))
cur = 1e+6*ip(double(vg), double(vp))
surf(vg,vp,cur)

more off
for i=1:gridsizeg
  for j=1:gridsizep
    fprintf("%f,\n", cur(i,j))
  endfor
endfor