nextnano.com
==> nextnano Documentation (New)

nextnano++ software

     

Up
mobility_constant
mobility_minimos
mobility_masetti
mobility_arora
mobility_simba
recombination

Database for zincblende and diamond-type materials (cubic crystal structure)

=> ../Syntax/database_nnp.in

Group IV, III-V, II-VI, I-VII  materials
 

binary_zb {
 name    = GaAs                #
material name, e.g. Si, GaAs, InP, ...
 valence = III_V               # IV_IV
for group IV materials (like Si, Ge, SiC, ...)
                               # III_V for III-V materials (like GaAs, AlP, ...)
                               # II_VI for II-VI materials (like ZnO, HgTe, ...)
                               # I_VII for I-VII materials (like CuCl, ...)

 lattice_consts{
  a           = 5.65325        # [Angstrom]  
lattice constant at 300 K
                               #
In a cubic crystal system (like diamond and zincblende), the lattice constants in all three crystal axes are equal.
  a_expansion = 3.88e-5        # [Angstrom/K] The lattice constants are temperature dependent => a(T).
                               # The lattice constant a in the database should be given for 300 K.
                               # For all other temperatures, the lattice constant is calculated by the following formula
                               # where T is the temperatue in units of [K]:
                               # a(T) = a(300 K) + a_expansion * (T - 300 K)
                               #
The lattice constants are needed for the calculation of the strain.
 }

 dielectric_consts{
  static_a  = 12.93            # [-]
static or low frequency (epsilon(omega=0)) dielectric constant
  optical_a = 10.10            # [-]
The optical dielectric constant is currently not in use but maybe it is necessary in the future for laser calculations.
                               #
In a cubic crystal system (like diamond and zincblende), the dielectric constants in all three crystal axes are equal.
                               # The static dielectric constant enters the Poisson equation.
                               # It is also needed to calculate the optical absorption and enters the equation for the exciton correction.
 }

 elastic_consts{
  c11 = 122.1                  # [GPa]
elastic constants
  c12 = 56.6                   #
1 * 1011 dyn/cm2 = 10 GPa  ->  12.21 * 1011 dyn/cm2 = 122.1 GPa
  c44 = 60.0                   #
The elastic constants are needed for the calculation of the strain in heterostructures.
 }

 piezoelectric_consts{
  e14 = -0.160                 # [C/m2]
piezoelectric constants
                               #
For silicon and germanium there is no piezoelectric effect at all, thus the constants are zero in this case.
                               #
If strain is present, then generally piezoelectric charges and thus piezoelectric fields arise.

  B114 = -0.439                # [C/m2] 2nd order piezoelectric constant (optional)
  B124 = -3.765                # [C/m2] 2nd order piezoelectric constant (optional)
  B156 = -0.492                # [C/m2] 2nd order piezoelectric constant (optional)
 }

 conduction_bands{
  Gamma{                       #
material parameters for the conduction band valley at the Gamma point of the Brillouin zone
   mass            = 0.067     # [m0]  
electron effective mass (isotropic, parabolic)
                               #
This mass is used for the single-band Schrödinger equation and for the calculation of the densities.

   bandgap         = 1.519     # [eV]  
band gap energy at 0 K
   bandgap_alpha   = 0.5405e-3 # [eV/K]
Varshni parameter alpha for temperature dependent band gap
   bandgap_beta    = 204       # [K]   
Varshni parameter beta  for temperature dependent band gap

   defpot_absolute = -9.36     # [eV]  
absolute deformation potential of the Gamma conduction band: ac,Gamma = av + agap,Gamma

   g               = -0.30     # []    
g factor (for Zeeman splitting in magnetic fields)
  }
  L{                           #
material parameters for the conduction band valley at the L point of the Brillouin zone
   mass_l          = 1.9       # [m0]  
longitudinal electron effective mass (parabolic)
   mass_t          = 0.0754    # [m0]  
transversal electron effective mass (parabolic)
                               #
These masses are used for the single-band Schrödinger equation and for the calculation of the densities.

   bandgap         = 1.815     # [eV]  
band gap energy at 0 K
   bandgap_alpha   = 0.605e-3  # [eV/K]
Varshni parameter alpha for temperature dependent band gap
   bandgap_beta    = 204       # [K]   
Varshni parameter beta  for temperature dependent band gap

   defpot_absolute = -4.91     # [eV]  
absolute deformation potential of the L conduction band: ac,L = av + agap,L
   defpot_uniaxial = 6.5       # [eV]  
uniaxial  deformation potential of the L conduction band

   g_l             = 0         # []    
longitudinal g factor (for Zeeman splitting in magnetic fields)
   g_t             = 0         # []    
transversal g factor (for Zeeman splitting in magnetic fields)
  }
  X{                           #
material parameters for the conduction band valley at the X point of the Brillouin zone
   mass_l          = 1.3       # [m0]  
longitudinal electron effective mass (parabolic)
   mass_t          = 0.23      # [m0]  
transversal electron effective mass (parabolic)
                               #
These masses are used for the single-band Schrödinger equation and for the calculation of the densities.
 
   bandgap         = 1.981     # [eV]  
band gap energy at 0 K
   bandgap_alpha   = 0.460e-3  # [eV/K]
Varshni parameter alpha for temperature dependent band gap
   bandgap_beta    = 204       # [K]   
Varshni parameter beta  for temperature dependent band gap

   defpot_absolute = -0.16     # [eV]  
absolute deformation potential of the X conduction band: ac,X = av + agap,X
   defpot_uniaxial = 14.26     # [eV]  
uniaxial  deformation potential of the X conduction band

   g_l             = 0         # []    
longitudinal g factor (for Zeeman splitting in magnetic fields)
   g_t             = 0         # []    
transversal g factor (for Zeeman splitting in magnetic fields)
  }
 }

 valence_bands{                # material parameters for the valence band valley at the Gamma point of the Brillouin zone
  bandoffset = 1.346           #
average energy of the three valence band edges Ev,av = (Ehh + Elh + Eso) / 3
                               # Note: This energy determines the valence band offset (VBO) between two materials
                               #          (with respect to the average of the three valence band edges!)
                               #          VBOv,av = bandoffset(material1) - bandoffset(material2)

  HH{ mass = 0.5               # [m0]
heavy   hole effective mass (isotropic, parabolic !)
      g    = 0     }           # []  
g factor (for Zeeman splitting in magnetic fields)
  LH{ mass = 0.068             # [m0]
light     hole effective mass (isotropic, parabolic !)
      g    = 0     }           # []  
g factor (for Zeeman splitting in magnetic fields)
  SO{ mass = 0.172             # [m0]
split-off hole effective mass (isotropic, parabolic !)
      g    = 0     }           # []  
g factor (for Zeeman splitting in magnetic fields)
                               #
These masses are used for the single-band Schrödinger equation and for the calculation of the densities.

  defpot_absolute   = -1.21    # [eV]
absolute deformation potential of the valence bands (average of the three valence bands): av

  defpot_uniaxial_b = -2.0     # [eV]
uniaxial shear deformation potential b of the valence bands
 
defpot_uniaxial_d = -4.8     # [eV] uniaxial shear deformation potential d of the valence bands

  delta_SO          = 0.341    # [eV]
spin-orbit split-off energy Deltaso
 }

 kp_6_bands{                   #
Note: The user can either specify the Luttinger parameters (gamma1, gamma2, gamma3)
                               #    
 or the L, M, N parameters.
   gamma1 = 6.98               # []          
Luttinger parameter gamma1
 
 gamma2 = 2.06               # []          
Luttinger parameter gamma2
 
 gamma3 = 2.93               # []          
Luttinger parameter gamma3
 
or
   L = -16.22                  # [hbar2/(2m0)]
Dresselhaus parameter L
 
 M = -3.86                   # [hbar2/(2m0)]
Dresselhaus parameter M
 
 N = -17.58                  # [hbar2/(2m0)]
Dresselhaus parameter N
 }
  
Important: There are different definitions of the L and M parameters available in the literature.
  
nextnano++ definition:  L = ( - gamma1 - 4gamma2 - 1 ) * [hbar2/(2m0)]
   
                      M = (  2gamma2 - gamma1  - 1 ) * [hbar2/(2m0)]
  
alternative definition:    L = ( - gamma1 - 4gamma2     ) * [hbar2/(2m0)]
   
                      M = (  2gamma2 - gamma1      ) * [hbar2/(2m0)]

 kp_8_bands{                   #
Note: The user can either specify the modified Luttinger parameters (gamma1', gamma2', gamma3')
                               #      or the L', M' = M, N' parameters.
   S   = -2.876                # [-]          
electron effective mass parameter S for 8-band k.p
   E_P = 28.8                  # [eV]         
Kane's momentum matrix element
                               #
Note: The momentum matrix element parameter P is related to Ep: P2 = hbar2/(2m0) Ep
                               #    
 The units of P are [eV Angstrom].
   B   = 0                     # [hbar2/(2m0)]  bulk inversion symmetry parameter (B=0 for diamond-type materials)

   gamma1 = ...                # []          
Luttinger parameter gamma1'
 
 gamma2 = ...                # []          
Luttinger parameter gamma2'
 
 gamma3 = ...                # []          
Luttinger parameter gamma3'
 
or
   L   = 1.420                 # [hbar2/(2m0)] 
Dresselhaus parameter L'
 
  M   = -3.86                 # [hbar2/(2m0)] 
Dresselhaus parameter M (same value as 6-band k.p parameter)
 
  N   = 0.056                 # [hbar2/(2m0)] 
Dresselhaus parameter N'
 }
  
Note: The S parameter (S = 1 + 2F) is also defined in the literature as F where F = (S - 1)/2, e.g. I. Vurgaftman et al., JAP 89, 5815 (2001).



Mobility models
 mobility_constant{...}        #
constant mobility model (required)

 mobility_masetti{...}         #
Masetti mobility model (optional)

 mobility_arora{...}           #
Arora mobility model (optional)

 mobility_minimos{...}         #
MINIMOS mobility model (optional)

 mobility_simba{...}           #
SIMBA mobility model (optional)


 recombination{
   SRH      {...}              #
Shockley-Read-Hall recombination
   Auger    {...}              #
Auger recombination
   radiative{...}              #
direct recombination
 }
}

 

The deformation potentials are only used if strain is present. They enter the k.p equations. If the single-band approximation is used, the deformation potentials are used to shift and split the conduction and valence band edges.

The g factors (g, g_l, g_t) are optional. If the g factors are specified in the input file, the database value for the g factors are overwritten with the value in the input file. If no g factors are present in the input file or in the database, a g factor of 2 is assumed by default.

 

Note: In Si, Ge and GaP we have a Delta valley instead of the X conduction band valley:

  Delta{                       # material parameters for the conduction band valley at the X point of the Brillouin zone
   mass_l          = 0.916     # [m0]  
longitudinal electron effective mass (parabolic)
   mass_t          = 0.190     # [m0]  
transversal electron effective mass (parabolic)
                               #
These masses are used for the single-band Schrödinger equation and for the calculation of the densities.
 
   bandgap         = 1.17      # [eV]  
band gap energy at 0 K
   bandgap_alpha   = 0.4730e-3 # [eV/K]
Varshni parameter alpha for temperature dependent band gap
   bandgap_beta    = 636       # [K]   
Varshni parameter beta  for temperature dependent band gap

   defpot_absolute = 3.40      # [eV]  
absolute deformation potential of the X conduction band: ac,Delta = av + agap,Delta
   defpot_uniaxial = 9.16      # [eV]  
uniaxial  deformation potential of the X conduction band

   position        = 0.85      # 0.85
for Delta instead of 1.0 for X valley
                               #
At present, this value does not enter into any of the equations.

   g_l             = 0         # []    
longitudinal g factor (for Zeeman splitting in magnetic fields)
   g_t             = 0         # []    
transversal g factor (for Zeeman splitting in magnetic fields)
  }
}

 

 

