hyperfine.musr.meissner.DepthAveragingCalculatorNL
- class hyperfine.musr.meissner.DepthAveragingCalculatorNL(file_name: str, interpolation: str = 'linear')[source]
Bases:
DepthAveragingCalculatorCalculator for convolving a Meissner screening profile with a muon stopping distribution.
Class for handling the details required for calculating the mean magnetic field at a given muon implantation energy by convolving a Meissner screening profile with the corresponding stopping distribution.
This instance assumes nonlocal electrodynamics for the screening profile.
- __init__(file_name: str, interpolation: str = 'linear') None[source]
Constructor.
- Parameters:
file_name – Name of the CSV containing the stopping profile coefficients.
interpolation – Type of interpolation scheme used for the stopping profile coefficients.
Methods
__init__(file_name[, interpolation])Constructor.
calculate_mean_depth(energy_keV)Calculate the mean muon stopping depth for a given implantation energy.
calculate_mean_field(energy_keV, ...)Calculate average magnetic field at a given implantation energy.
london_ms(z, applied_field_G, dead_layer_nm, ...)London model for the Meissner screening profile.
mean_field_integrand(z, energy_keV, ...)Integrand for calculating the mean magnetic field at a given implantation energy.
pippard_ms(depth_nm, applied_field_G, ...)Pippard's nonlocal screening model.
stopping_distribution(depth_nm, energy_keV)Probability density function for the muon stopping distribution.
- __call__(energy_keV: Sequence[float], applied_field_G: Annotated[float, slice(0, None, None)], dead_layer_nm: Annotated[float, slice(0, None, None)], london_penetration_depth_nm: Annotated[float, slice(0, None, None)], bcs_coherence_length_nm: Annotated[float, slice(0, None, None)], mean_free_path_nm: Annotated[float, slice(0, None, None)], demagnetization_factor: Annotated[float, slice(0, 1, None)], temperature_K: Annotated[float, slice(0, None, None)], critical_temperature_K: Annotated[float, slice(0, None, None)], gap_0K_eV: Annotated[float, slice(0, None, None)]) Sequence[float][source]
Calculate average magnetic field at a given implantation energy.
Functor version!
- Parameters:
energy_keV – Implantation energy (keV).
applied_field_G – Applied magnetic field (G).
dead_layer_nm – Non-superconducting dead layer (nm).
london_penetration_depth_nm – London penetration depth (nm).
bcs_coherence_length_nm – BCS coherence length (nm).
mean_free_path_nm – Electron mean-free-path (nm).
demagnetization_factor – Effective demagnetization factor.
temperature_K – Absolute temperature (K).
critical_temperature_K – Superconducting transition temperature (K).
gap_0K_eV – Superconducting gap energy at 0 K (eV).
- Returns:
The average magnetic field at a given implantation energy.
- __init__(file_name: str, interpolation: str = 'linear') None[source]
Constructor.
- Parameters:
file_name – Name of the CSV containing the stopping profile coefficients.
interpolation – Type of interpolation scheme used for the stopping profile coefficients.
- _london(z: Sequence[float], applied_field_G: Annotated[float, slice(0, None, None)], dead_layer_nm: Annotated[float, slice(0, None, None)], penetration_depth_nm: Annotated[float, slice(0, None, None)], demagnetization_factor: Annotated[float, slice(0, 1, None)] = 0.0) Sequence[float]
London model for the Meissner screening profile.
- Parameters:
z – Depth below the surface (nm).
applied_field_G – Applied magnetic field (G).
dead_layer_nm – Thickness of the non-superconducting dead layer (nm).
penetration_depth_nm – Effective magnetic penetration depth (nm).
demagnetization_factor – Effective demagnetization factor.
- Returns:
The magnetic field value at depth z below the surface (G).
- calculate_mean_depth(energy_keV: Annotated[float, slice(0, None, None)]) float
Calculate the mean muon stopping depth for a given implantation energy.
The stopping distribution is assumed to follow a weighted sum of two modified beta distributions.
- Parameters:
energy_keV – Muon implantation energy (keV).
- Returns:
The mean stopping depth (nm).
- calculate_mean_field(energy_keV: float, applied_field_G: Annotated[float, slice(0, None, None)], dead_layer_nm: Annotated[float, slice(0, None, None)], london_penetration_depth_nm: Annotated[float, slice(0, None, None)], bcs_coherence_length_nm: Annotated[float, slice(0, None, None)], mean_free_path_nm: Annotated[float, slice(0, None, None)], demagnetization_factor: Annotated[float, slice(0, 1, None)], temperature_K: Annotated[float, slice(0, None, None)], critical_temperature_K: Annotated[float, slice(0, None, None)], gap_0K_eV: Annotated[float, slice(0, None, None)]) float[source]
Calculate average magnetic field at a given implantation energy.
- Parameters:
energy_keV – Implantation energy (keV).
applied_field_G – Applied magnetic field (G).
dead_layer_nm – Non-superconducting dead layer (nm).
london_penetration_depth_nm – London penetration depth (nm).
bcs_coherence_length_nm – BCS coherence length (nm).
mean_free_path_nm – Electron mean-free-path (nm).
demagnetization_factor – Effective demagnetization factor.
temperature_K – Absolute temperature (K).
critical_temperature_K – Superconducting transition temperature (K).
gap_0K_eV – Superconducting gap energy at 0 K (eV).
- Returns:
The average magnetic field at a given implantation energy (G).
- london_ms(z: Sequence[float], applied_field_G: Annotated[float, slice(0, None, None)], dead_layer_nm: Annotated[float, slice(0, None, None)], penetration_depth_nm: Annotated[float, slice(0, None, None)], demagnetization_factor: Annotated[float, slice(0, 1, None)] = 0.0) Sequence[float]
London model for the Meissner screening profile.
- Parameters:
z – Depth below the surface (nm).
applied_field_G – Applied magnetic field (G).
dead_layer_nm – Thickness of the non-superconducting dead layer (nm).
penetration_depth_nm – Effective magnetic penetration depth (nm).
demagnetization_factor – Effective demagnetization factor.
- Returns:
The magnetic field value at depth z below the surface (G).
- mean_field_integrand(z: float, energy_keV: float, applied_field_G: Annotated[float, slice(0, None, None)], dead_layer_nm: Annotated[float, slice(0, None, None)], london_penetration_depth_nm: Annotated[float, slice(0, None, None)], bcs_coherence_length_nm: Annotated[float, slice(0, None, None)], mean_free_path_nm: Annotated[float, slice(0, None, None)], demagnetization_factor: Annotated[float, slice(0, 1, None)], temperature_K: Annotated[float, slice(0, None, None)], critical_temperature_K: Annotated[float, slice(0, None, None)], gap_0K_eV: Annotated[float, slice(0, None, None)]) float[source]
Integrand for calculating the mean magnetic field at a given implantation energy.
- Parameters:
z – Depth (nm).
energy_keV – Implantation energy (keV).
applied_field_G – Applied magnetic field (G).
dead_layer_nm – Non-superconducting dead layer (nm).
london_penetration_depth_nm – London penetration depth (nm).
bcs_coherence_length_nm – BCS coherence length (nm).
mean_free_path_nm – Electron mean-free-path (nm).
demagnetization_factor – Effective demagnetization factor.
temperature_K – Absolute temperature (K).
critical_temperature_K – Superconducting transition temperature (K).
gap_0K_eV – Superconducting gap energy at 0 K (eV).
- Returns:
Integrand for the average magnetic field at a given implantation energy (G).
- pippard_ms(depth_nm: float, applied_field_G: Annotated[float, slice(0, None, None)], dead_layer_nm: Annotated[float, slice(0, None, None)], london_penetration_depth_nm: Annotated[float, slice(0, None, None)], bcs_coherence_length_nm: Annotated[float, slice(0, None, None)], mean_free_path_nm: Annotated[float, slice(0, None, None)], demagnetization_factor: Annotated[float, slice(0, 1, None)], temperature_K: Annotated[float, slice(0, None, None)], critical_temperature_K: Annotated[float, slice(0, None, None)], gap_0K_eV: Annotated[float, slice(0, None, None)]) float[source]
Pippard’s nonlocal screening model.
Assumes specular reflection of electrons at the surface.
- Parameters:
depth_nm – Depth (nm).
applied_field_G – Applied magnetic field (G).
dead_layer_nm – Non-superconducting dead layer (nm).
london_penetration_depth_nm – London penetration depth (nm).
bcs_coherence_length_nm – BCS coherence length (nm).
mean_free_path_nm – Electron mean-free-path (nm).
demagnetization_factor – Effective demagnetization factor.
temperature_K – Absolute temperature (K).
critical_temperature_K – Superconducting transition temperature (K).
gap_0K_eV – Superconducting gap energy at 0 K (eV).
- Returns:
The field screening profile at a given depth (G).
- stopping_distribution(depth_nm: Sequence[float], energy_keV: Annotated[float, slice(0, None, None)]) Sequence[float]
Probability density function for the muon stopping distribution.
The distribution is assumed to follow a weighted sum of two modified beta distributions.
- Parameters:
depth_nm – Depth below the surface (nm).
energy_keV – Muon implantation energy (keV).
- Returns:
The probability density at depth_nm.