Skip to content

Commit

Permalink
Ran astyle on branch
Browse files Browse the repository at this point in the history
  • Loading branch information
gtribello committed May 11, 2017
1 parent c01b42a commit 5bbdf4d
Show file tree
Hide file tree
Showing 462 changed files with 24,389 additions and 24,365 deletions.
116 changes: 58 additions & 58 deletions src/adjmat/ActionWithInputMatrix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,71 +29,71 @@
namespace PLMD {
namespace adjmat {

void ActionWithInputMatrix::registerKeywords( Keywords& keys ){
MultiColvarBase::registerKeywords( keys );
keys.add("compulsory","MATRIX","the action that calcualtes the adjacency matrix vessel we would like to analyse");
void ActionWithInputMatrix::registerKeywords( Keywords& keys ) {
MultiColvarBase::registerKeywords( keys );
keys.add("compulsory","MATRIX","the action that calcualtes the adjacency matrix vessel we would like to analyse");
}


ActionWithInputMatrix::ActionWithInputMatrix(const ActionOptions& ao):
Action(ao),
MultiColvarBase(ao),
mymatrix(NULL)
Action(ao),
MultiColvarBase(ao),
mymatrix(NULL)
{
matsums=true;
if( keywords.exists("MATRIX") ){
std::vector<AtomNumber> fake_atoms;
if( !parseMultiColvarAtomList("MATRIX",-1,fake_atoms ) ) error("unable to interpret input matrix");
if( mybasemulticolvars.size()!=1 ) error("should be exactly one matrix input");

// Retrieve the adjacency matrix of interest
for(unsigned i=0;i<mybasemulticolvars[0]->getNumberOfVessels();++i){
mymatrix = dynamic_cast<AdjacencyMatrixVessel*>( mybasemulticolvars[0]->getPntrToVessel(i) );
if( mymatrix ) break ;
}
if( !mymatrix ) error( mybasemulticolvars[0]->getLabel() + " does not calculate an adjacency matrix");

atom_lab.resize(0); unsigned nnodes; // Delete all the atom labels that have been created
if( mymatrix->undirectedGraph() ) nnodes = (mymatrix->function)->ablocks[0].size();
else nnodes = (mymatrix->function)->ablocks[0].size() + (mymatrix->function)->ablocks[1].size();
for(unsigned i=0;i<nnodes;++i) atom_lab.push_back( std::pair<unsigned,unsigned>( 1, i ) );
matsums=true;
if( keywords.exists("MATRIX") ) {
std::vector<AtomNumber> fake_atoms;
if( !parseMultiColvarAtomList("MATRIX",-1,fake_atoms ) ) error("unable to interpret input matrix");
if( mybasemulticolvars.size()!=1 ) error("should be exactly one matrix input");

// Retrieve the adjacency matrix of interest
for(unsigned i=0; i<mybasemulticolvars[0]->getNumberOfVessels(); ++i) {
mymatrix = dynamic_cast<AdjacencyMatrixVessel*>( mybasemulticolvars[0]->getPntrToVessel(i) );
if( mymatrix ) break ;
}
if( !mymatrix ) error( mybasemulticolvars[0]->getLabel() + " does not calculate an adjacency matrix");

atom_lab.resize(0); unsigned nnodes; // Delete all the atom labels that have been created
if( mymatrix->undirectedGraph() ) nnodes = (mymatrix->function)->ablocks[0].size();
else nnodes = (mymatrix->function)->ablocks[0].size() + (mymatrix->function)->ablocks[1].size();
for(unsigned i=0; i<nnodes; ++i) atom_lab.push_back( std::pair<unsigned,unsigned>( 1, i ) );
}
}

unsigned ActionWithInputMatrix::getNumberOfDerivatives() {
return (mymatrix->function)->getNumberOfDerivatives();
return (mymatrix->function)->getNumberOfDerivatives();
}

unsigned ActionWithInputMatrix::getNumberOfNodes() const {
return (mymatrix->function)->ablocks[0].size();
return (mymatrix->function)->ablocks[0].size();
}

AdjacencyMatrixVessel* ActionWithInputMatrix::getAdjacencyVessel() const {
return mymatrix;
}

AtomNumber ActionWithInputMatrix::getAbsoluteIndexOfCentralAtom(const unsigned& i) const {
return (mymatrix->function)->getAbsoluteIndexOfCentralAtom(i);
return (mymatrix->function)->getAbsoluteIndexOfCentralAtom(i);
}

double ActionWithInputMatrix::retrieveConnectionValue( const unsigned& i, const unsigned& j, std::vector<double>& vals ) const {
if( !mymatrix->matrixElementIsActive( i, j ) ) return 0;
unsigned myelem = mymatrix->getStoreIndexFromMatrixIndices( i, j );

unsigned vi; double df;
mymatrix->retrieveValueWithIndex( myelem, false, vals );
mymatrix->retrieveValueWithIndex( myelem, false, vals );
return vals[0]*vals[1]; // (mymatrix->function)->transformStoredValues( vals, vi, df );
}

void ActionWithInputMatrix::getInputData( const unsigned& ind, const bool& normed, const multicolvar::AtomValuePack& myatoms, std::vector<double>& orient0 ) const {
if( (mymatrix->function)->mybasemulticolvars.size()==0 ){
std::vector<double> tvals( mymatrix->getNumberOfComponents() ); orient0.assign(orient0.size(),0);
for(unsigned i=0;i<mymatrix->getNumberOfColumns();++i){
if( mymatrix->undirectedGraph() && ind==i ) continue;
orient0[1]+=retrieveConnectionValue( ind, i, tvals );
}
orient0[0]=1.0; return;
}
if( (mymatrix->function)->mybasemulticolvars.size()==0 ) {
std::vector<double> tvals( mymatrix->getNumberOfComponents() ); orient0.assign(orient0.size(),0);
for(unsigned i=0; i<mymatrix->getNumberOfColumns(); ++i) {
if( mymatrix->undirectedGraph() && ind==i ) continue;
orient0[1]+=retrieveConnectionValue( ind, i, tvals );
}
orient0[0]=1.0; return;
}
(mymatrix->function)->getInputData( ind, normed, myatoms, orient0 );
}

Expand All @@ -102,33 +102,33 @@ void ActionWithInputMatrix::addConnectionDerivatives( const unsigned& i, const u
unsigned myelem = mymatrix->getStoreIndexFromMatrixIndices( i, j );
// Get derivatives and add
mymatrix->retrieveDerivatives( myelem, false, myvals );
for(unsigned jd=0;jd<myvals.getNumberActive();++jd){
unsigned ider=myvals.getActiveIndex(jd);
myvout.addDerivative( 1, ider, myvals.getDerivative( 1, ider ) );
for(unsigned jd=0; jd<myvals.getNumberActive(); ++jd) {
unsigned ider=myvals.getActiveIndex(jd);
myvout.addDerivative( 1, ider, myvals.getDerivative( 1, ider ) );
}
}

MultiValue& ActionWithInputMatrix::getInputDerivatives( const unsigned& ind, const bool& normed, const multicolvar::AtomValuePack& myatoms ) const {
if( (mymatrix->function)->mybasemulticolvars.size()==0 ){
MultiValue& myder=mymatrix->getTemporyMultiValue(0);
if( myder.getNumberOfValues()!=2 || myder.getNumberOfDerivatives()!=(mymatrix->function)->getNumberOfDerivatives() ){
myder.resize( 2, (mymatrix->function)->getNumberOfDerivatives() );
}
myder.clearAll();
MultiValue myvals( (mymatrix->function)->getNumberOfQuantities(), (mymatrix->function)->getNumberOfDerivatives() );
for(unsigned i=0;i<mymatrix->getNumberOfColumns();++i){
if( mymatrix->undirectedGraph() && ind==i ) continue;
addConnectionDerivatives( ind, i, myvals, myder );
}
myder.updateDynamicList(); return myder;
}
return (mymatrix->function)->getInputDerivatives( ind, normed, myatoms );
if( (mymatrix->function)->mybasemulticolvars.size()==0 ) {
MultiValue& myder=mymatrix->getTemporyMultiValue(0);
if( myder.getNumberOfValues()!=2 || myder.getNumberOfDerivatives()!=(mymatrix->function)->getNumberOfDerivatives() ) {
myder.resize( 2, (mymatrix->function)->getNumberOfDerivatives() );
}
myder.clearAll();
MultiValue myvals( (mymatrix->function)->getNumberOfQuantities(), (mymatrix->function)->getNumberOfDerivatives() );
for(unsigned i=0; i<mymatrix->getNumberOfColumns(); ++i) {
if( mymatrix->undirectedGraph() && ind==i ) continue;
addConnectionDerivatives( ind, i, myvals, myder );
}
myder.updateDynamicList(); return myder;
}
return (mymatrix->function)->getInputDerivatives( ind, normed, myatoms );
}

unsigned ActionWithInputMatrix::getNumberOfNodeTypes() const {
unsigned size = (mymatrix->function)->mybasemulticolvars.size();
if( size==0 ) return 1;
return size;
return size;
}

unsigned ActionWithInputMatrix::getNumberOfQuantities() const {
Expand All @@ -137,13 +137,13 @@ unsigned ActionWithInputMatrix::getNumberOfQuantities() const {
}

unsigned ActionWithInputMatrix::getNumberOfAtomsInGroup( const unsigned& igrp ) const {
plumed_dbg_assert( igrp<(mymatrix->function)->mybasemulticolvars.size() );
return (mymatrix->function)->mybasemulticolvars[igrp]->getFullNumberOfTasks();
plumed_dbg_assert( igrp<(mymatrix->function)->mybasemulticolvars.size() );
return (mymatrix->function)->mybasemulticolvars[igrp]->getFullNumberOfTasks();
}

multicolvar::MultiColvarBase* ActionWithInputMatrix::getBaseMultiColvar( const unsigned& igrp ) const {
plumed_dbg_assert( igrp<(mymatrix->function)->mybasemulticolvars.size() );
return (mymatrix->function)->mybasemulticolvars[igrp];
plumed_dbg_assert( igrp<(mymatrix->function)->mybasemulticolvars.size() );
return (mymatrix->function)->mybasemulticolvars[igrp];
}

Vector ActionWithInputMatrix::getPositionOfAtomForLinkCells( const unsigned& iatom ) const {
Expand Down
2 changes: 1 addition & 1 deletion src/adjmat/ActionWithInputMatrix.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ class ActionWithInputMatrix : public multicolvar::MultiColvarBase {
virtual unsigned getNumberOfDerivatives();
/// Get the number of rows/cols in the adjacency matrix vessel
virtual unsigned getNumberOfNodes() const ;
bool isPeriodic(){ return false; }
bool isPeriodic() { return false; }
virtual unsigned getNumberOfQuantities() const ;
///
virtual AtomNumber getAbsoluteIndexOfCentralAtom(const unsigned& i) const ;
Expand Down
Loading

0 comments on commit 5bbdf4d

Please sign in to comment.