https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
29public:
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
39protected:
43 virtual std::vector<unsigned int> getOffDiagVariableNumbers() = 0;
44
48 virtual Real computeQpOffDiagJacobianNeighbor(unsigned int jvar) = 0;
49
52
56 const Real _P_hs_unit;
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
68public:
70};
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.
const Real _hs_coord
Coordinate transformation.
bool checkVariableBoundaryIntegrity() const override
virtual void computeJacobian() override
const Real _hs_scale
Factor by which to scale term on the flow channel side for the heat structure side.
const HeatFluxFromHeatStructureBaseUserObject & _q_uo
User object that computes the heat flux.
const unsigned int _n_unit
Number of units of heat structure.
static InputParameters validParams()
virtual void computeOffDiagJacobian(unsigned jvar) override
virtual Real computeQpOffDiagJacobianNeighbor(unsigned int jvar)=0
Compute the off-diagonal Jacobian w.r.t.
virtual void initialSetup() override
virtual std::vector< unsigned int > getOffDiagVariableNumbers()=0
Get the list of variable numbers that are used in off-diagonal Jacobian blocks.
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 VariablePhiValue & _phi_neighbor
shape function values (in QPs)
Base class for caching heat flux between a flow channel and a heat structure.
const InputParameters & parameters() const
VariableShapeValue< false > VariablePhiValue