LCOV - code coverage report
Current view: top level - include/actions - SetupQuadratureAction.h (source / functions) Hit Total Coverage
Test: idaholab/moose framework: #32971 (54bef8) with base c6cf66 Lines: 8 8 100.0 %
Date: 2026-05-29 20:35:17 Functions: 4 4 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             : #include "MooseEnum.h"
      14             : 
      15             : // libMesh
      16             : #include "libmesh/enum_order.h"
      17             : #include "libmesh/enum_quadrature_type.h"
      18             : 
      19             : /**
      20             :  * Sets the quadrature
      21             :  */
      22             : class SetupQuadratureAction : public Action
      23             : {
      24             : public:
      25             :   static InputParameters validParams();
      26             : 
      27             :   SetupQuadratureAction(const InputParameters & parameters);
      28             : 
      29             :   virtual void act() override;
      30             : 
      31             :   /// Return the possible selections for the type of the quadrature
      32       69099 :   static MooseEnum getQuadratureTypesEnum()
      33             :   {
      34      276396 :     return MooseEnum("CLOUGH CONICAL GAUSS GRID MONOMIAL SIMPSON TRAP GAUSS_LOBATTO", "GAUSS");
      35             :   }
      36             :   /// Return the potential selections for the order of the quadrature, with an 'auto' default
      37      204156 :   static MooseEnum getQuadratureOrderEnum()
      38             :   {
      39             :     return MooseEnum(
      40             :         "AUTO CONSTANT FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH "
      41             :         "ELEVENTH TWELFTH THIRTEENTH FOURTEENTH FIFTEENTH SIXTEENTH SEVENTEENTH "
      42             :         "EIGHTTEENTH NINTEENTH TWENTIETH",
      43      816624 :         "AUTO");
      44             :   }
      45             :   /// A MultiMooseEnum for selecting multiple quadrature orders
      46       65990 :   static MultiMooseEnum getQuadratureOrdersMultiEnum()
      47             :   {
      48             :     return MultiMooseEnum(
      49             :         "CONSTANT FIRST SECOND THIRD FOURTH FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH "
      50             :         "ELEVENTH TWELFTH THIRTEENTH FOURTEENTH FIFTEENTH SIXTEENTH SEVENTEENTH "
      51      131980 :         "EIGHTTEENTH NINTEENTH TWENTIETH");
      52             :   }
      53             :   /// A MultiMooseEnum for selecting multiple quadrature types (one per custom block)
      54       65990 :   static MultiMooseEnum getQuadratureTypesMultiEnum()
      55             :   {
      56      131980 :     return MultiMooseEnum("CLOUGH CONICAL GAUSS GRID MONOMIAL SIMPSON TRAP GAUSS_LOBATTO");
      57             :   }
      58             : 
      59             : protected:
      60             :   libMesh::QuadratureType _type;
      61             :   Order _order;
      62             :   Order _element_order;
      63             :   Order _side_order;
      64             :   const std::vector<std::pair<SubdomainID, MooseEnumItem>> _custom_block_orders;
      65             :   /// Per-block quadrature types, parallel to _custom_block_orders. Falls back to _type if empty.
      66             :   std::vector<libMesh::QuadratureType> _custom_block_types;
      67             :   const bool _allow_negative_qweights;
      68             : };

Generated by: LCOV version 1.14