Changeset 367:e1a3480589f2


Ignore:
Timestamp:
Apr 14, 2016, 2:41:03 PM (8 years ago)
Author:
Evgeny Stambulchik <Evgeny.Stambulchik@…>
Branch:
default
Phase:
public
Message:

Implemented rotational Stark broadening for Delta-n=1 transitions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/class/pf/Plasma.js

    r364 r367  
    8383        getQsHwhm: function(s)
    8484        {
    85             var n_u = this.r.getN_u();
    86             var n_l = this.r.getN_l();
    87 
    8885            var ppi = this.getPpiFactor(s);
    8986            var rpi = this.getRpiFactor(s);
     
    9188            // 1.4385 is S_1 HWHM
    9289            var hwhm = 1.4385*this.getDelta0(s)*ppi*rpi;
    93            
    94             // rude correction for alpha lines
    95             if (n_u - n_l == 1) {
    96                 hwhm /= 2;
    97             }
    9890           
    9991            return hwhm;
     
    134126        getStarkHwhm: function(s)
    135127        {
     128            var n_u = this.r.getN_u();
     129            var n_l = this.r.getN_l();
     130
    136131            var w_qs = this.getQsHwhm(s);
    137             var f  = this.getStarkQuasistaticity(s);
    138            
    139             return f*w_qs;
     132           
     133            // "rotational" model for delta-n = 1 and QC for anything else
     134            if (n_u - n_l == 1) {
     135                var R = this.getStarkRatio(s);
     136                if (R != 0) {
     137                    return w_qs/(2.0/R + R/1.2);
     138                } else {
     139                    return 0;
     140                }
     141            } else {
     142                var f = this.getStarkQuasistaticity(s);
     143
     144                return f*w_qs;
     145            }
     146           
    140147        },
    141148       
    142149        getTotalStarkHwhm: function()
    143150        {
     151            var n_u = this.r.getN_u();
     152            var n_l = this.r.getN_l();
     153
    144154            var w = 0;
    145155           
     
    149159                var w_s = this.getStarkHwhm(s);
    150160
    151                 w += Math.pow(w_s, 3/2);
    152             }
    153            
    154             return Math.pow(w, 2/3);
     161                if (n_u - n_l == 1) {
     162                    w += w_s;
     163                } else {
     164                    w += Math.pow(w_s, 3/2);
     165                }
     166            }
     167           
     168            if (n_u - n_l == 1) {
     169                return w;
     170            } else {
     171                return Math.pow(w, 2/3);
     172            }
    155173        },
    156174       
Note: See TracChangeset for help on using the changeset viewer.