@@ -33,15 +33,10 @@ abstract type Interaction end
33
33
"""
34
34
Base type for all n-body interactions. `N` denotes the body order
35
35
"""
36
- abstract type NBodyInteraction{N} <: Interaction end
36
+ abstract type NBodyInteraction{N <: Integer } <: Interaction end
37
37
38
- # this would require a lot of code changes, but I think
39
- # could be worthwhile....
40
- # abstract type NBodyInteraction{N <: Integer, NF} <: Interaction end
41
- # use_neighbors(::NBodyInteraction{N, NF}) where {N, NF} = NF
42
38
43
-
44
- abstract type SpecificInteraction{I, T} <: Interaction end
39
+ abstract type SpecificInteraction <: Interaction end
45
40
abstract type GeneralInteraction <: Interaction end
46
41
47
42
"""
@@ -57,7 +52,7 @@ const PairwiseInteraction = NBodyInteraction{2}
57
52
58
53
A list of specific interactions that involve one atom such as position restraints.
59
54
"""
60
- struct InteractionList1Atoms{I, T} <: SpecificInteraction{I, T}
55
+ struct InteractionList1Atoms{I, T} <: SpecificInteraction
61
56
is:: I
62
57
inters:: T
63
58
types:: Vector{String}
70
65
71
66
A list of specific interactions that involve two atoms such as bond potentials.
72
67
"""
73
- struct InteractionList2Atoms{I, T} <: SpecificInteraction{I, T}
68
+ struct InteractionList2Atoms{I, T} <: SpecificInteraction
74
69
is:: I
75
70
js:: I
76
71
inters:: T
84
79
85
80
A list of specific interactions that involve three atoms such as bond angle potentials.
86
81
"""
87
- struct InteractionList3Atoms{I, T} <: SpecificInteraction{I, T}
82
+ struct InteractionList3Atoms{I, T} <: SpecificInteraction
88
83
is:: I
89
84
js:: I
90
85
ks:: I
99
94
100
95
A list of specific interactions that involve four atoms such as torsion potentials.
101
96
"""
102
- struct InteractionList4Atoms{I, T} <: SpecificInteraction{I, T}
97
+ struct InteractionList4Atoms{I, T} <: SpecificInteraction
103
98
is:: I
104
99
js:: I
105
100
ks:: I
0 commit comments