2.4. Landau effective mass (micro)#
In this tutorial, you will learn how to extract the Landau effective mass from the microscopic models in the toolkit.
Import the libraries that will be employed in this tutorial.
# Import numpy
import numpy as np
# Import matplotlib
import matplotlib.pyplot as plt
# Import nucleardatapy package
import nucleardatapy as nuda
You can simply print out the properties of the nuda’s function that we will use:
# Explore the nucleardatapy module to find the correct attribute
print(dir(nuda.matter.setupMicroEffmass))
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'init_self', 'print_outputs']
Get the full list of models ( matter
can be ‘NM’ (default) or ‘SM’ ) :
models, models_lower, models_all, models_all_lower = nuda.matter.micro_effmass_models( matter = 'NM' )
print('models:',models)
models: ['2008-BCS-NM', '2017-MBPT-NM-GAP-EMG-450-500-N2LO', '2017-MBPT-NM-GAP-EMG-450-500-N3LO', '2017-MBPT-NM-GAP-EMG-450-700-N2LO', '2017-MBPT-NM-GAP-EMG-450-700-N3LO', '2017-MBPT-NM-GAP-EM-500-N2LO', '2017-MBPT-NM-GAP-EM-500-N3LO', '2022-AFDMC-NM']
Fix one model for which we want to extract the data:
model = '2008-BCS-NM'
Instantiate the object ms
with the effective mass:
ms = nuda.matter.setupMicroEffmass( model = model )
ms.print_outputs()
-> model: 2008-BCS-NM
- Print output:
model: 2008-BCS-NM
ref: A. Fabrocini, S. Fantoni, A.Y. Illarionov, and K.E. Schmidt, Nuc. Phys. A 803, 137 (2008)
note:
label: BCS-2008
marker: o
every: 1
nm_den: [0. 0. 0.001 0.002 0.004 0.007 0.012 0.017 0.025 0.034 0.045 0.058
0.074] in fm$^{-3}$
nm_kfn: [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3] in fm$^{-1}$
nm_effmass: [0.999 0.996 0.99 0.981 0.971 0.959 0.945 0.93 0.912 0.893 0.872 0.85
0.827]
Fix a list of params instead of a unique one
models, models_lower, models_all, models_all_lower = nuda.matter.micro_effmass_models( matter = 'NM' )
print('models:',models)
for model in models:
print('model:',model)
ms = nuda.matter.setupMicroEffmass( model = model )
models: ['2008-BCS-NM', '2017-MBPT-NM-GAP-EMG-450-500-N2LO', '2017-MBPT-NM-GAP-EMG-450-500-N3LO', '2017-MBPT-NM-GAP-EMG-450-700-N2LO', '2017-MBPT-NM-GAP-EMG-450-700-N3LO', '2017-MBPT-NM-GAP-EM-500-N2LO', '2017-MBPT-NM-GAP-EM-500-N3LO', '2022-AFDMC-NM']
model: 2008-BCS-NM
-> model: 2008-BCS-NM
model: 2017-MBPT-NM-GAP-EMG-450-500-N2LO
-> model: 2017-MBPT-NM-GAP-EMG-450-500-N2LO
model: 2017-MBPT-NM-GAP-EMG-450-500-N3LO
-> model: 2017-MBPT-NM-GAP-EMG-450-500-N3LO
model: 2017-MBPT-NM-GAP-EMG-450-700-N2LO
-> model: 2017-MBPT-NM-GAP-EMG-450-700-N2LO
model: 2017-MBPT-NM-GAP-EMG-450-700-N3LO
-> model: 2017-MBPT-NM-GAP-EMG-450-700-N3LO
model: 2017-MBPT-NM-GAP-EM-500-N2LO
-> model: 2017-MBPT-NM-GAP-EM-500-N2LO
model: 2017-MBPT-NM-GAP-EM-500-N3LO
-> model: 2017-MBPT-NM-GAP-EM-500-N3LO
model: 2022-AFDMC-NM
-> model: 2022-AFDMC-NM
plot effective mass in NM:
nuda.fig.matter_setupMicro_effmass_fig( None, models, matter = 'NM' )
Plot name: None
models: ['2008-BCS-NM', '2017-MBPT-NM-GAP-EMG-450-500-N2LO', '2017-MBPT-NM-GAP-EMG-450-500-N3LO', '2017-MBPT-NM-GAP-EMG-450-700-N2LO', '2017-MBPT-NM-GAP-EMG-450-700-N3LO', '2017-MBPT-NM-GAP-EM-500-N2LO', '2017-MBPT-NM-GAP-EM-500-N3LO', '2022-AFDMC-NM']
matter: NM
-> model: 2008-BCS-NM
-> model: 2017-MBPT-NM-GAP-EMG-450-500-N2LO
-> model: 2017-MBPT-NM-GAP-EMG-450-500-N3LO
-> model: 2017-MBPT-NM-GAP-EMG-450-700-N2LO
-> model: 2017-MBPT-NM-GAP-EMG-450-700-N3LO
-> model: 2017-MBPT-NM-GAP-EM-500-N2LO
-> model: 2017-MBPT-NM-GAP-EM-500-N3LO
-> model: 2022-AFDMC-NM