コード例 #1
0
ファイル: DRMSD.cpp プロジェクト: amcadmus/plumed2
void DRMSD::read( const PDB& pdb ){
  readAtomsFromPDB( pdb );

  parseFlag("NOPBC",nopbc);  
  parse("LOWER_CUTOFF",lower,true);
  parse("UPPER_CUTOFF",upper,true);
  setBoundsOnDistances( !nopbc, lower, upper );
  setup_targets();
}
コード例 #2
0
ファイル: Action.cpp プロジェクト: BingqingCheng/plumed2
void Action::calculateFromPDB( const PDB& pdb ) {
  activate();
  for(const auto & p : after) {
    ActionWithValue*av=dynamic_cast<ActionWithValue*>(p);
    if(av) { av->clearInputForces(); av->clearDerivatives(); }
    p->readAtomsFromPDB( pdb );
    p->calculate();
  }
  readAtomsFromPDB( pdb );
  calculate();
}
コード例 #3
0
ファイル: Action.cpp プロジェクト: whitead/plumed2
void Action::calculateFromPDB( const PDB& pdb ){
  activate();
  for(Dependencies::iterator p=after.begin();p!=after.end();++p){
     ActionWithValue*av=dynamic_cast<ActionWithValue*>(*p);
     if(av){ av->clearInputForces(); av->clearDerivatives(); }
     (*p)->readAtomsFromPDB( pdb ); 
     (*p)->calculate();
  }
  readAtomsFromPDB( pdb );
  calculate();
}
コード例 #4
0
ファイル: SingleDomainRMSD.cpp プロジェクト: psolsson/plumed2
void SingleDomainRMSD::readReference( const PDB& pdb ){
  readAtomsFromPDB( pdb );
  double wa=0, wd=0;
  for(unsigned i=0;i<pdb.size();++i){ wa+=align[i]; wd+=displace[i]; }

  Vector center;
  for(unsigned i=0;i<pdb.size();++i){
     align[i]=align[i] / wa; displace[i]=displace[i] / wd;
     center+=reference_atoms[i]*align[i];
  }
  for(unsigned i=0;i<pdb.size();++i) reference_atoms[i]-=center;
} 
コード例 #5
0
ファイル: Direction.cpp プロジェクト: JFDama/plumed2
void Direction::read( const PDB& pdb ) {
  readAtomsFromPDB( pdb );
  readArgumentsFromPDB( pdb );
}
コード例 #6
0
ファイル: DRMSD.cpp プロジェクト: hockyg/plumed2
void DRMSD::read( const PDB& pdb ){
  readAtomsFromPDB( pdb ); readBounds(); setup_targets();
}