https://mooseframework.inl.gov
HeatFluxBaseBC.h
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 #pragma once
11 
12 #include "IntegratedBC.h"
13 
15 
28 {
29 public:
31 
32  virtual void initialSetup() override;
33 
34  virtual void computeJacobian() override;
35  virtual void computeOffDiagJacobian(unsigned jvar) override;
36 
37  bool checkVariableBoundaryIntegrity() const override { return false; }
38 
39 protected:
43  virtual std::vector<unsigned int> getOffDiagVariableNumbers() = 0;
44 
48  virtual Real computeQpOffDiagJacobianNeighbor(unsigned int jvar) = 0;
49 
52 
58  const unsigned int _n_unit;
62  const Real _hs_coord;
64  const Real _hs_scale;
66  std::vector<unsigned int> _off_diag_var_nums;
67 
68 public:
70 };
OutputTools< Real >::VariablePhiValue VariablePhiValue
virtual void initialSetup() override
virtual void computeJacobian() override
const VariablePhiValue & _phi_neighbor
shape function values (in QPs)
Base class for caching heat flux between a flow channel and a heat structure.
static InputParameters validParams()
virtual Real computeQpOffDiagJacobianNeighbor(unsigned int jvar)=0
Compute the off-diagonal Jacobian w.r.t.
const unsigned int _n_unit
Number of units of heat structure.
virtual std::vector< unsigned int > getOffDiagVariableNumbers()=0
Get the list of variable numbers that are used in off-diagonal Jacobian blocks.
const Real _hs_scale
Factor by which to scale term on the flow channel side for the heat structure side.
Base class for handling heat flux between flow channels and heat structures.
const Real _P_hs_unit
Perimeter of a single unit of heat structure.
virtual void computeOffDiagJacobian(unsigned jvar) override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _hs_coord
Coordinate transformation.
const bool _hs_coord_system_is_cylindrical
Is the heat structure coordinate system cylindrical?
std::vector< unsigned int > _off_diag_var_nums
Variable numbers for the off-diagonal jacobian computation.
const InputParameters & parameters() const
const HeatFluxFromHeatStructureBaseUserObject & _q_uo
User object that computes the heat flux.
HeatFluxBaseBC(const InputParameters &parameters)
bool checkVariableBoundaryIntegrity() const override