https://mooseframework.inl.gov
MeshAlignment2D3D.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 "MeshAlignmentOneToMany.h"
13 
14 class Assembly;
15 
22 {
23 public:
30 
39  void initialize(
40  const std::vector<std::tuple<dof_id_type, unsigned short int>> & primary_boundary_info,
41  const std::vector<std::tuple<dof_id_type, unsigned short int>> & secondary_boundary_info,
42  const Point & axis_point,
43  const RealVectorValue & axis_direction);
44 
56 
62  const std::vector<Real> & getPrimaryArea(const dof_id_type primary_elem_id) const;
63 
64 protected:
66  std::map<dof_id_type, std::vector<Real>> _primary_elem_id_to_area;
67 };
void initialize(const std::vector< std::tuple< dof_id_type, unsigned short int >> &primary_boundary_info, const std::vector< std::tuple< dof_id_type, unsigned short int >> &secondary_boundary_info, const Point &axis_point, const RealVectorValue &axis_direction)
Extracts mesh information and builds the mapping.
Builds mapping between a 1D/2D boundary and a 3D boundary.
MeshBase & mesh
std::map< dof_id_type, std::vector< Real > > _primary_elem_id_to_area
Map of primary element ID to area for each quadrature point.
void buildCoupledElemQpIndexMapSecondary(Assembly &assembly)
Builds the map used for getting the coupled quadrature point index.
const std::vector< Real > & getPrimaryArea(const dof_id_type primary_elem_id) const
Gets the area for each quadrature point on a primary element.
Builds mapping between a 2D boundary and a 3D boundary.
uint8_t dof_id_type
MeshAlignment2D3D(const MooseMesh &mesh)
Constructor.