38 virtual std::unique_ptr<MeshBase>
generate()
override;
158 std::unique_ptr<ReplicatedMesh>
160 const std::vector<unsigned int> ring_layers,
161 const std::vector<Real> ring_radial_biases,
164 std::vector<Real> ducts_center_dist,
165 const std::vector<unsigned int> ducts_layers,
166 const std::vector<Real> duct_radial_biases,
170 const unsigned int num_sectors_per_side,
171 const unsigned int background_intervals,
172 const Real background_radial_bias,
175 dof_id_type & node_id_background_meta,
176 const unsigned int side_number,
177 const unsigned int side_index,
178 const std::vector<Real> azimuthal_tangent = std::vector<Real>(),
179 const subdomain_id_type block_id_shift = 0,
180 const bool quad_center_elements =
false,
181 const Real center_quad_factor = 0.0,
182 const bool create_inward_interface_boundaries =
false,
183 const bool create_outward_interface_boundaries =
true,
184 const boundary_id_type boundary_id_shift = 0,
185 const bool generate_side_specific_boundaries =
true,
230 std::unique_ptr<ReplicatedMesh>
232 const std::vector<unsigned int> ring_layers,
233 const std::vector<Real> ring_radial_biases,
236 std::vector<Real> ducts_center_dist,
237 const std::vector<unsigned int> ducts_layers,
238 const std::vector<Real> duct_radial_biases,
241 const Real primary_side_length,
242 const Real secondary_side_length,
243 const unsigned int num_sectors_per_side,
244 const unsigned int background_intervals,
245 const Real background_radial_bias,
248 dof_id_type & node_id_background_meta,
249 const Real azimuthal_angle,
250 const std::vector<Real> azimuthal_tangent,
251 const unsigned int side_index,
252 const bool quad_center_elements,
253 const Real center_quad_factor,
254 const Real rotation_angle,
255 const bool generate_side_specific_boundaries =
true);
305 std::unique_ptr<ReplicatedMesh>
307 const std::vector<unsigned int> ring_layers,
308 const std::vector<Real> ring_radial_biases,
311 std::vector<Real> ducts_center_dist,
312 const std::vector<unsigned int> ducts_layers,
313 const std::vector<Real> duct_radial_biases,
317 const unsigned int num_sectors_per_side,
318 const unsigned int background_intervals,
319 const Real background_radial_bias,
322 dof_id_type & node_id_background_meta,
323 const Real virtual_side_number,
324 const unsigned int side_index,
325 const std::vector<Real> azimuthal_tangent = std::vector<Real>(),
326 const subdomain_id_type block_id_shift = 0,
327 const bool quad_center_elements =
false,
328 const Real center_quad_factor = 0.0,
329 const bool create_inward_interface_boundaries =
false,
330 const bool create_outward_interface_boundaries =
true,
331 const boundary_id_type boundary_id_shift = 0,
332 const Real pitch_scale_factor = 1.0,
333 const bool generate_side_specific_boundaries =
true,
347 const Real virtual_side_number,
348 const unsigned int div_num,
349 const Real ring_radii_0,
350 std::vector<std::vector<Node *>> & nodes)
const;
365 const std::vector<Real> ring_radii,
366 const std::vector<unsigned int> ring_layers,
367 const std::vector<std::vector<Real>> biased_terms,
368 const unsigned int num_sectors_per_side,
369 const Real corner_p[2][2],
370 const Real corner_to_corner,
371 const std::vector<Real> azimuthal_tangent = std::vector<Real>())
const;
390 const unsigned int num_sectors_per_side,
391 const unsigned int background_intervals,
392 const std::vector<Real> biased_terms,
393 const Real background_corner_distance,
394 const Real background_corner_radial_interval_length,
395 const Real corner_p[2][2],
396 const Real corner_to_corner,
397 const Real background_in,
398 const std::vector<Real> azimuthal_tangent = std::vector<Real>())
const;
413 std::vector<Real> *
const ducts_center_dist,
414 const std::vector<unsigned int> ducts_layers,
415 const std::vector<std::vector<Real>> biased_terms,
416 const unsigned int num_sectors_per_side,
417 const Real corner_p[2][2],
418 const Real corner_to_corner,
419 const std::vector<Real> azimuthal_tangent = std::vector<Real>())
const;
437 const unsigned int div_num,
438 const subdomain_id_type block_id_shift,
439 const bool create_outward_interface_boundaries,
440 const boundary_id_type boundary_id_shift,
441 std::vector<std::vector<Node *>> & nodes,
442 const bool assign_external_boundary =
false,
443 const unsigned int side_index = 0,
444 const bool generate_side_specific_boundaries =
true,
464 const unsigned int num_sectors_per_side,
465 const std::vector<Real> azimuthal_tangent = std::vector<Real>(),
466 const subdomain_id_type block_id_shift = 0,
467 const bool create_outward_interface_boundaries =
true,
468 const boundary_id_type boundary_id_shift = 0,
469 const bool assign_external_boundary =
false,
470 const unsigned int side_index = 0,
471 const bool generate_side_specific_boundaries =
true,
494 const unsigned int num_sectors_per_side,
495 const std::vector<unsigned int> subdomain_rings,
496 const unsigned int side_index,
497 const std::vector<Real> azimuthal_tangent = std::vector<Real>(),
498 const subdomain_id_type block_id_shift = 0,
499 const dof_id_type nodeid_shift = 0,
500 const bool create_inward_interface_boundaries =
false,
501 const bool create_outward_interface_boundaries =
true,
502 const boundary_id_type boundary_id_shift = 0,
503 const bool generate_side_specific_boundaries =
true,
525 std::unique_ptr<ReplicatedMesh>
527 const unsigned int peripheral_invervals,
528 const std::vector<std::pair<Real, Real>> & position_inner,
529 const std::vector<std::pair<Real, Real>> & d_position_outer,
530 const subdomain_id_type id_shift,
532 const bool create_inward_interface_boundaries =
false,
533 const bool create_outward_interface_boundaries =
true);
568 const unsigned int i,
569 const unsigned int j,
570 const unsigned int num_sectors_per_side,
571 const unsigned int peripheral_intervals)
const;
596 const Real orientation,
600 const unsigned int mesh_type,
601 const Real unit_angle = 60.0,
602 const Real tols = 1E-5)
const;
613 const std::pair<Real, Real> & p2,
614 const std::pair<Real, Real> & p3,
615 const std::pair<Real, Real> & p4)
const;
635 std::vector<Point> & boundary_points,
636 const Real lower_azi = -30.0,
637 const Real upper_azi = 30.0,
639 const unsigned int num_sides = 6,
641 const bool calculate_origin =
true,
642 const Real input_origin_x = 0.0,
643 const Real input_origin_y = 0.0,
644 const Real
tol = 1.0E-10)
const;
662 const Real lower_azi = -30.0,
663 const Real upper_azi = 30.0,
665 const unsigned int num_sides = 6,
667 const bool calculate_origin =
true,
668 const Real input_origin_x = 0.0,
669 const Real input_origin_y = 0.0,
670 const Real
tol = 1.0E-10)
const;
683 std::vector<std::vector<Real>>
685 const std::vector<unsigned int> intervals,
701 const Real radial_bias,
702 const unsigned int intervals,
704 const singleBdryLayerParams outer_boundary_layer_params = {0.0, 0.0, 0, 1.0})
const;
720 const std::string id_name,
721 const unsigned int num_sides,
722 const std::vector<unsigned int> num_sectors_per_side);
735 const std::string id_name,
736 const unsigned int num_sides,
737 const std::vector<unsigned int> num_sectors_per_side,
738 const std::vector<unsigned int> ring_intervals,
739 const bool ring_wise_id,
740 const bool quad_center_elements);
750 const boundary_id_type id_shift,
751 const std::set<boundary_id_type> & boundary_ids,
752 const bool reverse =
false);
769 const std::vector<std::vector<unsigned int>> & pattern,
770 const std::vector<std::vector<boundary_id_type>> & interface_boundary_id_shift_pattern,
771 const std::set<boundary_id_type> & boundary_ids,
772 const std::vector<std::set<boundary_id_type>> & input_interface_boundary_ids,
773 const bool use_interface_boundary_id_shift,
774 const bool create_interface_boundary_id,
775 const unsigned int num_extra_layers)
const;
786 const unsigned int order)
const;
796 const singleBdryLayerParams & original_single_bdry_layer_params,
797 const unsigned int order)
const;
808 const std::vector<Real> & metadata_vals,
809 const std::string & metadata_name)
const;
std::unique_ptr< ReplicatedMesh > buildSlice(std::vector< Real > ring_radii, const std::vector< unsigned int > ring_layers, const std::vector< Real > ring_radial_biases, const multiBdryLayerParams &ring_inner_boundary_layer_params, const multiBdryLayerParams &ring_outer_boundary_layer_params, std::vector< Real > ducts_center_dist, const std::vector< unsigned int > ducts_layers, const std::vector< Real > duct_radial_biases, const multiBdryLayerParams &duct_inner_boundary_layer_params, const multiBdryLayerParams &duct_outer_boundary_layer_params, const Real pitch, const unsigned int num_sectors_per_side, const unsigned int background_intervals, const Real background_radial_bias, const singleBdryLayerParams &background_inner_boundary_layer_params, const singleBdryLayerParams &background_outer_boundary_layer_params, dof_id_type &node_id_background_meta, const Real virtual_side_number, const unsigned int side_index, const std::vector< Real > azimuthal_tangent=std::vector< Real >(), const subdomain_id_type block_id_shift=0, const bool quad_center_elements=false, const Real center_quad_factor=0.0, const bool create_inward_interface_boundaries=false, const bool create_outward_interface_boundaries=true, const boundary_id_type boundary_id_shift=0, const Real pitch_scale_factor=1.0, const bool generate_side_specific_boundaries=true, const TRI_ELEM_TYPE tri_elem_type=TRI_ELEM_TYPE::TRI3, const QUAD_ELEM_TYPE quad_elem_type=QUAD_ELEM_TYPE::QUAD4)
Generates a mesh of a polygon slice, which is the foundation of both buildGeneralSlice and buildSimpl...
std::unique_ptr< ReplicatedMesh > buildSimpleSlice(std::vector< Real > ring_radii, const std::vector< unsigned int > ring_layers, const std::vector< Real > ring_radial_biases, const multiBdryLayerParams &ring_inner_boundary_layer_params, const multiBdryLayerParams &ring_outer_boundary_layer_params, std::vector< Real > ducts_center_dist, const std::vector< unsigned int > ducts_layers, const std::vector< Real > duct_radial_biases, const multiBdryLayerParams &duct_inner_boundary_layer_params, const multiBdryLayerParams &duct_outer_boundary_layer_params, const Real pitch, const unsigned int num_sectors_per_side, const unsigned int background_intervals, const Real background_radial_bias, const singleBdryLayerParams &background_inner_boundary_layer_params, const singleBdryLayerParams &background_outer_boundary_layer_params, dof_id_type &node_id_background_meta, const unsigned int side_number, const unsigned int side_index, const std::vector< Real > azimuthal_tangent=std::vector< Real >(), const subdomain_id_type block_id_shift=0, const bool quad_center_elements=false, const Real center_quad_factor=0.0, const bool create_inward_interface_boundaries=false, const bool create_outward_interface_boundaries=true, const boundary_id_type boundary_id_shift=0, const bool generate_side_specific_boundaries=true, const TRI_ELEM_TYPE tri_elem_type=TRI_ELEM_TYPE::TRI3, const QUAD_ELEM_TYPE quad_elem_type=QUAD_ELEM_TYPE::QUAD4)
Creates a mesh of a slice that corresponds to a single side of the polygon to be generated.