#create shortcuts for all the silicon array indices
array set $Base {Boron Boron}
array set $Base {B Boron}
array set $Base {boron Boron}
array set $Base {phos Phosphorus}
array set $Base {P Phosphorus}
array set $Base {Phosphorus Phosphorus}
array set $Base {phosphorus Phosphorus}
array set $Base {As Arsenic}
array set $Base {Arsenic Arsenic}
array set $Base {arsenic Arsenic}
array set $Base {Sb Antimony}
array set $Base {Antimony Antimony}
array set $Base {antimony Antimony}
array set $Base {Potential Potential}
array set $Base {potential Potential}
array set $Base {Psi Potential}
array set $Base {psi Potential}
array set $Base {Interstitial Interstitial}
array set $Base {interstitial Interstitial}
array set $Base {I Interstitial}
array set $Base {Vacancy Vacancy}
array set $Base {vacancy Vacancy}
array set $Base {V Vacancy}
array set $Base {311 311}
array set $Base {C Carbon}
array set $Base {Carbon Carbon}
array set $Base {carbon Carbon}
array set $Base {CarbonTrap CarbonTrap}
array set $Base {Trap CarbonTrap}
array set $Base {BIC BIC}
array set $Base {bic BIC}
array set $Base {BIC1 BIC1}
array set $Base {bic1 BIC1}
array set $Base {BIC2 BIC2}
array set $Base {bic2 BIC2}
array set $Base {ger Germanium}
array set $Base {Ge Germanium}
array set $Base {Germanium Germanium}
array set $Base {germanium Germanium}


#parameters that control moving grid based refinement
    array set $Base {perp.add.dist {Double 0.1e-4}}
    array set $Base {bound.add.dist {Double 0.1e-4}}
    array set $Base {Max.Radius {Double 1.0e-4}}
    array set $Base {Corner.Add {Double 0.05e-4}}
    array set $Base {Remove.Dist {Double 0.001e-4}}
    array set $Base {ShrinkEarly {Double 0.2}}
    array set $Base {ShrinkLate {Double 0.4}}
    array set $Base {ShrinkVal {Double 0.2}}
    array set $Base {minAngle {Double {[expr 3.14159 / 6.0]}}}
    array set $Base {Glue {Boolean 1}}

#parameters for error-based refinement control
    array set $Base {ErrorAdd {Double 0.02}}
    array set $Base {ErrorDel {Double 1.0e-12}}
    array set $Base {Max.Iter {Double 10}}
    array set $Base {Refine.Stop {Double 50}}
    array set $Base {RefineMin {Double 0.005e-4}}
    array set $Base {RefineMax {Double 1.0e-4}}

#smoothing choices
    #positional smoothing?
    array set $Base {Smooth {Boolean 0}}
    array set $Base {ScaleVel {Double {[Arrhenius 1.0 2.14]}}}
    #velocity smoothing?
    array set $Base {Velocity {Boolean 0}}


return { Boron B boron phos P Phosphorus phosphorus Potential potential psi Psi  Ar Arsenic arsenic Sb Antimony antimony Interstitial interstitial I Vacancy vacancy V 311 C Carbon carbon CarbonTrap Trap BIC bic BIC1 bic1 BIC2 bic2 ger Ge Germanium germanium perp.add.dist bound.add.dist Max.Radius Corner.Add Remove.Dist ShrinkBump ShrinkEarly ShrinkLate ShrinkVal minAngle Glue ErrorAdd ErrorDel Max.Iter Refine.Stop RefineMin RefineMax Smooth ScaleVel Velocity }

