ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimInfo.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/SimInfo.cpp (file contents):
Revision 1097 by gezelter, Mon Apr 12 20:32:20 2004 UTC vs.
Revision 1118 by tim, Mon Apr 19 03:52:27 2004 UTC

# Line 322 | Line 322 | int SimInfo::getNDF(){
322   int SimInfo::getNDF(){
323    int ndf_local;
324  
325 +  ndf_local = 0;
326 +  
327    for(int i = 0; i < integrableObjects.size(); i++){
328      ndf_local += 3;
329 <    if (integrableObjects[i]->isDirectional())
330 <      ndf_local += 3;
329 >    if (integrableObjects[i]->isDirectional()) {
330 >      if (integrableObjects[i]->isLinear())
331 >        ndf_local += 2;
332 >      else
333 >        ndf_local += 3;
334 >    }
335    }
336  
337    // n_constraints is local, so subtract them on each processor:
# Line 350 | Line 356 | int SimInfo::getNDFraw() {
356    int ndfRaw_local;
357  
358    // Raw degrees of freedom that we have to set
359 +  ndfRaw_local = 0;
360  
361    for(int i = 0; i < integrableObjects.size(); i++){
362      ndfRaw_local += 3;
363 <    if (integrableObjects[i]->isDirectional())
364 <      ndfRaw_local += 3;
363 >    if (integrableObjects[i]->isDirectional()) {
364 >       if (integrableObjects[i]->isLinear())
365 >        ndfRaw_local += 2;
366 >      else
367 >        ndfRaw_local += 3;
368 >    }
369    }
370      
371   #ifdef IS_MPI
# Line 381 | Line 392 | int SimInfo::getNDFtranslational() {
392    ndfTrans = ndfTrans - 3 - nZconstraints;
393  
394    return ndfTrans;
395 + }
396 +
397 + int SimInfo::getTotIntegrableObjects() {
398 +  int nObjs_local;
399 +  int nObjs;
400 +
401 +  nObjs_local =  integrableObjects.size();
402 +
403 +
404 + #ifdef IS_MPI
405 +  MPI_Allreduce(&nObjs_local,&nObjs,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD);
406 + #else
407 +  nObjs = nObjs_local;
408 + #endif
409 +
410 +
411 +  return nObjs;
412   }
413  
414   void SimInfo::refreshSim(){
# Line 561 | Line 589 | vector<GenericData*> SimInfo::getProperties(){
589      return NULL;  
590   }
591  
564 vector<GenericData*> SimInfo::getProperties(){
565
566  vector<GenericData*> result;
567  map<string, GenericData*>::iterator i;
568  
569  for(i = properties.begin(); i != properties.end(); i++)
570    result.push_back((*i).second);
571    
572  return result;
573 }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines