예제 #1
0
        public string output(makeinpdata md, setting st)
        {
            var rst = "";

            rst += output_before(ref md, ref st);
            rst +=
                "!-- This inputfile generate by 'makeinp' Ver:0.9.5 --!\n" +
                "$RunGauss\n" +
                (md.no_assgn ? "!" : "") + valueset("%nproc", md.nproc.ToString()) + "\n" +
                valueset("%mem", md.mem.ToString() + md.mem_unit) + "\n" +
                valueset("%chk", getscrfilepath(md, st)) + "\n" +
                "#p " + md.GetMethodName() + "\n" +
                this.output_addition(md, st) +
                (!md.no_scf_output ? valueset("scf", md.scf.Split(',')) + "\n" : "") +
                valueset("iop", md.iop.Split(',')) + "\n" +
                (md.isusecheckfile ? "guess=read geom=check \n" : "") +
                "\n" +
                genfilename(md) + " " + getmethodabst(md) + "\n" +
                "\n" +
                md.charge + " " + md.spin + "\n" +
                (!md.isusecheckfile ? md.inputdata.GetLocation(md.lockpos.ToArray()) : "");
            rst += output_after(ref md, ref st);
            rst += "\n";
            return(rst);
        }
예제 #2
0
 // form loaded
 private void main_Load(object sender, EventArgs e)
 {
     if (File.Exists("setting.xml"))
     {
         // load setting-data
         var xserial = new XmlSerializer(typeof(setting));
         var sr      = new StreamReader("setting.xml");
         myst = (setting)xserial.Deserialize(sr);
         if (myst.latestData != null)
         {
             cmb_theory.Text     = myst.latestData.theory;
             cmb_basis.Text      = myst.latestData.basis;
             cmb_star.Text       = myst.latestData.star;
             chk_mnosymm.Checked = myst.latestData.isnosymm;
             scfsetting          = myst.latestData.scf;
             iopsetting          = myst.latestData.iop;
         }
         sr.Close();
     }
     // if no-setting username
     if (myst.usrName == string.Empty)
     {
         var dedit = new simpleedit();
         dedit.description = "input your name";
         if (dedit.ShowDialog(this) == DialogResult.OK)
         {
             myst.usrName = dedit.inputText;
         }
     }
 }
예제 #3
0
 // function
 public override string output_before(ref makeinpdata md, ref setting st)
 {
     // no use-matrix
     md.isusecheckfile = true;
     md.chklocation    = getscrfilepath(md, st);
     return("");
 }
예제 #4
0
        public override string output_addition(makeinpdata md, setting st)
        {
            var rst =
                valueset("pop", "nboread") + "\n" +
                "";

            return(rst);
        }
예제 #5
0
        public override string output_addition(makeinpdata md, setting st)
        {
            var rst =
                valueset("pop", "none") + "\n" +
                valueset("irc", "maxpoints=" + md.ircmaxpoint, md.ircforcemode, "reverse") + "\n" +
                "";

            return(rst);
        }
예제 #6
0
        public override string output_addition(makeinpdata md, setting st)
        {
            var rst =
                valueset("pop", "reg") + "\n" +
                valueset("freq", md.freq_mode) + "\n" +
                "";

            return(rst);
        }
예제 #7
0
        public override string output_addition(makeinpdata md, setting st)
        {
            var rst =
                valueset("TD", md.td_calctype, "Nstate=" + md.td_nstate) + "\n" +
                valueset("density", md.td_density) + "\n" +
                valueset("pop", "reg") + "\n" +
                "";

            return(rst);
        }
예제 #8
0
        public bool writefile(makeinpdata md, setting st)
        {
            var filename = outputPath(md);
            var output   = this.output(md, st);
            var wfile    = new StreamWriter(filename);

            wfile.Write(output);
            wfile.Close();
            return(true);
        }
예제 #9
0
        public string getscrfilepath(makeinpdata md, setting st)
        {
            var rst = st.scrDir + st.scrName;

            rst = rst.Replace("%user%", st.usrName);
            rst = rst.Replace("%name%", this.genscrfilename(md));
            rst = rst.Replace("%option%", this.OptionName);
            rst = rst.Replace("%ext%", this.Extension);
            return(rst);
        }
예제 #10
0
 // static-function
 public static setting GetDefaultSetting(setting def = null)
 {
     if (def == null)
     {
         def = new setting();
     }
     def.isFirstLaunch = true;
     def.usrName       = "";
     def.fileName      = "%name%%option%.%ext%";
     def.scrDir        = "/home/%user%/g09.scr/";
     def.scrName       = "%name%.chk";
     def.latestData    = new makeinpdata();
     return(def);
 }
예제 #11
0
        public override string output_addition(makeinpdata md, setting st)
        {
            var rst =
                valueset("pop", "reg") + "\n" +
                valueset("opt",
                         "maxcycle=" + md.optcyc,
                         md.opt_fc,
                         (md.istransition ? "ts,noeigentest" : ""),
                         md.inputdata.GetTypeStr()
                         ) + "\n" +
                (md.freq_containopt ? valueset("freq", md.freq_mode) + "\n" : "") +
                "";

            return(rst);
        }
예제 #12
0
 public override string output_addition(makeinpdata md, setting st)
 {
     return(md.ct_string.Length > 0 ? md.ct_string + "\n" : "");
 }
예제 #13
0
 // function
 public override string output_before(ref makeinpdata md, ref setting st)
 {
     md.no_scf_output  = true;
     md.isusecheckfile = false;
     return("");
 }
예제 #14
0
 public virtual string output_after(ref makeinpdata md, ref setting st)
 {
     return("");
 }
예제 #15
0
 public override string output_after(ref makeinpdata md, ref setting st)
 {
     return("\n" + "$nbo bndidx $end" + "\n");
 }
예제 #16
0
 public abstract string output_addition(makeinpdata md, setting st);
예제 #17
0
 // function
 public override string output_before(ref makeinpdata md, ref setting st)
 {
     md.no_scf_output = true;
     return("");
 }