working gas simulations

This commit is contained in:
Benoît Sierro
2021-10-11 09:16:31 +02:00
parent fb880077ed
commit b3dbec1553
5 changed files with 22 additions and 4 deletions

View File

@@ -12,7 +12,7 @@ from .plotting import (
transform_mean_values,
get_extent,
)
from .spectra import Pulse, Spectrum, SimulationSeries
from .spectra import Spectrum, SimulationSeries
from ._utils import Paths, open_config, parameter
from ._utils.parameter import Configuration, Parameters
from ._utils.utils import PlotRange

View File

@@ -1094,6 +1094,7 @@ default_rules: list[Rule] = [
priorities=[2, 2, 2],
),
Rule("hr_w", fiber.delayed_raman_w),
Rule("n_gas_2", materials.n_gas_2),
Rule("n_eff", fiber.n_eff_hasan, conditions=dict(model="hasan")),
Rule("n_eff", fiber.n_eff_marcatili, conditions=dict(model="marcatili")),
Rule("n_eff", fiber.n_eff_marcatili_adjusted, conditions=dict(model="marcatili_adjusted")),
@@ -1109,6 +1110,7 @@ default_rules: list[Rule] = [
Rule("A_eff", fiber.A_eff_from_diam),
Rule("A_eff", fiber.A_eff_hasan, conditions=dict(model="hasan")),
Rule("A_eff", fiber.A_eff_from_gamma, priorities=-1),
Rule("A_eff", fiber.A_eff_marcatili, priorities=-2),
Rule("A_eff_arr", fiber.A_eff_from_V, ["core_radius", "V_eff_arr"]),
Rule("A_eff_arr", fiber.load_custom_A_eff),
Rule("A_eff_arr", fiber.constant_A_eff_arr, priorities=-1),

View File

@@ -192,6 +192,22 @@ def n_eff_marcatili_adjusted(wl_for_disp, n_gas_2, core_radius, he_mode=(1, 1),
return np.sqrt(n_gas_2 - (wl_for_disp * u / (pipi * corrected_radius)) ** 2)
def A_eff_marcatili(core_radius: float) -> float:
"""Effective mode-field area for fundamental mode hollow capillaries
Parameters
----------
core_radius : float
radius of the core
Returns
-------
float
effective mode field area
"""
return 1.5 * core_radius ** 2
@np_cache
def n_eff_hasan(
wl_for_disp: np.ndarray,

View File

@@ -10,9 +10,9 @@ from .units import NA, c, kB, me, e, hbar
def n_gas_2(
wl_for_disp: np.ndarray, gas: str, pressure: float, temperature: float, ideal_gas: bool
wl_for_disp: np.ndarray, gas_name: str, pressure: float, temperature: float, ideal_gas: bool
):
material_dico = utils.load_material_dico(gas)
material_dico = _utils.load_material_dico(gas_name)
if ideal_gas:
n_gas_2 = sellmeier(wl_for_disp, material_dico, pressure, temperature) + 1

View File

@@ -11,7 +11,7 @@ from .. import env, math
from ..const import PARAM_FN, PARAM_SEPARATOR
from ..physics import fiber, units
from ..plotting import plot_setup
from ..spectra import Pulse, SimulationSeries
from ..spectra import SimulationSeries
from .._utils import auto_crop, open_config, save_toml, translate_parameters
from .._utils.parameter import (
Configuration,