Timo,
Thank you very much, that worked like a charm.
On another note, did you have a chance to look into MR 2914 and my
message from October 28?
Best regards,
Dmitry
On 18.11.2021 17:19, Timo Koch wrote:
Hi Dmitry,
you want to only iterate over the internal cells to not sum up things
twice on the process boundary, to this end use
for (const auto& element : elements(this->gridGeometry().gridView(),
|Dune::Partitions::interior|))
After the loop you actually have to sum up over the process if you
want the summed result, e.g. try
const auto& comm = this->gridGeometry().gridView().comm();
for (int i = 0; i < FluidSystem::numComponents; ++i)
fluxes[i] = comm.sum(fluxes[i]);
Best wishes
Timo
On 18. Nov 2021, at 13:40, Dmitry Pavlov <dmitry.pav...@outlook.com
<mailto:dmitry.pav...@outlook.com>> wrote:
Hello,
I have the following code to compute and add up fluxes through
boundary cells of certain type after each step:
Scalar fluxes[FluidSystem::numComponents] = {0};
for (const auto& element :
elements(this->gridGeometry().gridView()))
{
auto fvGeometry = localView(this->gridGeometry());
fvGeometry.bindElement(element);
auto elemVolVars =
localView(gridVariables.curGridVolVars());
elemVolVars.bind(element, fvGeometry, curSol);
auto elemFluxVarsCache =
localView(gridVariables.gridFluxVarsCache());
for (auto&& scvf : scvfs(fvGeometry))
{
if (scvf.boundary())
{
const auto boundaryMarkerId =
gridDataPtr_->getBoundaryDomainMarker(scvf.boundaryFlag());
if (boundaryMarkerId == 888)
{
auto neumannFluxes = neumann(element,
fvGeometry, elemVolVars, elemFluxVarsCache, scvf);
neumannFluxes *= scvf.area() *
elemVolVars[scvf.insideScvIdx()].extrusionFactor();
for (int i = 0; i <
FluidSystem::numComponents; i++)
fluxes[i] += neumannFluxes[i];
}
}
}
}
It works in single-process mode but not in multi-process. I think
this has to do with the grid being divided between processes? How do
I adapt this post-processing code to this scheme?
Best regards,
Dmitry
_______________________________________________
DuMux mailing list
DuMux@listserv.uni-stuttgart.de <mailto:DuMux@listserv.uni-stuttgart.de>
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
_______________________________________________
DuMux mailing list
DuMux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux