Line data Source code
1 : #ifndef LAYERINTERFACEINDICATOR_H 2 : #define LAYERINTERFACEINDICATOR_H 3 : 4 : // MOOSE includes 5 : #include "InternalSideIndicator.h" 6 : 7 : /** 8 : * Computes the "error" as defined by the difference between the layers. Since, 9 : * layer ids are arbitrary the 10 : * magnitude of the error is not relevant, just that the error is above zero. 11 : * Therefore, when a difference is computed 12 : * the "error" is set to one. Thus, this should be used with the 13 : * ErrorToleranceMarker. 14 : * 15 : * This inherits from InternalSideIndicator to gain access to neighbor 16 : * information. 17 : */ 18 : class LayerInterfaceIndicator : public InternalSideIndicator 19 : { 20 : public: 21 : static InputParameters validParams(); 22 : LayerInterfaceIndicator(const InputParameters & params); 23 : 24 : /** 25 : * This elminates the aggregation performed by the 26 : * InternalSideIndicator::finalize, 27 : * which is not needed here. 28 : */ 29 45882 : virtual void finalize() override {} 30 : 31 : protected: 32 : /// Computes the difference in the layer ids 33 : virtual void computeIndicator() override; 34 : 35 : /** 36 : * This method is not used. 37 : * 38 : * see computeIndicator 39 : */ 40 0 : virtual Real computeQpIntegral() final { return 0.0; } 41 : 42 : /// Tolerence for considering a layer ids different 43 : const Real & _tolerance; 44 : }; 45 : 46 : #endif // LAYERINTERFACEINDICATOR_H