Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
49c9817f
Commit
49c9817f
authored
Jul 18, 2014
by
peastman
Browse files
Fixed compilation errors on gcc
parent
5c733e82
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
15 deletions
+15
-15
plugins/amoeba/platforms/reference/src/SimTKReference/AmoebaReferenceMultipoleForce.cpp
...ence/src/SimTKReference/AmoebaReferenceMultipoleForce.cpp
+13
-13
plugins/amoeba/platforms/reference/src/SimTKReference/AmoebaReferenceMultipoleForce.h
...erence/src/SimTKReference/AmoebaReferenceMultipoleForce.h
+2
-2
No files found.
plugins/amoeba/platforms/reference/src/SimTKReference/AmoebaReferenceMultipoleForce.cpp
View file @
49c9817f
...
...
@@ -716,7 +716,7 @@ void AmoebaReferenceMultipoleForce::calculateInducedDipolePairIxns(const Multipo
for
(
unsigned
int
ii
=
0
;
ii
<
updateInducedDipoleFields
.
size
();
ii
++
)
{
calculateInducedDipolePairIxn
(
particleI
.
particleIndex
,
particleJ
.
particleIndex
,
rr3
,
rr5
,
deltaR
,
updateInducedDipoleFields[ii].inducedDipoles, updateInducedDipoleFields[ii].inducedDipoleField);
*
updateInducedDipoleFields
[
ii
].
inducedDipoles
,
updateInducedDipoleFields
[
ii
].
inducedDipoleField
);
}
return
;
...
...
@@ -749,9 +749,9 @@ RealOpenMM AmoebaReferenceMultipoleForce::updateInducedDipoleFields(const vector
RealOpenMM
maxEpsilon
=
0.0
;
for
(
unsigned
int
kk
=
0
;
kk
<
updateInducedDipoleFields
.
size
();
kk
++
)
{
RealOpenMM
epsilon
=
updateInducedDipole
(
particleData
,
updateInducedDipoleFields[kk].fixedMultipoleField,
*
updateInducedDipoleFields
[
kk
].
fixedMultipoleField
,
updateInducedDipoleFields
[
kk
].
inducedDipoleField
,
updateInducedDipoleFields[kk].inducedDipoles);
*
updateInducedDipoleFields
[
kk
].
inducedDipoles
);
maxEpsilon
=
epsilon
>
maxEpsilon
?
epsilon
:
maxEpsilon
;
}
...
...
@@ -832,9 +832,9 @@ void AmoebaReferenceMultipoleForce::convergeInduceDipolesByDIIS(const vector<Mul
prevDipoles
[
k
].
back
().
resize
(
_numParticles
);
RealOpenMM
epsilon
=
0
;
for
(
int
i
=
0
;
i
<
_numParticles
;
i
++
)
{
prevDipoles[k].back()[i] = field.inducedDipoles[i];
RealVec newDipole = field.fixedMultipoleField[i] + field.inducedDipoleField[i]*particleData[i].polarity;
RealVec error = newDipole-field.inducedDipoles[i];
prevDipoles
[
k
].
back
()[
i
]
=
(
*
field
.
inducedDipoles
)
[
i
];
RealVec
newDipole
=
(
*
field
.
fixedMultipoleField
)
[
i
]
+
field
.
inducedDipoleField
[
i
]
*
particleData
[
i
].
polarity
;
RealVec
error
=
newDipole
-
(
*
field
.
inducedDipoles
)
[
i
];
prevDipoles
[
k
].
back
()[
i
]
=
newDipole
;
if
(
k
==
0
)
prevErrors
.
back
()[
i
]
=
error
;
...
...
@@ -871,7 +871,7 @@ void AmoebaReferenceMultipoleForce::convergeInduceDipolesByDIIS(const vector<Mul
RealVec
dipole
(
0.0
,
0.0
,
0.0
);
for
(
int
j
=
0
;
j
<
numPrevious
;
j
++
)
dipole
+=
prevDipoles
[
k
][
j
][
i
]
*
coefficients
[
j
];
field.inducedDipoles[i] = dipole;
(
*
field
.
inducedDipoles
)
[
i
]
=
dipole
;
}
}
}
...
...
@@ -1881,8 +1881,8 @@ void AmoebaReferenceMultipoleForce::calculateElectrostaticPotential(const vector
}
AmoebaReferenceMultipoleForce
::
UpdateInducedDipoleFieldStruct
::
UpdateInducedDipoleFieldStruct
(
vector
<
OpenMM
::
RealVec
>&
inputFixed_E_Field
,
vector
<
OpenMM
::
RealVec
>&
inputInducedDipoles
)
:
fixedMultipoleField(inputFixed_E_Field), inducedDipoles(inputInducedDipoles) {
inducedDipoleField.resize(fixedMultipoleField
.
size());
fixedMultipoleField
(
&
inputFixed_E_Field
),
inducedDipoles
(
&
inputInducedDipoles
)
{
inducedDipoleField
.
resize
(
fixedMultipoleField
->
size
());
}
AmoebaReferenceGeneralizedKirkwoodMultipoleForce
::
AmoebaReferenceGeneralizedKirkwoodMultipoleForce
(
AmoebaReferenceGeneralizedKirkwoodForce
*
amoebaReferenceGeneralizedKirkwoodForce
)
:
...
...
@@ -2261,7 +2261,7 @@ void AmoebaReferenceGeneralizedKirkwoodMultipoleForce::calculateInducedDipolePai
// include GK contribution
for
(
unsigned
int
ii
=
2
;
ii
<
updateInducedDipoleFields
.
size
();
ii
++
)
{
calculateInducedDipolePairGkIxn(particleI, particleJ, updateInducedDipoleFields[ii].inducedDipoles, updateInducedDipoleFields[ii].inducedDipoleField);
calculateInducedDipolePairGkIxn
(
particleI
,
particleJ
,
*
updateInducedDipoleFields
[
ii
].
inducedDipoles
,
updateInducedDipoleFields
[
ii
].
inducedDipoleField
);
}
return
;
...
...
@@ -5865,7 +5865,7 @@ void AmoebaReferencePmeMultipoleForce::calculateReciprocalSpaceInducedDipoleFiel
// Perform PME for the induced dipoles.
initializePmeGrid
();
spreadInducedDipolesOnGrid(updateInducedDipoleFields[0].inducedDipoles, updateInducedDipoleFields[1].inducedDipoles);
spreadInducedDipolesOnGrid
(
*
updateInducedDipoleFields
[
0
].
inducedDipoles
,
*
updateInducedDipoleFields
[
1
].
inducedDipoles
);
fftpack_exec_3d
(
_fftplan
,
FFTPACK_FORWARD
,
_pmeGrid
,
_pmeGrid
);
performAmoebaReciprocalConvolution
();
fftpack_exec_3d
(
_fftplan
,
FFTPACK_BACKWARD
,
_pmeGrid
,
_pmeGrid
);
...
...
@@ -5898,7 +5898,7 @@ void AmoebaReferencePmeMultipoleForce::calculateInducedDipoleFields(const vector
RealOpenMM
term
=
(
4.0
/
3.0
)
*
(
_alphaEwald
*
_alphaEwald
*
_alphaEwald
)
/
SQRT_PI
;
for
(
unsigned
int
ii
=
0
;
ii
<
updateInducedDipoleFields
.
size
();
ii
++
)
{
vector<RealVec>& inducedDipoles = updateInducedDipoleFields[ii].inducedDipoles;
vector
<
RealVec
>&
inducedDipoles
=
*
updateInducedDipoleFields
[
ii
].
inducedDipoles
;
vector
<
RealVec
>&
field
=
updateInducedDipoleFields
[
ii
].
inducedDipoleField
;
for
(
unsigned
int
jj
=
0
;
jj
<
particleData
.
size
();
jj
++
)
{
field
[
jj
]
+=
inducedDipoles
[
jj
]
*
term
;
...
...
@@ -5992,7 +5992,7 @@ void AmoebaReferencePmeMultipoleForce::calculateDirectInducedDipolePairIxns(cons
for
(
unsigned
int
ii
=
0
;
ii
<
updateInducedDipoleFields
.
size
();
ii
++
)
{
calculateDirectInducedDipolePairIxn
(
particleI
.
particleIndex
,
particleJ
.
particleIndex
,
preFactor1
,
preFactor2
,
deltaR
,
updateInducedDipoleFields[ii].inducedDipoles,
*
updateInducedDipoleFields
[
ii
].
inducedDipoles
,
updateInducedDipoleFields
[
ii
].
inducedDipoleField
);
}
...
...
plugins/amoeba/platforms/reference/src/SimTKReference/AmoebaReferenceMultipoleForce.h
View file @
49c9817f
...
...
@@ -597,8 +597,8 @@ protected:
*/
struct
UpdateInducedDipoleFieldStruct
{
UpdateInducedDipoleFieldStruct
(
std
::
vector
<
OpenMM
::
RealVec
>&
inputFixed_E_Field
,
std
::
vector
<
OpenMM
::
RealVec
>&
inputInducedDipoles
);
std
::
vector
<
OpenMM
::
RealVec
>
&
fixedMultipoleField
;
std
::
vector
<
OpenMM
::
RealVec
>
&
inducedDipoles
;
std
::
vector
<
OpenMM
::
RealVec
>
*
fixedMultipoleField
;
std
::
vector
<
OpenMM
::
RealVec
>
*
inducedDipoles
;
std
::
vector
<
OpenMM
::
RealVec
>
inducedDipoleField
;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment