Commit fafa89ee authored by Dennis Gläser's avatar Dennis Gläser Committed by Timo Koch

[md][cclocalassembler] make coupling work for coupling-dependent vars

If variables (e.g. flux vars cache) depend on variables of a coupled
domain, we have to reset them before jumping to the next element in
the coupling stencil. Otherwise subsequent residual computations are
wrong.
parent 1cc98dd2
...@@ -525,22 +525,13 @@ public: ...@@ -525,22 +525,13 @@ public:
// restore the undeflected state of the coupling context // restore the undeflected state of the coupling context
this->couplingManager().updateCouplingContext(domainI, *this, domainJ, globalJ, priVarsJ, pvIdx); this->couplingManager().updateCouplingContext(domainI, *this, domainJ, globalJ, priVarsJ, pvIdx);
// TODO do we have to restore here again???
// if (enableGridFluxVarsCache)
// this->couplingManager().updateCoupledVariables(domainI, *this, curElemVolVars, gridVariables.gridFluxVarsCache());
// else
// this->couplingManager().updateCoupledVariables(domainI, *this, curElemVolVars, elemFluxVarsCache);
} }
}
// restore original state of the flux vars cache and/or vol vars in case of global caching. // restore original state of the flux vars cache and/or vol vars in case of global caching.
// This has to be done in order to guarantee that everything is in an undeflected // This has to be done in order to guarantee that the undeflected residual computation done
// state before the assembly of another element is called. In the case of local caching // above is correct when jumping to the next coupled element.
// this is obsolete because the local views used here go out of scope after this. updateCoupledVariables();
// We only have to do this for the last primary variable, for all others the flux var cache }
// is updated with the correct element volume variables before residual evaluations
updateCoupledVariables();
} }
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment