I made a calculator

Status
Not open for further replies.

vapealone

Senior Member
Jun 16, 2015
275
411
Looking at different vaping-related calculators online inspired me to throw one together of my own.

This calculator is for making coils (my latest craze), but I also plan on adding a DIY e-juice calculator later on (if the response is positive, and people are interested). The lofty long term goal is to have everything (vape related calculations) in one place. Anyway, enough talk, here it is:

Steam Engine | free vaping calculators

The calculator is javascript driven, and is supposed to work in real time without page refreshes. All is in one file (except jQuery and Bootstrap) to keep loading quick and light. If anyone finds an error, or want something added (or removed or changed), please give me a word, and I'll seriously consider it. :) I will appreciate any feedback, both positive and negative.

Hi,
Your calculator is great I love it.
And I have seen your post @ Thebloke's TC beyond Ni200.... and had a look at your current beta version too.
That is why I think you may want to look at this:
85GVp2q.jpg

This worksheet shows ρ(T)s and TFR(20°C-T)s and TCR(20°C-T)s for different materials focusing on our vaping temp range
This may be interesting too:
wGTPdfB.jpg

That worksheet shows some Ni/Kanthal Hybrid Clapron configurations with ρ(T)s and TFR(20°C-T)s.
(and the effect of the spacing on temperature sensitivity on the second tab)
I will later add this figures to the first chart as well.

BTW: Nickel-Iron/ NiFe/FeNi (70/30) alloys have quite few variants. Resistherm is just one of them. name. Alloy120, Nifethal70 are basically the same, just to name a few. They are not necessarily the same but the main components are..
There are others with different Ni/Fe ratio as well. eg. NiFe52 (aka Nifethal 52, ~alloy52, glass seal 52, Nilo50 etc), NiFe48 etc..
 

Aal_

Vaping Master
ECF Veteran
Verified Member
May 5, 2012
7,077
18,611
Toronto
Dampmaskin, I noticed when you i try to set a custom resistivity wire, you set the density to 8.31 which is density of nichrome. I understand that for a custom wire you wouldn't have the density, however I suggest to make it as custom as well or take the density of the last chosen wire. For example I am inputting the resistivity of a titanium wire that is not standard, I should be able to choose the density of titanium or custom density if available.

The effect of this is the mass and by consequence the heat capacity which comes out wrong.

Just a suggestion .... Thanks man!
 

Dampmaskin

Ultra Member
ECF Veteran
Verified Member
Jan 28, 2014
1,042
1,157
Norway
www.steam-engine.org
Alright, thanks for all the input. I've not had time to look so closely at it yet, because I've had other things on my mind, but I'll try to incorporate your suggestions in the new thing.

The new thing?

Yes, the new thing. After a year of pondering, a month or two of planning and gathering gumption, and a few days (weeks?) of sweating and cursing over a computer keyboard, I have finally come up with another coil calculator (or rather, a wire calculator this time). This is for TC coils, and also for all the fancy schmancy coil freaks out there. With some luck and some time, it can grow into a calculator for most coil winding needs. Who knows?

I haven't linked to it from the Steam Engine navigation menu yet, because I don't want everyone and their grandmother using it right now. It is not a finished product. But it has reached a point where I feel it's time for some feedback, lest I go astray and turn it into a steaming (vaping) heap of garbage, so here is the sooper sekrit link for you:

Wire Wizard

Feel free to check it out, take everything with a grain of salt, and if you don't understand the first thing click "How it works". Then enjoy whatever works, try to enjoy whatever doesn't, and feel free to say exactly what you think below.
 

vapealone

Senior Member
Jun 16, 2015
275
411
Reposted:

To be honest I'm not sure either. :D Is it a significant difference, or just a tiny one? It might have something to do with the normalizing "anchor" temperature, and conversion between C and F. My calculator regards 20C as "close enough" to 70F, but I'm not sure that is a good practice.....
There is difference. Not overly significant but it is there.
Besides, the study I have used refers to experimental sets of data (on electrical resistivity) as follows:
  • 303-few sets of data
  • 304 - 26 data sets
  • 316 - 8 data sets
  • 321 -2 sets
  • 347 -4 sets
  • 410, 430 -5 sets for each
It is not clear what they were referring to in terms of 304L and they had no experimental data for 317 but data derived from 316.
There is no data for 316L and 317L at all.
Bottom line:
You might want to consider giving output only for available input, i.e for 316 instead of 316L and for 317 instead of 317L.

Normalising wise: I was advised here that you can normalise your TFR to (almost) any reference temp you wish e.g. to 68°F(20°C) just working fine.

Besides, it seems that you use a single TCR for the Ti Gr1 TFR outputs and IMO it would work just fine for S/S too as long as you use the TCR belonging to a temp around 300°C as per bellow:
  • 304: TCR(20-300°C)=~0.001016 and ρ(T)= ρ(20°C) x (1+0.001016*(T-20°C)) and TFR(T)= ρ(T)(20°C)
  • 316: TCR(20-300°C)=~0.00088 and ρ(T)= ρ(20°C) x (1+0.00088*(T-20°C)) and TFR(T)= ρ(T)(20°C)
  • 317: TCR(20-327°C)=~0.000826 and ρ(T)= ρ(20°C) x (1+0.000826*(T-20°C)) and TFR(T)= ρ(T)(20°C)
And convert simply the corresponding temp from °C to °F after calculating any data for display purpose only, using, displaying and exporting 68°F as an anchor/reference. Should work. I guess.:D
Or drop a PM and tell me what the easiest input for your algorithm.;)

........
Wire Wizard

Feel free to check it out, take everything with a grain of salt, and if you don't understand the first thing click "How it works". Then enjoy whatever works, try to enjoy whatever doesn't, and feel free to say exactly what you think in the Steam Engine thread.
Wow.
Promising:thumbs:

After a quick look my feedback:
The TCR button opens a table with TFR values as it is indicated on it. No big deal but could be confusing.
TC sensitivity seems to show relative sensitivity compare to Ni200 which is an interesting choice of reference as it has the most irregular ρ(T)/TFR(T)/TCR(T) curve of all materials listed.
Some TFR based sensitivity indicator could be more accurate and informative e.g.:
Ni200: 100-270%
Ti1: 100-199%.. etc
referring to the resistance change
or some TCR based (similar to the dumb named Purity setting), where 100% is TCR=0.01, e.g:
Ni200: 44-61%
Ti1: 35% .. etc

But otherwise like I said: Wow
 
Last edited:
  • Like
Reactions: Dampmaskin

Dampmaskin

Ultra Member
ECF Veteran
Verified Member
Jan 28, 2014
1,042
1,157
Norway
www.steam-engine.org
If you want to help improve the materials data, that would be fantastic. Here it is, in all its questionable glory. It's stored in JSON format, with Javascipt style comments that I strip before use. (Everything between /* and */ is a comment, and everything between // and the end of a line is a comment.) As you can see the data is a bit patchy and sketchy to put it mildly, but it has worked OK so far.

The required fields are id, nm (name), rstv (resistivity), hc (heat capacity) and dens (density). In order to calculate TFR curves, we also need a TFR array (preferred) or a TCR constant.

The TFR array consists of N small arrays that consist of the temperature in °C and the resistance factor for that temperature. Preferably, 20°C should have a factor of 1.

Also, for the sake of the sanity of the DNA 200, every temperature point should have a higher factor than the previous one. That's why I've fudged the factors for Kanthal with some extra zeroes ending with a 1 at the lower end of the temperature scale.

Code:
[
[
    /*
    Units:
        rstv: Ω mm²/m
        hc: mJ/K
        dens: g/ccm
    The heat capacity of some chemical elements:
        Fe: 0.449
        Cr: 0.449
        Al: 0.897
        Ni: 0.444
    */
    {
        "id": "ka1"
        ,"nm": "Kanthal A1 / APM"
        ,"rstv": 1.45
        ,"hc": 0.46 // typical kanthal, and stated for ka1
        ,"dens": 7.1
        ,"tfr" : [[20,1], [100,1.0001], [400,1.001], [500,1.01], [600,1.02], [700,1.02], [800,1.03], [900,1.04], [1000,1.04], [1200,1.04], [1300,1.04], [1400,1.05]]
    },{
        "id": "ka"
        ,"nm": "Kanthal A / AE / AF"
        ,"rstv": 1.39
        ,"hc": 0.4625 // guesstimate
        ,"dens": 7.15
        ,"tfr" : [[20,1], [100,1.001], [200,1.01], [300,1.015], [400,1.02], [500,1.03], [600,1.04], [700,1.045], [800,1.05], [900,1.055], [1000,1.06], [1300,1.065]]
    },{
        "id": "kd"
        ,"nm": "Kanthal D"
        ,"rstv": 1.35
        ,"hc": 0.465 // guesstimate
        ,"dens": 7.25
        ,"tfr": [[20,1], [100,1.001], [200,1.01], [300,1.015], [400,1.02], [500,1.03], [600,1.04], [700,1.05], [800,1.06], [900,1.07], [1100,1.075], [1200,1.08], [1300,1.085]]
    },{
        "id": "n20"  // 20% Cr, 80% Ni
        ,"nm": "Nichrome N20"
        ,"rstv": 0.95
        ,"hc": 0.447 // guesstimate - all the elements in Nichrome are between 0.444 and 0.449
        ,"dens": 8.7 // guesstimate
    },{
        "id": "n40"
        ,"nm": "Nichrome N40"
        ,"rstv": 1.04
        ,"hc": 0.447
        ,"dens": 8.6 // interpolated
    },{
        "id": "n60"
        ,"nm": "Nichrome N60 (C)"
        ,"rstv": 1.11
        ,"hc": 0.447
        ,"dens": 8.5 // interpolated
        ,"tcr": 0.0004
    },{
        "id": "n70"
        ,"nm": "Nichrome N70 (B)"
        ,"rstv": 1.18
        ,"hc": 0.447
        ,"dens": 8.4 // interpolated
    },{
        "id": "n80" // 80% Cr, 20% Ni
        ,"nm": "Nichrome N80 (A)"
        ,"rstv": 1.09
        ,"hc": 0.447
        ,"dens": 8.31
    },{
        "id": "ss316l"
        ,"nm": "SS 316L / Elite"
        ,"rstv": 0.75
        ,"hc": 0.5
        ,"dens": 8
        ,"tfr": [
            [-183,0.7588]
            ,[-173,0.7717]
            ,[-123,0.8366]
            ,[-73,0.8962]
            ,[-23,0.9546]
            ,[0, 0.978]
            ,[20, 1]
            ,[100, 1.08]
            ,[105, 1.084]
            ,[110, 1.089]
            ,[115, 1.094]
            ,[120, 1.099]
            ,[125, 1.103]
            ,[130, 1.108]
            ,[135, 1.112]
            ,[140, 1.117]
            ,[145, 1.121]
            ,[150, 1.126]
            ,[155, 1.13]
            ,[160, 1.134]
            ,[165, 1.139]
            ,[170, 1.143]
            ,[175, 1.147]
            ,[180, 1.151]
            ,[185, 1.156]
            ,[190, 1.16]
            ,[195, 1.164]
            ,[200, 1.168]
            ,[205, 1.172]
            ,[210, 1.176]
            ,[215, 1.18]
            ,[220, 1.184]
            ,[225, 1.188]
            ,[230, 1.192]
            ,[235, 1.196]
            ,[240, 1.2]
            ,[245, 1.204]
            ,[250, 1.207]
            ,[255, 1.211]
            ,[260, 1.215]
            ,[265, 1.219]
            ,[270, 1.223]
            ,[275, 1.227]
            ,[280, 1.231]
            ,[285, 1.235]
            ,[290, 1.239]
            ,[295, 1.242]
            ,[300, 1.246]
            ,[327,1.2672]
            ,[427,1.3372]
            ,[527,1.4008]
            ,[627,1.454]
            ,[727,1.5006]
        ]
    },{
        "id": "ss317l"
        ,"nm": "SS 317L / Haywire"
        ,"rstv": 0.81 // Or 0.87? Or 0.79? Conflicting information.
        ,"hc": 0.5
        ,"dens": 7.9
        ,"tcr": 0.00094
    },{
        "id": "ti1"
        ,"nm": "Titanium 1"
        ,"rstv": 0.47
        ,"hc": 0.523
        ,"dens": 4.43
        ,"tcr": 0.0035
        ,"tfr": [
            [20,1]
            ,[24,1.022177419]
            ,[37,1.066532258]
            ,[53,1.120967742]
            ,[66,1.169354839]
            ,[78,1.213709677]
            ,[94,1.272177419]
            ,[106,1.3125]
            ,[120,1.366935484]
            ,[134,1.41733871]
            ,[147,1.463709677]
            ,[159,1.510080645]
            ,[176,1.572580645]
            ,[189,1.622983871]
            ,[221,1.739919355]
            ,[233,1.782258065]
            ,[247,1.836693548]
            ,[258,1.872983871]
            ,[270,1.915322581]
            ,[287,1.97983871]
            ,[301,2.028225806]
            ,[323,2.106854839]
            ,[339,2.163306452]
            ,[353,2.20766129]
            ,[364,2.245967742]
            ,[374,2.278225806]
            ,[392,2.336693548]
            ,[404,2.379032258]
            ,[419,2.425403226]
            ,[431,2.465725806]
            ,[445,2.510080645]
            ,[460,2.556451613]
            ,[479,2.614919355]
            ,[497,2.665322581]
            ,[513,2.709677419]
            ,[541,2.788306452]
            ,[557,2.828629032]
            ,[574,2.870967742]
            ,[594,2.921370968]
            ,[609,2.959677419]
            ,[630,3.006048387]
            ,[646,3.04233871]
            ,[669,3.090725806]
            ,[683,3.116935484]
            ,[702,3.153225806]
            ,[720,3.189516129]
            ,[739,3.219758065]
            ,[753,3.243951613]
            ,[770,3.27016129]
            ,[794,3.306451613]
            ,[812,3.330645161]
            ,[830,3.352822581]
            ,[843,3.370967742]
        ]
       
    },{
        "id": "ti2"  // R50400
        ,"nm": "Titanium 2 (R50400)"
        ,"rstv": 0.56
        ,"hc": 0.54 // guesstimate
        ,"dens": 4.51
        ,"tfr": [ // from ECF user vapealone
            [20, 1]
            ,[27, 1.027237354]
            ,[44, 1.091439689]
            ,[61, 1.145914397]
            ,[76, 1.210116732]
            ,[95, 1.262645914]
            ,[109, 1.317120623]
            ,[128, 1.383268482]
            ,[146, 1.443579767]
            ,[163, 1.505836576]
            ,[181, 1.56614786]
            ,[199, 1.630350195]
            ,[217, 1.694552529]
            ,[233, 1.750972763]
            ,[247, 1.80155642]
            ,[266, 1.86770428]
            ,[287, 1.939688716]
            ,[311, 2.027237354]
            ,[328, 2.087548638]
            ,[343, 2.13618677]
            ,[360, 2.190661479]
            ,[387, 2.274319066]
            ,[413, 2.357976654]
            ,[430, 2.406614786]
            ,[456, 2.492217899]
            ,[475, 2.542801556]
            ,[495, 2.605058366]
            ,[521, 2.673151751]
            ,[535, 2.710116732]
            ,[555, 2.760700389]
            ,[569, 2.793774319]
            ,[591, 2.842412451]
            ,[606, 2.879377432]
            ,[628, 2.929961089]
            ,[641, 2.957198444]
            ,[658, 2.990272374]
            ,[672, 3.019455253]
            ,[693, 3.058365759]
            ,[719, 3.10311284]
            ,[743, 3.142023346]
            ,[755, 3.175097276]
            ,[772, 3.196498054]
            ,[800, 3.219844358]
            ,[836, 3.26459144]
        ]
    },{
        "id": "tie" // "Titanium ready" from e-SmokeGuru
        ,"nm": "Titanium ready (e-SG)"
        /*
        - 0.18mm wire at 33.4 Ω/m gives 0.85 Ω mm²/m,
        - 0.20mm wire at 22.5 Ω/m gives 0.71 Ω mm²/m,
        - 0.25mm wire at 19.5 Ω/m gives 0.96 Ω mm²/m,
        - 0.32mm wire at 13.3 Ω/m gives 1.07 Ω mm²/m,
        - 0.40mm wire at 6.8 Ω/m gives 0.85 Ω mm²/m.               
        */
        ,"rstv": 0.85
        ,"hc": 0.56 // guesstimate
        ,"dens": 4.75 // guesstimate
    },{
        "id": "nio"
        ,"nm": "Niobium alloy"
        ,"rstv": 1.46809443507 // Niobium has a resistivity of 1.01247892074 times that of Kanthal A1 at the same gauge, according to StealthVape.
        ,"hc": 0.45 // wild guess
        ,"dens": 7.5 // wild guess
    },{
        "id": "ni200"
        ,"nm": "Nickel Ni200"
        ,"rstv": 0.096
        ,"hc": 0.456
        ,"dens": 8.89
        ,"tcr": 0.006
        ,"tfr": [ // from Evolv
            [-73.3333333333333333333, 0.620729625225067]
            ,[-17.7777777777777777778, 0.827668249607086]
            ,[21.1111111111111111111, 1.00000214576721]
            ,[93.3333333333333333333, 1.31032383441925]
            ,[204.4444444444444444444, 1.94822633266449]
            ,[315.5555555555555555556, 2.82758617401123]
            ,[426.6666666666666666667, 3.51726651191711]
        ]
    },{
        "id": "nife30"
        ,"nm": "NiFe30 (Resistherm)"
        ,"rstv": 0.33 // http://www.abcpol.pl/en/our-offer/resistance-alloys
        ,"hc": 0.45 // guesstimate
        ,"dens": 8.2 // guesstimate
        ,"tcr": 0.0032
    }
]


]
 
Last edited:
  • Like
Reactions: vapealone

vapealone

Senior Member
Jun 16, 2015
275
411
If you want to help improve the materials data, that would be fantastic. Here it is, in all its questionable glory. It's stored in JSON format, with Javascipt style comments that I strip before use. (Everything between /* and */ is a comment, and everything between // and the end of a line is a comment.) As you can see the data is a bit patchy and sketchy to put it mildly, but it has worked OK so far.

The required fields are id, nm (name), rstv (resistivity), hc (heat capacity) and dens (density). In order to calculate TFR curves, we also need a TFR array (preferred) or a TCR constant.

The TFR array consists of N small arrays that consist of the temperature in °C and the resistance factor for that temperature. Preferably, 20°C should have a factor of 1.

Also, for the sake of the sanity of the DNA 200, every temperature point should have a higher factor than the previous one. That's why I've fudged the factors for Kanthal with some extra zeroes ending with a 1 at the lower end of the temperature scale.

Code:
[
    /*
    Units:
        rstv: Ω mm²/m
        hc: mJ/K
        dens: g/ccm
    The heat capacity of some chemical elements:
        Fe: 0.449
        Cr: 0.449
        Al: 0.897
        Ni: 0.444
    */
    {
        "id": "ka1"
        ,"nm": "Kanthal A1 / APM"
        ,"rstv": 1.45
        ,"hc": 0.46 // typical kanthal, and stated for ka1
        ,"dens": 7.1
        ,"tfr" : [[20,1], [100,1.0001], [400,1.001], [500,1.01], [600,1.02], [700,1.02], [800,1.03], [900,1.04], [1000,1.04], [1200,1.04], [1300,1.04], [1400,1.05]]
    },{
        "id": "ka"
        ,"nm": "Kanthal A / AE / AF"
        ,"rstv": 1.39
        ,"hc": 0.4625 // guesstimate
        ,"dens": 7.15
        ,"tfr" : [[20,1], [100,1.001], [200,1.01], [300,1.015], [400,1.02], [500,1.03], [600,1.04], [700,1.045], [800,1.05], [900,1.055], [1000,1.06], [1300,1.065]]
    },{
        "id": "kd"
        ,"nm": "Kanthal D"
        ,"rstv": 1.35
        ,"hc": 0.465 // guesstimate
        ,"dens": 7.25
        ,"tfr": [[20,1], [100,1.001], [200,1.01], [300,1.015], [400,1.02], [500,1.03], [600,1.04], [700,1.05], [800,1.06], [900,1.07], [1100,1.075], [1200,1.08], [1300,1.085]]
    },{
        "id": "n20"  // 20% Cr, 80% Ni
        ,"nm": "Nichrome N20"
        ,"rstv": 0.95
        ,"hc": 0.447 // guesstimate - all the elements in Nichrome are between 0.444 and 0.449
        ,"dens": 8.7 // guesstimate
    },{
        "id": "n40"
        ,"nm": "Nichrome N40"
        ,"rstv": 1.04
        ,"hc": 0.447
        ,"dens": 8.6 // interpolated
    },{
        "id": "n60"
        ,"nm": "Nichrome N60 (C)"
        ,"rstv": 1.11
        ,"hc": 0.447
        ,"dens": 8.5 // interpolated
        ,"tcr": 0.0004
    },{
        "id": "n70"
        ,"nm": "Nichrome N80 (B)"
        ,"rstv": 1.18
        ,"hc": 0.447
        ,"dens": 8.4 // interpolated
    },{
        "id": "n80" // 80% Cr, 20% Ni
        ,"nm": "Nichrome N80 (A)"
        ,"rstv": 1.09
        ,"hc": 0.447
        ,"dens": 8.31
    },{
        "id": "ss316l"
        ,"nm": "SS 316L / Elite"
        ,"rstv": 0.75
        ,"hc": 0.5
        ,"dens": 8
        ,"tfr": [
            [-183,0.7588]
            ,[-173,0.7717]
            ,[-123,0.8366]
            ,[-73,0.8962]
            ,[-23,0.9546]
            ,[0, 0.978]
            ,[20, 1]
            ,[100, 1.08]
            ,[105, 1.084]
            ,[110, 1.089]
            ,[115, 1.094]
            ,[120, 1.099]
            ,[125, 1.103]
            ,[130, 1.108]
            ,[135, 1.112]
            ,[140, 1.117]
            ,[145, 1.121]
            ,[150, 1.126]
            ,[155, 1.13]
            ,[160, 1.134]
            ,[165, 1.139]
            ,[170, 1.143]
            ,[175, 1.147]
            ,[180, 1.151]
            ,[185, 1.156]
            ,[190, 1.16]
            ,[195, 1.164]
            ,[200, 1.168]
            ,[205, 1.172]
            ,[210, 1.176]
            ,[215, 1.18]
            ,[220, 1.184]
            ,[225, 1.188]
            ,[230, 1.192]
            ,[235, 1.196]
            ,[240, 1.2]
            ,[245, 1.204]
            ,[250, 1.207]
            ,[255, 1.211]
            ,[260, 1.215]
            ,[265, 1.219]
            ,[270, 1.223]
            ,[275, 1.227]
            ,[280, 1.231]
            ,[285, 1.235]
            ,[290, 1.239]
            ,[295, 1.242]
            ,[300, 1.246]
            ,[327,1.2672]
            ,[427,1.3372]
            ,[527,1.4008]
            ,[627,1.454]
            ,[727,1.5006]
        ]
    },{
        "id": "ss317l"
        ,"nm": "SS 317L / Haywire"
        ,"rstv": 0.81 // Or 0.87? Or 0.79? Conflicting information.
        ,"hc": 0.5
        ,"dens": 7.9
        ,"tcr": 0.00094
    },{
        "id": "ti1"
        ,"nm": "Titanium 1"
        ,"rstv": 0.47
        ,"hc": 0.523
        ,"dens": 4.43
        ,"tcr": 0.0035
        ,"tfr": [
            [20,1]
            ,[24,1.022177419]
            ,[37,1.066532258]
            ,[53,1.120967742]
            ,[66,1.169354839]
            ,[78,1.213709677]
            ,[94,1.272177419]
            ,[106,1.3125]
            ,[120,1.366935484]
            ,[134,1.41733871]
            ,[147,1.463709677]
            ,[159,1.510080645]
            ,[176,1.572580645]
            ,[189,1.622983871]
            ,[221,1.739919355]
            ,[233,1.782258065]
            ,[247,1.836693548]
            ,[258,1.872983871]
            ,[270,1.915322581]
            ,[287,1.97983871]
            ,[301,2.028225806]
            ,[323,2.106854839]
            ,[339,2.163306452]
            ,[353,2.20766129]
            ,[364,2.245967742]
            ,[374,2.278225806]
            ,[392,2.336693548]
            ,[404,2.379032258]
            ,[419,2.425403226]
            ,[431,2.465725806]
            ,[445,2.510080645]
            ,[460,2.556451613]
            ,[479,2.614919355]
            ,[497,2.665322581]
            ,[513,2.709677419]
            ,[541,2.788306452]
            ,[557,2.828629032]
            ,[574,2.870967742]
            ,[594,2.921370968]
            ,[609,2.959677419]
            ,[630,3.006048387]
            ,[646,3.04233871]
            ,[669,3.090725806]
            ,[683,3.116935484]
            ,[702,3.153225806]
            ,[720,3.189516129]
            ,[739,3.219758065]
            ,[753,3.243951613]
            ,[770,3.27016129]
            ,[794,3.306451613]
            ,[812,3.330645161]
            ,[830,3.352822581]
            ,[843,3.370967742]
        ]
  
    },{
        "id": "ti2"  // R50400
        ,"nm": "Titanium 2 (R50400)"
        ,"rstv": 0.56
        ,"hc": 0.54 // guesstimate
        ,"dens": 4.51
        ,"tfr": [ // from ECF user vapealone
            [20, 1]
            ,[27, 1.027237354]
            ,[44, 1.091439689]
            ,[61, 1.145914397]
            ,[76, 1.210116732]
            ,[95, 1.262645914]
            ,[109, 1.317120623]
            ,[128, 1.383268482]
            ,[146, 1.443579767]
            ,[163, 1.505836576]
            ,[181, 1.56614786]
            ,[199, 1.630350195]
            ,[217, 1.694552529]
            ,[233, 1.750972763]
            ,[247, 1.80155642]
            ,[266, 1.86770428]
            ,[287, 1.939688716]
            ,[311, 2.027237354]
            ,[328, 2.087548638]
            ,[343, 2.13618677]
            ,[360, 2.190661479]
            ,[387, 2.274319066]
            ,[413, 2.357976654]
            ,[430, 2.406614786]
            ,[456, 2.492217899]
            ,[475, 2.542801556]
            ,[495, 2.605058366]
            ,[521, 2.673151751]
            ,[535, 2.710116732]
            ,[555, 2.760700389]
            ,[569, 2.793774319]
            ,[591, 2.842412451]
            ,[606, 2.879377432]
            ,[628, 2.929961089]
            ,[641, 2.957198444]
            ,[658, 2.990272374]
            ,[672, 3.019455253]
            ,[693, 3.058365759]
            ,[719, 3.10311284]
            ,[743, 3.142023346]
            ,[755, 3.175097276]
            ,[772, 3.196498054]
            ,[800, 3.219844358]
            ,[836, 3.26459144]
        ]
    },{
        "id": "tie" // "Titanium ready" from e-SmokeGuru
        ,"nm": "Titanium ready (e-SG)"
        /*
        - 0.18mm wire at 33.4 Ω/m gives 0.85 Ω.mm²/m,
        - 0.20mm wire at 22.5 Ω/m gives 0.71 Ω.mm²/m,
        - 0.25mm wire at 19.5 Ω/m gives 0.96 Ω.mm²/m,
        - 0.32mm wire at 13.3 Ω/m gives 1.07 Ω.mm²/m,
        - 0.40mm wire at 6.8 Ω/m gives 0.85 Ω.mm²/m.          
        */
        ,"rstv": 0.85
        ,"hc": 0.56 // guesstimate
        ,"dens": 4.75 // guesstimate
    },{
        "id": "nio"
        ,"nm": "Niobium alloy"
        ,"rstv": 1.46809443507 // Niobium has a resistivity of 1.01247892074 times that of Kanthal A1 at the same gauge, according to StealthVape.
        ,"hc": 0.45 // wild guess
        ,"dens": 7.5 // wild guess
    },{
        "id": "ni200"
        ,"nm": "Nickel Ni200"
        ,"rstv": 0.096
        ,"hc": 0.456
        ,"dens": 8.89
        ,"tcr": 0.006
        ,"tfr": [ // from Evolv
            [-73.3333333333333333333, 0.620729625225067]
            ,[-17.7777777777777777778, 0.827668249607086]
            ,[21.1111111111111111111, 1.00000214576721]
            ,[93.3333333333333333333, 1.31032383441925]
            ,[204.4444444444444444444, 1.94822633266449]
            ,[315.5555555555555555556, 2.82758617401123]
            ,[426.6666666666666666667, 3.51726651191711]
        ]
    },{
        "id": "nife30"
        ,"nm": "NiFe30 (Resistherm)"
        ,"rstv": 0.33 // http://www.abcpol.pl/en/our-offer/resistance-alloys
        ,"hc": 0.45 // guesstimate
        ,"dens": 8.2 // guesstimate
        ,"tcr": 0.0032
    }
]
Ok, i will check first what I can comprehend at all than make my suggestions:)
 

vapealone

Senior Member
Jun 16, 2015
275
411
@Dampmaskin
A few question before I start:
1.: Do you insist to use 70°F (21.11111°C) as reference temp? Like I have said above, according to James @ Evolv "68F will be fine.You do not need to normalize to 70F with the more recent firmwares" However, I understand that a few users might worry if they don't see the 70°F value. Just make your call and let me know, I will adjust. Although we can be more accurate using the 68°F:) Just saying:)

2.: Evolv's default Ni200 curve has 6 segments (7 points) but you can use either more or less segments and different temperatures. I personally would suggest to use the same min/room/max temperatures for all outputs (3 points, two segments) and add more points(arrays) within the useful range for the accuracy of the resistance value below 20°C is not really important neither the values above our vaping range.
It might need some modification of the coding as well but can be very helpful.
(Later I will ask Evolv if it is a must at all to add points(arrays) below and above our range or the board will extend the last available segment automatically)
 

Dampmaskin

Ultra Member
ECF Veteran
Verified Member
Jan 28, 2014
1,042
1,157
Norway
www.steam-engine.org
1) As long as the DNA can handle it, I prefer 20°C. I'm a European after all. :D If the users don't like it, I can always do some output conversion to Fahrenheit later.

The temperature points for the output don't need to be the same as the temperature points in the input (materials) data anyway. As you probably have noticed, the different materials actually have different temperature points, because I used whatever I found, and made the calculator straighten it out. To find the TFR for an arbitrary temperature, I use linear interpolation on the material TFR curve. This means that the more temperature points the material TFR curve has, the smaller the "degradation" will be from using arbitrary temperature points in the output.

2) As far as I understand the DNA 200 has enough memory for up to 7 segments (8 points) per profile when using all 8 profiles. I don't know how much the refinement mode of the DNA is affected by the resolution of the temperature curve below vaping temperatures.

The only reason why I did not make the output temperature points user configurable, is because I didn't want the user to have to think about it. Changing them is very easy from a technical point of view.

If you have a suggestion for output temperature points, I'll throw them in there and we'll see how it works.

The question about what the DNA 200 does with temperatures outside the TFR curve, is an interesting one.
 
Last edited:
  • Like
Reactions: vapealone

vapealone

Senior Member
Jun 16, 2015
275
411
1) As long as the DNA can handle it, I prefer 20°C. I'm a European after all. :D If the users don't like it, I can always do some output conversion to Fahrenheit later.

The temperature points for the output don't need to be the same as the temperature points in the input (materials) data anyway. As you probably have noticed, the different materials actually have different temperature points, because I used whatever I found, and made the calculator straighten it out. To find the TFR for an arbitrary temperature, I use linear interpolation on the material TFR curve. This means that the more temperature points the material TFR curve has, the smaller the "degradation" will be from using arbitrary temperature points in the output.

2) As far as I understand the DNA 200 has enough memory for up to 7 segments (8 points) per profile when using all 8 profiles. I don't know how much the refinement mode of the DNA is affected by the resolution of the temperature curve below vaping temperatures.

The only reason why I did not make the output temperature points user configurable, is because I didn't want the user to have to think about it. Changing them is very easy from a technical point of view.

If you have a suggestion for output temperature points, I'll throw them in there and we'll see how it works.

The question about what the DNA 200 does with temperatures outside the TFR curve, is an interesting one.
copy that, I am on it
 

Dampmaskin

Ultra Member
ECF Veteran
Verified Member
Jan 28, 2014
1,042
1,157
Norway
www.steam-engine.org
The Wire Wizard now allows you to use a mixed coil, or a TC coil other than Ni200, on your Ni200 only mod.

Set up your build, click the "Ni200 equiv." tab next to the chart on the upper right, and enter a value from one of the "Ni200 equiv." rows into your TC mod.
 
Last edited:

vapealone

Senior Member
Jun 16, 2015
275
411
The Wire Wizard has had another overhaul or two, and can now be found in the menu.

Cool!:thumb:
Besides, here is my late answer including a code snippet containing the data I actually use for DNA200
Code:
[
[
      /*
    Units:
        rstv: Ω mm²/m
        hc: mJ/K
        dens: g/ccm
    The heat capacity of some chemical elements:
        Fe: 0.449
        Cr: 0.449
        Al: 0.897
        Ni: 0.444
   
    Materials in alphabetic order, only uniformised data used
    */
    {
        "id": "ni200" // http://specialmetals.com/documents/Nickel%20200%20&%20201.pdf
        ,"nm": "Nickel Ni200"
        ,"rstv": 0.096 // http://specialmetals.com/documents/Nickel%20200%20&%20201.pdf
        ,"hc": 0.456 // http://specialmetals.com/documents/Nickel%20200%20&%20201.pdf
        ,"dens": 8.89 // http://specialmetals.com/documents/Nickel%20200%20&%20201.pdf
        ,"tfr": [
                ,[-100,0.5208]
                ,[20,1]
                ,[100,1.3542]
                ,[150,1.6138]
                ,[200,1.9271]
                ,[250,2.2981]
                ,[300,2.7083]
                ,[500,3.8021]
                ]

    },{
        "id": "nidh" // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/100-nickel/
        ,"nm": "Nickel DH"
        ,"rstv": 0.09 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/100-nickel/
        ,"hc":  0.48// http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/100-nickel/
        ,"dens": 8.9 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/100-nickel/
        ,"tfr": [
                ,[-100,0.6]
                ,[20,1]
                ,[100,1.4]
                ,[150,1.6941]
                ,[200,2.08]
                ,[250,2.5092]
                ,[300,2.97]
                ,[500,4.23]
                ]

    },{
        "id": "nft70" // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-70/
        ,"nm": "Nifethal 70 (Alloy120)"
        ,"rstv": 0.2 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-70/
        ,"hc": 0.52 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-70/
        ,"dens": 8.45 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-70/
        ,"tfr": [
                [-100,0.576]
                ,[20,1]
                ,[100,1.42]
                ,[150,1.68]
                ,[200,1.91]
                ,[250,2.19]
                ,[300,2.47]
                ,[500,3.66]
                ]
           
    },{
        "id": "nft52" // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-52/
        ,"nm": "Nifethal 52 (Alloy52)"
        ,"rstv": 0.37 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-52/
        ,"hc": 0.5 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-52/
        ,"dens": 8.2 // http://kanthal.com/en/products/material-datasheets/wire/resistance-heating-wire-and-resistance-wire/nifethal-52/
        ,"tfr": [
                [-100,0.664]
                ,[20,1]
                ,[100,1.33]
                ,[150,1.53]
                ,[200,1.73]
                ,[250,1.93]
                ,[300,2.13]
                ,[500,2.77]
                ]
                           
    },{
        "id": "nife30" //http://www.isabellenhuette.de/uploads/media/RESISTHERM_01.pdf
        ,"nm": "NiFe30 (Resistherm)"
        ,"rstv": 0.33 // http://www.isabellenhuette.de/uploads/media/RESISTHERM_01.pdf
        ,"hc": 0.42 // http://www.isabellenhuette.de/uploads/media/RESISTHERM_01.pdf
        ,"dens": 8.5 // http://www.isabellenhuette.de/uploads/media/RESISTHERM_01.pdf
        ,"tcr": 0.0032 //it is for 0-100°C only!
        ,"tfr": [
                [-100,0.768]
                ,[20,1]
                ,[100,1.2424]
                ,[150,1.4043]
                ,[200,1.5758]
                ,[250,1.7551]
                ,[300,1.9394]
                ,[500,2.697]

    },{
        "id": "ss304"// http://dtic.mil/dtic/tr/fulltext/u2/a129160.pdf
        ,"nm": "SS 304"
        ,"rstv": 0.713 // http://dtic.mil/dtic/tr/fulltext/u2/a129160.pdf
        ,"hc": 0.5//dunno and too lazy to check, sorry
        ,"dens": 8//dunno and too lazy to check, sorry
        ,"tfr": [
                [-100,0.8412]
                ,[20,1]
                ,[100,1.0909]
                ,[150,1.1426]
                ,[200,1.1917]
                ,[250,1.2388]
                ,[300,1.2844]
                ,[500,1.4445]
                ]
   
    },{
        "id": "ss316"//I have 316 only, source: http://dtic.mil/dtic/tr/fulltext/u2/a129160.pdf
        ,"nm": "SS 316"
        ,"rstv": 0.771 // http://dtic.mil/dtic/tr/fulltext/u2/a129160.pdf
        ,"hc": 0.5//dunno and too lazy to check, sorry
        ,"dens": 8//dunno and too lazy to check, sorry
        ,"tfr": [
                [-100,0.8646]
                ,[20,1]
                ,[100,1.0795]
                ,[150,1.1258]
                ,[200,1.1678]
                ,[250,1.2075]
                ,[300,1.2463]
                ,[500,1.3844]
                ]
   
    },{
        "id": "ti1" //I use speciment #2a from here: http://lib.dr.iastate.edu/cgi/viewcontent.cgi?article=1049&context=ameslab_iscreports
        ,"nm": "Titanium 1"
        ,"rstv": 0.517 //Ti Gr1 has a resistance of 0.5-0.55 as per the standard. That is why I use speciment #2a
        ,"hc": 0.523//dunno and too lazy to check, sorry
        ,"dens": 4.43//dunno and too lazy to check, sorry
        ,"tfr": [
                [-100,0.68]
                ,[20,1]
                ,[100,1.2826]
                ,[150,1.4589]
                ,[200,1.6351]
                ,[250,1.8111]
                ,[300,1.9868]
                ,[500,2.6108]
                ]   
    }
]



]
Notes:
  • I have only used data from traceable source provided by manufacturers/researchers and indexed accordingly.
  • Consequently, I have only listed materials that I have data about. (e.g. I have no S/S316L data but I have S/S 316 data)
  • Most of the values I have listed are either referring directly to source numbers or the result of a simple calculation. (e.g. for Ni200 I have resistance data for different temperature and calculated TFR by simply dividing R(Temp) by R(20°C). Green Highlight in the table below.
  • Where there was no available data for given temp then a result of an approximative function based on input data was used and Highlighted Blue. No nearest value was used (e.g. value listed for 403°C was not used for 400°C, etc)
  • I have also omitted materials with resistance lower than that of Ni200 mainly because of laziness:)
  • Materials with near zero TCR are omitted too. Nichrome due to the laziness, Kanthal D, A1 etc because IMO it has no measurable significance in case of mixed aka hybrid aka composite coils. (see below)
  • I will add S/S317 later:)


I have checked your Clapton wires and it shows quite a difference compare to my own little calculations listed on the last tab on the table above. (I don’t use Evolv’s Ni data but Specialmetals’) I don’t know how you calculated Claptons but I considered them simply as parallel resistances of different length. E.g a tightly wrapped 26/32 is a parallel resistance where the length of the wrapping wire is ~6.3 times that of the core wire.

Funnily enough, if I check parallel coils then the difference is marginal.

