https://mooseframework.inl.gov
SubdomainsDivision.h
Go to the documentation of this file.
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 "MeshDivision.h"
13 #include "BlockRestrictable.h"
14 
19 {
20 public:
22 
24 
25  virtual void initialize() override;
26  virtual unsigned int divisionIndex(const Point & pt) const override;
27  virtual unsigned int divisionIndex(const Elem & elem) const override;
28 
29 protected:
31  std::unordered_map<SubdomainID, unsigned int> _subdomain_ids_to_division_index;
32 };
SubdomainsDivision(const InputParameters &parameters)
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Base class for MeshDivision objects.
Definition: MeshDivision.h:35
virtual void initialize() override
Set up any data members that would be necessary to obtain the division indices.
Divides the mesh based on the subdomains.
An interface that restricts an object to subdomains via the &#39;blocks&#39; input parameter.
virtual unsigned int divisionIndex(const Point &pt) const override
Return the index of the division to which the point belongs.
const InputParameters & parameters() const
Get the parameters of the object.
std::unordered_map< SubdomainID, unsigned int > _subdomain_ids_to_division_index
Map from subdomain ids to division index. Created on calls to initialize()