/** \page mpqcoo Object-Oriented Input MPQC is an object-oriented program that directly allows the user to specify objects that MPQC then manipulates to obtain energies, properties, etc. This makes the input very flexible, but very complex. However, most calculations should be quite similar to the one of the examples given later in this chapter. The best way to get started is to use one of the example input files and modify it to meet your needs. The object-oriented input format is described in the following sections:
\% This input does a Hartree-Fock calculation on water. molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( mole : ( molecule = $:molecule basis = $:basis ) )
\% This input does a Hartree-Fock calculation on water.
molecule: (
symmetry = C2V
unit = angstrom
{ atoms geometry } = {
O [ 0.00000000 0.00000000 0.37000000 ]
H [ 0.78000000 0.00000000 -0.18000000 ]
H [ -0.78000000 0.00000000 -0.18000000 ]
}
)
basis: ( name = "STO-3G" molecule = $:molecule )
mpqc: (
mole: (
molecule = $:molecule
basis = $:basis
) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis memory = 16000000 ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis memory = 16000000 \% reference wavefunction reference : ( molecule = $:molecule basis = $:basis memory = 16000000 ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "cc-pVDZ" molecule = $:molecule ) \% auxiliary basis set specification abasis : ( name = "aug-cc-pVDZ" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis aux_basis = $:abasis stdapprox = "A'" nfzc = 1 memory = 16000000 integrals :() \% reference wavefunction reference : ( molecule = $:molecule basis = $:basis memory = 16000000 integrals :() ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "6-31G*" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% molecular coordinates for optimization coor : ( molecule = $:molecule generator : ( molecule = $:molecule ) ) \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) \% optimizer object for the molecular geometry opt : ( function = $..:mole update : () convergence : ( cartesian = yes energy = $..:..:mole ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "6-31G*" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% molecular coordinates for optimization coor : ( molecule = $:molecule generator : ( molecule = $:molecule ) ) \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 guess_hessian : ( molecule = $:molecule only_totally_symmetric = yes eliminate_cubic_terms = no checkpoint = no energy : ( molecule = $:molecule memory = 16000000 basis : ( name = "3-21G" molecule = $:molecule ) ) ) ) \% optimizer object for the molecular geometry opt : ( function = $..:mole update : () convergence : ( cartesian = yes energy = $..:..:mole ) ) )
\% Emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = c2v unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.36937294 ] H [ 0.78397590 0.00000000 -0.18468647 ] H [ -0.78397590 0.00000000 -0.18468647 ] } ) \% basis set specification basis : ( name = "3-21G" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no restart = no \% molecular coordinates for optimization coor : ( molecule = $:molecule generator : ( molecule = $:molecule ) ) do_energy = no do_gradient = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis memory = 16000000 coor = $..:coor guess_wavefunction : ( molecule = $:molecule total_charge = 0 basis : ( molecule = $:molecule name = "STO-3G" ) memory = 16000000 ) hessian : ( only_totally_symmetric = yes eliminate_cubic_terms = no checkpoint = no ) ) optimize = yes \% optimizer object for the molecular geometry opt : ( print_hessian = yes max_iterations = 20 function = $..:mole convergence : ( cartesian = yes energy = $..:..:mole ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C1 { atoms geometry } = { O [ 0.0000000000 0.0000000000 0.8072934188 ] H [ 1.4325589285 0.0000000000 -0.3941980761 ] H [ -1.4325589285 0.0000000000 -0.3941980761 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis memory = 16000000 ) \% vibrational frequency input freq : ( molecule = $:molecule ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C1 { atoms geometry } = { H [ 0.088 2.006 1.438 ] O [ 0.123 3.193 0.000 ] H [ 0.088 2.006 -1.438 ] O [ 4.502 5.955 -0.000 ] H [ 2.917 4.963 -0.000 ] H [ 3.812 7.691 -0.000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) \% molecular coordinates for optimization coor : ( molecule = $:molecule generator : ( molecule = $:molecule extra_bonds = [ 2 5 ] ) \% use these instead of generated coordinates variable : [ \ :( atoms = [ 2 5 ] ) \ :( atoms = [ 2 5 4 ] ) \ : ( atoms = [ 5 2 1 3 ] ) \ : ( coor: [ \ :( atoms = [ 1 2 ] ) \ :( atoms = [ 2 3 ] ) ] coef = [ 1.0 1.0 ] ) \ : ( coor: [ \ :( atoms = [ 4 5 ] ) \ :( atoms = [ 4 6 ] ) ] coef = [ 1.0 1.0 ] ) \ :( atoms = [ 1 2 3 ] ) \ :( atoms = [ 5 4 6 ] ) ] \% these are fixed by symmetry anyway, fixed : [ \ : ( coor: [ \ :( atoms = [ 1 2 ] ) \ :( atoms = [ 2 3 ] ) ] coef = [ 1.0 -1.0 ] ) \ : ( coor: [ \ :( atoms = [ 4 5 ] ) \ :( atoms = [ 4 6 ] ) ] coef = [ 1.0 -1.0 ] ) \ :( atoms = [ 2 5 4 6] ) \ :( atoms = [ 3 2 6 4 ] ) \ :( atoms = [ 1 2 6 4 ] ) ] ) \% optimizer object for the molecular geometry opt : ( function = $..:mole update : () convergence : ( cartesian = yes energy = $..:..:mole ) \% give a partial guess hessian in internal coordinates \% the missing elements will be filled in automatically hessian = [ [ 0.0109261670 ] [ -0.0004214845 0.0102746106 ] [ -0.0008600592 0.0030051330 0.0043149957 ] [ 0.0 0.0 0.0 ] [ 0.0 0.0 0.0 ] [ 0.0 0.0 0.0 ] [ 0.0 0.0 0.0 ] ] ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C1 { atoms geometry } = { H [ 0.088 2.006 1.438 ] O [ 0.123 3.193 0.000 ] H [ 0.088 2.006 -1.438 ] O [ 4.502 5.955 -0.000 ] H [ 2.917 4.963 -0.000 ] H [ 3.812 7.691 -0.000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) \% molecular coordinates for optimization coor : ( molecule = $:molecule \% give an internal coordinate generator that knows about the \% hydrogen bond between atoms 2 and 5 generator : ( molecule = $:molecule extra_bonds = [ 2 5 ] ) ) \% optimizer object for the molecular geometry opt : ( function = $..:mole update : () convergence : ( cartesian = yes energy = $..:..:mole ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = CS { atoms geometry } = { H [ 3.04 -0.69 -1.59 ] H [ 3.04 -0.69 1.59 ] N [ 2.09 -0.48 -0.00 ] C [ -0.58 -0.15 0.00 ] H [ -1.17 1.82 0.00 ] H [ -1.41 -1.04 -1.64 ] H [ -1.41 -1.04 1.64 ] } ) \% basis set specification basis : ( name = "3-21G*" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% molecular coordinates for optimization coor : ( molecule = $:molecule generator : ( molecule = $:molecule ) have_fixed_values = yes fixed : [ \ : ( value = -0.1 label = "N-inversion" atoms = [4 3 2 1] ) ] ) \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) \% optimizer object for the molecular geometry opt : ( max_iterations = 20 function = $..:mole update : () convergence : ( cartesian = yes energy = $..:..:mole ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = CS { atoms geometry } = { H [ 3.045436 -0.697438 -1.596748 ] H [ 3.045436 -0.697438 1.596748 ] N [ 2.098157 -0.482779 -0.000000 ] C [ -0.582616 -0.151798 0.000000 ] H [ -1.171620 1.822306 0.000000 ] H [ -1.417337 -1.042238 -1.647529 ] H [ -1.417337 -1.042238 1.647529 ] } ) \% basis set specification basis : ( name = "3-21G*" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% molecular coordinates for optimization coor : ( molecule = $:molecule generator : ( molecule = $:molecule ) followed = [ "N-inversion" 4 3 2 1 ] ) \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) \% optimizer object for the molecular geometry opt : ( transition_state = yes mode_following = yes max_iterations = 20 function = $..:mole update : () convergence : ( cartesian = yes energy = $..:..:mole ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = CS { atoms geometry } = { H [ 3.045436 -0.697438 -1.596748 ] H [ 3.045436 -0.697438 1.596748 ] N [ 2.098157 -0.482779 -0.000000 ] C [ -0.582616 -0.151798 0.000000 ] H [ -1.171620 1.822306 0.000000 ] H [ -1.417337 -1.042238 -1.647529 ] H [ -1.417337 -1.042238 1.647529 ] } ) \% basis set specification basis : ( name = "3-21G*" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no \% molecular coordinates for optimization coor : ( molecule = $:molecule generator : ( molecule = $:molecule ) followed = [ "N-inversion" 4 3 2 1 ] ) \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 guess_hessian : ( molecule = $:molecule only_totally_symmetric = yes eliminate_cubic_terms = no checkpoint = no energy : ( molecule = $:molecule memory = 16000000 basis : ( name = "3-21G" molecule = $:molecule ) ) ) ) \% optimizer object for the molecular geometry opt : ( transition_state = yes mode_following = yes max_iterations = 20 function = $..:mole update : () convergence : ( cartesian = yes energy = $..:..:mole ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( checkpoint = yes filename = "h2o-rhf-STO3G" checkpoint_freq = 3 savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis memory = 16000000 ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "cc-pVDZ" molecule = $:molecule ) \% auxiliary basis set specification abasis : ( name = "aug-cc-pVDZ" molecule = $:molecule ) mpqc: ( checkpoint = yes filename = "h2o-mp2r12ap-vdz-avdz" savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis aux_basis = $:abasis stdapprox = "A'" nfzc = 1 memory = 16000000 integrals :() \% reference wavefunction reference : ( molecule = $:molecule basis = $:basis memory = 16000000 integrals :() ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( checkpoint = no savestate = yes filename = "h2o-rhf-sto3g" \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis memory = 16000000 ) )
\% emacs should use -*- KeyVal -*- mode mpqc: ( checkpoint = no savestate = no restart = yes restart_file = "h2o-rhf-sto3g.wfn" do_gradient = yes )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) \% wave function file object specification wfnfile :file = "h2o-rhf-sto3g.wfn" mpqc: ( checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis memory = 16000000 \% reference wavefunction reference : ( statein = $:wfnfile object = "CLHF" ) ) )
\% emacs should use -*- KeyVal -*- mode \% molecule specification molecule: ( symmetry = C2V unit = angstrom { atoms geometry } = { O [ 0.00000000 0.00000000 0.37000000 ] H [ 0.78000000 0.00000000 -0.18000000 ] H [ -0.78000000 0.00000000 -0.18000000 ] } ) \% basis set specification basis : ( name = "STO-3G" molecule = $:molecule ) mpqc: ( \% path to component libraries cca_path = /usr/local/lib/cca \% sidl class names of components which will be instantiated cca_load = MPQC.IntegralEvaluatorFactory do_cca = yes checkpoint = no savestate = no \% method for computing the molecule's energy mole : ( molecule = $:molecule basis = $:basis \% cca integrals adaptor class integrals : ( molecule = $:molecule \% integral buffer type integral_buffer = opaque \% integral package integral_package = intv3 \% factory component sidl class name evaluator_factory = MPQC.IntegralEvaluatorFactory ) ) )