Material parameters in ternary materials: Interpolation of binary material parameters

Three options are possible for the interpolation of binary material parameters in ternary alloys (AxB1-xC or CAxB1-x):

  • TABC = x BAC + (1-x) BBC                             (linear interpolation)
                                                                       For the lattice constants, this is called "Vegard's law".
     
  • TABC = x BAC + (1-x) BBC - x (1-x) CABC       (quadratic interpolation) where CABC is the bowing parameter
                                                                       For CABC = 0 (which is the default), linear interpolation is used.
    (In eq. (E.3) in the PhD thesis of T. Zibold the last term includes a '+' sign instead of the '-' sign, i.e. + x (1-x) CABC instead of - x (1-x) CABC.)
     
  • TABC = x BAC + (1-x) BBC - x (1-x) CABC(x)   (cubic interpolation)
                                                                        Note that here the bowing parameter CABC is a function of the alloy composition x.

 

 

Examples:

######### indium gallium arsenide (InGaAs) ############################
ternary_zb {
 name       = "In(x)Ga(1-x)As"
 valence    = III_V
 binary_x   = InAs
 binary_1_x = GaAs

 conduction_bands{
  Gamma{ mass = 0.0091 } #
 Bowing parameter CABC for the electron effective mass at the Gamma point in units of [m0].
 }
 ...
 kp_8_bands{
  S = 3.54               # S = 1 + 2F = 2 * 1.77
(Vurgaftman1)
                         #
Note: The S parameter (S = 1 + 2F) is also defined in the literature as F where F = (S - 1)/2, e.g. I. Vurgaftman et al., JAP 89, 5815 (2001).
                         #
Consequently, as one can show, the bowing parameter for S has the value 2 * F.
                         #
For In(x)Ga(1-x)As Vurgaftman lists the bowing parameter F = 1.77.
  ...
 }
} : {                                    #
It is possible to define a synonym of several synonyms for this material InxGa1-xAs.
    name       = "Ga(1-x)In(x)As"        #
Ga1-xInxAs
    valence    = III_V
    binary_x   = InAs
    binary_1_x = GaAs
} : {
    name       = "Ga(x)In(1-x)As"        #
GaxIn1-xAs
    valence    = III_V
    binary_x   = GaAs
    binary_1_x = InAs
} : {
    name       = "In(1-x)Ga(x)As"        #
In1-xGaxAs
    valence    = III_V
    binary_x   = GaAs
    binary_1_x = InAs
}

