26 std::unique_ptr<MeshBase>
generate()
override;
54 const Real tol = 1e-12)
const;
70 const Point & circle_center,
71 const bool is_closed_loop,
72 const bool move_end_nodes_in_span_direction,
74 Real & end_node_disp)
const;
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const std::vector< Real > _custom_circular_tolerance
Customized tolerance used to verify that boundaries are circular.
This CircularBoundaryCorrectionGenerator object is designed to correct full or partial circular bound...
const MeshGeneratorName _input_name
Name of the mesh generator to get the input mesh.
Point circularCenterCalculator(const std::vector< Point > &pts_list, Real &radius, const Real tol=1e-12) const
Calculates the center of the circle/partial circle formed by a vector of points.
Real sineSummation(const std::vector< Real > &th_list, const Real coeff) const
Calculates the summation of the sine values of a list of angles.
const std::vector< BoundaryName > _input_mesh_circular_boundaries
Names of the circular boundaries of the 2D input mesh to correct.
Real generateRadialCorrectionFactor(const std::vector< std::pair< Point, Point >> &bd_side_list, const Point &circle_center, const bool is_closed_loop, const bool move_end_nodes_in_span_direction, Real &c_coeff, Real &end_node_disp) const
Calculates the radius correction factor based on a list of sides on a circular boundary.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Get the parameters of the object.
static InputParameters validParams()
const std::vector< Real > _transition_layer_ratios
Ratio parameters used to customize the transition area sizes.
std::unique_ptr< MeshBase > & _input
Reference to input mesh pointer.
std::vector< boundary_id_type > _input_mesh_circular_bids
IDs of the circular boundary of the input mesh.
MeshGenerators are objects that can modify or add to an existing mesh.
const bool _move_end_nodes_in_span_direction
Whether to move the end nodes of the partial circular boundary in the span direction.
CircularBoundaryCorrectionGenerator(const InputParameters ¶meters)
Real sinePrimeSummation(const std::vector< Real > &th_list, const Real coeff) const
Calculates the first derivative with regards to coeff of the summation of the sine values of a list o...