Commit 47f59955 authored by Timo Koch's avatar Timo Koch
Browse files

Merge branch 'fix/mpfa-zero-transmissibility-check' into 'master'

Fix/mpfa zero transmissibility check

See merge request !1948
parents a905ecaf 0987a7a6
......@@ -57,9 +57,11 @@ class InteractionVolumeAssemblerBase
using Problem = P;
using FVElementGeometry = EG;
using ElementVolumeVariables = EV;
using Helper = InteractionVolumeAssemblerHelper;
template< class IV >
using Scalar = typename IV::Traits::MatVecTraits::FaceVector::value_type;
public:
/*!
* \brief The constructor.
......@@ -97,9 +99,9 @@ class InteractionVolumeAssemblerBase
* \param getT Lambda to evaluate the scv-wise tensors
*/
template< class DataHandle, class IV, class TensorFunc >
void assembleMatrices(DataHandle& handle, IV& iv, const TensorFunc& getT)
void assembleMatrices(DataHandle& handle, IV& iv, const TensorFunc& getT, Scalar<IV> wijZeroThresh = 0.0)
{
DUNE_THROW(Dune::NotImplemented, "Implementation does not provide a assembleMatrices() function");
DUNE_THROW(Dune::NotImplemented, "Implementation does not provide an assembleMatrices() function");
}
/*!
......@@ -116,7 +118,7 @@ class InteractionVolumeAssemblerBase
template< class DataHandle, class IV, class GetU >
void assembleU(DataHandle& handle, const IV& iv, const GetU& getU)
{
DUNE_THROW(Dune::NotImplemented, "Implementation does not provide a assemble() function for the cell/Dirichlet unknowns");
DUNE_THROW(Dune::NotImplemented, "Implementation does not provide an assemble() function for the cell/Dirichlet unknowns");
}
/*!
......
......@@ -258,7 +258,7 @@ private:
if (otherLocalDofIdx == curLocalDofIdx)
{
if (abs(wijk[faceIdx][0][localDir]) < wijZeroThresh)
if (abs(wijk[faceIdx][0][localDir]) <= wijZeroThresh)
{
if (!curIsDirichlet)
{
......@@ -322,7 +322,7 @@ private:
// check for zero transmissibilities (skip if inside has been zero already)
if (otherLocalDofIdx == curLocalDofIdx && !insideZeroWij)
if (abs(wijk[faceIdx][idxOnScvf][localDir]) < wijZeroThresh)
if (abs(wijk[faceIdx][idxOnScvf][localDir]) <= wijZeroThresh)
faceMarkers.emplace_back( std::make_pair(curLocalDofIdx, faceIdx) );
if (!otherLocalScvf.isDirichlet())
......
Supports Markdown
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