https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
12#include "MeshGenerator.h"
13
14#include "libmesh/face_tri3.h"
15
22{
23public:
25
27
28 std::unique_ptr<MeshBase> generate() override;
29
30protected:
34 const MeshGeneratorName _input_name;
36 const std::vector<Real> _cut_line_params;
38 const boundary_id_type _new_boundary_id;
40 const boundary_id_type _input_mesh_external_boundary_id;
42 const std::vector<boundary_id_type> _other_boundaries_to_conform;
46 const subdomain_id_type _tri_elem_subdomain_shift;
50 std::unique_ptr<MeshBase> & _input;
51};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MeshGenerators are objects that can modify or add to an existing mesh.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
This XYMeshLineCutter object is designed to trim the input mesh by removing all the elements on one s...
const SubdomainName _tri_elem_subdomain_name_suffix
SubdomainName suffix used to rename the converted triangular elements.
const boundary_id_type _new_boundary_id
Boundary id to be assigned to the boundary formed by the cutting.
const bool _improve_tri_elements
Whether to improve TRI3 elements after CUT_ELEM_TRI method.
std::unique_ptr< MeshBase > & _input
Reference to input mesh pointer.
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...
enum XYMeshLineCutter::CutType _cutting_type
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
CutType
Method to cut the input mesh.
static InputParameters validParams()
const MeshGeneratorName _input_name
Name of the input mesh.
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)
const subdomain_id_type _tri_elem_subdomain_shift
Customized id shift to define subdomain ids of the converted triangular elements.
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...