material module
This file defines the Material class and Alloy class with material datas for III/V semiconductor electron band. The module contains:
Material class;
Alloy class (inherited from Material class);
MParam dictionary, which stores constants for different materials
AParam dictionary, which stores constants for different alloys
- class ErwinJr2.material.Alloy(name, x, temp=300)
Bases:
MaterialAn alloy of material with Mole fraction x
- Parameters:
Name – Name of the alloy
x (
float) – The first composition’s Mole fraction defined in AParamTemperature – Temperature of the alloy
- set_molefrac(x)
Update parameters of the alloy with Mole fraction x
- Parameters:
x (
float) – The first composition’s Mole fraction defined in AParam- Yields:
param (dict) – stores the parameter of the alloy
- set_temperature(temp)
Set temperature of the alloy and update related parameters, lattice consant and band gap, by updating the temperature of the materials in the alloy
- Yields:
T (int) – Updated temperature
- class ErwinJr2.material.Material(name, temp=300)
Bases:
objectA semiconductor material class that stores material parameters
- Parameters:
Name – Name of material
Temperature – Temperature of the material
- set_strain(a_parallel)
Update parameters’ dependence on strain, according to Pikus-Bir interaction.
- Parameters:
a_parallel (
float) – lattice constant of the substrate- Yields:
eps_parallel (float) – Strain tensor within/parallel to the layer plane
a_perp (float) – Lattice const. perpendicular to the layer plane
eps_perp (float) – Strain tensor perpendicular to the layer plane
param (dict) – Update parameters’ dependence on strain
- set_temperature(temp)
Set temperature of the material and update related parameters: lattice constant and band gap.
- Yields:
T (float) – Updated temperature
param (dict) – lattice constant and band gap in this dictionary are updated
- ErwinJr2.material.MParm
A Python dict for material parameters
- ErwinJr2.material.AParm
A Python dict for alloy parameters