Even more surprising that you have higher temperature resistivity for a parallel A1/Ni200 of same gauge than a Clapton made of the same wire (and A1 is the core) although the Clapton should have significantly higher resistance change until Ni’s resistance is closing on A1’s one, for the changing resistance part is higher compare to a same length parallel as per follows:

A1, 30ga, R(20C/68F)=R(100C/212F)=0.02847 ohm/mm (by Steamengine:) )

Ni200, 30ga, R(20C/68F)=0.00189 ohm/mm (by Steamengine:) )

Ni200, 30ga, R(100C/212F)=0.00189*1.3485979843= 0.00254885019 ohm/mm (by Steamengine:) )

Parallel wire (e.g. 30/30 lightly twisted):

L(A1)=L(Ni200)=1mm/coil mm (for the sake of clarity. In fact it is a bit higher but does not matter)

R(Paralell, 20C/68F)= 1/(1/(1*0.02847)+1/(1*0.00189))=0.001772341897 ohm/mm

R(Paralell, 100C/212F)= 1/(1/(1*0.02847)+1/(1*0.00254885019))=0.002339408601 ohm/mm

TFR(Parallel, 100C/212F)=0.002339408601/0.001772341897=1.319953337 which is basically equals your 1.3200349709 for paralel.


Clapton wire:

L(A1)=1*L(Clapton) for being the core wire

L(Ni200)>>L(Clapton) for it is wrapped around a 30ga ‘mandrel’ a few times for each core (mandrel) mm.

For sake of simplicity* I calculate now with 3 wraps/Clapton mm and length measured on the core means:

0.255*PI*3=~2.4mm/coil mm.

Then:

R(Clapton 20C/68F)= 1/(1/(1*0.02847)+1/(2.4*0.00189))=0.003915572215 ohm/mm (reasonable. Hybrid Claptons have relatively high resistance compared to twisted)

R(Clapton, 100C/212F)= 1/(1/(1*0.02847)+1/(2.4*0.00254885019))=0.00503894645 ohm/mm

TFR(Clapton, 100C/212F)=0.003915572215/0.00503894645=1.286899123 which is reasonable too but pretty far from your 1.195 and is getting worse as the temperature elevates.
Even either neutral axis or outer diameter would give higher TFR than the wizard:
neutral axis: L wrap =3.6*LClapton -> TFR(Clapton, 100C/212F)=1.263573956
outer dia: L wrap =4.8*LClapton -> TFR(Clapton, 100C/212F)=1.243756337
And worst case scenario: contact coil everywhere -> 3.92 wraps/mm, wire length calculated on outer diameter as sqrt((0.255*2*Pi)^2+0.255^2)*3.92 = 6.36mm/Clapton mm means:
TFR(Clapton, 100C/212F)=1.222133629

My only question is whether you have some bug in the algorithm or my reasoning is wrong.
 
Last edited:

TheBloke

Ultra Member
Verified Member
Mar 30, 2015
2,800
3,549
44
Brighton, UK
@Dampmaskin , amazing work on the Wire Wizard! Love it!

Two requests:
  1. Could you add Kanthal NiFe70 and Kanthal NiFe52. @vapealone has the figures in his spreadsheet.
    1. NiFe70 is available for purchase at ZiVipf (listed as NiFe30), and he will have NiFe52 in stock in a week or two.
    2. We are also told that a US vape vendor will soon be selling NiFe52. So I think these wires are going to become big, and soon.
  2. Regarding this:
The Wire Wizard now allows you to use a mixed coil, or a TC coil other than Ni200, on your Ni200 only mod.

Set up your build, click the "Ni200 equiv." tab next to the chart on the upper right, and enter a value from one of the "Ni200 equiv." rows into your TC mod.

I think users should be aware that the figures given are only accurate to use as offsets on the DNA 40. All other mods/chps, at least in my experience so far, require a lower offset because they don't implement the full Ni200 curve. For example, where with Titanium we set 187°C (185°C) on a DNA 40 to achieve 250°C, on a Yihi chip it will be around 150°C.

So my suggestion would be to consider adding a *note about this, telling users that they can use this chart for offset on a DNA 40 but not on other mods.

Or ideally, adding a second set of figures that applies for other mods that use a single TCR of around 0.006. I can give you exact temp tested numbers for the Yihi chip and other mods if that helps, as each chip could use a slightly different TCR.

Thanks again for the amazing site!
 
Last edited:

Dampmaskin

Ultra Member
ECF Veteran
Verified Member
Jan 28, 2014
1,042
1,157
Norway
www.steam-engine.org
Ok, first of all, big tanks to vapealone for the data.

Regarding the clapton, for the geometry I use the same formula as I use for the coil in the Coil calculator (I think). Outer diameter, 2πr (if you don't factor in the radius, maybe that explains the difference?) , Pythagoras for factoring in the helix pitch. The inner wire will normally make almost all the heat; despite of this fact the calculator assumes that the whole coil always has the same temperature.

Big news(?): I've put the preset files for materials, batteries and mods on GitHub. Those who want to suggest modifications or additions, can suggest changes directly in the files here.
 
  • Like
Reactions: vapealone

WileE

Full Member
Aug 12, 2015
65
146
USA east coast
@Dampmaskin - I think there is a bug in the wire wizard clapton calculator. The issue is that when you switch from single wire to clapton using same core wire as the single and with same build id, wraps, ga etc the resistance is higher for the clapton then it is for the single wire?? this is not possible. I've been playing around trying to figure out what is going wrong and I noticed if you toggle the wrap wire gauge down the resistance will climb to a peek at around 20ga and then start going down below that?? But now I've noticed it is a bug affecting the wire length that's causing the problems. Here are 2 screen shots with the same build dimensions one is single then second is clapton & wire length is different by 13mm for no apparent reason, but that throws the resistance way off.
SE clapton resistance bug single wire.png
SE clapton resistance bug hybrid.png
 
Status
Not open for further replies.

Users who are viewing this thread