www.mooseframework.org
ElementQualityAux.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "ElementQualityAux.h"
11 
12 #include "ElementQualityChecker.h"
13 
15 
17 
20 {
22 
23  params.addClassDescription("Generates a field containing the quality metric for each element. "
24  "Useful for visualizing mesh quality.");
25 
27  "metric", ElementQualityChecker::QualityMetricType(), "The quality metric to use.");
28 
29  return params;
30 }
31 
33  : AuxKernel(parameters), _metric_type(getParam<MooseEnum>("metric").getEnum<ElemQuality>())
34 {
35  if (isNodal())
36  mooseError("ElementQualityAux only works on elemental fields.");
37 }
38 
39 Real
41 {
42  return _current_elem->quality(_metric_type);
43 }
MooseObject::mooseError
void mooseError(Args &&... args) const
Definition: MooseObject.h:141
ElementQualityAux::validParams
static InputParameters validParams()
Definition: ElementQualityAux.C:19
MooseEnum
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:31
AuxKernelTempl
Base class for creating new auxiliary kernels and auxiliary boundary conditions.
Definition: AuxKernel.h:35
ElementQualityAux::ElementQualityAux
ElementQualityAux(const InputParameters &parameters)
Definition: ElementQualityAux.C:32
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition: InputParameters.h:53
registerMooseObject
registerMooseObject("MooseApp", ElementQualityAux)
ElementQualityAux
Calculates element quality for each element.
Definition: ElementQualityAux.h:25
AuxKernelTempl::_current_elem
const Elem *const & _current_elem
Current element (valid only for elemental kernels)
Definition: AuxKernel.h:208
InputParameters::addClassDescription
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump.
Definition: InputParameters.C:70
ElementQualityChecker::QualityMetricType
static MooseEnum QualityMetricType()
Definition: ElementQualityChecker.C:19
AuxKernelTempl::validParams
static InputParameters validParams()
Definition: AuxKernel.C:28
ElementQualityAux::_metric_type
ElemQuality _metric_type
The metric type to use.
Definition: ElementQualityAux.h:36
AuxKernelTempl::isNodal
bool isNodal() const
Nodal or elemental kernel?
Definition: AuxKernel.h:89
ElementQualityChecker.h
ElementQualityAux::computeValue
virtual Real computeValue() override
Compute and return the value of the aux variable.
Definition: ElementQualityAux.C:40
ElementQualityAux.h
defineLegacyParams
defineLegacyParams(ElementQualityAux)
InputParameters::addRequiredParam
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
Definition: InputParameters.h:1176