From chemistry-request@ccl.net Wed Jun 26 13:04:58 1991 Date: Wed, 26 Jun 91 11:00 CDT From: Subject: Postdoctoral fellow To: chemistry@ccl.net Status: R A postdoctoral position is available for a theorist. We are presently working in many areas of scattering theory, from accurate computation of rotational and vibrational cross sections for polyatomic molecules to the development of approximate and exact methods for solving scattering problems. In addition we are working on van der Waals molecules studying the rotation - vibration structure of these species, predissociation from excited states and collisions with such molecules. We have recently also developed general techniques for computing rotation - vibration spectra and wave functions for polyatomic molecules which we are applying to van der Waals molecules, hydrogen bonded systems and unimolecular rearrangement. Interested parties may send a copy of their vitae and two letters of recommendation to: Don Secrest Chemistry Department 316 Noyes Lab. University of Illinois 505 S. Mathews Urbana, Illinois 61801 BITNET:SECREST@UIUCSCS From chemistry-request@ccl.net Wed Jun 26 14:11:33 1991 Date: Wed, 26 Jun 1991 10:38 MST From: PLEE%CGF@Arizona.EDU Subject: sybyl parameters for tin disulfide To: chemistry@ccl.net Status: R Would be grateful for suggestions on how to set the sybyl atom parameters for tin disulfide. We have created the single crystal surface but we want to make sure the atomic radii, charge, electronegativity, etc. are correct to do energy minimizations of molecules on the surface. I would appreciate any advice. thanks Paul Lee Dept of Chemistry Univ. of Arizona From chemistry-request@ccl.net Wed Jun 26 16:19:48 1991 Date: Wed, 26 Jun 91 11:51:50 LCL From: Dave McClure Subject: epsilon To: JAN LABANOWSKI Status: R Here is a non-fortran and a non-C algorithm for measuring epsilon. BASIC CODE EPS=1.0 DO WHILE (EPS+1>1) EPS=EPS/2 LOOP EPS=2*EPS !gives eps to within a factor of 2 DO WHILE (EPS+1>1) EPS=0.99*EPS LOOP EPS=EPS/0.99 !refine to @ 1% PRINT USING "#.###^^^^":EPS END One can also measure the least significant bit with the following code: SUM=0 FOR S=1 TO 60 !some number that exceeds the no. of mantissa bits SUM=SUM+(1/2)^S PRINT S; PRINT USING "#.####################":SUM NEXT S END The last value of S before the SUM is exactly 1 is the least significant bit in which case eps is 2^(-S). PC users will find that eps will differ depending on if their computer has a co-processor as well as the method of normalization used by their compiler for floating point representation. Dave McClure Chemistry Portland State University From chemistry-request@ccl.net Wed Jun 26 19:03:02 1991 Date: Wed, 26 Jun 1991 14:23 EST From: "Doug Johnson, MC7R7, 6-1467" Subject: sybyl netbatch woes To: chemistry@ccl.net Status: R Hi, I would appreciate some suggestions to rid my sybyl netbatch control of some jobfiles that won't go away. These were some cambridge crystal database searches (created under Sybyl 5.3) that I aborted before they ever got started. I was hoping they'd go away when we switched to Sybyl 5.4, but they didn't. Anyway when I do a "netbatch probe status '?' ", I get a listing of these jobs. When I ask for the status of one of these, I get the following message : %DCL-W-UNDFIL, file has not been opened by DCL - check logical name %DCL-W-UNDFIL, file has not been opened by DCL - check logical name %DCL-W-UNDFIL, file has not been opened by DCL - check logical name %DCL-W-UNDFIL, file has not been opened by DCL - check logical name Any ideas? I like to keep things as tidy as possible. Thanks. From: JOHNSON DOUGLAS W (MCVAX0::RX23376) To: VMS MAIL ADDRESSEE (IN::"chemistry@ccl.net") cc: JOHNSON DOUGLAS W (MCVAX0::RX23376) From chemistry-request@ccl.net Wed Jun 26 19:32:16 1991 Date: Wed, 26 Jun 91 17:01:03 CDT From: shepard@dirac.tcg.anl.gov (Ron Shepard) To: chemistry@ccl.net Subject: EPS, EISPACK, and some general comments Status: R Obviously, there are some people who don't read their email. ******************************************************* * EPS can be computed without an iterative procedure. * ******************************************************* Reread Steve Elbert's posting if you missed this point. It doesn't matter what language or pseudocode is used, there is no need to iterate 50 or so times through a loop to determine EPS. The wrong algorithm is still the wrong algorithm! Having said that, let me now respond to the original posting which concerned problems with some EISPACK code. The problem in this case might not have been an incorrect EPS value, but a more fundamental problem within the code itself. Several of these routines have statements of the form: r = sqrt( 1.0d0 + p**2 ) On machines such as the VAX with large mantissas and small exponents, such statements frequently cause problems due to underflow or overflow. This is not the case for IEEE format, with its smaller mantissa and larger exponent, but of course IEEE is not as accurate. For example, suppose that p=1d20 on a VAX. The desired result is r=1d20, but you never get there because the computation of p**2 causes your job to abort. There is not always an easy solution when this occurs, but here are a couple of alternatives. First, you might try rewriting the statement as: r = abs(p) r = sqrt(r) * sqrt( ONE / r + r ) This only works if you know that p<>0. Otherwise you should use the more complicated code: if ( p .eq. ZERO ) then r = ONE else r = abs(p) r = sqrt(r) * sqrt( ONE / r + r ) endif Finally, later versions of the EISPACK routines avoid using the offending statement by calling the external function pythag(ONE,p). Unfortuantely, as seen in the source code below, this does not eliminate the problem, but rather turns the overflow problem into an underflow problem. This is alright if underflows are silently set to zero (they are on a VAX), but esthetically, it is still somewhat unsatisfactory. Ultimately, the best thing to do is to rewrite the algorithm so that such operations are unnecessary. We've been waiting for about 10 years for an updated and hopefully improved EISPACK [which will be called LAPACK] but I don't know of its current status. EISPACK routines and the pythag() function can be obtained from the netlib server at netlib@ornl.gov. Ron Shepard, shepard@tcg.anl.gov p.s. Please, no more postings of examples of clever code implementing the wrong algorithm!!! p.p.s. No one else is responsible for these views, and sometimes not even me. ********************************************************************** *** from netlib, Wed Jun 26 16:20:58 EDT 1991 *** double precision function pythag(a,b) double precision a,b c c finds dsqrt(a**2+b**2) without overflow or destructive underflow c double precision p,r,s,t,u p = dmax1(dabs(a),dabs(b)) if (p .eq. 0.0d0) go to 20 r = (dmin1(dabs(a),dabs(b))/p)**2 10 continue t = 4.0d0 + r if (t .eq. 4.0d0) go to 20 s = r/t u = 1.0d0 + 2.0d0*s p = u*p r = (s/u)**2 * r go to 10 20 pythag = p return end From chemistry-request@ccl.net Wed Jun 26 20:45:46 1991 Date: Wed, 26 Jun 91 19:26 EDT From: "Scott Le Grand" Subject: Conformational Entropy To: chemistry@ccl.net Status: R Just a quick thank you to everyone who replied to my question about conformational entropy. I think I know what to do now... Thanks! Scott From chemistry-request@ccl.net Wed Jun 26 22:17:23 1991 Date: Wed, 26 Jun 91 21:13:13 -0400 From: neal@iris.polymer.uakron.edu (Neal Neuburger) To: chemistry@ccl.net Subject: sybyl netbatch woes Status: R There is a subdirectory called ta_batch in you home directory. Clean this out and those messages should clear up. Neal From chemistry-request@ccl.net Wed Jun 26 22:39:22 1991 Date: Wed, 26 Jun 91 21:38:42 EST From: Shaun Black Subject: Ala vs Gly in alpha helices To: chemistry@ccl.net Status: R Those of you interested in the recent discussion on Gly vs Ala in peptide alpha helices may find a recent paper in Nature to be of interest: Chakrabartty, A., Schellman, J.A., and Baldwin, R.L (1991) Nature 351: 586-588. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - Shaun D. Black, PhD | Bitnet: black@ohstphrm.bitnet - = Ohio State University | Internet: black@ohstphrm.pharmacy.ohio-state.edu = - College of Pharmacy | Phone: (614) 292-3925 - = 500 West 12th Avenue | FAX: (614) 292-2435 = - Columbus, OH 43210-1291 | :-) (...Start every day with a smile...) - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From chemistry-request@ccl.net Wed Jun 26 23:04:49 1991 Date: Wed, 26 Jun 91 21:58:20 -0400 From: neal@iris.polymer.uakron.edu (Neal Neuburger) To: chemistry@ccl.net Subject: wrong code Status: R On last time for the wrong algorithm. The computed epsilon vs. the machine epsilon. #include #include typedef float CRD; main() { CRD eps = 0.00001, y = 1.0, x; while( (x = y + eps) > y) /* find rough value of eps */ { eps = 0.5*eps; } eps = 2.0*eps; while( (x = y + eps) > y) /* find value of eps within 1% */ { eps = 0.99*eps; } eps = eps/0.99; printf("Machine epsilon: %e, Calculated epsilon: %e\n", FLT_EPSILON, eps); }