https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CylindricalGridDivision.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 _direction;
34 const Point * const _center;
38 const Point _azim_dir;
39
41 const Real _min_r;
43 const Real _max_r;
45 const Real _min_z;
47 const Real _max_z;
48
50 const unsigned int _n_radial;
52 const unsigned int _n_azim;
54 const unsigned int _n_axial;
55
58};
Divides the mesh based on a cylindrical grid.
virtual unsigned int divisionIndex(const Point &pt) const override
Return the index of the division to which the point belongs.
static InputParameters validParams()
const Real _min_r
Minimal radial extent of the cylinder.
const unsigned int _n_azim
Number of divisions in the azimuthal direction.
const Real _min_z
Minimal axial extent of the cylinder.
const Point *const _center
Point at the center of the cylinder, serving as the coordinate frame center.
const Point _direction
Axis direction of the cylinder.
const unsigned int _n_axial
Number of divisions in the cylinder axial direction.
const unsigned int _n_radial
Number of divisions in the radial direction.
const bool _outside_grid_counts_as_border
Whether to map outside the grid onto the inner/outer crowns (radially) or top/bottom bins (axially)
const Positions *const _center_positions
Positions giving all the centers of the cylinders, serving as the coordinate frame center.
const Real _max_r
Maximal radial extent of the cylinder.
const Real _max_z
Maximal axial extent of the cylinder.
const Point _azim_dir
Azimuthal axis direction (angle = 0)
virtual void initialize() override
Set up any data members that would be necessary to obtain the division indices.
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