Cardinal
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
HexagonalSubchannelGapMesh Class Reference

#include <HexagonalSubchannelGapMesh.h>

Inheritance diagram for HexagonalSubchannelGapMesh:
[legend]

Public Member Functions

 HexagonalSubchannelGapMesh (const InputParameters &parameters)
 
virtual std::unique_ptr< MooseMesh > safeClone () const override
 
virtual void buildMesh () override
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

void addQuadElem (const Point &pt1, const Point &pt2, const Real &zmin, const Real &zmax, const unsigned int &id)
 
const Point rotatePoint (const Point &p, const Real &theta) const
 

Protected Attributes

const unsigned int & _n_axial
 Number of axial cells to build. More...
 
const Real & _height
 Height of assembly. More...
 
const SubdomainID & _interior_id
 Subdomain ID to set for the interior gaps. More...
 
const SubdomainID & _peripheral_id
 Subdomain ID to set for the peripheral gaps. More...
 
const std::vector< std::pair< int, int > > & _gap_indices
 Pin or side indices corresponding to the gaps. More...
 
const Real & _bundle_pitch
 Bundle pitch (distance across bundle measured flat-to-flat on the inside of the duct) More...
 
const Real & _pin_pitch
 Pin pitch. More...
 
const Real & _pin_diameter
 Pin diameter. More...
 
const unsigned int & _n_rings
 Total number of rings of pins. More...
 
const unsigned int _axis
 Vertical axis of the bundle along which the pins are aligned. More...
 
HexagonalLatticeUtils _hex_lattice
 Utility providing hexagonal lattice geometry calculations. More...
 
const std::vector< Point > & _pin_centers
 Coordinates for the pin centers. More...
 
int _elem_id_counter
 Element ID. More...
 
int _node_id_counter
 Node ID. More...
 

Static Protected Attributes

static const Real SIN30 = 0.5
 
static const Real COS30 = std::sqrt(3.0) / 2.0
 
static const unsigned int NODES_PER_PRISM = 6
 Number of nodes per prism6 element. More...
 
static const unsigned int NUM_SIDES = 6
 Number of sides in a hexagon. More...
 

Detailed Description

Mesh of the gaps in a triangular lattice of pins enclosed in a hexagonal duct; this mesh should ONLY be used for visualization purposes - there is no node connectivity, so you cannot solve any continuous finite element problems on this mesh (nor it is recommended because the element creation pays no attention to normal physics requirements/recommendation, like resolving near boundaries or using near-equal element sizes).

Constructor & Destructor Documentation

◆ HexagonalSubchannelGapMesh()

HexagonalSubchannelGapMesh::HexagonalSubchannelGapMesh ( const InputParameters &  parameters)

Member Function Documentation

◆ addQuadElem()

void HexagonalSubchannelGapMesh::addQuadElem ( const Point &  pt1,
const Point &  pt2,
const Real &  zmin,
const Real &  zmax,
const unsigned int &  id 
)
protected

Add a QUAD4 element

Parameters
[in]pt1corner point on the z=0 plane
[in]pt2corner point on the z=0 plane
[in]zminlower z coordinate for the element
[in]zmaxupper z coordinate for the element
[in]idelement subdomain ID

◆ buildMesh()

void HexagonalSubchannelGapMesh::buildMesh ( )
overridevirtual

◆ rotatePoint()

const Point HexagonalSubchannelMeshBase::rotatePoint ( const Point &  p,
const Real &  theta 
) const
protectedinherited

Rotate a point counterclockwise about the z axis

Parameters
[in]ppoint
[in]thetaangle (radians) by which to rotate
Returns
rotated point

◆ safeClone()

std::unique_ptr< MooseMesh > HexagonalSubchannelGapMesh::safeClone ( ) const
overridevirtual

◆ validParams()

InputParameters HexagonalSubchannelGapMesh::validParams ( )
static

Member Data Documentation

◆ _axis

const unsigned int HexagonalSubchannelMeshBase::_axis
protectedinherited

Vertical axis of the bundle along which the pins are aligned.

◆ _bundle_pitch

const Real& HexagonalSubchannelMeshBase::_bundle_pitch
protectedinherited

Bundle pitch (distance across bundle measured flat-to-flat on the inside of the duct)

◆ _elem_id_counter

int HexagonalSubchannelMeshBase::_elem_id_counter
protectedinherited

Element ID.

◆ _gap_indices

const std::vector<std::pair<int, int> >& HexagonalSubchannelGapMesh::_gap_indices
protected

Pin or side indices corresponding to the gaps.

◆ _height

const Real& HexagonalSubchannelGapMesh::_height
protected

Height of assembly.

◆ _hex_lattice

HexagonalLatticeUtils HexagonalSubchannelMeshBase::_hex_lattice
protectedinherited

Utility providing hexagonal lattice geometry calculations.

◆ _interior_id

const SubdomainID& HexagonalSubchannelGapMesh::_interior_id
protected

Subdomain ID to set for the interior gaps.

◆ _n_axial

const unsigned int& HexagonalSubchannelGapMesh::_n_axial
protected

Number of axial cells to build.

◆ _n_rings

const unsigned int& HexagonalSubchannelMeshBase::_n_rings
protectedinherited

Total number of rings of pins.

◆ _node_id_counter

int HexagonalSubchannelMeshBase::_node_id_counter
protectedinherited

Node ID.

◆ _peripheral_id

const SubdomainID& HexagonalSubchannelGapMesh::_peripheral_id
protected

Subdomain ID to set for the peripheral gaps.

◆ _pin_centers

const std::vector<Point>& HexagonalSubchannelMeshBase::_pin_centers
protectedinherited

Coordinates for the pin centers.

◆ _pin_diameter

const Real& HexagonalSubchannelMeshBase::_pin_diameter
protectedinherited

Pin diameter.

◆ _pin_pitch

const Real& HexagonalSubchannelMeshBase::_pin_pitch
protectedinherited

Pin pitch.

◆ COS30

const Real HexagonalSubchannelMeshBase::COS30 = std::sqrt(3.0) / 2.0
staticprotectedinherited

◆ NODES_PER_PRISM

const unsigned int HexagonalSubchannelMeshBase::NODES_PER_PRISM = 6
staticprotectedinherited

Number of nodes per prism6 element.

◆ NUM_SIDES

const unsigned int HexagonalSubchannelMeshBase::NUM_SIDES = 6
staticprotectedinherited

Number of sides in a hexagon.

◆ SIN30

const Real HexagonalSubchannelMeshBase::SIN30 = 0.5
staticprotectedinherited

The documentation for this class was generated from the following files: