Example #1
0
        public TightBinding Clone()
        {
            TightBinding retval = new TightBinding();

            retval.lattice  = lattice.Clone();
            retval.sites    = sites.Clone();
            retval.hoppings = hoppings.Clone();
            retval.kpath    = kpath.Clone();
            retval.kmesh    = kmesh.Clone();
            if (qmesh != null)
            {
                retval.qmesh = qmesh.Clone();
            }
            if (qplane != null)
            {
                retval.qplane = qplane.Clone();
            }
            retval.poles.AddRange(poles);
            retval.FrequencyMesh   = (double[])FrequencyMesh.Clone();
            retval.TemperatureMesh = (double[])TemperatureMesh.Clone();
            retval.MuMesh          = (double[])MuMesh.Clone();
            retval.Nelec           = (double[])Nelec.Clone();

            retval.Interactions = Interactions.Clone();
            retval.kgrid        = (int[])kgrid.Clone();
            retval.kshift       = (int[])kshift.Clone();

            retval.symmetries     = symmetries.Clone();
            retval.qgrid          = (int[])qgrid.Clone();
            retval.qshift         = (int[])qshift.Clone();
            retval.qplaneDef      = (Vector3[])qplaneDef.Clone();
            retval.setQplane      = setQplane;
            retval.specifiedNelec = specifiedNelec;

            retval.outputfile = outputfile;

            return(retval);
        }