Correct barrier suppression logic + new mbar unit
This commit is contained in:
@@ -270,7 +270,36 @@ class Gas:
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def ionic_charge(self):
|
def ionic_charge(self):
|
||||||
return self.atomic_number - 1
|
return 1
|
||||||
|
|
||||||
|
@property
|
||||||
|
def barrier_suppression(self) -> float:
|
||||||
|
"""
|
||||||
|
Compute the barrier suppression threshold (W/m^2)
|
||||||
|
"""
|
||||||
|
field_max = self.barrier_suppression_field
|
||||||
|
return 0.5 * units.c * units.epsilon0 * field_max**2
|
||||||
|
|
||||||
|
@property
|
||||||
|
def barrier_suppression_field(self) -> float:
|
||||||
|
"""
|
||||||
|
Barrier suppression threshold electric field
|
||||||
|
|
||||||
|
Reference
|
||||||
|
---------
|
||||||
|
[1] KRAINOV, V. P. Theory of barrier-suppression ionization of atoms. Journal of Nonlinear
|
||||||
|
Optical Physics & Materials, 1995, vol. 4, no 04, p. 775-798.
|
||||||
|
[2] BETHE, H. A. et SALPETER, E. E. Quantum mechanics of one-and two-electron atoms. 1977.
|
||||||
|
"""
|
||||||
|
# from [1-2] :
|
||||||
|
# field_max = 0.0625 / self.ionic_charge * (self.ionization_energy / 2.1787e-18) ** 2
|
||||||
|
# return field_max = 5.14220670712125e11
|
||||||
|
|
||||||
|
# from [3] :
|
||||||
|
Z = self.ionic_charge
|
||||||
|
Ip_au = self.ionization_energy / 4.359744650021498e-18
|
||||||
|
ns = Z / np.sqrt(2 * Ip_au)
|
||||||
|
return Z**3 / (16 * ns**4) * 5.14220670712125e11
|
||||||
|
|
||||||
def get(self, key, default=None):
|
def get(self, key, default=None):
|
||||||
return self.mat_dico.get(key, default)
|
return self.mat_dico.get(key, default)
|
||||||
|
|||||||
@@ -254,6 +254,13 @@ def bar(p: _T) -> _T:
|
|||||||
def bar_inv(p):
|
def bar_inv(p):
|
||||||
return p * 1e-5
|
return p * 1e-5
|
||||||
|
|
||||||
|
@unit("PRESSURE", "Pressure (mbar)")
|
||||||
|
def mbar(p: _T)->_T:
|
||||||
|
return 1e2 * p
|
||||||
|
|
||||||
|
@mbar.inverse
|
||||||
|
def mbar_inv(p):
|
||||||
|
return 1e-2 * p
|
||||||
|
|
||||||
@unit("OTHER", r"$\beta_2$ (fs$^2$/cm)")
|
@unit("OTHER", r"$\beta_2$ (fs$^2$/cm)")
|
||||||
def beta2_fs_cm(b2: _T) -> _T:
|
def beta2_fs_cm(b2: _T) -> _T:
|
||||||
|
|||||||
Reference in New Issue
Block a user