https://mooseframework.inl.gov
TriSubChannelBaseIC.C
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 #include "TriSubChannelBaseIC.h"
11 #include "TriSubChannelMesh.h"
12 #include "FEProblemBase.h"
13 
16 {
18 }
19 
21  : InitialCondition(params), _mesh(getMesh(_fe_problem.mesh()))
22 {
23 }
24 
25 const TriSubChannelMesh &
27 {
28  const auto m = dynamic_cast<const TriSubChannelMesh *>(&mesh);
29  if (m)
30  return dynamic_cast<const TriSubChannelMesh &>(mesh);
31  else
32  mooseError(name(),
33  ": This initial condition works only with triangular subchannel geometry. Update "
34  "your input file to use TriSubChannelMesh in the mesh block.");
35 }
T & getMesh(MooseMesh &mesh)
function to cast mesh
Definition: SCM.h:35
TriSubChannelBaseIC(const InputParameters &params)
const TriSubChannelMesh & getMesh(const MooseMesh &mesh) const
Check that mesh is TriSubChannelMesh and if not, report an error.
MeshBase & mesh
static InputParameters validParams()
virtual const std::string & name() const
Mesh class for triangular, edge and corner subchannels for hexagonal lattice fuel assemblies...
void mooseError(Args &&... args) const
static InputParameters validParams()