1 #include "ExtendedCompareForce.h" 2 #include "ScalarStructure.h" 3 #include "Vector3DBlock.h" 4 #include "GenericTopology.h" 5 6 namespace ProtoMol { 7 8 //_________________________________________________________________ ExtendedCompareForce 9 ExtendedCompareForce(Force * actualForce,CompareForce * compareForce)10 ExtendedCompareForce::ExtendedCompareForce(Force* actualForce, CompareForce* compareForce):CompareForce(actualForce,compareForce){} 11 evaluate(const GenericTopology * topo,const Vector3DBlock * positions,const Vector3DBlock * velocities,Vector3DBlock * forces,ScalarStructure * energies)12 void ExtendedCompareForce::evaluate(const GenericTopology* topo, 13 const Vector3DBlock* positions, 14 const Vector3DBlock* velocities, 15 Vector3DBlock* forces, 16 ScalarStructure* energies){ 17 preprocess(positions->size()); 18 (dynamic_cast<ExtendedForce*>(myActualForce))->evaluate(topo, 19 positions, 20 velocities, 21 myForces, 22 myEnergies); 23 postprocess(topo,forces,energies); 24 } 25 parallelEvaluate(const GenericTopology * topo,const Vector3DBlock * positions,const Vector3DBlock * velocities,Vector3DBlock * forces,ScalarStructure * energies)26 void ExtendedCompareForce::parallelEvaluate(const GenericTopology* topo, 27 const Vector3DBlock* positions, 28 const Vector3DBlock* velocities, 29 Vector3DBlock* forces, 30 ScalarStructure* energies){ 31 preprocess(positions->size()); 32 (dynamic_cast<ExtendedForce*>(myActualForce))->parallelEvaluate(topo, 33 positions, 34 velocities, 35 myForces, 36 myEnergies); 37 postprocess(topo,forces,energies); 38 } 39 40 } 41