source: gradient.f

Last change on this file was 38d77eb, checked in by baerbaer <baerbaer@…>, 14 years ago

Redirected standard out to logString.

SMMP produced a lot of log messages. This became an issue when run in massively
parallel environments. I replaced all writes to standard out to a write to logString.
The next step is to pass this string to a function that writes the messages to a log
file according to their importance and the chosen log level.

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/smmp/trunk@34 26dc1dd8-5c4e-0410-9ffe-d298b4865968

  • Property mode set to 100644
File size: 1.4 KB
Line 
1! **************************************************************
2!
3! This file contains the subroutines: gradient
4!
5! Copyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann,
6! Shura Hayryan, Chin-Ku
7! Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann,
8! Jan H. Meinke, Sandipan Mohanty
9!
10! **************************************************************
11
12
13 subroutine gradient()
14
15! -------------------------------------------
16! PURPOSE: calculate energy & gradients
17!
18! CALLS: opeflx,opereg,opeshe,opesol,setvar
19! -------------------------------------------
20
21 include 'INCL.H'
22
23
24 double precision esm
25
26 integer i, ivr1, ivr2, j
27
28 esm = 0.d0
29
30 do i = 1,ntlml ! molecules
31
32 call setvar(i,vlvr) ! set variables & rebuild
33
34 if (flex) then
35 call opeflx(i)
36 else
37 call opeshe(i)
38 endif
39
40 esm = esm + eysm
41
42 if (itysol.lt.0) then
43
44 call opesol(i)
45 esm = esm + eysl
46
47 ivr1=ivrml1(i)
48 ivr2=ivr1+nvrml(i)-1
49
50 do j=ivr1,ivr2
51 gdeyvr(j) = gdeyvr(j)+gdeysl(j)
52 enddo
53
54 else if (itysol.eq.0) then
55
56 eysl = 0.d0
57 else
58
59 write (logString, *) 'gradient> Set itysol < 0'
60 stop
61 endif
62
63 if (ireg.eq.1) call opereg(i)
64
65 enddo
66
67 eysm = esm
68
69 return
70 end
Note: See TracBrowser for help on using the repository browser.