version 3.9.0
Loading...
Searching...
No Matches
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
 
void computeColors (const Assembler &assembler, const std::vector< Scalar > &distanceFromLastLinearization, Scalar threshold)
 Determine the colors of entities for partial reassembly.
 
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
 
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: