LCOV - code coverage report
Current view: top level - include/actions - SetupQuadratureAction.h (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 2bf808 Lines: 6 6 100.0 %
Date: 2025-07-17 01:28:37 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://mooseframework.inl.gov
       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             : #pragma once
      11             : 
      12             : #include "Action.h"
      13             : // libMesh
      14             : #include "libmesh/enum_order.h"
      15             : #include "libmesh/enum_quadrature_type.h"
      16             : 
      17             : /**
      18             :  * Sets the quadrature
      19             :  */
      20             : class SetupQuadratureAction : public Action
      21             : {
      22             : public:
      23             :   static InputParameters validParams();
      24             : 
      25             :   SetupQuadratureAction(const InputParameters & parameters);
      26             : 
      27             :   virtual void act() override;
      28             : 
      29             :   /// Return the possible selections for the type of the quadrature
      30       76454 :   static MooseEnum getQuadratureTypesEnum()
      31             :   {
      32       76454 :     return MooseEnum("CLOUGH CONICAL GAUSS GRID MONOMIAL SIMPSON TRAP GAUSS_LOBATTO", "GAUSS");
      33             :   }
      34             :   /// Return the potential selections for the order of the quadrature, with an 'auto' default
      35      200736 :   static MooseEnum getQuadratureOrderEnum()
      36             :   {
      37             :     return MooseEnum(
      38             :         "AUTO CONSTANT FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH "
      39             :         "ELEVENTH TWELFTH THIRTEENTH FOURTEENTH FIFTEENTH SIXTEENTH SEVENTEENTH "
      40             :         "EIGHTTEENTH NINTEENTH TWENTIETH",
      41      200736 :         "AUTO");
      42             :   }
      43             :   /// A MultiMooseEnum for selecting multiple quadrature orders
      44       62141 :   static MultiMooseEnum getQuadratureOrdersMultiEnum()
      45             :   {
      46             :     return MultiMooseEnum(
      47             :         "CONSTANT FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH "
      48             :         "ELEVENTH TWELFTH THIRTEENTH FOURTEENTH FIFTEENTH SIXTEENTH SEVENTEENTH "
      49       62141 :         "EIGHTTEENTH NINTEENTH TWENTIETH");
      50             :   }
      51             : 
      52             : protected:
      53             :   libMesh::QuadratureType _type;
      54             :   Order _order;
      55             :   Order _element_order;
      56             :   Order _side_order;
      57             :   const std::vector<std::pair<SubdomainID, MooseEnumItem>> _custom_block_orders;
      58             :   const bool _allow_negative_qweights;
      59             : };

Generated by: LCOV version 1.14