61 const std::vector<BoundaryName> & boundary_name_vector)
const;
68 bool hasBoundary(
const BoundaryName & boundary_name)
const;
85 const std::vector<std::tuple<dof_id_type, unsigned short int>> &
94 const std::vector<std::tuple<dof_id_type, unsigned short int>> &
144 virtual void check()
const override;
217 std::map<BoundaryName, std::vector<std::tuple<dof_id_type, unsigned short int>>>
_boundary_info;
bool hasBoundary(const BoundaryName &boundary_name) const
Returns true if this component has the supplied boundary.
unsigned int _start_bc_id
BC ID of the component (start)
const BoundaryName & getExternalBoundaryName(const ExternalBoundaryType &boundary_type) const
Gets the name of an external boundary by type.
Component1DConnection::EEndType stringToEnum(const std::string &s)
unsigned int _inner_bc_id
BC ID of the component (inner)
std::vector< Real > _volume
Volume of each transverse region.
virtual void buildMesh() override
std::vector< BoundaryName > _boundary_names_inner_radial
Boundary names of the inner radial boundary regions of the component.
std::vector< BoundaryName > _boundary_names_radial_end
Boundary names of the radial regions of the end side of the component.
std::vector< unsigned int > _interior_axial_per_radial_section_bc_id
BC ID of the interior axial boundaries (per radial section) of the component.
virtual void check() const override
Check the component integrity.
BoundaryName _boundary_name_end
Boundary name of the end side of the component.
BoundaryName _boundary_name_inner
Boundary name of the inner side of the component.
virtual Real computeAxialBoundaryArea(const Real &y_min, const Real &y_max) const =0
Computes the area of an axial boundary.
const Real & getBoundaryArea(const BoundaryName &boundary_name) const
Gets the area for a boundary.
ExternalBoundaryType
External boundary type.
const std::vector< double > y
Real getAxialOffset() const
Gets the axial offset for the mesh.
unsigned int getNumRegions() const
Gets the number of transverse regions.
Real _axial_offset
Distance by which to offset the mesh from the component axis.
static MooseEnum getExternalBoundaryTypeMooseEnum(const std::string &default_value="")
Gets the MooseEnum corresponding to ExternalBoundaryType.
std::vector< unsigned int > _inner_radial_bc_id
BC ID of the inner radial boundary regions of the component.
virtual const std::string & name() const
std::vector< BoundaryName > _boundary_names_axial_inner
Boundary names of the axial regions of the inner side of the component.
virtual Real computeRadialBoundaryArea(const Real &length, const Real &y) const =0
Computes the area of a radial boundary.
std::vector< unsigned int > _axial_inner_bc_id
BC ID of the axial regions of the inner boundary of the component.
Real _total_width
Total width of all transverse regions.
static const std::map< std::string, ExternalBoundaryType > _external_boundary_type_to_enum
map of external boundary type string to enum
std::vector< unsigned int > _radial_start_bc_id
BC ID of the radial regions of the start boundary of the component.
unsigned int _total_elem_number
Total number of transverse elements.
unsigned int _n_regions
Number of transverse regions.
void build2DMesh()
Builds a 2D, first-order mesh.
std::map< BoundaryName, std::vector< std::tuple< dof_id_type, unsigned short int > > > _boundary_info
Map of boundary name to list of tuples of element and side IDs for that boundary. ...
std::vector< std::string > _names
Names of each transverse region.
Base class for components that generate their own mesh.
unsigned int _outer_bc_id
BC ID of the component (outer)
std::vector< unsigned int > _n_part_elems
Number of elements in each transverse region.
const std::vector< Real > & getVolumes() const
Gets the volumes of the transverse regions.
std::vector< BoundaryName > _boundary_names_interior_axial_per_radial_section
Boundary names of the interior axial boundaries (per radial section) of the component.
std::vector< BoundaryName > _boundary_names_radial_start
Boundary names of the radial regions of the start side of the component.
void build2DMesh2ndOrder()
Builds a 2D, second-order mesh.
std::vector< BoundaryName > _boundary_names_axial_outer
Boundary names of the axial regions of the outer side of the component.
const std::vector< std::tuple< dof_id_type, unsigned short int > > & getBoundaryInfo(const BoundaryName &boundary_name) const
Gets boundary info associated with the component boundary.
BoundaryName _boundary_name_outer
Boundary name of the outer side of the component.
bool isBoundaryInVector(const BoundaryName &boundary_name, const std::vector< BoundaryName > &boundary_name_vector) const
Returns true if the supplied boundary is in the given vector.
ExternalBoundaryType getExternalBoundaryType(const BoundaryName &boundary_name) const
Gets the external boundary type of the given boundary.
bool hasBlock(const std::string &name) const
Returns true if there is a transverse region of a given name.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::map< BoundaryName, Real > _boundary_name_to_area
Map of boundary name to boundary area.
std::vector< Real > _width
Width of each transverse region.
std::vector< unsigned int > _radial_end_bc_id
BC ID of the radial regions of the end boundary of the component.
static InputParameters validParams()
unsigned int _end_bc_id
BC ID of the component (end)
std::vector< unsigned int > _axial_outer_bc_id
BC ID of the axial regions of the outer boundary of the component.
const Real & getTotalWidth() const
Gets the total width of all transverse regions.
BoundaryName _boundary_name_start
Boundary name of the start side of the component.
bool hasExternalBoundary(const BoundaryName &boundary_name) const
Returns true if this component has the supplied external boundary.
Component2D(const InputParameters ¶ms)
const std::vector< std::string > & getNames() const
Gets the names of the transverse regions.