21 "This class calculates the displacement of the duct for the areva FCTF");
46 if ((
y > 2.0 *
sqrt(3) * P) && ((LIN + L) >= z) && z >= LIN)
48 return ((Dmax / 2.0) *
cos(
x *
pi / (
Side / 2.0)) + Dmax / 2) *
sin(((z - LIN) / (L)) *
pi);
50 else if ((
y < -2.0 *
sqrt(3) * P) && ((LIN + L) >= z) && z >= LIN)
52 return ((Dmax / 2.0) *
cos(
x *
pi / (
Side / 2.0)) + Dmax / 2) *
sin(((z - LIN) / (L)) *
pi);
54 else if (
y >
sqrt(3) *
x +
sqrt(3) * 4.0 * P && ((LIN + L) >= z) && z >= LIN)
57 return ((Dmax / 2.0) *
cos(xprime *
pi / (
Side / 2.0)) + Dmax / 2) *
58 sin(((z - LIN) / (L)) *
pi);
60 else if (
y < -
sqrt(3) *
x -
sqrt(3) * 4.0 * P && ((LIN + L) >= z) && z >= LIN)
62 auto xprime =
x *
cos(2.0 *
pi / 3.0) +
y *
sin(2.0 *
pi / 3.0);
63 return ((Dmax / 2.0) *
cos(xprime *
pi / (
Side / 2.0)) + Dmax / 2) *
64 sin(((z - LIN) / (L)) *
pi);
66 else if (
y <
sqrt(3) *
x -
sqrt(3) * 4.0 * P && ((LIN + L) >= z) && z >= LIN)
68 auto xprime =
x *
cos(4.0 *
pi / 3.0) +
y *
sin(4.0 *
pi / 3.0);
69 return ((Dmax / 2.0) *
cos(xprime *
pi / (
Side / 2.0)) + Dmax / 2) *
70 sin(((z - LIN) / (L)) *
pi);
72 else if (
y > -
sqrt(3) *
x +
sqrt(3) * 4.0 * P && ((LIN + L) >= z) && z >= LIN)
74 auto xprime =
x *
cos(5.0 *
pi / 3.0) +
y *
sin(5.0 *
pi / 3.0);
75 return ((Dmax / 2.0) *
cos(xprime *
pi / (
Side / 2.0)) + Dmax / 2) *
76 sin(((z - LIN) / (L)) *
pi);
85 auto xprime = P +
Side / 4.0;
86 return ((Dmax / 2.0) *
cos(xprime *
pi / (
Side / 2.0)) + Dmax / 2) *
87 sin(((z - LIN) / (L)) *
pi);
virtual EChannelType getSubchannelType(unsigned int index) const override
Return the type of the subchannel for given subchannel index.
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sin(_arg) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tan
Real value(const Point &p) override
FCTFdisplacementIC(const InputParameters ¶ms)
static InputParameters validParams()
virtual const Real & getPitch() const
Return the pitch between 2 subchannels.
virtual unsigned int getSubchannelIndexFromPoint(const Point &p) const override
Return a subchannel index for a given physical point p
const std::vector< double > y
An abstract class for ICs for hexagonal fuel assemblies.
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template cos(_arg) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(cos
const std::vector< double > x
virtual const Real & getHeatedLength() const
Return heated length.
const T & getConstMesh(const MooseMesh &mesh)
function to cast const mesh
This class calculates the displacement of the duct for the areva FCTF facility https://www.osti.gov/servlets/purl/1346027/.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
CTSub CT_OPERATOR_BINARY CTMul CTCompareLess CTCompareGreater CTCompareEqual _arg template * sqrt(_arg)) *_arg.template D< dtag >()) CT_SIMPLE_UNARY_FUNCTION(tanh
const TriSubChannelMesh & _mesh
static InputParameters validParams()
Base class for subchannel meshes.
registerMooseObject("SubChannelApp", FCTFdisplacementIC)
virtual const Real & getHeatedLengthEntry() const
Return unheated length at entry.