source: setvar.f@ bd2278d

Last change on this file since bd2278d was bd2278d, checked in by baerbaer <baerbaer@…>, 16 years ago

Reformatting comments and continuation marks.

Fortran 90 and higher use ! to mark comments no matter where they are in the
code. The only valid continuation marker is &.
I also added the SMMP.kdevelop.filelist to the repository to make it easier
to use kdevelop.

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

  • Property mode set to 100644
File size: 1.7 KB
Line 
1!**************************************************************
2!
3! This file contains the subroutines: setvar
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 setvar(nml,vlvrx)
14
15! ..............................................................
16! PURPOSE: Reset variables in molecule 'nml' to new values given
17! in 'vlvrx' and rebuild molecule
18!
19! ! assure constant PHASE angles for branches from same atom
20!
21! CALLS: bldmol,difang
22! ....................................................
23
24 include 'INCL.H'
25
26 dimension vlvrx(mxvr)
27
28 i1vr=ivrml1(nml)
29 do i=i1vr,i1vr+nvrml(nml)-1 ! __________________ Variables of 'nml'
30
31 iat=iatvr(i)
32 ity=ityvr(i)
33
34 if (ity.eq.3) then ! torsion (assure phase=const.)
35
36 tsh=difang(toat(iat),vlvrx(i))
37 iow=iowat(iat) ! (cannot be 1st atom of 'nml')
38
39 do j=1,nbdat(iow)
40 jat=ibdat(j,iow)
41 if (iowat(jat).eq.iow) then ! excl. ring
42 to=toat(jat)+tsh
43 if (abs(to).gt.pi) to=to-sign(pi2,to)
44 toat(jat)=to
45 sntoat(jat)=sin(to)
46 cstoat(jat)=cos(to)
47 endif
48 enddo
49
50 elseif (ity.eq.2) then ! valence angle
51 ba=vlvrx(i)
52 baat(iat)=ba
53 snbaat(iat)=sin(ba)
54 csbaat(iat)=cos(ba)
55 elseif (ity.eq.1) then ! valence length
56 blat(iat)=vlvrx(i)
57 endif
58
59 enddo ! ... Variables
60
61 call bldmol(nml)
62
63 return
64 end
65
Note: See TracBrowser for help on using the repository browser.