Functions | |
void | fillBetweenPointVectorsGenerator (MeshBase &mesh, const std::vector< Point > &boundary_points_vec_1, const std::vector< Point > &boundary_points_vec_2, const unsigned int num_layers, const subdomain_id_type transition_layer_id, const boundary_id_type input_boundary_1_id, const boundary_id_type input_boundary_2_id, const boundary_id_type begin_side_boundary_id, const boundary_id_type end_side_boundary_id, const std::string type, const std::string name, const bool quad_elem=false, const Real bias_parameter=1.0, const Real sigma=3.0) |
Generates a 2D mesh with triangular elements for a region defined by two curves (sets of Points) More... | |
void | fillBetweenPointVectorsGenerator (MeshBase &mesh, const std::vector< Point > &boundary_points_vec_1, const std::vector< Point > &boundary_points_vec_2, const unsigned int num_layers, const subdomain_id_type transition_layer_id, const boundary_id_type external_boundary_id, const std::string type, const std::string name, const bool quad_elem=false) |
Generates a 2D mesh with triangular elements for a region defined by two curves (sets of Points) More... | |
void | elementsCreationFromNodesVectorsQuad (MeshBase &mesh, const std::vector< std::vector< Node *>> &nodes, const unsigned int num_layers, const std::vector< unsigned int > &node_number_vec, const subdomain_id_type transition_layer_id, const boundary_id_type input_boundary_1_id, const boundary_id_type input_boundary_2_id, const boundary_id_type begin_side_boundary_id, const boundary_id_type end_side_boundary_id) |
Generates a 2D mesh based on a 2D vector of Nodes using QUAD4 elements in the xy-plane. More... | |
void | elementsCreationFromNodesVectors (MeshBase &mesh, const std::vector< std::vector< Node *>> &nodes, const unsigned int num_layers, const std::vector< unsigned int > &node_number_vec, const subdomain_id_type transition_layer_id, const boundary_id_type input_boundary_1_id, const boundary_id_type input_boundary_2_id, const boundary_id_type begin_side_boundary_id, const boundary_id_type end_side_boundary_id) |
Generates a 2D mesh based on a 2D vector of Nodes using TRI3 elements in the xy-plane. More... | |
void | weightedInterpolator (const unsigned int vec_node_num, const std::vector< Point > &boundary_points_vec, std::vector< Real > &vec_index, std::vector< Real > &wt, std::vector< Real > &index, const Real sigma, std::unique_ptr< LinearInterpolation > &linear_vec_x, std::unique_ptr< LinearInterpolation > &linear_vec_y, std::unique_ptr< SplineInterpolation > &spline_vec_l) |
Generates weights, weighted indices and corresponding interpolation. More... | |
void | surrogateGenerator (std::vector< Real > &weighted_surrogate_index, std::vector< Real > &unweighted_surrogate_index, const std::vector< unsigned int > &node_number_vec, const std::vector< Real > &index, const std::vector< Real > &wt, const unsigned int boundary_node_num, const unsigned int i) |
Generates weighted surrogate index vectors on one side for points of a sublayer curve. More... | |
bool | needFlip (const std::vector< Point > &vec_pts_1, const std::vector< Point > &vec_pts_2) |
Decide whether one of the input vector of Points needs to be flipped to ensure correct transition layer shape. More... | |
bool | isBoundarySimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &boundary_ordered_node_list, const Point origin_pt, const boundary_id_type bid) |
Decides whether a boundary of a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
bool | isBoundarySimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, const Point origin_pt, const boundary_id_type bid) |
Decides whether a boundary of a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
bool | isBoundarySimpleClosedLoop (MeshBase &mesh, const Point origin_pt, const boundary_id_type bid) |
Decides whether a boundary of a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
bool | isBoundaryOpenSingleSegment (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &boundary_ordered_node_list, const Point origin_pt, const boundary_id_type bid) |
Decides whether a boundary of a given mesh is an open single-segment boundary. More... | |
bool | isCurveSimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, const Point origin_pt) |
Decides whether a curve contained in a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
bool | isCurveSimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, const Point origin_pt) |
Decides whether a curve contained in a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
bool | isCurveSimpleClosedLoop (MeshBase &mesh, const Point origin_pt) |
Decides whether a curve contained in a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
bool | isCurveOpenSingleSegment (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, const Point origin_pt) |
Decides whether a curve contained in a given mesh is an open single-segment curve. More... | |
void | isClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, std::vector< std::pair< dof_id_type, dof_id_type >> &node_assm, std::vector< dof_id_type > &midpoint_node_list, const Point origin_pt, const std::string input_type, bool &is_closed_loop, const bool suppress_exception=false) |
Decides whether a series of nodes contained in a given mesh forms a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
void | isClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, std::vector< std::pair< dof_id_type, dof_id_type >> &node_assm, const Point origin_pt, const std::string input_type, bool &is_closed_loop, const bool suppress_exception=false) |
Decides whether a series of nodes contained in a given mesh forms a closed loop with consecutive nodes's azimuthal angles change monotonically. More... | |
bool | isExternalBoundary (MeshBase &mesh, const boundary_id_type bid) |
Decides whether a boundary of a given mesh is an external boundary. More... | |
bool | buildQuadElement (Elem *elem, Node *nd_0, Node *nd_1, Node *nd_2, Node *nd_3, const subdomain_id_type transition_layer_id) |
Creates an QUAD4 element that can be extruded in (0 0 1) direction. More... | |
bool | buildTriElement (Elem *elem, Node *nd_0, Node *nd_1, Node *nd_2, const subdomain_id_type transition_layer_id) |
Creates an TRI3 element that can be extruded in (0 0 1) direction. More... | |
void | fillBetweenPointVectorsGenerator (MeshBase &mesh, const std::vector< Point > &boundary_points_vec_1, const std::vector< Point > &boundary_points_vec_2, const unsigned int num_layers, const subdomain_id_type transition_layer_id, const boundary_id_type input_boundary_1_id, const boundary_id_type input_boundary_2_id, const boundary_id_type begin_side_boundary_id, const boundary_id_type end_side_boundary_id, const std::string type, const std::string name, const bool quad_elem, const Real bias_parameter, const Real sigma) |
void | fillBetweenPointVectorsGenerator (MeshBase &mesh, const std::vector< Point > &boundary_points_vec_1, const std::vector< Point > &boundary_points_vec_2, const unsigned int num_layers, const subdomain_id_type transition_layer_id, const boundary_id_type external_boundary_id, const std::string type, const std::string name, const bool quad_elem) |
void | elementsCreationFromNodesVectorsQuad (MeshBase &mesh, const std::vector< std::vector< Node *>> &nodes, const unsigned int num_layers, const std::vector< unsigned int > &node_number_vec, const subdomain_id_type transition_layer_id, const boundary_id_type input_boundary_1_id, const boundary_id_type input_boundary_2_id, const boundary_id_type begin_side_boundary_id, const boundary_id_type end_side_boundary_id) |
void | elementsCreationFromNodesVectors (MeshBase &mesh, const std::vector< std::vector< Node *>> &nodes, const unsigned int num_layers, const std::vector< unsigned int > &node_number_vec, const subdomain_id_type transition_layer_id, const boundary_id_type input_boundary_1_id, const boundary_id_type input_boundary_2_id, const boundary_id_type begin_side_boundary_id, const boundary_id_type end_side_boundary_id) |
void | weightedInterpolator (const unsigned int vec_node_num, const std::vector< Point > &boundary_points_vec, std::vector< Real > &vec_index, std::vector< Real > &wt, std::vector< Real > &index, const Real sigma, std::unique_ptr< LinearInterpolation > &linear_vec_x, std::unique_ptr< LinearInterpolation > &linear_vec_y, std::unique_ptr< SplineInterpolation > &spline_vec_l) |
bool | needFlip (const std::vector< Point > &vec_pts_1, const std::vector< Point > &vec_pts_2) |
bool | isBoundarySimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &boundary_ordered_node_list, const Point origin_pt, const boundary_id_type bid) |
bool | isBoundarySimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, const Point origin_pt, const boundary_id_type bid) |
bool | isBoundarySimpleClosedLoop (MeshBase &mesh, const Point origin_pt, const boundary_id_type bid) |
bool | isBoundaryOpenSingleSegment (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &boundary_ordered_node_list, const Point origin_pt, const boundary_id_type bid) |
bool | isExternalBoundary (MeshBase &mesh, const boundary_id_type bid) |
bool | isCurveSimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, const Point origin_pt) |
bool | isCurveSimpleClosedLoop (MeshBase &mesh, Real &max_node_radius, const Point origin_pt) |
bool | isCurveSimpleClosedLoop (MeshBase &mesh, const Point origin_pt) |
bool | isCurveOpenSingleSegment (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, const Point origin_pt) |
void | isClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, std::vector< std::pair< dof_id_type, dof_id_type >> &node_assm, std::vector< dof_id_type > &midpoint_node_list, const Point origin_pt, const std::string input_type, bool &is_closed_loop, const bool suppress_exception) |
void | isClosedLoop (MeshBase &mesh, Real &max_node_radius, std::vector< dof_id_type > &ordered_node_list, std::vector< std::pair< dof_id_type, dof_id_type >> &node_assm, const Point origin_pt, const std::string input_type, bool &is_closed_loop, const bool suppress_exception) |
bool | buildQuadElement (Elem *elem, Node *nd_0, Node *nd_1, Node *nd_2, Node *nd_3, const subdomain_id_type transition_layer_id) |
bool | buildTriElement (Elem *elem, Node *nd_0, Node *nd_1, Node *nd_2, const subdomain_id_type transition_layer_id) |
bool FillBetweenPointVectorsTools::buildQuadElement | ( | Elem * | elem, |
Node * | nd_0, | ||
Node * | nd_1, | ||
Node * | nd_2, | ||
Node * | nd_3, | ||
const subdomain_id_type | transition_layer_id | ||
) |
Creates an QUAD4 element that can be extruded in (0 0 1) direction.
elem | pointer of the element to be created |
nd_0 | pointer of element's first node |
nd_1 | pointer of element's second node |
nd_2 | pointer of element's third node |
nd_3 | pointer of element's fourth node |
transition_layer_id | id of the subdomain that this element belongs to |
bool FillBetweenPointVectorsTools::buildQuadElement | ( | Elem * | elem, |
Node * | nd_0, | ||
Node * | nd_1, | ||
Node * | nd_2, | ||
Node * | nd_3, | ||
const subdomain_id_type | transition_layer_id | ||
) |
Definition at line 750 of file FillBetweenPointVectorsTools.C.
Referenced by elementsCreationFromNodesVectorsQuad().
bool FillBetweenPointVectorsTools::buildTriElement | ( | Elem * | elem, |
Node * | nd_0, | ||
Node * | nd_1, | ||
Node * | nd_2, | ||
const subdomain_id_type | transition_layer_id | ||
) |
Creates an TRI3 element that can be extruded in (0 0 1) direction.
elem | pointer of the element to be created |
nd_0 | pointer of element's first node |
nd_1 | pointer of element's second node |
nd_2 | pointer of element's third node |
transition_layer_id | id of the subdomain that this element belongs to |
bool FillBetweenPointVectorsTools::buildTriElement | ( | Elem * | elem, |
Node * | nd_0, | ||
Node * | nd_1, | ||
Node * | nd_2, | ||
const subdomain_id_type | transition_layer_id | ||
) |
Definition at line 779 of file FillBetweenPointVectorsTools.C.
Referenced by elementsCreationFromNodesVectors().
void FillBetweenPointVectorsTools::elementsCreationFromNodesVectors | ( | MeshBase & | mesh, |
const std::vector< std::vector< Node *>> & | nodes, | ||
const unsigned int | num_layers, | ||
const std::vector< unsigned int > & | node_number_vec, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | input_boundary_1_id, | ||
const boundary_id_type | input_boundary_2_id, | ||
const boundary_id_type | begin_side_boundary_id, | ||
const boundary_id_type | end_side_boundary_id | ||
) |
Generates a 2D mesh based on a 2D vector of Nodes using TRI3 elements in the xy-plane.
mesh | a reference MeshBase to contain the generated mesh |
nodes | a 2D vector of nodes based on which the mesh is built |
num_layers | number of sublayers of elements |
node_number_vec | number of nodes on each sublayer |
transition_layer_id | subdomain id of the generated mesh |
input_boundary_1_id | id of the generated mesh's external boundary that originates from boundary_points_vec_1 |
input_boundary_2_id | id of the generated mesh's external boundary that originates from boundary_points_vec_2 |
begin_side_boundary_id | id of the generated mesh's external boundary that connects the first Points of the two input Point vectors |
end_side_boundary_id | id of the generated mesh's external boundary that connects the last Points of the two input Point vectors |
void FillBetweenPointVectorsTools::elementsCreationFromNodesVectors | ( | MeshBase & | mesh, |
const std::vector< std::vector< Node *>> & | nodes, | ||
const unsigned int | num_layers, | ||
const std::vector< unsigned int > & | node_number_vec, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | input_boundary_1_id, | ||
const boundary_id_type | input_boundary_2_id, | ||
const boundary_id_type | begin_side_boundary_id, | ||
const boundary_id_type | end_side_boundary_id | ||
) |
Definition at line 287 of file FillBetweenPointVectorsTools.C.
Referenced by fillBetweenPointVectorsGenerator().
void FillBetweenPointVectorsTools::elementsCreationFromNodesVectorsQuad | ( | MeshBase & | mesh, |
const std::vector< std::vector< Node *>> & | nodes, | ||
const unsigned int | num_layers, | ||
const std::vector< unsigned int > & | node_number_vec, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | input_boundary_1_id, | ||
const boundary_id_type | input_boundary_2_id, | ||
const boundary_id_type | begin_side_boundary_id, | ||
const boundary_id_type | end_side_boundary_id | ||
) |
Generates a 2D mesh based on a 2D vector of Nodes using QUAD4 elements in the xy-plane.
mesh | a reference MeshBase to contain the generated mesh |
nodes | a 2D vector of nodes based on which the mesh is built |
num_layers | number of sublayers of elements |
node_number_vec | number of nodes on each sublayer |
transition_layer_id | subdomain id of the generated mesh |
input_boundary_1_id | id of the generated mesh's external boundary that originates from boundary_points_vec_1 |
input_boundary_2_id | id of the generated mesh's external boundary that originates from boundary_points_vec_2 |
begin_side_boundary_id | id of the generated mesh's external boundary that connects the first Points of the two input Point vectors |
end_side_boundary_id | id of the generated mesh's external boundary that connects the last Points of the two input Point vectors |
void FillBetweenPointVectorsTools::elementsCreationFromNodesVectorsQuad | ( | MeshBase & | mesh, |
const std::vector< std::vector< Node *>> & | nodes, | ||
const unsigned int | num_layers, | ||
const std::vector< unsigned int > & | node_number_vec, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | input_boundary_1_id, | ||
const boundary_id_type | input_boundary_2_id, | ||
const boundary_id_type | begin_side_boundary_id, | ||
const boundary_id_type | end_side_boundary_id | ||
) |
Definition at line 252 of file FillBetweenPointVectorsTools.C.
Referenced by fillBetweenPointVectorsGenerator().
void FillBetweenPointVectorsTools::fillBetweenPointVectorsGenerator | ( | MeshBase & | mesh, |
const std::vector< Point > & | boundary_points_vec_1, | ||
const std::vector< Point > & | boundary_points_vec_2, | ||
const unsigned int | num_layers, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | input_boundary_1_id, | ||
const boundary_id_type | input_boundary_2_id, | ||
const boundary_id_type | begin_side_boundary_id, | ||
const boundary_id_type | end_side_boundary_id, | ||
const std::string | type, | ||
const std::string | name, | ||
const bool | quad_elem, | ||
const Real | bias_parameter, | ||
const Real | sigma | ||
) |
Definition at line 32 of file FillBetweenPointVectorsTools.C.
void FillBetweenPointVectorsTools::fillBetweenPointVectorsGenerator | ( | MeshBase & | mesh, |
const std::vector< Point > & | boundary_points_vec_1, | ||
const std::vector< Point > & | boundary_points_vec_2, | ||
const unsigned int | num_layers, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | input_boundary_1_id, | ||
const boundary_id_type | input_boundary_2_id, | ||
const boundary_id_type | begin_side_boundary_id, | ||
const boundary_id_type | end_side_boundary_id, | ||
const std::string | type, | ||
const std::string | name, | ||
const bool | quad_elem = false , |
||
const Real | bias_parameter = 1.0 , |
||
const Real | sigma = 3.0 |
||
) |
Generates a 2D mesh with triangular elements for a region defined by two curves (sets of Points)
mesh | a reference MeshBase to contain the generated mesh |
boundary_points_vec_1 | vector of Points of Side #1 |
boundary_points_vec_2 | vector of Points of Side #2 |
num_layers | number of sublayers of elements |
transition_layer_id | subdomain id of the generated mesh |
input_boundary_1_id | id of the generated mesh's external boundary that originates from boundary_points_vec_1 |
input_boundary_2_id | id of the generated mesh's external boundary that originates from boundary_points_vec_2 |
begin_side_boundary_id | id of the generated mesh's external boundary that connects the first Points of the two input Point vectors |
end_side_boundary_id | id of the generated mesh's external boundary that connects the last Points of the two input Point vectors |
type | type of the MOOSE object that calls this method for error messages |
name | name of the MOOSE object that calls this method for error messages |
quad_elem | whether the QUAD4 elements are used to construct the mesh |
bias_parameter | a parameter to control bias options (1) >0, biasing factor (2) <=0 automatic biasing |
sigma | Gaussian parameter used for Gaussian blurring of local node density; only used if bias_parameter <= 0 |
Referenced by FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), and FillBetweenPointVectorsGenerator::generate().
void FillBetweenPointVectorsTools::fillBetweenPointVectorsGenerator | ( | MeshBase & | mesh, |
const std::vector< Point > & | boundary_points_vec_1, | ||
const std::vector< Point > & | boundary_points_vec_2, | ||
const unsigned int | num_layers, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | external_boundary_id, | ||
const std::string | type, | ||
const std::string | name, | ||
const bool | quad_elem = false |
||
) |
Generates a 2D mesh with triangular elements for a region defined by two curves (sets of Points)
mesh | a reference MeshBase to contain the generated mesh |
boundary_points_vec_1 | vector of Points of Side #1 |
boundary_points_vec_2 | vector of Points of Side #2 |
num_layers | number of sublayers of elements |
transition_layer_id | subdomain id of the generated mesh |
external_boundary_id | id of the generated mesh's external boundary |
type | type of the MOOSE object that calls this method |
name | name of the MOOSE object that calls this method |
quad_elem | whether the QUAD4 elements are used to construct the mesh |
void FillBetweenPointVectorsTools::fillBetweenPointVectorsGenerator | ( | MeshBase & | mesh, |
const std::vector< Point > & | boundary_points_vec_1, | ||
const std::vector< Point > & | boundary_points_vec_2, | ||
const unsigned int | num_layers, | ||
const subdomain_id_type | transition_layer_id, | ||
const boundary_id_type | external_boundary_id, | ||
const std::string | type, | ||
const std::string | name, | ||
const bool | quad_elem | ||
) |
Definition at line 227 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::isBoundaryOpenSingleSegment | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | boundary_ordered_node_list, | ||
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Decides whether a boundary of a given mesh is an open single-segment boundary.
mesh | input mesh that contains the boundary to be examined |
max_node_radius | the maximum radius of the nodes on the boundary |
boundary_ordered_node_list | the ordered node ids on the given boundary |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
bid | ID of the boundary to be examined |
Referenced by FillBetweenSidesetsGenerator::generate().
bool FillBetweenPointVectorsTools::isBoundaryOpenSingleSegment | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | boundary_ordered_node_list, | ||
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Definition at line 564 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::isBoundarySimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | boundary_ordered_node_list, | ||
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Decides whether a boundary of a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the boundary to be examined |
max_node_radius | the maximum radius of the nodes on the boundary |
boundary_ordered_node_list | the ordered node ids on the given boundary |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
bid | ID of the boundary to be examined |
bool FillBetweenPointVectorsTools::isBoundarySimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Decides whether a boundary of a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the boundary to be examined |
max_node_radius | the maximum radius of the nodes on the boundary |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
bid | ID of the boundary to be examined |
bool FillBetweenPointVectorsTools::isBoundarySimpleClosedLoop | ( | MeshBase & | mesh, |
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Decides whether a boundary of a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the boundary to be examined |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
bid | ID of the boundary to be examined |
bool FillBetweenPointVectorsTools::isBoundarySimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | boundary_ordered_node_list, | ||
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Definition at line 501 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::isBoundarySimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Definition at line 546 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::isBoundarySimpleClosedLoop | ( | MeshBase & | mesh, |
const Point | origin_pt, | ||
const boundary_id_type | bid | ||
) |
Definition at line 557 of file FillBetweenPointVectorsTools.C.
Referenced by isBoundaryOpenSingleSegment(), and isBoundarySimpleClosedLoop().
void FillBetweenPointVectorsTools::isClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
std::vector< std::pair< dof_id_type, dof_id_type >> & | node_assm, | ||
std::vector< dof_id_type > & | midpoint_node_list, | ||
const Point | origin_pt, | ||
const std::string | input_type, | ||
bool & | is_closed_loop, | ||
const bool | suppress_exception = false |
||
) |
Decides whether a series of nodes contained in a given mesh forms a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the node series to be examined |
max_node_radius | the maximum radius of the nodes in the series |
ordered_node_list | the ordered node ids on the given curve |
node_assm | the assembly of the node id pairs that correspond to vertices of the sides on the closed loop |
midpoint_node_list | the node ids of the midpoints of the sides for quadratic sides |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
is_closed_loop | whether the series of nodes form a closed loop with consecutive nodes's azimuthal angles changing monotonically |
suppress_exception | whether to suppress the exceptions thrown by this function if the boundary is not closed |
Referenced by CircularBoundaryCorrectionGenerator::generate().
void FillBetweenPointVectorsTools::isClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
std::vector< std::pair< dof_id_type, dof_id_type >> & | node_assm, | ||
const Point | origin_pt, | ||
const std::string | input_type, | ||
bool & | is_closed_loop, | ||
const bool | suppress_exception = false |
||
) |
Decides whether a series of nodes contained in a given mesh forms a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the node series to be examined |
max_node_radius | the maximum radius of the nodes in the series |
ordered_node_list | the ordered node ids on the given curve |
node_assm | the assembly of the node id pairs that correspond vertices of a series of sides |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
is_closed_loop | whether the series of nodes form a closed loop with consecutive nodes's azimuthal angles change monotonically |
suppress_exception | whether to suppress the exceptions thrown by this function if the boundary is not closed |
void FillBetweenPointVectorsTools::isClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
std::vector< std::pair< dof_id_type, dof_id_type >> & | node_assm, | ||
std::vector< dof_id_type > & | midpoint_node_list, | ||
const Point | origin_pt, | ||
const std::string | input_type, | ||
bool & | is_closed_loop, | ||
const bool | suppress_exception | ||
) |
Definition at line 666 of file FillBetweenPointVectorsTools.C.
void FillBetweenPointVectorsTools::isClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
std::vector< std::pair< dof_id_type, dof_id_type >> & | node_assm, | ||
const Point | origin_pt, | ||
const std::string | input_type, | ||
bool & | is_closed_loop, | ||
const bool | suppress_exception | ||
) |
Definition at line 728 of file FillBetweenPointVectorsTools.C.
Referenced by isBoundarySimpleClosedLoop(), and isCurveSimpleClosedLoop().
bool FillBetweenPointVectorsTools::isCurveOpenSingleSegment | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
const Point | origin_pt | ||
) |
Decides whether a curve contained in a given mesh is an open single-segment curve.
mesh | input mesh that contains the curve to be examined |
max_node_radius | the maximum radius of the nodes on the curve |
ordered_node_list | the ordered node ids on the given curve |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
Referenced by FillBetweenCurvesGenerator::generate().
bool FillBetweenPointVectorsTools::isCurveOpenSingleSegment | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
const Point | origin_pt | ||
) |
Definition at line 643 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::isCurveSimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
const Point | origin_pt | ||
) |
Decides whether a curve contained in a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the curve to be examined |
max_node_radius | the maximum radius of the nodes on the curve |
ordered_node_list | the ordered node ids on the given curve |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
bool FillBetweenPointVectorsTools::isCurveSimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
const Point | origin_pt | ||
) |
Decides whether a curve contained in a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the curve to be examined |
max_node_radius | the maximum radius of the nodes on the curve |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
bool FillBetweenPointVectorsTools::isCurveSimpleClosedLoop | ( | MeshBase & | mesh, |
const Point | origin_pt | ||
) |
Decides whether a curve contained in a given mesh is a closed loop with consecutive nodes's azimuthal angles change monotonically.
mesh | input mesh that contains the curve to be examined |
origin_pt | origin position of the given mesh (used for azimuthal angle calculation) |
bool FillBetweenPointVectorsTools::isCurveSimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
std::vector< dof_id_type > & | ordered_node_list, | ||
const Point | origin_pt | ||
) |
Definition at line 609 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::isCurveSimpleClosedLoop | ( | MeshBase & | mesh, |
Real & | max_node_radius, | ||
const Point | origin_pt | ||
) |
Definition at line 629 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::isCurveSimpleClosedLoop | ( | MeshBase & | mesh, |
const Point | origin_pt | ||
) |
Definition at line 636 of file FillBetweenPointVectorsTools.C.
Referenced by isCurveOpenSingleSegment(), and isCurveSimpleClosedLoop().
bool FillBetweenPointVectorsTools::isExternalBoundary | ( | MeshBase & | mesh, |
const boundary_id_type | bid | ||
) |
Decides whether a boundary of a given mesh is an external boundary.
mesh | input mesh that contains the boundary to be examined |
bid | ID of the boundary to be examined |
Referenced by FillBetweenSidesetsGenerator::generate().
bool FillBetweenPointVectorsTools::isExternalBoundary | ( | MeshBase & | mesh, |
const boundary_id_type | bid | ||
) |
Definition at line 588 of file FillBetweenPointVectorsTools.C.
bool FillBetweenPointVectorsTools::needFlip | ( | const std::vector< Point > & | vec_pts_1, |
const std::vector< Point > & | vec_pts_2 | ||
) |
Decide whether one of the input vector of Points needs to be flipped to ensure correct transition layer shape.
vec_pts_1 | first vector of points to be examined |
vec_pts_2 | second vector of points to be examined |
bool FillBetweenPointVectorsTools::needFlip | ( | const std::vector< Point > & | vec_pts_1, |
const std::vector< Point > & | vec_pts_2 | ||
) |
Definition at line 479 of file FillBetweenPointVectorsTools.C.
Referenced by fillBetweenPointVectorsGenerator().
void FillBetweenPointVectorsTools::surrogateGenerator | ( | std::vector< Real > & | weighted_surrogate_index, |
std::vector< Real > & | unweighted_surrogate_index, | ||
const std::vector< unsigned int > & | node_number_vec, | ||
const std::vector< Real > & | index, | ||
const std::vector< Real > & | wt, | ||
const unsigned int | boundary_node_num, | ||
const unsigned int | i | ||
) |
Generates weighted surrogate index vectors on one side for points of a sublayer curve.
weighted_surrogate_index | weighted surrogate index vector |
unweighted_surrogate_index | unweighted surrogate index vector |
node_number_vec | number of points/nodes on the sublayer curve |
index | weighted index vector of the points on the side |
wt | weight vector of the points on the side |
boundary_node_num | number of points/nodes on the side |
i | index of the sublayer |
Definition at line 438 of file FillBetweenPointVectorsTools.C.
Referenced by fillBetweenPointVectorsGenerator().
void FillBetweenPointVectorsTools::weightedInterpolator | ( | const unsigned int | vec_node_num, |
const std::vector< Point > & | boundary_points_vec, | ||
std::vector< Real > & | vec_index, | ||
std::vector< Real > & | wt, | ||
std::vector< Real > & | index, | ||
const Real | sigma, | ||
std::unique_ptr< LinearInterpolation > & | linear_vec_x, | ||
std::unique_ptr< LinearInterpolation > & | linear_vec_y, | ||
std::unique_ptr< SplineInterpolation > & | spline_vec_l | ||
) |
Generates weights, weighted indices and corresponding interpolation.
vec_node_num | number of points/nodes on the given curve |
boundary_points_vec | vector of points on the given curve |
vec_index | unweighted index vector |
wt | weights based on point-to-point distances |
index | weighted index vector |
sigma | Gaussian parameter used for Gaussian blurring of local node density |
linear_vec_x | linear interpolation of x coordinates based on weighted index |
linear_vec_y | linear interpolation of y coordinates based on weighted index |
spline_vec_l | spline interpolation of inter-node length based on weighted index |
void FillBetweenPointVectorsTools::weightedInterpolator | ( | const unsigned int | vec_node_num, |
const std::vector< Point > & | boundary_points_vec, | ||
std::vector< Real > & | vec_index, | ||
std::vector< Real > & | wt, | ||
std::vector< Real > & | index, | ||
const Real | sigma, | ||
std::unique_ptr< LinearInterpolation > & | linear_vec_x, | ||
std::unique_ptr< LinearInterpolation > & | linear_vec_y, | ||
std::unique_ptr< SplineInterpolation > & | spline_vec_l | ||
) |
Definition at line 374 of file FillBetweenPointVectorsTools.C.
Referenced by fillBetweenPointVectorsGenerator().