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);

  • MParm dictionary, which stores constants for different materials

  • AParm dictionary, which stores constants for different alloys

class Material.Alloy(Name, x, Temperature=300)

Bases: Material.Material

An alloy of material with Mole fraction x

Parameters
  • Name (str) – Name of the alloy

  • x (float) – The first composition’s Mole fraction defined in AParm

  • Temperature (int) – 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 AParm

Yields

parm (dict) – stores the parameter of the alloy

set_temperature(Temperature)

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 Material.Material(Name, Temperature=300)

Bases: object

A semiconductor material class that stores material parameters

Parameters
  • Name (str) – Name of material

  • Temperature (int) – 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

  • parm (dict) – Update parameters’ dependence on strain

set_temperature(Temperature)

Set temperature of the material and update related parameters: lattice consant and band gap.

Yields
  • T (int) – Updated temperature

  • parm (dict) – lattice constant and band gap in this dictionary are updated