1 |
+ |
!! |
2 |
+ |
!! Copyright (c) 2005 The University of Notre Dame. All Rights Reserved. |
3 |
+ |
!! |
4 |
+ |
!! The University of Notre Dame grants you ("Licensee") a |
5 |
+ |
!! non-exclusive, royalty free, license to use, modify and |
6 |
+ |
!! redistribute this software in source and binary code form, provided |
7 |
+ |
!! that the following conditions are met: |
8 |
+ |
!! |
9 |
+ |
!! 1. Acknowledgement of the program authors must be made in any |
10 |
+ |
!! publication of scientific results based in part on use of the |
11 |
+ |
!! program. An acceptable form of acknowledgement is citation of |
12 |
+ |
!! the article in which the program was described (Matthew |
13 |
+ |
!! A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher |
14 |
+ |
!! J. Fennell and J. Daniel Gezelter, "OOPSE: An Object-Oriented |
15 |
+ |
!! Parallel Simulation Engine for Molecular Dynamics," |
16 |
+ |
!! J. Comput. Chem. 26, pp. 252-271 (2005)) |
17 |
+ |
!! |
18 |
+ |
!! 2. Redistributions of source code must retain the above copyright |
19 |
+ |
!! notice, this list of conditions and the following disclaimer. |
20 |
+ |
!! |
21 |
+ |
!! 3. Redistributions in binary form must reproduce the above copyright |
22 |
+ |
!! notice, this list of conditions and the following disclaimer in the |
23 |
+ |
!! documentation and/or other materials provided with the |
24 |
+ |
!! distribution. |
25 |
+ |
!! |
26 |
+ |
!! This software is provided "AS IS," without a warranty of any |
27 |
+ |
!! kind. All express or implied conditions, representations and |
28 |
+ |
!! warranties, including any implied warranty of merchantability, |
29 |
+ |
!! fitness for a particular purpose or non-infringement, are hereby |
30 |
+ |
!! excluded. The University of Notre Dame and its licensors shall not |
31 |
+ |
!! be liable for any damages suffered by licensee as a result of |
32 |
+ |
!! using, modifying or distributing the software or its |
33 |
+ |
!! derivatives. In no event will the University of Notre Dame or its |
34 |
+ |
!! licensors be liable for any lost revenue, profit or data, or for |
35 |
+ |
!! direct, indirect, special, consequential, incidental or punitive |
36 |
+ |
!! damages, however caused and regardless of the theory of liability, |
37 |
+ |
!! arising out of the use of or inability to use software, even if the |
38 |
+ |
!! University of Notre Dame has been advised of the possibility of |
39 |
+ |
!! such damages. |
40 |
+ |
!! |
41 |
+ |
|
42 |
|
!! Fortran interface to C entry plug. |
43 |
|
|
44 |
|
module simulation |
90 |
|
public :: setBox |
91 |
|
public :: getDielect |
92 |
|
public :: SimUsesPBC |
93 |
< |
public :: SimUsesLJ |
93 |
> |
|
94 |
> |
public :: SimUsesDirectionalAtoms |
95 |
> |
public :: SimUsesLennardJones |
96 |
> |
public :: SimUsesElectrostatics |
97 |
|
public :: SimUsesCharges |
98 |
|
public :: SimUsesDipoles |
99 |
|
public :: SimUsesSticky |
100 |
< |
public :: SimUsesRF |
57 |
< |
public :: SimUsesGB |
100 |
> |
public :: SimUsesGayBerne |
101 |
|
public :: SimUsesEAM |
102 |
+ |
public :: SimUsesShapes |
103 |
+ |
public :: SimUsesFLARB |
104 |
+ |
public :: SimUsesRF |
105 |
|
public :: SimRequiresPrepairCalc |
106 |
|
public :: SimRequiresPostpairCalc |
107 |
< |
public :: SimUsesDirectionalAtoms |
107 |
> |
|
108 |
|
|
109 |
|
contains |
110 |
|
|
486 |
|
doesit = thisSim%SIM_uses_PBC |
487 |
|
end function SimUsesPBC |
488 |
|
|
489 |
< |
function SimUsesLJ() result(doesit) |
489 |
> |
function SimUsesDirectionalAtoms() result(doesit) |
490 |
|
logical :: doesit |
491 |
< |
doesit = thisSim%SIM_uses_LJ |
492 |
< |
end function SimUsesLJ |
493 |
< |
|
494 |
< |
function SimUsesSticky() result(doesit) |
491 |
> |
doesit = thisSim%SIM_uses_dipoles .or. thisSim%SIM_uses_sticky .or. & |
492 |
> |
thisSim%SIM_uses_GayBerne .or. thisSim%SIM_uses_Shapes |
493 |
> |
end function SimUsesDirectionalAtoms |
494 |
> |
|
495 |
> |
function SimUsesLennardJones() result(doesit) |
496 |
|
logical :: doesit |
497 |
< |
doesit = thisSim%SIM_uses_sticky |
498 |
< |
end function SimUsesSticky |
497 |
> |
doesit = thisSim%SIM_uses_LennardJones |
498 |
> |
end function SimUsesLennardJones |
499 |
|
|
500 |
+ |
function SimUsesElectrostatics() result(doesit) |
501 |
+ |
logical :: doesit |
502 |
+ |
doesit = thisSim%SIM_uses_Electrostatics |
503 |
+ |
end function SimUsesElectrostatics |
504 |
+ |
|
505 |
|
function SimUsesCharges() result(doesit) |
506 |
|
logical :: doesit |
507 |
< |
doesit = thisSim%SIM_uses_charges |
507 |
> |
doesit = thisSim%SIM_uses_Charges |
508 |
|
end function SimUsesCharges |
509 |
|
|
510 |
|
function SimUsesDipoles() result(doesit) |
511 |
|
logical :: doesit |
512 |
< |
doesit = thisSim%SIM_uses_dipoles |
512 |
> |
doesit = thisSim%SIM_uses_Dipoles |
513 |
|
end function SimUsesDipoles |
514 |
|
|
515 |
< |
function SimUsesRF() result(doesit) |
515 |
> |
function SimUsesSticky() result(doesit) |
516 |
|
logical :: doesit |
517 |
< |
doesit = thisSim%SIM_uses_RF |
518 |
< |
end function SimUsesRF |
517 |
> |
doesit = thisSim%SIM_uses_Sticky |
518 |
> |
end function SimUsesSticky |
519 |
|
|
520 |
< |
function SimUsesGB() result(doesit) |
520 |
> |
function SimUsesGayBerne() result(doesit) |
521 |
|
logical :: doesit |
522 |
< |
doesit = thisSim%SIM_uses_GB |
523 |
< |
end function SimUsesGB |
524 |
< |
|
522 |
> |
doesit = thisSim%SIM_uses_GayBerne |
523 |
> |
end function SimUsesGayBerne |
524 |
> |
|
525 |
|
function SimUsesEAM() result(doesit) |
526 |
|
logical :: doesit |
527 |
|
doesit = thisSim%SIM_uses_EAM |
528 |
|
end function SimUsesEAM |
529 |
|
|
530 |
< |
function SimUsesDirectionalAtoms() result(doesit) |
530 |
> |
function SimUsesShapes() result(doesit) |
531 |
|
logical :: doesit |
532 |
< |
doesit = thisSim%SIM_uses_dipoles .or. thisSim%SIM_uses_sticky .or. & |
533 |
< |
thisSim%SIM_uses_GB .or. thisSim%SIM_uses_RF |
482 |
< |
end function SimUsesDirectionalAtoms |
532 |
> |
doesit = thisSim%SIM_uses_Shapes |
533 |
> |
end function SimUsesShapes |
534 |
|
|
535 |
+ |
function SimUsesFLARB() result(doesit) |
536 |
+ |
logical :: doesit |
537 |
+ |
doesit = thisSim%SIM_uses_FLARB |
538 |
+ |
end function SimUsesFLARB |
539 |
+ |
|
540 |
+ |
function SimUsesRF() result(doesit) |
541 |
+ |
logical :: doesit |
542 |
+ |
doesit = thisSim%SIM_uses_RF |
543 |
+ |
end function SimUsesRF |
544 |
+ |
|
545 |
|
function SimRequiresPrepairCalc() result(doesit) |
546 |
|
logical :: doesit |
547 |
|
doesit = thisSim%SIM_uses_EAM |
631 |
|
real ( kind = dp ), dimension(CnLocal) :: Cmfact |
632 |
|
integer, intent(in):: CnGroups |
633 |
|
integer, dimension(CnGlobal), intent(inout):: CglobalGroupMembership |
573 |
– |
integer :: status |
634 |
|
|
635 |
|
call SimulationSetup(setThisSim, CnGlobal, CnLocal, c_idents, & |
636 |
|
CnLocalExcludes, CexcludesLocal, CnGlobalExcludes, CexcludesGlobal, & |
646 |
|
|
647 |
|
call setBox(cHmat, cHmatInv, cBoxIsOrthorhombic) |
648 |
|
|
649 |
< |
end subroutine setFortranBox |
649 |
> |
end subroutine setFortranBox |