Skip to content
Snippets Groups Projects
Commit f07064d5 authored by Soeren Peters's avatar Soeren Peters
Browse files

Remove virtual function call.

parent b498c594
No related branches found
No related tags found
3 merge requests!403minor release 0.1.1,!402minor release 0.1.1,!376Remove virtual function call in lbm kernel
......@@ -39,9 +39,9 @@
#include "BCArray3D.h"
#include "BCSet.h"
#include "Block3D.h"
#include "EsoSplit.h"
#include "D3Q27System.h"
#include "DataSet3D.h"
#include "EsoSplit.h"
#include "LBMKernel.h"
K17CompressibleNavierStokes::K17CompressibleNavierStokes()
......@@ -51,7 +51,7 @@ K17CompressibleNavierStokes::K17CompressibleNavierStokes()
void K17CompressibleNavierStokes::initDataSet()
{
SPtr<DistributionArray3D> d(new EsoSplit(nx[0] + 2, nx[1] + 2, nx[2] + 2, -999.9));
SPtr<DistributionArray3D> d = std::make_shared<EsoSplit>(nx[0] + 2, nx[1] + 2, nx[2] + 2, -999.9);
dataSet->setFdistributions(d);
}
......@@ -99,9 +99,7 @@ void K17CompressibleNavierStokes::calculate(int step)
muForcingX3.DefineVar("nu", &muNu);
}
auto localDistributions = std::dynamic_pointer_cast<EsoSplit>(dataSet->getFdistributions())->getLocalDistributions();
auto nonLocalDistributions = std::dynamic_pointer_cast<EsoSplit>(dataSet->getFdistributions())->getNonLocalDistributions();
auto restDistributions = std::dynamic_pointer_cast<EsoSplit>(dataSet->getFdistributions())->getZeroDistributions();
auto esoSplit = std::dynamic_pointer_cast<EsoSplit>(dataSet->getFdistributions());
SPtr<BCArray3D> bcArray = this->getBCSet()->getBCArray();
......@@ -127,7 +125,7 @@ void K17CompressibleNavierStokes::calculate(int step)
}
vf::lbm::CollisionParameter parameter;
dataSet->getFdistributions()->getPreCollisionDistribution(parameter.distribution, x1, x2, x3);
esoSplit->getPreCollisionDistribution(parameter.distribution, x1, x2, x3);
real forces[3] = { c0o1, c0o1, c0o1 };
if (withForcing) // TODO: add level factor?
......@@ -156,7 +154,7 @@ void K17CompressibleNavierStokes::calculate(int step)
vf::lbm::MacroscopicValues mv; // not used
vf::lbm::TurbulentViscosity tv; // not used
vf::lbm::runK17CompressibleNavierStokes<vf::lbm::TurbulenceModel::None>(parameter, mv, tv);
dataSet->getFdistributions()->setPostCollisionDistribution(parameter.distribution, x1, x2, x3);
esoSplit->setPostCollisionDistribution(parameter.distribution, x1, x2, x3);
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment