Class providing various utility functions related to triangular lattices of pins enclosed in a hexagonal duct. More...
#include <HexagonalLatticeUtils.h>
Public Member Functions | |
HexagonalLatticeUtils (const Real bundle_inner_flat_to_flat, const Real pin_pitch, const Real pin_diameter, const Real wire_diameter, const Real wire_pitch, const unsigned int n_rings, const unsigned int axis) | |
Real | distanceFromGap (const Point &pt, const unsigned int gap_index) const |
Distance from a point and a gap. More... | |
unsigned int | gapIndex (const Point &point) const |
Get the index for the gap closest to the point. More... | |
void | gapIndexAndDistance (const Point &point, unsigned int &index, Real &distance) const |
Get the gap index and distance to that gap for a given point. More... | |
Real | sideTranslationX (const unsigned int side) const |
Get the unit vector translation to move a center point to a duct wall. More... | |
Real | sideTranslationY (const unsigned int side) const |
Get the unit vector translation to move a center point to a duct wall. More... | |
unsigned int | firstPinInRing (const unsigned int ring) const |
Get the index of the "first" pin in a ring. More... | |
unsigned int | lastPinInRing (const unsigned int ring) const |
Get the index of the "last" pin in a ring. More... | |
bool | lastGapInRing (const unsigned int gap_index) const |
Whether this gap is the "last" in the ring, i.e. More... | |
unsigned int | ringIndex (const unsigned int pin) const |
Get the index of the ring for a certain pin index. More... | |
const std::vector< Point > & | gapUnitNormals () const |
Get the unit normals for all of the gaps. More... | |
unsigned int | pins (const unsigned int n) const |
Get the number of pins in a given ring. More... | |
unsigned int | totalPins (const unsigned int n) const |
Get the total number of pins for all rings. More... | |
unsigned int | rings (const unsigned int n) const |
Get the number of rings for a specified number of pins. More... | |
unsigned int | interiorChannels (const unsigned int ring) |
Get the number of interior channels between ring and ring - 1 (0 indexing) More... | |
unsigned int | nInteriorGaps () const |
Get the number of gaps that touch an interior channel. More... | |
const std::vector< Point > & | gapCenters () const |
Get the center coordinates of the gaps. More... | |
unsigned int | nGaps () const |
Get the number of gaps. More... | |
Real | pitchToDiameter () const |
Get the (pin) pitch-to-diameter ratio. More... | |
Real | heightToDiameter () const |
Get the (wire) axial pitch-to-diameter ratio. More... | |
unsigned int | axis () const |
Get the vertical axis of the bed along which pins are aligned. More... | |
Real | pinDiameter () const |
Get the pin diameter. More... | |
Real | wirePitch () const |
Get the wire pitch. More... | |
Real | wireDiameter () const |
Get the wire diameter. More... | |
Real | pinPitch () const |
Get the pin pitch. More... | |
Real | bundlePitch () const |
Get the bundle pitch. More... | |
Real | pinVolumePerPitch () const |
Get the pin volume per pitch. More... | |
Real | wireVolumePerPitch () const |
Get the wire volume per pitch. More... | |
unsigned int | nInteriorPins () const |
Get the number of interior pins. More... | |
unsigned int | nEdgePins () const |
Get the number of edge pins. More... | |
unsigned int | nCornerPins () const |
Get the number of corner pins. More... | |
unsigned int | nPins () const |
Get the total number of pins for the lattice. More... | |
Real | interiorHydraulicDiameter () const |
Get the hydraulic diameter of an interior channel. More... | |
Real | edgeHydraulicDiameter () const |
Get the hydraulic diameter of an edge channel. More... | |
Real | cornerHydraulicDiameter () const |
Get the hydraulic diameter of a corner channel. More... | |
Real | hydraulicDiameter () const |
Get the overall bundle hydraulic diameter. More... | |
Real | interiorWettedArea () const |
Get the wetted area of an interior channel per wire pitch. More... | |
Real | edgeWettedArea () const |
Get the wetted area of an edge channel per wire pitch. More... | |
Real | cornerWettedArea () const |
Get the wetted area of a corner channel per wire pitch. More... | |
Real | wettedArea () const |
Get the wetted area of entire bundle per wire pitch. More... | |
Real | interiorFlowVolume () const |
Get the flow volume of an interior channel per wire pitch. More... | |
Real | edgeFlowVolume () const |
Get the flow volume of an edge channel per wire pitch. More... | |
Real | cornerFlowVolume () const |
Get the flow volume of an corner channel per wire pitch. More... | |
Real | interiorVolume () const |
Get the total volume of an interior channel per wire pitch. More... | |
Real | edgeVolume () const |
Get the total volume of an edge channel per wire pitch. More... | |
Real | cornerVolume () const |
Get the total volume of an corner channel per wire pitch. More... | |
Real | flowVolume () const |
Get the flow volume of the bundle per wire pitch. More... | |
unsigned int | nInteriorChannels () const |
Get the number of interior channels. More... | |
unsigned int | nEdgeChannels () const |
Get the number of edge channels. More... | |
unsigned int | nCornerChannels () const |
Get the number of corner channels. More... | |
unsigned int | nChannels () const |
Get the total number of channels. More... | |
Real | pinBundleSpacing () const |
Get the distance between the outermost pins and the duct walls. More... | |
const std::vector< Point > & | pinCenters () const |
Get the center coordinates of the pins. More... | |
const std::vector< std::vector< Point > > & | pinCenteredCornerCoordinates () const |
Get the corner coordinates of a hexagon surrounding each pin. More... | |
Real | pinSurfaceAreaPerPitch () const |
Get the pin surface area per wire pitch. More... | |
Real | cornerEdgeLength () const |
Get half the distance of the duct that a corner channel is in contact with. More... | |
Real | minDuctWallDistance (const Point &p) const |
Get the minimum distance from a point to the duct inner surface. More... | |
Real | minDuctCornerDistance (const Point &p) const |
Get the minimum distance from a point to the duct corners. More... | |
channel_type::ChannelTypeEnum | channelType (const Point &p) const |
Get the channel type (interior, edge, corner) given a point. More... | |
Real | channelSpecificSurfaceArea (const channel_type::ChannelTypeEnum &channel) const |
Get the specific surface area of a channel. More... | |
Real | channelHydraulicDiameter (const channel_type::ChannelTypeEnum &channel) const |
Get the hydraulic diameter of a channel. More... | |
Real | pinRadius () const |
Get the pin outer radius. More... | |
Real | hexagonArea (const Real pitch) const |
Get the area of a hexagon with given flat-to-flat distance (pitch) More... | |
Real | hexagonSide (const Real pitch) const |
Get the side length of a hexagon with given flat-to-flat distance (pitch) More... | |
Real | hexagonVolume (const Real side) const |
Get the volume of a hexagonal prism per wire pitch. More... | |
Real | hexagonPitch (const Real volume) const |
Get the pitch of a hexagonal prism based on its per-wire-pitch volume. More... | |
Real | triangleArea (const Real side) const |
Get the area of an equilateral triangle with given side length. More... | |
Real | triangleHeight (const Real side) const |
Get the height of an equilateral triangle with given side length. More... | |
Real | triangleSide (const Real height) const |
Get the side of an equilateral triangle with given height. More... | |
Real | triangleVolume (const Real side) const |
Get the volume of an equilateral triangle prism per wire pitch. More... | |
const std::vector< std::vector< unsigned int > > & | interiorChannelPinIndices () const |
Get the pin indices forming the corners of all interior channels. More... | |
const std::vector< std::vector< unsigned int > > & | edgeChannelPinIndices () const |
Get the pin indices forming two of the corners of all edge channels. More... | |
const std::vector< std::vector< unsigned int > > & | cornerChannelPinIndices () const |
Get the pin indices forming one of the corners of all corner channels. More... | |
const std::vector< std::pair< int, int > > & | gapIndices () const |
Get the pin and side indices on each gap. More... | |
const std::vector< std::vector< int > > & | localToGlobalGaps () const |
For each subchannel, get the indices of the gaps that touch that subchannel. More... | |
const std::vector< Point > | interiorChannelCornerCoordinates (const unsigned int interior_channel_id) const |
Get the corner coordinates of an interior channel given an ID (relative to the start of the interior channels) More... | |
const std::vector< Point > | edgeChannelCornerCoordinates (const unsigned int edge_channel_id) const |
Get the corner coordinates of an edge channel given an ID (relative to the start of the edge channels) More... | |
const std::vector< Point > | cornerChannelCornerCoordinates (const unsigned int corner_channel_id) const |
Get the corner coordinates of a corner channel given an ID (relative to the start of the corner channels) More... | |
Point | channelCentroid (const std::vector< Point > &corners) const |
Get the centroid of a channel given the corner coordinates. More... | |
unsigned int | pinIndex (const Point &point) const |
Get the pin index given a point. More... | |
unsigned int | closestPinIndex (const Point &point) const |
Get the closest pin index given a point outside the lattice. More... | |
unsigned int | channelIndex (const Point &point) const |
Get the channel index given a point. More... | |
bool | insideLattice (const Point &point) const |
Whether the point is inside the lattice. More... | |
void | get2DInputPatternIndex (const unsigned int pin_index, unsigned int &row_index, unsigned int &within_row_index) const |
Conversion from lattice pin indexing to the 2D input file index. More... | |
Protected Member Functions | |
unsigned int | globalGapIndex (const std::pair< int, int > &local_gap) const |
Get the global gap index from the local gap index. More... | |
Protected Attributes | |
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 Real | _wire_diameter |
Wire diameter. More... | |
const Real | _wire_pitch |
Wire pitch. 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... | |
const Real | _bundle_side_length |
Side length of duct. More... | |
const Real | _pin_area |
Pin cross-sectional area. More... | |
const Real | _pin_circumference |
Pin circumference. More... | |
const Real | _wire_area |
Wire cross-sectional area. More... | |
const Real | _wire_circumference |
Wire circumference. More... | |
const Real | _pin_surface_area_per_pitch |
Pin surface area per wire pitch. More... | |
const Real | _pin_volume_per_pitch |
Single-pin volume per wire pitch. More... | |
const Real | _P_over_D |
Pitch-to-diameter ratio. More... | |
const Real | _L_over_D |
Wire axial lead length to diameter ratio. More... | |
Real | _wire_surface_area_per_pitch |
Wire surface area per wire pitch. More... | |
Real | _pin_bundle_spacing |
Spacing between the duct inner wall and the pin surface. More... | |
Real | _wire_volume_per_pitch |
Single-wire volume per wire pitch. More... | |
unsigned int | _n_pins |
Total number of pins. More... | |
unsigned int | _n_interior_pins |
Number of interior pins. More... | |
unsigned int | _n_edge_pins |
Number of edge pins. More... | |
unsigned int | _n_corner_pins |
Number of corner pins. More... | |
unsigned int | _n_channels |
Total number of channels. More... | |
unsigned int | _n_interior_channels |
Total number of interior channels. More... | |
unsigned int | _n_edge_channels |
Total number of edge channels. More... | |
unsigned int | _n_corner_channels |
Total number of corner channels. More... | |
Real | _corner_edge_length |
Half the distance for which a corner channel is in contact with the duct. More... | |
Real | _interior_Dh |
Hydraulic diameter of interior channel. More... | |
Real | _edge_Dh |
Hydraulic diameter of edge channel. More... | |
Real | _corner_Dh |
Hydraulic diameter of corner channel. More... | |
Real | _Dh |
Bundle-wide hydraulic diameter. More... | |
Real | _interior_flow_volume |
Flow volume of an interior channel per wire pitch. More... | |
Real | _edge_flow_volume |
Flow volume of an edge channel per wire pitch. More... | |
Real | _corner_flow_volume |
Flow volume of a corner channel per wire pitch. More... | |
Real | _interior_volume |
Total volume of an interior channel per wire pitch. More... | |
Real | _edge_volume |
Total volume of an edge channel per wire pitch. More... | |
Real | _corner_volume |
Total volume of a corner channel per wire pitch. More... | |
Real | _flow_volume |
Bundle-wide flow volume per wire pitch. More... | |
Real | _interior_wetted_area |
Wetted area of an interior channel per wire pitch. More... | |
Real | _edge_wetted_area |
Wetted area of an edge channel per wire pitch. More... | |
Real | _corner_wetted_area |
Wetted area of a corner channel per wire pitch. More... | |
Real | _wetted_area |
Wetted area of entire bundle per wire pitch. More... | |
std::vector< Point > | _pin_centers |
Pin center coordinates. More... | |
std::vector< std::vector< Point > > | _pin_centered_corner_coordinates |
Corner coordinates of a hexagon surrounding each pin. More... | |
std::vector< Point > | _duct_corners |
Six corner coordinates for the ducts. More... | |
std::vector< std::vector< Real > > | _duct_coeffs |
Coefficients in the line equations defining each duct wall. More... | |
std::vector< std::vector< unsigned int > > | _interior_channel_pin_indices |
Pin indices forming the corner of each interior channel. More... | |
std::vector< std::vector< unsigned int > > | _edge_channel_pin_indices |
Pin indices forming two of the corners of each edge channel. More... | |
std::vector< std::vector< unsigned int > > | _corner_channel_pin_indices |
Pin indices forming one of the corners of each corner channel. More... | |
std::vector< std::pair< int, int > > | _gap_indices |
Gap indices, connecting two pins or one pin and a side, ordered by global gap ID. More... | |
std::vector< std::vector< int > > | _local_to_global_gaps |
Local-to-global gap indexing, ordered by channel ID. More... | |
std::vector< std::vector< Point > > | _gap_points |
Two points on each gap, in order to compute distance-from-gap calculations. More... | |
std::vector< Point > | _gap_unit_normals |
Unit normal vectors for each gap. More... | |
unsigned int | _n_interior_gaps |
Number of gaps that touch an interior channel. More... | |
unsigned int | _n_gaps |
Total number of gaps. More... | |
std::vector< Real > | _unit_translation_x |
(unitless) x-translations to apply to move from a center point to a side of a hexagon More... | |
std::vector< Real > | _unit_translation_y |
(unitless) y-translations to apply to move from a center point to a side of a hexagon More... | |
std::vector< Point > | _gap_centers |
Center points of all the gaps. More... | |
unsigned int | _ix |
Index representing "first" coordinate of 2-D plane. More... | |
unsigned int | _iy |
Index representing "second" coordinate of 2-D plane. More... | |
Static Protected Attributes | |
static const Real | SIN60 = std::sqrt(3.0) / 2.0 |
static const Real | COS60 = 0.5 |
static const unsigned int | NUM_SIDES = 6 |
Number of sides in a hexagon. More... | |
Private Member Functions | |
void | computeGapIndices () |
Determine the global gap indices, sorted first by lower pin ID and next by higher pin ID. More... | |
void | computePinAndChannelTypes () |
Compute the number of pins and channels and their types for the lattice. More... | |
void | computePinBundleSpacing () |
Compute the spacing between the outer pins and the duct inner walls. More... | |
void | computeWireVolumeAndAreaPerPitch () |
Compute the volume and surface area const occupied by the wire in one with pitch. More... | |
void | computeFlowVolumes () |
Compute the flow volumes for each channel type. More... | |
void | computeWettedAreas () |
Compute the wetted areas for each channel type. More... | |
void | computeHydraulicDiameters () |
Compute the hydraulic diameters for each channel type. More... | |
void | computePinAndDuctCoordinates () |
Compute the pin center coordinates and the duct corner coordinates. More... | |
void | computeChannelPinIndices () |
Get the pin indices that form the corners of each channel type. More... | |
Class providing various utility functions related to triangular lattices of pins enclosed in a hexagonal duct.
Notes:
Definition at line 38 of file HexagonalLatticeUtils.h.
HexagonalLatticeUtils::HexagonalLatticeUtils | ( | const Real | bundle_inner_flat_to_flat, |
const Real | pin_pitch, | ||
const Real | pin_diameter, | ||
const Real | wire_diameter, | ||
const Real | wire_pitch, | ||
const unsigned int | n_rings, | ||
const unsigned int | axis | ||
) |
Definition at line 18 of file HexagonalLatticeUtils.C.
|
inline |
Get the vertical axis of the bed along which pins are aligned.
Definition at line 182 of file HexagonalLatticeUtils.h.
|
inline |
Get the bundle pitch.
Definition at line 212 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
Point HexagonalLatticeUtils::channelCentroid | ( | const std::vector< Point > & | corners | ) | const |
Get the centroid of a channel given the corner coordinates.
[in] | corners | corner coordinates |
Definition at line 585 of file HexagonalLatticeUtils.C.
Real HexagonalLatticeUtils::channelHydraulicDiameter | ( | const channel_type::ChannelTypeEnum & | channel | ) | const |
Get the hydraulic diameter of a channel.
[in] | channel | channel type |
Definition at line 215 of file HexagonalLatticeUtils.C.
unsigned int HexagonalLatticeUtils::channelIndex | ( | const Point & | point | ) | const |
Get the channel index given a point.
[in] | point | point, must already be translated to lattice frame |
Definition at line 650 of file HexagonalLatticeUtils.C.
Referenced by gapIndex(), gapIndexAndDistance(), and TEST_F().
Real HexagonalLatticeUtils::channelSpecificSurfaceArea | ( | const channel_type::ChannelTypeEnum & | channel | ) | const |
Get the specific surface area of a channel.
[in] | channel | channel type |
Definition at line 198 of file HexagonalLatticeUtils.C.
channel_type::ChannelTypeEnum HexagonalLatticeUtils::channelType | ( | const Point & | p | ) | const |
Get the channel type (interior, edge, corner) given a point.
[in] | p | point, must already be translated to lattice frame |
Definition at line 178 of file HexagonalLatticeUtils.C.
Referenced by channelIndex(), and TEST_F().
unsigned int HexagonalLatticeUtils::closestPinIndex | ( | const Point & | point | ) | const |
Get the closest pin index given a point outside the lattice.
[in] | point | point, must already be translated to lattice frame |
Definition at line 621 of file HexagonalLatticeUtils.C.
|
private |
Get the pin indices that form the corners of each channel type.
Definition at line 436 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Compute the flow volumes for each channel type.
Definition at line 357 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Determine the global gap indices, sorted first by lower pin ID and next by higher pin ID.
Definition at line 756 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Compute the hydraulic diameters for each channel type.
Definition at line 345 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Compute the number of pins and channels and their types for the lattice.
Definition at line 385 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Compute the pin center coordinates and the duct corner coordinates.
Compute the x, y, z coordinates of the pincells based on a bundle centered on (0, 0, 0) and with pins aligned in the z direction. Also compute the corner coordinates of the ducts
Definition at line 254 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Compute the spacing between the outer pins and the duct inner walls.
Definition at line 416 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Compute the wetted areas for each channel type.
Definition at line 332 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
|
private |
Compute the volume and surface area const occupied by the wire in one with pitch.
Definition at line 425 of file HexagonalLatticeUtils.C.
Referenced by HexagonalLatticeUtils().
const std::vector< Point > HexagonalLatticeUtils::cornerChannelCornerCoordinates | ( | const unsigned int | corner_channel_id | ) | const |
Get the corner coordinates of a corner channel given an ID (relative to the start of the corner channels)
[in] | corner_channel_id | ID of corner channel |
Definition at line 562 of file HexagonalLatticeUtils.C.
Referenced by channelIndex().
|
inline |
Get the pin indices forming one of the corners of all corner channels.
Definition at line 516 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get half the distance of the duct that a corner channel is in contact with.
Definition at line 395 of file HexagonalLatticeUtils.h.
|
inline |
Get the flow volume of an corner channel per wire pitch.
Definition at line 314 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the hydraulic diameter of a corner channel.
Definition at line 266 of file HexagonalLatticeUtils.h.
|
inline |
Get the total volume of an corner channel per wire pitch.
Definition at line 332 of file HexagonalLatticeUtils.h.
|
inline |
Get the wetted area of a corner channel per wire pitch.
Definition at line 290 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
Real HexagonalLatticeUtils::distanceFromGap | ( | const Point & | pt, |
const unsigned int | gap_index | ||
) | const |
Distance from a point and a gap.
[in] | pt | point, must already be translated to lattice frame |
[in] | gap_index | gap index @ return distance from gap |
Definition at line 883 of file HexagonalLatticeUtils.C.
Referenced by gapIndex(), and gapIndexAndDistance().
const std::vector< Point > HexagonalLatticeUtils::edgeChannelCornerCoordinates | ( | const unsigned int | edge_channel_id | ) | const |
Get the corner coordinates of an edge channel given an ID (relative to the start of the edge channels)
[in] | edge_channel_id | ID of edge channel |
Definition at line 538 of file HexagonalLatticeUtils.C.
Referenced by channelIndex().
|
inline |
Get the pin indices forming two of the corners of all edge channels.
Definition at line 507 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the flow volume of an edge channel per wire pitch.
Definition at line 308 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the hydraulic diameter of an edge channel.
Definition at line 260 of file HexagonalLatticeUtils.h.
|
inline |
Get the total volume of an edge channel per wire pitch.
Definition at line 326 of file HexagonalLatticeUtils.h.
|
inline |
Get the wetted area of an edge channel per wire pitch.
Definition at line 284 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
Get the index of the "first" pin in a ring.
[in] | ring | ring index |
Definition at line 933 of file HexagonalLatticeUtils.C.
Referenced by closestPinIndex(), get2DInputPatternIndex(), lastGapInRing(), and TEST_F().
|
inline |
Get the flow volume of the bundle per wire pitch.
Definition at line 338 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the center coordinates of the gaps.
Definition at line 158 of file HexagonalLatticeUtils.h.
unsigned int HexagonalLatticeUtils::gapIndex | ( | const Point & | point | ) | const |
Get the index for the gap closest to the point.
[in] | point | point, must already be translated to lattice frame |
Definition at line 890 of file HexagonalLatticeUtils.C.
Referenced by TEST_F().
void HexagonalLatticeUtils::gapIndexAndDistance | ( | const Point & | point, |
unsigned int & | index, | ||
Real & | distance | ||
) | const |
Get the gap index and distance to that gap for a given point.
[in] | point | point, must already be translated to lattice frame |
[out] | index | index of closest gap |
[out] | distance | distance to closest gap |
Definition at line 912 of file HexagonalLatticeUtils.C.
Get the pin and side indices on each gap.
Definition at line 525 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the unit normals for all of the gaps.
Definition at line 118 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
void HexagonalLatticeUtils::get2DInputPatternIndex | ( | const unsigned int | pin_index, |
unsigned int & | row_index, | ||
unsigned int & | within_row_index | ||
) | const |
Conversion from lattice pin indexing to the 2D input file index.
The indexing matches like this. Note that you have a 30 degree rotation between the 2D input and the positions output 2 1 3 0 6 4 5
pin_index | index of the pin in the utility ring-wise indexing |
row_index | row index (from the top) in the 2D input |
within_row_index | index within the row |
Definition at line 716 of file HexagonalLatticeUtils.C.
|
protected |
Get the global gap index from the local gap index.
[in] | local_gap | local gap for a channel |
Definition at line 870 of file HexagonalLatticeUtils.C.
Referenced by computeGapIndices().
|
inline |
Get the (wire) axial pitch-to-diameter ratio.
Definition at line 176 of file HexagonalLatticeUtils.h.
Get the area of a hexagon with given flat-to-flat distance (pitch)
[in] | pitch | flat-to-flat distance |
Definition at line 128 of file HexagonalLatticeUtils.C.
Referenced by hexagonVolume().
Get the pitch of a hexagonal prism based on its per-wire-pitch volume.
[in] | volume | volume |
Definition at line 141 of file HexagonalLatticeUtils.C.
Get the side length of a hexagon with given flat-to-flat distance (pitch)
[in] | pitch | hexagon flat-to-flat distance, or pitch |
Definition at line 122 of file HexagonalLatticeUtils.C.
Referenced by computePinAndDuctCoordinates(), hexagonArea(), insideLattice(), and pinIndex().
Get the volume of a hexagonal prism per wire pitch.
[in] | side | side length |
Definition at line 135 of file HexagonalLatticeUtils.C.
Referenced by computeFlowVolumes().
|
inline |
Get the overall bundle hydraulic diameter.
Definition at line 272 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
bool HexagonalLatticeUtils::insideLattice | ( | const Point & | point | ) | const |
Whether the point is inside the lattice.
point | point being examined, must already be translated to lattice frame |
Definition at line 702 of file HexagonalLatticeUtils.C.
Referenced by closestPinIndex().
const std::vector< Point > HexagonalLatticeUtils::interiorChannelCornerCoordinates | ( | const unsigned int | interior_channel_id | ) | const |
Get the corner coordinates of an interior channel given an ID (relative to the start of the interior channels)
[in] | interior_channel_id | ID of interior channel |
Definition at line 526 of file HexagonalLatticeUtils.C.
Referenced by channelIndex().
|
inline |
Get the pin indices forming the corners of all interior channels.
Definition at line 498 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
Get the number of interior channels between ring and ring - 1 (0 indexing)
[in] | ring | ring number (relative to 0 indexing) |
Definition at line 379 of file HexagonalLatticeUtils.C.
Referenced by computeChannelPinIndices(), and computePinAndChannelTypes().
|
inline |
Get the flow volume of an interior channel per wire pitch.
Definition at line 302 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the hydraulic diameter of an interior channel.
Definition at line 254 of file HexagonalLatticeUtils.h.
|
inline |
Get the total volume of an interior channel per wire pitch.
Definition at line 320 of file HexagonalLatticeUtils.h.
|
inline |
Get the wetted area of an interior channel per wire pitch.
Definition at line 278 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
bool HexagonalLatticeUtils::lastGapInRing | ( | const unsigned int | gap_index | ) | const |
Whether this gap is the "last" in the ring, i.e.
connecting the first and last pins of the ring
[in] | gap_index | gap index |
Definition at line 964 of file HexagonalLatticeUtils.C.
Referenced by computeGapIndices(), and TEST_F().
Get the index of the "last" pin in a ring.
[in] | ring | ring index |
Definition at line 943 of file HexagonalLatticeUtils.C.
Referenced by lastGapInRing(), ringIndex(), and TEST_F().
|
inline |
For each subchannel, get the indices of the gaps that touch that subchannel.
Definition at line 531 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
Real HexagonalLatticeUtils::minDuctCornerDistance | ( | const Point & | p | ) | const |
Get the minimum distance from a point to the duct corners.
[in] | p | point, must already be translated to lattice frame |
Definition at line 248 of file HexagonalLatticeUtils.C.
Referenced by channelType().
Real HexagonalLatticeUtils::minDuctWallDistance | ( | const Point & | p | ) | const |
Get the minimum distance from a point to the duct inner surface.
[in] | p | point, must already be translated to lattice frame |
Definition at line 231 of file HexagonalLatticeUtils.C.
Referenced by channelType().
|
inline |
Get the total number of channels.
Definition at line 362 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of corner channels.
Definition at line 356 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of corner pins.
Definition at line 242 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of edge channels.
Definition at line 350 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of edge pins.
Definition at line 236 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of gaps.
Definition at line 164 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of interior channels.
Definition at line 344 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of gaps that touch an interior channel.
Definition at line 152 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the number of interior pins.
Definition at line 230 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the total number of pins for the lattice.
Definition at line 248 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the distance between the outermost pins and the duct walls.
Definition at line 368 of file HexagonalLatticeUtils.h.
Referenced by cornerChannelCornerCoordinates(), edgeChannelCornerCoordinates(), and TEST_F().
|
inline |
Get the corner coordinates of a hexagon surrounding each pin.
Definition at line 380 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the center coordinates of the pins.
Definition at line 374 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the pin diameter.
Definition at line 188 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
unsigned int HexagonalLatticeUtils::pinIndex | ( | const Point & | point | ) | const |
Get the pin index given a point.
The pin index is for the entire hexagon around the pin
[in] | point | point, must already be translated to lattice frame |
Definition at line 596 of file HexagonalLatticeUtils.C.
Referenced by TEST_F().
|
inline |
Get the pin pitch.
Definition at line 206 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
Real HexagonalLatticeUtils::pinRadius | ( | ) | const |
Get the pin outer radius.
Definition at line 172 of file HexagonalLatticeUtils.C.
Referenced by channelType(), computeFlowVolumes(), computeGapIndices(), cornerChannelCornerCoordinates(), edgeChannelCornerCoordinates(), and TEST_F().
Get the number of pins in a given ring.
[in] | n | ring number, beginning from 1 |
Definition at line 82 of file HexagonalLatticeUtils.C.
Referenced by channelCentroid(), computeGapIndices(), computePinAndChannelTypes(), computePinAndDuctCoordinates(), get2DInputPatternIndex(), lastGapInRing(), rings(), TEST_F(), and totalPins().
|
inline |
Get the pin surface area per wire pitch.
Definition at line 389 of file HexagonalLatticeUtils.h.
|
inline |
Get the pin volume per pitch.
Definition at line 218 of file HexagonalLatticeUtils.h.
|
inline |
Get the (pin) pitch-to-diameter ratio.
Definition at line 170 of file HexagonalLatticeUtils.h.
Get the index of the ring for a certain pin index.
[in] | pin | pin index |
Definition at line 953 of file HexagonalLatticeUtils.C.
Referenced by get2DInputPatternIndex().
Get the number of rings for a specified number of pins.
[in] | n | number of pins |
Definition at line 103 of file HexagonalLatticeUtils.C.
Referenced by TEST_F().
Get the unit vector translation to move a center point to a duct wall.
[in] | side | duct side |
Definition at line 77 of file HexagonalLatticeUtils.h.
Get the unit vector translation to move a center point to a duct wall.
[in] | side | duct side |
Definition at line 84 of file HexagonalLatticeUtils.h.
Get the total number of pins for all rings.
[in] | n | number of total rings, beginning from 1 |
Definition at line 93 of file HexagonalLatticeUtils.C.
Referenced by computeChannelPinIndices(), computeGapIndices(), firstPinInRing(), lastPinInRing(), and rings().
Get the area of an equilateral triangle with given side length.
[in] | side | side length |
Definition at line 148 of file HexagonalLatticeUtils.C.
Referenced by triangleVolume().
Get the height of an equilateral triangle with given side length.
[in] | side | side length |
Definition at line 154 of file HexagonalLatticeUtils.C.
Referenced by computePinBundleSpacing(), and triangleArea().
Get the side of an equilateral triangle with given height.
[in] | height | triangle height |
Definition at line 160 of file HexagonalLatticeUtils.C.
Get the volume of an equilateral triangle prism per wire pitch.
[in] | side | side length |
Definition at line 166 of file HexagonalLatticeUtils.C.
Referenced by computeFlowVolumes().
|
inline |
Get the wetted area of entire bundle per wire pitch.
Definition at line 296 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the wire diameter.
Definition at line 200 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the wire pitch.
Definition at line 194 of file HexagonalLatticeUtils.h.
Referenced by TEST_F().
|
inline |
Get the wire volume per pitch.
Definition at line 224 of file HexagonalLatticeUtils.h.
|
protected |
Vertical axis of the bundle along which the pins are aligned.
Definition at line 634 of file HexagonalLatticeUtils.h.
Referenced by axis(), channelIndex(), computeGapIndices(), computePinAndDuctCoordinates(), distanceFromGap(), HexagonalLatticeUtils(), insideLattice(), minDuctCornerDistance(), and pinIndex().
|
protected |
Bundle pitch (distance across bundle measured flat-to-flat on the inside of the duct)
Definition at line 616 of file HexagonalLatticeUtils.h.
Referenced by bundlePitch(), computeFlowVolumes(), computePinBundleSpacing(), HexagonalLatticeUtils(), and insideLattice().
|
protected |
Side length of duct.
Definition at line 637 of file HexagonalLatticeUtils.h.
Referenced by computePinAndDuctCoordinates(), computeWettedAreas(), and HexagonalLatticeUtils().
|
protected |
Pin indices forming one of the corners of each corner channel.
Definition at line 768 of file HexagonalLatticeUtils.h.
Referenced by computeChannelPinIndices(), cornerChannelCornerCoordinates(), and cornerChannelPinIndices().
|
protected |
Hydraulic diameter of corner channel.
Definition at line 706 of file HexagonalLatticeUtils.h.
Referenced by channelHydraulicDiameter(), computeHydraulicDiameters(), and cornerHydraulicDiameter().
|
protected |
Half the distance for which a corner channel is in contact with the duct.
Definition at line 697 of file HexagonalLatticeUtils.h.
Referenced by channelType(), computeFlowVolumes(), cornerEdgeLength(), and HexagonalLatticeUtils().
|
protected |
Flow volume of a corner channel per wire pitch.
Definition at line 718 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), computeHydraulicDiameters(), and cornerFlowVolume().
|
protected |
Total volume of a corner channel per wire pitch.
Definition at line 727 of file HexagonalLatticeUtils.h.
Referenced by channelSpecificSurfaceArea(), computeFlowVolumes(), and cornerVolume().
|
protected |
Wetted area of a corner channel per wire pitch.
Definition at line 739 of file HexagonalLatticeUtils.h.
Referenced by channelSpecificSurfaceArea(), computeHydraulicDiameters(), computeWettedAreas(), and cornerWettedArea().
|
protected |
Bundle-wide hydraulic diameter.
Definition at line 709 of file HexagonalLatticeUtils.h.
Referenced by computeHydraulicDiameters(), and hydraulicDiameter().
|
protected |
Coefficients in the line equations defining each duct wall.
Coefficients \(a\), \(b\), and \(c\) in equation \(ax+by+c=0\) that defines each wall of the duct.
Definition at line 759 of file HexagonalLatticeUtils.h.
Referenced by computePinAndDuctCoordinates(), and minDuctWallDistance().
|
protected |
Six corner coordinates for the ducts.
Definition at line 751 of file HexagonalLatticeUtils.h.
Referenced by computePinAndDuctCoordinates(), cornerChannelCornerCoordinates(), and minDuctCornerDistance().
|
protected |
Pin indices forming two of the corners of each edge channel.
Definition at line 765 of file HexagonalLatticeUtils.h.
Referenced by computeChannelPinIndices(), computeGapIndices(), edgeChannelCornerCoordinates(), and edgeChannelPinIndices().
|
protected |
Hydraulic diameter of edge channel.
Definition at line 703 of file HexagonalLatticeUtils.h.
Referenced by channelHydraulicDiameter(), computeHydraulicDiameters(), and edgeHydraulicDiameter().
|
protected |
Flow volume of an edge channel per wire pitch.
Definition at line 715 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), computeHydraulicDiameters(), and edgeFlowVolume().
|
protected |
Total volume of an edge channel per wire pitch.
Definition at line 724 of file HexagonalLatticeUtils.h.
Referenced by channelSpecificSurfaceArea(), computeFlowVolumes(), and edgeVolume().
|
protected |
Wetted area of an edge channel per wire pitch.
Definition at line 736 of file HexagonalLatticeUtils.h.
Referenced by channelSpecificSurfaceArea(), computeHydraulicDiameters(), computeWettedAreas(), and edgeWettedArea().
|
protected |
Bundle-wide flow volume per wire pitch.
Definition at line 730 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), computeHydraulicDiameters(), and flowVolume().
|
protected |
Center points of all the gaps.
Definition at line 802 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), and gapCenters().
Gap indices, connecting two pins or one pin and a side, ordered by global gap ID.
Definition at line 771 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), gapIndices(), globalGapIndex(), and lastGapInRing().
|
protected |
Two points on each gap, in order to compute distance-from-gap calculations.
Definition at line 777 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), and distanceFromGap().
|
protected |
Unit normal vectors for each gap.
Definition at line 780 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), and gapUnitNormals().
|
protected |
Pin indices forming the corner of each interior channel.
Definition at line 762 of file HexagonalLatticeUtils.h.
Referenced by computeChannelPinIndices(), computeGapIndices(), interiorChannelCornerCoordinates(), and interiorChannelPinIndices().
|
protected |
Hydraulic diameter of interior channel.
Definition at line 700 of file HexagonalLatticeUtils.h.
Referenced by channelHydraulicDiameter(), computeHydraulicDiameters(), and interiorHydraulicDiameter().
|
protected |
Flow volume of an interior channel per wire pitch.
Definition at line 712 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), computeHydraulicDiameters(), and interiorFlowVolume().
|
protected |
Total volume of an interior channel per wire pitch.
Definition at line 721 of file HexagonalLatticeUtils.h.
Referenced by channelSpecificSurfaceArea(), computeFlowVolumes(), and interiorVolume().
|
protected |
Wetted area of an interior channel per wire pitch.
Definition at line 733 of file HexagonalLatticeUtils.h.
Referenced by channelSpecificSurfaceArea(), computeHydraulicDiameters(), computeWettedAreas(), and interiorWettedArea().
|
protected |
Index representing "first" coordinate of 2-D plane.
Definition at line 805 of file HexagonalLatticeUtils.h.
Referenced by closestPinIndex(), computePinAndDuctCoordinates(), HexagonalLatticeUtils(), minDuctWallDistance(), and pinIndex().
|
protected |
Index representing "second" coordinate of 2-D plane.
Definition at line 808 of file HexagonalLatticeUtils.h.
Referenced by closestPinIndex(), computePinAndDuctCoordinates(), HexagonalLatticeUtils(), minDuctWallDistance(), and pinIndex().
|
protected |
Wire axial lead length to diameter ratio.
Definition at line 661 of file HexagonalLatticeUtils.h.
Referenced by heightToDiameter().
|
protected |
Local-to-global gap indexing, ordered by channel ID.
Definition at line 774 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), gapIndex(), gapIndexAndDistance(), and localToGlobalGaps().
|
protected |
Total number of channels.
Definition at line 685 of file HexagonalLatticeUtils.h.
Referenced by computePinAndChannelTypes(), and nChannels().
|
protected |
Total number of corner channels.
Definition at line 694 of file HexagonalLatticeUtils.h.
Referenced by channelIndex(), computeChannelPinIndices(), computeGapIndices(), computePinAndChannelTypes(), and nCornerChannels().
|
protected |
Number of corner pins.
Definition at line 682 of file HexagonalLatticeUtils.h.
Referenced by computePinAndChannelTypes(), and nCornerPins().
|
protected |
Total number of edge channels.
Definition at line 691 of file HexagonalLatticeUtils.h.
Referenced by channelIndex(), computeChannelPinIndices(), computeGapIndices(), computePinAndChannelTypes(), computeWettedAreas(), HexagonalLatticeUtils(), and nEdgeChannels().
|
protected |
Number of edge pins.
Definition at line 679 of file HexagonalLatticeUtils.h.
Referenced by computePinAndChannelTypes(), and nEdgePins().
|
protected |
Total number of gaps.
Definition at line 786 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), and nGaps().
|
protected |
Total number of interior channels.
Definition at line 688 of file HexagonalLatticeUtils.h.
Referenced by channelIndex(), computeChannelPinIndices(), computePinAndChannelTypes(), and nInteriorChannels().
|
protected |
Number of gaps that touch an interior channel.
Definition at line 783 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), lastGapInRing(), and nInteriorGaps().
|
protected |
Number of interior pins.
Definition at line 676 of file HexagonalLatticeUtils.h.
Referenced by computePinAndChannelTypes(), and nInteriorPins().
|
protected |
Total number of pins.
Definition at line 673 of file HexagonalLatticeUtils.h.
Referenced by closestPinIndex(), computeFlowVolumes(), computePinAndChannelTypes(), computePinAndDuctCoordinates(), computeWettedAreas(), nPins(), and pinIndex().
|
protected |
Total number of rings of pins.
Definition at line 631 of file HexagonalLatticeUtils.h.
Referenced by closestPinIndex(), computeChannelPinIndices(), computeGapIndices(), computePinAndChannelTypes(), computePinAndDuctCoordinates(), computePinBundleSpacing(), edgeChannelCornerCoordinates(), get2DInputPatternIndex(), lastGapInRing(), and ringIndex().
|
protected |
Pitch-to-diameter ratio.
Definition at line 658 of file HexagonalLatticeUtils.h.
Referenced by pitchToDiameter().
|
protected |
Pin cross-sectional area.
Definition at line 640 of file HexagonalLatticeUtils.h.
|
protected |
Spacing between the duct inner wall and the pin surface.
Definition at line 667 of file HexagonalLatticeUtils.h.
Referenced by channelType(), computeFlowVolumes(), computeGapIndices(), computePinBundleSpacing(), HexagonalLatticeUtils(), and pinBundleSpacing().
|
protected |
Corner coordinates of a hexagon surrounding each pin.
Definition at line 748 of file HexagonalLatticeUtils.h.
Referenced by computePinAndDuctCoordinates(), pinCenteredCornerCoordinates(), and pinIndex().
|
protected |
Pin center coordinates.
Definition at line 745 of file HexagonalLatticeUtils.h.
Referenced by closestPinIndex(), computeGapIndices(), computePinAndDuctCoordinates(), cornerChannelCornerCoordinates(), edgeChannelCornerCoordinates(), interiorChannelCornerCoordinates(), pinCenters(), and pinIndex().
|
protected |
Pin circumference.
Definition at line 643 of file HexagonalLatticeUtils.h.
|
protected |
Pin diameter.
Definition at line 622 of file HexagonalLatticeUtils.h.
Referenced by computePinBundleSpacing(), computeWireVolumeAndAreaPerPitch(), HexagonalLatticeUtils(), pinDiameter(), and pinRadius().
|
protected |
Pin pitch.
Definition at line 619 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), computePinAndDuctCoordinates(), computePinBundleSpacing(), computeWettedAreas(), HexagonalLatticeUtils(), pinIndex(), and pinPitch().
|
protected |
Pin surface area per wire pitch.
Definition at line 652 of file HexagonalLatticeUtils.h.
Referenced by computeWettedAreas(), and pinSurfaceAreaPerPitch().
|
protected |
Single-pin volume per wire pitch.
Definition at line 655 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), and pinVolumePerPitch().
|
protected |
(unitless) x-translations to apply to move from a center point to a side of a hexagon
Definition at line 796 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), computePinAndDuctCoordinates(), cornerChannelCornerCoordinates(), edgeChannelCornerCoordinates(), HexagonalLatticeUtils(), insideLattice(), and sideTranslationX().
|
protected |
(unitless) y-translations to apply to move from a center point to a side of a hexagon
Definition at line 799 of file HexagonalLatticeUtils.h.
Referenced by computeGapIndices(), computePinAndDuctCoordinates(), cornerChannelCornerCoordinates(), edgeChannelCornerCoordinates(), HexagonalLatticeUtils(), insideLattice(), and sideTranslationY().
|
protected |
Wetted area of entire bundle per wire pitch.
Definition at line 742 of file HexagonalLatticeUtils.h.
Referenced by computeHydraulicDiameters(), computeWettedAreas(), and wettedArea().
|
protected |
Wire cross-sectional area.
Definition at line 646 of file HexagonalLatticeUtils.h.
Referenced by computeWireVolumeAndAreaPerPitch().
|
protected |
Wire circumference.
Definition at line 649 of file HexagonalLatticeUtils.h.
Referenced by computeWireVolumeAndAreaPerPitch().
|
protected |
Wire diameter.
Definition at line 625 of file HexagonalLatticeUtils.h.
Referenced by computeWireVolumeAndAreaPerPitch(), HexagonalLatticeUtils(), and wireDiameter().
|
protected |
Wire pitch.
Definition at line 628 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), computeWettedAreas(), computeWireVolumeAndAreaPerPitch(), hexagonPitch(), hexagonVolume(), triangleVolume(), and wirePitch().
|
protected |
Wire surface area per wire pitch.
Definition at line 664 of file HexagonalLatticeUtils.h.
Referenced by computeWettedAreas(), and computeWireVolumeAndAreaPerPitch().
|
protected |
Single-wire volume per wire pitch.
Definition at line 670 of file HexagonalLatticeUtils.h.
Referenced by computeFlowVolumes(), computeWireVolumeAndAreaPerPitch(), and wireVolumePerPitch().
|
staticprotected |
Definition at line 790 of file HexagonalLatticeUtils.h.
Referenced by computePinAndDuctCoordinates(), and HexagonalLatticeUtils().
|
staticprotected |
Number of sides in a hexagon.
Definition at line 793 of file HexagonalLatticeUtils.h.
Referenced by computeChannelPinIndices(), computeGapIndices(), computePinAndChannelTypes(), computePinAndDuctCoordinates(), computeWettedAreas(), cornerChannelCornerCoordinates(), HexagonalLatticeUtils(), insideLattice(), interiorChannels(), minDuctWallDistance(), and pins().
Definition at line 788 of file HexagonalLatticeUtils.h.
Referenced by computePinAndDuctCoordinates(), HexagonalLatticeUtils(), hexagonArea(), hexagonPitch(), triangleHeight(), and triangleSide().