Note: If no bowing parameters are specified for the ternary, linear interpolation is assumed.

 

Special case: Bowing parameter depends on alloy concentration x

Note: To describe the band gap bowing at the Gamma point in AlxGa1-xAs, a linear or even a quadratic interpolation is not sufficient.
Here, the bowing parameter is not constant, it depends on the alloy composition x.
Thus, this bowing parameter is given by: CABC(x) = -0.127 + 1.310 * x   (Table XII., I. Vurgaftman et al., J. Appl. Phys. 89, 5815 (2001))

In order to describe such a material, we introduced a new type of material: ternary2_zb
For ternary2_zb, bowing is not symmetric in x and 1-x.

The nextnano++ implementation is the following: Use ternary2_zb{} (and bowing_zb{}) instead of ternary_zb{}.

######### aluminum gallium arsenide (AlGaAs) ##########################
ternary2_zb
{
 name       = "Al(x)Ga(1-x)As"           #
AlxGa1-xAs
 valence    = III_V

 binary_x   = AlAs
 binary_1_x = GaAs
 bowing_x   = AlGaAs_Bowing_Ga           #
Bowing parameter CABC(x) for x=1
 bowing_1_x = AlGaAs_Bowing_Al           #
Bowing parameter CABC(x) for x=0
}
 

bowing_zb{
 name       = "AlGaAs_Bowing_Ga"         #
AlxGa1-xAs (x=1)
 valence    = III_V

 conduction_bands{
  Gamma{ bandgap = -0.127 + 1.310 * 1 }  #
Bowing parameter CABC(x=1) = -0.127 + 1.310 * x = 1.183
  L    { bandgap = 0                  }  #
Bowing parameter CABC
  X    { bandgap = 0.055              }  #
Bowing parameter CABC
 }

 valence_bands{
 delta_SO = 0                            #
Bowing parameter CABC
 }
}


bowing_zb
{
 name       = "AlGaAs_Bowing_Al"         #
AlxGa1-xAs (x=0)
 valence    = III_V

 conduction_bands{
  Gamma{ bandgap = -0.127 + 1.310 * 0 }  #
Bowing parameter CABC(x=0) = -0.127 + 1.310 * x = -0.127
  L    { bandgap = 0                  }  #
Bowing parameter CABC
  X    { bandgap = 0.055              }  #
Bowing parameter CABC
 }

 valence_bands{
  delta_SO = 0                           #
Bowing parameter CABC
 }
}
Note: If no bowing parameters are specified for bowing_zb, linear interpolation for ternary2_zb is assumed.

 

The same (i.e. ternary2_zb) is also used for the band gap at the Gamma point of AlxGa1-xSb and to the diluted nitrid material GaAs1-xNx.

Example

In our database AlxGa1-xAs is considered a ternary2_zb because its bowing parameter CABC(x) for the bandgap at the Gamma point depends on the alloy composition x
by the formula:CABC(x) = -0.127 + 1.310 * x   (Table XII., I. Vurgaftman et al., J. Appl. Phys. 89, 5815 (2001))

CABC(x)where CABC(0)and  CABC(1)For this reason, for describing the bandgap bowing parameter for this material we require to specify
in the AlGaAs_Bowing_Ga block the value of

AlGaAs_Bowing_GaCABC(1)  + β -0.127 + 1.310 = 1.183 # Bowing parameter CABC(x) for x=1and for AlGaAs_Bowing_Al
AlGaAs_Bowing_AlCABC(0)  = -0.127                 # Bowing parameter CABC(x) for x=1

Then, the final result for the bandgap is:AlxGa1-xAs = Bandgap(AlAs)(GaAs)CABC(x) =(GaAs) AlGaAs_Bowing_Ga AlGaAs_Bowing_Al
                                         =
  

Alternative: An easier and much more intuitive solution would be to overwrite the respective bowing material parameter in the input file by defining a formula which uses the alloy concentration as a variable.
This is meanwhile possible. (To do: Add a tutorial on this topic.)

 

Material parameters in quaternary materials: Interpolation of binary material parameters including the bowing parameters that are used for the ternary constituents

A brief introduction to quaternaries is shown in this Powerpoint presentation (Quaternaries.pptx, Quaternaries.pdf).

Three different quaternaries can be constructed where a) and c) are basically identical from an algorithmic point of view:

a)   AxByC1-x-yD,    e.g. AlxGayIn1-x-yAs      (III-III-III-V quaternaries)

b)   ABxCyD1-x-y,    e.g. AlAsxSbyP1-x-y      (III-V-V-V quaternaries)

c)   AxB1-xCyD1-y,   e.g. GaxIn1-xAsyP1-y     (III-III-V-V quaternaries)

