https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SphericalGridDivision.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
14class Positions;
15
20{
21public:
23
25
26 virtual void initialize() override;
27 virtual unsigned int divisionIndex(const Point & pt) const override;
28 virtual unsigned int divisionIndex(const Elem & elem) const override;
29
30protected:
32 const Point * const _center;
35
37 const Real _min_r;
39 const Real _max_r;
40
42 const unsigned int _n_radial;
43
46};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Base class for MeshDivision objects.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Positions objects are under the hood Reporters.
Definition Positions.h:21
Divides the mesh based on a spherical grid.
virtual unsigned int divisionIndex(const Point &pt) const override
Return the index of the division to which the point belongs.
virtual void initialize() override
Set up any data members that would be necessary to obtain the division indices.
static InputParameters validParams()
const Real _max_r
Maximal radial extent of the sphere.
const Positions *const _center_positions
Positions giving all the centers of the spheres, serving as the coordinate frame center.
const Point *const _center
Point at the center of the sphere, serving as the coordinate frame center.
const bool _outside_grid_counts_as_border
Whether to map outside the grid onto the inner/outer shells (radially)
const unsigned int _n_radial
Number of divisions in the radial direction.
const Real _min_r
Minimal radial extent of the sphere.