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 : // MOOSE includes 11 : #include "NumElements.h" 12 : #include "SubProblem.h" 13 : #include "MooseMesh.h" 14 : 15 : registerMooseObject("MooseApp", NumElements); 16 : registerMooseObjectRenamed("MooseApp", NumElems, "04/01/2025 00:00", NumElements); 17 : 18 : InputParameters 19 28984 : NumElements::validParams() 20 : { 21 28984 : InputParameters params = GeneralPostprocessor::validParams(); 22 28984 : MooseEnum filt("active total", "active"); 23 28984 : params.addParam<MooseEnum>( 24 : "elem_filter", 25 : filt, 26 : "The type of elements to include in the count (active, total). Default == active"); 27 : 28 28984 : params.addClassDescription("Return the number of active or total elements in the simulation."); 29 57968 : return params; 30 28984 : } 31 : 32 222 : NumElements::NumElements(const InputParameters & parameters) 33 : : GeneralPostprocessor(parameters), 34 222 : _filt(parameters.get<MooseEnum>("elem_filter").getEnum<ElemFilter>()), 35 444 : _mesh(_subproblem.mesh().getMesh()) 36 : { 37 222 : } 38 : 39 : Real 40 752 : NumElements::getValue() const 41 : { 42 752 : if (_filt == ElemFilter::ACTIVE) 43 580 : return _mesh.n_active_elem(); 44 172 : return _mesh.n_elem(); 45 : }