BinaryOpIndicatorComposite< dim, number, BinaryOp > Class Template Reference

Developer Documentation: MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp > Class Template Reference
Developer Documentation
MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp > Class Template Reference

#include <amr_indicators.hpp>

Inheritance diagram for MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >:
[legend]
Collaboration diagram for MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >:
[legend]

Classes

struct  IndicatorAndWeight
 

Public Member Functions

void add_indicator (std::unique_ptr< AMRIndicatorBase< dim, number > > &&indicator, number weight=1.)
 
VectorType compute_indicator (const dealii::Triangulation< dim > &tria) override
 
bool empty () const
 
- Public Member Functions inherited from MeltPoolDG::AMR::AMRIndicatorBase< dim, number >
virtual ~AMRIndicatorBase ()=default
 

Private Types

using VectorType = dealii::Vector< number >
 

Private Attributes

std::vector< IndicatorAndWeightindicators_and_weights
 Vector storing the combination of refinement indicator and weights.
 

Detailed Description

template<int dim, typename number, template< typename > class BinaryOp = std::plus>
class MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >

A composite of indicators based on a specified binary operation. This indicator composite stores a collection of user defined indicators and computes a reduced indicator based on the specified binary operator. Optionally, the indicators can also be weighted.

Member Typedef Documentation

◆ VectorType

template<int dim, typename number , template< typename > class BinaryOp = std::plus>
using MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >::VectorType = dealii::Vector<number>
private

Member Function Documentation

◆ add_indicator()

template<int dim, typename number , template< typename > class BinaryOp>
void MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >::add_indicator ( std::unique_ptr< AMRIndicatorBase< dim, number > > &&  indicator,
number  weight = 1. 
)

Adds the provided indicator to the indicator composition.

Parameters
indicatorIndicator to be added to the composition.
weightOptional weighting factor for the indicator during the reduction.

◆ compute_indicator()

template<int dim, typename number , template< typename > class BinaryOp>
auto MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >::compute_indicator ( const dealii::Triangulation< dim > &  tria)
overridevirtual

Computes the composition of the internally stored indicators weighted with the corresponding weighting factors. All indicators used must have been added with the add_indicator() function before.

Parameters
triaTriangulation for which the indicator is computed.

Implements MeltPoolDG::AMR::AMRIndicatorBase< dim, number >.

◆ empty()

template<int dim, typename number , template< typename > class BinaryOp>
bool MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >::empty ( ) const

Returns true if no indicator is stored in the object.

Member Data Documentation

◆ indicators_and_weights

template<int dim, typename number , template< typename > class BinaryOp = std::plus>
std::vector<IndicatorAndWeight> MeltPoolDG::AMR::BinaryOpIndicatorComposite< dim, number, BinaryOp >::indicators_and_weights
private

Vector storing the combination of refinement indicator and weights.


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