MCPcopy Create free account
hub / github.com/OpenFOAM/OpenFOAM-dev / writeBins

Function writeBins

src/functionObjects/forces/forces/forces.C:453–529  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

451
452
453void Foam::functionObjects::forces::writeBins()
454{
455 if (nBin_ == 1)
456 {
457 return;
458 }
459
460 List<Field<vector>> f(force_);
461 List<Field<vector>> m(moment_);
462
463 if (binCumulative_)
464 {
465 for (label i = 1; i < f[0].size(); i++)
466 {
467 f[0][i] += f[0][i-1];
468 f[1][i] += f[1][i-1];
469 f[2][i] += f[2][i-1];
470
471 m[0][i] += m[0][i-1];
472 m[1][i] += m[1][i-1];
473 m[2][i] += m[2][i-1];
474 }
475 }
476
477 writeTime(file(BINS_FILE));
478
479 forAll(f[0], i)
480 {
481 file(BINS_FILE)
482 << tab << setw(1) << '('
483 << f[0][i] << setw(1) << ' '
484 << f[1][i] << setw(1) << ' '
485 << f[2][i] << setw(3) << ") ("
486 << m[0][i] << setw(1) << ' '
487 << m[1][i] << setw(1) << ' '
488 << m[2][i] << setw(1) << ')';
489 }
490
491 if (localSystem_)
492 {
493 List<Field<vector>> lf(3);
494 List<Field<vector>> lm(3);
495 lf[0] = coordSys_.localVector(force_[0]);
496 lf[1] = coordSys_.localVector(force_[1]);
497 lf[2] = coordSys_.localVector(force_[2]);
498 lm[0] = coordSys_.localVector(moment_[0]);
499 lm[1] = coordSys_.localVector(moment_[1]);
500 lm[2] = coordSys_.localVector(moment_[2]);
501
502 if (binCumulative_)
503 {
504 for (label i = 1; i < lf[0].size(); i++)
505 {
506 lf[0][i] += lf[0][i-1];
507 lf[1][i] += lf[1][i-1];
508 lf[2][i] += lf[2][i-1];
509 lm[0][i] += lm[0][i-1];
510 lm[1][i] += lm[1][i-1];

Callers 1

writeFunction · 0.85

Calls 5

writeTimeFunction · 0.85
setwFunction · 0.85
localVectorMethod · 0.80
forAllFunction · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected