https://mooseframework.inl.gov
XYMeshLineCutter.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 #include "MeshGenerator.h"
12 
13 #include "libmesh/face_tri3.h"
14 
21 {
22 public:
24 
26 
27  std::unique_ptr<MeshBase> generate() override;
28 
29 protected:
31  const enum class CutType { CUT_ELEM_TRI, MOV_NODE } _cutting_type;
33  const MeshGeneratorName _input_name;
35  const std::vector<Real> _cut_line_params;
41  const std::vector<boundary_id_type> _other_boundaries_to_conform;
43  const SubdomainName _tri_elem_subdomain_name_suffix;
49  std::unique_ptr<MeshBase> & _input;
50 };
const bool _improve_tri_elements
Whether to improve TRI3 elements after CUT_ELEM_TRI method.
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const boundary_id_type _new_boundary_id
Boundary id to be assigned to the boundary formed by the cutting.
const MeshGeneratorName _input_name
Name of the input mesh.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
enum XYMeshLineCutter::CutType _cutting_type
XYMeshLineCutter(const InputParameters &parameters)
int8_t boundary_id_type
std::unique_ptr< MeshBase > & _input
Reference to input mesh pointer.
static InputParameters validParams()
const boundary_id_type _input_mesh_external_boundary_id
Boundary id of the external boundary of the input mesh (only needed for MOV_NODE method) ...
CutType
Method to cut the input mesh.
const std::vector< boundary_id_type > _other_boundaries_to_conform
IDs of the other boundaries that need to be conformed to during nodes moving (only needed for MOV_NOD...
const SubdomainName _tri_elem_subdomain_name_suffix
SubdomainName suffix used to rename the converted triangular elements.
const subdomain_id_type _tri_elem_subdomain_shift
Customized id shift to define subdomain ids of the converted triangular elements. ...
const InputParameters & parameters() const
Get the parameters of the object.
This XYMeshLineCutter object is designed to trim the input mesh by removing all the elements on one s...
const std::vector< Real > _cut_line_params
Cutting line parameters, which are a, b, and c in line equation a*x+b*y+c=0. Note that a*x+b*y+c>0 pa...
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:32