debian/0000775000000000000000000000000012253505370007172 5ustar debian/rules0000775000000000000000000000227712217570026010262 0ustar #!/usr/bin/make -f # -*- makefile -*- %: dh $@ --with autotools_dev override_dh_auto_clean: -(cd src/bin/mpqc/validate; $(MAKE) check_clean) dh_auto_clean override_dh_auto_configure: dh_auto_configure -- \ --enable-production \ --with-cxx=mpic++\ --with-cc=mpicc \ --with-f77=mpif77 \ --enable-threads \ --enable-always-use-mpi \ --with-default-parallel=mpi \ --with-mpi-thread=single \ --enable-shared \ --includedir=/usr/include/sc \ --datadir=/usr/share/mpqc \ --with-sc-datadir=/usr/share/mpqc \ --with-include=-I/usr/include/mpi override_dh_auto_install: dh_auto_install -- install install_devel installroot=$(CURDIR)/debian/tmp chrpath -d $(CURDIR)/debian/tmp/usr/lib/*.so.*.*.* chrpath -d $(CURDIR)/debian/tmp/usr/bin/mpqc chrpath -d $(CURDIR)/debian/tmp/usr/bin/scls chrpath -d $(CURDIR)/debian/tmp/usr/bin/scpr chrpath -d $(CURDIR)/debian/tmp/usr/bin/molrender override_dh_install: dh_install --list-missing chmod a-x debian/mpqc-support/usr/share/mpqc/validate/* ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) override_dh_auto_test: -dh_auto_test -- -C src/bin/mpqc/validate check SCLIBDIR=$(CURDIR)/lib OMPI_MCA_orte_rsh_agent=/bin/false endif .NOTPARALLEL: debian/watch0000664000000000000000000000012112111654747010223 0ustar # See uscan(1) for format version=3 http://sf.net/mpqc/mpqc-([\d\.]+)\.tar\.bz2 debian/libsc7.install0000664000000000000000000000002112111654747011744 0ustar usr/lib/lib*so.* debian/mpqcval0000664000000000000000000000330012111654747010562 0ustar #!/usr/bin/perl use File::Basename; # If this is set to run, then runs involving the largest # basis sets will be skipped. $small = 1; # This is the number of jobs that will be run concurrently. $maxjobs = 2; # The path to the MPQC executable $mpqc = "/usr/bin/mpqc"; ###################################################################### # autoflush output $| = 1; if ($ARGV[0] eq "-readdir") { opendir(DIR,"."); @files = sort(readdir(DIR)); closedir(DIR); } else { if ($ARGV[0]){ @files = sort(@ARGV); } } if (!@files) { opendir(DIR, "/usr/share/mpqc/validate/"); @files = sort(readdir(DIR)); foreach $j (@files) { $j = "/usr/share/mpqc/validate/$j"; } } $n = 0; foreach $j (@files) { if (!($j =~ /\.in$/)) { next; } $out = "$j"; $out =~ s/\.[^.]*$/.out/; $out = basename($out); printf "%s ", $out; $issmall = (!($j =~ /ccpc?v[tq5]z/)); $can_run_concurrent = ! ($j =~ /^ckpt_[0-9]/); if ($small && $issmall != 1) { printf "skipping possibly big job\n"; } elsif ( -f $out && ( -M $out < -M $j && -M $out < -M "$mpqc") ) { printf "skipping file that is up-to-date\n"; } else { if (! $can_run_concurrent || $maxjobs == 1) { printf "starting in foreground\n"; $pid = fork(); if ($pid == 0) { exec("$mpqc -o $out $j"); } waitpid($pid,''); } else { if (fork() == 0) { exec("$mpqc -o $out $j"); } printf "started\n"; $n = $n + 1; } } while ($n >= $maxjobs) { wait(); $n = $n - 1; } } foreach $i (1..$n) { wait(); } debian/man/0000775000000000000000000000000012111654747007753 5ustar debian/man/mpqc.10000664000000000000000000011770712111654747011012 0ustar .TH "MPQC" "1" "15 Feb 2008" "Version 2" .ad l .nh .SH NAME mpqc \- The Massively Parallel Quantum Chemistry program (MPQC) .SH SYNOPSIS .B mpqc .RB "[" options "]" .RI "[" filename "]" .SH DESCRIPTION MPQC computes the properties of molecules, \fIab initio\fP, on a wide variety of computer architectures. .PP It can compute closed shell and general restricted openshell HartreeFock energies and gradients, second order openshell perturbation theory (OPT2[2]) and Zaveraged perturbation theory (ZAPT2) energies, and second order closed shell MoellerPlesset perturbation theory energies and gradients. It also includes methods for optimizing molecules in either Cartesian or internal coordinates. .PP MPQC is designed using objectoriented programming techniques and implemented in the C++ programming language. .SH OPTIONS .PP MPQC can be given options followed by an optional input file name. If the input file name is not given, it will default to '\fCmpqc.in\fP'. The following command line options are recognized: .TP 8 .B \-o Gives the name of the output file. The default is the console. .TP 8 .B \-i Convert a simple input file to an object oriented input file and write the result to the output. No calculations are done. .TP 8 .B \-messagegrp A \fBParsedKeyVal\fP specification of a \fBMessageGrp\fP object. The default depends on how MPQC was compiled. .TP 8 .B \-memorygrp A \fBParsedKeyVal\fP specification of a \fBMemoryGrp\fP object. The default depends on how MPQC was compiled. .TP 8 .B \-threadgrp A \fBParsedKeyVal\fP specification of a \fBThreadGrp\fP object. The default depends on how MPQC was compiled. .TP 8 .B "\fC\-l\fP" Sets a limit on the number of basis functions. The default is zero, which means an unlimited number of basis functions. .TP 8 .B \-W Sets the working directory. The default is the current directory. .TP 8 .B \-c Check the input and exit. .TP 8 .B \-v Print the version number. .TP 8 .B \-w Print the warranty information (there is no warranty). .TP 8 .B \-d If a debugger object was given in the input, start the debugger running as soon as MPQC is started. .TP 8 .B \-h Print a list of options. .TP 8 .B \-f The name of an object\-oriented input file. The default is \fCmpqc.in\fP. This cannot be used if another input file is specified. This option is deprecated, as both input file formats can be read by given the input file name on the command line without any option flags. .PP Some MPI environments do not pass the command line to slave programs, but supply it when MPI_Init is called. To make MPQC call MPI_Init on start\-up, instead of when an \fBMPIMessageGrp\fP is created, name the executable mpqc\-mpi. .PP .SH ENVIRONMENTAL VARIABLES .PP MPQC looks at four environmental variables to set up communication and find library files. Machine specific libraries and utilities to run programs in parallel might look at other environment variables as well. The four that apply on all platforms are: .TP 8 .B SCLIBDIR The name of the library directory. .TP .B MESSAGEGRP A \fBParsedKeyVal\fP specification of a \fBMessageGrp\fP object. The default depends on how MPQC was compiled. See the \fBMessageGrp\fP class documentation for more information. .TP 8 .B MEMORYGRP A \fBParsedKeyVal\fP specification of a \fBMemoryGrp\fP object. The default depends on how MPQC was compiled and the \fBMessageGrp\fP in use. .TP 8 .B THREADGRP A \fBParsedKeyVal\fP specification of a \fBThreadGrp\fP object. The default depends on how MPQC was compiled. .PP By default, MPQC tries to find library files first in the \fClib\fP sub\-directory of the installation directory and then the source code directory. If the library files cannot be found, MPQC must be notified of the new location with the environmental variable \fCSCLIBDIR\fP. .PP The other three keywords specify objects. This is done by giving a mini \fBParsedKeyVal\fP input in a string. The object is anonymous, that is, no keyword is associated with it. Here is an example: .PP .nf setenv MESSAGEGRP '<\fBShmMessageGrp\fP>:(n = 4)' .fi .PP .SH SHARED MEMORY MULTIPROCESSOR WITH SYSV IPC .PP By default, MPQC will run on only one CPU. To specify more, you can give a \fBShmMessageGrp\fP object on the command line. The following would run mpqc in four processes: .PP .nf mpqc \-messagegrp '<\fBShmMessageGrp\fP>:(n = 4)' input_file .fi .PP Alternately, the \fBShmMessageGrp\fP object can be given as an environmental variable: .PP .nf setenv MESSAGEGRP '<\fBShmMessageGrp\fP>:(n = 4)' mpqc input_file .fi .PP If MPQC should unexpectedly die, shared memory segments and semaphores will be left on the machine. These should be promptly cleaned up or other jobs may be prevented from running successfully. To see if you have any of these resources allocated, use the \fCipcs\fP command. The output will look something like: .PP .nf IPC status from /dev/kmem as of Wed Mar 13 14:42:18 1996 T ID KEY \ \ \ \ MODE\ \ \ \ OWNER GROUP Message Queues: Shared Memory: m 288800 0x00000000 \-\-rw\-\-\-\-\-\-\- cljanss user Semaphores: s 390 0x00000000 \-\-ra\-\-\-\-\-\-\- cljanss user s 391 0x00000000 \-\-ra\-\-\-\-\-\-\- cljanss user .fi .PP To remove the IPC resources used by \fCcljanss\fP in the above example on IRIX, type: .PP .nf ipcrm \-m 288800 ipcrm \-s 390 ipcrm \-s 391 .fi .PP And on Linux, type: .PP .nf ipcrm shm 288800 ipcrm sem 390 ipcrm sem 391 .fi .PP .SH SHARED MEMORY MULTIPROCESSOR WITH POSIX THREADS .PP By default, MPQC will run with only one thread. To specify more, you can give a \fBPthreadThreadGrp\fP object on the command line. MPQC is not parallelized to as large an extent with threads as it is with the more conventional distributed memory model, so you might not get the best performance using this technique. On the other the memory overhead is lower and no interprocess communication is needed. .PP The following would run MPQC in four threads: .PP .nf mpqc \-threadgrp '<\fBPthreadThreadGrp\fP>:(num_threads = 4)' input_file .fi .PP Alternately, the \fBPthreadThreadGrp\fP object can be given as an environmental variable: .PP .nf setenv THREADGRP '<\fBPthreadThreadGrp\fP>:(n = 4)' mpqc input_file .fi .PP .SH SHARED OR DISTRIBUTED MEMORY MULTIPROCESSOR WITH MPI .PP A \fBMPIMessageGrp\fP object is used to run using MPI. The number of nodes used is determined by the MPI run\-time and is not specified as input data to \fBMPIMessageGrp\fP. .PP .nf mpqc \-messagegrp '<\fBMPIMessageGrp\fP>:()' input_file .fi .PP Alternately, the \fBMPIMessageGrp\fP object can be given as an environmental variable: .PP .nf setenv MESSAGEGRP '<\fBMPIMessageGrp\fP>:()' mpqc input_file .fi .PP Usually, a special command is needed to start MPI jobs; typically it is named \fCmpirun\fP. .PP .SH INPUT MPQC supports two input formats. The primary input is an object oriented format which gives users access to all of MPQCs options. The second format allows access to a subset of MPQCs capabilities, but is more intuitive and easier to learn. New users are advised to start with the simplified format. MPQC can be used to convert the simplified format to the full object\-oriented format with the \fC\-i\fP option. .PP .SH Simple Input The simple input format consists of keywords followed by a ':' followed by a value. The keywords are case sensitive. The values might be modified by options found in parenthesis. For example, the following input performs an optimization of water using density functional theory with the B3LYP exchange\-correlation functional: .PP .nf % B3LYP optimization of water optimize: yes method: KS (xc = B3LYP) basis: 3\-21G* molecule: O 0.172 0.000 \ 0.000 H 0.745 0.000 \ 0.754 H 0.745 0.000 \-0.754 .fi .PP Comments begin with a \fC%\fP and continue to the end of the line. Basis set names containing special characters, such as a space or parentheses, must be quoted inside a pair of double quotes. The accepted keywords are: .PP .IP "\fCmolecule\fP" 1c Gives the atoms types and coordinates. The following options can be used .PP .IP "\fCbohr\fP" 1c The coordinates are given in Bohr. .IP "\fCangstrom\fP" 1c The coordinates are given in Angstroms. .IP "\fCcharge\fP" 1c This option can be given after an 'element x y z' quadruple. This will override the charge on the atom. For example, \fC(charge = 0)\fP can be given for the ghost atoms in a counterpoise correction calculation. .PP .IP "\fCmultiplicity\fP" 1c Gives the multiplicity of the molecule. The default is \fC1\fP. .PP .IP "\fCoptimize\fP" 1c If \fCyes\fP, then an optimization will be performed. The default is \fCno\fP. The following options can be given. .PP .IP "\fCcartesian\fP" 1c Use Cartesian coordinates. .IP "\fCinternal\fP" 1c Use internal coordinates. .IP "\fCredundant\fP" 1c Use redundant internal coordinates. .PP .IP "\fCgradient\fP" 1c If \fCyes\fP, then a gradient calculation will be performed. The default is \fCno\fP. .PP .IP "\fCfrequencies\fP" 1c If \fCyes\fP, then the frequencies will be obtained. The default is \fCno\fP. .PP .IP "\fCcharge\fP" 1c Specifies the charge on the molecule. The default is \fC0\fP. .PP .IP "\fCmethod\fP" 1c Specif ices the method. There is no default and the possible values are: .PP .IP "\fCHF\fP" 1c Hartree\-Fock. Unrestricted HF is used if \fCmultiplicity\fP > 1 .IP "\fCRHF\fP" 1c Restricted Hartree\-Fock. .IP "\fCUHF\fP" 1c Unrestricted Hartree\-Fock. .IP "\fCKS\fP" 1c Kohn\-Sham. Unrestricted KS is used if \fCmultiplicity\fP > 1 .IP "\fCRKS\fP" 1c Restricted Kohn\-Sham. .IP "\fCUKS\fP" 1c Unrestricted Kohn\-Sham. .IP "\fCMP2\fP" 1c Second order Moeller\-Plesset perturbation theory. Only available for \fCmultiplicity\fP = 1. .IP "\fCZAPT2\fP" 1c Z\-averaged perturbation theory. Only available for \fCmultiplicity\fP > 1. No gradient, optimization, or frequencies are possible. .PP The following options are valid with the \fCKS\fP, \fCRKS\fP, and \fCUKS\fP methods: .PP .IP "\fCgrid\fP" 1c Specifies the grid to be used for numerical integrations. The following values can be given: .IP "\fCxcoarse\fP" 1c .IP "\fCcoarse\fP" 1c .IP "\fCmedium\fP" 1c .IP "\fCfine\fP" 1c .IP "\fCxfine\fP" 1c .IP "\fCultrafine\fP" 1c .IP "\fCxc\fP" 1c Specifies the exchange\-correlation functional. There is no default. See the table in the \fBStdDenFunctional\fP class documentation for the possible values. .PP .IP "\fCbasis\fP" 1c Specifies the basis set. There is no default. See the table in the \fBGaussianBasisSet\fP class documentation for the available basis sets. .PP .IP "\fCrestart\fP" 1c Set to \fCyes\fP to restart an optimization. The default is \fCno\fP. .PP .IP "\fCcheckpoint\fP" 1c Set to \fCno\fP to not save checkpoint files during an optimization. The default is \fCyes\fP. .PP .IP "\fCsymmetry\fP" 1c Specif ices the Schoenflies symbol of the point group of the molecule. The default is \fCauto\fP, which will cause to program to find the highest order Abelian subgroup of the molecule. .PP .IP "\fCdocc\fP" 1c Gives the number of doubly occupied orbitals in each each irreducible representation in a parenthesized list. The symmetry must be specified and not be \fCauto\fP. The method must be restricted. .PP .IP "\fCsocc\fP" 1c Gives the number of single occupied orbitals in each each irreducible representation in a parenthesized list. The symmetry must be specified and not be \fCauto\fP. The method must be restricted. .PP .IP "\fCalpha\fP" 1c Gives the number of alpha occupied orbitals in each each irreducible representation in a parenthesized list. The symmetry must be specified and not be \fCauto\fP. The method must be unrestricted. .PP .IP "\fCbeta\fP" 1c Gives the number of beta occupied orbitals in each each irreducible representation in a parenthesized list. The symmetry must be specified and not be \fCauto\fP. The method must be unrestricted. .PP .IP "\fCfrozen_docc\fP" 1c Gives the number of frozen core orbitals. Can be either a single integer or a parenthesized list giving the frozen core orbitals in each irreducible representation. In the latter case the symmetry must be given and not be \fCauto\fP. .PP .IP "\fCfrozen_uocc\fP" 1c Gives the number of frozen virtual orbitals. Can be either a single integer or a parenthesized list giving the frozen virtual orbitals in each irreducible representation. In the latter case the symmetry must be given and not be \fCauto\fP. .PP .SH 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. .PP MPQC starts off by creating a \fBParsedKeyVal\fP object that parses the input file specified on the command line. The format of the input file is documented in . It is basically a free format input that associates keywords and logical groupings of keywords with values. The values can be scalars, arrays, or objects. .PP The keywords recognized by MPQC begin with the mpqc prefix. That is, they must be nested between an \fCmpqc:(\fP and a \fC)\fP. Alternately, each keyword can be individually prefixed by \fCmpqc:\fP. The primary keywords are given below. Some of the keywords specify objects, in which case the object will require more \fBParsedKeyVal\fP input. These objects are created from the input by using their \fBParsedKeyVal\fP constructors. These constructors are documented with the source code documentation for the class. .PP .IP "\fCmole\fP" 1c This is the most important keyword for MPQC. It specifies the \fBMolecularEnergy\fP object. This is an object that knows how to compute the energy of a molecule. The specializations of \fBMolecularEnergy\fP that are most commonly used are CLKS, HSOSKS, UKS, \fBCLHF\fP, \fBHSOSHF\fP, UHF, and \fBMBPT2\fP. .PP .IP "\fCopt\fP" 1c This keyword must be specified for optimizations. It specifies an \fBOptimize\fP object. Usually, \fBQNewtonOpt\fP is best for finding minima and \fBEFCOpt\fP is best for transition states. .PP .IP "\fCfreq\fP" 1c This keyword must be specified to compute frequencies. It specifies a \fBMolecularFrequencies\fP object. .PP .IP "\fCthread\fP" 1c This specifies an object of type \fBThreadGrp\fP that can be used to advantage on shared\-memory multiprocessor machines for certain types of calculations. This keyword can be overridden by giving the \fBThreadGrp\fP in the environment or command line. See the section on running MPQC for more information. .PP .IP "\fCcheckpoint\fP" 1c The value of this keyword is Boolean. If true, then optimizations will be checkpointed after each iteration. The checkpoint file suffice is \fC.ckpt\fP. The default is to checkpoint. .PP .IP "\fCsavestate\fP" 1c The value of this keyword is Boolean. If true, then the states of the optimizer and wavefunction objects will be saved after the calculation completes. The output file suffix is \fC.wfn\fP. The default is to save state. .PP .IP "\fCrestart\fP" 1c The value of this keyword is Boolean. If true, mpqc will attempt to restart the calculation. If the checkpoint file is not found, the calculation will continue as if the value were false. The default is true. .PP .IP "\fCrestart_file\fP" 1c This gives the name of a file from which restart information is read. If the file name ends in \fC.wfn\fP the \fBMolecularEnergy\fP object will be restored. Otherwise, the \fBOptimize\fP object will be restored. The default file name is formed by appending \fC.ckpt\fP to the input file name with the extension removed. .PP .IP "\fCdo_energy\fP" 1c The value of this keyword is Boolean. If true a single point energy calculation will be done for the \fBMolecularEnergy\fP object given with the mole keyword. The default is true. .PP .IP "\fCdo_gradient\fP" 1c The value of this keyword is Boolean. If true a single point gradient calculation will be done for the \fBMolecularEnergy\fP object given with the mole keyword. The default is false. .PP .IP "\fCoptimize\fP" 1c The value of this keyword is Boolean. If true and the opt keyword was set to a valid value, then an optimization will be performed. The default is true. .PP .IP "\fCwrite_pdb\fP" 1c The value of this keyword is Boolean. If true a PDB file with the molecular coordinates will be written. .PP .IP "\fCfilename\fP" 1c The value of this keyword is a string that gives a name from which checkpoint and other filenames are constructed. The default is the basename of the input file. .PP .IP "\fCprint_timings\fP" 1c If this is true, timing information is printed at the end of the run. The default is true. .PP There are also some utility keywords that tell mpqc some technical details about how to do the calculation: .IP "\fCdebug\fP" 1c This optional keyword gives a \fBDebugger\fP object which can used to help find the problem if MPQC encounters a catastrophic error. .IP "\fCmatrixkit\fP" 1c This optional keyword gives a \fBSCMatrixKit\fP specialization which is used to produce matrices of the desired type. The default is a \fBReplSCMatrixKit\fP which replicates matrices on all of the nodes. Other choices are not thoroughly tested. .PP .SH EXAMPLES .PP This example input does a Hartree\-Fock calculation on water. Following is the entire input, followed by a breakdown with descriptions. .PP .nf % This input does a Hartree\-Fock calculation on water. molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = 'STO\-3G' molecule = $:molecule ) mpqc: ( mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis ) ) .fi .PP We start with a descriptive comment. Comments begin with a \fC%\fP. Everything from the \fC%\fP to the end of the line is ignored. .PP .nf % This input does a Hartree\-Fock calculation on water. .fi .PP Now lets set up a \fBMolecule\fP object. The name of the object comes first, it is \fCmolecule\fP. Then, in angle brackets, comes the type of the molecule, which is the class \fBMolecule\fP. The keyword and class name are followed by a \fC:\fP and then several pieces of input grouped between a pair of matching parentheses. These parentheses contain the information that will be given to \fBMolecule\fP \fBKeyVal\fP constructor. .PP .nf molecule<\fBMolecule\fP>: ( .fi .PP The point group of the molecule is needed. This is done by assigning \fCsymmetry\fP to a case insensitive Schoenflies symbol that is used to initialize a \fBPointGroup\fP object. An Abelian point group should be used. .PP .nf symmetry = C2V .fi .PP The default unit for the Cartesian coordinates is Bohr. You can specify other units by assigned \fCunit\fP to a string that will be used to initialize a \fBUnits\fP object. .PP .nf unit = angstrom .fi .PP Finally, the atoms and coordinates are given. This can be given in the shorthand table syntax shown below. The headings of the table are the keywords between the first pair of brackets. These are followed by an \fC=\fP and another pair of brackets that contain the data. The first datum is assigned to the first element of the array that corresponds to the first heading, \fCatom\fP. The second datum is assigned to the first element of the array associated with the second heading, \fCgeometry\fP, and so on. Here the second datum is actually a vector: the x, y and z coordinates of the first atom. .PP .nf { atoms geometry } = { O [ \ 0.00000000 0.00000000 \ 0.37000000 ] H [ \ 0.78000000 0.00000000 \-0.18000000 ] H [ \-0.78000000 0.00000000 \-0.18000000 ] } ) .fi .PP Next, a basis set object is given. .PP .nf basis<\fBGaussianBasisSet\fP>: ( name = 'STO\-3G' molecule = $:molecule ) .fi .PP Now we will give the main body of input. All the subsequent keywords will be grouped in the \fCmpqc\fP section of the input (that is, each keyword will be prefixed with \fCmpqc:\fP). .PP .nf mpqc: ( .fi .PP Next we give the \fCmole\fP keyword which provides a specialization of the \fBMolecularEnergy\fP class. In this case we will do a closed\-shell Hartree\-Fock calculation. That is done with an object of type \fBCLHF\fP. The keywords that \fBCLHF\fP accepts are given with the documentation for the \fBCLHF\fP class, usually in the description of the \fCconst RefKeyVal&\fP constructor for the class. Also with the \fBCLHF\fP documentation is a list of parent classes. Each of the parent classes may also have input. This input is included with the rest of the input for the child class. .PP .nf mole<\fBCLHF\fP>: ( .fi .PP The next line specifies the molecule to be used. There are two things to note, first that this is actually a reference to complete molecule specification elsewhere in the input file. The \fC$\fP indicates that this is a reference and the keyword following the \fC$\fP is the actual location of the molecule. The \fC:\fP in front of the keyword means that the keyword is not relative to the current location in the input, but rather relative to the root of the tree of keywords. Thus, this line grabs the molecule that was specified above. The molecule object could have been placed here, but frequently it is necessary that several objects refer to the exact same object and this can only be done using references. .PP The second point is that if you look at the documentation for \fBCLHF\fP, you will see that it doesn't read \fCmolecule\fP keyword. However, if you follow its parent classes up to \fBMolecularEnergy\fP, you'll find that \fCmolecule\fP is indeed read. .PP .nf molecule = $:molecule .fi .PP Just as we gave \fCmolecule\fP, specify the basis set with the \fCbasis\fP keyword as follows: .PP .nf basis = $:basis .fi .PP Now we close off the parentheses we opened above and we are finished. .PP .nf ) ) .fi .PP .SH "Sample Object\-Oriented Input Files" .PP The easiest way to get started with mpqc is to start with one of sample inputs that most nearly matches your problem. All of the samples inputs shown here can be found in the directory \fCsrc/bin/mpqc/samples\fP. .PP .SS "Hartree\-Fock Energy" .PP The following input will compute the Hartree\-Fock energy of water. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = 'STO\-3G' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis memory = 16000000 ) ) .fi .PP .SS "MP2 Energy" .PP The following input will compute the MP2 energy of water. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = 'STO\-3G' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % method for computing the molecule's energy mole<\fBMBPT2\fP>: ( molecule = $:molecule basis = $:basis memory = 16000000 % reference wavefunction reference<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis memory = 16000000 ) ) ) .fi .PP .SS "Hartree\-Fock Optimization" .PP The following input will optimize the geometry of water using the quasi\-Newton method. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = '6\-31G*' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule generator<\fBIntCoorGen\fP>: ( molecule = $:molecule ) ) % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) % optimizer object for the molecular geometry opt<\fBQNewtonOpt\fP>: ( function = $..:mole update<\fBBFGSUpdate\fP>: () convergence: ( cartesian = yes energy = $..:..:mole ) ) ) .fi .PP .SS "Optimization with a Computed Guess Hessian" .PP The following input will optimize the geometry of water using the quasi\-Newton method. The guess Hessian will be computed at a lower level of theory. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = '6\-31G*' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule generator<\fBIntCoorGen\fP>: ( molecule = $:molecule ) ) % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 guess_hessian<\fBFinDispMolecularHessian\fP>: ( molecule = $:molecule only_totally_symmetric = yes eliminate_cubic_terms = no checkpoint = no energy<\fBCLHF\fP>: ( molecule = $:molecule memory = 16000000 basis<\fBGaussianBasisSet\fP>: ( name = '3\-21G' molecule = $:molecule ) ) ) ) % optimizer object for the molecular geometry opt<\fBQNewtonOpt\fP>: ( function = $..:mole update<\fBBFGSUpdate\fP>: () convergence: ( cartesian = yes energy = $..:..:mole ) ) ) .fi .PP .SS "Optimization Using Newton's Method" .PP The following input will optimize the geometry of water using the Newton's method. The Hessian will be computed at each step in the optimization. However, Hessian recomputation is usually not worth the cost; try using the computed Hessian as a guess Hessian for a quasi\-Newton method before resorting to a Newton optimization. .PP .nf % Emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = '3\-21G' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no restart = no % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule generator<\fBIntCoorGen\fP>: ( molecule = $:molecule ) ) do_energy = no do_gradient = no % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis memory = 16000000 coor = $..:coor guess_wavefunction<\fBCLHF\fP>: ( molecule = $:molecule total_charge = 0 basis<\fBGaussianBasisSet\fP>: ( molecule = $:molecule name = 'STO\-3G' ) memory = 16000000 ) hessian<\fBFinDispMolecularHessian\fP>: ( 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 ) ) ) .fi .PP .SS "Hartree\-Fock Frequencies" .PP The following input will compute Hartree\-Fock frequencies by finite displacements. A thermodynamic analysis will also be performed. If optimization input is also provided, then the optimization will be run first, then the frequencies. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = 'STO\-3G' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis memory = 16000000 ) % vibrational frequency input freq<\fBMolecularFrequencies\fP>: ( molecule = $:molecule ) ) .fi .PP .SS "Giving Coordinates and a Guess Hessian" .PP The following example shows several features that are really independent. The variable coordinates are explicitly given, rather than generated automatically. This is especially useful when a guess Hessian is to be provided, as it is here. This Hessian, as given by the user, is not complete and the \fBQNewtonOpt\fP object will fill in the missing values using a guess the Hessian provided by the \fBMolecularEnergy\fP object. Also, fixed coordinates are given in this sample input. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = 'STO\-3G' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule generator<\fBIntCoorGen\fP>: ( molecule = $:molecule extra_bonds = [ 2 5 ] ) % use these instead of generated coordinates variable<\fBSetIntCoor\fP>: [ <\fBStreSimpleCo\fP>:( atoms = [ 2 5 ] ) <\fBBendSimpleCo\fP>:( atoms = [ 2 5 4 ] ) : ( atoms = [ 5 2 1 3 ] ) <\fBSumIntCoor\fP>: ( coor: [ <\fBStreSimpleCo\fP>:( atoms = [ 1 2 ] ) <\fBStreSimpleCo\fP>:( atoms = [ 2 3 ] ) ] coef = [ 1.0 1.0 ] ) <\fBSumIntCoor\fP>: ( coor: [ <\fBStreSimpleCo\fP>:( atoms = [ 4 5 ] ) <\fBStreSimpleCo\fP>:( atoms = [ 4 6 ] ) ] coef = [ 1.0 1.0 ] ) <\fBBendSimpleCo\fP>:( atoms = [ 1 2 3 ] ) <\fBBendSimpleCo\fP>:( atoms = [ 5 4 6 ] ) ] % these are fixed by symmetry anyway, fixed<\fBSetIntCoor\fP>: [ <\fBSumIntCoor\fP>: ( coor: [ <\fBStreSimpleCo\fP>:( atoms = [ 1 2 ] ) <\fBStreSimpleCo\fP>:( atoms = [ 2 3 ] ) ] coef = [ 1.0 \-1.0 ] ) <\fBSumIntCoor\fP>: ( coor: [ <\fBStreSimpleCo\fP>:( atoms = [ 4 5 ] ) <\fBStreSimpleCo\fP>:( atoms = [ 4 6 ] ) ] coef = [ 1.0 \-1.0 ] ) <\fBTorsSimpleCo\fP>:( atoms = [ 2 5 4 6] ) :( atoms = [ 3 2 6 4 ] ) :( atoms = [ 1 2 6 4 ] ) ] ) % optimizer object for the molecular geometry opt<\fBQNewtonOpt\fP>: ( function = $..:mole update<\fBBFGSUpdate\fP>: () 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 ] ] ) ) .fi .PP .SS "Optimization with a Hydrogen Bond" .PP The automatic internal coordinate generator will fail if it cannot find enough redundant internal coordinates. In this case, the internal coordinate generator must be explicitly created in the input and given extra connectivity information, as is shown below. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = 'STO\-3G' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule % give an internal coordinate generator that knows about the % hydrogen bond between atoms 2 and 5 generator<\fBIntCoorGen\fP>: ( molecule = $:molecule extra_bonds = [ 2 5 ] ) ) % optimizer object for the molecular geometry opt<\fBQNewtonOpt\fP>: ( function = $..:mole update<\fBBFGSUpdate\fP>: () convergence: ( cartesian = yes energy = $..:..:mole ) ) ) .fi .PP .SS "Fixed Coordinate Optimization" .PP This example shows how to selectively fix internal coordinates in an optimization. Any number of linearly independent coordinates can be given. These coordinates must remain linearly independent throughout the optimization, a condition that might not hold since the coordinates can be nonlinear. .PP By default, the initial fixed coordinates' values are taken from the cartesian geometry given by the \fBMolecule\fP object; however, the molecule will be displaced to the internal coordinate values given with the fixed internal coordinates if have_fixed_values keyword is set to true, as shown in this example. In this case, the initial Cartesian geometry should be reasonably close to the desired initial geometry and all of the variable coordinates will be frozen to their original values during the initial displacement. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = '4\-31G*' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule generator<\fBIntCoorGen\fP>: ( molecule = $:molecule ) have_fixed_values = yes fixed<\fBSetIntCoor\fP>: [ : ( value = \-0.1 label = 'N\-inversion' atoms = [4 3 2 1] ) ] ) % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) % optimizer object for the molecular geometry opt<\fBQNewtonOpt\fP>: ( max_iterations = 20 function = $..:mole update<\fBBFGSUpdate\fP>: () convergence: ( cartesian = yes energy = $..:..:mole ) ) ) .fi .PP .SS "Transition State Optimization" .PP This example shows a transition state optimization of the N\-inversion in using mode following. The initial geometry was obtained by doing a few fixed coordinate optimizations along the inversion coordinate. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = '4\-31G*' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule generator<\fBIntCoorGen\fP>: ( molecule = $:molecule ) followed = [ 'N\-inversion' 4 3 2 1 ] ) % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 ) % optimizer object for the molecular geometry opt<\fBEFCOpt\fP>: ( transition_state = yes mode_following = yes max_iterations = 20 function = $..:mole update<\fBPowellUpdate\fP>: () convergence: ( cartesian = yes energy = $..:..:mole ) ) ) .fi .PP .SS "Transition State Optimization with a Computed Guess Hessian" .PP This example shows a transition state optimization of the N\-inversion in using mode following. The initial geometry was obtained by doing a few fixed coordinate optimizations along the inversion coordinate. An approximate guess Hessian will be computed, which makes the optimization converge much faster in this case. .PP .nf % emacs should use \-*\- \fBKeyVal\fP \-*\- mode % molecule specification molecule<\fBMolecule\fP>: ( 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<\fBGaussianBasisSet\fP>: ( name = '4\-31G*' molecule = $:molecule ) mpqc: ( checkpoint = no savestate = no % molecular coordinates for optimization coor<\fBSymmMolecularCoor\fP>: ( molecule = $:molecule generator<\fBIntCoorGen\fP>: ( molecule = $:molecule ) followed = [ 'N\-inversion' 4 3 2 1 ] ) % method for computing the molecule's energy mole<\fBCLHF\fP>: ( molecule = $:molecule basis = $:basis coor = $..:coor memory = 16000000 guess_hessian<\fBFinDispMolecularHessian\fP>: ( molecule = $:molecule only_totally_symmetric = yes eliminate_cubic_terms = no checkpoint = no energy<\fBCLHF\fP>: ( molecule = $:molecule memory = 16000000 basis<\fBGaussianBasisSet\fP>: ( name = '3\-21G' molecule = $:molecule ) ) ) ) % optimizer object for the molecular geometry opt<\fBEFCOpt\fP>: ( transition_state = yes mode_following = yes max_iterations = 20 function = $..:mole update<\fBPowellUpdate\fP>: () convergence: ( cartesian = yes energy = $..:..:mole ) ) ) .fi .PP debian/man/molrender.10000664000000000000000000000214312111654747012024 0ustar .TH "MOLRENDER" "1" "21 Feb 2008" "Version 2" .SH NAME molrender \- render a molecule input file in a variety of ways .SH SYNOPSIS .B molrender .BI "[ \-model { " ball " | " stick " | " conolly " } ]" .BI "[ \-render " render " ]" .B [ \-pdb | \-keyval ] .BI "[ \-keyword " keyword " ]" .BI "[ \-level " integer " ]" .SH DESCRIPTION .PP .B molrender reads a molecule from an input file and can render it in a variety of ways. The output is an OOGL file that can be read and displayed with the .BR geomview (1) program. If you prefer a GUI over the command line, you can use the .BR tkmolrender (1) script. .SH OPTIONS .PP .B molrender takes the following command line options: .TP .BI "\-model { " ball " | " stick " | " conolly " }" Set the output model. .TP .BI "\-render " render Output render. The only accepted value currently is \fIoogl\fR. .TP .B \-pdb Input is a PDB file. .TP .B \-keyval Input is a KeyVal input. .TP .BI "\-keyword " keyword Keyword to read in a KeyVal input. .TP .BI "\-level " integer Integer that represent the sphere subdivision level. .SH "SEE ALSO" .BR geomview (1), .BR tkmolrender (1) debian/man/scpr.10000664000000000000000000000161512111654747011007 0ustar .TH "SCPR" "1" "15 Feb 2008" "Version 2" .ad l .nh .SH NAME scpr \- print out objects in checkpoint files .SH SYNOPSIS .B scpr .RB "[" options "]" .RI "[" file(s) "]" .SH DESCRIPTION The \fBscpr\fP program is used to print out objects in checkpoint files. .PP .SH "OPTIONS" .PP scpr takes the following command line options: .TP .BR \-o " <\fIval\fP>" Print the object with the name \fIval\fP. Object names take the form ':'. At least one file and object name must be given. .TP .BR \-memorygrp " <\fIval\fP>" Which memory group to use. .TP .BR \-threadgrp " <\fIval\fP>" Which thread group to use. .TP .BR \-messagegrp " <\fIval\fP>" Which message group to use. .TP .BR \-W " <\fIval\fP>" Set the working directory. .TP .B \-d Turn on debugging. .TP .B \-v Print the version. .TP 8 .B \-w Print the warranty. .TP 8 .B \-L Print the license. .TP 8 .B \-h Print this help. debian/man/mpqcval.10000664000000000000000000000175012111654747011503 0ustar .TH "MPQCVAL" "1" "15 Feb 2008" "Version 2" .SH NAME mpqcval \- run the mpqc validation suite .PP chkmpqcval \- check the .out files for correctness .SH SYNOPSIS .B mpqcval .RI "[" files "]" .PP .B chkmpqcval .SH DESCRIPTION .PP The \fBmpqcval\fR tool runs the whole mpqc validation suite or at least the part of it specified. .PP The \fBchkmpqcval\fR tool checks the \fI.out\fR files for correctness. .SH EXAMPLES .PP First create a directory .IP .B mkdir /tmp/mpqc-val && cd /tmp/mpqc-val .PP To run the whole validation suite, which might take a lot of time, now run .IP .B mpqcval .PP Or if only parts of the validation suite should be run e.g. .IP .B mpqcval /usr/share/mpqc/validate/h2o_* .PP Then to check the correctness of \fI.out\fR files .IP .B chkmpqcval .PP If everything is alright, you get output like .PP .nf h2o_mp2006311gssc1: ok ok E:99 D1L:99 X:OK h2o_mp2006311gssc1opt: ok ok E:99 Geom:99 D1:99 D2:99 S2L:99 X:OK D1L:99 X:OK .fi .PP and so on. debian/man/chkmpqcval.10000664000000000000000000000002312111654747012161 0ustar .so man1/mpqcval.1 debian/man/sc-config.10000664000000000000000000000331012111654747011702 0ustar .TH "SC\-CONFIG" "1" "15 Feb 2001" "Version 2" .SH NAME sc\-config \- script to get information about the installed version of SC .SH SYNOPSIS .B sc\-config .RB "[" \-\-prefix "[=\fIDIR\fP] ]" .RB "[" \-\-exec\-prefix "[=\fIDIR\fP] ]" .RB "[" \-\-version "]" .RB "[" \-\-libs "]" .RB "[" \-\-cppflags "]" .RB "[" \-\-cc "]" .RB "[" \-\-cflags "]" .RB "[" \-\-cxx "]" .RB "[" \-\-cxxflags "]" .RB "[" \-\-f77 "]" .RB "[" \-\-f77flags "]" .SH DESCRIPTION .PP The \fBsc\-config\fP program can be used to obtain the compilers, compiler options and libraries needed to use the SC (Scientific Computing) toolkit from your program. .SH OPTIONS .PP The \fBsc\-config\fP program returns information about how SC was compiled and installed. The following information is available: .TP 8 .B \-\-prefix The directory where SC is installed. .TP 8 .B \-\-version The version of SC. .TP 8 .B \-\-libdir The directory were the libraries are found. .TP 8 .B \-\-libs The libraries and library paths needed to link. .TP 8 .B \-\-cppflags The include directories needed to build. .TP 8 .B \-\-cc The C compiler. .TP 8 .B \-\-cflags The C compiler flags. .TP 8 .B \-\-cxx The C++ compiler. .TP 8 .B \-\-cxxflags The C++ compiler flags. .TP 8 .B \-\-f77 The FORTRAN 77 compiler. .TP 8 .B \-\-f77flags The FORTRAN 77 compiler flags. .SH EXAMPLES To use the sc\-config program to link your executable to SC, use a Makefile for GNU make similar to the following: .br .RS SCCONFIG = /usr/bin/sc\-config .br CXX := $(shell $(SCCONFIG) \-\-cxx) .br CXXFLAGS := $(shell $(SCCONFIG) \-\-cxxflags) .br CPPFLAGS := $(shell $(SCCONFIG) \-\-cppflags) .br LIBS := $(shell $(SCCONFIG) \-\-libs) .TP 8 myprog: myprog.o $(CXX) $(CXXFLAGS) \-o $@ $^ $(LIBS) debian/man/tkmolrender.10000664000000000000000000000050712111654747012365 0ustar .TH "TKMOLRENDER" "1" "21 Feb 2008" "Version 2" .SH NAME tkmolrender \- graphical frontend to the molrender utility .SH SYNOPSIS .B tkmolrender .SH DESCRIPTION .PP .B tkmolrender is a simple GUI to let you set up the .BR molrender (1) options. .SH OPTIONS .PP There are no options you can use. .SH "SEE ALSO" .BR molrender (1) debian/man/scls.10000664000000000000000000000137512111654747011007 0ustar .TH "SCLS" "1" "15 Feb 2008" "Version 2" .ad l .nh .SH NAME scls \- list objects in checkpoint files .SH SYNOPSIS .B scls .RB "[" options "]" .RI "[" file(s) "]" .SH DESCRIPTION The \fBscls\fP program is used to list objects in checkpoint files. .PP .SH "OPTIONS" .PP \fBscls\fP takes the following command line options: .TP .BR \-memorygrp " <\fIval\fP>" Which memory group to use. .TP .BR \-threadgrp " <\fIval\fP>" Which thread group to use. .TP .BR \-messagegrp " <\fIval\fP>" Which message group to use. .TP .BR \-W " <\fIval\fP>" Set the working directory. .TP .B \-d Turn on debugging. .TP .B \-v Print the version. .TP 8 .B \-l Detailed list of objects. .TP 8 .B \-w Print the warranty. .TP 8 .B \-L Print the license. .TP 8 .B \-h Print this help. debian/changelog0000664000000000000000000006342012253505365011055 0ustar mpqc (2.3.1-16build1) trusty; urgency=medium * No-change rebuild for libopenmpi1.3 -> libopenmpi1.6 transition. -- Logan Rosen Mon, 16 Dec 2013 00:09:01 -0500 mpqc (2.3.1-16) unstable; urgency=low * debian/patches/16_format-security.patch: New patches, fixes a FTBFS error on mpich arches, by Aurelien Jarno; closes: #728249. -- Michael Banck Wed, 27 Nov 2013 10:53:11 +0100 mpqc (2.3.1-15) unstable; urgency=low [ Michael Banck ] * debian/rules (override_dh_auto_test): Update OMPI_MCA environment variable to orte_rsh_agent as the original plm_rsh_agent variable is deprecated. * debian/control (Build-Depends, mpqc-support/Depends): Replaced tk8.4 with default tk, thanks to Sergei Golovan; closes: #725347. * debian/upstream: Updated Repository URLs to Github. [ Daniel Leidert ] * debian/control (Uploaders): Removed myself. * debian/upstream: Added. -- Michael Banck Thu, 24 Oct 2013 20:53:09 +0200 mpqc (2.3.1-14) unstable; urgency=low * debian/rules (override_dh_auto_test): Set OMPI_MCA_plm_rsh_agent environment variable to make test suite run in a chroot. * debian/rules (override_dh_auto_test): Only run testsuite if DEB_BUILD_OPTIONS does not contain `nocheck', as per policy. -- Michael Banck Sat, 24 Mar 2012 11:16:56 +0100 mpqc (2.3.1-13) unstable; urgency=low * debian/copyright: Removed Roland McGrath from upstream authors, as the file he is referenced in is an external copy. * debian/patches/15_sc_config_omit_external_libs.patch: New patch, restricting the output of `sc-config --libs' to the SC libs; closes: #661674. -- Michael Banck Sun, 04 Mar 2012 17:06:49 +0100 mpqc (2.3.1-12) unstable; urgency=low * debian/patches/11_ld_as_needed.patch: Updated, thanks to Julian Taylor. * debian/control (Build-Depends): Added libint-dev. * debian/control (Description): Mention mp2-r12 again. -- Michael Banck Fri, 17 Feb 2012 00:13:58 +0100 mpqc (2.3.1-11) unstable; urgency=low [ Michael Banck ] * debian/control (mpqc/Description): Remove mp2r12 from capabilities again, as libSCmbptr12 is currently not shipped. [ Daniel Leidert ] * debian/control: Use wrap and sort. (Build-Depends): Added autotools-dev. Increased required debhelper version to also fix package-needs-versioned-debhelper-build-depends. (Vcs-Browser): Point to real location. (Section): Fixed various binary-control-field-duplicates-source. Moved mpqc-openmpi to oldlibs/extra as suggested by lintian via transitional-package-should-be-oldlibs-extra. (Conflicts): Moved to Breaks in case of conflicts-with-version. (Description): Fixes for description-synopsis-starts-with-article and minor improvements. * debian/libsc7.install, debian/libsc-data.install, debian/libsc-dev.install, debian/libsc-doc.install, debian/mpqc.install, debian/mpqc-support.install: Use the smarter syntax only specifying the source files when copying from debian/tmp/. * debian/libsc-doc.install: Install the HTML documentation from debian/tmp. * debian/mpqc-support.install: Ditto for emacs and perl files. * debian/mpqc-support.manpages: Added chkmpqcval.1 and mpqcval.1. * debian/rules: Call autotools_dev dh addon (closes: #545055). Added dh_install override to list missing files. Remove executable permissions from data files. (override_dh_auto_install, override_dh_auto_test): Use dh_auto_* calls instead to run make. (get-orig-source): Dropped, because the current source format can handle bzip2 tarballs. * debian/lintian-overrides/libsc-doc: Dropped obsolete override. * debian/lintian-overrides/libsc7: Renamed to libsc7.lintian-overrides. * debian/man/chkmpqcval.1: Added. * debian/man/mpqcval.1: Ditto. -- Daniel Leidert (dale) Tue, 06 Dec 2011 01:52:45 +0100 mpqc (2.3.1-10) unstable; urgency=low * debian/rules.old: Removed. * debian/rules (override_dh_auto_configure): Added --with-include flag for mpi-default-dev. * debian/control (libsc-dev/Depends): Added mpi-default-dev. * debian/patches/14_sc-config_sclibs.patch: New patch, fixes the output of "sc-config --libs" to include the SC libraries. LP: #885740. -- Michael Banck Sat, 19 Nov 2011 18:05:18 +0100 mpqc (2.3.1-9) unstable; urgency=low * debian/libsc-dev.install: Install header files into the correct directory; closes: #642668. * Merge with Ubuntu; closes: 642277. * debian/patches/12_sh4_build_fix.patch: New patch, filter out -little option from compile flags, thanks to Nobuhiro Iwamatsu; closes: #568947. * debian/patches/13_sed_delimiter_binNMU.patch: New patches, changes sed delimiters from "+" to "@" to avoid issues for binNMUs; closes: #618116. -- Michael Banck Tue, 01 Nov 2011 01:12:59 +0100 mpqc (2.3.1-8) unstable; urgency=low * debian/control: Updated description. * debian/control (mpqc/Depends): Added mpi-default-bin; closes: #643310. * debian/control (Build-Depends): Added mpi-default-bin. -- Michael Banck Tue, 27 Sep 2011 11:51:15 +0200 mpqc (2.3.1-7ubuntu1) oneiric; urgency=low * Fix FTBFS with ld --as-needed. LP: #770824. -- Matthias Klose Tue, 20 Sep 2011 23:13:37 +0000 mpqc (2.3.1-7) unstable; urgency=low * debian/control (Build-Depends): Replace libopenmpi-dev with mpi-default-dev. * debian/control (Uploaders): Removed Li Daobing. * debian/control (mpqc-openmpi): Changed to a transitional package, update package relationsships accordingly. * debian/mpqc-openmpi.manpages, debian/mpqc-openmpi.dirs, debian/mpqc-openmpi.examples, debian/mpqc-openmpi.docs: Removed. * debian/rules: Rewritten. * debian/libsc_SO_NAME_.install: Renamed to ... * debian/libsc7.install: ... this. * debian/libsc_SO_NAME_.dirs: Removed. * debian/compat: Bumped to 8. * debian/control (Standards-Version): Bumped to 3.9.2. * debian/source/format: New file, switch to "3.0 (quilt)" format. * debian/patches: Convert to quilt series. * debian/control (Build-Depends): Removed dpatch. * debian/patches/09_build_docdir.patch: New patch, build the doc subdirectory by default. * debian/patches/10_distclean.patch: New patch, properly handle distlcean rules in doc directory. * debian/patches/series: Adjusted. * debian/control (Vcs-svn): Fix repository URL. * debian/control (Build-Depends): Added chrpath. * debian/rules (override_dh_auto_install): Run chrpath on shared libraries and binaries. * debian/control: Add ${misc:Depends} to all Depends: fields. * debian/control.in: Removed. -- Michael Banck Fri, 09 Sep 2011 19:17:06 +0200 mpqc (2.3.1-6) unstable; urgency=low * Upload to unstable. * debian/mpqcval: Fix using default directory if no files are specified on the command-line. * debian/rules (OPENMPIARGS): Enable MPI configure switches. -- Michael Banck Sat, 27 Feb 2010 15:55:01 +0100 mpqc (2.3.1-5) experimental; urgency=low * debian/mpqc.docs: Added CITATION, thanks to Chris Walker. * debian/control.in (Standards-Version): Bumped to 3.8.0. * debian/mpqc-support.install: Install the test-suite input and reference outputs from the source directory, not from the build directory. Install into /usr/share/mpqc/validate, not /usr/share/mqpc/run. * debian/mpqc-support.dirs: Adjusted. * debian/chkmpqcval: Likewise. Use reference outputs from /usr/share/mpqc/validate if not otherwise specified. * debian/mpqcval: Write MPQC output to current directory. Use input files from /usr/share/mpqc/validate if not otherwise specified. * debian/README.Debian: Updated test suite validation instructions. * debian/control.in (libsc-data): New package, containing the basis set and atom data. * debian/libsc-data.install: New file. * debian/control.in (mpqc/Depends, libsc@SO_NAME@/Depends): Depend on it. * debian/mpqc.install: No longer install basis set and atom info. * debian/mpqc.dirs: Adjusted. * debian/rules (COMMONARGS): Added -includedir, moved F77. * debian/rules: Export F77 as gfortran. * Build an openmpi parallel version. No longer build static libararies. + debian/control.in (Build-Depends): Added libopenmpi-dev. + debian/control.in (mpqc-openmpi): New package, conflicts and replaces mpqc. + debian/mpqc-openmpi.dirs: New file. + debian/control.in (mpqc): Conflict and Replace mpqc-openmpi. + debian/control.in (mpqc-support): Alternatively Depend on mpqc-openmpi. + debian/libsc-dev.install: Removed references to static libraries. + debian/rules (STATICDIR): Removed. + debian/rules (OPENMPIDIR): New variable. + debian/rules (OPENMPIARCHES): Likewise. + debian/rules (OPENMPIARGS): Likewise. + debian/rules (COMMONARGS): Removed --disable-parallel. + debian/rules ($(SHAREDDIR)/config.status): Added --disable-parallel to configure arguments. + debian/rules ($(STATICDIR)/config.status): Replaced with ... + debian/rules ($(OPENMPIDIR)/config.status): ... this. Added $(OPENMPIARGS). + debian/rules (build-static-stamp): Replaced with ... + debian/rules (build-openmpi-stamp): ... this. + debian/rules (build-arch-stamp): Adjusted. + debian/rules (clean): Clean $(OPENMPIDIR), not $(STATICDIR). + debian/rules (install-arch-stamp): Make install_devel from $(SHAREDDIR), not $(STATICDIR). Install mpqc-openmpi's mpqc binary into $(CURDIR)/debian/mpqc-openmpi/usr/bin. + debian/mpqc-openmpi.docs: New file, copied from mpqc package. + debian/mpqc-openmpi.examples: Likewise. + debian/mpqc-openmpi.manpages: Likewise. * debian/rules (PHONY): Added test. -- Michael Banck Fri, 12 Dec 2008 16:08:24 +0100 mpqc (2.3.1-4) unstable; urgency=low [ Daniel Leidert (dale) ] * debian/man/mpqc.1: Fixed GROFF to make the manpage-has-errors-from-man (can't break line) warnings go away. [ Michael Banck ] * debian/control.in: Update descriptions. * debian/control: Regenerated. * debian/rules (test): Set SCLIBDIR so that basis sets are found. Honor `nocheck' in DEB_BUILD_OPTIONS. -- Michael Banck Sun, 27 Jul 2008 11:40:23 +0200 mpqc (2.3.1-3) unstable; urgency=low * debian/control(.in): Added DM-Upload-Allowed for DM status. (Build-Depends, Build-Depends-Indep): Moved doxygen to Build-Depends to fix FTBFS. -- Daniel Leidert (dale) Fri, 14 Mar 2008 17:24:36 +0100 mpqc (2.3.1-2) unstable; urgency=low [ Daniel Leidert ] * debian/compat: Added. Increased to at least level 5. Makes the chkmpqcval and mpqcval scripts executable (LP: #111353) and fixes several lintian warnings. * debian/control.in: Added Vcs* and Homepage fields. Fixed minor typos. (Build-Depends): Increased debhelper dependency to 5 according to compatibility level. Added tk8.4 to fix missing shebang in /usr/bin/tkmolrender (closes: #400224). Thanks to Bill Allombert for reporting this issue. gfortran transition (closes: #463968). Thanks to Kumar Appaiah for the report. (Uploaders): Added myself. (Standards-Version): Increased to latest 3.7.3. (Depends): Made the package binNMU safe. Fixed missing-dependency-on-libc issue for mpqc-support and libsc-dev. * debian/copyright: Fixed download location. Fixed outdated FSF address. Added missing Copyright information. Completed author information. Fixed license links. Fixed packaging license information. * debian/libsc-doc.doc-base: Added an initial doc-base control file to register the documentation (closes: #284384). Thanks to Drew Parsons for reporting this issue. * debian/mpqc.1: Typo fixes and ROFF improvements. Moved into debian/man/. * debian/sc-config.1: Ditto. * debian/scls.1: Ditto. * debian/scpr.1: Ditto. * debian/mpqc.manpages: Fixed path to manpages. See above. * debian/libsc-dev.manpages: Added. * debian/man/molrender.1: Added. * debian/man/tkmolrender.1: Ditto. * debian/mpqc-support.manpages: Added for the new manpages. * debian/lintian-overrides/libsc-doc: Added to override manpage-has-errors-from-man warning for doxygen generated man-pages. * debian/lintian-overrides/libsc7: Added to override package-name-doesnt-match-sonames warning for multi-library package. * debian/libsc-doc.install: Install lintian override. * debian/libsc_SO_NAME_.install: Ditto. * debian/rules: Removed DH_COMPAT export in favour of debian/compat and compat level 5 (fixes lintian warning). Added a get-orig-source target to automatically retrieve the code and repackage it. Added missing CXXFLAGS support. Added support for the noopt build option. Rewrote some targets to comply with common autotools-target writing. (COMMONARGS): gfortran transition (see #463968). (clean): Fixed to not FTBFS. (.PHONY): configure shouldn't be a phony target. Added get-orig-source. * debian/watch: Added. * debian/patches/*: Removed patches not longer applied. [ LI Daobing ] * bad settings in 50mpqc-support.el (Closes: #234305) - mpqc-support.emacsen-startup: updated. * control: add me to uploaders, Source-Version is deprecated. * debian/rules: - lintian doesn't like "-$(MAKE) clean", see bug#325372 - debian policy 4.9 said that "build" is not optional * debian/control.in: - add Homepage fields and remove Homepage from package description. - set maintainer to Debichem Team. -- Daniel Leidert (dale) Sun, 09 Mar 2008 22:08:56 +0100 mpqc (2.3.1-1) unstable; urgency=low * New upstream release. + Includes updated libtool; closes: #320604. * debian/control.in (libsc7-dev): Remove superfluous Depends on libc6-dev. * debian/control.in (libsc7): Remove conflicts with older versions of libsc. * debian/rules (SO_NAME): Override to 7. -- Michael Banck Sun, 10 Sep 2006 22:32:33 +0200 mpqc (2.3.0-1) unstable; urgency=low * New upstream release. * debian/rules (SONAME): Activate awk snippet for automatic so-name detection again, resulting in a bump to `7' and making a `c2a' for the C++ allocator change unnecessary; closes: #339232. * debian/patches/00list (08_gcc-4.0_fixes): Removed, no longer needed. * debian/rules (test): Remove workarounds, do not abort build if tests fail. * debian/ref: Removed. * debian/control.in (libsc): Added Conflict against libsc6c2. -- Michael Banck Sun, 27 Nov 2005 11:41:49 +0100 mpqc (2.2.3-2) unstable; urgency=low * debian/patches/08_gcc-4.0_fixes.dpatch: New file. Build fixes for gcc-4.0 taken from upstream CVS. * debian/patches/00list: Include 08_gcc-4.0_fixes. * debian/rules (COMMONARGS): Removed --with-cc, --with-cxx and --with-f77. * debian/rules (SONAME): Set to '6c2' for C++ transition. * debian/control.in (libsc@SO_NAME@): Conflict with libsc6. -- Michael Banck Wed, 20 Jul 2005 02:03:20 +0200 mpqc (2.2.3-1) unstable; urgency=low * New upstream release. * debian/control (Build-Depends): Replace blas-dev with refblas3-dev and lapack-dev with lapack3-dev. Removed explicit mentions of g77-3.3, g++-3.3 and gcc-3.3. * debian/control (mpqc-support): Change dependency from tk8.2 to tk8.4; closes: #223750. -- Michael Banck Sun, 8 May 2005 14:36:13 +0200 mpqc (2.2.2-3) unstable; urgency=low * debian/patches/07_amd64_configure.dpatch: New file. Always use -O2 on amd64; closes: #277679. * debian/patches/00list: Include 07_amd64_configure. -- Michael Banck Fri, 26 Nov 2004 23:17:41 +0100 mpqc (2.2.2-2) unstable; urgency=low * Rebuilt against new blas/lapack libraries; closes: #280783. -- Michael Banck Sat, 13 Nov 2004 18:08:11 +0100 mpqc (2.2.2-1) unstable; urgency=low * New upstream release. * debian/rules (build): Normalize build flags to '-g -O2 -Wall'; closes: #255853. * debian/patches/00list (06_asm_fpu_h_include.dpatch): Dropped, applied upstream. -- Michael Banck Sat, 7 Aug 2004 01:17:41 +0200 mpqc (2.2.1-3) unstable; urgency=low * debian/patches/00list: Include 06_asm_fpu_h_include. -- Michael Banck Wed, 10 Mar 2004 10:47:18 +0100 mpqc (2.2.1-2) unstable; urgency=low * debian/patches/06_asm_fpu_h_include.dpatch: New file. Only #include on alpha machines. -- Michael Banck Mon, 8 Mar 2004 12:00:53 +0100 mpqc (2.2.1-1) unstable; urgency=low * New upstream release. - This bumps libsc's SO-name to 5:1:0. * debian/rules (LIBSC_DH_FILES): Fixed to actually work properly. * debian/rules (clean): Fixed typo. * debian/rules (.PHONY): Added debian/control, so that it gets generated every time. * debian/libsc-doc.manpages: Just use a wildcard, don't name all those manpages one by one. -- Michael Banck Tue, 6 Jan 2004 12:35:38 +0100 mpqc (2.1.5-1) unstable; urgency=low * The 'Yessir, I'm ready, sarge' release. * New upstream release. * debian/patches/00list (01_config_sub_guess.dpatch): dropped, fixed upstream. * (03_libtool_so.dpatch): Likewise. * (04_libtool_fortran_compile.dpatch): Likewise. * (05_beautify_configure_in.dpatch): Likewise. * debian/rules (test): Switch on again all test-runs that were run in prior debian releases, 2.1.4-1 ran only one for debugging reasons. -- Michael Banck Sat, 1 Nov 2003 13:03:32 +0100 mpqc (2.1.4-1) unstable; urgency=low * Split the upstream part of the debian-diff into two dpatch-patches: - debian/patches/01_config_sub_guess.dpatch: New file. - debian/patches/02_namespace_std.dpatch: New file. - debian/patches/00list: New file. * bin/config.guess, bin/config.sub: Updated with latest FSF version (01_config_sub_guess.dpatch). * debian/patches/00list: 02_namespace_std.dpatch dropped, upstream uses latest flex now. * debian/rules (COMMON_ARGS): Explicitly specify gcc-3.3 et. al. * debian/control.in (Build-Depends): - Changed back from flex-old to flex. - Added dpatch. * debian/rules (TMPDIR): New variable. * debian/rules (LIBSC_DIR): Removed. * debian/rules (LIBSC_DEV_DIR): Likewise. * debian/rules (MPQC_DIR): Likewise. * debian/rules (SUPPORT_DIR): Likewise. * debian/rules (DOC_DIR): Likewise. * debian/rules (install-arch-stamp): - Do not install compile.el; closes: #183333. - Do not call 'libtool --finish' anymore. - Let 'make install' put stuff under $TMPDIR. - Removed all legacy file moving copying which was necessary to put everything into the right package. Enter dh_install. * bin/ltmain.sh: Fixed shared library naming, thanks to Curtis Janssen . (03_libtool_so.dpatch) * debian/patches/00list: Added 03_libtool_so.dpatch. * lib/GlobalRules: Handle fortran77 source files with libtool, too. (04_libtool_fortran_compile.dpatch) * debian/patches/00list: Added 04_libtool_fortran_compile.dpatch. * debian/mpqc.install, debian/mpqc-support.install, debian/mpqc-doc.install, debian/libsc-dev.install, debian/libsc-doc.install, debian/libsc_SONAME_.install: New files. * debian/copyright: - Changed Maintainer's email adress. - Clarify that the debian packaging files are under the GPL. * debian/rules: Rewrote header, adding a copyright and license statement. * debian/rules (install-indep, install-indep-stamp): Removed. * debian/rules (binary-indep): Removed install-indep dependency. * debian/control (Standards-Version): Bump to 3.6.1.0. * debian/rules (LIBSC_DH_FILES): New variable. * debian/rules (debian/control): New target. * debian/rules (debian/libsc_dh_files): Likewise. * debian/rules (clean): - Depend on debian/control. - Remove autogenerated debian/libsc* files. * debian/rules (binary-common): - Added dh_install. - Revoved dh_undocumented. - Depend on debian/libsc_dh_files. * configure.in: Fix some status messages to comply to standard configure output. (05_beautify_configure_in.dpatch) * debian/patches/00list: Added 05_beautify_configure_in.dpatch. * debian/mpqcval.pl: Adjust temporary staging location for mpqc executable and libraries, which are now under debian/tmp/. * debian/rules (test): Likewise. -- Michael Banck Mon, 22 Sep 2003 19:50:35 +0200 mpqc (2.1.3-3) unstable; urgency=low * debian/rules: - drop --with-gcc= directives for gcc-3.2 - use --with-sc-includedir instead of --includedir - removed build:-target in favor of build-arch and build-indep * bin/sc-config.in: therefore, revert includedir to @scincludedir@ * debian/control.in: - moved libsc-dev from devel to libdevel section - moved doxygen into Build-Depends-Indep - Build-Depend on flex-old; closes: #193469 - removed explicit gcc-3.2 Build-Depends -- Michael Banck Mon, 26 May 2003 16:37:29 +0200 mpqc (2.1.3-2) unstable; urgency=low * bin/config.{guess,sub}: Updated to hopefully help building on mips * debian/rules: - make sure debian/control gets written in clean-target, too; closes: #176891 - added --includedir=/usr/include/sc to COMMONARGS, so that sc-config --cppflags will display the proper path - split binary-arch and binary-indep so that they can get built seperately; closes: #179400 * debian/emacsen-*: renamed to debian/mpqc-support.emacsen-*, as they only belong into the mpqc-support package; closes: #177210 * configure, configure.in: Add a 'using namespace std;' to the flex test-program (not running autoconf at the moment) * src/lib/util/keyval/*.cc: rearranged std namespace to include the #include that drags in FlexLexer.h * bin/sc-config.in: reverted @scincludedir@ back to @includedir@ to make sc-config --cppflags *really* display the proper path -- Michael Banck Sat, 22 Feb 2003 16:30:11 +0100 mpqc (2.1.3-1) unstable; urgency=low * The 'half a year later' release * New upstream release, changing libsc's SO-name to 4:0:0 - Upstream mandates gcc-3.2 for this SO-name, therefore no 'c102' library package name * debian/rules: - Automated SO-name handling, added to debian/substvars - Did away with ugly dh_makeshlibs and dh_shlibdeps hacks - Trimmed down pathnames by using variables * doc/doxygen.cfg.in: Enabled building of manpages in mpqc-doc * debian/control: - Changed libsc-doc's description to reflect the included manpages - New binary package mpqc-support, including - The perl modules Molecule.pm, QCParse.pm and QCResult.pm - The molrender program - The validation suite input- and description-files - Emacs modes to faciliate editing of mpqc-related files - Bumped Standards-Version to 3.5.6.1 - Let libsc-dev and not libsc itself suggest libsc-doc - Changed long description for easier understanding * debian/README.Debian: documented how to run the validation suite * Enabled some test-runs from the validation suite * src/lib/util/keyval/Makefile: fix for bison-1.875 provided by upstream -- Michael Banck Sat, 11 Jan 2003 15:05:56 +0100 mpqc (2.0.4-3) unstable; urgency=low * Applied patch provided by upstream fixing breakage with bison 1.75; closes: #166266 -- Michael Banck Sat, 26 Oct 2002 03:09:59 +0200 mpqc (2.0.4-2) unstable; urgency=low * Changed maintainer's email address * debian/rules: Fix for m68k build-failure, provided by Rick Younie; closes: #146040 * debian/changelog: removed local Emacs-variables -- Michael Banck Mon, 30 Sep 2002 18:20:32 +0200 mpqc (2.0.4-1) unstable; urgency=low * New upstream release * Changed libsc-dev's Depends: from libsc1 to libsc2. D'oh. -- Michael Banck Sat, 2 Mar 2002 13:51:36 +0100 mpqc (2.0.3-1) unstable; urgency=low * New upstream release; closes: #133051 * SO-name bumped to 2:0:0 in agreement with upstream's versioning -- Michael Banck Sun, 17 Feb 2002 20:32:20 +0100 mpqc (2.0.1-1) unstable; urgency=low * New upstream release * SO-name bumped to 1:0:0 in agreement with upstream's versioning * Hardcoded CFLAGS='-O0 -Wall', this allows to build fine on s/390 at least -- Michael Banck Sat, 12 Jan 2002 00:22:23 +0100 mpqc (2.0.0-3) unstable; urgency=low * Changed --with-sc-datadir from ${prefix}/share/mpqc to /usr/share/mpqc. mpqc did not find its data files. * Changed datadir= to scdatadir= in debian/rules install: * Changed SC_VERSION back to 2.0.0 (got changed by the applied patch from 2.0.0-2 below) -- Michael Banck Tue, 8 Jan 2002 23:57:26 +0100 mpqc (2.0.0-2) unstable; urgency=low * Applied the patch provided by upstream that resolves most of the 2.0.0-1 changes I describe below. * Changed buildid and SO-name from [pre1] and [1:0:0] back to [] and [0:0:0] * Updated bin/config.sub and bin/config.guess so that they recognize ia64 and s390 * Added '--disable-parallel' to the configure switches -- Michael Banck Tue, 25 Dec 2001 00:41:09 +0100 mpqc (2.0.0-1) unstable; urgency=low * Initial Release; closes: #116157 * Compiled manpages for mpqc, sc-config, scls and scpr from the documentation * Changed files.cc and atominfo.cc to look for data files in DATADIR instead of INSTALLED_SCLIBDIR * Added AC_DEFINE for DATADIR in configure.in and scconfig.h * Changed all library names from lib* to libSC* in agreement with upstream * Added some distclean rules to various Makefiles * Changed sc-config to honor $includedir instead of $prefix/include * Added a SO-name for shared libraries, starting with 0:0:0 -- Michael Banck Sun, 9 Dec 2001 12:44:59 +0100 debian/chkmpqcval0000664000000000000000000003337312111654747011265 0ustar #!/usr/bin/perl -I/usr/share/perl5 require QCResult; my $log10 = log(10.0); if ($ARGV[0] eq "-r") { shift; foreach $file1 (@ARGV) { $file2 = $file1; $file1 =~ s/run\//ref\//; check($file1, $file2); } } elsif ($ARGV[0] eq "-d") { shift; my $dir = $ARGV[0]; shift; my $rundir = $ARGV[0]; shift; if (!$rundir) { $rundir = "/usr/share/mpqc/validate"; } opendir(DIR,"$dir"); my @files = sort(readdir(DIR)); closedir(DIR); foreach $file (@files) { if ($file =~ /.out$/) { check("$dir/$file", "$rundir/$file"); } } } elsif ($#ARGV+1 == 2) { my $file1 = shift; my $file2 = shift; # for AIX, which isn't processing the {,} in the argument if ($file1 =~ /(.*){(.*),(.*)}(.*)/) { $file1 = "$1$2$4"; $file2 = "$1$3$4"; } check($file1, $file2); } else { my $dir = "."; my $rundir = "/usr/share/mpqc/validate"; opendir(DIR,"$dir"); my @files = sort(readdir(DIR)); closedir(DIR); foreach $file (@files) { if ($file =~ /.out$/) { check("$dir/$file", "$rundir/$file"); } } } # Takes the name of the output file as the first argument. It must end in # a .out. The QCInput file must be in the same directory and must end in a # .qci. The optional second argument is the path to an output file that are # to be compared to the file given by the first argument. sub check { my $fileout = shift; my $comparefileout = shift; my $file = $fileout; $file =~ s/\.out$//; my $filein = "/usr/share/mpqc/validate/$file.qci"; my $result = new QCResult("$filein","$fileout"); my $ok = "failed"; if ($result->ok()) { if ($result->inputok()) { $ok = "ok"; } else { $ok = "(ok)"; } } else { if (! $result->inputok()) { $ok = "(failed)"; } } $ok = "missing" if (! $result->exists()); my $basename = $file; $basename =~ s=^.*/([^/]*)$=\1=; if ($comparefileout eq "") { $basename = "$basename:"; printf "%-28s %s", $basename, $ok; if ($result->ok()) { printf " %14.8f", $result->energy(); } } else { my $comparefile = "$comparefileout"; $comparefile =~ s/\.out$//; my $comparebasename = $comparefile; $comparebasename =~ s=^.*/([^/]*)$=\1=; if ($basename eq $comparebasename) { $basename = "$basename:"; printf "%-28s %s", $basename, $ok; } else { my $files = "$basename/$comparebasename:"; printf "%-35s %s", $files, $ok; } if (-f "$comparefile.out") { my $comparefileout = "$comparefile.out"; my $comparefilein = "$comparefile.qci"; my $cresult = new QCResult($comparefilein,$comparefileout); my $compareok = "failed"; $compareok = "ok" if ($cresult->ok()); printf " %s", $compareok; if ($cresult->ok() && $result->ok()) { #printf " %14.8f %14.8f", $result->energy(),$cresult->energy(); my $ldiff = compare_numbers($result->energy(),$cresult->energy()); printf " E:%2d", $ldiff; print "*" if ($ldiff <= 6); if ($result->input()->gradient() && ! $result->input()->optimize()) { my $maxerror = compare_vecs($result->gradient(), $cresult->gradient()); printf " Grad:%2d", $maxerror; print "*" if ($maxerror <= 6); } if ($result->input()->optimize()) { my $maxerror = compare_vecs( $result->optmolecule()->geometry(), $cresult->optmolecule()->geometry()); printf " Geom:%2d", $maxerror; print "*" if ($maxerror <= 4); } if ($result->input()->frequencies()) { my $maxerror = compare_vecs($result->frequencies(), $cresult->frequencies()); printf " Freq:% 2d", $maxerror; print "*" if ($maxerror <= -2); } if ($result->s2norm() && $cresult->s2norm()) { my $maxerror = compare_numbers($result->s2norm(), $cresult->s2norm()); printf " S2N:%d", $maxerror; print "*" if ($maxerror <= 8); } if (!$cresult->degenerate() && $result->s2matrix1norm() && $cresult->s2matrix1norm()) { my $maxerror = compare_numbers($result->s2matrix1norm(), $cresult->s2matrix1norm()); printf " |S2|1:%d", $maxerror; print "*" if ($maxerror <= 8); } if ($result->d1mp2() && $cresult->d1mp2()) { my $maxerror = compare_numbers($result->d1mp2(), $cresult->d1mp2()); printf " D1:%d", $maxerror; print "*" if ($maxerror <= 8); } if ($result->d2mp1() && $cresult->d2mp1()) { my $maxerror = compare_numbers($result->d2mp1(), $cresult->d2mp1()); printf " D2:%d", $maxerror; print "*" if ($maxerror <= 8); } if (!$cresult->degenerate() && $result->s2matrixinfnorm() && $cresult->s2matrixinfnorm()){ my $maxerror = compare_numbers($result->s2matrixinfnorm(), $cresult->s2matrixinfnorm()); printf " |S2|i:%d", $maxerror; print "*" if ($maxerror <= 8); } if ($result->npacharge() && $cresult->npacharge()) { my $maxerror = compare_vecs($result->npacharge(), $cresult->npacharge()); printf " NPAq:%d", $maxerror; print "*" if ($maxerror <= 5); #printf "npacharge\n"; #print_vec($result->npacharge()); } if ($result->npashellpop() && $cresult->npashellpop()) { my $maxerror = compare_vecvecs($result->npashellpop(), $cresult->npashellpop()); printf " NPAp:%d", $maxerror; print "*" if ($maxerror <= 5); #printf "npashellpop\n"; #print_vecvec($result->npashellpop()); } if (!$cresult->degenerate() && $result->s2large_coef() && $cresult->s2large_coef()) { my $maxerror = compare_vecs_magnitude($result->s2large_coef(), $cresult->s2large_coef()); printf " S2L:%d", $maxerror; print "*" if ($maxerror <= 8); my $n = n_nonzero_in_vec($result->s2large_coef()); my $xok = compare_string_vecs($result->s2large_i(), $cresult->s2large_i(),$n) && compare_string_vecs($result->s2large_a(), $cresult->s2large_a(),$n); #printf "coef\n"; #print_vec($result->s2large_coef()); #printf "i\n"; #print_string_vec($result->s2large_i()); #printf "a\n"; #print_string_vec($result->s2large_a()); if ($xok) { print " X:OK" } else { print " X:*" } } if (!$cresult->degenerate() && $result->d1large_coef() && $cresult->d1large_coef()) { my $maxerror = compare_vecs_magnitude($result->d1large_coef(), $cresult->d1large_coef()); printf " D1L:%d", $maxerror; print "*" if ($maxerror <= 8); my $n = n_nonzero_in_vec($result->d1large_coef()); my $xok = compare_string_vecs($result->d1large_i(), $cresult->d1large_i(),$n) && compare_string_vecs($result->d1large_j(), $cresult->d1large_j(),$n) && compare_string_vecs($result->d1large_a(), $cresult->d1large_a(),$n) && compare_string_vecs($result->d1large_b(), $cresult->d1large_b(),$n) && compare_string_vecs($result->d1large_spin(), $cresult->d1large_spin(),$n); if ($xok) { print " X:OK" } else { print " X:*" } #printf "coef\n"; #print_vec($result->d1large_coef()); #printf "i\n"; #print_string_vec($result->d1large_i()); #printf "j\n"; #print_string_vec($result->d1large_j()); #printf "a\n"; #print_string_vec($result->d1large_a()); #printf "b\n"; #print_string_vec($result->d1large_b()); #printf "spin\n"; #print_string_vec($result->d1large_spin()); } } else { if (($result->exists() && $cresult->exists()) ||($result->exists() && !$result->ok()) ||($cresult->exists() && !$cresult->ok())) { printf " cannot compare since one calc failed"; } } } else { printf " missing"; } } printf "\n"; } sub tofilename { my $raw = shift; $raw =~ tr/A-Z/a-z/; $raw =~ s/-//g; $raw =~ s/\*/s/g; $raw; } sub compare_numbers { my $num1 = shift; my $num2 = shift; my $diff = abs($num1-$num2); my $ldiff; if ($diff == 0) { $ldiff = 99; } else { $ldiff = -log($diff)/$log10; } $ldiff; } # counts how many elements until we get to the first # element equal to zero sub n_nonzero_in_vec { my $vref = shift; my @v = @{$vref}; my $n = 0; my $e1; while (($e1 = shift @v1)) { last if (abs($e1) < 1.0e-6); $n = $n + 1; } $n; } sub compare_vecs { my $v1ref = shift; my $v2ref = shift; my @v1 = @{$v1ref}; my @v2 = @{$v2ref}; my $e1, $e2; my $maxerror = 99; my $nv1 = @v1; my $nv2 = @v2; if ($nv1 != $nv2) { printf ""; return -$maxerror; } while (($e1 = shift @v1) &&($e2 = shift @v2)) { my $diff = abs($e2-$e1); my $ldiff; if ($diff == 0) { $ldiff = 99; } else { $ldiff = -log($diff)/$log10; } if ($ldiff < $maxerror) { $maxerror = $ldiff; } } $maxerror; } sub compare_vecs_magnitude { my $v1ref = shift; my $v2ref = shift; my @v1 = @{$v1ref}; my @v2 = @{$v2ref}; my $e1, $e2; my $maxerror = 99; my $nv1 = @v1; my $nv2 = @v2; if ($nv1 != $nv2) { printf ""; return -$maxerror; } while (($e1 = shift @v1) &&($e2 = shift @v2)) { my $diff = abs(abs($e2)-abs($e1)); my $ldiff; if ($diff == 0) { $ldiff = 99; } else { $ldiff = -log($diff)/$log10; } if ($ldiff < $maxerror) { $maxerror = $ldiff; } } $maxerror; } sub compare_vecvecs { my $v1ref = shift; my $v2ref = shift; my @v1 = @{$v1ref}; my @v2 = @{$v2ref}; my $e1, $e2; my $maxerror = 99; my $nv1 = @v1; my $nv2 = @v2; if ($nv1 != $nv2) { printf ""; return -$maxerror; } while (($e1 = shift @v1) &&($e2 = shift @v2)) { my $diff = abs($e2-$e1); my $ldiff = compare_vecs($e1,$e2); if ($ldiff < $maxerror) { $maxerror = $ldiff; } } $maxerror; } # returns 1 if the vecs are identical for as many elements # are given in the third argument sub compare_string_vecs { my $v1ref = shift; my $v2ref = shift; my $n = shift; my @v1 = @{$v1ref}; my @v2 = @{$v2ref}; my $nv1 = @v1; my $nv2 = @v2; if ($nv1 != $nv2) { printf ""; return 0; } my $e1, $e2; my $i = 0; while (($e1 = shift @v1) &&($e2 = shift @v2) && $i < $n) { if ($e1 ne $e2) { return 0; } $i = $i + 1; } 1; } sub print_vec { my $v1ref = shift; my @v1 = @{$v1ref}; my $e1; while ($e1 = shift @v1) { printf " %12.8f\n", $e1; } } sub print_vecvec { my $v1ref = shift; my @v1 = @{$v1ref}; my $e1; while ($e1 = shift @v1) { my @v2 = @{$e1}; my $e2; while ($e2 = shift @v2) { printf " %12.8f", $e2; } printf "\n"; } } sub print_string_vec { my $v1ref = shift; my @v1 = @{$v1ref}; my $e1; while ($e1 = shift @v1) { printf " %s\n", $e1; } } debian/upstream0000664000000000000000000000067612230051666010765 0ustar Name: MPQC Homepage: http://www.mpqc.org Contact: Edward F. Valeev Cite-As: "The Massively Parallel Quantum Chemistry Program (MPQC), Version , Curtis L. Janssen, Ida B. Nielsen, Matt L. Leininger, Edward F. Valeev, Joseph P. Kenny, Edward T. Seidl, Sandia National Laboratories, Livermore, CA, 2008." Repository: https://github.com/ValeevGroup/mpqc.git Repository-Browse: https://github.com/ValeevGroup/mpqc debian/mpqc-support.dirs0000664000000000000000000000010712111654747012533 0ustar usr/share/perl5 usr/share/mpqc/validate usr/share/emacs/site-lisp/mpqc debian/libsc-doc.dirs0000664000000000000000000000003512111654747011720 0ustar usr/share/doc/libsc-doc/html debian/libsc-dev.manpages0000664000000000000000000000007312111654747012565 0ustar debian/man/sc-config.1 debian/man/scls.1 debian/man/scpr.1 debian/mpqc-support.undocumented0000664000000000000000000000006112111654747014263 0ustar mpqcval.1 chkmpqcval.1 molrender.1 tkmolrender.1 debian/libsc7.dirs0000664000000000000000000000001012111654747011235 0ustar usr/lib debian/compat0000664000000000000000000000000212111654747010376 0ustar 8 debian/mpqc-support.emacsen-startup0000664000000000000000000000163312111654747014712 0ustar ;; -*-emacs-lisp-*- ;; ;; Emacs startup file for the Debian GNU/Linux mpqc-support package ;; ;; Originally contributed by Nils Naumann ;; Modified by Dirk Eddelbuettel ;; Adapted for dh-make by Jim Van Zandt ;; The mpqc-support package follows the Debian/GNU Linux 'emacsen' policy ;; and byte-compiles its elisp files for each 'emacs flavor' (emacs19, ;; xemacs19, emacs20, xemacs20...). The compiled code is then ;; installed in a subdirectory of the respective site-lisp directory. ;; We have to add this to the load-path: (setq load-path (cons (concat "/usr/share/" (symbol-name flavor) "/site-lisp/mpqc") load-path)) (autoload 'mpqc-mode "mpqc" "Major mode for mpqc output files." t) ;; (setq auto-mode-alist ;; (append '( ;; ("\\.in$" . mpqc-mode) ;; ) auto-mode-alist )) debian/libsc7.lintian-overrides0000664000000000000000000000030412111654747013740 0ustar ## the libsc7 package contains the full collection of mpqc libraries - a split ## is not planned atm and should be suggested only with compelling reasons libsc7: package-name-doesnt-match-sonames debian/mpqc-support.emacsen-install0000664000000000000000000000231512111654747014654 0ustar #! /bin/sh -e # /usr/lib/emacsen-common/packages/install/mpqc # Written by Jim Van Zandt , borrowing heavily # from the install scripts for gettext by Santiago Vila # and octave by Dirk Eddelbuettel . FLAVOR=$1 PACKAGE=mpqc if [ ${FLAVOR} = emacs ]; then exit 0; fi echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} #FLAVORTEST=`echo $FLAVOR | cut -c-6` #if [ ${FLAVORTEST} = xemacs ] ; then # SITEFLAG="-no-site-file" #else # SITEFLAG="--no-site-file" #fi FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} # Install-info-altdir does not actually exist. # Maybe somebody will write it. if test -x /usr/sbin/install-info-altdir; then echo install/${PACKAGE}: install Info links for ${FLAVOR} install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz fi install -m 755 -d ${ELCDIR} cd ${ELDIR} FILES=`echo *.el` cp ${FILES} ${ELCDIR} cd ${ELCDIR} cat << EOF > path.el (setq load-path (cons "." load-path) byte-compile-warnings nil) EOF ${FLAVOR} ${FLAGS} ${FILES} rm -f *.el path.el exit 0 debian/mpqc-support.emacsen-remove0000664000000000000000000000071112111654747014501 0ustar #!/bin/sh -e # /usr/lib/emacsen-common/packages/remove/mpqc FLAVOR=$1 PACKAGE=mpqc if [ ${FLAVOR} != emacs ]; then if test -x /usr/sbin/install-info-altdir; then echo remove/${PACKAGE}: removing Info links for ${FLAVOR} #install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/mpqc.info.gz fi echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} fi debian/mpqc.install0000664000000000000000000000001512111654747011524 0ustar usr/bin/mpqc debian/libsc-doc.manpages0000664000000000000000000000003312111654747012550 0ustar ./build-doc/doc/man/man3/* debian/copyright0000664000000000000000000000763712111654747011150 0ustar This package was debianized by Michael Banck on Sat, 13 Oct 2001. It was downloaded from: http://downloads.sourceforge.net/mpqc/ Upstream Authors: Curtis L. Janssen Edward Seidl Ida Nielsen Edward Valeev Joseph Kenny Copyright: Copyright (C) 2004 Sandia National Laboratories. Copyright (C) 2001-2005 Edward Valeev Copyright (c) 1997-1999 Silicon Graphics Computer Systems, Inc. Copyright (C) 1996-1998 Limit Point Systems, Inc. License for the executables: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 dated June, 1991. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. On Debian GNU/Linux systems, the complete text of the GNU General Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'. License for the libraries: This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in one of `/usr/share/common-licenses/LGPL*'. License and Copyright for src/lib/math/isosurf/implicit.c: Authored by Jules Bloomenthal, Xerox PARC. Copyright (C) Xerox Corporation, 1991. All rights reserved. Permission is granted to reproduce, use and distribute this code for any and all purposes, provided that this notice appears in all copies. License and Copyright for src/lib/util/misc/autovec.h: Copyright (c) 1997-1999 Silicon Graphics Computer Systems, Inc. Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Silicon Graphics makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. License and Copyright for src/lib/util/misc/scint.h: Portions Copyright (C) 1999 boost.org. Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose. The Debian packaging files are Copyright (C) 2001-2008 by Michael Banck and (C) 2007,2008 by the Debichem Team . They are licensed under the GNU General Public License version 2, see also `/usr/share/common-licenses/GPL-2'. debian/source/0000775000000000000000000000000012111654747010500 5ustar debian/source/format0000664000000000000000000000001412111654747011706 0ustar 3.0 (quilt) debian/README.Debian0000664000000000000000000000132012111654747011235 0ustar mpqc for Debian --------------- -- The mpqc validation suite -- To run the mpqc validation suite, install the mpqc-support package, make a "/tmp/mpqc-val" directory and do cd /tmp/mpqc-val; mpqcval or, if you do not want to run the whole validation suite (which takes a *lot* of time), do something like cd /tmp/mpqc-val; mpqcval /usr/share/mpqc/validate/h2o_* You can check the .out files for correctness via cd /tmp/mpqc-val; chkmpqcval If everything is alright, you get output like h2o_mp2006311gssc1: ok ok E:99 D1L:99 X:OK h2o_mp2006311gssc1opt: ok ok E:99 Geom:99 D1:99 D2:99 S2L:99 X:OK D1L:99 X:OK and so on. -- Michael Banck Thu, 11 Dec 2008 20:20:44 +0200 debian/TODO0000664000000000000000000000111512111654747007666 0ustar TODO for mpqc ------------- + mpqc creates own manpages for sc-config, mpqc, ... - Shall we ship the self-written files instead? + doxygen created manpages result in a mass of hyphen-used-as-minus-sign messages. We cannot fix them, but we can suppress them via override as long as this issue is unfixed/unaddressed in doxygen -- lintian doesn't print warnings about this anymore - so we could live with that result + we should ship src/bin/mpqc/mpqcrun + move scls and scpr to mpqc-support? + libint integration, once it is in Debian + CCA integration debian/libsc-doc.install0000664000000000000000000000004212111654747012423 0ustar usr/html usr/share/doc/libsc-doc/ debian/libsc-doc.doc-base0000664000000000000000000000102512111654747012434 0ustar Document: libsc-doc Title: The Scientific Computing Toolkit (SC) Author: Curtis L. Janssen Abstract: The Scientific Computing toolkit (SC) provides C++ class libraries for scientific computation. Included are classes for managing memory, saving and restoring the state of objects, reading objects from an input file, parallel communication, matrix algebra, among others. Section: Programming Format: HTML Index: /usr/share/doc/libsc-doc/html/index.html Files: /usr/share/doc/libsc-doc/html/*.html debian/mpqc.dirs0000664000000000000000000000004412111654747011021 0ustar usr/bin usr/share/doc/mpqc/examples debian/mpqcval.pl0000664000000000000000000000324712111654747011206 0ustar #!/usr/bin/perl # Modified by Michael Banck to run # during the mpqc-build process # If this is set to run, then runs involving the largest # basis sets will be skipped. $small = 1; # This is the number of jobs that will be run concurrently. $maxjobs = 2; # The path to the MPQC executable $mpqc = "../../../../../../debian/tmp/usr/bin/mpqc"; # So that MPQC finds its basis files $ENV{SCLIBDIR} = "../../../../../../debian/tmp/usr/share/mpqc"; ###################################################################### # autoflush output $| = 1; if ($ARGV[0] eq "-readdir") { opendir(DIR,"."); @files = sort(readdir(DIR)); closedir(DIR); } else { @files = sort(@ARGV); } $n = 0; foreach $j (@files) { if (!($j =~ /\.in$/)) { next; } $out = "$j"; $out =~ s/\.[^.]*$/.out/; printf "%s ", $out; $issmall = (!($j =~ /ccpc?v[tq5]z/)); $can_run_concurrent = ! ($j =~ /^ckpt_[0-9]/); if ($small && $issmall != 1) { printf "skipping possibly big job\n"; } elsif ( -f $out && ( -M $out < -M $j && -M $out < -M "$mpqc") ) { printf "skipping file that is up-to-date\n"; } else { if (! $can_run_concurrent || $maxjobs == 1) { printf "starting in foreground\n"; $pid = fork(); if ($pid == 0) { exec("$mpqc -o $out $j"); } waitpid($pid,''); } else { if (fork() == 0) { exec("$mpqc -o $out $j"); } printf "started\n"; $n = $n + 1; } } while ($n >= $maxjobs) { wait(); $n = $n - 1; } } foreach $i (1..$n) { wait(); } debian/libsc-dev.install0000664000000000000000000000010712111654747012436 0ustar usr/bin/scls usr/bin/scpr usr/bin/sc-config usr/lib/*so usr/include/sc debian/mpqc-support.manpages0000664000000000000000000000013512111654747013366 0ustar debian/man/chkmpqcval.1 debian/man/molrender.1 debian/man/mpqcval.1 debian/man/tkmolrender.1 debian/mpqc.docs0000664000000000000000000000002012111654747011002 0ustar README CITATION debian/libsc-dev.dirs0000664000000000000000000000003712111654747011733 0ustar usr/bin usr/lib usr/include/sc debian/control0000664000000000000000000001203712223540203010567 0ustar Source: mpqc Priority: optional Section: science Maintainer: Debichem Team Uploaders: Michael Banck Build-Depends: autotools-dev (>> 20100122.1~), bison, chrpath, debhelper (>> 8), doxygen, flex, gfortran, libblas-dev, liblapack-dev, libint-dev, mpi-default-bin, mpi-default-dev, perl, tk Standards-Version: 3.9.2 Homepage: http://www.mpqc.org Vcs-Browser: http://svn.debian.org/wsvn/debichem/unstable/mpqc/ Vcs-Svn: svn://svn.debian.org/svn/debichem/unstable/mpqc/ DM-Upload-Allowed: yes Package: mpqc Architecture: any Depends: libsc-data (= ${source:Version}), mpi-default-bin, ${misc:Depends}, ${shlibs:Depends} Breaks: mpqc-openmpi (<< 2.3.1-7) Replaces: mpqc-openmpi (<< 2.3.1-7) Suggests: mpqc-support Description: Massively Parallel Quantum Chemistry Program MPQC is an ab-inito quantum chemistry program. It is especially designed to compute molecules in a highly parallelized fashion. . It can compute energies and gradients for the following methods: * Closed shell and general restricted open shell Hartree-Fock (HF) * Density Functional Theory (DFT) * Closed shell second-order Moeller-Plesset pertubation theory (MP2) . Additionally, it can compute energies for the following methods: * Open shell MP2 and closed shell explicitly correlated MP2 theory (MP2-R12) * Second order open shell pertubation theory (OPT2[2]) * Z-averaged pertubation theory (ZAPT2) . It also includes an internal coordinate geometry optimizer. . MPQC is built upon the Scientific Computing Toolkit (SC). Package: mpqc-openmpi Architecture: all Section: oldlibs Priority: extra Depends: mpqc (>= 2.3.1-7), ${misc:Depends} Breaks: mpqc (<< 2.3.1-7) Description: Massively Parallel Quantum Chemistry Program (OpenMPI transitional package) MPQC is an ab-inito quantum chemistry program. It is especially designed to compute molecules in a highly parallelized fashion. . This package merely depends on the main (MPI-enabled) mpqc package. Package: libsc-dev Architecture: any Section: libdevel Depends: libsc7 (= ${binary:Version}), mpi-default-dev, ${misc:Depends}, ${shlibs:Depends} Suggests: libsc-doc Description: Scientific Computing Toolkit (development files) The Scientific Computing toolkit (SC) provides C++ class libraries for scientific computation. Included are classes for managing memory, saving and restoring the state of objects, reading objects from an input file, parallel communication, matrix algebra, among others. . Class libraries supporting quantum chemistry applications are provided with this distribution of SC. . This package includes the static libraries and header files. Package: libsc7 Architecture: any Section: libs Depends: libsc-data (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends} Description: Scientific Computing Toolkit (library) The Scientific Computing toolkit (SC) provides C++ class libraries for scientific computation. Included are classes for managing memory, saving and restoring the state of objects, reading objects from an input file, parallel communication, matrix algebra, among others. . Class libraries supporting quantum chemistry applications are provided with this distribution of SC. . This package includes the shared libraries. Package: libsc-data Architecture: all Section: libs Depends: ${misc:Depends}, ${shlibs:Depends} Replaces: mpqc (<< 2.3.1-5) Description: Scientific Computing Toolkit (basis set and atom data) The Scientific Computing toolkit (SC) provides C++ class libraries for scientific computation. Included are classes for managing memory, saving and restoring the state of objects, reading objects from an input file, parallel communication, matrix algebra, among others. . Class libraries supporting quantum chemistry applications are provided with this distribution of SC. . This package includes the basis set and atom data. Package: libsc-doc Architecture: all Section: doc Depends: ${misc:Depends} Description: Scientific Computing Toolkit (documentation) The Scientific Computing toolkit (SC) provides C++ class libraries for scientific computation. Included are classes for managing memory, saving and restoring the state of objects, reading objects from an input file, parallel communication, matrix algebra, among others. . This package includes the HTML-documentation and the manpages of the classes. Package: mpqc-support Architecture: any Depends: mpqc, tk, ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends} Description: Massively Parallel Quantum Chemistry Program (support tools) MPQC is an ab-inito quantum chemistry program. It is especially designed to compute molecules in a highly parallelized fashion. . This package includes Perl modules to parse the output, Emacs-modes to facilitate editing mpqc files and molrender, a program to output the molecules in OOGL-format. debian/libsc-data.install0000664000000000000000000000010712111654747012571 0ustar usr/share/mpqc/basis/* usr/share/mpqc/atominfo.kv usr/share/mpqc/magic debian/mpqc-support.install0000664000000000000000000000051712111654747013245 0ustar usr/bin/*molrender usr/share/mpqc/elisp/SC.el usr/share/emacs/site-lisp/mpqc/ usr/share/mpqc/elisp/keyval.el usr/share/emacs/site-lisp/mpqc/ usr/share/mpqc/elisp/mpqc.el usr/share/emacs/site-lisp/mpqc/ usr/share/mpqc/perl/*.pm usr/share/perl5/ ../../src/bin/mpqc/validate/ref/* usr/share/mpqc/validate ../../debian/*mpqcval usr/bin/ debian/mpqc.examples0000664000000000000000000000003612111654747011677 0ustar src/bin/mpqc/validate/input/* debian/mpqc.manpages0000664000000000000000000000002212111654747011647 0ustar debian/man/mpqc.1 debian/patches/0000775000000000000000000000000012245221563010621 5ustar debian/patches/16_format-security.patch0000664000000000000000000000075312245221375015313 0ustar --- ./src/lib/chemistry/molecule/atominfo.cc.orig 2013-11-26 23:37:19.612235643 +0100 +++ ./src/lib/chemistry/molecule/atominfo.cc 2013-11-26 23:37:37.876330676 +0100 @@ -493,7 +493,7 @@ if (iname != symbol_to_Z_.end()) return iname->second; if (allow_exceptions) { - ExEnv::err0() << sprintf("AtomInfo: invalid name: %s\n",name.c_str()); + ExEnv::err0() << ("AtomInfo: invalid name: " + name + "\n").c_str(); throw std::runtime_error("invalid atom name"); } debian/patches/09_build_docdir.patch0000664000000000000000000000056312111654747014607 0ustar ## 09_build_docdir.dpatch by Michael Banck ## DP: Build the doc subdirectory by default --- ./Makefile.orig 2011-09-08 20:33:24.878145726 +0200 +++ ./Makefile 2011-09-08 20:33:32.758238554 +0200 @@ -9,7 +9,7 @@ ifeq ($(LOCALMAKEFILE_FOUND),yes) -SUBDIRS = lib bin src +SUBDIRS = lib bin src doc include $(SRCDIR)/$(TOPDIR)/lib/GlobalSubDirs debian/patches/07_amd64_configure.patch0000664000000000000000000000213012111654747015126 0ustar ## 07_amd64_configure.dpatch by Kurt Roeckx ## DP: Only include on alpha machines --- ./configure.in.old 2004-04-23 19:36:04.000000000 +0200 +++ ./configure.in 2004-10-18 14:49:32.000000000 +0200 @@ -622,6 +622,15 @@ fi AC_MSG_RESULT("i586 or i686") ;; + x86_64-*) + if test X$GCC != Xyes; then + COPTIONS_OPT="-O2" + fi + if test X$GXX = Xyes; then + CXXOPTIONS_OPT="-O2" + fi + AC_MSG_RESULT("x86_64") + ;; i860-intel-*) if test X$GCC != Xyes; then COPTIONS_OPT="-O3 -Knoieee" --- ./configure.old 2004-04-28 19:12:10.000000000 +0200 +++ ./configure 2004-10-18 14:51:09.000000000 +0200 @@ -5130,6 +5130,16 @@ echo "$as_me:$LINENO: result: \"i586 or i686\"" >&5 echo "${ECHO_T}\"i586 or i686\"" >&6 ;; + x86_64-*) + if test X$GCC != Xyes; then + COPTIONS_OPT="-O2" + fi + if test X$GXX = Xyes; then + CXXOPTIONS_OPT="-O2" + fi + echo "$as_me:$LINENO: result: \"x86_64\"" >&5 +echo "${ECHO_T}\"x86_64\"" >&6 + ;; i860-intel-*) if test X$GCC != Xyes; then COPTIONS_OPT="-O3 -Knoieee" debian/patches/series0000664000000000000000000000034612245221563012041 0ustar 07_amd64_configure.patch 09_build_docdir.patch 10_distclean.patch 11_ld_as_needed.patch 12_sh4_build_fix.patch 13_sed_delimiter_binNMU.patch 14_sc-config_sclibs.patch 15_sc_config_omit_external_libs.patch 16_format-security.patch debian/patches/13_sed_delimiter_binNMU.patch0000664000000000000000000000273012111654747016176 0ustar --- ./doc/Makefile.orig 2011-11-01 01:08:47.027988020 +0100 +++ ./doc/Makefile 2011-11-01 01:09:46.123991589 +0100 @@ -15,7 +15,7 @@ # all the documentation is stuck into a single man page. The opening # comment is also removed, because all the pages have to be combined into a # single comment to suit doxygen. -MAN_SED_SEC = (sed 's.^*/.\.' | sed 's+\\subsection+\\subsubsection+'| sed 's+\\section+\\subsection+' | sed 's+/\**.*\\page+\\section+') +MAN_SED_SEC = (sed 's.^*/.\.' | sed 's@\\subsection@\\subsubsection@'| sed 's@\\section@\\subsection@' | sed 's@/\**.*\\page@\\section@') # This makes the bullets into an 'o', which looks better in the text man pages. NROFF_SED = sed 's/\\(bu/o/' @@ -89,6 +89,6 @@ $(installroot)$(prefix)/examples/mp2 $(INSTALL) $(INSTALLLIBOPT) $(SRCDIR)/devsamp/mp2.in \ $(installroot)$(prefix)/examples/mp2 - sed "s+/usr/local/mpqc/current+$(prefix)+" < \ + sed "s@/usr/local/mpqc/current@$(prefix)@" < \ $(SRCDIR)/devsamp/Makefile \ > $(installroot)$(prefix)/examples/mp2/Makefile --- ./src/bin/mpqc/Makefile.orig 2011-11-01 01:09:53.207986639 +0100 +++ ./src/bin/mpqc/Makefile 2011-11-01 01:10:15.915991070 +0100 @@ -99,7 +99,7 @@ install:: /bin/rm -f $(installroot)$(bindir)/chkmpqcout - sed "s+exec perl+exec perl -I$(scdatadir)/perl+" \ + sed "s@exec perl@exec perl -I$(scdatadir)/perl@" \ < $(SRCDIR)/validate/checkout.pl \ > $(installroot)$(bindir)/chkmpqcout chmod 555 $(installroot)$(bindir)/chkmpqcout debian/patches/14_sc-config_sclibs.patch0000664000000000000000000000066012111654747015365 0ustar --- ./bin/sc-config.in.orig 2011-11-19 16:36:02.949977820 +0100 +++ ./bin/sc-config.in 2011-11-19 16:36:16.025979969 +0100 @@ -44,9 +44,9 @@ fi sclibs="" -for i in $all_sclibs; do +for i in `echo $all_sclibs | sed -r 's/\.la/.so/g'`; do if [ -f $libdir/$i ]; then - li=`echo $i | sed "s/^lib\([a-zA-Z0-9]*\).$LIBSUF/-l\1/g"` + li=`echo $i | sed "s/^lib\([a-zA-Z0-9]*\).so/-l\1/g"` sclibs="$sclibs $li" fi done debian/patches/10_distclean.patch0000664000000000000000000000073712111654747014125 0ustar ## 10_distclean.dpatch by Michael Banck ## DP: Make distclean work for all subdirectories --- ./doc/Makefile.orig 2011-09-09 02:03:50.942648109 +0200 +++ ./doc/Makefile 2011-09-09 02:04:44.290641043 +0200 @@ -65,6 +65,10 @@ clean: /bin/rm -rf *~ +.PHONY: distclean +distclean: veryclean + /bin/rm -f doxygen.cfg doxygen.man1.cfg doxygen.man3.cfg + install: $(INSTALL) $(INSTALLDIROPT) $(installroot)$(prefix) /bin/cp -r html $(installroot)$(prefix) debian/patches/12_sh4_build_fix.patch0000664000000000000000000000071512111654747014700 0ustar --- a/configure 2010-02-09 08:47:13.000000000 +0900 +++ b/configure 2010-02-09 08:47:30.000000000 +0900 @@ -4312,7 +4312,7 @@ ;; # Ignore these flags. - -lang* | -lcrt[01].o | -lcrtbegin.o | -lc | -lgcc | -libmil | -LANG:=*) + -lang* | -lcrt[01].o | -lcrtbegin.o | -lc | -lgcc | -libmil | -little | -LANG:=*) ;; -lkernel32) test x"$CYGWIN" != xyes && ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" debian/patches/11_ld_as_needed.patch0000664000000000000000000000167112111654747014544 0ustar --- a/src/lib/math/scmat/Makefile +++ b/src/lib/math/scmat/Makefile @@ -63,6 +63,8 @@ result.h vector3.h vector3_i.h block.h matrix3.h elemop.h repl.h \ blocked.h disthql.h dim.h +LTLINKLIBOPTS += -lblas -lgfortran + GENINC = DEPENDINCLUDE = $(INC) $(GENINC) --- a/src/lib/chemistry/qc/Makefile +++ b/src/lib/chemistry/qc/Makefile @@ -33,7 +33,7 @@ include $(SRCDIR)/$(TOPDIR)/lib/GlobalMakefile include $(TOPDIR)/lib/Makedirlist -SUBDIRS = basis oint3 intv3 wfn scf dft mbpt +SUBDIRS = basis oint3 intv3 dft wfn scf mbpt ifeq ($(HAVE_SC_SRC_LIB_CHEMISTRY_QC_PSI),yes) SUBDIRS := $(SUBDIRS) psi endif --- a/src/lib/chemistry/qc/wfn/Makefile +++ b/src/lib/chemistry/qc/wfn/Makefile @@ -48,6 +48,8 @@ LIBS = $(shell $(LISTLIBS) $(INCLUDE) $(SRCDIR)/../dft/LIBS.h) +LTLINKLIBOPTS += $(TOPDIR)/lib/libSCdft.la + wfntest:: wfntest.$(OBJSUF) $(LIBS) $(LTLINK) $(CXX) $(LDFLAGS) -o wfntest $^ $(SYSLIBS) $(LTLINKBINOPTS) debian/patches/15_sc_config_omit_external_libs.patch0000664000000000000000000000045712111654747020060 0ustar --- ./bin/sc-config.in.orig 2012-03-04 16:48:52.592612521 +0100 +++ ./bin/sc-config.in 2012-03-04 16:49:03.880705931 +0100 @@ -123,7 +123,7 @@ echo $libdir ;; --libs) - echo -L${libdir} $sclibs $libs + echo -L${libdir} $sclibs ;; --libtool) echo $libtool