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()) |
352 |
|
int ndfRaw_local; |
353 |
|
|
354 |
|
// Raw degrees of freedom that we have to set |
355 |
+ |
ndfRaw_local = 0; |
356 |
|
|
357 |
|
for(int i = 0; i < integrableObjects.size(); i++){ |
358 |
|
ndfRaw_local += 3; |
384 |
|
ndfTrans = ndfTrans - 3 - nZconstraints; |
385 |
|
|
386 |
|
return ndfTrans; |
387 |
+ |
} |
388 |
+ |
|
389 |
+ |
int SimInfo::getTotIntegrableObjects() { |
390 |
+ |
int nObjs_local; |
391 |
+ |
int nObjs; |
392 |
+ |
|
393 |
+ |
nObjs_local = integrableObjects.size(); |
394 |
+ |
|
395 |
+ |
|
396 |
+ |
#ifdef IS_MPI |
397 |
+ |
MPI_Allreduce(&nObjs_local,&nObjs,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD); |
398 |
+ |
#else |
399 |
+ |
nObjs = nObjs_local; |
400 |
+ |
#endif |
401 |
+ |
|
402 |
+ |
|
403 |
+ |
return nObjs; |
404 |
|
} |
405 |
|
|
406 |
|
void SimInfo::refreshSim(){ |