version 3.10-dev
Dumux::PartialReassembler< Assembler > Class Template Reference

detects which entries in the Jacobian have to be recomputed More...

#include <dumux/assembly/partialreassembler.hh>

Description

template<class Assembler>
class Dumux::PartialReassembler< Assembler >
Template Parameters
TypeTagThe TypeTag

Public Member Functions

 PartialReassembler (const Assembler &assembler)
 constructor More...
 
void computeColors (const Assembler &assembler, const std::vector< Scalar > &distanceFromLastLinearization, Scalar threshold)
 Determine the colors of entities for partial reassembly. More...
 
void resetColors ()
 
void resetJacobian (Assembler &assembler) const
 
template<class Communication >
void report (const Communication &comm, std::ostream &outStream)
 called by the assembler after successful assembly More...
 
EntityColor elementColor (size_t idx) const
 
EntityColor dofColor (size_t idx) const
 
template<bool enable = decltype(isValid(hasVertexColor()).template check<Engine>())::value, typename std::enable_if_t< enable, int > = 0>
EntityColor vertexColor (size_t idx) const
 

Constructor & Destructor Documentation

◆ PartialReassembler()

template<class Assembler >
Dumux::PartialReassembler< Assembler >::PartialReassembler ( const Assembler &  assembler)
inline
Parameters
assemblerthe assembler

Member Function Documentation

◆ computeColors()

template<class Assembler >
void Dumux::PartialReassembler< Assembler >::computeColors ( const Assembler &  assembler,
const std::vector< Scalar > &  distanceFromLastLinearization,
Scalar  threshold 
)
inline

The following approach is used:

  • Set all elements to 'green'
  • Mark all elements as 'red' which exhibit an relative error above the tolerance
  • Mark all neighbors of 'red' elements also 'red'
Parameters
assemblerthe assembler
distanceFromLastLinearizationThe distance from the last linearization
thresholdReassemble only if the distance from the last linearization is above this value.

◆ dofColor()

template<class Assembler >
EntityColor Dumux::PartialReassembler< Assembler >::dofColor ( size_t  idx) const
inline

◆ elementColor()

template<class Assembler >
EntityColor Dumux::PartialReassembler< Assembler >::elementColor ( size_t  idx) const
inline

◆ report()

template<class Assembler >
template<class Communication >
void Dumux::PartialReassembler< Assembler >::report ( const Communication &  comm,
std::ostream &  outStream 
)
inline

◆ resetColors()

template<class Assembler >
void Dumux::PartialReassembler< Assembler >::resetColors ( )
inline

◆ resetJacobian()

template<class Assembler >
void Dumux::PartialReassembler< Assembler >::resetJacobian ( Assembler &  assembler) const
inline

◆ vertexColor()

template<class Assembler >
template<bool enable = decltype(isValid(hasVertexColor()).template check<Engine>())::value, typename std::enable_if_t< enable, int > = 0>
EntityColor Dumux::PartialReassembler< Assembler >::vertexColor ( size_t  idx) const
inline

The documentation for this class was generated from the following file: