https://mooseframework.inl.gov
QuadInterWrapperBaseIC.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 "QuadInterWrapperBaseIC.h"
11 #include "QuadInterWrapperMesh.h"
12 #include "FEProblemBase.h"
13 
16 {
18 }
19 
21  : InitialCondition(params), _mesh(getMesh(_fe_problem.mesh()))
22 {
23 }
24 
27 {
28  const QuadInterWrapperMesh * m = dynamic_cast<const QuadInterWrapperMesh *>(&mesh);
29  if (m)
30  return static_cast<const QuadInterWrapperMesh &>(mesh);
31  else
32  mooseError(name(),
33  ": This initial condition works only with quadrilateral mesh. Update your input "
34  "file to use [QuadInterWrapperMesh] block for mesh.");
35 }
T & getMesh(MooseMesh &mesh)
function to cast mesh
Definition: SCM.h:35
QuadInterWrapperBaseIC(const InputParameters &params)
MeshBase & mesh
static InputParameters validParams()
virtual const std::string & name() const
const QuadInterWrapperMesh & getMesh(const MooseMesh &mesh)
Check that mesh is QuadSubChannelMesh and if not, report an error.
Creates the mesh of an inter-wrapper around square assemblies.
void mooseError(Args &&... args) const
static InputParameters validParams()