Three options are possible for the interpolation of binary material parameters in quaternary alloys (AxB1-xC or CAxB1-x):

  • c) QABCD  =  x y BAC + (1-x) y BBC + (1-x) (1-y) BBD + x (1-y) BAD  +                                   (linear interpolation)
                   +  x (1-x) y CABC  +  (1-x) y (1-y)  CBCD  +  x (1-x) (1-y) CABD  +  x y (1-y)  CACD

    The second line introduces a quadratic interpolation where CABC, CABD, CBCD are the bowing parameters of the ternary constituents.
    For CABC = CABD = CACD = 0 (which is the default), linear interpolation is used.

    Constituent limiting binaries and ternaries are defined by the following constraints:

    binary1: x = 1, y = 1
    binary2: x = 0, y = 1
    binary3: x = 0, y = 0
    binary4: x = 1, y = 0

    ternary12: y = 1
    ternary23: x = 0
    ternary34: y = 0
    ternary14: x = 1

Example:

######### indium aluminum arsenide antimonide (InAlAsSb) ##############
quaternary4_zb {
 name      = "In(x)Al(1-x)As(y)Sb(1-y)"
 valence   = III_V
 binary1   = InAs               #
 binary2   = AlAs               #
 binary3   = AlSb               #
 binary4   = InSb               #
 ternary12 = "In(x)Al(1-x)As"   #
Note: In(x)Al(1-x)As and In(1-x)Al(x)As are equivalent
 ternary23 = "AlAs(x)Sb(1-x)"   #     
as can be seen in the above equation.
 ternary34 = "Al(x)In(1-x)Sb"   #     
So one has to use the name that is already defined in the database.
 ternary14 = "InAs(x)Sb(1-x)"
}

Quinternaries

########################### QUINTERNARY ZINCBLENDE #######################

                                                                         

#  alloys of the type A(x)B(y)C(z)D(1-x-y)                               

quinternary_zb : _alloy_zb{ TYPE=group OPT=1                             

    binary_a{ TYPE=string }              #  A                            

    binary_b{ TYPE=string }              #  B                            

    binary_c{ TYPE=string }              #  C                            

    binary_d{ TYPE=string }              #  D                            

                                                                         

    ternary_ab{ TYPE=string }            #  A(x)B(1-x)                   

    ternary_ac{ TYPE=string }            #  A(x)C(1-x)                   

    ternary_ad{ TYPE=string }            #  A(x)D(1-x)                   

    ternary_bc{ TYPE=string }            #  B(x)C(1-x)                   

    ternary_bd{ TYPE=string }            #  B(x)D(1-x)                   

    ternary_cd{ TYPE=string }            #  C(x)D(1-x)                   

                                                                          

    quaternary_abc{ TYPE=string }        #  A(x)B(y)C(1-x-y)             

    quaternary_abd{ TYPE=string }        #  A(x)B(y)D(1-x-y)             

    quaternary_acd{ TYPE=string }        #  A(x)C(y)D(1-x-y)             

    quaternary_bcd{ TYPE=string }        #  B(x)C(y)D(1-x-y)             

                                                                         

    # from base group, optional quinternary bowing parameters            

}                                                                         

                                                                         

                                                                         

#  alloys of the type A(x)B(y)C(1-x-y)D(z)E(1-z)                          

quinternary6_zb : _alloy_zb{ TYPE=group OPT=1                            

    binary_a_d{ TYPE=string }            #  AD                           

    binary_b_d{ TYPE=string }            #  BD                           

    binary_c_d{ TYPE=string }            #  CD                           

    binary_a_e{ TYPE=string }            #  AE                           

    binary_b_e{ TYPE=string }            #  BE                           

    binary_c_e{ TYPE=string }            #  CE                            

                                                                         

    ternary_ab_d{ TYPE=string }          #  A(x)B(1-x)D                  

    ternary_ac_d{ TYPE=string }          #  A(x)C(1-x)D                  

    ternary_bc_d{ TYPE=string }          #  B(x)C(1-x)D                  

    ternary_ab_e{ TYPE=string }          #  A(x)B(1-x)E                  

    ternary_ac_e{ TYPE=string }          #  A(x)C(1-x)E                  

    ternary_bc_e{ TYPE=string }          #  B(x)C(1-x)E                  

    ternary_a_de{ TYPE=string }          #  AD(x)E(1-x)                  

    ternary_b_de{ TYPE=string }          #  BD(x)E(1-x)                  

    ternary_c_de{ TYPE=string }          #  CD(x)E(1-x)                   

                                                                         

    quaternary_abc_d{ TYPE=string }      #  A(x)B(y)C(1-x-y)D            

    quaternary_abc_e{ TYPE=string }      #  A(x)B(y)C(1-x-y)E            

    quaternary_ab_de{ TYPE=string }      #  A(x)B(1-x)D(y)E(1-y)         

    quaternary_ac_de{ TYPE=string }      #  A(x)C(1-x)D(y)E(1-y)         

    quaternary_bc_de{ TYPE=string }      #  B(x)C(1-x)D(y)E(1-y)         

                                                                          

    # from base group, optional quinternary bowing parameters            

}                                                                        

                                                                          

                                                                         

#  two-parameter alloys A(x)B(1-x)C(y)D(1-y)E(z)F(1-z)                   

quaternary8_zb : _alloy_zb{ TYPE=group OPT=1                             

    binary_a_c_e{ TYPE=string }          #  ACE                          

    binary_b_c_e{ TYPE=string }          #  BCE                          

    binary_a_d_e{ TYPE=string }          #  ADE                          

    binary_b_d_e{ TYPE=string }          #  BDE                           

    binary_a_c_f{ TYPE=string }          #  ACF                          

    binary_b_c_f{ TYPE=string }          #  BCF                          

    binary_a_d_f{ TYPE=string }          #  ADF                          

    binary_b_d_f{ TYPE=string }          #  BDF                          

                                                                         

    ternary_ab_c_e{ TYPE=string }        #  A(x)B(1-x)CE                 

    ternary_ab_d_e{ TYPE=string }        #  A(x)B(1-x)DE                 

    ternary_ab_c_f{ TYPE=string }        #  A(x)B(1-x)CF                 

    ternary_ab_d_f{ TYPE=string }        #  A(x)B(1-x)DF                 

    ternary_a_cd_e{ TYPE=string }        #  AC(x)D(1-x)E                  

    ternary_b_cd_e{ TYPE=string }        #  BC(x)D(1-x)E                 

    ternary_a_cd_f{ TYPE=string }        #  AC(x)D(1-x)F                 

    ternary_b_cd_f{ TYPE=string }        #  BC(x)D(1-x)F                 

    ternary_a_c_ef{ TYPE=string }        #  ACE(x)F(1-x)                 

    ternary_b_c_ef{ TYPE=string }        #  BCE(x)F(1-x)                 

    ternary_a_d_ef{ TYPE=string }        #  ADE(x)F(1-x)                 

    ternary_b_d_ef{ TYPE=string }        #  BDE(x)F(1-x)                 

                                                                         

    quarternary_ab_cd_e{ TYPE=string }   #  A(x)B(1-x)C(y)D(1-y)E        

    quarternary_ab_cd_f{ TYPE=string }   #  A(x)B(1-x)C(y)D(1-y)F        

    quarternary_ab_c_ef{ TYPE=string }   #  A(x)B(1-x)CE(y)F(1-y)        

    quarternary_ab_d_ef{ TYPE=string }   #  A(x)B(1-x)DE(y)F(1-y)        

    quarternary_a_cd_ef{ TYPE=string }   #  AC(x)D(1-x)E(y)F(1-y)        

    quarternary_b_cd_ef{ TYPE=string }   #  BC(x)D(1-x)E(y)F(1-y)        

                                                                         

    # from base group, optional quinternary bowing parameters            

}