Defines a discretized line segment in 3D space. More...
#include <DiscreteLineSegmentInterface.h>
Public Member Functions | |
DiscreteLineSegmentInterface (const MooseObject *moose_object) | |
virtual Point | getPosition () const |
virtual RealVectorValue | getDirection () const |
virtual Real | getRotation () const |
virtual Real | getNumElems () const |
virtual Real | getLength () const |
Real | computeAxialCoordinate (const Point &p) const |
Real | computeRadialCoordinate (const Point &p) const |
unsigned int | getAxialSectionIndex (const Point &p) const |
unsigned int | getAxialElementIndex (const Point &p_center) const |
Point | computeRealPointFromReferencePoint (const Point &p) const |
Computes point in 3-D space from a point in reference space. More... | |
Point | computeReferencePointFromRealPoint (const Point &p) const |
Computes point in reference space from a point in 3-D space. More... | |
MooseEnum | getAlignmentAxis () const |
Gets an axis MooseEnum for the axis the component is aligned with. More... | |
std::vector< Real > | getElementBoundaryCoordinates () const |
Gets the element boundary coordinates for the aligned axis. More... | |
Static Public Member Functions | |
static InputParameters | validParams () |
static RealTensorValue | computeDirectionTransformationTensor (const RealVectorValue &dir) |
Computes the direction transformation tensor. More... | |
static RealTensorValue | computeXRotationTransformationTensor (const Real &rotation) |
Computes the rotation transformation tensor. More... | |
static Point | computeRealPointFromReferencePoint (const Point &p, const RealVectorValue &position, const RealTensorValue &R, const RealTensorValue &Rx) |
Computes point in 3-D space from a point in reference space. More... | |
static Point | computeReferencePointFromRealPoint (const Point &p, const RealVectorValue &position, const RealTensorValue &R_inv, const RealTensorValue &Rx_inv) |
Computes point in reference space from a point in 3-D space. More... | |
static MooseEnum | getAlignmentAxis (const RealVectorValue &dir) |
Gets an axis MooseEnum for the axis the component is aligned with. More... | |
static std::vector< Real > | getElementBoundaryCoordinates (const RealVectorValue &position, const RealVectorValue &orientation, const Real &rotation, const std::vector< Real > &lengths, const std::vector< unsigned int > &n_elems) |
Gets the element boundary coordinates for the aligned axis. More... | |
Protected Attributes | |
const Point & | _position |
Start position of axis in 3-D space. More... | |
const RealVectorValue & | _dir_unnormalized |
Unnormalized direction of axis from start position to end position. More... | |
const RealVectorValue | _dir |
Normalized direction of axis from start position to end position. More... | |
const Real & | _rotation |
Angle of rotation about the x-axis. More... | |
std::vector< Real > | _lengths |
Length of each axial section. More... | |
Real | _length |
Total axial length. More... | |
const std::vector< unsigned int > & | _n_elems |
Number of elements in each axial section. More... | |
const unsigned int | _n_elem |
Total number of axial elements. More... | |
const unsigned int | _n_sections |
Number of axial sections. More... | |
std::vector< Real > | _section_end |
Axial coordinate of the end of each axial section using the line 'position' as the origin. More... | |
std::vector< Real > | _x_centers |
Center axial coordinate of each axial element. More... | |
const RealTensorValue | _R |
Direction transformation tensor. More... | |
const RealTensorValue | _Rx |
Rotational transformation tensor about x-axis. More... | |
const RealTensorValue | _R_inv |
Inverse direction transformation tensor. More... | |
const RealTensorValue | _Rx_inv |
Inverse rotational transformation tensor about x-axis. More... | |
const std::string | _moose_object_name_dlsi |
Name of the MOOSE object. More... | |
Static Private Member Functions | |
static RealVectorValue | initializeDirectionVector (const RealVectorValue &dir_unnormalized) |
Computes a normalized direction vector or reports an error if the zero vector is provided. More... | |
Defines a discretized line segment in 3D space.
Definition at line 22 of file DiscreteLineSegmentInterface.h.
DiscreteLineSegmentInterface::DiscreteLineSegmentInterface | ( | const MooseObject * | moose_object | ) |
Definition at line 33 of file DiscreteLineSegmentInterface.C.
Real DiscreteLineSegmentInterface::computeAxialCoordinate | ( | const Point & | p | ) | const |
Definition at line 107 of file DiscreteLineSegmentInterface.C.
Referenced by DiscreteLineSegmentInterfaceTestAux::computeValue(), getAxialElementIndex(), and getAxialSectionIndex().
|
static |
Computes the direction transformation tensor.
[in] | dir | Direction vector |
Definition at line 82 of file DiscreteLineSegmentInterface.C.
Referenced by getElementBoundaryCoordinates().
Real DiscreteLineSegmentInterface::computeRadialCoordinate | ( | const Point & | p | ) | const |
Definition at line 125 of file DiscreteLineSegmentInterface.C.
Referenced by DiscreteLineSegmentInterfaceTestAux::computeValue().
Point DiscreteLineSegmentInterface::computeRealPointFromReferencePoint | ( | const Point & | p | ) | const |
Computes point in 3-D space from a point in reference space.
[in] | p | Point in reference space |
Definition at line 163 of file DiscreteLineSegmentInterface.C.
Referenced by getElementBoundaryCoordinates(), and GeneratedMeshComponent::setupMesh().
|
static |
Computes point in 3-D space from a point in reference space.
[in] | p | Point in reference space |
Definition at line 154 of file DiscreteLineSegmentInterface.C.
Point DiscreteLineSegmentInterface::computeReferencePointFromRealPoint | ( | const Point & | p | ) | const |
Computes point in reference space from a point in 3-D space.
[in] | p | Point in 3-D space |
Definition at line 178 of file DiscreteLineSegmentInterface.C.
|
static |
Computes point in reference space from a point in 3-D space.
[in] | p | Point in 3-D space |
Definition at line 169 of file DiscreteLineSegmentInterface.C.
|
static |
Computes the rotation transformation tensor.
[in] | rotation | Rotation about the x-axis, in degrees |
Definition at line 97 of file DiscreteLineSegmentInterface.C.
Referenced by getElementBoundaryCoordinates().
MooseEnum DiscreteLineSegmentInterface::getAlignmentAxis | ( | ) | const |
Gets an axis MooseEnum for the axis the component is aligned with.
If the axis does not align with the x, y, or z axis, then an invalid MooseEnum is returned.
Definition at line 198 of file DiscreteLineSegmentInterface.C.
Referenced by CoupledHeatTransferAction::addUserObjects(), CoupledHeatTransferAction::CoupledHeatTransferAction(), and getElementBoundaryCoordinates().
|
static |
Gets an axis MooseEnum for the axis the component is aligned with.
If the axis does not align with the x, y, or z axis, then an invalid MooseEnum is returned.
Definition at line 184 of file DiscreteLineSegmentInterface.C.
unsigned int DiscreteLineSegmentInterface::getAxialElementIndex | ( | const Point & | p_center | ) | const |
Definition at line 143 of file DiscreteLineSegmentInterface.C.
Referenced by DiscreteLineSegmentInterfaceTestAux::computeValue().
unsigned int DiscreteLineSegmentInterface::getAxialSectionIndex | ( | const Point & | p | ) | const |
Definition at line 132 of file DiscreteLineSegmentInterface.C.
Referenced by DiscreteLineSegmentInterfaceTestAux::computeValue().
|
inlinevirtual |
Definition at line 28 of file DiscreteLineSegmentInterface.h.
Referenced by HeatConductionModel::addHeatEquationRZ(), HeatStructure2DCoupler::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::getFlowChannelAxisAlignment(), and Component1DConnection::setupMesh().
std::vector< Real > DiscreteLineSegmentInterface::getElementBoundaryCoordinates | ( | ) | const |
Gets the element boundary coordinates for the aligned axis.
Definition at line 254 of file DiscreteLineSegmentInterface.C.
Referenced by CoupledHeatTransferAction::addUserObjects().
|
static |
Gets the element boundary coordinates for the aligned axis.
[in] | position | Start position of axis in 3-D space |
[in] | orientation | Direction of axis from start position to end position |
[in] | rotation | Angle of rotation about the x-axis, in degrees |
[in] | lengths | Length of each axial section |
[in] | n_elems | Number of elements in each axial section |
Definition at line 204 of file DiscreteLineSegmentInterface.C.
|
inlinevirtual |
Definition at line 32 of file DiscreteLineSegmentInterface.h.
Referenced by HeatTransferFromHeatStructure1Phase::check(), and HeatTransferFromHeatStructure3D1Phase::init().
|
inlinevirtual |
Definition at line 31 of file DiscreteLineSegmentInterface.h.
Referenced by HeatTransferFromHeatStructure1Phase::check(), and HeatTransferFromHeatStructure3D1Phase::init().
|
inlinevirtual |
Definition at line 27 of file DiscreteLineSegmentInterface.h.
Referenced by HeatConductionModel::addHeatEquationRZ(), HeatSourceFromTotalPower::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), and HeatTransferFromHeatStructure3D1Phase::addMooseObjects().
|
inlinevirtual |
Definition at line 29 of file DiscreteLineSegmentInterface.h.
|
staticprivate |
Computes a normalized direction vector or reports an error if the zero vector is provided.
[in] | dir_unnormalized | Unnormalized direction vector |
Definition at line 73 of file DiscreteLineSegmentInterface.C.
|
static |
Definition at line 17 of file DiscreteLineSegmentInterface.C.
Referenced by GeneratedMeshComponent::validParams(), and DiscreteLineSegmentInterfaceTestAux::validParams().
|
protected |
Normalized direction of axis from start position to end position.
Definition at line 95 of file DiscreteLineSegmentInterface.h.
Referenced by Component1D::buildMesh(), computeAxialCoordinate(), computeRadialCoordinate(), getAlignmentAxis(), getDirection(), and getElementBoundaryCoordinates().
|
protected |
Unnormalized direction of axis from start position to end position.
Definition at line 93 of file DiscreteLineSegmentInterface.h.
|
protected |
Total axial length.
Definition at line 102 of file DiscreteLineSegmentInterface.h.
Referenced by Component2D::buildMesh(), Component1D::buildMesh(), computeAxialCoordinate(), ElbowPipe1Phase::ElbowPipe1Phase(), getLength(), HeatStructureCylindrical::HeatStructureCylindrical(), and HeatStructurePlate::HeatStructurePlate().
|
protected |
Length of each axial section.
Definition at line 100 of file DiscreteLineSegmentInterface.h.
Referenced by Component2D::buildMesh(), DiscreteLineSegmentInterface(), ElbowPipe1Phase::ElbowPipe1Phase(), GeneratedMeshComponent::generateNodeLocations(), and getElementBoundaryCoordinates().
|
protected |
Name of the MOOSE object.
Definition at line 128 of file DiscreteLineSegmentInterface.h.
Referenced by computeAxialCoordinate().
|
protected |
Total number of axial elements.
Definition at line 107 of file DiscreteLineSegmentInterface.h.
Referenced by Component2D::build2DMesh(), Component2D::build2DMesh2ndOrder(), Component1D::buildMesh(), GeneratedMeshComponent::generateNodeLocations(), getAxialElementIndex(), and getNumElems().
|
protected |
Number of elements in each axial section.
Definition at line 105 of file DiscreteLineSegmentInterface.h.
Referenced by Component2D::build2DMesh(), Component2D::build2DMesh2ndOrder(), Component1D::buildMesh(), DiscreteLineSegmentInterface(), GeneratedMeshComponent::generateNodeLocations(), and getElementBoundaryCoordinates().
|
protected |
Number of axial sections.
Definition at line 110 of file DiscreteLineSegmentInterface.h.
Referenced by Component2D::build2DMesh(), Component2D::build2DMesh2ndOrder(), Component2D::buildMesh(), Component2D::check(), DiscreteLineSegmentInterface(), GeneratedMeshComponent::generateNodeLocations(), and getAxialSectionIndex().
|
protected |
Start position of axis in 3-D space.
Definition at line 91 of file DiscreteLineSegmentInterface.h.
Referenced by Component1D::buildMesh(), computeAxialCoordinate(), computeRadialCoordinate(), computeRealPointFromReferencePoint(), computeReferencePointFromRealPoint(), getElementBoundaryCoordinates(), and getPosition().
|
protected |
Direction transformation tensor.
Definition at line 118 of file DiscreteLineSegmentInterface.h.
Referenced by computeRealPointFromReferencePoint().
|
protected |
Inverse direction transformation tensor.
Definition at line 123 of file DiscreteLineSegmentInterface.h.
Referenced by computeReferencePointFromRealPoint().
|
protected |
Angle of rotation about the x-axis.
Definition at line 97 of file DiscreteLineSegmentInterface.h.
Referenced by getElementBoundaryCoordinates(), and getRotation().
|
protected |
Rotational transformation tensor about x-axis.
Definition at line 120 of file DiscreteLineSegmentInterface.h.
Referenced by computeRealPointFromReferencePoint().
|
protected |
Inverse rotational transformation tensor about x-axis.
Definition at line 125 of file DiscreteLineSegmentInterface.h.
Referenced by computeReferencePointFromRealPoint().
|
protected |
Axial coordinate of the end of each axial section using the line 'position' as the origin.
Definition at line 112 of file DiscreteLineSegmentInterface.h.
Referenced by DiscreteLineSegmentInterface(), and getAxialSectionIndex().
|
protected |
Center axial coordinate of each axial element.
Definition at line 115 of file DiscreteLineSegmentInterface.h.
Referenced by DiscreteLineSegmentInterface(), and getAxialElementIndex().